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

DeepLab系列之V3

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

    概述

    1. DCNNs中语义分割存在三个挑战:
    • 连续下采用和重复池化,导致最后特征图分辨率低
    • 图像中存在多尺度的物体
      注:当前版本没有使用CFR
    1. 作者把解决多尺度物体问题的方法分成四类:


    • 把输入图片缩放成不同尺度,经过同一个网络,最终融合多尺度下的物体信息
    • 使用编解码结构,在decoder时融合encoder网络不同阶段的特征
    • 在原网络最后层增加额外的context模块,比如DenseCRF,或者串联几个不同感受野的卷积模块
    • 在原网络最后层添加并行结构—空间金字塔池化,获取不同尺度的物体信息
    1. 作者的处理方案:
    • 使用空洞卷积,防止分辨率过低情况
    • 串联不同膨胀率的空洞卷积或者并行不同膨胀率的空洞卷积(v2的ASPP),来获取更多上下文信息
    1. 优势
    • 当时在PASCAL VOC 2012 test上效果最好,并且没有使用DenseCRF
    1. 本文主要工作
    • 探索更深结构下的空洞卷积探索(串行结构)
    • 优化atrous spatial pyramid pooling—ASPP(并行结构)

    膨胀卷积

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

    更深结构下的空洞卷积

    1. 串联结构
      把resnet最后一个block,下图中的Block4拷贝几份串联起来:



      每个block的最后一个卷积stride都为2(除了最后一个block),连续的下采样保证获取更大范围的特征,但是这样不利于语义分割。
      使用不同膨胀率的空洞卷积保证了分辨率和大的感受野,如上图b所示。

    2. multi-grid
      作者考虑了multi-grid方法,即每个block中的三个卷积有各自unit rate,例如Multi Grid = (1, 2, 4),block的dilate rate=2,则block中每个卷积的实际膨胀率=2* (1, 2, 4)=(2,4,8)

    优化Atrous Spatial Pyramid Pooling

    作者通过实验发现,膨胀率越大,卷积核中的有效权重越少,当膨胀率足够大时,只有卷积核最中间的权重有效,即退化成了1x1卷积核,并不能获取到全局的context信息。3x3的卷积核中有效权重与膨胀率的对应如下:


    为了解决这个问题,作者在最后一个特征上使用了全局平均池化(global everage pooling)(包含1x1卷积核,输出256个通道,正则化,通过bilinear上采样还原到对应尺度)
    修改后的ASPP结构如下:

    所有的分支都包含256个通道和正则化,最终concat到一起,1x1卷积将通道数为256。

    实验

    1. 训练策略
    • Learning rate policy:
      poly,学习率下降方式如下:


    • Crop size:
      513,保证更大的膨胀率有效
    • Batch normalization:
      先在增强数据集上output stride = 16(输入图像与输出特征大小的比例),batch size=16,BN参数衰减为0.9997,训练30k个iter。
      之后在官方PASCAL VOC 2012的trainval集上冻结BN参数, output stride = 8,batch size=8,训练30k个iter。
    • Upsampling logits:
      v1、v2中都是下采样的真值来计算loss,这里上采样最后的输出结果。
    • Data augmentation:
      输入图片随机缩放(0.5-2.0),随机左右翻转
    1. 串行结构下的结果
    • block串联个数不同,在resnet50和resnet101下的mIOU:


    • ResNet-101,output stride = 16下不同multi-grid的mIOU:


    • 消融实验:


    1. ASPP结构下的结果
    • output stride = 16,不同multi-grid和膨胀率的结果:


    • 消融实验:


    经验track

    1. 如何在MS COCO上预训练?
      trainval_minus_minival挑选包含PASCAL分类并且目标区域像素个数大于1000的图片,大概有60k的图片用于训练,除了PASCAL分类区域,其它都看成背景。从上述实验结果中发现提升了3个百分点。
    2. 对于有些类准确率比较低,怎么办?
      针对包含namely bicycle、chair、table、potted- plant、and sofa分类的图片,在训练集中增加它们比列。通过BN策略和这里的策略,达到85.7%IOU,再次提升3个百分点。
    3. Cityscapes上的小策略:
      cropsize 769 iters 90k
    • output stride = 16时:77.23%
    • output stride = 8时:77.82%
    • 多尺度输入(0.75,1,1.25):79.30%
    • 事先在trainval coarse上预训练,scales = {0.75, 1, 1.25, 1.5, 1.75, 2} ,output stride = 4,output stride = 8,最终结果:81.3%

    相关文章

      网友评论

        本文标题:DeepLab系列之V3

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