我正在尝试制作用于图像回归的conv网络
如下图所示,一个图像[224x224]有一个GT值{x}
很容易用[224 x 224]图像制作train[224 x 224]和valid/test
然而,我想应用CNN的不同图像大小
例如,[224x229]图像,我想“一次”得到5个回归值
简单地说,我可以通过滑动窗口[224x224]x5次来实现这一点,但显然太慢了
我认为对不同的图像大小使用conv是可能的。但FCL并非如此
如果我将图像大小更改为[455 x 256]
lhs shape= [4608,1024] rhs shape= [2048,1024]
发生错误。有办法处理吗
完全连接的层具有固定大小的输入。因此,更改输入大小将导致错误的大小错误
解决此问题并允许不同图像大小的一种方法是使用fully convolutional network
简单数字示例:
例如,假设conv层的输出大小为16X16,您可以创建一个“分类器层”,大小为4x4,步幅为4,将为构成16X16特征贴图的4个4x4正方形中的每一个输出一个值。此类过滤器的大小为4x4xn_dim,在您的情况下,n_dim为5,最终输出的大小为4x4x5,对应于每个4x4平方的5个输出(每个回归值一个)
您会注意到,您可以使用最后一个conv过滤器的形状来获得最终输出的不同大小,对应于输入图像的不同部分,但实际上,可以查看所有图像
你可以为自己的例子算出数字
您可能想了解semantic segmentaion的基本方法
另见basic fully conv nets
相关问题 更多 >
编程相关推荐