歡迎光臨
每天分享高質量文章

DeepLabv3+:語意分割領域的新高峰

在碎片化閱讀充斥眼球的時代,越來越少的人會去關註每篇論文背後的探索和思考。

在這個欄目里,你會快速 get 每篇精選論文的亮點和痛點,時刻緊跟 AI 前沿成果。


點擊本文底部的「閱讀原文」即刻加入社區,查看更多最新論文推薦。

這是 PaperDaily 的第 44 篇文章

關於作者:陳泰紅,小米高級演算法工程師,研究方向為人臉檢測識別,手勢識別與跟蹤。


■ 論文 | Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation

■ 鏈接 | https://www.paperweekly.site/papers/1676

前言


臨近春節,Google 團隊也不休假,趁著中國人每年一度大遷徙,他們在 arXiv 放出了 DeepLabv3+,在語意分割領域取得新的 state-of-the-art 水平。本文將帶大家回顧 DeepLabv1-v4 系列的發展歷程,看看 Google 團隊這些年都在做什麼。


DeepLabv1


DeepLab 是結合了深度捲積神經網絡(DCNNs)和概率圖模型(DenseCRFs)的方法。


在實驗中發現 DCNNs 做語意分割時精準度不夠的問題,根本原因是 DCNNs 的高級特征的平移不變性,即高層次特征映射,根源於重覆的池化和下採樣。 


針對信號下採樣或池化降低解析度,DeepLab 是採用的 atrous(帶孔)演算法擴展感受野,獲取更多的背景關係信息。


分類器獲取以物件中心的決策是需要空間變換的不變性,這天然地限制了 DCNN 的定位精度,DeepLab 採用完全連接的條件隨機場(CRF)提高模型捕獲細節的能力。 


除空洞捲積和 CRFs 之外,論文使用的 tricks 還有 Multi-Scale features。其實就是 U-Net 和 FPN 的思想,在輸入圖像和前四個最大池化層的輸出上附加了兩層的 MLP,第一層是 128 個 3×3 捲積,第二層是 128 個 1×1 捲積。最終輸出的特征與主幹網的最後一層特征圖融合,特征圖增加 5×128=640 個通道。


實驗表示多尺度有助於提升預測結果,但是效果不如 CRF 明顯。


論文模型基於 VGG16,在 Titan GPU 上運行速度達到了 8FPS,全連接 CRF 平均推斷需要 0.5s ,在 PASCAL VOC-2012 達到 71.6% IOU accuracy。

DeepLabv2


DeepLabv2 是相對於 DeepLabv1 基礎上的優化。DeepLabv1 在三個方向努力解決,但是問題依然存在:特征解析度的降低、物體存在多尺度,DCNN 的平移不變性。 


因 DCNN 連續池化和下採樣造成解析度降低,DeepLabv2 在最後幾個最大池化層中去除下採樣,取而代之的是使用空洞捲積,以更高的採樣密度計算特征映射。 


物體存在多尺度的問題,DeepLabv1 中是用多個 MLP 結合多尺度特征解決,雖然可以提供系統的性能,但是增加特征計算量和儲存空間。


論文受到 Spatial Pyramid Pooling (SPP) 的啟發,提出了一個類似的結構,在給定的輸入上以不同採樣率的空洞捲積並行採樣,相當於以多個比例捕捉圖像的背景關係,稱為 ASPP (atrous spatial pyramid pooling) 模塊。 


DCNN 的分類不變形影響空間精度。DeepLabv2 是採樣全連接的 CRF 在增強模型捕捉細節的能力。 


論文模型基於 ResNet,在 NVidia Titan X GPU 上運行速度達到了 8FPS,全連接 CRF 平均推斷需要 0.5s ,在耗時方面和 DeepLabv1 無差異,但在 PASCAL VOC-2012 達到 79.7 mIOU。


DeepLabv3


好的論文不止說明怎麼做,還告訴為什麼。DeepLab 延續到 DeepLabv3 系列,依然是在空洞捲積做文章,但是探討不同結構的方向。


DeepLabv3 論文比較了多種捕獲多尺度信息的方式:


1. Image Pyramid將輸入圖片放縮成不同比例,分別應用在 DCNN 上,將預測結果融合得到最終輸出。


2. Encoder-Decoder:利用 Encoder 階段的多尺度特征,運用到 Decoder 階段上恢復空間解析度,代表工作有 FCN、SegNet、PSPNet 等工。


3. Deeper w. Atrous Convolution:在原始模型的頂端增加額外的模塊,例如 DenseCRF,捕捉像素間長距離信息。


