图像语义分割(3)-Dilated Conv:使用空洞卷积进行多尺度语义聚合

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kevin_zhao_zl/article/details/84349602

论文地址: MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS
论文代码: github链接-caffe ; github链接-tf

1.论文思想

  传统分类网络通过连续的pooling或者其他下采样层来整合多尺度上下文信息,这种方式会损失一些分辨率。并且,分类网络与稠密预测不同,稠密预测需要多尺度上下文信息,同时还要求足够大的输出分辨率。论文针对图像语义分割中的像素级别的预测分类提出了一种新的卷积网络模块。通过空洞卷积进行多尺度上下文信息聚合而不降低特征图大小,空洞卷积支持感受野的指数增长。

2. 问题

  论文首先提出两个问题:

  • 在图像分割FCN中,图像输入到FCN,FCN先卷积再池化,降低图像像素同时增大感受野,但要逐像素输出需要将小图像上采样后预测,FCN采取了反卷积的方式,这一过程损失了信息。 \rightarrow “是否真的需要下采样层?”
  • 提供图像多个重新缩放的版本作为网络的输入。 \rightarrow “对多个重新放缩的图像进行分开分析是否必要?”
      针对这两个问题,论文提出基于空洞卷积的稠密预测专用卷积网络模块,该模块整合上下文信息同时不丧失分辨率,而且不分析重新放缩的图像。

3. 模型架构

3.1 空洞卷积

  2中提到,在网络中加入pooling层会损失信息并降低精度,不加pooling层会使感受野变小,学不到全局的特征,如果单纯地去掉pooling层,扩大卷积核的话,会导致计算量的增长,从而提出支持感受野指数级增长而且不损失分辨率的空洞卷积。
   如下图KernelSzie 3x3 、空洞因子 2、stride 1、input 7x7,可以看出,空洞卷积中卷积核的元素之间都是相邻的,但是在空洞卷积中卷积核的元素是间隔的,间隔大小取决与空洞因子。
在这里插入图片描述
  下图解释了空洞卷积为什么在扩大感受野的同时不损失分辨率:
在这里插入图片描述
  如上图,红色圆点为卷积核对应的输入“像素”,绿色为其在原输入中的感受野。
    (a)图对应3x3的扩张率为1的卷积,和普通的卷积操作一样;
    (b)图对应3x3的扩张率为2的卷积,实际的卷积核还是3x3,但是空洞率为2,也就是对于一个7x7的图像块,只有9个红色的点也就是3x3的卷积核发生卷积操作,其余的点略过。也可以理解为卷积核的大小为7x7,但是只有图中的9个点的权重不为0,其余都为0。可以看到虽然卷积核的大小只有3x3,但是这个卷积的感受野已经增大到了7x7。如果考虑到这个2-dilated convolution的前一层有一个1-dilated convolution的话,那么每个红点就是1-dilated的卷积输出,感受野为3x3,所以1-dilated和2-dilated合起来就能达到7x7的卷积;
     (c)图是4-dilated convolution操作,同理跟在1-dilated和2-dilated convolution的后面,能达到15x15的感受野。
对比传统的卷积操作,3层3x3的卷积加起来,stride为1的话,只能达到(kernel-1)*layer+1=7的感受野,也就是和层数layer成线性关系,而dilated conv的感受野是指数级的增长

3.2 多尺度语义融合

  在这一部分中,作者提出了的一种基础的上下文模块。上下文模块旨在通过聚合多尺度上下文信息来提高密集预测网络结构的性能。该模块采用C个通道特征图作为输入,并生成C个通道特征图作为输出。输入和输出具有相同的形式,因此该模块可以插入到现有的密集预测网络结构中。
本文设计的基础上下文模块,有7层,每一层都采用具有不同空洞率的3*3卷积核进行空洞卷积。基础上下文模块根据卷积的通道不同又分为两种形式:basic和large
在这里插入图片描述
  论文提到用卷积网络通常的初始化不能提高上下文模块的预测精度并提出采用一个具有明确语义的替代初始化更有效果。这是一种确定初始化的一种形式,最近一直被提倡用于循环神经网络。
在这里插入图片描述

3.3 前端模块 (Front End)

  论文提到为上下文网络提供输入的是前端模块生成的64*64分辨率的特征图。如下图所示:
在这里插入图片描述
  图中fc-final之前的部分就是前端模块,之后的部分就是上下文模块。前端模块改进了VGG-16网络,将VGG-16最后两个poooling层移除,并且随后的卷积层被空洞卷积代替,pool4和pool5之间的空洞卷积的空洞率为2,在pool5之后的空洞卷积的空洞率为4。实际上,只需要前端而不需要前端之后的部分就能够进行稠密预测。

猜你喜欢

转载自blog.csdn.net/kevin_zhao_zl/article/details/84349602