畢篤彥, 王世平, 劉 坤, 何林遠
(空軍工程大學航空工程學院,陜西 西安 710038)
圖像作為傳遞信息的主要媒介,人類對其依賴性與日俱增,在醫(yī)學成像、衛(wèi)星遙感及視頻監(jiān)控等諸多領域有著廣泛的應用[1]。如何獲取魯棒的圖像信息以及豐富的高頻細節(jié),學習更加精確的特征是計算機視覺領域將要研究的方向。圖像的超分辨率重建(super-resolution,SR)技術借助于相關模型架構進行特征提取,通過恢復出高頻信息,有效地提高了圖像的質量[2]。
當前,SR技術[3]主要可分為基于插值的算法、基于重建的算法和基于學習的算法。在SR技術中,基于插值的算法[4]較為簡單,但算法僅利用鄰域像素的灰度值來表達圖像信息,這導致圖像的邊緣輪廓難以有效地復原,造成細節(jié)信息的丟失。基于圖像重建的算法[5]能夠在一定程度上提高分辨率,該算法以先驗知識為約束,解決圖像退化模型中存在不定解的問題,但由于重建圖片嚴重依賴于高分辨率圖像的先驗知識,對于復雜圖像其重建效果將會急劇下降。基于學習的算法[6]是目前超分辨率領域中研究的熱點方向,依賴于機器學習理論,該算法通過提取高分辨率圖像和低分辨率圖像的特征,學習兩者之間的映射關系,最后實現(xiàn)圖像的重建。文獻[7]結合稀疏表示理論,對高分辨率圖像塊字典和低分辨率圖像塊字典進行聯(lián)合訓練,得到低分辨率圖像塊的稀疏系數(shù),并重建出對應的高分辨率圖像。文獻[8]基于稀疏表示理論改進過完備字典,將其理論運用到重建模型中。同時,文獻[9-10]將稀疏編碼應用到深度圖重建問題中。上述算法對重建圖像有一定的提升,然而在字典訓練的過程中,不相關的圖像對往往造成字典冗余,使得字典訓練的時間較長。
2014年,文獻[11]將卷積神經(jīng)網(wǎng)絡模型首次引入到SR技術,借助于卷積神經(jīng)網(wǎng)絡(convolution neural network,CNN)實現(xiàn)SR算法(SR convolution neural network,SRCNN)。遺憾的是,由于網(wǎng)絡層數(shù)的局限性,該算法提取特征受到限制,圖像質量還需進一步提升[12]。基于此,相關研究者通過加深網(wǎng)絡層數(shù)來獲得豐富的圖像特征,從而提高圖像的分辨率。文獻[13]在2016年借助Resnet并使用梯度裁剪技術,提出的深度SR(very deep SR,VDSR)CNN在后向傳遞過程中有效地避免了梯度彌散的問題,并且使用卷積補零的策略,使得圖像尺寸保持不變。同時,文獻[14]提出了深度循環(huán)卷積網(wǎng)絡(deeply-recursive convolutional network,DRCN),豐富了圖像細節(jié)信息,提高了圖像質量。然而現(xiàn)有的基于卷積網(wǎng)絡的SR算法還需改進。一方面,盡管其可以恢復出高分辨的結果,但部分高頻信息仍舊有些模糊,細節(jié)表現(xiàn)不夠豐富。文獻[15]以額外的手工高頻信息作為約束,以計算更新更多的參數(shù)為代價,來提升其網(wǎng)絡的有效性。另一方面,當前,基于深度學習的超分辨率技術[16-17]都依賴于級聯(lián)網(wǎng)絡,重建圖像僅僅來源于非線性映射模塊的單一映射,其特征的多寡往往決定于圖像質量的高低。事實上,映射模塊的中間層也能夠表達出與相鄰層不同的圖像信息[18]。所以,如何獲取卷積層中的內部信息,增加超分辨率圖像樣本數(shù)目,構建魯棒的映射關系,將影響超分辨率圖像的效果。
基于上述考慮,本文以深層網(wǎng)絡為基本架構,在充分分析運用深度學習理論及技巧的基礎上,通過跨接連線方式,有效提取映射模塊中豐富的圖像特征,搭建一種以并行映射輸出的卷積網(wǎng)絡框架,實現(xiàn)超分辨率圖像的重建。更為重要的是,通過借鑒傳統(tǒng)方法的成功經(jīng)驗,對于損失函數(shù)的構建,考慮把全變分理論引入到正則項中,利用L1范數(shù)和L2范數(shù)對網(wǎng)絡的輸出施以聯(lián)合約束,從而重建出精確、有效的高分辨率圖像,解決SR的病態(tài)問題。通過在公開數(shù)據(jù)集上與同類算法進行比較,實驗表明,該方法較之以往有較明顯的提升,具有一定的參考和借鑒價值及意義。
對于SR問題,是指在同一場景下,將模糊的低分辨率圖像Y恢復出其對應清晰的高分辨率圖像X。通過對一系列的低分辨率圖像Y的細致分析,發(fā)現(xiàn)其是由高分辨率圖像X經(jīng)過降質變換而產生的。其觀測模型為
Y=DBMX+N
(1)
式中,D表示降采樣算子;B表示光學模糊算子;M表示運動模糊算子;N表示加性噪聲。
由式(1)可知,SR屬于一個病態(tài)問題,本文的工作就是利用圖像中的重要信息實現(xiàn)重建工作,從而將一個病態(tài)的問題轉化為良態(tài)問題。不同于傳統(tǒng)算法,基于卷積網(wǎng)絡的超分辨率算法能夠學習到更加抽象的圖像信息[19],其網(wǎng)絡中的卷積核獲得的魯棒特征,有效地實現(xiàn)對輸入圖像的SR。當前,典型的基于卷積網(wǎng)絡的超分辨率算法主要由3個模塊構成。
(1) 解析抽取圖像特征;
(2) 非線性映射;
(3) 圖像塊的重建。
如圖1所示,典型的卷積網(wǎng)絡為了得到更加豐富的訓練樣本,往往先對數(shù)據(jù)庫進行預處理,以此獲得更為魯棒的圖像特征。其中,圖像預處理的方式主要有尺度變換、旋轉變換、鏡像變換等操作,從而獲得具有更多維度的圖像子塊,更新訓練網(wǎng)絡的模型參數(shù)。在特征提取模塊中,卷積層可表示為
F1(Yi)=Φ(W1?Yi+b1)
(2)
式中,Φ表示激活函數(shù),采用帶參數(shù)的線性整流函數(shù)(parametric rectified linear unit,PReLU)[20]作為激活函數(shù),其中Φ(Y)=max(0,Y)+βmin(0,Y),β是負Y的學習性斜率參數(shù);W1為一組包含權重的濾波器,尺寸為n1×c×f1×f1;n0為特征圖的個數(shù),c表示輸入圖像中通道的個數(shù),f1×f1是卷積核的尺寸,b1為偏差。

