【DeepLabV3】Rethinking Atrous Convolution for Semantic Image Segmentation
发布时间
阅读量:
阅读量

文章目录
-
-
概述
-
细节
-
- Challenge
- Our Work
-
result
-
概述
以下主要来自其官方PPT
-
文中提出两个语义分割的challenges :
- 1、连续池化和下采样会让后面特征的分辨率下降,这对于做精细的分割是不利的。
- 2、多尺度目标的存在。
-
相对于V1、V2的改变 :
- V3所提出的框架可以应用到任意的网络中,应该指的是主干网络。
- 最后的ResNet block被重用多次,被安排进行级联操作。
- 在ASPP中加入了Batch normalization。
- CRF没有被用到。

-
Contribution :
- 本文重新讨论了空洞卷积在cascaded modules and spatical pyramid pooling(Parallel)结构中的应用问题。
- 讨论了一个重要的问题:对3x3的空洞卷积进行各种rate的尝试,甚至是很极端的情况(在极端的rate情况下,空洞卷积就失去了获取更多上下文信息的能力,转而就退化为1x1卷积功能)。
- 阐述了一些训练的经验和实验细节。
-
Result :
- Pascal VOC 2012 test 85.7%
细节
Challenge
上面已经阐述过了有两个问题,以下讨论四种利用上下文信息的方法来进行语义分割:

- Image pyramid :将图片缩放成不同比例,各种经过DCNN后融合输出。
- Encoder-Decoder :利用Encoder阶段的多尺度特征,运用到Decoder阶段上恢复空间分辨率,这样做法有FCN、SegNet、Unet等网络。
- Context module :在原始模块后增加模块,如DenseCRF,对像素间的关联进行分析。
- Spatial pyramid pooling :使用spp在不同的范围内获取上下文信息。如,在ParseNet中就使用了Image-level feature,可以获取全局的上下文信息。DeepLabV2使用ASPP,利用不同的rate来获取多种scale的信息。
Our Work
论文使用atrous convolution作为context module来做SPP:对ResNet的最后一个block进行重复使用,并把这些重复的排列为一个级联的结构(cascade)。在训练时候使用Batch Normalization。
Details
-
cascade module :使用atrous convolution & 不使用atrous convolution
- 复制了几个最后的block(block4),并在其后连接为级联的结构。block5-7是对block4的复制。(主要,这里都只是利用残差的block,block中是残差结构)
- 每个block中有三个卷积
- 除了在最后一个block中,其余的block中的最后一个卷积都是stride=2


-
parallel module * 在ASPP中加入Batch Normalization 。
- 随着采样的rate变得更大,有效的过滤器权重变得更小。
- 在模型的最后要一个feature map进行Global average pooling (这个应该指的是下图中1x1卷积的部分,在进行GAP之后,再利用1x1卷积来改变通道数量)。
- 如下图,ASPP最终包含了一个1x1卷积和3个3x3卷积,3x3的卷积的rate分别是{6, 12, 18},都是256通道数,且,经过Batch Normalization 。【注意,如果output_stride=8,需要将rate double】(在最后的用来产生预测的1x1 conv之前),加上concat+1x1 conv后,仍然是256 channels,再加上一个Batch Normalization 。

result
训练设置
| Training Protocal | Param |
|---|---|
| 数据集 | PASCAL VOC 2012 |
| 裁剪尺寸 | 513x513 |
| 学习率策略 | poly => (1-{iter}/{max\_iter})^{power},power=0.9 |
| BN策略 | 当output_stride=16时,采用batch_size=16,同时BN层的参数在训练时参数衰减decay=0.9997,在增强的数据集上,以初始学习率lr=0.007训练,30k迭代后,BN层参数不再变化。 再采用output_stride=8时,再使用初始学习率0.001训练30k。训练output_stide=16要比8快许多。 |
| 上采样策略 | 由原来的ground truth下采样8倍和预测比较计算=>预测上采样8倍和ground truth比较。 |
- Cascade experiment
这是在级联模式下对ResNet主干的比较:

这个就是对一个block中的三个卷积进行rate的设置,按照一般不加空洞卷积的就是(1, 1, 1),加上空洞卷积的,不进行这种rate设置的,我们就是默认从第一个block开始是(2, 2, 2),后面的block一直double,如(4, 4, 4)。这里就是所有block全部用Multi-Grid里设置的值。

这个就是总结了上面的最好情况,选用block7+MG(1, 2, 1):

- Parallel experiment

跟其他方法的对比(其中的JFT表示,模型在ImageNet和JFT-300M数据集上进行了预训练):

conclusion V3将重点放在Atrous Convolution上,同时在ASPP模块中加入BN,可以更好的捕捉上下文信息。 最后放一张图:

全部评论 (0)
还没有任何评论哟~
