滿開亮,汪友生,劉繼榮
(北京工業(yè)大學信息學部,北京 100124)
圖像超分辨率重建(super resolution,SR)問題,特別是單幅圖像超分辨率重建(signal image super-resolution,SISR)問題,幾十年來得到了越來越多的學者關注。SISR 的目標是分析單幅低分辨率圖像(ILR)構(gòu)造其對應的高分辨率圖像(IHR),增加像素數(shù)目及高頻信息,使圖像具有清晰的邊緣及有序的紋理,以展示更多的圖像細節(jié)[1]。近年來,圖像的重建技術(shù)在公共安防、醫(yī)學診療、衛(wèi)星遙感等領域都有著廣泛地應用和重要的研究意義。
在圖像處理的過程中,對于單幅ILR重建為IHR的方法主要分為:基于差值的方法、基于重建的方法和基于學習的方法[2]3 類。前2 類方法屬于重建的傳統(tǒng)方法,均為經(jīng)典的數(shù)學模型方法,但隨著放大因子的增大,其所能提供用于IHR重建的信息越來越少,這使得傳統(tǒng)算法很難達到重建高頻信息的目的。近年來,隨著深度學習技術(shù)的飛速發(fā)展,基于深度學習的超分辨率網(wǎng)絡模型得到了積極的探索,并在各種標準數(shù)據(jù)集上實現(xiàn)了更優(yōu)的性能[3-4]。DONG 等[5]提出的超分辨率卷積神經(jīng)網(wǎng)絡(super-resolution convolutional neural network,SRCNN)僅用了3 層CNN 訓練ILR和IHR之間的相互關聯(lián)性,就獲得了優(yōu)于傳統(tǒng)方法的效果[6]。開辟了深度學習在超分辨率重建領域應用的先河,但其存在著無法直接使用低清圖像信息的不足。KIM 等[7]將殘差學習引入到圖像超分辨率重建中,提出極深超分辨率(very deep super-resolution,VDSR)模型,殘差學習解決了深度學習梯度消失問題,使網(wǎng)絡層數(shù)能夠進一步加深,大大提高了網(wǎng)絡學習效果,但其模型只是卷積層的簡單堆疊,并未有效提取圖像信息。LIM 等[8]移除殘差模塊中不必要的歸一化層和激活函數(shù)層,提出增強深度殘差(enhanced deep super-resolution,EDSR)網(wǎng)絡結(jié)構(gòu),節(jié)省所需計算機內(nèi)存空間。獲得了同年NTIRE 國際超分辨率多個比賽的第一名,但是其無法有效利用淺層圖像特征。ZHANG 等[9]利用稠密連接網(wǎng)絡和殘差網(wǎng)絡相結(jié)合的稠密殘差(residual dense net,RDN)模型,在保證模型深度的前提下對低級特征重復利用,還原圖像缺失的高頻圖像信息,使重建圖像更為逼真,但模型參數(shù)量巨大,不便于實際應用。YU 等[10]提出在激活函數(shù)層前使用線性低秩卷積獲得 廣泛特征的模型WDSR,取得了2018 年最先進的重建效果,但是該模型對于不同層級圖像信息使用不足。ZHANG 等[11]提出神經(jīng)紋理轉(zhuǎn)移的方法(super-resolution by neural texture transfer,SRNTT),著重于圖像細節(jié)的重建,但是犧牲了重建性能和效率。文獻[12]采用多卷積核的交火模型(fire module)提出輕量型的重建算法(single image super-resolution using fire modules with asymmetric configuration,SRAC),削減參數(shù)量的同時保證了一定的重建質(zhì)量,但是使用反卷積層作為上采樣方法會導致重建圖像產(chǎn)生棋盤效應。WANG 等[13]對網(wǎng)絡深度與卷積核大小做了深入研究,使用擴張卷積的思想構(gòu)建了DCNSR,獲得了良好的重建效果,但是對于不同重建任務需要頻繁調(diào)整超參數(shù)。
針對上述模型算法出現(xiàn)的參數(shù)量大,對不同層次圖像信息使用不完全等問題與對重建性能和效率的綜合考量,本文提出了基于稠密殘差網(wǎng)絡的圖像SR 算法,該方法借鑒RDN 網(wǎng)絡提出改進的RDN,設計了一種增強稠密殘差神經(jīng)網(wǎng)絡(enhance residual dense network,ERDN),在激活函數(shù)層前擴大特征圖數(shù)量來增加圖像信息裁剪效率,減少每個卷積層保留的特征圖數(shù)量。并且增加全局特征復用結(jié)構(gòu),設計了一種將模塊每層特征提取到的圖像信息在經(jīng)過學習篩選后再次參與重建的結(jié)構(gòu),實現(xiàn)了對于淺層特征的多次利用。之后對模型訓練參數(shù)進行約束,通過對于權(quán)重參數(shù)改寫使網(wǎng)絡模型對高學習率有較強魯棒性,加速模型訓練收斂。
通過對SR 發(fā)展的研究,本文提出基于RDN 的圖像SR模型ERDN。提出了一種含多種卷積核的寬CNN模塊,在激活函數(shù)前擴大特征圖數(shù)量強化提取圖像信息效果;增加全局特征復用模塊,通過對網(wǎng)絡淺層信息的多次利用,優(yōu)化重建圖像效果;將上述輸出導入像素洗牌層進行像素的拼接;并使用權(quán)重歸一化方法,對權(quán)重參數(shù)在長度和方向上的解耦,通過對參數(shù)向量進行約束同時提高網(wǎng)絡學習速率,來提升模型訓練速度。ERDN 具體結(jié)構(gòu),如圖1 所示。

