美文网首页深度学习
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