DeepLab系列論文閱讀筆記

1.DeepLab v1

論文:Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

  • Deeplab v1主體結構是參照VGG改造的。
  • deeplab = 優化後的CNN+傳統的CRF模型,CNN輸出粗糙的分割結果,全連接CRF精化分割結果。
  • 新的上採樣卷及方案:帶孔的空洞卷積
    在這裏插入圖片描述
    文章微調了VGG16的預訓練模型,把1000-way的ImageNet分類器替換爲21-way(pascal voc的類別)。使用交叉熵損失函數,把下采樣8倍的輸出特徵圖與Ground Truth做交叉熵。使用SGD來優化。
    在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

pool4和pool5的stride從2變爲1,因此輸出的feature map是原來的四倍,是原圖的1/8。
conv5採用hole=2的空洞卷積,fc層使用hole=4的空洞卷積。最後上採樣8倍,再送入全連接CRF。
參考:https://blog.csdn.net/longxinghaofeng/article/details/85258124

2.DeepLab v2

論文:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs

  • 3 challenges in DCNNs to segmatic image segmentation:

    • 1.reduced feature resolution 傳統分類CNN網絡中連續的池化和降採樣將導致空間分辨率明顯下降
      DeepLab v2使用Atrous Convolution 代替原來上採樣的方法,比之前得到更高像素的score map,並且增加了感受野的大小
    • 2.existance of objects at multiple scales 多尺度目標
      在給定特徵層使用不同的採樣率進行重採樣,使用具有不同採樣率的平行atrous卷積層實現(ASPP)
      在這裏插入圖片描述
    • 3.reduce localization accuracy due to DCNN invariance DCNN的不變性,導致定位準確率下降
      使用全連接的條件隨機場,利用低層的細節信息對分類的局部特徵進行優化。
      在這裏插入圖片描述
  • ASPP:帶孔的空間金字塔池化(astrous spatial pyramid pooling)
    在這裏插入圖片描述
    Two efficient ways to perform atrous conv:
    First, unsample the filters by inserting holes(zeros)
    Second, subsampling the input feature map by a factor equal to atrous rate r
    在這裏插入圖片描述

    1. LargeFOV 空洞卷積r=12,baseline
    2. ASPP-S 使用四個較小的空桶卷積,r分別爲2,4,8,12。在CRF之後LargeFOV和ASPP-S效果差不多。
    3. ASPP-L 使用四個較大的空洞卷積,r分別爲6,12,18,24 。效果比baseline要好,達到了72.6%
      在這裏插入圖片描述
      在這裏插入圖片描述
  • 使用VGG16和ResNet101實驗,證明ResNet效果好。下表爲在Cityscapes上的檢測率:
    在這裏插入圖片描述

3.DeepLab v3

原文地址:Rethinking Atrous Convolution for Semantic Image Segmentation
論文就不翻譯了,以下摘抄自blob

對於語義分割任務,在應用深度卷積神經網絡中的有兩個挑戰:

第一個挑戰:連續池化和下采樣,讓高層特徵具有局部圖像變換的內在不變性,這允許DCNN學習越來越抽象的特徵表示。但同時引起的特徵分辨率下降,會妨礙密集的定位預測任務,因爲這需要詳細的空間信息。DeepLabv3系列解決這一問題的辦法是使用空洞卷積(前兩個版本會使用CRF細化分割結果),這允許我們可以保持參數量和計算量的同時提升計算特徵響應的分辨率,從而獲得更多的上下文。

第二個挑戰:多尺度目標的存在。現有多種處理多尺度目標的方法,我們主要考慮4種,如下圖:
在這裏插入圖片描述

  • a. Image Pyramid: 將輸入圖片放縮成不同比例,分別應用在DCNN上,將預測結果融合得到最終輸出
  • b. Encoder-Decoder: 利用Encoder階段的多尺度特徵,運用到Decoder階段上恢復空間分辨率(代表工作有FCN、SegNet、PSPNet等工作)
  • c. Deeper w. Atrous Convolution: 在原始模型的頂端增加額外的模塊,例如DenseCRF,捕捉像素間長距離信息
  • d. Spatial Pyramid Pooling: 空間金字塔池化具有不同採樣率和多種視野的卷積核,能夠以多尺度捕捉對象

