引入:本次学习内容基本来自于Jonathan Long,Evan Shelhamer编写的的《Fully Convolutional Networks for Semantic Segmentation》,以及部分讲解视频,本学习记录仅为个人学习收获,部分内容存在纰漏烦请各位大佬批评指正。
(一)摘要:FCN结合了特征层次结构的各个层,并提高了输出的空间精度。为了增强细节粒度和保持全局结构完整性,FCN引入了跳跃连接,将最终预测层与较低层的输出进行组合。通过局部预测和全局结构的融合,FCN能够产生更准确和详细的分割结果。
(二)发表时间:2015
(三)关键词:图像分割,全卷积神经网络
(四)学习记录:
FCN的全称是全卷积神经网络,顾名思义,整体网络构成全部都是卷积层。它们可以接受任意尺寸的输入,并输出相应尺寸的输出,具有高效的推理和学习能力。
全卷积神经网络是是第一个针对像素级预测进行端到端训练的工作。主要使用的技术有三种,第一是卷积,第二是上采样,网络内的上采样层使得像素级的预测和学习成为可能,即使在具有子采样池化的网络中也是如此。第三是跳跃式结构。
FCN首先做的就是将全连接层转化成卷积层,如下图所示。
可以很明显看出,最后三层的全连接层已经转化成了卷积层。这种做法VGG16的作者其实也用过,只不过他只是在测验的时候使用,并没有深入研究。通过将4096的全连接层转化为1×1的卷积层,再添加损失函数,就得到了一个很不错的端到端密集学习网络。
FCN采用的新的反卷积上采样方法。反卷积可以理解为卷积的逆运算。举例理解大概是Y=KX,这是正常的卷积运算反卷积就是计算X=ZY。如果是矩阵的话,根据矩阵相乘规律,Z就是K的转置矩阵,具备同样的shape。这种做法经过实验证明是快速且高效的。
最后是跳跃式结构。也就是将结果与之前的处理结果进行融合,获得更多的信息。示意图如下。
这个网络结构是以VGG16为基础构建的。可以看出,正常卷积完成后的图像是原图的1/32,conv7的特征图经过两次上采样并与pool4的结果进行特征融合。做4次上采样,与pool3的特征图融合,然后进行8倍上采样到原图尺寸。