Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读

Fully Convolutional Networks for Semantic Segmentation


作者: Jonathan Long, Evan Shelhamer, Trevor Darrell;
出处: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 3431-3440


Abstract

卷积网络是强大的视觉模型,能产生层次分明的特征。我们证明,卷积网络本身通过端到端、像素到像素的训练,在语义分割方面超过了最先进的水平。关键是建立 "完全卷积 "网络,该网络接受任意大小的输入,并产生相应大小的输出,同时具有高效的推理和学习能力。本文定义并详细说明了全卷积网络的空间构造,解释了它们在空间密集型预测任务中的应用,并得出与先前模型的联系。本文将当代分类网络(AlexNet、VGG 和GoogLeNet)改编为全卷积网络,并通过精调将它们学到的表征转移到分割任务上。然后,设计了一个skip跳跃结构,将深层次、粗略的语义信息与来自浅层、细致的局部信息结合起来,以产生准确而详细的分割。本文的全卷积网络实现了对PASCAL VOC(相对于2012年62.2%的平均IU提高了20%)、NYUDv2和SIFT Flow的最先进的分割,而对于一个典型的图像,推理时间不到五分之一秒。


一、Introduction

全卷积网络FCN

特点:1、FCN是将卷积网络的全连接层变为1*1卷积层,实现端到端
2、利用迁移学习进行微调,将成功的分类网络转移到密集预测
3、FCN使用跳跃连接,将全局和局部信息结合起来,提高分割精度

Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读_第1张图片

二、Related work

根据现有方法的不同,本文调整和扩展了深度分类架构,将图像分类作为有监督的预训练,并对全卷积进行微调,将各层的特征融合起来,形成一个非线性的从局部到整体的表征,进行端到端的调整,以简单而有效地方式从整个图像输入和整个图像基础上学习。

三、Fully convolutional networks

1、感受域:高层次的一个位置与输入图像的位置相对应,这个对应的区域称为感受域

2、平移不变性:卷积网络是建立在平移不变性的基础上,卷积、池化和激活函数在局部输入区域上运行,并且依赖于相对空间坐标。(二次采样会影响卷积神经网络)

3、FCN可以对任何大小的输入进行操作,并产生相应(可能重新采样)空间维度的输出。

4、FCN将所有末级感受野作为一个小批量,当这些感受野明显重叠时,在整个图像上逐层计算时,前馈计算和反向传播都要比逐块单独计算时效率更高。

方法:

(一)adapting classifiers for dense prediction

调整分类器用于密集预测
全连接层被视为卷积核覆盖整个输入区域的卷积。将它们投射到完全卷积的网络中,这些网络接受任何大小的输入,最后添加层和空间损失,输出分类图。
Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读_第2张图片

(二)shift-and-stitch is filter rarefaction

移位和拼接是过滤器稀疏
(本文未使用)

(三)upsampling is backwards strided convolution

上采样是转置卷积(反卷积)
1、将粗略输出连接到密集像素的一种方法是插值,这取决于输入和输出单元的相对位置。
2、上采样:因子f的上采样是输入步长为1/f的卷积。只要f是整数,上采样方式就是输出步长为f的向后卷积(有时称为反卷积)。因为它只是反转卷积的向前和向后过程。因此,在网络中执行上采样,以便通过像素损失的反向传播进行端到端学习 (这种层中的反褶积滤波器不需要固定但可以学习。)

(四)patchwise training is loss sampling

逐块训练是采样损失
逐块训练和FCN 可以产生任何分布,而且在逐块训练中采样可以纠正类不平衡,减轻patch间的空间相关性,FCN也可以通过加权损失实现类平衡,并且可以使用损失采样来解决空间相关性。

四、Segmentation Architecture

将ILSVRC分类器转换为FCN,并通过网络内上采样和像素级损失对其进行增强,以实现密集预测。通过微调来训练分割。在层之间添加跳跃连接,以融合粗糙的语义的和局部外观信息。

(一)from classifier to dense FCN

从分类器到密集FCN
Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读_第3张图片
本文选择VGG16层网络(相当于19层网络),丢弃最终的分类器层并将所有完全连接的层转换为卷积,附加一个通道维数为21的1×1卷积,以预测每个粗略输出位置处每个PASCAL类(包括背景)的分数,然后是一个反卷积层,以双线性向上采样粗略输出到像素密集输出
在固定学习率至少175个阶段下收敛后可以获得的最佳结果。

(二)combining what and where

分割架构
Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读_第4张图片
由上图可以看出,本文三种设想,输入图片经过5次卷积池化后(原图的1/32),一种是直接进行32倍的上采样得到FCN-32s;一种是将pool5进行2倍的上采样(原图1/16),然后通过跳跃连接和pool4融合,得到FCN-16s;一种是将pool5上采样扩大4倍(原图1/8),将pool4上采样扩大2倍(原图1/8),和pool3跳跃连接融合形成FCN-8s。
Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读_第5张图片
Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读_第6张图片
由预测图和数值可知FCN-8s效果更好(更深层次融合例如pool2、pool1效果不如FCN-8s)

跳跃连接将最终预测层与步长更小的较低层结合起来。将线性拓扑转化为有向无环图DAG,从较低的层向前跳到较高的层。得到更精细的内容。跳跃连接结合精细层和粗糙层让模型做出符合全局结构的局部预测。

(三)experimental framework

实验框架

  1. 优化: 本文用带有动量的随机梯度下降算法(SGD)进行训练
  2. 微调:通过整个网络的反向传播来微调所有层
  3. 更多的训练数据
  4. patch采样:训练将每幅图像分成一个规则的网格,其中包含大量重叠的patch,利用空间采样,并将每批图像的数量增加了1/p加快收敛速度
  5. 类平衡:通过加权或采样损失实现类平衡
  6. 密集预测:通过网络内的反卷积将分数提升到输入维度。最终层反卷积固定为双线性插值,而中间上采样层初始化为双线性上采样,然后学习
  7. 增强:通过随机镜像和“抖动”图像来增强训练数据,将图像在每个方向上转换到32像素(最粗略的预测尺度),这没有产生明显的改善。
  8. 实现:http://fcn.berkeleyvision.org

五、Results

Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读_第7张图片
Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读_第8张图片

六、Conclusion

全卷积网络FCN是一类丰富的模型,扩展这些分类并通过多分辨率层组合改进体系结构,极大地提高了最先进的技术水平,同时简化和加快了学习和推理。


总结

  1. 卷积代替全连接
  2. 通过跳跃连接将前后特征图融合
  3. 利用反卷积对特征图进行扩大
  4. 算法至少在175个epoch后有不错表现
  5. pool3前特征图不需融合

你可能感兴趣的:(论文解读,深度学习,计算机视觉,神经网络)