deeplab v3+论文精读

论文地址:https://arxiv.org/pdf/1802.02611.pdf

tensorflow代码:https: //github.com/tensorflow/models/tree/master/research/deeplab

Abstract

        空间金字塔池模块或编解码器结构普遍用于深度神经网络进行语义分割任务。空间金字塔池模块网络能够通过不同空洞率的、具有不同感受野的空洞卷积或池化操作,编码多尺度上下文信息,而编解码器结构可以通过逐步恢复空间信息来捕获更清晰的目标边界deeplab v3+结合了这两种方法的优点。添加了解码器模块细化分割结果,特别是沿着对象边界。同时进一步探索了Xception模型,并将深度可分离卷积应用于空间空间金字塔池化和解码器模块,从而得到一个更快更强的编解码器网络。 

1 Introduction 

        空间金字塔池:(以PSPNet 为例)PSPNet [24]在不同的网格尺度上执行池化操作。尽管在最后一个特征图中编码了丰富的语义信息,但由于网络主干内的池化或卷积,特征图不断减小,造成与对象边界相关的详细信息缺失。这个问题可以使用空洞卷积来解决。

        但是,单纯的使用空洞卷积,当特征图缩小后,尤其是对于缩小16倍的特征图而言,大的空洞率的空洞卷积显然是无效的,需要对特征进行扩展。这个问题可以使用编解码器结构进行解决。 

        因此deeplab v3+在deeplab v3的基础上,将deeplab v3作为编码器,添加了解码器模块,提出了一种编解码器结构。

 3 Methods

        DeepLabv3 as encoder:将deeplab v3作为编码器模块,并将deeplab的输出结果作为编码器的输出结果,输出特征图包含256个通道数。

        Proposed decoder:DeepLabv3直接将特征上采样16倍,能无法成功地恢复目标分割的细节。因此,作者提出了一个简单而有效的解码器模块,如图2所示。编码器特征首先提前上采样4倍,然后与网络主干中具有相同空间分辨率的相应低级特征[73]连接。同时应用一个1*1的卷积调整通道数(256个),在连接之后,应用几个3×3卷积来细化特征,然后使用双线性插值,将特征上采样4倍。

3.2 Modifified Aligned Xception

        作者修改了 Xception,尝试将Xception运用到图像分割中,首先,作者不对网络入口结构进行调整,将所有的最大池化换为了深度可分离卷积,并且可以使用空洞卷积,每3×3深度可分离卷积后添加额外的批归一化[75]和ReLU激活。

4 Experimental Evaluation        

        学习率调度:“poly”策略

        初始学习率:0.007

        图像大小:513*513

        输出步幅= 16时微调批归一化参数[75],训练期间随机规模数据增强。

        解码器模块中包含了批处理归一化参数。

        提出的模型是端到端训练的,没有对每个组件进行分段预训练。

4.1 Decoder Design Choices  

        为了评估解码器模块中1×1卷积的影响,使用了[3×3,256]和ResNet-101网络骨干网的Conv2特征,即res2x残差块中的最后一个特征图。将低级特征映射的通道从编码器模块减少到48或32,可以获得更好的性能。因此,我们采用[1×1,48]来进行信道减少。 结果如表1所示:

         3*3卷积的作用:将Conv2特征图(在大步行走之前)与DeepLabv3特征图连接后,使用256个滤波器的两个3×3卷积比简单地使用一个或三个卷积更有效。将过滤器的数量从256更改为128,或将内核大小从3×3更改为1×1,都会降低性能。

        各模块添加情况实验: 

        MS表示多尺度输入、Flip表示随机翻转

        Baseline:表格第一行

        Adding decoder: 表格第二行

        Coarser feature maps:表格第三行

 4.3 Xception as Network Backbone

        ImageNet pretraining: momentum = 0.9, initial learning rate = 0.05, rate decay = 0.94 every 2 epochs, weight decay 4e 5,图像分类结果如下表:     

        Baseline: 下表第一行

        Adding decoder:表格第二行

        Using depthwise separable convolution:表格第三行

        Pretraining on COCO 以及Pretraining on JFT:

 最优结果:

 4.5 Experimental Results on Cityscapes

         backbone使用Xception,右图为最佳模型效果

        

        

猜你喜欢

转载自blog.csdn.net/qq_52053775/article/details/127077121