滿開亮,汪友生,劉繼榮
(北京工業(yè)大學(xué)信息學(xué)部,北京 100124)
圖像超分辨率重建(super resolution,SR)問題,特別是單幅圖像超分辨率重建(signal image super-resolution,SISR)問題,幾十年來得到了越來越多的學(xué)者關(guān)注。SISR 的目標(biāo)是分析單幅低分辨率圖像(ILR)構(gòu)造其對(duì)應(yīng)的高分辨率圖像(IHR),增加像素?cái)?shù)目及高頻信息,使圖像具有清晰的邊緣及有序的紋理,以展示更多的圖像細(xì)節(jié)[1]。近年來,圖像的重建技術(shù)在公共安防、醫(yī)學(xué)診療、衛(wèi)星遙感等領(lǐng)域都有著廣泛地應(yīng)用和重要的研究意義。
在圖像處理的過程中,對(duì)于單幅ILR重建為IHR的方法主要分為:基于差值的方法、基于重建的方法和基于學(xué)習(xí)的方法[2]3 類。前2 類方法屬于重建的傳統(tǒng)方法,均為經(jīng)典的數(shù)學(xué)模型方法,但隨著放大因子的增大,其所能提供用于IHR重建的信息越來越少,這使得傳統(tǒng)算法很難達(dá)到重建高頻信息的目的。近年來,隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,基于深度學(xué)習(xí)的超分辨率網(wǎng)絡(luò)模型得到了積極的探索,并在各種標(biāo)準(zhǔn)數(shù)據(jù)集上實(shí)現(xiàn)了更優(yōu)的性能[3-4]。DONG 等[5]提出的超分辨率卷積神經(jīng)網(wǎng)絡(luò)(super-resolution convolutional neural network,SRCNN)僅用了3 層CNN 訓(xùn)練ILR和IHR之間的相互關(guān)聯(lián)性,就獲得了優(yōu)于傳統(tǒng)方法的效果[6]。開辟了深度學(xué)習(xí)在超分辨率重建領(lǐng)域應(yīng)用的先河,但其存在著無法直接使用低清圖像信息的不足。KIM 等[7]將殘差學(xué)習(xí)引入到圖像超分辨率重建中,提出極深超分辨率(very deep super-resolution,VDSR)模型,殘差學(xué)習(xí)解決了深度學(xué)習(xí)梯度消失問題,使網(wǎng)絡(luò)層數(shù)能夠進(jìn)一步加深,大大提高了網(wǎng)絡(luò)學(xué)習(xí)效果,但其模型只是卷積層的簡單堆疊,并未有效提取圖像信息。LIM 等[8]移除殘差模塊中不必要的歸一化層和激活函數(shù)層,提出增強(qiáng)深度殘差(enhanced deep super-resolution,EDSR)網(wǎng)絡(luò)結(jié)構(gòu),節(jié)省所需計(jì)算機(jī)內(nèi)存空間。獲得了同年NTIRE 國際超分辨率多個(gè)比賽的第一名,但是其無法有效利用淺層圖像特征。ZHANG 等[9]利用稠密連接網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)相結(jié)合的稠密殘差(residual dense net,RDN)模型,在保證模型深度的前提下對(duì)低級(jí)特征重復(fù)利用,還原圖像缺失的高頻圖像信息,使重建圖像更為逼真,但模型參數(shù)量巨大,不便于實(shí)際應(yīng)用。YU 等[10]提出在激活函數(shù)層前使用線性低秩卷積獲得 廣泛特征的模型WDSR,取得了2018 年最先進(jìn)的重建效果,但是該模型對(duì)于不同層級(jí)圖像信息使用不足。ZHANG 等[11]提出神經(jīng)紋理轉(zhuǎn)移的方法(super-resolution by neural texture transfer,SRNTT),著重于圖像細(xì)節(jié)的重建,但是犧牲了重建性能和效率。文獻(xiàn)[12]采用多卷積核的交火模型(fire module)提出輕量型的重建算法(single image super-resolution using fire modules with asymmetric configuration,SRAC),削減參數(shù)量的同時(shí)保證了一定的重建質(zhì)量,但是使用反卷積層作為上采樣方法會(huì)導(dǎo)致重建圖像產(chǎn)生棋盤效應(yīng)。WANG 等[13]對(duì)網(wǎng)絡(luò)深度與卷積核大小做了深入研究,使用擴(kuò)張卷積的思想構(gòu)建了DCNSR,獲得了良好的重建效果,但是對(duì)于不同重建任務(wù)需要頻繁調(diào)整超參數(shù)。
針對(duì)上述模型算法出現(xiàn)的參數(shù)量大,對(duì)不同層次圖像信息使用不完全等問題與對(duì)重建性能和效率的綜合考量,本文提出了基于稠密殘差網(wǎng)絡(luò)的圖像SR 算法,該方法借鑒RDN 網(wǎng)絡(luò)提出改進(jìn)的RDN,設(shè)計(jì)了一種增強(qiáng)稠密殘差神經(jīng)網(wǎng)絡(luò)(enhance residual dense network,ERDN),在激活函數(shù)層前擴(kuò)大特征圖數(shù)量來增加圖像信息裁剪效率,減少每個(gè)卷積層保留的特征圖數(shù)量。并且增加全局特征復(fù)用結(jié)構(gòu),設(shè)計(jì)了一種將模塊每層特征提取到的圖像信息在經(jīng)過學(xué)習(xí)篩選后再次參與重建的結(jié)構(gòu),實(shí)現(xiàn)了對(duì)于淺層特征的多次利用。之后對(duì)模型訓(xùn)練參數(shù)進(jìn)行約束,通過對(duì)于權(quán)重參數(shù)改寫使網(wǎng)絡(luò)模型對(duì)高學(xué)習(xí)率有較強(qiáng)魯棒性,加速模型訓(xùn)練收斂。
通過對(duì)SR 發(fā)展的研究,本文提出基于RDN 的圖像SR模型ERDN。提出了一種含多種卷積核的寬CNN模塊,在激活函數(shù)前擴(kuò)大特征圖數(shù)量強(qiáng)化提取圖像信息效果;增加全局特征復(fù)用模塊,通過對(duì)網(wǎng)絡(luò)淺層信息的多次利用,優(yōu)化重建圖像效果;將上述輸出導(dǎo)入像素洗牌層進(jìn)行像素的拼接;并使用權(quán)重歸一化方法,對(duì)權(quán)重參數(shù)在長度和方向上的解耦,通過對(duì)參數(shù)向量進(jìn)行約束同時(shí)提高網(wǎng)絡(luò)學(xué)習(xí)速率,來提升模型訓(xùn)練速度。ERDN 具體結(jié)構(gòu),如圖1 所示。
圖1 增強(qiáng)稠密殘差網(wǎng)絡(luò)結(jié)構(gòu) Fig.1 Enhance residual dense network structure
網(wǎng)絡(luò)模型以卷積層開始,其為保證特征圖數(shù)量與后續(xù)網(wǎng)絡(luò)一致。所有神經(jīng)網(wǎng)絡(luò)均在原始圖像基礎(chǔ)上提取特征信息,在經(jīng)過全局特征模塊和數(shù)個(gè)RDN后對(duì)圖像進(jìn)行像素洗牌[14],將結(jié)果經(jīng)像素級(jí)累加得到最終的重建圖像。
目前大多數(shù)SR模型算法只采用3×3 卷積核提取圖像特征,這就導(dǎo)致參數(shù)量較大,模型計(jì)算耗時(shí)長。而且最近的研究發(fā)現(xiàn),在激活函數(shù)層(ReLu Layer)前使用較大的特征圖數(shù)量有助于重建模型更好地學(xué)習(xí)圖像特征。考慮以上因素,并充分研究稠密網(wǎng)絡(luò)[15]和GoogLeNet 網(wǎng)絡(luò)[16]結(jié)構(gòu)后,本文改進(jìn)RDN,設(shè)計(jì)了一種含多卷積核的ERDB模塊,將網(wǎng)絡(luò)中3×3 卷積核卷積后輸入激活函數(shù)層的結(jié)構(gòu),替換成先由1×1 卷積核擴(kuò)大特征圖數(shù)量,經(jīng)過激活函數(shù)層裁剪后再進(jìn)行3×3 卷積核提取圖像特征信息,具體結(jié)構(gòu)如圖2 所示。
圖2 增強(qiáng)稠密殘差模塊結(jié)構(gòu) Fig.2 Enhance residual dense block structure
每個(gè)稠密殘差模塊包含6 個(gè)稠密殘差層和一個(gè)卷積整理層。假設(shè)輸入稠密殘差模塊S幅特征圖。將其輸入第一個(gè)稠密殘差層,經(jīng)過1×1 卷積核擴(kuò)充特征至3S幅后輸入激活函數(shù)層裁剪,再經(jīng)過3×3卷積核使用通道相加(Concat)方法保留S/2 幅特征圖加入總的輸入當(dāng)中。每經(jīng)過1 個(gè)稠密殘差層,特征圖總數(shù)便會(huì)增加S/2 幅。最后將所得特征圖輸入卷積整理層完成殘差運(yùn)算。這種模塊結(jié)構(gòu)可以使淺層學(xué)習(xí)的信息得到保留并多次利用,并使輸入輸出之間共享一部分?jǐn)?shù)據(jù)。加入1×1 卷積核取代部分3×3 卷積核和減小保留特征圖數(shù)量2 種操作使ERDN 相較于同類型網(wǎng)絡(luò)RDN 節(jié)省了約50%的模型參數(shù)量,且最終模型精度有所提升,見第2.2 節(jié)實(shí)驗(yàn)討論。
每個(gè)卷積層的參數(shù)都使用權(quán)重歸一化約束,使模型參數(shù)分布在一定范圍內(nèi),使其適應(yīng)更大地訓(xùn)練學(xué)習(xí)率,加快訓(xùn)練速度。
本文發(fā)現(xiàn)通過將淺層卷積提取到的圖像信息作為最后輸出重建圖像的一部分對(duì)于網(wǎng)絡(luò)模型重建效果有所提升。本文將每一個(gè)RDN 提取到的圖像信息進(jìn)行模塊篩選,將結(jié)果經(jīng)過像素洗牌后再次參與模型重建的算法,其結(jié)構(gòu)如圖3 所示。
圖3 以4 個(gè)RDN 為例,將模塊結(jié)果進(jìn)行通道維度相加得到較大數(shù)量的特征圖信息,經(jīng)過1×1 卷積核篩選出最優(yōu)圖像信息,再經(jīng)像素洗牌擴(kuò)大圖像分辨率后作為最終重建結(jié)果的一部分輸出。在網(wǎng)絡(luò)模型深層提取低清圖像特征的過程中,圖像信息會(huì)因?yàn)榫矸e層和激活函數(shù)層的篩減而有所損耗。但通過這種方法,網(wǎng)絡(luò)模型可以調(diào)用多個(gè)RDN(數(shù)值取決于模型具體選用模塊數(shù)量)所提取到的圖像信息用于重建圖像,每個(gè)模塊的圖像特征在篩選后都可以直接作用于輸出圖像。因此該方法可以實(shí)現(xiàn)網(wǎng)絡(luò)對(duì)不同網(wǎng)絡(luò)深度所提取到的圖像特征信息綜合利用,能夠使重建圖像紋理更連續(xù)。
圖3 全局特征復(fù)用模塊結(jié)構(gòu) Fig.3 Global feature reuse module structure
2017 年NTIRE 國際競賽冠軍選手通過實(shí)驗(yàn)得出批量歸一化不適用于SR 任務(wù)的結(jié)論,在之后的研究中學(xué)者們也基本放棄使用批量歸一化來對(duì)SR任務(wù)進(jìn)行優(yōu)化[5-7]。所以本文引入權(quán)重歸一化(weight normalization,WN)來加速模型的訓(xùn)練速度和精度。WN是一種通過重寫深度學(xué)習(xí)網(wǎng)絡(luò)的權(quán)重參數(shù)W的方式來加速深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù)收斂的方法。批量歸一化由于計(jì)算成本原因只對(duì)于每一批數(shù)據(jù)進(jìn)行均值和方差的計(jì)算,而不是整體數(shù)據(jù),所以在進(jìn)行梯度計(jì)算時(shí)會(huì)引入噪聲。而WN 只對(duì)于模型權(quán)重進(jìn)行參數(shù)改寫,所以不會(huì)對(duì)數(shù)據(jù)進(jìn)行操作而引入噪聲,且不需要計(jì)算均值與方差,計(jì)算成本較小。
假設(shè)輸出歸一化結(jié)果為y,則進(jìn)行WN 操作
其中,w是k 維權(quán)重向量;b為標(biāo)量偏差項(xiàng);x為輸入特征的k 維向量。WN 使用式(2)對(duì)權(quán)重向量w進(jìn)行參數(shù)重寫,即
其中,v為k 維向量;g為標(biāo)量;||v||為v的歐幾里德范數(shù)。通過等式變形,可得到||v||=g,即權(quán)重改寫與參數(shù)v無關(guān)。
本文對(duì)于同一網(wǎng)絡(luò)模型ERDN 不同學(xué)習(xí)率與是否使用WN 進(jìn)行了對(duì)照實(shí)驗(yàn),如圖4 所示。
圖4 歸一化與學(xué)習(xí)率對(duì)照試驗(yàn) Fig.4 Comparison test of normalization and learning rate
從圖中可以看出不使用WN 的模型收斂速度較慢,如果使用較大學(xué)習(xí)率還會(huì)導(dǎo)致模型訓(xùn)練極其不穩(wěn)定,而使用WN 則可以很好適應(yīng)大的學(xué)習(xí)率,并獲得良好效果。所以WN 在權(quán)重的長度和方向上的解耦運(yùn)算,能夠加速深層神經(jīng)網(wǎng)絡(luò)的收斂,使得網(wǎng)絡(luò)模型參數(shù)訓(xùn)練對(duì)于學(xué)習(xí)率有更強(qiáng)的魯棒性,可以選擇更大的學(xué)習(xí)率來加速網(wǎng)絡(luò)訓(xùn)練。
本文實(shí)驗(yàn)環(huán)境:硬件設(shè)備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) 訓(xùn)練集。使用國際公開圖像SR 數(shù)據(jù)集DIV2K[17],其中包括訓(xùn)練圖像800 幅2 K 清晰度、評(píng)估圖像100 幅、測試圖像100 幅與對(duì)應(yīng)2,3,4倍下采樣低清圖像,其適用于大多數(shù)實(shí)驗(yàn)場景。本文使用800 個(gè)DIV2K 訓(xùn)練圖像進(jìn)行訓(xùn)練,10 個(gè)驗(yàn)證圖像在訓(xùn)練期間進(jìn)行驗(yàn)證。
(2) 測試集。采用國內(nèi)外公認(rèn)的基準(zhǔn)測試的數(shù)據(jù)集Set5(5 幅圖像)、Set14(14 幅)、BSD100(100 幅)、Urban100(100 幅)和DIV2K(100 幅)對(duì)網(wǎng)絡(luò)模型進(jìn)行評(píng)價(jià)。本文訓(xùn)練后的模型將在上述數(shù)據(jù)集上與其他先進(jìn)算法進(jìn)行評(píng)估,其中DIV2K 數(shù)據(jù)集使用100個(gè)驗(yàn)證圖像進(jìn)行評(píng)估(測試高清圖像未進(jìn)行公開)。
(3) 評(píng)價(jià)指標(biāo)選取。選擇國際公認(rèn)的客觀評(píng)價(jià)指標(biāo)均方誤差(mean square error,MSE)、峰值信噪比(peak signal to noise ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity,SSIM)與主觀重建效果展示,來衡量本文提出的ERDN 與多種國際先進(jìn)算法的對(duì)比結(jié)果。
MSE,PSNR 和 SSIM 由式(3)~(5)計(jì)算得到
其中,M,N為圖像的長和寬;fij和f?ij分別為原始圖像與重建圖像的像素值;L為最大灰度值255;l(f,f?)為亮度信息;c(f,f?)為對(duì)比度信息;s(f,f?)為結(jié)構(gòu)信息。
(4) 訓(xùn)練具體參數(shù)選擇。本算法使用ADAM 優(yōu)化器[18]優(yōu)化權(quán)重矩陣,其必要參數(shù)設(shè)置為β1=0.9,β2=0.999,?=10-8。對(duì)于不使用WN模型學(xué)習(xí)速率初始化為10-4,而使用WN模型設(shè)置為10-3。模型每經(jīng)過8×104次迭代訓(xùn)練,減小學(xué)習(xí)率至原來的一半。從高清圖像及其對(duì)應(yīng)下采樣低清圖像中裁剪96×96 像素RGB 子圖像塊以每一批16 幅圖像送入模型訓(xùn)練。本文提出的網(wǎng)絡(luò)模型適用于任意大小圖像,此裁剪操作僅為縮減模型訓(xùn)練時(shí)間。以下實(shí)驗(yàn)數(shù)據(jù)中PSNR 評(píng)價(jià)指標(biāo)均在Y 通道下計(jì)算得出。
本文通過上述3方面改進(jìn)了RDN模型結(jié)構(gòu)。并展示同類模型RDN 和本文提出的ERDN 網(wǎng)絡(luò)在DIV2K 數(shù)據(jù)集×2 放大倍率上的圖像SR 任務(wù)結(jié)果。為了確保公平,每種算法在不同的參數(shù)和預(yù)算下通過控制RDN模塊的數(shù)量與層數(shù)來評(píng)估重建效果。結(jié)果見表1。
表1 參數(shù)優(yōu)化實(shí)驗(yàn) Table 1 Parameter optimization experiment
通過結(jié)果表明,本文提出的對(duì)于淺層圖像信息的充分利用和引入對(duì)于模型權(quán)重進(jìn)行改寫的方法適用于SR 任務(wù)。ERDN 網(wǎng)絡(luò)模型相比RDN模型參數(shù)量減少50%以上,模型精確度仍有所提升,且圖像處理效率略有提升。
提升卷積網(wǎng)絡(luò)模型最簡單的方法就是增大網(wǎng)絡(luò)參數(shù)量,提供更多參數(shù)來學(xué)習(xí)圖像信息。而只有對(duì)參數(shù)量進(jìn)行約束,才能夠更為準(zhǔn)確地評(píng)價(jià)模型質(zhì)量。而且性能良好的重建模型應(yīng)當(dāng)在多種放大倍數(shù)下均獲得較好效果。所以本小節(jié)對(duì)基準(zhǔn)算法RDN,先進(jìn)算法EDSR,WDSR 與本文提出的ERDN 算法進(jìn)行不同放大倍數(shù)重建效果的比較,結(jié)果見表2。
表2 不同放大倍數(shù)實(shí)驗(yàn) Table 2 Experiment between different magnification
從表2 可以看出,本文算法ERDN 在參數(shù)量小于其他算法的情況下,在×2,×3,×4 放大倍數(shù)實(shí)驗(yàn)中均獲得良好效果。
本文方法將與其他幾種已有先進(jìn)圖像SR方法在多個(gè)國際公開數(shù)據(jù)集上進(jìn)行重建效果實(shí)驗(yàn),評(píng)估其重建性能。用于比較的方法分別是:①Bicubic:傳統(tǒng)的像素差值方法;②SRCNN:3層卷積網(wǎng)絡(luò)的圖像SR方法;③RDN:使用RDN的重建方法;④EDSR:帶有殘差學(xué)習(xí)的深層圖像SR 網(wǎng)絡(luò),NTIRE2017 冠軍算法;⑤WDSR:在激活函數(shù)前使用更寬特征圖的模型結(jié)構(gòu),NTIRE2018 冠軍算法;⑥D(zhuǎn)CNSR:使用大感受野卷積核與較淺深度的網(wǎng)絡(luò)模型。
表3 為多種SR方法在多個(gè)公開數(shù)據(jù)集上進(jìn)行測試的結(jié)果,表中顯示本文算法在各大數(shù)據(jù)集中明顯優(yōu)于傳統(tǒng)SR方法,如Bicubic 等。對(duì)比其他SR網(wǎng)絡(luò)方法,在大多數(shù)數(shù)據(jù)集上獲得最優(yōu)的PSNR 和SSIM,其本文所提出的模型參數(shù)量均小于RDN,EDSR 和WDSR 等方法。
表3 各重建模型性能對(duì)比 Table 3 Performance comparison of each SR model
圖5 是Urban100 數(shù)據(jù)集編號(hào)為024 的圖像在放大因子為4 的各方法重建結(jié)果。對(duì)左邊原圖像紅框內(nèi)部分放大結(jié)構(gòu),可以觀測到本文方法對(duì)圖像邊緣重建效果較好;圖6 是DIV2K 數(shù)據(jù)集0846 號(hào)圖像的重建結(jié)果展示,從圖中可以看到本文方法對(duì)建筑紋理信息在抗鋸齒方面表現(xiàn)較好;圖7 是BSD100數(shù)據(jù)集的第093 號(hào)圖像重建結(jié)果,相比較于其他方法,本文所提出的ERDN模型對(duì)紅框內(nèi)鳥類翅膀部分像素恢復(fù)的更連續(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
通過對(duì)比實(shí)驗(yàn),無論在客觀評(píng)價(jià)指標(biāo)還是主觀的視覺對(duì)比,本文方法重建的高清圖片效果優(yōu)于其他模型算法,且模型參數(shù)量較少,訓(xùn)練效率較高。
本文基于RDN 的圖像SR 算法。首先,針對(duì)RDN參數(shù)量大,訓(xùn)練復(fù)雜的不足,提出了一種含多種卷積核的寬卷積神經(jīng)網(wǎng)絡(luò)模塊,通過替換卷積核和削減模型間傳遞特征圖數(shù)量減少了網(wǎng)絡(luò)模型參數(shù)總量,且使淺層學(xué)習(xí)的信息得到保留并多次利用。接著,探討了全局特征復(fù)用方法對(duì)于圖像特征多次利用的優(yōu)點(diǎn),該方法將模型不同深度卷積核提取到的圖像特征綜合利用,使最后重建出的圖像邊緣更為平滑。然后,比較了是否使用WN 對(duì)模型重建效果的影響,對(duì)網(wǎng)絡(luò)模型參數(shù)值進(jìn)行優(yōu)化可以使模型更穩(wěn)定,在使用較大學(xué)習(xí)率訓(xùn)練時(shí),模型更易收斂。最后,在Set5,Set14,BSD100,Urban100 和DIV2K等國際公開數(shù)據(jù)集上進(jìn)行圖像重建實(shí)驗(yàn),表明本文方法比現(xiàn)有方法在基準(zhǔn)圖像上有更好的重建性能,且模型參數(shù)量更少。