deeplab系列論文研讀
阿新 • • 發佈:2020-07-28
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基礎上做了改動:
- 後面兩個pool層步長變為為1
- conv4,conv5空洞卷積