圖1 SRCNN框架示意圖Fig.1 Fram diagram of SRCNN
網(wǎng)絡提取低分辨圖像的特征后,先將獲取的圖像特征維度通過級聯(lián)映射方式進行串行變換,再對n1維低分辨特征向量轉化為n2維高分辨特征向量。非線性映射過程主要通過卷積操作使特征圖的維數(shù)發(fā)生改變,再將輸出的特征圖經(jīng)PReLU處理,選用更少的網(wǎng)絡參數(shù)進行訓練,有效地降低網(wǎng)絡模型的復雜度,即
F2(Yi)=Φ(W2?F1(Yi)+b2)
(3)
與特征提取模塊中卷積層類似,W2表示n2個大小為n1×f2×f2濾波器;b2為非線性層偏差。典型的卷積網(wǎng)絡算法通過濾波器與圖像塊進行卷積,重建出的高分辨率圖像接近于真實圖像,即
F(Yi)=W3?F2(Yi)+b3
(4)
式中,W3是尺寸大小為n3×c×f3×f3的濾波器;b3是n3維的偏差。
上述方法由于能更好挖掘內部潛在特征信息,并利用特征組構相關高分辨圖像。然而現(xiàn)有超分辨率算法也具有一定的局限性,主要為:
(1) 在非線性映射模塊中,盡管級聯(lián)網(wǎng)絡中的多個卷積核構成非線性映射模塊,但圖像重建僅依賴于非線性映射模塊中的最后一層輸出。事實上,映射模塊的中間層也能夠提取魯棒特征,但這些特征會受到相鄰卷積層的“干擾”,導致中間層提取到的有效特征無法在重建時引入,造成細節(jié)上的損失。
(2) 在損失函數(shù)中,典型的CNN模型通常采用最小二乘法作為正則項來預測高分辨率圖像,但這種約束往往造成圖像的邊緣輪廓不夠清晰,在成像過程中往往丟失部分細節(jié)信息。
分析上述卷積網(wǎng)絡模型存在的不足,結合非線性映射模塊能夠充分發(fā)掘圖像潛在的魯棒特征的特點,本文構建并行映射卷積網(wǎng)絡(parallel mapping convolutional network,PMCN)模型,通過卷積跳線提取到更加充分的圖像細節(jié),解決了級聯(lián)網(wǎng)絡中重建模塊僅依賴于單一映射的難題,有效地提高了SR的圖像質量。PMCN參照多映射卷積網(wǎng)絡模型[21]可以分為4個模塊:塊提取、并行映射、塊重建和全變分。與多映射卷積網(wǎng)絡不同的是,本文模型在跳線上引入了卷積核,構成了卷積跳線。在結構上類似于5層SRCNN網(wǎng)絡的并聯(lián)形式,使得整個并行映射模塊具有非常靈巧的結構特點。在功能上,由于卷積跳線的多寡直接決定著圖像高頻信息的質量,因此在跳線上引入更多的卷積核可以學習到更加豐富的語義特征。本文網(wǎng)絡結構如圖2所示。

