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