FCN中Conv2DTranspose层的问题

问题描述 投票:0回答:1

我正在尝试使用keras实现FCN,但是当我尝试对特征图进行升采样时,出现了问题。上采样后要素地图的大小与输入大小不同。我发现发生此问题是因为要素地图的大小是奇数,并且在合并图层后,其大小由2划分。

例如:输入大小为(95,95,3),其中3为通道数,在我应用最大池后,大小将为(47,47,3)。因此,当我尝试对特征图x2进行升采样时,形状将为(94,94,3)....

tensorflow keras image-segmentation
1个回答
0
投票

您需要使用填充以解决您的问题。

如果在向下采样期间的某个时刻达到奇数,那么通过普通的向上采样/转置卷积,您将不会保持输入图像的高度和宽度。

解决方案是填充;看一下这个文档:https://www.tensorflow.org/api_docs/python/tf/keras/layers/ZeroPadding2D

实际上,当您以2的倍数进行下采样并获得奇数(54/2 = 27)时,您会得到大小(27,27),通过ZeroPadding2D您可以将图像的大小调整为(28, 28)。

在遇到此“奇数”问题的每个步骤中应用填充将帮助您解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.