DeepLabv3的主要貢獻在於:

  • 本文重新討論了空洞卷積的使用,這讓我們在級聯模塊和空間金字塔池化的框架下,能夠獲取更大的感受野從而獲取多尺度信息。

  • 改進了ASPP模塊:由不同採樣率的空洞卷積和BN層組成,我們嘗試以級聯或並行的方式佈局模塊。

  • 討論了一個重要問題:使用大采樣率的3×3 3×33×3的空洞卷積,因爲圖像邊界響應無法捕捉遠距離信息,會退化爲1×1的卷積, 我們建議將圖像級特徵融合到ASPP模塊中。

  • 闡述了訓練細節並分享了訓練經驗,論文提出的"DeepLabv3"改進了以前的工作,獲得了很好的結果

深層次的空洞卷積

我們首先探討將空洞卷積應用在級聯模塊。具體來說,我們取ResNet中最後一個block,在下圖中爲block4,並在其後面增加級聯模塊。
在這裏插入圖片描述
上圖(a)所示,整體圖片的信息總結到後面非常小的特徵映射上,但實驗證明這是不利於語義分割的。如下圖:
在這裏插入圖片描述
使用步幅越長的特徵映射,得到的結果反倒會差,結果最好的out_stride = 8 需要佔用較多的存儲空間。因爲連續的下采樣會降低特徵映射的分辨率,細節信息被抽取,這對語義分割是有害的。

上圖(b)所示,可使用不同採樣率的空洞卷積保持輸出步幅的爲out_stride = 16.這樣不增加參數量和計算量同時有效的縮小了步幅。

ASPP

對於在DeepLabv2中提出的ASPP模塊,其在特徵頂部映射圖並行使用了四種不同採樣率的空洞卷積。這表明以不同尺度採樣是有效的,我們在DeepLabv3中向ASPP中添加了BN層。不同採樣率的空洞卷積可以有效的捕獲多尺度信息,但是,我們發現隨着採樣率的增加,濾波器的有效權重(權重有效的應用在特徵區域,而不是填充0)逐漸變小。如下圖所示:
在這裏插入圖片描述
當我們不同採樣率的3×3 卷積核應用在65×65的特徵映射上,當採樣率接近特徵映射大小時,3×3 的濾波器不是捕捉全圖像的上下文,而是退化爲簡單的1×1 濾波器,只有濾波器中心點的權重起了作用。

爲了克服這個問題,我們考慮使用圖片級特徵。具體來說,我們在模型最後的特徵映射上應用全局平均,將結果經過1×1 的卷積,再雙線性上採樣得到所需的空間維度。最終,我們改進的ASPP包括:

  • 一個1×1 卷積和三個3×3的採樣率爲rates={6,12,18} 的空洞卷積,濾波器數量爲256,包含BN層。針對output_stride=16的情況。如下圖(a)部分Atrous Spatial Pyramid Pooling
  • 圖像級特徵,即將特徵做全局平均池化,經過卷積,再融合。如下圖(b)部分Image Pooling.
    改進後的ASPP模塊如下圖所示:
    在這裏插入圖片描述
    注意當output_stride=8時,加倍了採樣率。所有的特徵通過1×1 級聯到一起,生成最終的分數.

總結:DeepLab v3在v2的基礎上,ASPP進行了改進,增加了BN層和image Pooling,去掉了CRF,使用ResNet作爲Backbone,同時討論了四種檢測多尺度目標的方法。

4.DeepLab v3+

原文地址:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
DeepLab v3+主要對deeplab v3做了兩項改進,第一是加入Encoder-Decoder模塊,第二是使用Xception。下圖c爲引入了Encoder-Decoder模塊的DeepLab,把1/16的特徵圖上採樣四倍,與1/4特徵圖相融合,再上採樣四倍到原先的尺寸。
[論文翻譯](https://blog.csdn.net/u011974639/article/details/79518175)
在這裏插入圖片描述
這是原文中對DeepLab v3+的總結
在這裏插入圖片描述

DeepLab的整體架構

在這裏插入圖片描述
DCNN的結構:對Xception進行了改進。1.增加了層數,2.把max pooling層換成了deepwise,3.在3×3的deepwise後面加了BN和ReLU。
在這裏插入圖片描述

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