圖2 PMCN模型結構示意圖Fig.2 Network architecture of the PMCN
為了進一步改善超分辨率圖像的重建質量,網(wǎng)絡去除池化層,使其具有更多的高頻信息,引入并聯(lián)卷積跳線,顯著地增加了并行映射模塊中學習到圖像特征的數(shù)目,建立具有多元映射關系的并行網(wǎng)絡模型。與此同時,為了解決重建圖像細節(jié)模糊的問題,改進了包含最小二乘法的損失函數(shù),在正則項加入全變分約束,使卷積網(wǎng)絡預測的圖像具有更豐富的細節(jié)信息,更好地實現(xiàn)對低分辨率圖像的SR。
由上述分析可知,非線性映射模塊對圖像質量的改善有著很好的效果,如何學習非線性映射的內外關系,將是提高圖像分辨率的重要部分。充分剖析當前幾種非線性映射模塊可以發(fā)現(xiàn):SRCNN通過一組卷積核對給定圖像進行卷積,使得每個卷積核能夠提取一種形式的特征,再將學習到的特征通過非線性模塊構建高、低分辨率映射關系。盡管這種簡單的級聯(lián)網(wǎng)絡能夠利用3層卷積核實現(xiàn)端到端的學習,但是較小的感受野會限制SRCNN對深層語義特征的學習,同時,受到自身層數(shù)的限制,在后向傳遞過程中易造成梯度彌散的問題。DRCN利用網(wǎng)絡的深度進一步增大感受野,根據(jù)其不同的位置提取對應的特征信息,然而僅僅通過增加網(wǎng)絡的深度,獲取的圖像信息并不具備較強的魯棒性,從網(wǎng)絡結構的輸出來看仍然是單一映射的方式。VDSR通過加入全局殘差的方式解決了重建模塊中單一映射的問題,但也會導致網(wǎng)絡在特征提取過程中,只關注那些滿足假設的殘差,而對不滿足假設的特征很難進行有效提取。基于卷積網(wǎng)絡的超分辨率算法僅依賴于映射模塊中的最后一層輸出,事實上,映射模塊的中間層也能夠學習到特征,但這些特征會受到相鄰卷積層的“干擾”,導致中間層提取到的有效特征無法在重建時引入。結合上述分析,比較了映射模塊的卷積特點,觀察到中間層也會學習到與相鄰卷積層不同的有效特征。因此,依次將卷積跳線引入到映射模塊,構建并行映射模型,從而通過提取中間層學習到的魯棒特征,增大了重建模塊中的圖像信息量。
在并行映射模型中依次添加1條、3條和5條卷積跳線,以此證明卷積跳線的多寡能夠影響重建圖像的質量,其連接方式如表1所示。