4. Spatial Pyramid Pooling:空間金字塔池化具有不同採樣率和多種視野的捲積核,能夠以多尺度捕捉物件。 


DeepLabv1-v2 都是使用帶孔捲積提取密集特征來進行語意分割。但是為瞭解決分割物件的多尺度問題,DeepLabv3 設計採用多比例的帶孔捲積級聯或並行來捕獲多尺度背景。 


此外,DeepLabv3 將修改之前提出的帶孔空間金字塔池化模塊,該模塊用於探索多尺度捲積特征,將全域性背景基於圖像層次進行編碼獲得特征,取得 state-of-art 性能,在 PASCAL VOC-2012 達到 86.9 mIOU。

DeepLabv3+


DeepLabv3+ 架構 


DeepLabv3+ 繼續在模型的架構上作文章,為了融合多尺度信息,引入語意分割常用的 encoder-decoder。在 encoder-decoder 架構中,引入可任意控制編碼器提取特征的解析度,通過空洞捲積平衡精度和耗時。


在語意分割任務中採用 Xception 模型,在 ASPP 和解碼模塊使用 depthwise separable convolution,提高編碼器-解碼器網絡的運行速率和健壯性,在  PASCAL VOC 2012 資料集上取得新的 state-of-art 表現,89.0 mIOU。

Xception 改進 


Entry flow 保持不變,但是添加了更多的 Middle flow。所有的 max pooling 被 depthwise separable convolutions 替代。在每個 3×3 depthwise convolution 之外,增加了 batch normalization 和 ReLU。

實驗

論文提出的模型在主幹網絡 ResNet-101 和 Xception均進行驗證。兩種方式均在 ImageNet 預訓練。其中 Xception 預訓練過程中,使用 50 個 GPU,每個 GPU batch size=32,解析度 299×299。Xception 相比 ResNet-101,在 Top-1 和 Top-5 分別提高 0.75% 和 0.29%。

在實驗過程中,分別考慮 train OS: The output stride used during training、eval OS: The output stride used during evaluation、Decoder: Employing the proposed decoder structure、MS: Multi-scale inputs during evaluation、 Flip: Adding left-right flipped inputs 等各種情況。

另外使用 depthwise separable convolution,使用 Pretraining on COCO 和 Pretraining on JFT,在這些 tricks 輔助下,PASCAL VOC 2012 test set 達到驚人的 89.0%,取得新的 state-of-the-art 水平。

結論

從 DeepLabv1-v4 系列看,空洞捲積必不可少。從 DeepLabv3 開始去掉 CRFs。 


Github 目前還未有公佈的 DeepLabv3,但是有網友的復現版本。DeepLabv3+ 更是沒有原始碼,復現起來估計有些難度。 


DeepLabv3 復現:

https://github.com/NanqingD/DeepLabV3-Tensorflow 


DeepLabv1-v4 沒有用很多 tricks,都是從網絡架構中調整,主要是如何結合多尺度信息和空洞捲積。從FCN,ASPP,Encoder-Decoder with Atrous Conv,每一個想法看上去在別的都實現過,但是論文綜合起來就是有效。


Deeplabv1,v2 耗時為 8fps,從 Deeplabv3 開始,論文已經不說運行時間的問題,是否模型越來越慢了。 


MobileNetV2 已經實現 Deeplabv3,並努力在 MobileNetV2 中復現 DeepLabv3+ 版本。

參考文獻

[1] Semantic image segmentation with deep convolutional nets and fully connected CRFs 

[2] DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs 

[3] Rethinking Atrous Convolution for Semantic Image Segmentation 

[4] Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation


本文由 AI 學術社區 PaperWeekly 精選推薦,社區目前已改寫自然語言處理、計算機視覺、人工智慧、機器學習、資料挖掘和信息檢索等研究方向,點擊「閱讀原文」即刻加入社區!

  我是彩蛋 


解鎖新功能:熱門職位推薦!

PaperWeekly小程式升級啦

今日arXiv√猜你喜歡√熱門職位

找全職找實習都不是問題

 

 解鎖方式 

1. 識別下方二維碼打開小程式

2. 用PaperWeekly社區賬號進行登陸

3. 登陸後即可解鎖所有功能

 職位發佈 

請添加小助手微信(pwbot01)進行咨詢

 

長按識別二維碼,使用小程式

*點擊閱讀原文即可註冊

           

關於PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號後臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。


▽ 點擊 | 閱讀原文 | 查看原論文

赞(0)

分享創造快樂