图像目标分割_5 DeepLab V2 V3 V3+
6.5.1 DeepLab V2
6.5.1.1 改變特點(diǎn)
- atrous convolution
- 采用ASPP ( atrous spatial pyramid pooling) 多尺度獲得更好的分割效果
- 合并深度卷積網(wǎng)絡(luò)和概率圖模型方法,增強(qiáng)對(duì)物體邊界的定位。
- 基礎(chǔ)層由VGG16轉(zhuǎn)為ResNet
和v1不同:
- 通過(guò)多尺度輸入處理或者多孔空間金字塔池化,可以更好地分割物體。
- DeepLab采用最新的ResNet圖像分類(lèi)深度卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建,與原來(lái)基于VGG-16的網(wǎng)絡(luò)相比,取得了更好的語(yǔ)義分割性能。
6.5.1.2 Astrous conv
結(jié)構(gòu)如下:
?
6.5.1.3 ASPP
使用多個(gè)不同采樣率上的多個(gè)并行多孔卷積層。每個(gè)采樣率上提取的特征再用單獨(dú)的分支處理,融合生成最后的結(jié)果。
多孔空間金字塔池化(ASPP)。為了分類(lèi)中間像素(橙色),ASPP用不同采樣率的多個(gè)并行濾波器開(kāi)發(fā)了多尺度特征。視野有效區(qū)用不同的顏色表示。
- DeepLab-LargeFOV 使用 rate=12的空洞卷積
- DeepLab-ASPP 使用 不同 rate 的多個(gè) filter 在 multiple scales 獲得物體和內(nèi)容,有不小的提升。
6.5.1.4 CRF
與DeepLabv1一樣
6.5.1.5 訓(xùn)練
DeepLabv2在PASCAL VOC 2012, PASCAL-Context, PASCALPerson- Part, and Cityscapes四個(gè)數(shù)據(jù)集上做了評(píng)估。
訓(xùn)練細(xì)節(jié):
| DCNN模型 | 權(quán)重采用預(yù)訓(xùn)練的VGG16,ResNet101 |
| DCNN損失函數(shù) | 輸出的結(jié)果與ground truth下采樣8倍做像素交叉熵 |
| 訓(xùn)練器 | SGD,batch=20 |
| 學(xué)習(xí)率 | 初始為0.001,最后的分類(lèi)層是0.01 |
| 權(quán)重 | 0.9的動(dòng)量, 0.0005的衰減 |
-
模型對(duì)預(yù)訓(xùn)練的VGG16和ResNet101模型做fine-tune。訓(xùn)練時(shí)DCNN和CRF的是解耦的,即分別訓(xùn)練,訓(xùn)練CRF時(shí)DCNN輸出作為CRF的一元?jiǎng)莺瘮?shù)輸入是固定的。
-
大概訓(xùn)練驗(yàn)證手段是對(duì)CRF做交叉驗(yàn)證。使用ω2=3和σγ=3在小的交叉驗(yàn)證集上尋找最佳的ω1,σα,σβ,采用從粗到細(xì)的尋找策略。
6.5.1.6 效果
PASCAL VOC 2012,在PASCAL VOC 2012上評(píng)估了DeepLab-CRF-LargeFOV模型,這里做了三個(gè)主要的改進(jìn):
- 1.訓(xùn)練期間使用不同的學(xué)習(xí)策略;
- 2.使用ASPP模塊;
- 3.使用深度網(wǎng)絡(luò)和多層次處理.
6.5.2 DeepLab V3
6.5.2.1 V3的改進(jìn)
- 連續(xù)池化和下采樣,使特征分辨率下降,不利于定位。
- 全局特征或上下文之間的互相作用有助于做語(yǔ)義分割,4種解決目標(biāo)多尺度問(wèn)題的結(jié)構(gòu)
- 去除條件隨機(jī)場(chǎng)CRF
V3的改進(jìn)
- 1、提出了更通用的框架,適用于任何網(wǎng)絡(luò)
- 2、改進(jìn)了ASPP:由不同采樣率的空洞卷積和BN層組成,我們嘗試以級(jí)聯(lián)或并行的方式布局模塊。
- 3、討論了一個(gè)重要問(wèn)題:使用大采樣率的3×3 的空洞卷積,因?yàn)閳D像邊界響應(yīng)無(wú)法捕捉遠(yuǎn)距離信息,會(huì)退化為1×1的卷積, 將圖像級(jí)特征融合到ASPP模塊中。
6.5.2.2 V3工作
V3做了一個(gè)總結(jié),全局特征或上下文之間的互相作用有助于做語(yǔ)義分割,下面是四種不同類(lèi)型利用上下文信息做語(yǔ)義分割的全卷積網(wǎng)絡(luò)。
- 圖像金字塔(Image pyramid):小尺度的輸入響應(yīng)控制語(yǔ)義,大尺寸的輸入響應(yīng)控制細(xì)節(jié)。通過(guò)拉布拉斯金字塔對(duì)輸入變換成多尺度,傳入DCNN,融合輸出。
- 這類(lèi)的缺點(diǎn)是:因?yàn)镚PU存儲(chǔ)器的限制,對(duì)于更大/更深的模型不方便擴(kuò)展。通常應(yīng)用于推斷階段。
- 高斯金字塔(Gaussianpyramid): 用來(lái)向下采樣,主要的圖像金字塔
- 拉普拉斯金字塔(Laplacianpyramid): 用來(lái)從金字塔低層圖像重建上層未采樣圖像
- 編碼器-解碼器(Encoder-decoder):編碼器的高層次的特征容易捕獲更長(zhǎng)的距離信息,在解碼器階段使用編碼器階段的信息幫助恢復(fù)目標(biāo)的細(xì)節(jié)和空間維度。
- 例如SegNet利用下采樣的池化索引作為上采樣的指導(dǎo);U-Net增加了編碼器部分的特征跳躍連接到解碼器;RefineNet等證明了Encoder-Decoder結(jié)構(gòu)的有效性。
- 上下文模塊(Context module):包含了額外的模塊用于級(jí)聯(lián)編碼長(zhǎng)距離的上下文。有效的方法是DenseCRF并入DCNN中,共同訓(xùn)練DCNN和CRF。
- 空間金字塔池化(Spatial pyramid pooling):采用空間金字塔池化可以捕捉多個(gè)層次的上下文。
- 在ParseNet中從不同圖像等級(jí)的特征中獲取上下文信息;DeepLabv2提出ASPP,以不同采樣率的并行空洞卷積捕捉多尺度信息。PSPNet在不同網(wǎng)格尺度上執(zhí)行空間池化,并在多個(gè)數(shù)據(jù)集上獲得優(yōu)異的表現(xiàn)。
6.5.2.3 架構(gòu)
-
Deeplab 把在 ImagNet 上預(yù)訓(xùn)練得到的 ResNet 作為它的主要特征提取網(wǎng)絡(luò)。
-
最后一個(gè) ResNet Block
- 頂部使用了空洞空間金字塔池化 (ASPP,Atrous Spatial Pyramid Pooling)
下面表示空洞卷積提取密集特征、討論空洞卷積模塊以級(jí)聯(lián)(串行)和并行布局
1、Model 1 :Going Deeper with Atrous Convolution
串行的空洞卷積模型(modules with atrous convolution laid out in cascade)變得更深了。
采用串行的ResNet,級(jí)聯(lián)block為block5、block6、block7(均為block4的復(fù)制)。輸出步長(zhǎng)為16.在沒(méi)有使用帶孔卷積的情況下它的輸出步長(zhǎng)是256。
Multi-grid Method
對(duì)block4~block7 采用不同atrous rates
2、Module 2 :Parallel modules with atrous convolution (ASPP)
- 1、為了增加全局的語(yǔ)境信息,ASPP 還通過(guò)全局平均池化(GAP global average pooling)獲得圖像級(jí)特征。即將特征做全局平均池化,經(jīng)過(guò)卷積,再融合。
-
將image pooling得到的圖像級(jí)特征輸入到一個(gè)1×1 convolution with 256 filters(加入 batch normalization)中
- 然后將特征進(jìn)行雙線(xiàn)性上采樣(bilinearly upsample)到特定的空間維度
-
2、改進(jìn)的ASPP由一個(gè) 1×1 卷積,和三個(gè) 3×3卷積組成,步長(zhǎng)為(6,12,18),輸出步長(zhǎng)為16
-
3、ASPP所有分支處理好的特征以及image pooling 卷積上采樣之后的特征將會(huì) concat 在一起通過(guò)另一個(gè) 1×1 卷積(也有著256個(gè)filter,加入BN)
-
4、最后還有一個(gè) 1×1 卷積產(chǎn)生最終的分類(lèi);條件隨機(jī)場(chǎng)(CRF)被去除了,模型比較簡(jiǎn)潔易懂。
這個(gè)版本的 ASPP 包含 4 個(gè)并行的操作:
- 一個(gè) 1×1 的卷積
- 三個(gè) 3×3 的卷積(擴(kuò)張率分別是(6,12,18)) 特征圖的標(biāo)稱(chēng)步長(zhǎng)(nominal stride)是 16.
6.5.2.4 實(shí)驗(yàn)
總結(jié):
- 1、級(jí)聯(lián)模塊越多,準(zhǔn)確率越好,速度下降
- 2、使用Multi_Grid 方法比原來(lái)要好
- 3、使用Hole卷積 ,步長(zhǎng)越小,準(zhǔn)確率越好,速度下降
- 4、ASPP最好的模型準(zhǔn)確率高于級(jí)聯(lián)帶孔卷積模型的最優(yōu)值,選擇ASPP作為我們最終的模型。
PASCAL VOC 2012效果
在 PASCAL VOC-2012 達(dá)到 86.9 mIOU
1、訓(xùn)練設(shè)置
| 數(shù)據(jù)集 | PASCAL VOC 2012 |
| 工具 | TensorFlow |
| 剪裁尺寸 | 采樣513大小的裁剪尺寸 |
| 學(xué)習(xí)率策略 | 采用poly策略,在初始學(xué)習(xí)率基礎(chǔ)上$(1 - \frac{iter}{max_iter})power$,其中power=0.9 |
| BN層策略 | 1、output_stride=16時(shí),采用batchsize=16,同時(shí)BN層的參數(shù)做參數(shù)衰減0.9997。 2、在增強(qiáng)的數(shù)據(jù)集上,以初始學(xué)習(xí)率0.007訓(xùn)練30K后,凍結(jié)BN層參數(shù)。 |
| 上采樣策略 | 之前將最終的輸出與GroundTruth下采樣8倍做比較。發(fā)現(xiàn)保持GroundTruth更重要,所以將最終的輸出上采樣8倍與完整的GroundTruth比較。 |
2、級(jí)聯(lián)使用多個(gè)帶空洞卷積的block模塊
| OS(output_stride) | OS(output_stride)越小,mIOU越高。stride=256,信號(hào)嚴(yán)重抽取,性能大大下降 |
| Hole | 使用空洞卷積 |
| ResNet | 網(wǎng)絡(luò)越深,block越多,效果越好 |
| Multi-grid | 主分支的三個(gè)卷積都使用空洞卷積,Multi-gird策略 (1,2,1)時(shí)+網(wǎng)絡(luò)越深 效果越好 |
3、ASPP設(shè)置
| Method | Multi-grid (1,2,4)+APSS(6,12,18)+Image Pooling |
| OS | 小 |
| inputs | Multi-scale input during test Adding left-right flipped inputs |
| pretrained | Model pretrained on MS-COCO |
| 同時(shí)使用上采樣和BN | 越好 |
| batch_size | 越大效果越好 |
| eval output_stride 影響 | train output_stride = 16 , eval output_stride=8/16時(shí),效果越好 |
6.5.3 V3總結(jié)
- 1、Deeplab v3的級(jí)聯(lián)模型和ASPP模型在PASCAL VOC 2012的驗(yàn)證集上表現(xiàn)都要比Deeplab v2好
- 2、提升主要來(lái)自增加了調(diào)好的批次歸一化參數(shù)和更好地編碼多尺度上下文信息
6.5.4 DeepLab v3+
2018年2月份,Google 團(tuán)隊(duì)在 arXiv 放出了 DeepLabv3+,在語(yǔ)義分割領(lǐng)域取得新的 state-of-the-art 水平。
DeepLabv3+ 繼續(xù)在模型的架構(gòu)上作文章,為了融合多尺度信息,引入語(yǔ)義分割常用的 encoder-decoder。在 encoder-decoder 架構(gòu)中,引入可任意控制編碼器提取特征的分辨率,通過(guò)空洞卷積平衡精度和耗時(shí)。
6.5.4.1 與DeepLab V3對(duì)比
-
deeplab v3 缺陷
- 輸出圖放大的效果不好,信息太少
-
改進(jìn)
- 1、encoder-decoder
- 設(shè)計(jì)基于v3的 decode module
- 把中間一層的特征圖用于輸出圖放大
- 為了融合多尺度信息,引入語(yǔ)義分割常用的 encoder-decoder
- 2、Xception
- 1、encoder-decoder
6.5.4.2 結(jié)構(gòu)
結(jié)構(gòu)對(duì)比
1、是v3的縱式結(jié)構(gòu);2、是常見(jiàn)的編碼—解碼結(jié)構(gòu)3、V3+提出的基于deeplab v3的encode-decode結(jié)構(gòu)
1、V3+結(jié)構(gòu)細(xì)節(jié)
在語(yǔ)義分割任務(wù)中采用 Xception 模型,在 ASPP 和解碼模塊使用depthwise separable convolution,提高編碼器-解碼器網(wǎng)絡(luò)的運(yùn)行速率和健壯性
- encoder 的output feature 首先 經(jīng)過(guò)一個(gè) 1×1 conv,然后 bilinearly 向上采樣4倍
- 和具有相同空間分辨率的低層特征concat
- 再經(jīng)過(guò)一個(gè)3×3 conv ,上采樣4倍
2、Modified Aligned Xception(修正對(duì)齊的Xception)
- 1、Entry flow 保持不變,添加了更多的 Middle flow。
- 2、所有的 max pooling 被 depthwise separable convolutions 替代。
- 3、在每個(gè) 3x3 depthwise convolution 之外,增加了 batch normalization 和 ReLU。
其中三種不同的卷積對(duì)比:
Sep Conv是深度可分離卷積(Depthwise separable convolution)
6.5.4.3 訓(xùn)練細(xì)節(jié)
| 數(shù)據(jù)集 | PASCAL VOC 2012(1464 (train)、1449 (val)和1456 (test)像素級(jí)注釋圖像) |
| 工具 | TensorFlow |
| Pretrained | ImageNet-1k pretrained ResNet-101 or modified aligned Xception |
| 學(xué)習(xí)率策略 | 采用poly策略,在初始學(xué)習(xí)率基礎(chǔ)上$(1 - \frac{iter}{max_iter})power$,其中power=0.9,初始0.007 |
| crop size | 513 ×513 |
| output_stride | 16 |
| Train | ent-to-end |
6.5.4.4 實(shí)驗(yàn)效果
-
兩個(gè)結(jié)構(gòu):論文提出的模型在主干網(wǎng)絡(luò) ResNet-101 和 Xception均進(jìn)行驗(yàn)證。兩種方式均在 ImageNet 預(yù)訓(xùn)練。其中 Xception 預(yù)訓(xùn)練過(guò)程中,使用 50 個(gè) GPU,每個(gè) GPU batch size=32,分辨率 299x299。Xception 相比 ResNet-101,在 Top-1 和 Top-5 分別提高 0.75% 和 0.29%。
-
數(shù)據(jù)集具體結(jié)果:在 PASCAL VOC 2012 數(shù)據(jù)集上取得新的 state-of-art 表現(xiàn),89.0 mIOU。使用 depthwise separable convolution,使用 Pretraining on COCO 和 Pretraining on JFT,在這些 tricks 輔助下,PASCAL VOC 2012 test set 達(dá)到驚人的 89.0%,取得新的 state-of-the-art 水平。
6.5.5 DeepLab系列總結(jié)
從 DeepLabv1-v4 系列看,空洞卷積必不可少。從 DeepLabv3 開(kāi)始去掉 CRFs。 DeepLabv1-v4 沒(méi)有用很多 tricks,都是從網(wǎng)絡(luò)架構(gòu)中調(diào)整,主要是如何結(jié)合多尺度信息和空洞卷積。
| Backbone | VGG-16 | ResNet | ResNet+ | Xception |
| Atrous Conv | √ | √ | √ | √ |
| CRF | √ | √ | × | × |
| ASPP | × | ASPP | ASPP+ | ASPP+ |
| Encoder-decoder | × | × | × | √ |
6.5.6 小結(jié)
- V2的ASPP結(jié)構(gòu)以及使用深度網(wǎng)絡(luò)Resnet
- V3的ASPP+結(jié)構(gòu)
- V3+(V4)的Xception引入和具有Encder-decoder的ASPP
總結(jié)
以上是生活随笔為你收集整理的图像目标分割_5 DeepLab V2 V3 V3+的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 网络教育计算机 判断,北京师范大学网络教
- 下一篇: 【Pytorch神经网络实战案例】27