麻旋 戴曙光
摘 要:圖像超分辨率重建算法的主要內容是使用低分辨率的圖像信息生成高分辨率圖像。近年來,隨著深度學習和卷積神經網絡的發展,出現了很多基于卷積神經網絡與殘差網絡的超分辨率算法。為了解決這些算法參數數量過多、處理過程復雜、訓練時間長等問題,結合現有殘差網絡模型和深度學習算法對其進行改進,包括調整網絡結構,減少需要學習的參數,以及去除批歸一化層,降低計算復雜度。改進后的網絡模型能夠取得更好的效果,生成圖像的主觀和客觀評價有一定提高。
關鍵詞:圖像超分辨率;殘差網絡;深度學習;卷積神經網絡
DOI:10.11907/rjdk.172519
中圖分類號:TP312
文獻標識碼:A 文章編號:1672-7800(2018)004-0091-03
Abstract:The main content of the image super-resolution reconstruction algorithm is to use low-resolution image information to generate high-resolution images. In recent years, with the development of deep learning and convolution neural network, there are many super-resolution algorithms based on convolution neural networks and residual networks appear. In order to solve the problem of excessive number of parameters, complex processing process and long training time in these algorithms, this article proposed an improved algorithm that combined with the existing residual network model and the deep-learning algorithm. The key improvements are adjusting the network structure, reducing the need to learn the parameters, removig the Batch-Normalization layer and reducing the computational complexity. The improved network model can achieve better results, and the subjective and objective evaluation of the generated images are improved.
Key Words:image super-resolution; residual network; deep learning; convolutional neural network
0 引言
圖像超分辨率重建技術(SR)是一種使用一幅或多幅低分辨率(LR)圖片生成高分辨率(HR)圖像的技術,使用該技術可以使低分辨率圖像在放大時能夠取得比常用的雙三次插值更好的效果。其中,使用單幅圖像進行超分辨率重建(SISR)方法是研究的重點[1]。目前超分辨率技術實現方法主要有基于插值[3]、基于重構[2]和基于學習[4]3種方法。基于學習的方法又分為自學習和樣本學習方法,自學習使用輸入低分辨率圖像的內部結構相似性重建高分辨率圖像,樣本學習是通過對外部的大量圖像進行學習,找出LR塊和HR塊的對應關系,然后將這種對應關系應用到重建中,實現超分辨率重建。
在使用外部樣本的超分辨率算法中,Yang等[12]首先在大量訓練圖像中找出LR/HR對,然后利用稀疏表達,得到一對共享參數且誤差最小的字典,在重建中利用訓練得到的字典將LR圖像進行非線性變換得到HR信息,然后與LR的雙三次插值相加,得到HR圖像。近年來,隨著深度學習和人工神經網絡的發展,Dong等[6]提出使用卷積神經網絡進行LR/HR變換與訓練的SRCNN算法,SRCNN算法是使用三層卷積神經網絡進行超分辨率重建的算法。因為網絡結構過深會造成訓練速度變慢,而且由于過擬合的影響,圖像質量提升不明顯,所以只采用了三層網絡。
本文將卷積神經網絡用于圖像超分辨率重建方法的優化。受文獻[5]的啟發,借鑒深度殘差網絡模型修改殘差網絡結構,減少不必要的處理。實驗結果表明,改進后的算法超分辨率重建效果更好。
1 殘差網絡設計與改進
1.1 殘差網絡介紹
殘差網絡與普通卷積神經網絡相比,主要是在輸入與輸出之間增加了一條通路,從而使網絡只需學習LR與HR的殘差,殘差網絡由此得名。如果畫出整個網絡輸入到輸出的通路,會發現殘差網絡相當于多個不同深度的網絡總和,而其中深度網絡所占比例較小,所以能在一定程度上解決深度卷積網絡的梯度消失和過擬合問題。
基于殘差網絡的超分辨率重建模型SRResNet[5]結構如圖1所示,LR圖像先經過輸入的卷積層,進入一個殘差網絡單元,每個單元內有兩個卷積層,在層間使用批歸一化和ReLu激活函數,經過多個殘差單元后進入Dconv層,得到最終的SR圖像。
1.2 殘差網絡改進
1.2.1 殘差單元結構優化
在SRResNet中,每個卷積層后都有一個批歸一化(Batch Normalization)[7]處理步驟。批歸一化處理是指使用每個訓練批次數據的均值和方差對卷積后的數據進行白化處理,然后加入平移和縮放參數,以增加網絡容納能力。使用批歸一化處理后的數據能夠使下一層神經網絡更好地學習,一定程度避免了梯度彌散現象,在深度網絡中應用較多。
批歸一化在基于卷積神經網絡的應用上很成功,效果改善明顯,但在超分辨率應用中使用批歸一化效果很差[8]。這是因為批歸一化處理在一定程度上破壞了圖像空間信息,使后面網絡需要學習的參數更多,導致最終結果更差,抵消了深度網絡帶來的增益,所以在改進網絡的設計中,將BN層去除。由于去除BN層會導致深度網絡出現梯度彌散現象,所以在深度支路上的殘差網絡中加入池化層,從而減少參數,使網絡訓練更有效率。
圖2中,圖2(a)是原SRResNet殘差單元,圖2(b)為去除BN層后的網絡單元,圖2(c)為增加的池化層殘差單元。
1.2.2 網絡結構優化
圖3左側是一個典型的殘差網絡,f1、f2、f3分別是3個不同的殘差塊,離輸入端的距離由近到遠。右側是其等效圖,可以看出在整個網絡中,層數較深網絡的支路不多,大部分是中等層數的網絡,而越靠近輸出端的網絡,在深度網絡中權重越大。由此可得,通過調節f1、f2、f3殘差網絡單元內卷積神經網絡的層數分配,即可調節整個網絡模型中深度網絡的權重。
在SRResNet中,每個殘差網絡單元內的卷積層數量,在改進后的網絡中,網絡前部使用包含較多層的殘差網絡單元,越靠后使用的殘差網絡單元層數越少。該設計可以在使用相同數量參數的情況下使整個網絡包含的深度網絡支路更多,從而提高生成圖像的質量。
圖4為改進后的網絡結構圖,殘差單元中的卷積神經網絡層數按離輸入端遠近分別為3層、2層、1層。根據之前的說明,可知調整后網絡的深度支路增加,從而使優化后的網絡能夠更有效率地工作。同時,為了避免深度網絡中的梯度彌散和過擬合現象,在網絡層數較深的支路,也即在靠近輸出端的殘差網絡單元中加入池化層。
2 實驗過程與結果分析
實驗所用的計算機配置為 i7-4700 CPU, GTX880m GPU,16G RAM,操作系統為Ubuntu 16.04,軟件有TensorFlow、CDUA 8.0、OPENCV3.0等。
為了驗證本文算法的重建效果,實驗使用超分辨率重建常用的測試數據集Set5[10]、Set14[11]。為保證實驗的有效性,訓練數據集使用DIV2K數據集[9]。DIV2K數據集是新提出的一種為圖像重建使用的數據集,包含1 000張涵蓋各種類型2K分辨率的自然圖像,非常適合本文的算法驗證。
2.1 訓練過程
首先對數據集里的高清圖像進行隨機截取,即在圖像內隨機取若干個分辨率為384×384的圖像作為HR圖像y,然后對y進行4倍下采樣得到96×96的LR圖像x,網絡模型通過學習x到y的映射得到其神經網絡內的權值參數。訓練中使用Adam優化算法使網絡能更快收斂,學習速率為0.000 1,迭代數目(epoch)為1 000。
在神經網絡訓練過程中,反向傳播是一個重要步驟,該步驟需要使用損失函數對網絡效果進行評判,從而調整神經網絡中的權值。算法使用網絡均方誤差MSE作為損失函數。公式(1)中L(θ)是網絡的損失函數,Yi是LR圖像,F(Yi;θ)是經過網絡后生成的SR圖像,Xi是原始HR圖像。
2.2 結果分析
實驗結果使用峰值信噪比(PSNR)進行評價,公式(2)為其表達式。由于卷積網絡的特性,經過網絡的圖像會將邊緣去除一部分,在評價中,將原始HR圖像也剪除一部分,以方便計算PSNR。
實驗中使用的對比算法為:雙三次插值(Bicubic) 、SRCNN[]、SRResNet[]。為保證實驗的公平性,3種對比算法使用相同的訓練數據集和測試數據集,在同一實驗平臺上進行計算。
表1為各測試數據集在不同算法下的平均PSNR,從表中可以看出,本算法相對于其它算法,PSNR有一定提高。
圖5中從左到右分別為原始HR圖片、Bicubic、SRCNN、SRResNet和本文提出算法處理后的圖片。從圖中可以看出,Bicubic的效果最差,質量明顯低于其它算法,本文提出算法處理后的圖片比較清晰,在一些圖片上的處理效果超過了其它對比算法。
3 結語
通過分析殘差網絡和卷積神經網絡,對基于殘差網絡的圖像超分辨率重建算法提出幾項改進,對改進后的算法進行了一系列實驗和測試工作,并和廣泛應用的雙三次插值Bicubic算法、典型的基于卷積神經網絡的SRCNN算法,以及改進之前的算法SRResNet進行了對比。從生成SR圖像的PSNR對比可以看出,改進算法的重建效果更好,整體看起來更清晰。與SRResNet 算法相比,改進后的算法需要學習的參數更少,而且在訓練時間較少的情況下能達到更優的結果。然而,在相同訓練下,改進后算法重建圖像所需的時間多于SRCNN,離實時處理圖像序列還有較大差距。因此,減少處理時間是下一步需要研究的方向。
參考文獻:
[1] 李欣,崔子冠,朱秀昌.超分辨率重建算法綜述[J].電視技術,2016,40(9):1-9.
[2] 周靖鴻,周璀,朱建軍,等.基于非下采樣輪廓波變換遙感影像超分辨重建方法[J].光學學報,2015(1):98-106.
[3] BTZ M, EICHENSEER A, SEILER J, et al. Hybrid super-resolution combining example-based single-image and interpolation-based multi-image reconstruction approaches[C].IEEE International Conference on Image Processing,2015:58-62.
[4] LIAN Q S, WEI Z. Image super-resolution algorithms based on sparse representation of classified image patches[J]. Acta Electronica Sinica,2012,40(5):920-925.
[5] LEDIG C, THEIS L, HUSZR F, et al. Photo-realistic single image super-resolution using a generative adversarial network[J].Computer Vision and Pattern Recognition,2016:4681-4690.
[6] DONG C, CHEN C L, HE K, et al. Learning a deep convolutional network for image super-resolution[M]. Computer Vision-ECCV 2014. Springer International Publishing,2014:184-199.
[7] IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift[J]. Computer Science,2015:448-456.
[8] YANG Z, ZHANG K, LIANG Y, et al. Single image super-resolution with a parameter economic residual-like convolutional neural network[C].International Conference on Multimedia Modeling. Springer, Cham,2017:353-364.
[9] TIMOFTE R, AGUSTSSON E, GOOL L V, et al. Ntire 2017 challenge on single image super-resolution: methods and results[C]. In CVPR 2017 Workshops,2017.
[10] BEVILACQUA M, ROUMY A, GUILLEMOT C, et al. Low-complexity single image super-resolution based on nonnegative neighbor embedding[J]. Bmvc,2012:135.
[11] ZEYDE R, ELAD M, PROTTER M. On single image scale-up using sparse-representations[C].International Conference on Curves and Surfaces,Springer-Verlag,2010:711-730.
[12] YANG J, WRIGHT J, HUANG T, et al. Image super-resolution as sparse representation of raw image patches[C].Computer Vision and Pattern Recognition. IEEE Conference on,2008:1-8.
(責任編輯:黃 健)