圖1 增強稠密殘差網(wǎng)絡結(jié)構(gòu) Fig.1 Enhance residual dense network structure
網(wǎng)絡模型以卷積層開始,其為保證特征圖數(shù)量與后續(xù)網(wǎng)絡一致。所有神經(jīng)網(wǎng)絡均在原始圖像基礎上提取特征信息,在經(jīng)過全局特征模塊和數(shù)個RDN后對圖像進行像素洗牌[14],將結(jié)果經(jīng)像素級累加得到最終的重建圖像。
目前大多數(shù)SR模型算法只采用3×3 卷積核提取圖像特征,這就導致參數(shù)量較大,模型計算耗時長。而且最近的研究發(fā)現(xiàn),在激活函數(shù)層(ReLu Layer)前使用較大的特征圖數(shù)量有助于重建模型更好地學習圖像特征。考慮以上因素,并充分研究稠密網(wǎng)絡[15]和GoogLeNet 網(wǎng)絡[16]結(jié)構(gòu)后,本文改進RDN,設計了一種含多卷積核的ERDB模塊,將網(wǎng)絡中3×3 卷積核卷積后輸入激活函數(shù)層的結(jié)構(gòu),替換成先由1×1 卷積核擴大特征圖數(shù)量,經(jīng)過激活函數(shù)層裁剪后再進行3×3 卷積核提取圖像特征信息,具體結(jié)構(gòu)如圖2 所示。

