文獻閱讀:Multi-scale Residual Network for Image Super-Resolution

文章地址: http://openaccess.thecvf.com/content_ECCV_2018/html/Juncheng_Li_Multi-scale_Residual_Network_ECCV_2018_paper.html
作者的項目地址: MSRN-PyTorch

1 簡單介紹

    在這篇論文中,作者從重建經典的超分辨率模型開始講起,包括SRCNN、EDSR和SRResNet這些已知的經典模型。基於這些重建實驗,研究人員認爲這些模型具有一些共同點:

  1. 難以重現。可能網絡性能的提升不是由於網絡本身提高的,而可能是使用某種特殊的訓練技巧。
  2. 特徵利用率不足。現在的SR方法只是盲目的提高層數,沒有充分的利用特徵。
  3. 可擴展性差,往往對尺寸的魯棒性比較差。

    所以,研究人員提出了一種新型的網絡架構,並稱之爲多尺度殘差網絡(Multi-scale residual network,MSRN)。他是由兩個部分組成:特徵提取模塊和重建模塊。其中特徵提取模塊包含了一個淺層的CNN提取層還有N個(論文中使用8個)級聯的MSRB模塊。然後將前面(N+1)層concatenate起來,作者稱爲Hierarchical Feature Fusion Structure(HFFS)。這個操作可以參考我之前的文章深度學習中的concatenate使用。每個多尺度殘差網絡的輸出都被用作全局特徵融合的分層特徵,最終,所有這些特徵都在重建模型中用於修復高分辨率圖像。在重建階段,依次通過conv->pixelshuffle->conv層。
在這裏插入圖片描述
    我們的 Multi-scale Residual Block (MSRB)由兩部分構成:多尺度特徵融合和局部殘差學習,可以用不同大小的卷積核來適應性檢測不同規模的圖像特徵。在MSRB中我們使用了1×1的conv,它有兩個作用:其一是降低網絡的參數,其二就是聯合3×3和5×5卷積核幫助我們獲取多尺度的信息。採用局部殘差學習法可以讓神經網絡更高效。
在這裏插入圖片描述
     另外作者爲了證明性能的提升只是由網絡帶來的,不使用VGG損失、Charbonnier Penalty function(一種L1損失的變種,在LapSRN首次作爲損失函數使用)以及L2損失(會導致重建結果過於光滑),而是使用L1的損失函數。也沒有使用特別的權重初始化方法以及其他特殊的訓練技巧,只是爲了對比的公正性。

     在重建模塊中,作者沒有使用通用的方法,比如單純堆疊pixelshuffle層或者使用deconv層,而是直接使用conv->pixelshuffle->conv結構,僅僅使用一個pixelshuffle層,只要微調其中的參數就可以達到任意我們想要達到scale。比如x2,x3,x4,x5等等。
在這裏插入圖片描述

2 重建效果

    作者在沒有任何初始化或技巧的情況下,用DIV2K數據集訓練網絡,證明了這可以解決我們上述提到的第一問題:復現性差。
在這裏插入圖片描述
    從圖中可以看出,我們的MSRN竟然比不過EDSR。作者從兩個方面解釋原因:我們的MSRN訓練過程是使用YCbCr顏色空間的luminance通道(單通道),而EDSR使用RGB通道進行訓練。另外就是我們的網絡比EDSR小,參數量更小。
在這裏插入圖片描述
    另外從視覺效果上也是不錯的。但是作者好像沒有對比EDSR~
    在其他低級計算機視覺的任務中的結果也可以拿來對比,這個方法對作者來說最大的意義就是開創了一個用於圖像修復的單個多任務模型。
在這裏插入圖片描述
    作者是使用Pytorch框架的,在新發布的代碼中是借鑑了RCAN這個代碼,而RCAN代碼又是借鑑EDSR代碼的。

3 感想

    個人感覺作者有兩點創新:第一點就是使用MSRB模塊(核心就是使用不同尺寸的卷積核)融合多尺度的信息,第二點就是使用一個pixelshuffle層可以很方便擴展SR的分辨尺寸。

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