1. 程式人生 > 實用技巧 >deeplab系列論文研讀

deeplab系列論文研讀

Deeplab v1:(2015)SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS
Deeplab v2:(2016.06)Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution,and Fully Connected CRFs
Deeplab v3:(2017)Rethinking Atrous Convolution for Semantic Image Segmentation
Deeplab v3+:(2018)Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation

Deeplab v1:(2015)SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS
論文的寫作時間是2014年,當時深度卷積神經網路在高階視覺研究領域取得了突破。其卷積和池化操作保證了其不變性,能夠提取高階抽象特徵。
不變性指的是平移不變性,卷積層擴大感知野,池化層的pooling操作,即使影象有小的位移、縮放、扭曲等,提取到的特徵依然會保持不變,減小了相對空間位置的影響。
這在高階特徵提取中作用重大,但在一些低階視覺研究,如語義分割任務中效果是不理想的。我們希望獲取具體的空間資訊,而這些資訊隨著網路的加深慢慢丟失掉。
於是對於語義分割任務,DCNN存在兩個問題。
第一,最大池化和下采樣操作壓縮了影象解析度。一般語義分割通過將網路的全連線層改為卷積層,獲取得分圖(或稱為概率圖、熱圖),然後對其上取樣、反捲積等操作還原與輸入影象同樣大小。如果壓縮太厲害,還原後分辨率就會比較低,因此我們希望獲得更為稠密(dense)或尺寸更大的得分圖;
第二,對空間變換的不變性限制了模型的精度,網路丟失了很多細節,獲得的概率圖會比較模糊,我們希望獲得更多的細節。在該文章中,提出使用空洞演算法和全連線CRF分別解決這兩個問題。
DeeplabV1方法分為兩步走,
第一步仍然採用了DCNNs得到 coarse score map並插值到原影象大小.
因為縮小8倍的,所以直接放大到原圖是可以接受的。如果是32倍,則需要上取樣(反捲積)。
然後第二步借用fully connected CRF對從FCN得到的分割結果進行細節上的refine。

vgg16:

VGG16中,卷積層的卷積核大小統一為 33 ,步長為 1,最大池化層的池化視窗為 2 * 2 ,步長為2 。VGG16模型有5次池化,縮小 2^5=32 倍
Layer (type) Output Shape Param

        Conv2d-1         [-1, 64, 321, 321]           1,792
        Conv2d-2         [-1, 64, 321, 321]          36,928
     MaxPool2d-3         [-1, 64, 161, 161]               0
        Conv2d-4        [-1, 128, 161, 161]          73,856
        Conv2d-5        [-1, 128, 161, 161]         147,584
     MaxPool2d-6          [-1, 128, 81, 81]               0
        Conv2d-7          [-1, 256, 81, 81]         295,168
        Conv2d-8          [-1, 256, 81, 81]         590,080
        Conv2d-9          [-1, 256, 81, 81]         590,080
    MaxPool2d-10          [-1, 256, 41, 41]               0
       Conv2d-11          [-1, 512, 41, 41]       1,180,160
       Conv2d-12          [-1, 512, 41, 41]       2,359,808
       Conv2d-13          [-1, 512, 41, 41]       2,359,808
    MaxPool2d-14          [-1, 512, 21, 21]               0
       Conv2d-15          [-1, 512, 21, 21]       2,359,808
       Conv2d-16          [-1, 512, 21, 21]       2,359,808
       Conv2d-17          [-1, 512, 21, 21]       2,359,808
    MaxPool2d-18          [-1, 512, 11, 11]               0
       Linear-19                 [-1, 4096]     253,759,488
       Linear-20                 [-1, 4096]      16,781,312
       Linear-21                 [-1, 1000]       4,097,000

=========================================================
deeplap v1在vgg16基礎上做了改動:

  1. 後面兩個pool層步長變為為1
  2. conv4,conv5空洞卷積