圖2 增強稠密殘差模塊結(jié)構(gòu) Fig.2 Enhance residual dense block structure
每個稠密殘差模塊包含6 個稠密殘差層和一個卷積整理層。假設輸入稠密殘差模塊S幅特征圖。將其輸入第一個稠密殘差層,經(jīng)過1×1 卷積核擴充特征至3S幅后輸入激活函數(shù)層裁剪,再經(jīng)過3×3卷積核使用通道相加(Concat)方法保留S/2 幅特征圖加入總的輸入當中。每經(jīng)過1 個稠密殘差層,特征圖總數(shù)便會增加S/2 幅。最后將所得特征圖輸入卷積整理層完成殘差運算。這種模塊結(jié)構(gòu)可以使淺層學習的信息得到保留并多次利用,并使輸入輸出之間共享一部分數(shù)據(jù)。加入1×1 卷積核取代部分3×3 卷積核和減小保留特征圖數(shù)量2 種操作使ERDN 相較于同類型網(wǎng)絡RDN 節(jié)省了約50%的模型參數(shù)量,且最終模型精度有所提升,見第2.2 節(jié)實驗討論。
每個卷積層的參數(shù)都使用權(quán)重歸一化約束,使模型參數(shù)分布在一定范圍內(nèi),使其適應更大地訓練學習率,加快訓練速度。
本文發(fā)現(xiàn)通過將淺層卷積提取到的圖像信息作為最后輸出重建圖像的一部分對于網(wǎng)絡模型重建效果有所提升。本文將每一個RDN 提取到的圖像信息進行模塊篩選,將結(jié)果經(jīng)過像素洗牌后再次參與模型重建的算法,其結(jié)構(gòu)如圖3 所示。
圖3 以4 個RDN 為例,將模塊結(jié)果進行通道維度相加得到較大數(shù)量的特征圖信息,經(jīng)過1×1 卷積核篩選出最優(yōu)圖像信息,再經(jīng)像素洗牌擴大圖像分辨率后作為最終重建結(jié)果的一部分輸出。在網(wǎng)絡模型深層提取低清圖像特征的過程中,圖像信息會因為卷積層和激活函數(shù)層的篩減而有所損耗。但通過這種方法,網(wǎng)絡模型可以調(diào)用多個RDN(數(shù)值取決于模型具體選用模塊數(shù)量)所提取到的圖像信息用于重建圖像,每個模塊的圖像特征在篩選后都可以直接作用于輸出圖像。因此該方法可以實現(xiàn)網(wǎng)絡對不同網(wǎng)絡深度所提取到的圖像特征信息綜合利用,能夠使重建圖像紋理更連續(xù)。

圖3 全局特征復用模塊結(jié)構(gòu) Fig.3 Global feature reuse module structure
2017 年NTIRE 國際競賽冠軍選手通過實驗得出批量歸一化不適用于SR 任務的結(jié)論,在之后的研究中學者們也基本放棄使用批量歸一化來對SR任務進行優(yōu)化[5-7]。所以本文引入權(quán)重歸一化(weight normalization,WN)來加速模型的訓練速度和精度。WN是一種通過重寫深度學習網(wǎng)絡的權(quán)重參數(shù)W的方式來加速深度學習網(wǎng)絡參數(shù)收斂的方法。批量歸一化由于計算成本原因只對于每一批數(shù)據(jù)進行均值和方差的計算,而不是整體數(shù)據(jù),所以在進行梯度計算時會引入噪聲。而WN 只對于模型權(quán)重進行參數(shù)改寫,所以不會對數(shù)據(jù)進行操作而引入噪聲,且不需要計算均值與方差,計算成本較小。
假設輸出歸一化結(jié)果為y,則進行WN 操作

其中,w是k 維權(quán)重向量;b為標量偏差項;x為輸入特征的k 維向量。WN 使用式(2)對權(quán)重向量w進行參數(shù)重寫,即

其中,v為k 維向量;g為標量;||v||為v的歐幾里德范數(shù)。通過等式變形,可得到||v||=g,即權(quán)重改寫與參數(shù)v無關。
本文對于同一網(wǎng)絡模型ERDN 不同學習率與是否使用WN 進行了對照實驗,如圖4 所示。

