美文网首页深度学习
DeepLab系列之V3+

DeepLab系列之V3+

作者: 逆风g | 来源:发表于2019-05-26 23:32 被阅读0次
  1. DeepLab系列之V1
  2. DeepLab系列之V2
  3. DeepLab系列之V3
  4. DeepLab系列之V3+

概述

在语义分割任务中,spatial pyramid pooling module(SPP)可以捕获更多尺度信息,encoder-decoder结构可以更好恢复物体的边缘信息。

作者主要工作:

  1. 原DeepLabv3当作encoder,添加decoder得到新的模型(DeepLabv3+)。
    如下图所示,作者把spatial pyramid pooling moduleEncoder-Decoder融合成一体:
  2. XceptionDepthwise separable convolution应用到Atrous Spatial Pyramid Poolingdecoder中。

膨胀卷积

v1、v2中已详细说明,略....

深度可分离卷积(Depthwise separable convolution)

depthwise separable convolution=depthwise convolution+pointwise convolution

  • depthwise convolution是在每个通道上独自的进行空间卷积
  • pointwise convolution是利用1x1卷积核组合前面depthwise convolution得到的特征
  • tensorflow支持atrous版的depthwise convolution
    如下图所示:

    为什么说要用它呢?
    因为它能够保持性能的同时大大减少计算量,举个例子:
    假若输入2通道的特征,输出3通道特征,卷积核大小为3x3
    正常版卷积:
    参数量=2x(3x3)x3=54
    深度可分离卷积:
    参数量=2x3x3+1x1x3=21
    注意:第一部分为depthwise convolution(2x3x3),第二部分为
    pointwise convolution(1x1x3)

网络整体结构

  1. Encoder
    Encoder就是原来的DeepLabv3,注意点有2点:
  • 输入尺寸与输出尺寸比(output stride = 16),最后一个stage的膨胀率rate为2
  • Atrous Spatial Pyramid Pooling module(ASPP)有四个不同的rate,额外一个全局平均池化
  1. Decoder
    明显看到先把encoder的结果上采样4倍,然后与resnet中下采样前的Conv2特征concat一起,再进行3x3的卷积,最后上采样4倍得到最终结果
    需要注意点:
  • 融合低层次信息前,先进行1x1的卷积,目的是降通道(例如有512个通道,而encoder结果只有256个通道)

主干网络

作者在MSRA基础上作了些修改:

  • 更深的Xception结构,并不修改entry flow network结构
  • 所有的max pooling结构被stride=2的深度可分离卷积代替
  • 每个3x3的depthwise convolution都跟BN和Relu
    改进后的结构如下:


实验

  1. decoder结构上的探索
  • 训练时上采样输出结果下采样真值提升1.2%
  • 低层次信息通道数多少个比较合适(1x1卷积的通道数)


  • 哪个底层的细节信息较好&3x3的卷积如何构成


  • 作者验证了U-Net和SegNet类似的解码结构在此网络上并没有多少提升
  1. Backbone为Resnet101的结果


  2. Backbone为Xception的结果


  3. 在Cityscapes数据集上


相关文章

网友评论

    本文标题:DeepLab系列之V3+

    本文链接:https://www.haomeiwen.com/subject/yhhqtctx.html