论文解读:Fully Convolutional Networks for Semantic Segmentation

要点

1. 构建一个全卷积网络,首个支持端到端像素级训练的网络,网络的输入为任意尺寸,输出为等大图像。
2. 在空间密集型预测任务中解释了其应用。
3. 定义跳接结构,结合深层的语义信息和浅层的表征信息产生精准的分割结果

读引言

研究背景

  卷积神经网络已经有力推动了识别任务进展,在图像整体分类、结构化输出局部任务取得了明显进展。下一步自然是想获得产生细致的预测,即对每个像素点进行预测。
  先前的工作都是对封闭对象或区域分类,分类结果作为目标中每一个像素的标记。这是他们的缺点,也是我们的工作要解决的问题。

为什么要研究

语义分割面对着语义与位置之间的矛盾:全局信息和局部信息分别解决了什么。
针对这个问题,提出跳接思想。

主要内容

3.1 先使用分类网络训练,再将其全连接层改为卷积层进行学习
论文解读:Fully Convolutional Networks for Semantic Segmentation_第1张图片

3.2与3.3 Shift-and-stitch(https://zhuanlan.zhihu.com/p/56035377)
不如反卷积快速且有效

3.4 划分为patch训练即相当于损失的采样
  patchwise训练中patch的选择可能会有重复,必须要限制随机取样集产生的损失,排除来自patches重复的梯度计算。而全卷积网络的训练过程中,由于是pixels-to-pixels方式,即使是重复选择了patch也会对损失的梯度计算进行动态平衡,即,如果保留下来的patches有重要的重叠,全卷积网络依旧能够加速计算,且不影响性能。

读实验

如何开展

  分类网络(AlexNet,VGG16,GoogLeNet)的全连接层变为卷积层形成分割网络,通过fine-tune来训练它,然后增加跳接结构融合深层和浅层信息,利用反卷积层形成像素化输出,最后构造逐像素的softmax损失函数,同时使用并集上的平均像素交点的标准进行验证。(训练过程中忽视模糊或者困难的像素点)
  在本次工作中效果最好的是VGG16,因此将其选为分类网络,而对于GoogLeNet的结构仅引入最后的损失函数softmax损失函数。此外,网络中还使用1*1的卷积核将通道数降低为21(类别数)。实验事实证明,Batch Size为1时,(相对于20)可以尝试更高的动量,同时能获得更高的准确度和更快的收敛速度。

解决语义与位置之间的矛盾Combining what and where
论文解读:Fully Convolutional Networks for Semantic Segmentation_第2张图片

  但是,网络预测的步长(8,16,32)会限制反卷积输出的细节程度。(这里的反卷积不是广义上的反卷积,而是初始化为双线性插值,只是其权重可以参与学习,由于其stride=1,所以实质上也算是一种反卷积操作)
  启发:上采样可以先双线性插值再卷积减少通道数,实质上和反卷积是一样的,但是可以免去反卷积尺度计算的问题。目前的框架使得反卷积越来越容易了,有时候为了使模型更简单,设计反卷积也是一个好的选择。
  对比发现,到FCN-8s时的提升已经很小了,不用再继续融合。此外,分阶段训练(32-16-8)和一次性训练得到的性能评价是差不多的,但是8s的输出实际细节更好(呼应预测步长限制细节程度)。同时能看出如果没有跳接结构,中间层的性能很差,这体现了跳接的优越性。

实验大纲

Fine-tuning 直接整体微调,而不是单独去微调分类器部分,预先训练好的分类器直接拿来用即可。
More training data PASCAL VOC2011。
Loss 通过softmax loss和cross-entropy loss训练得到的结果是近似的。
Patch sampling 每次将整个图像放入有重叠patch的规则网格,如果参数合理,实际训练速度比patchwise更快。 与整幅图像训练相比,采样对收敛率的影响并不显著,因此,实验选择直接训练整幅图像。
Class balancing 自动通过loss学习,不需要手动平衡,即使3/4的像素类别都是背景。
Dense Prediction 最后的上采样层是双线性插值且不变,而中间的上采样层初始化为双线性插值,但是参与学习。
Augmentation 随机镜像和抖动两种方法。但是本实验中帮助不大。

结果

使用像素准确度pixel accuracy和交并比IoU进行评价。
PASCAL VOC上相较以前取得了30%的进步,同时拥有更快的学习和预测速度。
NYUDv2上针对RGB-D数据增加了网络通道数,但是带来的效果很小,这可能是因为参数整体上相似以及梯度传导困难。然后尝试了三位HHA编码,为了结合颜色与深度,进行了模型的后期融合,事实说明融合的RGB-HHA网络取得了最高的精确度。
SITF Flow上对于两个任务,FCN-8s均能取得更好结果,不需要独立训练两个网络。
PASCAL-Context上相对改善IoU达到了10%

数据分析

  研究了FCN的学习和推理。遮蔽实验通过将输入减少为仅前景、仅背景或仅形状来研究背景和形状的影响;详细说明了动量和批大小之间的近似关系,以进一步调整整个图像学习;最后对于给定输出分辨率精度的任务,测量了其准确度的界限,以此来表现还存在可以改进的地方。

6.1 Cues

  Masking 为了探索网络能否仅仅依靠形状和相关信息进行分类,引入masking,选用了标准PASCAL VOC分割竞赛数据的掩模版本。 在学习和预测过程中,当前景被遮蔽时,得到的结果是灾难性的;然而当背景被遮蔽时,网络毫无意外地取得了近乎完美的背景精确度,但是依旧有某些类更容易混淆。综上,FCNs确实将相关信息包含了进去,即使证明了决策是由前景像素驱动的。此外,仅有形状时,得到的结果比前景遮蔽更差,这也说明了FCNs需要相关信息来进行更好的识别,但即使是这样,分割后的输出图像表现出的视觉效果令人惊讶的好。
  Background modeling 通过对背景模型实验的探讨,发现学习用于语义分割的专用背景模型并不重要,得分仅仅相差1分。

6.2 Momentum and batch size

  详述这两者之间的关系。 对于一定数量的梯度运算,更小的批大小会导致更频繁的权值更新。

6.3 Upper bounds on IoU

  计算在不同分辨率下预测性能的近似上界。 通过向下采样真实值图像,然后向上采样来模拟使用特定向下采样因子可以得到的最佳结果。事实表明,平均IoU不是一个很好的测量精确的尺度,识别而不是分辨是这个指标的瓶颈。


结论

  FCN是由分类网络(AlexNet、VGG net和GoogLeNet)改造而来的,利用反卷积达到不丢失空间信息的效果,通过迁移学习的方法进行微调,以此来完成所需要的分割任务。在FCN中定义了一个skip架构,它将来自深层的语义信息与来自浅层的表征信息结合在一起,从而产生精细而准确的分割。与经典的CNN在卷积层之后使用全连接层得到的特征向量进行分类输出固定尺寸的图像不同,FCN可以接受任意尺寸的输入图像。具体思想是,采用反卷积层对最后一个卷积层的特征图进行上采样, 使它恢复到输入图像相同的尺寸来对每个像素都产生一个预测, 同时保留了原始输入图像中的空间信息, 最后在上采样的特征图上进行逐像素的分类,对逐个像素计算softmax分类的损失。


论文地址:https://openaccess.thecvf.com/content_cvpr_2015/html/Long_Fully_Convolutional_Networks_2015_CVPR_paper.html

笔者实验室研究的主要方向是血管图像分割,以及利用生理信号评价脑血流自动调节功能。此专栏会记录我个人对分割领域经典论文,以及一些感兴趣项目的笔记,如果有哪里理解不好的地方欢迎大家指正,共同学习共同进步。

你可能感兴趣的:(医学图像分割论文解读分享,算法,计算机视觉)