圖4 歸一化與學習率對照試驗 Fig.4 Comparison test of normalization and learning rate
從圖中可以看出不使用WN 的模型收斂速度較慢,如果使用較大學習率還會導致模型訓練極其不穩(wěn)定,而使用WN 則可以很好適應大的學習率,并獲得良好效果。所以WN 在權(quán)重的長度和方向上的解耦運算,能夠加速深層神經(jīng)網(wǎng)絡的收斂,使得網(wǎng)絡模型參數(shù)訓練對于學習率有更強的魯棒性,可以選擇更大的學習率來加速網(wǎng)絡訓練。
本文實驗環(huán)境:硬件設備CPU 為Intel Core i5-8600@3.10 GHz 六核;GPU:NVIDIA GeForce RTX 2080;內(nèi)存:16 GB 軟件配置;操作系統(tǒng):64位Ubuntu 18.04 LTS;Python 3.7;CUDA Toolkit 10.0。
(1) 訓練集。使用國際公開圖像SR 數(shù)據(jù)集DIV2K[17],其中包括訓練圖像800 幅2 K 清晰度、評估圖像100 幅、測試圖像100 幅與對應2,3,4倍下采樣低清圖像,其適用于大多數(shù)實驗場景。本文使用800 個DIV2K 訓練圖像進行訓練,10 個驗證圖像在訓練期間進行驗證。
(2) 測試集。采用國內(nèi)外公認的基準測試的數(shù)據(jù)集Set5(5 幅圖像)、Set14(14 幅)、BSD100(100 幅)、Urban100(100 幅)和DIV2K(100 幅)對網(wǎng)絡模型進行評價。本文訓練后的模型將在上述數(shù)據(jù)集上與其他先進算法進行評估,其中DIV2K 數(shù)據(jù)集使用100個驗證圖像進行評估(測試高清圖像未進行公開)。
(3) 評價指標選取。選擇國際公認的客觀評價指標均方誤差(mean square error,MSE)、峰值信噪比(peak signal to noise ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity,SSIM)與主觀重建效果展示,來衡量本文提出的ERDN 與多種國際先進算法的對比結(jié)果。
MSE,PSNR 和 SSIM 由式(3)~(5)計算得到

其中,M,N為圖像的長和寬;fij和f?ij分別為原始圖像與重建圖像的像素值;L為最大灰度值255;l(f,f?)為亮度信息;c(f,f?)為對比度信息;s(f,f?)為結(jié)構(gòu)信息。
(4) 訓練具體參數(shù)選擇。本算法使用ADAM 優(yōu)化器[18]優(yōu)化權(quán)重矩陣,其必要參數(shù)設置為β1=0.9,β2=0.999,?=10-8。對于不使用WN模型學習速率初始化為10-4,而使用WN模型設置為10-3。模型每經(jīng)過8×104次迭代訓練,減小學習率至原來的一半。從高清圖像及其對應下采樣低清圖像中裁剪96×96 像素RGB 子圖像塊以每一批16 幅圖像送入模型訓練。本文提出的網(wǎng)絡模型適用于任意大小圖像,此裁剪操作僅為縮減模型訓練時間。以下實驗數(shù)據(jù)中PSNR 評價指標均在Y 通道下計算得出。
本文通過上述3方面改進了RDN模型結(jié)構(gòu)。并展示同類模型RDN 和本文提出的ERDN 網(wǎng)絡在DIV2K 數(shù)據(jù)集×2 放大倍率上的圖像SR 任務結(jié)果。為了確保公平,每種算法在不同的參數(shù)和預算下通過控制RDN模塊的數(shù)量與層數(shù)來評估重建效果。結(jié)果見表1。

表1 參數(shù)優(yōu)化實驗 Table 1 Parameter optimization experiment
通過結(jié)果表明,本文提出的對于淺層圖像信息的充分利用和引入對于模型權(quán)重進行改寫的方法適用于SR 任務。ERDN 網(wǎng)絡模型相比RDN模型參數(shù)量減少50%以上,模型精確度仍有所提升,且圖像處理效率略有提升。
提升卷積網(wǎng)絡模型最簡單的方法就是增大網(wǎng)絡參數(shù)量,提供更多參數(shù)來學習圖像信息。而只有對參數(shù)量進行約束,才能夠更為準確地評價模型質(zhì)量。而且性能良好的重建模型應當在多種放大倍數(shù)下均獲得較好效果。所以本小節(jié)對基準算法RDN,先進算法EDSR,WDSR 與本文提出的ERDN 算法進行不同放大倍數(shù)重建效果的比較,結(jié)果見表2。

