18-DenseASPP-for-Semantic-Segmentation-in-Street-Scenes

在這裏插入圖片描述

when

  • CVPR 2018

what

  • 使用擴張卷積(Atrous Convolution)能夠在不犧牲特徵空間分辨率的同時擴大特徵接收野,DeepLab系列工作結合多尺度信息和擴張卷積的特點提出了ASPP模塊,將不同擴張率的擴張卷積特徵結合到一起。
  • ASPP模塊在尺度軸上特徵分辨率還不夠密集,獲取的接收野還不夠大,
  • 爲此提出了DenseASPP(Densely connected ASPP),以更密集的方式連接一組擴張卷積,獲得了更大的範圍的擴張率,並且更加密集。
  • 在沒有顯著增加模型大小的情況下,DenseASPP在CityScapes上達到了State-of-the-art的表現。

who (動機)

  • 擴張卷積用於解決特徵圖分辨率和接收野之間的矛盾,ASPP利用了多尺度信息進一步強化了分割效果。DeepLabv2中的ASPP模塊如下:

    這裏寫圖片描述

    • 但是在自動駕駛等領域有高分辨率的輸入,ASPP爲了獲取足夠大的感受野需要足夠大的擴張率,但隨着擴張率增加(d>24),擴張卷積的衰退衰減無效了(DeepLabv3中分析過這個問題)。
  • DenseNet

    • DenseNet中用密集連接獲得更加的性能:

    這裏寫圖片描述

    • 但因爲密集連接,特徵的通道數會急速上升,DenseNet中使用1×1的卷積用於降低通道數,限制了模型大小和計算量,同樣的,在本文中也使用了多個1×1卷積用於降低參數,限制計算量
  • DenseASPP

    • 論文提出的DenseASPP用於解決街道場景的尺度挑戰,DenseASPP包含了一個基礎網絡,後面接了一個多級的擴張卷積層,如下圖所示:

      這裏寫圖片描述

    • 使用密集連接的方式將每個擴張卷積輸出結合到一起,論文使用了較合理的擴張率(d<24),通過一系列的擴張卷積組合級聯,後面的神經元會獲得越來越大的感受野,同步也避免了過大擴張率的卷積導致的卷積退化

    • 並且通過一系列的擴張卷積組合,特徵圖上的神經元對多個尺度的語義信息做編碼,不同的中間特徵圖對來自不同尺度的信息做編碼,DenseASPP的最終輸出特徵不僅覆蓋了大範圍的語義信息,並且還以非常密集的方式覆蓋了做了信息編碼。

where

創新點

  • DenseASPP能夠生成覆蓋非常大的範圍的接收野特徵
  • DenseASPP能夠以非常密集的方式生成的特徵

需要注意的是,上述兩個特性不能通過簡單的並行或級聯堆疊擴張卷積實現。

以前的工作

  • 深度卷積神經網絡爲了獲取更大感受野的特徵會使用下采樣(或池化),但這會降低特徵的分辨率,雖然獲得特徵的內部不變性但丟失了很多細節。DeepLab系列使用了擴張卷積獲取更大感受野的同時保持圖像的分辨率,並進一步提出了ASPP模塊結合了多尺度信息,與此類似有PSPNet結合了不同尺度的池化信息。論文提出的DenseASPP結合了平行和級聯的擴張卷積優點,在更大範圍內生成更多尺度的特徵。

  • DenseASPP是DenseNet的特例,可以看做是所有擴張率設置爲1,這分享了DenseNet的優點,包括緩解了梯度消失的問題和大幅度減少參數。

how

Dense Atrous Spatial Pyramid Pooling

  • 在城市交通道路環境中,存在不同尺度的目標物,這需要捕獲不同尺度的特徵,DeepLabv3給出了兩個策略:

    • backbone:級聯的擴張卷積(這和DRN,HDC是一個思想),逐漸獲取到大的感受野特徵
    • ASPP:同一輸入上並行的擴張卷積組合,將輸出級聯到一起
  • 論文使用HK,d(x)表示一個擴張卷積,ASPP表示如下:

    y=H3,6(x)+H3,12(x)+H3,18(x)+H3,24(x)y=H_{3,6}(x)+H_{3,12}(x)+H_{3,18}(x)+H_{3,24}(x)

Denser feature pyramid and larger receptive field

  • DenseASPP的結構如下:

這裏寫圖片描述

1547349300011

Denser feature pyramid

1547349369330

這裏寫圖片描述

1547349409578

  • 更密集的採樣

![- ![這裏寫圖片描述](https://img-blog.csdnimg.cn/20190113131840788.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTAwNjczOTc=,size_16,color_FFFFFF,t_70)

  • 這麼大的接收野條件下,只有3個像素被採樣了用於計算,這樣的情況下二維的情況下會更嚴重,雖然得到了更大的接收野,但是在計算的過程中丟棄了大量的信息。

  • 上圖(b)是擴張率3和擴張率爲6的組合,和原先的擴張率爲6的卷積(a)相比,(b)有7個像素參與了計算,計算更加密集。這在二維的情況下©有49個像素有助於計算。較大擴張率的卷積可從較小擴張率卷積中獲得幫助,使得采樣更爲密集。

  • Larger receptive field

![- ![1547349478146](https://img-blog.csdnimg.cn/2019011313185764.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTAwNjczOTc=,size_16,color_FFFFFF,t_70)

  • Model size control

![- ![1547349513844](https://img-blog.csdnimg.cn/20190113131915601.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTAwNjczOTc=,size_16,color_FFFFFF,t_70)

how much

  • 論文在CityScapes上測試,評價標準爲mIoU.

實現細節

  • 論文在PyTorch上實現,基本主幹是在ImageNet上預訓練,論文移除了後面兩個池化層和分類層,對後面的層使用可擴張率爲2和4的擴張卷積(這和DRN的處理方式一樣)。修改後的ConvNet的輸出是原輸入的1818,後面接DenseASPP然後上採樣與ground truth做cross entropy。

1547349617688

  • 所有的模型使用batch=8,跑了80個epoch,每輪的BN參數是統一更新的。

DenseASPP

  • 論文使用了ResNet101爲主幹,配合DenseASPP(6,12,18,24)模塊,在驗證集上的結果如下,可以看到DenseASPP顯著的提升了結果:

    !這裏寫圖片描述

  • 部分的可視化結果如下:

這裏寫圖片描述

Detailed study on DenseASPP components

  • 不同的DenseASPP設置得到的結果如下:

這裏寫圖片描述

可以看到大概的趨勢是隨着接收野的增大,性能也提升。直到接收野到128後逐漸下降。

Comparing with state-of-the-art

  • 論文在DenseNet161的基礎上在精標籤的數據上做訓練,使用了多尺度{0.5,0.8,1.0,1.2,1.5,2.0}{0.5,0.8,1.0,1.2,1.5,2.0},與現有的先進模型對比,最終的結果如下:

這裏寫圖片描述

why (爲什麼好)

reference

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章