表1 卷積跳線的連接方式
為了證明并行映射模塊的卷積跳線能夠有效地保留圖像的邊緣信息,將模塊中的15個卷積層分為5個串行單元,使用卷積跳線將串行單元的輸出連接到重建模塊,構建并行映射模型,再將本文的并行映射模型與沒有卷積跳線的級聯(lián)網(wǎng)絡模型進行比較,不同場景圖像的邊緣信息如圖3所示。

圖3 卷積跳線示意圖Fig.3 Schematic diagram of convolution skip connections
從上述幾組對比實驗中可以發(fā)現(xiàn),卷積跳線對于圖3中不同場景下的圖像能夠增加其豐富的邊緣信息,進而發(fā)現(xiàn),隨著表1中卷積跳線數(shù)目的增加,圖4獲得更多的魯棒特征,其分辨率也逐步提升。因此,神經(jīng)網(wǎng)絡的卷積跳線可以使圖像的損失函數(shù)在后向傳遞過程中避免了梯度彌散的現(xiàn)象。同時,卷積跳線的引入在圖像的前向傳遞中能夠充分利用淺層特征的高分辨率和深層特征的高語義信息,從不同深度的卷積層中提取高頻信息,利用其豐富的魯棒特征構建出更加精細的超分辨率圖像。

圖4 不同卷積跳線數(shù)目的效果比較Fig.4 Comparison with different numbers on convolution skip connections
典型的CNN模型通常采用最小二乘法作為損失函數(shù)來預測高分辨率圖像,但這種約束往往造成圖像的邊緣輪廓不夠清晰,細節(jié)特征部分丟失的問題。因此,本文算法在重建模型處引入全變分正則化進行約束,根據(jù)L1和L2范數(shù)各自不同的作用,即L1范數(shù)能銳化圖像邊緣,L2范數(shù)能夠對噪聲起到抑制的效果,將兩種不同范數(shù)相結合作為正則項,與最小二乘法共同構成損失函數(shù)。又基于ROF(Rudin, Osher, Fatemin)模型的圖像復原理論[22],對圖像子塊F2(Yi)進行有效約束,得到輸出圖像F(Yi),然后與原圖FGT(Yi)比較,當F(Yi)-FGT(Yi)最小時,重建得到最接近原圖的高分辨率圖像。本文將全變分正則化引入到損失函數(shù)中,避免模型的過擬合,達到約束解空間的目的。同時用L1范數(shù)和L2范數(shù)來平衡保真項F(Yi)-FGT(Yi),保證了重建圖像的邊緣信息清晰,紋理細節(jié)豐富,從而重建出高分辨率的圖像。引入全變分正則化后,優(yōu)化后的函數(shù)可以表示為
(5)
(6)
(yi+1,j-yi,j,yi,j+1-yi,j)
(7)

相比SRCNN的平方損失函數(shù),式(5)的損失函數(shù)通過引入全變分正則項和L1-L2范數(shù)進行聯(lián)合約束,有效地提高了圖像特征的魯棒性。然而,損失函數(shù)的效果往往依賴于合理的參數(shù)設定,不充分的約束條件可能導致平滑區(qū)域的一些紋理信息被濾掉,影響重建質量。因此,選取合適的正則化系數(shù)λ,能有效地約束保真項。同時,μ作為L1范數(shù)和L2范數(shù)的調節(jié)參數(shù),具有平衡保真項的作用。
在塊重建的過程中,本文利用隨機梯度下降法,沿著負梯度的方向收斂到損失函數(shù)的極小值。結合L1,L2混合范數(shù)和全變分(total variation,TV)正則化梯度函數(shù)對損失函數(shù)約束,具有增強圖像邊緣,豐富細節(jié)信息的效果。為了進一步驗證不同的損失函數(shù)對圖像邊緣提取的能力,本文分別將L2范數(shù),L2范數(shù)和TV正則化,L1范數(shù)加上L2范數(shù)和TV正則化3種情況下的損失函數(shù)作為對比。實驗效果如圖5所示。