表2 不同放大倍數(shù)實驗 Table 2 Experiment between different magnification
從表2 可以看出,本文算法ERDN 在參數(shù)量小于其他算法的情況下,在×2,×3,×4 放大倍數(shù)實驗中均獲得良好效果。
本文方法將與其他幾種已有先進圖像SR方法在多個國際公開數(shù)據(jù)集上進行重建效果實驗,評估其重建性能。用于比較的方法分別是:①Bicubic:傳統(tǒng)的像素差值方法;②SRCNN:3層卷積網(wǎng)絡的圖像SR方法;③RDN:使用RDN的重建方法;④EDSR:帶有殘差學習的深層圖像SR 網(wǎng)絡,NTIRE2017 冠軍算法;⑤WDSR:在激活函數(shù)前使用更寬特征圖的模型結(jié)構(gòu),NTIRE2018 冠軍算法;⑥D(zhuǎn)CNSR:使用大感受野卷積核與較淺深度的網(wǎng)絡模型。
表3 為多種SR方法在多個公開數(shù)據(jù)集上進行測試的結(jié)果,表中顯示本文算法在各大數(shù)據(jù)集中明顯優(yōu)于傳統(tǒng)SR方法,如Bicubic 等。對比其他SR網(wǎng)絡方法,在大多數(shù)數(shù)據(jù)集上獲得最優(yōu)的PSNR 和SSIM,其本文所提出的模型參數(shù)量均小于RDN,EDSR 和WDSR 等方法。

表3 各重建模型性能對比 Table 3 Performance comparison of each SR model
圖5 是Urban100 數(shù)據(jù)集編號為024 的圖像在放大因子為4 的各方法重建結(jié)果。對左邊原圖像紅框內(nèi)部分放大結(jié)構(gòu),可以觀測到本文方法對圖像邊緣重建效果較好;圖6 是DIV2K 數(shù)據(jù)集0846 號圖像的重建結(jié)果展示,從圖中可以看到本文方法對建筑紋理信息在抗鋸齒方面表現(xiàn)較好;圖7 是BSD100數(shù)據(jù)集的第093 號圖像重建結(jié)果,相比較于其他方法,本文所提出的ERDN模型對紅框內(nèi)鳥類翅膀部分像素恢復的更連續(xù),且更接近原圖像紋理。

圖5 Img024(Urban100)各SR方法重建效果展示 Fig.5 Comparison of img024 (Urban100) SR reconstruction results

圖6 0846(DIV2K) 各SR方法重建效果展示 Fig.6 Comparison of 0846(DIV2K) SR reconstruction results

圖7 img_093(BSD100) 各SR方法重建效果展示 Fig.7 Comparison of img093 (BSD100) SR reconstruction results
通過對比實驗,無論在客觀評價指標還是主觀的視覺對比,本文方法重建的高清圖片效果優(yōu)于其他模型算法,且模型參數(shù)量較少,訓練效率較高。
本文基于RDN 的圖像SR 算法。首先,針對RDN參數(shù)量大,訓練復雜的不足,提出了一種含多種卷積核的寬卷積神經(jīng)網(wǎng)絡模塊,通過替換卷積核和削減模型間傳遞特征圖數(shù)量減少了網(wǎng)絡模型參數(shù)總量,且使淺層學習的信息得到保留并多次利用。接著,探討了全局特征復用方法對于圖像特征多次利用的優(yōu)點,該方法將模型不同深度卷積核提取到的圖像特征綜合利用,使最后重建出的圖像邊緣更為平滑。然后,比較了是否使用WN 對模型重建效果的影響,對網(wǎng)絡模型參數(shù)值進行優(yōu)化可以使模型更穩(wěn)定,在使用較大學習率訓練時,模型更易收斂。最后,在Set5,Set14,BSD100,Urban100 和DIV2K等國際公開數(shù)據(jù)集上進行圖像重建實驗,表明本文方法比現(xiàn)有方法在基準圖像上有更好的重建性能,且模型參數(shù)量更少。