deeplapv3

1.介绍

通过使用atrous卷积进行改善

atrous卷积:这是一个强大的工具,

  • 用于显式调整滤波器的视野以及控制深度卷积神经网络计算的特征响应的分辨率
  • 允许我们重新利用 ImageNet 预训练网络,通过从最后几层删除下采样操作并上采样相应的滤波器内核来提取更密集的特征图
  • 采用级联或并行atrous卷积来通过采用多种atrous率来捕获多尺度上下文
  • Atrous 空间金字塔池化模块,该模块可以探测多个尺度的卷积特征,并使用图像级特征编码全局上下文并进一步提高性能

两个挑战:

第一个是由连续池化操作或卷积跨步导致的特征分辨率降低,这使得DCNN能够学习越来越抽象的特征表示。

另一个困难来自多个尺度的物体的存在。

2.相关工作

四种语义分割网络架构:

Image pyramid (图像金字塔结构):将不同scale的图片同时输入到网络中,不同scale的网络共享权重。较大scale的图片获取局部细节特征、较小scale的图片用来获取更大范围的上下文信息。这种类型的模型的主要缺点是,由于GPU内存有限,它不能很好地扩展到更大/更深的DCNN,因此它通常应用于推理阶段。

Encoder-Decoder(编码-解码结构):其中编码器用于将特征图的空间维数逐渐降低,从而更容易捕获更远距离的信息,解码器用于将目标细节和空间维数逐渐恢复。SegNet、U-Net和RefineNet都采用了类似的结构,后续的DeeplabV3+也是采用了这种结构。

Atrous convolution(空洞卷积):基于空洞卷积的模型设计,这也是DeeplabV3中主要探索的点。空洞卷积的主要优势是:可以在不降低特征空间分辨率的同时提升模型的感受野,获取到更大范围的上下文信息。空洞卷积的示意图如下所示。

Spatial pyramid pooling (空间金字塔池化):该模型采用空间金字塔池化来捕获多个范围内的上下文。DeeplabV3的前身DeepLabv2就是提出了无源空间金字塔池化(ASPP),并行捕获多尺度信息,然后在最后将结果融合。

在这项工作中,主要探索了atrous卷积作为空间金字塔池化的上下文模块和工具。框架是通用的,它可以应用于任何网络。在ResNet中复制了原始最后一个块的几个副本,并将它们级联排列,并且还重新访问了ASPP模块,该模块并行包含几个atrous卷积。

3.方法

级联或并行使用的atrous卷积模块

采用空洞卷积来恢复空间分辨率

考虑二维信号,对于输出y上的每个位置i和一个滤波器w,在输入特征映射x上应用空洞卷积:

y|i|=\sum_{k}x[i+r\cdot k]w[k]

膨胀系数为 r ,对应于我们采样信号的步长(stride),这等效于将输入 x 在每个空间维度上,与两个连续的卷积核值之间插入 r−1 个零而产生的上采样卷积核进行卷积。如下图在卷积核中插入0,相当于把卷积核上采样了,标准卷积 r=1 。空洞卷积允许我们通过膨胀系数来控制感受野的大小。

输出步长:表示输入图像空间分辨率与最终输出分辨率的比率

最终的特征响应(在完全连接层或全局池化之前)比输入图像维度小32倍

先探索了具有级联布局的空洞卷积的设计模块。具体来说,我们复制了最后一个ResNet块的多个副本,即下图中的block4,然后使它们连接起来。有3个 3∗3 卷积在这个模块中,最后一个卷积的步长为2,不是1,类似于原先的ResNet。该模型背后的动机是,引入的stride可轻松捕获更深层区块中的远程信息。

Multi-grid Method:受到采用不同大小的网格层次结构的多网格方法启发,在我们提出的模型中改变了block4-7的膨胀系数。特别说,我们定义 Multi_Grid=(r1,r2,r3) 作为block4到block7中3次卷积的基准系数。最终的膨胀系数是基准系数和对应比例的乘积。

Atrous空间金字塔池化:

