影像分割論文 | DRN膨脹殘差網路 | CVPR2017

忽逢桃林發表於2021-01-21

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

0 綜述

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

膨脹卷積,又叫做空洞卷積,是在卷積核引數不變的基礎上,增加視野域的一種手段。通過使用膨脹卷積,可以放大最深層特徵圖的尺寸並且保持視野域大小不變,說白了就是少了幾個池化層,然後用膨脹卷積維持同樣大小的視野域。比方說,resnet眾所周知,包括stem中的下采樣和4個layer的下采樣,5次下采樣,整體的步長為32;但是DRN中,整體步長僅為8。

當然文章如果僅僅是把碰撞卷積代替一般卷積,那麼這篇文章就毫無特色了。碰撞卷積會引出一個degridding效應,如何解決這個問題才是文章的核心。

再加上一句,雖然模型的引數沒有改變,但是因為增加了特徵圖的尺寸,計算量和記憶體消耗必然有增加,請大家仁者見仁。

1 空洞卷積

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

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

2 結構變化

先來看Resnet的結構圖:

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

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

上圖中展示的是後兩次下采樣的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現象。

相關文章