1 前言
最近语义分割的课程中讲到了全卷积网络FCN,感觉还是挺有趣的,
FCN有一些独特的特点,其中我觉得最重要的特点,就是:输入图像大小的任意性,不过这种任意性不是通过resize操作实现的;
从本质上来说,resize操作是不利于深度模型进行拟合,因为resize操作实际上改变的图像的细节,因为会设计到重采样的操作,
(我们看看PIL的resize()函数的声明,
Image.resize(size, resample=3, box=None, reducing_gap=None)
这里的resample就涉及到了重采样的操作,我们可以看看resample参数的说明,
resample – An optional resampling filter. This can be one of
PIL.Image.NEAREST
,PIL.Image.BOX
,PIL.Image.BILINEAR
,PIL.Image.HAMMING
,PIL.Image.BICUBIC
orPIL.Image.LANCZOS
. Default filter isPIL.Image.BICUBIC
. If the image has mode “1” or “P”, it is always set toPIL.Image.NEAREST
. See: Filters.
这里的resample指的是,在重采样的过程中使用的算法)
3 备注
3.1 FCN的skip是做什么的?
用来特征融合,将高层次语义特征图,与低层次位置信息丰富的特征图进行融合,得到尺寸更大、信息更加丰富的特征图;
3.2 FCN为什么要在开始的时候padding=100?
解释一:来自GitHub官网,是为了适应之前的数据集;
解释二:为了保证最后的输出是7*7,
需要用到卷积层输出的计算公式
(i+2p-k)/s +1 = 7;