圖像分割論文 | DRN膨脹殘差網絡 | CVPR2017

文章轉自:同做者我的微信公衆號【機器學習煉丹術】。歡迎交流溝通,共同進步,做者微信:cyx645016617微信

0 綜述

這篇文章的最大特點天然是提出了DRN,Dilated Residual Networks,在殘差網絡的基礎上加入了膨脹卷積。網絡

膨脹卷積,又叫作空洞卷積,是在卷積核參數不變的基礎上,增長視野域的一種手段。經過使用膨脹卷積,能夠放大最深層特徵圖的尺寸而且保持視野域大小不變,說白了就是少了幾個池化層,而後用膨脹卷積維持一樣大小的視野域。比方說,resnet衆所周知,包括stem中的下采樣和4個layer的下采樣,5次下采樣,總體的步長爲32;可是DRN中,總體步長僅爲8。機器學習

固然文章若是僅僅是把碰撞卷積代替通常卷積,那麼這篇文章就毫無特點了。碰撞卷積會引出一個degridding效應,如何解決這個問題纔是文章的核心。ide

再加上一句,雖然模型的參數沒有改變,可是由於增長了特徵圖的尺寸,計算量和內存消耗必然有增長,請你們仁者見仁。學習

1 空洞卷積

這個長話短說,直接看圖:
3d

dilation是一個參數,若是是1的話,就是上圖左圖的常規卷積核,若是dilation是2的畫,就變成右邊的膨脹卷積的樣子。dilation表示卷積核中參數相鄰的距離。blog

2 結構變化

先來看Resnet的結構圖:
圖片

輸入的圖片是224x224大小的,第一次下采樣在stem中(圖中的conv1),隨後的下采樣在每一層layer的第一個卷積層前面。內存

DRN結構沒有了resnet最後的兩次下采樣,也就是說,特徵圖在28x28的大小以後就再也不變小了。再也不減少特徵圖尺寸,那麼就要增長卷積核的膨脹係數get

上圖中展現的是後兩次下采樣的resnet和DRN的區別,能夠看到,DRN沒有後兩次下采樣,所以特徵圖的尺寸都相同。

  • 可是DRN在本該第四次採樣的卷積過程當中,將膨脹係數改爲2,這樣保持相同的視野域;
  • 在本該第五次採樣的卷積過程當中,將膨脹係數改爲4,這樣保持相同的視野域。

3 degridding

使用膨脹卷積來代替下采樣,會產生degriding柵格化問題

這種狀況產生的緣由在原文中有這樣的一句解釋:

Gridding artifacts occur when a feature map has higher-frequency content than the sampling rate of the dilated convolution.

就是說,當一某一個特徵的重要性超過採樣率。做者給出了這樣的一個例子:

上面圖(a)是一個單個像素異常重要的特徵圖,而後通過一個膨脹卷積,變成(c),變成網格狀的輸出。能夠說gridding artifiacts是膨脹卷積性質產生的現象。

爲了解決這樣的問題,做者對DRN做出了改進:

  1. DRN-B,DRN-C取消了pooling層,改用stride=2的卷積做爲下采樣,由於做者發現pooling會讓degridding更加嚴重
  2. 此外,做者在DRN-B和DRN-C的最後加上了膨脹係數爲2和1的幾層卷積層,來消除degridding現象。其中DRN-C取消了最後幾層卷積的跳層結構。這個很是好理解,畢竟膨脹卷積會產生degridding,那麼我就讓最後的輸出是用通常的卷積輸出就避免了這種結構,而後跳層結構會讓degridding直接連入最後的輸出結果,因此取消了

所以在上面的展現圖匯中,DRN-C的輸出的語義分割效果圖,很是絲滑。

4 總結

效果有很是大的提升。這個不下降特徵圖的尺寸,從而提升了小物體的目標檢測的效果。值得嘗試。

5 如何實現

這個也挺好實現的,咱們記住:

  1. 用stride=2的卷積層代替pooling層;
  2. 後面兩個下采樣取消,使用膨脹係數2和4的卷積代替;
  3. 最後在加上膨脹係數爲2和1的卷積層消除degridding現象。
相關文章
相關標籤/搜索