🔗 论文学习-Fully Convolutional Networks for Semantic Segmentation - 知乎
摘要
摘要部分主要介绍了FCN的突出贡献和创新部分,并且在实验中性能30%的提升。
总结来说:
- 进行了端到端、像素到像素的训练;
- 提出了跳跃结构;
- 通过推理和学习接受任意大小的输入并产生对应大小的输出。
(摘要部分并没有提到上采样中用的双线性插值初始化的转置卷积)
1.引言
介绍了CNN的功能:不仅可以推动 图像分类 ,而且对于结构化输出的局部任务很有效果。那么是否把cnn用于像素级预测也会有很好的效果呢?基于这一思考,作者提出了全卷积网络。学习和推理都是通过密集前馈计算和反向传播一次全图像进行的。网络内上采样层可以在带有子采样的网络中实现像素预测和学习。作者对比了patchwise training和fcn,patchwise不如fcn有效而且需要 预处理 和后计算,更加复杂。
语义分割面临的难题是没办法结合深层和浅层的结果,所以论文提出了跳跃结构,它可以实现结合深层的粗的语义信息和浅层的精细的表层信息。
FCN也就是把 分类网络 作为backbone,把网络中的 全连接层 改为卷积层,再进行微调,提出了跳跃结构。
2.相关工作
主要是介绍深度分类网络、fcn、fcn的拓展方面。
3. 网络的设计和实现细节
第三和第四节的内容主要是介绍网络的设计和完善过程。
Fig. 2. Transforming fully connected layers into convolution layers enables a classification net to output a spatial map. Adding differentiable interpolation layers and a spatial loss (as in Figure 1) produces an efficient machine for end-to-end pixelwise learning.
- 上面表示的是CNN结构,对于输入的一张图片,通过卷积、池化、全连接得到1000的输出结果。然后计算对应的softmax得分,把得分 可视化 为类似条形图的形式也就得到了上面图的输出结果。我们可以看到在输出结果上tabby的得分更高,所以对应的类别就是这种猫。但是因为全连接层的存在,使得输入不能是任意大小的,放到整个网络中就是不接受任意大小的图片输入。同时因为全连接层输出的结果是一维的,没有空间信息,智只能对整个图片分类,没办法进行像素级别的结果。
- 接下来看下面这幅图,对于一幅输入图片,把cnn前面训练的卷积池化层直接用在网络中,但是把全连接层变成对应的卷积层,最后得到具有空间信息的输出结果,再把像素投射到二维中,计算得分,得到heatmap。
在论文中提到了shift-and-stitch和filter dilation,但是并没有在方法中应用,因为作者发现通过上采样进行学习是有效和高效的,特别是结合跳跃层融合的结果。
上采样:论文采用的上 采样方式 是双线性插值初始化的转置卷积方式。学习率大小固定 (之所以固定是因为作者发现固定不固定产生的效果几何没有差别,所以没有改变学习率。但是个人感觉是因为进行的是32倍的上采样,效果当然不明显)。
Fig. 3. Our DAG nets learn to combine coarse, high layer information with fine, low layer information. Pooling and prediction layers are shown as grids that reveal relative spatial coarseness, while intermediate layers are shown as vertical lines. First row (FCN-32s): Our single-
FCN-32s:先看第一行,和上面介绍的一样,进行不断的卷积和池化训练,可以看到一共进行了5层池化,下采样系数为2,所以一共下采样了32,也就是变成了原图的1/32,再通过转置卷积的上采样方式上采样32倍还原为原图像大小对像素进行计算。
FCN-16s:这个是在conv7得到的结果先进行2倍的上采样,也就是变成原图的1/16;然后把第四层池化的结果融合在一起,进行16倍的上采样得出最后的结果。
FCN-8s:把最后卷积层的结果上采样4倍、第四层池化结果上采样2倍,也就是都对应于原图的1/8,在和第三层的池化结果融合起来,进行8倍的上采样输出。
注意:上面说的融合指的是对应位置像素相加。
为什么不继续融合呢?这是因为作者通过后续的实验发现,继续对pool2和pool1融合得到的是 负反馈 ,也就是增加了卷积计算之后并没有得到对应程度的提升,而是和fcn-8s的效果差不多,而且fcn-8s在后续的实验测试中效果明显,所以不需要进行。
这样我们的FCN也就可以实现任意大小图片的输入,并产生对应大小的输出;同时跳跃融合结构帮助我们实现深层的空间信息和浅层的几何信息结合起来,提升了分割精确度。
4.实验和分析
Fig. 6. Fully convolutional networks improve performance on PASCAL. The left column shows the output of our most accurate net, FCN-8s. The second shows the output of the previous best method by Hariharan et al. [14]. Notice the fine structures recovered (first row), ability to se
为了分离形状的贡献,我们学习了一个局限于前景/背景掩码的简单输入的网。在这种只看形状的情况下,准确率低于只看前景的情况,这表明网络有能力学习背景来提高识别。尽管如此,它还是惊人地准确。
5.总结
全卷积网络可以被看做为是分类网络的一种特例。基于这一点,将这些分类网络扩展到分割,并改进具有 多分辨率 层组合的体系结构,极大地改进了最新技术,同时简化和加速了学习和推理。