藺國梁
(蘭州文理學院 數字媒體學院,甘肅 蘭州 730010)
圖像是人類傳遞信息最便捷的載體之一,在醫學、智能交通、安全監控、遙感及國防等領域應用廣泛.然而在實際中因為環境和成像設備的限制,圖像質量仍不理想,不利于信息傳遞的準確性和完整性.因此,如何提升圖像質量成為研究者關注的熱點.圖像超分辨率(Super Resolution,SR)重建的主要思想是通過計算機軟件技術在原有低分辨率(Low Resolution,LR)圖像的基礎上,產生單幀或多幀邊緣和紋理清晰的高質量、高分辨率(High Resolution,HR)圖像的過程[1-2].目前圖像SR重建方法主要有3種:基于插值的方法、基于重建的方法和基于學習的方法[3-4].基于深度學習的方法近年來受到人們的青睞,其主要思想是利用觀測到的LR圖像和原始HR圖像之間的映射關系及大量的訓練樣本數據,從中學習得到更多高頻細節的HR圖像.
2014年Dong等[5]在傳統方法的基礎上提出一種包含3層卷積的深度學習卷積神經網絡(Convolutional Neural Network, CNN)實現圖像SR重建,即SRCNN(Super Resolution Convolutional Network)方法,并取得了良好的效果.由于卷積層較少,HR圖像預測僅依靠輸入LR圖像內較小局部區域像素之間相關信息,模型重建精度有限.Wang等[6]在CNN模型中應用稀疏編碼表示先驗信息,實現重建,提高了重建質量并簡化了模型.Kim等[7]提出了一種帶有深度反饋信息的網絡模型SR方法(VSDR)運用20層的卷積網絡來重建HR圖像高頻信息,利用殘差學習加快網絡收斂速度,證明了該方法有助于超分辨率重建的性能提升.但是VSDR方法增加了訓練和重建的時間復雜度.以上方法在圖像分塊的過程中,容易破壞圖像的整體結構,導致重建結果存在“網格化”效應,丟失圖像的高頻信息,出現計算復雜、重建效果不理想的問題.
基于以上問題,本文提出一種基于深度殘差卷積神經網絡的圖像超分辨率重建方法.該方法以LR 圖像為輸入,采用殘差卷積神經網絡在 LR 空間提取特征,得到殘差圖像,最后將輸入的LR圖像與得到的殘差圖像進行線性相加實現圖像超分辨率重建.
SRCNN方法是深度學習在圖像超分辨率重建中的重要方法之一,其網絡結構(如圖1所示)有3層:特征提取、非線性映射和圖像超分辨率重建.

圖1 SRCNN 網絡框架
該網絡的特征提取、非線性映射和圖像HR重建3個過程的具體實現過程如公式(1)~(3)所示.
F1(Y)=max(0,W1*Y+B1).
(1)
F2(Y)=max(0,W2*F1(Y)+B2).
(2)
F3(Y)=W3*F2(Y)+B3.
(3)
其中:Fi(·),i=1,2,3表示圖像的特征圖,Wi,i=1,2,3是卷積核,大小為n×c×f×f,c為通道數,c=1,n1=64,f1=9,n2=32,f2=1,n3=1,f3=5.*表示卷積運算,Bi,i=1,2,3為偏移向量.max(0,x)表示卷積之后的結果經過ReLU激活函數處理,將其值取0和卷積結果的最大值為最終值,用于濾波器響應[8].
隨著CNN網絡的發展,He等首次提出殘差學習網絡框架ResNet.殘差結構是在網絡中添加一個跳躍從而繞過一些層的連接,包含一個跳躍的幾層網絡稱為一個殘差塊.如圖2(a)中,H(X)為理想映射,F(X)為殘差映射,H(X)=F(X)+X.通過將擬合目標函數H(X)轉變為擬合殘差函數F(X),此時,只需要F(X)=0,就能夠構成恒等映射H(X)=X,使得擬合殘差更加容易.因此,殘差網絡只需要學習輸入與輸出之間的差別,將其與LR圖像的原始信息疊加,可以提高HR圖像重建質量.由于ResNet中BN(Batch Normalization,BN)層降低了訓練速度,會導致網絡發散和不穩定,同時BN會破壞圖像的原始信息而影響重建圖像質量,因此在本文研究中去除BN層,改進后的殘差單元如圖2(b)所示.
同時,在本文殘差網絡中采用ELU激活函數[8],相比ReLU,ELU可以取到負值,這讓單元激活均值可以更接近0,在輸入較小值時具有軟飽和的特性,提升了對噪聲處理的魯棒性,同時能減少數據的計算量.ELU激活函數如下:
(4)

(a)ResNet 殘差單元結構
本文網絡在SRCNN的基礎上提出了一種改進的殘差網絡卷積神經網絡超分辨率圖像重建算法.該網絡共包含18個卷積層,由5部分組成:低分辨率圖像輸入、卷積特征提取、4個殘差塊組成的非線性映射部分(每個殘差塊由4個殘差單元構成)、殘差圖像特征層和高分辨率圖像輸出層,整體結構如圖3所示.
(1)輸入輸出層.提出的網絡以原始圖像作為輸入,輸出層與輸入層圖像大小一致.
(2)特征提取層.輸入圖像經過Bicubic插值得到低分辨率圖像.特征提取由一個卷積層和一個激活函數層組成,將輸入的低分辨率圖像Y與n1個特征圖進行特征提取,提取特征的過程可描述為:
B0=σ(W1*Y+b1).
(5)
其中:*為卷積操作,σ為ELU激勵函數,W1為第一個卷積層的卷積核.在特征提取時設置卷積核大小為3×3像素,濾波器數量n1=64.在卷積操作時,對所有卷積層進行“補零”操作,保證每次卷積后圖像大小不變.(3)非線性映射層.在圖像超分辨率重建中,訓練深層卷積神經網絡時,為保留不同水平的圖像特征,非線性映射過程使用局部殘差連接方式,本文在實驗中非線性映射過程由4個殘差模塊組成,每個殘差塊由4個殘差單元組成,對ResNet殘差單元進行了改進,改進的殘差單元可表示為:
Hm=Gm(Hm-1)=F(Hm-1,Wm)+Hm-1.
(6)
其中:Hm-1和Hm分別為第m個殘差單元的輸入和輸出;F為學習到的殘差映射,即
(7)