圖5 不同損失函數(shù)提取的殘差圖像Fig.5 Residual images with different loss function
圖5(a)為原始圖像;圖5(b)為損失函數(shù)使用L2范數(shù)提取的殘差圖像效果;圖5(c)為損失函數(shù)使用L2范數(shù)和TV正則化提取的殘差圖像效果;圖5(d)為損失函數(shù)使用L1范數(shù),L2范數(shù)和TV正則化提取的殘差圖像效果。主觀視覺上,圖5(d)比圖5(b)有更豐富的邊緣,比圖5(c)在近景處的細節(jié)更多。
訓練樣本:參考自然圖像領域中經(jīng)典的超分辨率圖像作為網(wǎng)絡的訓練樣本[7],即200幅Dong用過的和91幅Yang用過的Berkeley Segmentation圖像作為訓練數(shù)據(jù),一共291幅。由于卷積神經(jīng)網(wǎng)絡的訓練是基于大量的數(shù)據(jù)樣本,為了豐富訓練數(shù)據(jù),實驗對原始訓練數(shù)據(jù)庫做預處理操作進行擴充。先對訓練樣本的尺寸統(tǒng)一調整成256×256,之后對圖像進行尺寸變化,依次放大為2倍,3倍,4倍,最后對放大后的圖像進行180°鏡像變換。將總共1 746(291×2×3)幅訓練圖像構成網(wǎng)絡的輸入樣本。
測試樣本:本文算法選擇Set14、B100、Urban100等超分辨率圖像作為測試樣本,選用峰值信噪比(peak signal to noise ratio, PSNR)與結構相似度(structural similarity index, SSIM)指標來衡量圖像的質量,充分地展現(xiàn)了算法的實驗效果。
在實驗中,本文網(wǎng)絡的輸入圖像為41×41的圖像塊,其網(wǎng)絡框架中特征提取層濾波器的個數(shù)為64,映射層中所有濾波器的個數(shù)均為32,重建層濾波器的個數(shù)為64。所有層的濾波器大小均為3×3,步長為1,零填充為1,學習率的初始值設為0.1,并且每經(jīng)過10個Epochs將會減小10倍,直到學習率為0.000 001停止,可變學習率的策略不僅保證了模型能夠充分收斂,還抑制了梯度彌散的現(xiàn)象。
為了使混合L1-L2范數(shù)和TV正則化構建的損失函數(shù),在超分辨率圖像重建上發(fā)揮更好的效果,先對Urban100中的“img074”圖片放大2倍,然后根據(jù)實驗效果確定損失函數(shù)中的參數(shù)。式(5)中有2個參數(shù)λ、μ影響著損失函數(shù)值的大小,從而影響圖像的重建質量。為了尋求最優(yōu)的參數(shù)μ,先使λ=0,即損失函數(shù)不含有正則項。實驗對μ分別取0.6,0.7,0.8,觀察圖6的實驗曲線可以發(fā)現(xiàn),隨著迭代次數(shù)的增加,當μ取0.7時,重建圖像具有更高的PSNR。進而使μ=0.7,觀察圖7的實驗曲線可以發(fā)現(xiàn),λ取0.2,重建圖像具有更高的PSNR。因此,選取λ=0.2,μ=0.7作為本文損失函數(shù)的參數(shù)。

圖6 平均峰值信噪比(λ=0.2)Fig.6 Average peak signal-to-noise ratio (λ=0.2)