该研究表明,在不同尺度上对特征进行重采样对于准确和高效地分类任意尺度的区域是有效的。在ASPP中包含了批量归一化。

具有不同atrous率的ASPP可有效捕获多尺度信息.然而,膨胀系数越大,有效卷积核的权重数量越少。这种效果如下图所示,将3×3滤波器应用于具有不同atrous率的65× 65特征图时。在速率值接近特征图大小时的极端情况下,3 ×3滤波器不会捕获整个图像上下文,而是退化为简单的1×1滤波器,因为只有中心滤波器权重是有效的。

为了克服这个问题并将全局上下文信息整合到模型中,采用了图像级特征

具体来说,采用全球平均值池化在模型的最后一个特征图上,将生成的图像级特征提供给具有256个滤波器(和批量归一化)的1×1卷积,然后将特征双向上采样到所需的空间维度。

改进的ASPP有一个1×1卷积和3个3×3的卷积组成,rate=(6,12,18)

4.实验结果

我们在PASCAL VOC 2012语义分割基准上评估了所提出的模型,该基准包含20个前景对象类和1个背景类。原始数据集包含 1,464 个(训练)、1,449 个(val)和 1,456(测试)像素级标记图像,分别用于训练、验证和测试。该数据集通过 [29] 提供的额外注释进行了增强,产生了 10,582 张 (trainaug) 训练图像。性能是根据 21 个类别的像素交集并集 (IOU) 平均值来衡量的。

  • 训练规程:

学习率策略:“Poly”

lr*(1-\frac{iter}{max_iiter})^{power}  power=0.9

裁剪尺寸:513

批量归一化:对训练很重要。当output_stride=16,batch_size=16,decay=0.9997 。在lr=0.007上训练30K次后,冻结归一化参数,使用 output_stride=8 ,再训练30K,此时lr=0.001。

上采样策略:之前版本中,都是 output_stride=8 。我们发现,重要的是要保持ground truth完整无缺,而要对最终的logit进行上采样,因为对ground truth进行下采样会删除精细的细节,从而不会导致细节的反向传播。 

数据增强:我们通过随机缩放输入图像(从0.5到2.0)并在训练期间随机左右翻转来应用数据增强。

  • Going Deeper with A trous Convolution

ResNet-50:ResNet-50 与block7一起使用时输出步幅的影响(即额外的block5、block6和block7)。在output_stride=256时,性能达到75.18%

5.1 ResNet实验

ResNet-50 vs. ResNet-101: output_stride=16 下,ResNet-101效果更好

5.2 Multi-Grid 实验

从下图中可以看出multi-grid为(1,2,1)效果是最好的,膨胀系数是rates*multi-grid(r1,r2,r3)

当训练的时候output_stride=16,在推理的过程中采用output_stride=8时,性能提高1.39%。多尺度的输入设置为:scales = {0.5, 0.75, 1.0, 1.25, 1.5, 1.75}。

5.3 ASPP实验

通过图像级特性增强ASPP模块效果显著,最终性能达到77.21%。

Comparison with DeepLabv2:我们最好的级联模型和ASPP模型(在没有DenseCRF后处理或MS-COCO预训练的两种情况下)都优于DeepLab v2(在DenseCRF上经过MS-COCO预训练的77.69%)。改进主要来自于在所提出的模型中包括和微调批处理规范化参数,并且具有更好的编码多尺度上下文的方法。 

 DeepLabV2中使用CRF之后的效果达到79.7%(DeepLabV2-CRF);

DeepLabV3和DeepLabV3-JFT分别达到了85.7%和86.9%的最好效果。

5 总结

我们提出的模型DeepLab v3使用空洞卷积来提取密集特征图并捕获远程上下文。具体来说,为了编码多尺度信息,我们提出的级联模块逐渐加膨胀系数,而我们提出的ASPP增加了图像级别的特征,以多种采样率和感受野用卷积核检测特征。我们的实验结果表明,所提出的模型与以前的DeepLab版本相比有显着改进,并且在PASCAL VOC 2012语义图像分割基准测试中可以达到最好的性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值