應(yīng)自爐,龍祥
(五邑大學(xué) 智能制造學(xué)部,廣東 江門 529020)
圖像超分辨率重建可以應(yīng)用在城市安防、衛(wèi)星遙感、醫(yī)學(xué)圖像等多個領(lǐng)域,具有重要的研究價值,其實現(xiàn)方法包括基于插值法[1]、基于重建法[2]和基于學(xué)習(xí)法[3-5]等.2006年,Geoffrey Hinton[5]提出深度學(xué)習(xí)算法,該算法被成功地應(yīng)用在多個領(lǐng)域,并且取得了很好的實驗結(jié)果.2014年,Dong等人[6]提出基于卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率(Super Resolution Convolutional Neural Network,SRCNN),首次將深度學(xué)習(xí)方法應(yīng)用在SRR.SRCNN是一個三層的卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)建立了經(jīng)過插值處理后的LR圖像和HR圖像之間端到端的映射關(guān)系.其實驗結(jié)果遠(yuǎn)超前人提出的方法.Kim等人[7]在前人的基礎(chǔ)上增加了網(wǎng)絡(luò)的深度提出基于深度卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率算法(Very Deep Super Resolution),取得了比SRCNN更好的結(jié)果.深度學(xué)習(xí)算法的廣泛應(yīng)用使得圖像超分辨率重建在最終的圖像質(zhì)量上取得了較大的進(jìn)步,但是仔細(xì)比較重建后的圖像與目標(biāo)圖像后,深度學(xué)習(xí)算法在圖像的高頻細(xì)節(jié)恢復(fù)上還有所欠缺.因此,本文提出一種基于特征補(bǔ)償?shù)纳疃壬窠?jīng)網(wǎng)絡(luò)重建超分辨率圖像算法.該算法將針對圖像的紋理細(xì)節(jié)恢復(fù)問題,從而進(jìn)一步提高圖像質(zhì)量.主要工作是將低分辨率圖像的高頻信息單獨(dú)提取并進(jìn)行上采樣處理后再與重建后的圖像融合,形成特征補(bǔ)償,提取低分辨率圖像的高頻信息使用U型網(wǎng)絡(luò)[8],同時為重建出質(zhì)量更高的圖像,本文算法引入密集型卷積網(wǎng)絡(luò)[9]思想用以增加網(wǎng)絡(luò)深度.
圖像超分辨率重建的難點(diǎn)之一就是如何更好地恢復(fù)圖像中的紋理細(xì)節(jié).在文獻(xiàn)[10]中使用了sobel算子提取圖像的高頻部分,然后結(jié)合低分辨率圖像重建出銳化程度較高的超分辨率圖像.但該方法存在提取的邊緣魯棒性不夠等問題,導(dǎo)致最終的效果不理想.U型網(wǎng)絡(luò)能夠較好地避免該缺點(diǎn),因為經(jīng)過訓(xùn)練后的網(wǎng)絡(luò)提取的紋理細(xì)節(jié)更加豐富.U型網(wǎng)絡(luò)將輸入圖像依次進(jìn)行卷積和池化處理,得到具有代表性的紋理圖像,再將其依次進(jìn)行卷積和上采樣處理,并與之前具有相同大小的特征圖融合,防止特征信息遺漏.模型結(jié)構(gòu)如圖1所示,將圖像傳輸?shù)経型網(wǎng)絡(luò),可以得到該圖像的高頻紋理圖,如圖2所示.觀察圖2可以看出U型網(wǎng)絡(luò)能夠較好提取輪廓信息.
圖1 U型網(wǎng)絡(luò)框圖
圖2 U型網(wǎng)絡(luò)提取紋理效果圖
隨著卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的日益加深,網(wǎng)絡(luò)在訓(xùn)練過程中的前傳信號和梯度信號在經(jīng)過很多層之后可能會逐漸消失.目前常用解決辦法都是創(chuàng)建一個跳躍連接層來連通前后層.密集型卷積神經(jīng)網(wǎng)絡(luò)就是基于這個理念,將網(wǎng)絡(luò)中的所有層兩兩連接,使得網(wǎng)絡(luò)中每一層都接受前面所有層的特征作為輸入.該網(wǎng)絡(luò)可以在一定程度上減輕訓(xùn)練過程中梯度消失問題,并且由于大量的特征被重復(fù)使用,使用少量的卷積核就能夠生成大量的特征,模型參數(shù)量較少便于訓(xùn)練.網(wǎng)絡(luò)結(jié)構(gòu)如圖3.
圖3 密集型網(wǎng)絡(luò)結(jié)構(gòu)圖
圖像超分辨率重建是通過提取低分辨率圖像的細(xì)節(jié)信息,并將提取的細(xì)節(jié)信息經(jīng)過重建等步驟得到其相應(yīng)的高分辨率圖像.這種端到端的非線性映射關(guān)系可以使得網(wǎng)絡(luò)能夠?qū)W習(xí)到低分辨率圖像的高頻信息.對比訓(xùn)練結(jié)果與目標(biāo)圖像如圖4所示,可以看出紋理細(xì)節(jié)恢復(fù)有所欠缺.因此,本文提出一種基于特征補(bǔ)償?shù)膱D像超分辨率重建網(wǎng)絡(luò)來提高圖像的質(zhì)量.
圖4 紋理損失圖
SRCNN是深度學(xué)習(xí)應(yīng)用在圖像超分辨率重建的開山之作,其網(wǎng)絡(luò)模型只包含三層卷積層.首先使用雙三次插值將LR圖像放大成目標(biāo)尺寸,通過三層卷積網(wǎng)絡(luò)擬合非線性映射,最后輸出HR圖像.
本文網(wǎng)絡(luò)結(jié)構(gòu)在SRCNN基礎(chǔ)上進(jìn)行改進(jìn),結(jié)構(gòu)如圖5所示,首先需要對LR圖像分別做3種方式的處理:第一,對LR圖像做卷積處理提取底層特征圖,再將特征圖輸進(jìn)密集型卷積網(wǎng)絡(luò),這樣可以保證深層結(jié)構(gòu)的同時,確保網(wǎng)絡(luò)中各層之間的最大特征信息流的交互,網(wǎng)絡(luò)中使用跳躍的短路徑作為殘差連接.通過短路徑將所有具有相同特征映射大小的特征圖連接起來,每一層的輸入都附加前面所有層的輸出,這種從前面層到后續(xù)層的短路徑不僅可以緩解梯度消失問題,而且增強(qiáng)了特征傳播,促進(jìn)了特征再利用,保留了前向傳播的特性.之后與提取的底層特征圖做融合處理,形成殘差學(xué)習(xí),可以有效避免梯度消失現(xiàn)象.經(jīng)過重建模塊后得到HR圖像;第二,對LR圖像進(jìn)行插值處理使其與目標(biāo)圖像大小相同,此部分為重建后的圖像補(bǔ)償?shù)皖l信息;第三,LR圖像經(jīng)插值處理后,將圖像的顏色空間轉(zhuǎn)換為YUV模式,并將Y層圖像傳輸進(jìn)U型網(wǎng)絡(luò)用以提取紋理特征,此部分的目的是為重建后的圖像補(bǔ)償高頻信息.
其中,R、G、B分別表示輸入圖像的3個圖層.
在網(wǎng)絡(luò)模型的末端將U型網(wǎng)絡(luò)輸出的紋理圖像與重建后的圖像相乘,再與插值處理后的圖像相加,得到最終的HR圖像.通過高頻特征信息和低頻特征信息補(bǔ)償后得到HR圖像質(zhì)量更高,視覺效果更好.
圖5 本文算法結(jié)構(gòu)圖
實驗所用計算機(jī)的CPU為InterCore i3-7350k,GPU為GeForce GTX1080,內(nèi)存為16 Gb,操作系統(tǒng)為Ubuntu16.04,深度學(xué)習(xí)框架為Tensorflow,加速庫為CUDA Toolkit 8.0,圖像處理庫為OPENCV3.4.在學(xué)習(xí)率的設(shè)置上,本文采用學(xué)習(xí)率衰減的方法以防止訓(xùn)練時間過長.在本實驗中學(xué)習(xí)率初始化為0.001,每訓(xùn)練10個epoch,學(xué)習(xí)率衰減一半.采用隨機(jī)梯度下降法(SGD)訓(xùn)練網(wǎng)絡(luò).
本文采用DIV2K數(shù)據(jù)集為訓(xùn)練集.該數(shù)據(jù)集由1 000張高清圖片組成,每張圖片的像素在200萬左右.圖片的細(xì)節(jié)部分清晰,適合用來作為超分辨率訓(xùn)練.通過旋轉(zhuǎn)、縮放等方式對數(shù)據(jù)進(jìn)行增強(qiáng),使得數(shù)據(jù)擴(kuò)充數(shù)倍,可以有效避免過擬合.測試集使用Set5,Set14,BSD100,Urban100等標(biāo)準(zhǔn)圖像超分辨率重建評價數(shù)據(jù)集.
為驗證本文算法的實際效果,分別對3個測試集進(jìn)行實驗,并且與當(dāng)前主流的圖像超分辨率重建算法進(jìn)行對比.實驗結(jié)果采用通用的圖像質(zhì)量客觀評價標(biāo)準(zhǔn):峰值信噪比(PSNR).PSNR是基于對應(yīng)像素點(diǎn)間的誤差,即誤差敏感圖像質(zhì)量評價.PSNR的值越高表示圖像質(zhì)量越好,其計算方法如下:
其中Yi表示LR,Xi表示HR,θ是權(quán)值參數(shù)和偏置的集合,MSE為真實圖像與重建圖像的均方誤差i表示訓(xùn)練集的圖片,n一般取8.
首先對訓(xùn)練數(shù)據(jù)集中每張圖像按照步長為16進(jìn)行截取,得到若干個分辨率為128×128像素的原始HR圖像塊,然后隨機(jī)取64個圖像塊作為一個batch.對每一個batch中的圖像塊做4倍的下采樣,得到32×32像素的LR圖像.密集型網(wǎng)絡(luò)的設(shè)置為10層卷積層,卷積核的大小設(shè)置為3×3,通道數(shù)為64.在訓(xùn)練過程中每一張輸入的LR圖像都有其對應(yīng)的HR圖像來計算他們之間損失值,神經(jīng)網(wǎng)絡(luò)模型通過LR到HR這種端到端的映射關(guān)系學(xué)習(xí)到網(wǎng)絡(luò)中的權(quán)值參數(shù).本文算法使用的是L1損失函數(shù)即MSE,計算方法如下:
將本文算法與插值法、A+和SRCNN算法在Set5數(shù)據(jù)集的單張圖像上測出其效果圖的PSNR值,如表1所示.從表中數(shù)據(jù)對比可以看出,在放大的尺度因子為3的前提下,本文算法在4個測試數(shù)據(jù)集上得到的平均PSNR值均優(yōu)于其他方法.
表1 超分辨率算法4種測試集的PSNR平均值
為了更加直觀地表現(xiàn)特征補(bǔ)償深度網(wǎng)絡(luò)算法的有效性,本文算法與插值法、A+、SRCNN圖像超分辨率算法進(jìn)行對比.分別在Set5,Set14,BSD100和Urban100測試數(shù)據(jù)集中各隨機(jī)抽取一張圖片,將他們都進(jìn)行3倍下采樣處理,再輸入到各個網(wǎng)絡(luò)模型中,實驗效果對比如圖6所示.通過觀察圖6,本文算法相比于插值法和SRCNN算法,PSNR均高于其他圖像,紋理細(xì)節(jié)更加飽滿.
圖6 本文算法與其他算法重建效果對比圖
本文提出了一種基于特征補(bǔ)償?shù)纳疃壬窠?jīng)網(wǎng)絡(luò)圖像超分辨率重建算法以解決當(dāng)前主流算法中對于低分辨率圖像中的細(xì)節(jié)紋理細(xì)節(jié)恢復(fù)部分欠缺的問題.本文模型算法使用U型網(wǎng)絡(luò)提取LR圖像的紋理特征信息經(jīng)過插值處理后與重建后的圖像形成特征信息補(bǔ)償.另外,引入密集型卷積網(wǎng)絡(luò)思想,每個殘差塊之間使用短路徑相連,這樣不僅可以保證每一層的特征信息不丟失,而且還可以使得網(wǎng)絡(luò)梯度一直保持存在的狀態(tài),不會發(fā)生梯度消失現(xiàn)象.通過實驗對比,本文算法能夠重建出PSNR值更高的超分辨率圖像.本文算法在進(jìn)行訓(xùn)練時均采用默認(rèn)的下采樣處理后得到降質(zhì)的LR圖像,所以訓(xùn)練出來的模型針對這類低分辨率圖像的恢復(fù)效果較好.但是實際測試中,測試圖像的質(zhì)量降低的原因并不只是由于降采樣,還包括運(yùn)動模糊、天氣等其他原因,在做這類圖像的重建時,恢復(fù)效果在直觀視覺中可能不理想.如何讓訓(xùn)練的數(shù)據(jù)集能夠更加貼近實際的LR圖像將是下一步研究方向.