1. 程式人生 > >【文章閱讀】【超解像】--Enhanced Deep Residual Networks for Single Image Super-Resolution

【文章閱讀】【超解像】--Enhanced Deep Residual Networks for Single Image Super-Resolution

【文章閱讀】【超解像】–Enhanced Deep Residual Networks for Single Image Super-Resolution

論文連結:https://arxiv.org/abs/1707.02921

code:https://github.com/thstkdgus35/EDSR-PyTorch

​ 本文是韓國首爾大學的研究團隊出的用於SR任務的新方法(之前方法的修正),分別為增強深度超分辨網路EDSR和一種多尺度深度超解析度MDSR,在減少模型大小的同時也提高了影象效能,並贏得到了NTIRE2017超分辨挑戰賽的第一名和第二名。

1.主要貢獻

​ 1). 在殘差網路結構的基礎上做了修改,殘差網路結構適用於影象分類等任務上,不適合直接套用在SR應用任務上。

​ 2). 作者提出了一種多尺度模型,進行了不同放大倍數模型引數共享,並在處理每一個模型時都能取得較好的結果。

2.論文分析

1). 模型基本結構

​ 在SRResNet結構基礎上將BN成去掉,主要是由於BN層對特徵進行了批量歸一化,使網路結構的靈活性降低(使網路能表現的特徵減少)。訓練過程中,BN層佔用了大量的GPU儲存資源,去掉BN層後能降低40%的GPU儲存資源,可用於訓練更深的網路結構。
在這裡插入圖片描述

2). Single-scale model
在這裡插入圖片描述

​ 單模型網路結構如上圖所示,文中提出太多的殘差塊導致訓練不穩定,文中提出了residual scaling 方法,即殘差塊在相加前,經過卷積處理的資料乘以一個小數(0.1),這樣可以保證訓練更加穩定。最終模型使用B=32,F=256,B表示殘差塊,F表示feature channels.

​ 利用訓練過的放大2倍的模型作為初始模型訓練放大4倍的模型,可以加速模型的訓練速度,如下:
在這裡插入圖片描述

​ 3). Multi-scale model
在這裡插入圖片描述

​ 多尺度模型開始每個放大倍數都有兩個獨立的殘差塊,後面經過相同的殘差塊,最後再使用獨自的升取樣模組來提高解析度。模型的B=80 F=64。

​ 4)訓練細節

​ 資料:用的是DIV2K資料集,800張訓練圖片,100張驗證影象,100張測試影象,每張影象的解析度為2K;

​ MDSR訓練過程中,將放大2倍,3倍,4倍三種尺度隨機混合作為訓練集,在梯度更新的時候,只對相應的尺寸的那部分引數進行更新。

​ 幾何自融合:測試時將影象90度旋轉以及翻轉,共形成8種不同的影象,分別送入網路進行處理,處理後變換到原來的位置,然後8張影象取平均,該方法可以使測試結果又稍微的提升。

​ 訓練優化:利用ADAM優化器,minibatch size為16,初始學習率為0.0001,訓練輸入影象為48x48的RGB影象。

​ 模型結構引數如下:
在這裡插入圖片描述

3.結果分析

在這裡插入圖片描述
在這裡插入圖片描述

4.參考

  1. https://blog.csdn.net/Gavinmiaoc/article/details/80452229

感謝網上的各種資源,在閱讀原文和相關參考資源的基礎上進行了總結,如有問題,煩請指正,謝謝!