一、原因:

1.传统CNN:将像素周围一个小区域作为CNN输入,做训练和预测。这样做有3个问题:

  • 像素区域的大小如何确定
  • 存储及计算量非常大
  • 像素区域的大小限制了感受野的大小,从而只能提取一些局部特征

为使神经网络从粗糙到精细,就需要对每个像素进行预测。
(The natural next step in the progression from coarse to
fine inference is to make a prediction at every pixel.)

二、主要贡献:

1.为语义分割引入了端到端的全卷积网络
2.使用反卷积层进行上采样
3.引入跳跃连接来改善上采样粗糙的像素定位

三、原理:

FCN将传统网络后面的全连接层换成了卷积层,这样网络输出不再是类别而是heatmap;同时为了解决因为卷积和池化对图像尺寸的影响,提出使用上采样的方式恢复

四、方法:

1.全连接层转换为全卷积层
  • 对于FC6,使用尺寸为6∗6∗40966∗6∗4096的卷积核,输出为1∗1∗40961∗1∗4096
  • 对于FC7,使用尺寸为1∗1∗40961∗1∗4096的卷积核,输出为1∗1∗40961∗1∗4096
  • 对于FC8,使用尺寸为1∗1∗10001∗1∗1000的卷积核,输出为1∗1∗1000
2.上采样获得与输入一样的尺寸
  • 文章采用的网络经过5次卷积+池化后,图像尺寸依次缩小了 2、4、8、16、32倍,对最后一层做32倍上采样,就可以得到与原图一样的大小
  • 仅对第5层做32倍反卷积(deconvolution),得到的结果不太精确。于是将第 4 层和第 3 层的输出也依次反卷积,并进行双线性插值操作
2.1上采样操作示意
  • 与卷积操作做相反的操作
•  Semantic segmentation faces an inherent tension between
 semantics and location: global information resolves
 what while local information resolves where.

四、缺点

1.得到的结果还是不够精细。进行8倍上采样虽然比32倍的效果好了很多,但是上采样的结果还是比较模糊和平滑,对图像中的细节不敏感。

2.对各个像素进行分类,没有充分考虑像素与像素之间的关系。忽略了在通常的基于像素分类的分割方法中使用的空间规整(spatial regularization)步骤,缺乏空间一致性。