论文阅读:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabV3)

文章目录

    • 1 摘要
    • 2 存在的问题
      • 2.1 解决多尺度问题常用的四个方法
      • 2.2 空洞卷积的缺点
    • 3 亮点
      • 3.1 output_stride的影响
      • 3.2 ASPP改进
    • 4 部分结果
      • 4.1 分割的数据对比
      • 4.2 分割的效果对比
    • 5 结论
      • 5.1 优势
      • 5.2 不足
    • 6 参考资料

1 摘要

目前语义分割过程存在两个问题:① 池化层导致图像分辨率的下降; ② 图像的多尺度问题。针对这两个问题,而在DeepLabV2中,作者提出了带有空洞卷积的ASPP来解决图像的图像分辨率和多尺度问题,而本文中,作者通过对ASPP进行改进得到DeepLabV3网络,没有使用DenseCRF后处理模块,在 PASCAL VOC 2012语义分割数据集中表现SOTA。

2 存在的问题

2.1 解决多尺度问题常用的四个方法

当时常用于解决多尺度的方法有主要四种,如下图:
论文阅读:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabV3)_第1张图片
(a)图像金字塔。就是通过输入尺寸不同的图片,这几个图片分别同时放入DCNN中进行处理,再将结果进行融合。而由于每一张尺寸的图片都执行一次DCNN的操作,这样会造成内存资源的消耗,所以在层数很深的DCNN中,由于内存问题受到了限制。

(b)编码器—解码器结构。常见的编码器—解码器结构有U-Net、RefineNet等,SegNet通过引入编码阶段的池化指标,U-Net和RefineNet通过跳跃结构引用编码阶段的特征图。这些结构均是通过在图像解码的时候引入了编码时的特性特征信息而解决多尺度问题。此种方法也在不断地进行发展。

(c) Deeper w. Atrous Convolution结构,使用空洞卷积级联在DCNN的顶部,通过于级联模块可以整合不同尺度的信息。另外,还有一些在DCNN的后面增加一些获取语义的模块。例如DenseCRF接到DCNN的后面,在DCNN最后一层增加几层卷积,使CRF和DCNN可以联合训练使得特征图更稠密。

(d)空间金字塔池化。通过对特征图进行不同的池化处理,再进行特征融合。

2.2 空洞卷积的缺点

作者发现在DeepLabV2中提出的ASPP模块,随着空洞卷积的上采样率(也就是空洞卷积的空洞率)变大,其有效权值的变小,如考虑空洞率无限大的时候,那么实际就只有中央的权值有效了,如下图:
论文阅读:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabV3)_第2张图片
上图中1,4,9代表的是1个,4个,9个有效权重,也就是滑动窗口时空洞卷积核对应于图像的有效区域,如果空洞率过大,则在滑动窗口时超出了图像的范围(尤其是在边界,空洞率越大,无效的区域就越大),所以9个有效权重蓝色线受到的影响最大,空洞率一增大标准化计数就衰减,而在9个有效权重标准化计数衰减的时候,滑动过程中就会把标准化计数中间化,也就是4有效权重值会增加,而随着空洞率增大,4个权重也超出了图像有效范围,所以会有个标准化计数最大值然后就开始衰减,那么标准化计数就主要集中在1个中间权重上了,所以1有效权重就一致上升。

3 亮点

3.1 output_stride的影响

本文提到了output_stride,举个例子解释output_stride,如原始输入图像为224x224,经过多层池化以后得到的图像为14x14,则output stride为224/14 = 16。如下图:
论文阅读:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabV3)_第3张图片
(a)和(b)中的block均为从ResNet的后几层的复制来的block,在(a)网络中,没有使用到空洞卷积,可以看到随着网络的加深,output_stride为256时虽然图像能够获得显著的全局特征,但是,局部特征确实丢失了很多。在(b)中,通过权衡output_stride来获取最好的效果,因为output_stride太小获取的是局部信息,过大获取的是全局信息,局部信息丢失。经过作者对比,output_stride为8时的效果是最好的。如下图
论文阅读:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabV3)_第4张图片
而(b)中显示的是在output_stride为16时进行空洞卷积保持后面output_stride一直为16,通过空洞卷积提取特征使得特征稠密而分辨率不下降。

3.2 ASPP改进

本文主要针对DeepLabV2中的ASPP进行了改进,如下图:
论文阅读:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabV3)_第5张图片
选取Image经过多个block的操作得到output_stride为16的特征图经过一个rate为2的空洞卷积经过block4,再经过改进的ASPP,它由两大部分组成:
(a)使用1x1conv,rate为{6,12,18}的空洞卷积,卷积核均为256个,均接 batch normalization;

(b)image-level features:模型的最后一个特征图经过一个全局平均池化,接256个1x1的卷积+batch normalization,然后使用双线性插值上采样恢复到与当前output_stride=16的大小。

这两大部分最终进行特征拼接和256个1x1卷积+batch normalization。

4 部分结果

4.1 分割的数据对比

论文阅读:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabV3)_第6张图片
上图中为各个网络在PASCAL VOC 2012测试集上的mIOU的对比。其中DeepLab-JFT为在ImageNet和JFT-300M数据集上进行了预训练得到的结果。

4.2 分割的效果对比

论文阅读:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabV3)_第7张图片
上图为DeepLabV3的分割效果,其中最后一行为分割失败的案例。

5 结论

本文是基于DeepLabV2进行改进的DeepLabV2网络,核心是ASPP模块的改进。

5.1 优势

① 能够进一步融合上下文信息,解决多尺度问题和分辨率变小的问题。

5.2 不足

① 在分割过程中产生一些失败分割的案例,如很难分割沙发和椅子,桌子和椅子,还有一些很少见的物体。

6 参考资料

(1)论文链接:https://arxiv.org/abs/1706.05587
(2)论文阅读笔记十一:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabv3)(CVPR2017)

你可能感兴趣的:(语义分割文献笔记,计算机视觉,人工智能,深度学习)