李現(xiàn)國,馮欣欣,李建雄
天津工業(yè)大學(xué) 電子與信息工程學(xué)院,天津 300387
圖像超分辨率重建是近年來計(jì)算機(jī)視覺和圖像處理領(lǐng)域的一個(gè)研究熱點(diǎn),由于其具有較高的理論研究價(jià)值和廣泛的應(yīng)用場景,已經(jīng)引起了許多研究學(xué)者的關(guān)注[1]。該技術(shù)是由單幀或多幀低分辨率(Low Resolution,LR)圖像重建出與真實(shí)圖像更加相近的高分辨率(High Resolution,HR)圖像[2],廣泛應(yīng)用于醫(yī)療影像、衛(wèi)星遙感、視頻監(jiān)控等領(lǐng)域[3]。目前單幅圖像超分辨率重建技術(shù)大致可以分為三類:基于插值[4-5]、基于重建[6-7]和基于學(xué)習(xí)的方法。
基于插值的方法簡單直觀,能夠快速得到結(jié)果,但是圖像重建后存在邊緣模糊等問題?;谥亟ǖ姆椒ㄖ攸c(diǎn)在于恢復(fù)圖像的高頻信息部分,該方法簡單且計(jì)算量低,但是會忽略圖像的部分高頻細(xì)節(jié)信息[8]。基于學(xué)習(xí)的方法是通過大量的訓(xùn)練數(shù)據(jù)來建立低分辨率圖像與高分辨率圖像之間的映射關(guān)系,與其他重建方法相比,可獲得更好的圖像重建質(zhì)量[9-10]。文獻(xiàn)[11]提出了基于樣例學(xué)習(xí)的重建方法,率先將基于學(xué)習(xí)的方法應(yīng)用于圖像超分辨率重建中;文獻(xiàn)[12]采用稀疏編碼理論,并且利用字典學(xué)習(xí)的方式學(xué)習(xí)高低分辨率之間的映射關(guān)系以重建圖像;文獻(xiàn)[13]利用分層的決策樹來表示數(shù)據(jù),采用隨機(jī)森林(Random Forest)方法來實(shí)現(xiàn)高分辨率圖像的重建;文獻(xiàn)[14]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率(Super-Resolution Convolutional Neural Network,SRCNN)方法,能夠取得更好的圖像重建效果。
SRCNN方法使用三層卷積網(wǎng)絡(luò)分別實(shí)現(xiàn)圖像塊的提取和特征表示、特征非線性映射和圖像的重建,但由于該方法使用的卷積層數(shù)較少、網(wǎng)絡(luò)的感受野小以及泛化能力差等問題,使得無法提取到圖像深層次的特征,從而導(dǎo)致重建的圖像效果較差。文獻(xiàn)[15]提出的深度殘差網(wǎng)絡(luò)(Deep Residual Network,ResNet)中的殘差結(jié)構(gòu)采用跨層跳躍連接的方式,使得信息前后向傳播更加順暢,從而可以緩解梯度消失的問題。文獻(xiàn)[16]首次將殘差學(xué)習(xí)的思想應(yīng)用于圖像超分辨率重建的任務(wù)中,提出了VDSR(Very Deep convolutional network for Super-Resolution)網(wǎng)絡(luò),證明了殘差學(xué)習(xí)的思想能夠提高圖像重建的性能;并且VDSR借鑒用于圖像分類的VGG(Visual Geometry Group)[17]模型結(jié)構(gòu),將較小核的濾波器(3×3)多次級聯(lián),增大模型的感受野,更好地利用了圖像上下文的信息。但是隨著網(wǎng)絡(luò)的加深,卷積層之間信息流的傳遞通道單一,前端卷積層不能訪問后端卷積層,嚴(yán)重阻礙了信息流的傳遞[18]。文獻(xiàn)[19]借鑒用于圖像分類的DenseNet(Densely connected convolutional Network)[20]模型結(jié)構(gòu),通過將每一層的輸出直接連接到后面的所有層,來緩解梯度消失問題并提高了特征的傳導(dǎo)性能和利用效率。但由于受限于特征重復(fù)利用,所以卷積的輸出信道數(shù)設(shè)計(jì)的非常小,使得提取到的圖像特征信息有限,影響了圖像重建的效果。
研究表明,文獻(xiàn)[20]提出的深度殘差網(wǎng)絡(luò)(ResNet)中的殘差結(jié)構(gòu)采用跨層跳躍連接的方式,使得信息前后向傳播更加順暢,從而可以緩解梯度消失的問題。因此,針對基于卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率重建方法存在的感受野較小、特征提取尺度單一以及梯度消失等問題,本文借鑒用于圖像分類的殘差網(wǎng)絡(luò)(ResNet)[15]模型結(jié)構(gòu),提出了基于多尺度殘差網(wǎng)絡(luò)的圖像超分辨率重建方法:(1)采用8個(gè)殘差單元,即26層卷積神經(jīng)網(wǎng)絡(luò)重建高分辨率圖像,濾波器核大小均為3×3,與采用濾波器核大小9×9、1×1、5×5 的SRCNN 相比,網(wǎng)絡(luò)層得到加深并增大了卷積神經(jīng)網(wǎng)絡(luò)的感受野,更充分地利用了較大圖像區(qū)域的上下文信息;(2)將局部殘差學(xué)習(xí)和全局殘差學(xué)習(xí)相結(jié)合,實(shí)現(xiàn)了信息的傳遞,提高了信息流傳播的效率,減輕了梯度消失現(xiàn)象;(3)采用3×3卷積核串行連接,并將兩個(gè)卷積核提取的特征信息進(jìn)行融合,然后再通過卷積操作來提取更高層次特征,從而使網(wǎng)絡(luò)得到不同尺度的卷積核提取到的圖像的多種特征,提高了重建圖像的細(xì)節(jié)質(zhì)量。
本文設(shè)計(jì)的基于多尺度殘差單元的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。該網(wǎng)絡(luò)主要由級聯(lián)的N 個(gè)殘差單元(ResBlock)組成。基于該結(jié)構(gòu)的圖像超分辨率方法模型在建立時(shí)包含三個(gè)步驟:(1)圖像預(yù)處理,主要對數(shù)據(jù)集圖像進(jìn)行前期處理,包括顏色空間轉(zhuǎn)換、不同尺度因子(×2、×3、×4)模糊以及圖像塊的裁剪等;(2)特征提取,主要完成對輸入圖像提取特征,將不同特征進(jìn)行融合,完善圖像細(xì)節(jié)信息;(3)圖像重建,將學(xué)習(xí)到的高頻信息,與原始低分辨率圖像結(jié)合重建出高分辨率圖像。
本文使用的訓(xùn)練集為公開的標(biāo)準(zhǔn)數(shù)據(jù)集,該數(shù)據(jù)集由來自文獻(xiàn)[21]的91幅自然圖像和來自Berkeley Dataset(BSD)訓(xùn)練集[22]的200 幅自然圖像組成,共291 幅。大規(guī)模的數(shù)據(jù)集可以提升網(wǎng)絡(luò)的整體性能,為了獲得更好的重建效果,本文采用水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)和水平垂直翻轉(zhuǎn)等方法來擴(kuò)增訓(xùn)練集。由于人類對亮度變化比對顏色變化更敏感,將數(shù)據(jù)集中的彩色圖像進(jìn)行顏色空間轉(zhuǎn)換,即由RGB顏色空間到Y(jié)CbCr顏色空間,并提取亮度通道Y 進(jìn)行網(wǎng)絡(luò)訓(xùn)練[23]。為了得到不同模糊程度的低分辨率圖像用于訓(xùn)練,因此對高分辨率圖像使用不同尺度因子(×2、×3、×4)進(jìn)行模糊。將模糊后的圖像不重疊地裁剪成41×41的子圖像塊,可以充分利用較大圖像區(qū)域的上下文信息[15],將子圖像塊作為網(wǎng)絡(luò)輸入數(shù)據(jù)進(jìn)行訓(xùn)練。
圖1 基于多尺度殘差單元的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
為了提取圖像的多種特征信息并保證細(xì)節(jié)的清晰性,特征提取模塊借鑒ResNet的殘差單元的思想,采用局部殘差連接方式,并對該殘差單元進(jìn)行改進(jìn)。圖2為殘差單元及本文多尺度殘差單元對比圖。本文網(wǎng)絡(luò)結(jié)構(gòu)的殘差單元與原始的ResNet殘差單元主要有兩點(diǎn)不同:去掉了Batch Normalization層和增加了多尺度特征提取。本文的多尺度殘差單元可以表示為:
式中,H(m-1)和Hm分別為第m個(gè)殘差單元的輸入和輸出;F"為第m個(gè)殘差單元學(xué)習(xí)到的殘差映射,即:
其中:
式中,Wim,i=1,2,3 學(xué)習(xí)到的第i個(gè)卷積層的權(quán)重,省略了偏置項(xiàng);Xim,i=1,2 為第m個(gè)殘差單元中兩個(gè)3×3卷積核的輸出;σ為ReLU激勵函數(shù);?為卷積操作。本文的殘差單元去掉了原始ResNet 殘差單元的Batch Normalization(BN)層,BN層會將提取的圖像特征進(jìn)行規(guī)范化[24],對于圖像超分辨率重建這種低視覺任務(wù)并不適用,因此移除BN層有助于使得圖像超分辨率重建的質(zhì)量更好。
由于多個(gè)不同的卷積運(yùn)算可以獲得輸入圖像的不同信息,在殘差單元中采用兩個(gè)3×3卷積核代替一個(gè)5×5卷積核來提取圖像特征,不僅減少了模型參數(shù)量,也提供了更多數(shù)量的激活函數(shù)(3vs.2),增加了網(wǎng)絡(luò)的非線性特性。如圖2中(d)所示,堆疊的3×3卷積核提取的特征信息采用add進(jìn)行特征的融合,使得圖像特征的信息量在每一維度下得到增加,從而獲得圖像更豐富的特征信息。融合后特征圖再通過3×3 的卷積操作來提取更高層次特征。殘差單元具有相同的輸入與輸出通道,因此可以進(jìn)行N個(gè)殘差單元的堆疊。
高分辨圖像可以分解為高頻信息和低頻信息,而低頻信息均存在于低分辨率圖像和對應(yīng)的高分辨圖像之中,故可以只預(yù)測圖像的高頻信息,即高分辨率圖像和低分辨圖像的殘差圖像。本文方法重建的誤差函數(shù)定義式為:
式中,θ為網(wǎng)絡(luò)要優(yōu)化的參數(shù),xi為輸入的第i幅低分辨率圖像,N是訓(xùn)練樣本的數(shù)量,re是標(biāo)準(zhǔn)高分辨率圖像yi與對應(yīng)插值低分辨圖像xi的殘差圖像,目標(biāo)是獲的一個(gè)映射函數(shù)f來生成高分辨率圖像y?。該誤差函數(shù)用來計(jì)算網(wǎng)絡(luò)重建圖像與標(biāo)準(zhǔn)高分辨率圖像之間的歐式距離,模型訓(xùn)練階段高分辨率圖像的重建需要使用標(biāo)準(zhǔn)高分辨率圖像、輸入的低分辨圖像和網(wǎng)絡(luò)模型預(yù)測得到的殘差圖像這三部分共同完成[10]。
圖2 殘差單元及本文多尺度殘差單元對比圖
網(wǎng)絡(luò)模型訓(xùn)練時(shí)所使用的硬件平臺為Intel?Xeon Silver 4210 CPU @ 2.20 GHz×20,內(nèi)存為93.1 GB,顯存容量為11 GB 的GTX1080Ti 顯卡;軟件平臺為Ubuntu18.04 操作系統(tǒng)下的Pytorch0.4.0。網(wǎng)絡(luò)訓(xùn)練的初始學(xué)習(xí)率設(shè)置為0.1,之后每訓(xùn)練10 萬次降為原來的十分之一。在標(biāo)準(zhǔn)測試集Set5、Set14 和BSD100 進(jìn)行了圖像重建實(shí)驗(yàn),并與雙三次插值、A+[25]、SelfEx[26]、SRCNN[14]和VDSR[15]等經(jīng)典方法以及文獻(xiàn)[18]方法進(jìn)行了主觀效果和客觀評價(jià)指標(biāo)的比較,評價(jià)圖像重建質(zhì)量的客觀指標(biāo)使用峰值信噪比(PSNR)和結(jié)構(gòu)相似度(SSIM)。
增加網(wǎng)絡(luò)深度可以有效提高網(wǎng)絡(luò)的性能[16,20]。在本文中,增加殘差單元的數(shù)量是獲得更好圖像重建質(zhì)量的最簡單方法。實(shí)驗(yàn)訓(xùn)練了殘差單元數(shù)量分別為N=1,2,…,10 的網(wǎng)絡(luò),并采用在Set5測試集上尺度因子為×3 的測試結(jié)果,殘差單元的數(shù)量對PSNR 值、時(shí)間(復(fù)雜度)的影響如圖3 所示。由圖3 可以看出隨著殘差單元數(shù)量增加,峰值信噪比(PSNR)數(shù)值有所提升,網(wǎng)絡(luò)層數(shù)逐漸加深,同時(shí)網(wǎng)絡(luò)中訓(xùn)練的參數(shù)量也增多,網(wǎng)絡(luò)更加復(fù)雜,造成圖像重建速度變慢。當(dāng)N=9、10,即網(wǎng)絡(luò)層數(shù)為29 層、32 層時(shí),PSNR 值的增加并不明顯。因此本文網(wǎng)絡(luò)結(jié)構(gòu)采用8 個(gè)殘差單元,共26 層卷積神經(jīng)網(wǎng)絡(luò)。
圖3 網(wǎng)絡(luò)深度對PSNR值、時(shí)間(復(fù)雜度)的影響
為了分析不同殘差單元下方法模型的特征學(xué)習(xí)能力,在相同的訓(xùn)練集和參數(shù)設(shè)置下,對采用不同殘差單元的模型分別進(jìn)行訓(xùn)練。在實(shí)驗(yàn)中,方法模型均采用8個(gè)殘差單元,并采用在Set5 測試集上尺度因子為×3 的測試結(jié)果。圖4顯示了經(jīng)過迭代40萬次后,在Set5測試集上單一尺度殘差單元(圖2(c))和本文多尺度殘差單元(圖2(d))的平均PSNR收斂曲線。圖5顯示了經(jīng)過迭代40 萬次后,在Set5 測試集上無BN 層殘差單元(圖2(b))和本文多尺度殘差單元(圖2(d))的平均PSNR 收斂曲線。
圖4 Set5測試集上不同尺度殘差單元PSNR收斂曲線
圖5 無BN層殘差單元與本文殘差單元PSNR收斂曲線
圖4和圖5 顯示了本文采用多尺度殘差單元的網(wǎng)絡(luò)模型相較于采用單一尺度殘差單元和無BN 層殘差單元的網(wǎng)絡(luò)模型可以實(shí)現(xiàn)更好的圖像重建性能,并且本文方法的收斂曲線稍有起伏并保持相對穩(wěn)定。由此看出,多尺度的卷積核可以提取到圖像多種特征,使得圖像重建時(shí)細(xì)節(jié)更加清晰,重建效果更好。如圖4 和圖5 所示,本文方法的收斂曲線在12×104次迭代后稍有波動并保持相對穩(wěn)定。而根據(jù)文獻(xiàn)[14]的圖6,難以判斷SRCNN 網(wǎng)絡(luò)在5×108 次迭代后是否已經(jīng)收斂并且性能飽和。因此,與SRCNN 相比,本文方法PSNR收斂更快。
本文使用3 個(gè)標(biāo)準(zhǔn)測試集Set5、Set14 和BSD100 進(jìn)行定量和定性比較,用雙三次插值(Bicubic)、A+、SRCNN、VDSR和文獻(xiàn)[18]的方法公布的代碼獲取評價(jià)指標(biāo)(PSNR 和SSIM)進(jìn)行比較。圖6~9 是從主觀角度對圖像的重建效果進(jìn)行的對比,當(dāng)尺度模糊因子分別為×2倍、×3倍、×4倍時(shí),在Set5和Set14測試集上使用本文方法和其他4 種經(jīng)典方法的結(jié)果圖像對比。可以看出,本文方法重建后的圖像紋理更清晰,細(xì)節(jié)更豐富,整體視覺效果更好。
如表1,是不同方法對測試集Set5、Set14和BSD100中圖像采用不同尺度因子(×2、×3 和×4)模糊后重建圖像的平均PSNR 和SSIM 的結(jié)果對比。結(jié)果表明,本文方法在PSNR 和SSIM 數(shù)值上優(yōu)于對比的方法。在3 個(gè)測試集上,本文方法的平均PSNR 相比于SRCNN 方法提升了0.74 dB,平均SSIM 提升了0.014 3 dB;相比于VDSR方法,平均PSNR提升了0.12 dB,平均SSIM提升了0.002 5 dB。
圖6 Set5中bird_GT尺度因子×2的重建對比圖
圖7 Set5中butterfly_GT尺度因子×3的重建對比圖
圖8 Set14中zebra尺度因子×3的重建對比圖
圖9 Set14中baboon尺度因子×4的重建對比圖
表1 在Set5,Set14和BSD100上不同方法的平均PSNR/SSIM對比
本文提出了多尺度殘差卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率重建方法,利用多尺度特征提取的思想,將多個(gè)不同尺度卷積核提取的特征信息進(jìn)行融合,用以解決當(dāng)前幾種經(jīng)典方法對圖像細(xì)節(jié)特征提取不夠充分和圖像紋理區(qū)域重建不夠清晰等問題;利用局部殘差學(xué)習(xí)和全局殘差學(xué)習(xí)相結(jié)合,提高了信息流傳播的效率,減輕了梯度消失現(xiàn)象。在標(biāo)準(zhǔn)測試集Set 5、Set 14和BSD100上的實(shí)驗(yàn)結(jié)果表明,本文方法相較于對比的其他5 種方法,在客觀評價(jià)量化和主觀視覺評價(jià)上均獲得了更好的表現(xiàn)。下一步工作中,將考慮對圖像重建部分進(jìn)行改進(jìn),使重建部分能更充分地利用網(wǎng)絡(luò)學(xué)習(xí)的特征,達(dá)到更好的圖像重建效果。