Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

  • Title:DeepLab V1: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected  CRFs
  • Data:2019/04/17
  • Abstract:DeepLab是结合了深度卷积神经网络(DCNNs)和概率图模型(DenseCRFs)的方法。在实验中发现DCNNs做语义分割时精准度不够的问题,根本原因是DCNNs的高级特征的平移不变性(即高层次特征映射)DeepLab解决这一问题的方法是通过将DCNNs层的响应和完全连接的条件随机场(CRF) 结合。同时模型创新性的将hole(即空洞卷积)算法应用到DCNNs模型上,在现代GPU上运行速度达到了8FPS。

目录

DeepLab V1 论文解读

1 Abstract 

2 Introduction

3.Related work

3.1 DCNN

3.2 空洞卷积介绍:

3.3 CRF:

3.4 多尺度预测:

4.Experiment

4.1 模型的基本信息

4.2 各数据集上的实验结果

4.3 多尺度特征应用:

4.4 评估边界附近的精确度

5.Conclution

参考文献:


DeepLab V1 论文解读

DeepLab v1:Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected               CRFs

收录:L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L.Yuille, “Semantic image segmentation with deep convolutional    nets and fully connected crfs,”  in ICLR, 2015.

效果图:

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)


1 Abstract 

论文提出了一Semantic Segmentation模型:Deeplab

模型主要由:DCNN[1]网络最后一层加上CRF[2]组成。

创新:DeepLab是结合了深度卷积神经网络(DCNNs)和概率图模型(DenseCRFs)[3]的方法。在实验中发现DCNNs做语义分割时精准度不够的问题,根本原因是DCNNs的高级特征的平移不变性(即高层次特征映射)DeepLab解决这一问题的方法是通过将DCNNs层的响应和完全连接的条件随机场(CRF) 结合。同时模型创新性的将hole(即空洞卷积)算法应用到DCNNs模型上,在现代GPU上运行速度达到了8FPS

动机:解决精确定位与抽象的空间关系


2 Introduction

相比于传统的视觉算法(SIFTHOG)DCNN以其end-to-end方式获得了很好的效果。这样的成功部分可以归功于DCNN对图像转换的平移不变性(invariance),这根本是源于重复的池化和下采样组合层。平移不变性增强了对数据分层抽象的能力,但同时可能会阻碍低级(low-level)视觉任务,例如姿态估计、语义分割等,在这些任务中我们倾向于精确的定位而不是抽象的空间关系。

DCNN在图像标记任务中存在两个技术障碍:

1.信号下采样

2.空间不敏感(invariance)

空间信号下采样: 重复的最大池化和下采样带来分辨率下降的问题,会丢失细节。DeepLab采用atrous(带孔)算法扩展感知野,获得更多上下文信息。

空间信息不敏感:DeepLab采用完全连接的条件随机场(DenseCRF)提高模型捕获细节的能力。以目标为中心的分类器需要空间不变性,限制了空间准确率。提出CRF来解决,CRFclass scores(通过分类器)和low-level信息结合起来。

两个技术障碍导致DCNN做分割的三个问题:

1.特征的分辨率减小。

2.目标可能在不同尺度下。

3.DCNN的不变性导致定位的精度降低。

在DCNN中重复最大池化和下采样带来的分辨率下降问题,分辨率的下降会丢失细节。DeepLab是采用的atrous(带孔)算法扩展感受野,获取更多的上下文信息。

分类器获取以对象中心的决策是需要空间变换的不变性,这天然的限制DCNN的定位精度,DeepLab采用完全连接的条件随机场(DenseCRF)提高模型捕获细节的能力。

速度:带atrous算法的DCNN可以保持8FPS的速度,全连接CRF平均推断需要0.5s

准确:在PASCAL语义分割挑战中获得了第二的成绩

简单:DeepLab是由两个非常成熟的模块(DCNNCRFs)级联而成


3.Related work

DeepLab系统应用在语义分割任务上,目的是做逐像素分类的,这与使用两阶段的DCNN方法形成鲜明对比(R-CNN等系列的目标检测工作)R-CNN系列的做法是原先图片上获取候选区域,再送到DCNN中获取分割建议,重新排列取结果。虽然这种方法明确地尝试处理前段分割算法的本质,但在仍没有明确的利用DCNN的预测图。

