【论文学习记录】Rethinking Atrous Convolution for Semantic Image Segmentation

版权声明:本文为博主原创文章,未经作者允许请勿转载。 https://blog.csdn.net/heiheiya https://blog.csdn.net/heiheiya/article/details/88235404

这篇论文即是DeepLabv3的理论基础,论文原文《Rethinking Atrous Convolution for Semantic Image Segmentation》。

为解决语义分割时的多尺度问题,论文中提到主要考虑如下四种结构。

论文重新阐述了空洞卷积(atrous convolution)在语义分割任务中是怎样提取稠密特征的。

假设一个二维的信号,每个位置i对应的输出是y,以及filter w对输入特征图x进行空洞卷积计算。

其中,atrous rate r 表示对输入信号进行采样的步长( stride),等价于将输入x和通过在两个连续的filters值间沿着各空间维度插入 r−1个零值得到的上采样filters进行卷积. 通过改变 Atrous convolution 的 rate 值,来修改 filter 的接受野。r=1即是标准的卷积。

作者首先以串联的方式设计空洞卷积模块。复制ResNet的最后一个block,如下图的 block4,并将复制后的blocks以串行方式级联。各block中有三个convolutions, 除了最后一个block, 其它block的最后一个convolution的步长都为2, 类似于原来的ResNet.

这样的设计是因为引入的 stride 能更容易的捕获较深的blockes中的大范围信息。

对 block4~block7 采用不同 atrous rates,定义 Multi_Grid=(r1,r2,r3)(r1,r2,r3) 为block4~block7的三个卷积层的 unit rates,卷积层最终的 atrous rate 等于 unit rate 与对应的 rate 的乘积. 例如,当 output_stride=16, Multi_Grid=(1,2,4)时, block4 中三个卷积层的 rate 分别为:rates=2∗(1,2,4) = (2,4,8)。

Atrous Spatial Pyramid Pooling(ASPP)采用四个并行的不同 atrous rates 的 atrous convolutions对 feature map 进行处理,具有不同 atrous rates 的 ASPP 能够有效的捕获多尺度信息,并且本文中还在ASPP中加入了batch normalization。

但是随着sampling rate的增加,有效filter特征权重数量会变小。极端情况,退化成一个 1×1 filter, 因为只有中心 filter 权重才是有效的。

针对上述问题,论文采用了以下几点改进。

采用全局平均池化(global average pooling)对模型的特征图进行处理,将得到的图像级特征输入到一个256 filters的 1×1卷积(加入 batch normalization)中,然后将特征进行双线性上采样(bilinearly upsample)到特定的空间维度。

当output_stride=16时,包括一个 1×1卷积和三个3×3 卷积,其中3×3卷积的 rates=(6,12,18),(所有的filter个数为256,并加入batch normalization)。当output_stride=8时,rates将加倍。

连接所有分支的最终特征,输入到另一个 1×1 卷积(所有的filter个数也为256,并加入batch normalization),再进入最终的 1×1卷积,得到结果。

训练策略:

1. learning rate:初始learning rate * ,其中power=0.9。

2. crop size:随机裁剪到513分辨率(PASCAL VOC 2012数据集)。

3. 对于output_stride = 16,batch size设为16, decay = 0.9997,初始learning rate = 0.007,在增强的数据集迭代30K之后,将 batch normalization的参数冻结,再针对output stride = 8,初始learning rate = 0.001,在标准的数据集上再迭代30K次。

4. 不再对原来的groundtruths进行8倍降采样,取而代之的是对最后的结果进行上采样。

5. 数据增加采用随机缩放图像(0.5~2.0倍)和随机左右翻转图像。

下表是不同output_stride对结果的影响。

ResNet-50和ResNet-101的对比。

Multi-grid

和其他网络的对比。

结果展示。

猜你喜欢

转载自blog.csdn.net/heiheiya/article/details/88235404