圖7 平均峰值信噪比(μ=0.7)Fig.7 Average peak signal-to-noise ratio (μ=0.7)
為了進一步驗證PMCN算法的實驗效果,實驗中選擇常用的Set14、B100和Urban100作為超分辨率測試數(shù)據(jù)集。本文提出的PMCN算法與近幾年研究者們提出的Bicubic、SRCNN、DRCN和VDSR等4種主流算法進行比較,參考第3.2節(jié)中得到的實驗參數(shù),選擇λ=0.2,μ=0.7,對動物、建筑、植物等測試圖像分別放大2倍、3倍、4倍進行測試。測試結果如圖8~圖10所示。

圖8 B100在放大2倍條件下的視覺比較Fig.8 Visual comparison for 2 times on B100

圖9 Urban100在放大3倍條件下的視覺比較Fig.9 Visual comparison for 3 times on Urban100

圖10 Set14在放大4倍條件下的視覺比較Fig.10 Visual comparison for 4 times on Set14
在主觀評價中,實驗列舉了動物、建筑、植物等圖像的重建效果。在圖8中,Bicubic算法重建效果最差,細節(jié)不明顯,圖像模糊,整體表面較為平滑。SRCNN算法的部分細節(jié)重建效果較好,但馬頭上韁繩的邊緣不夠自然,存在振鈴現(xiàn)象。VDSR和DRCN算法清晰度相對較好,細節(jié)豐富但馬脖子的鬃毛與原圖相比,對比度較差。而PMCN算法對鬃毛的邊緣在銳度和對比度方面都有一定的改善,而且重建的高頻信息更加豐富,有更好的視覺效果。從圖9中可以看出對建筑物的重建效果,本文算法能較好地重建出一些細節(jié),利用全變分方法可以使得網(wǎng)格、鏡面等邊緣信息更為銳利,更好地保留了圖像的高頻信息,整體效果更接近于原始高分辨率圖像。同樣從圖10植物圖像的細節(jié)看出,本文算法恢復的局部高頻信息清晰、豐富,整幅圖像的主觀效果更好。
在客觀評價中,本文使用了PSNR,SSIM來評價測試圖像重建的質量。表2給出了不同方法的SR結果的性能,包括Bicubic、SRCNN、VDSR、DRCN和PMCN。從表2中可以看出,PMCN算法對于圖像的PSNR和SSIM具有一定的優(yōu)勢,如測試集B100,在PSNR方面,PMCN算法比Bicubic提高了2 dB,比SRCNN提高了0.6 dB,比VDSR和DRCN提高了0.2 dB,其余測試集的PSNR也有所提高。在SSIM上,本文研究的算法也要優(yōu)于這些主流算法,有著更好的增強效果。

表2 Set14,B100,Urban100數(shù)據(jù)集上不同算法實驗結果
綜上所述,PMCN算法通過增加卷積跳線的數(shù)目,使得網(wǎng)絡能夠提取到更加豐富的圖像特征。同時,將全變分正則化引入損失函數(shù),有利于各卷積層參數(shù)在訓練更新的過程中避免模型的過擬合,對參數(shù)優(yōu)化起一定的限制作用。
針對現(xiàn)有CNN網(wǎng)絡中單映射輸出不能全面、有效地描述圖像特征集的問題,本文在現(xiàn)有SR模型的基礎上,提出了一種并行映射輸出的SR方法。該網(wǎng)絡將卷積跳線引入到映射模塊,構建并行映射模型,從而通過提取中間層學習到的魯棒特征,增大了重建模塊中的圖像信息量。
此外,PMCN算法在損失函數(shù)中通過引入全變分正則項和L1-L2范數(shù)進行聯(lián)合約束,有效地提高了圖像特征的魯棒性。通過對比分析當前主流的SR算法的特點及優(yōu)缺點,本文提出的網(wǎng)絡模型能夠還原更多的圖像細節(jié)信息,具有更優(yōu)異的超分辨率性能。實驗結果表明PMCN算法具有更銳利的邊緣和清晰的輪廓,且具有更高的PSNR和豐富的語義信息。在下一步工作中,深入研究卷積網(wǎng)絡的結構特征,將傳統(tǒng)方法與深度學習框架實現(xiàn)有機結合,為接下來的研究工作確定方向。