我们的系统与其他先进模型的主要区别在于DenseCRFsDCNN的结合。是将每个像素视为CRF节点,利用远程依赖关系,并使用CRF推理直接优化DCNN的损失函数。Koltun(2011)的工作表明完全连接的CRF在语义分割下非常有效。 也有其他组采取非常相似的方向,将DCNN和密集的CRF结合起来,我们已经更新提出了DeepLab系统(应该指的是DeepLabV2)

3.1 DCNN

密集分类下的卷积神经网络这里先描述一下DCNN如何设计:

我们调整VGG16模型,转为一个可以有效提取特征的语义分割系统。具体来说,先将VGG16FC层转为卷积层,模型变为全卷积的方式,这在我们之前的介绍已经有了相应的介绍。在图像的原始分辨率上产生非常稀疏的计算检测分数(步幅32,步幅=输入尺寸输出特征尺寸步幅/输入尺寸输出特征尺寸),为了以更密集(步幅8)的计算得分,我们在最后的两个最大池化层不下采样(padding到原大小),再通过24的采样率的空洞卷积对特征图做采样扩大感受野,缩小步幅

3.2 空洞卷积介绍:

首先是诞生背景,在图像分割领域,图像输入到CNN(典型的网络比如FCN[3])中,FCN先像传统的CNN那样对图像做卷积再pooling,降低图像尺寸的同时增大感受野,但是由于图像分割预测是pixel-wise的输出,所以要将pooling后较小的图像尺寸upsampling到原始的图像尺寸进行预测(upsampling一般采用deconv反卷积操作,之前的pooling操作使得每个pixel预测都能看到较大感受野信息。因此图像分割FCN中有两个关键,一个是pooling减小图像尺寸增大感受野,另一个是upsampling扩大图像尺寸。在先减小再增大尺寸的过程中,肯定有一些信息损失掉了,空洞卷积使得通过pooling也能有较大的感受野看到更多的信息。

dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。在图像需要全局信息或者语音文本需要较长的sequence信息依赖的问题中,都能很好的应用dilated conv比如图像分割、语音合成WaveNet机器翻译ByteNet[1]中。简单贴下ByteNetWaveNet用到的dilated conv结构,可以更形象的了解dilated conv本身。

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

(a)图对应3x31-dilated conv和普通的卷积操作一样,(b)图对应3x32-dilated conv实际的卷积kernel size还是3x3,但是空洞为1,也就是对于一个7x7的图像patch,只有9个红色的点和3x3kernel发生卷积操作,其余的点略过。也可以理解为kernelsize7x7,但是只有图中的9个点的权重不为0,其余都为0。 可以看到虽然kernel size只有3x3,但是这个卷积的感受野已经增大到了7x7(如果考虑到这个2-dilated conv的前一层是一个1-dilated conv的话,那么每个红点就是1-dilated的卷积输出,所以感受野为3x3,所以1-dilated2-dilated合起来就能达到7x7conv),(c)图是4-dilated conv操作,同理跟在两个1-dilated2-dilated conv的后面,能达到15x15的感受野。对比传统的conv操作,33x3的卷积加起来,stride1的话,只能达到(kernel-1)*layer+1=7的感受野,也就是和层数layer成线性关系,而dilated conv的感受野是指数级的增长。

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

空洞卷积atrous算法,可以稀疏的采样底层特征映射,该方法具有通常性,并且可以使用任何采样率计算密集的特征映射。在VGG16中使用不同采样率的空洞卷积,可以让模型再密集的计算时,明确控制网络的感受野。保证DCNN的预测图可靠的预测图像中物体的位置。

训练时将预训练的VGG16的权重做fine-tune,损失函数取是输出的特征图与ground truth下采样8倍做交叉熵和;测试时取输出图双线性上采样8倍得到结果。但DCNN的预测物体的位置是粗略的,没有确切的轮廓。在卷积网络中,因为有多个最大池化层和下采样的重复组合层使得模型的具有平移不变性,我们在其输出的high-level的基础上做定位是比较难的。这需要做分类精度和定位精度之间是有一个自然的折中。

解决这个问题的工作,主要分为两个方向:

1.第一种是利用卷积网络中多个层次的信息

2.第二种是采样超像素表示,实质上是将定位任务交给低级的分割方法

DeepLab是结合了DCNNs的识别能力和全连接的CRF的细粒度定位精度,寻求一个结合的方法,结果证明能够产生准确的语义分割结果。

3.3 CRF

在语义分割上的应用传统上,CRF已被用于平滑噪声分割图。通常,这些模型包含耦合相邻节点的能量项,有利于相同标签分配空间近端像素。定性的说,这些短程的CRF主要功能是清除在手工特征基础上建立的弱分类器的虚假预测

与这些弱分类器相比,现代的DCNN体系产生质量不同的预测图,通常是比较平滑且均匀的分类结果(即以前是弱分类器预测的结果,不是很靠谱,现在DCNN的预测结果靠谱多了)。在这种情况下,使用短程的CRF可能是不利的,因为我们的目标是恢复详细的局部结构,而不是进一步平滑。而有工作证明可用全连接的CRF来提升分割精度。

                             Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

对于每个像素位置ii具有隐变量xi(这里隐变量就是像素的真实类别标签,如果预测结果有21类,则(i∈1,2,..,21),还有对应的观测值yi(即像素点对应的颜色值)。以像素为节点,像素与像素间的关系作为边,构成了一个条件随机场(CRF)。通过观测变量yi来推测像素位置i对应的类别标签xi

CRF在精确定位中的应用短距离CRF有耦合邻居点的能量项,有利于相同标签分配到空间上相近的像素,这些短距离CRF的主要功能是清除在手工特征基础上建立的弱分类器的虚假预测。而DCNN的特征分类映射非常平滑,此时若使用短距离CRF不行,因为我们的目标是恢复详细的局部结构而不是进一步平滑它,因此要用FC-CRF

       Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

3.4 多尺度预测:

使用多尺度预测提高边界定位效果:在输入图像和前四个最大池化层的输出上加了两层的MLP(第一层是1283×3卷积,第二层是1281×1卷积),最终输出的特征映射送到模型的最后一层辅助预测,合起来模型最后的softmax层输入特征多了5×128=640个通道,实验表示多尺度有助于提升预测结果,但是效果不如CRF明显。 


4.Experiment

4.1 模型的基本信息

DeepLabDCNNCRF组成,训练策略是分段训练,即DCNN的输出是CRF的一元势函数,在训练CRF时是固定的。在对DCNN做了fine-tune后,对CRF做交叉验证。这里使用ω2=3σγ=3在小的交叉验证集上寻找最佳的ω1,ω1,α,σβ,采用从粗到细的寻找策略。

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

4.2 各数据集上的实验结果

验证集上结果:

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

atrous算法可以允许调整感受野(FOV),大的离散卷积效果更好

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

4.3 多尺度特征应用:

  • DeepLab-MSc超过DeepLab性能1.5%
  • 总的DeepLab-MSc-CRF超过4%

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

4.4 评估边界附近的精确度

void在val set中通常出现在边界周围,CRF+MSc效果最好

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)

与其他模型对比DeepLab捕获到最好的边界

Semantic Segmentation---DeepLab V1:Semantic Image Segmentation with Deep Convolutional Nets..(论文解读二)


5.Conclution

  • DeepLab创造性的结合了DCNNCRF产生一种新的语义分割模型,
  • DeepLab v1:卷积神经网络+概率图模型做端到端训练
  • DCNN+CRF 预测结果准确、效率高

参考文献:

[1] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, “Gradient-based learning applied to document recognition,” in Proc. IEEE, 1998

[2] G. Papandreou, L.-C. Chen, K. Murphy, and A. L. Yuille,“Weakly- and semi-supervised learning of a dcnn for semantic image segmentation,” in ICCV, 2015.

[3]P. Krähenbühl and V. Koltun, “Efficient inference in fully connected crfs with gaussian edge potentials,” in NIPS, 2011