(4)網絡重構.在網絡最后一層設置單獨的3×3像素的卷積層作為網絡輸出層,通過前面殘差網絡輸出圖像塊的特征圖,饋送到最后的卷積層,以便產生與輸入圖像相同數量通道的張量.將得到的殘差圖像與輸入的插值LR圖像相加,最終融合成一個完整的HR圖像,具體重建過程如圖4所示.

(a)低分辨率圖像Y (b)殘差圖像R (C)高分辨率圖像Z
本實驗環境為Windows7操作系統,軟件平臺為Python3.7,深度學習框架采用Tensorflow1.8版本,圖形處理采用OpenCV,硬件配置CPU為Intel(R) Core i5-4580@3.2 GHz,內存為6GB,GPU為4GB的GTX1050.
訓練數據集選Timofte發布的數據集DIV2K.本文選用該數據集中的800個訓練圖像.首先將訓練集的高分辨率圖像運用雙三次差值(Bicubic)算法縮小為原來的1/3,然后再放大,使其變成低分辨率圖像,并在訓練過程中選取大小為32×32像素,步長為14的23 890張子圖像作為網絡輸入.試集采用set5、set14和BSD100數據集.
算法采用Adam梯度優化算法[9],學習率初始化為0.0001,權重衰減參數為0.0005,網絡的動量參數為0.9.
為了定量表示重建結果,本文采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)和結構相似度(Structural Similarity,SSIM)2個指標作為重建效果的評價標準.PSNR是通過計算圖像內像素最大值與加性噪聲功率的比值來衡量重建圖像是否存在失真問題,其數值越大,則說明重建圖像效果越好.PSNR的計算方法如公式(8)所示.
(8)
其中,MSE表示原始圖像與處理后圖像的均方誤差,MAXI表示圖像顏色的最大值,采樣圖像的像素范圍為0255.MSE的計算公式如下:
(9)
SSIM是衡量原始圖像與處理圖像之間的結構度、亮度和對比度的相似性,其值與1進行比較,越接近于1,表示輸出圖像質量越好,其計算公式如下:

(10)
其中,uI和uISR表示低分辨率輸入圖像I和重建圖像ISR的均值;σI和σISR表示I和ISR的方差;σIISR表示I和ISR的協方差;C1和C2表示防止分母趨于0的常數;通常SSSIM∈(-1,0].
為了驗證本文算法的有效性,將其分別與Bicubic算法、SRCNN算法和FSRCNN算法進行定性和定量比較.在set5數據集上圖像尺寸放大2倍、3倍和4倍后,圖像SR重建的定量比較結果如表1所列.在set14數據集上圖像放大3倍后圖像SR重建的定量比較結果如表2所列.通過PSNR和SSIM總結了幾種方法對超分辨率的重建效果.
從表1中可以看出,本文算法相較于Bicubic、SRCNN和FSRCNN算法在PSNR值上擴大因子為2時,均值分別提升了0.432、0.778和0.63dB;擴大因子為3時提升了0.062、0.566、0.818dB,擴大因子為4時提升了0.32、0.6和0.772dB.在擴大因子為2時,SSIM均值提升了0.0112、0.0288和0.0324,擴大因子為3時提升了0.0100、0.02718和0.0213,擴大因子為4時提升了0.01214、0.01868和0.03834.

表1 不同方法在set5數據集上的PSNR和SSIM結果(放大倍數=2,3,4)

表2 不同算法在set14數據集上的PSNR/SSIM的對比
由表2的定量數值分析可以看出,本文算法的PSNR平均值比Bicubic算法、SRCNN算法和FSRCNN算法的PSNR平均值分別提高3.01、0.04和0.74,SSIM的平均值分別提高0.0689、0.0035和0.0291.實驗結果較好地驗證了本文算法的有效性,在一定程度上增強了重建圖像的紋理信息和清晰度.
圖5~7分別為在set14種的Baboon、Face和Pepper進行3倍尺寸放大后不同算法的視覺效果比較,比較結果如圖5~7所示.
從圖5~7可以看出本文算法重建出的圖像較為清晰,細節更為豐富,并對噪聲有一定的抑制作用.

(a)原圖 (b)BIcubic (c)SRCNN (d)本文方法

(a)原圖 (b)Bcubic (c)SRCNN (d)本文方法

(a)原圖 (b)Bicubic (c)SRCNN (d)本文方法
本文提出了一種改進殘差網絡的單幅圖像超分辨率重建算法.該網絡包含18個卷積層,改進了ResNet的殘差單元,移除BN層,有效抑制了圖像空間信息的破壞.采用ELU激活函數,具有修正數據分布以及加速收斂的優點,同時又不完全丟失特征.改進后的殘差網絡較好地抑制了網絡退化問題,并大大提高了收斂速度.實驗結果表明本算法在重建效果和客觀指標上均優于其他3種方法,不僅獲得圖像更多的紋理信息和邊緣細節,而且重建效果真實.