- 論文地址:DeepLabv3: Rethinking Atrous Convolution for Semantic Image Segmentation
- 論文代碼: github-Tensorflow
概述
- DCNNs中語義分割存在三個挑戰(zhàn):
- 連續(xù)下采用和重復(fù)池化,導(dǎo)致最后特征圖分辨率低
- 圖像中存在多尺度的物體
注:當(dāng)前版本沒有使用CFR
-
作者把解決多尺度物體問題的方法分成四類:
- 把輸入圖片縮放成不同尺度怠缸,經(jīng)過同一個網(wǎng)絡(luò)诗轻,最終融合多尺度下的物體信息
- 使用編解碼結(jié)構(gòu),在decoder時融合encoder網(wǎng)絡(luò)不同階段的特征
- 在原網(wǎng)絡(luò)最后層增加額外的context模塊揭北,比如DenseCRF扳炬,或者串聯(lián)幾個不同感受野的卷積模塊
- 在原網(wǎng)絡(luò)最后層添加并行結(jié)構(gòu)—空間金字塔池化吏颖,獲取不同尺度的物體信息
- 作者的處理方案:
- 使用空洞卷積,防止分辨率過低情況
- 串聯(lián)不同膨脹率的空洞卷積或者并行不同膨脹率的空洞卷積(v2的ASPP)恨樟,來獲取更多上下文信息
- 優(yōu)勢
- 當(dāng)時在PASCAL VOC 2012 test上效果最好半醉,并且沒有使用DenseCRF
- 本文主要工作
- 探索更深結(jié)構(gòu)下的空洞卷積探索(串行結(jié)構(gòu))
- 優(yōu)化atrous spatial pyramid pooling—ASPP(并行結(jié)構(gòu))
膨脹卷積
v1、v2中已詳細(xì)說明劝术,略....
更深結(jié)構(gòu)下的空洞卷積
-
串聯(lián)結(jié)構(gòu)
把resnet最后一個block缩多,下圖中的Block4拷貝幾份串聯(lián)起來:
每個block的最后一個卷積stride都為2(除了最后一個block),連續(xù)的下采樣保證獲取更大范圍的特征夯尽,但是這樣不利于語義分割瞧壮。
使用不同膨脹率的空洞卷積保證了分辨率和大的感受野,如上圖b所示匙握。 - multi-grid
作者考慮了multi-grid
方法咆槽,即每個block中的三個卷積有各自unit rate
,例如Multi Grid = (1, 2, 4)圈纺,block的dilate rate=2秦忿,則block中每個卷積的實際膨脹率=2* (1, 2, 4)=(2,4,8)
優(yōu)化Atrous Spatial Pyramid Pooling
作者通過實驗發(fā)現(xiàn),膨脹率越大蛾娶,卷積核中的有效權(quán)重越少灯谣,當(dāng)膨脹率足夠大時,只有卷積核最中間的權(quán)重有效蛔琅,即退化成了1x1卷積核胎许,并不能獲取到全局的context信息。3x3的卷積核中有效權(quán)重與膨脹率的對應(yīng)如下:
為了解決這個問題罗售,作者在最后一個特征上使用了
全局平均池化(global everage pooling)
(包含1x1卷積核辜窑,輸出256個通道,正則化寨躁,通過bilinear上采樣還原到對應(yīng)尺度)修改后的ASPP結(jié)構(gòu)如下:
所有的分支都包含256個通道和正則化穆碎,最終concat到一起,1x1卷積將通道數(shù)為256职恳。
實驗
- 訓(xùn)練策略
-
Learning rate policy:
poly所禀,學(xué)習(xí)率下降方式如下:
- Crop size:
513,保證更大的膨脹率有效 - Batch normalization:
先在增強數(shù)據(jù)集上output stride = 16(輸入圖像與輸出特征大小的比例)放钦,batch size=16色徘,BN參數(shù)衰減為0.9997,訓(xùn)練30k個iter最筒。
之后在官方PASCAL VOC 2012的trainval集上凍結(jié)BN參數(shù)贺氓, output stride = 8,batch size=8,訓(xùn)練30k個iter辙培。 - Upsampling logits:
v1蔑水、v2中都是下采樣的真值來計算loss,這里上采樣最后的輸出結(jié)果扬蕊。 - Data augmentation:
輸入圖片隨機縮放(0.5-2.0)搀别,隨機左右翻轉(zhuǎn)
- 串行結(jié)構(gòu)下的結(jié)果
-
block串聯(lián)個數(shù)不同,在resnet50和resnet101下的mIOU:
-
ResNet-101尾抑,output stride = 16下不同multi-grid的mIOU:
-
消融實驗:
- ASPP結(jié)構(gòu)下的結(jié)果
-
output stride = 16歇父,不同multi-grid和膨脹率的結(jié)果:
-
消融實驗:
經(jīng)驗track
- 如何在MS COCO上預(yù)訓(xùn)練?
從trainval_minus_minival
挑選包含PASCAL分類
并且目標(biāo)區(qū)域像素個數(shù)大于1000
的圖片再愈,大概有60k
的圖片用于訓(xùn)練榜苫,除了PASCAL分類區(qū)域,其它都看成背景翎冲。從上述實驗結(jié)果中發(fā)現(xiàn)提升了3
個百分點垂睬。 - 對于有些類準(zhǔn)確率比較低,怎么辦抗悍?
針對包含namely bicycle驹饺、chair、table缴渊、potted- plant赏壹、and sofa
分類的圖片,在訓(xùn)練集中增加它們比列衔沼。通過BN策略和這里的策略蝌借,達(dá)到85.7%IOU,再次提升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
上預(yù)訓(xùn)練骨望,scales = {0.75, 1, 1.25, 1.5, 1.75, 2} ,output stride = 4欣舵,output stride = 8,最終結(jié)果:81.3%