蔡體健,彭瀟雨,石亞鵬,黃 稷
(華東交通大學信息工程學院,江西南昌330013)
圖像超分辨率(Super-Resolution,SR)作為計算機視覺領域的一個重要分支,一直是研究者們關注的熱點問題。單幅圖像超分辨率的目的是提升圖像分辨率,即將單幅低分辨率(Low-Resolution,LR)圖像恢復成高分辨率(High-Res?olution,HR)圖像,這是一個經典的不適定逆問題。由于其在監控設備、遙感衛星圖像[1]和醫學影像[2]等領域都有非常重要的應用價值,大量的相關算法不斷涌現,從早期的基于插值法[3]到各種利用內部自相似性法[4]和稀疏表示法[5],再到現如今基于學習的方法[6]。圖像超分辨率方法的性能越來越好,特別是深度學習的應用讓超分辨率重建質量得到快速提升。
Dong等[8]首次提出一個只有三層的超分辨率卷積神經網絡(Super-Resolution Convolution?al Neural Network,SRCNN)來完成低分辨率圖像到高分辨率圖像的映射,與之前的方法相比性能有了很大提升,但仍然存在一定局限性。隨后,Kim等[9]又將SRCNN進行改進把網絡加深到接近20層,并在最后重建層加入了一個跳連接使得網絡VDSR(Very Deep Convolutional Net?works)只需學習殘差。這樣既可以減輕加深網絡帶來的梯度爆炸/消失的問題,又能避免重復學習,加快收斂。VDSR所帶來的提升也證明了更深的網絡能提高網絡模型的表達能力,帶來更好的超分辨率效果。殘差學習所取得的顯著效果使其被應用到越來越多的超分辨率網絡模型。Shi等[10]極具創意地提出了一種有效的亞像素卷積網絡模型(Efficient Sub-Pixel Convolutional Neural Network,ESPCNN),該網絡可以將卷積后所得的特征進行像素重排直接得到高分辨率圖像,并不需要像SRCNN那樣對低分辨率圖像進行插值預處理。這一改進讓基于CNN的超分辨率網絡模型能夠學習更加復雜的映射關系,大大降低了放大圖像的成本。后來出現的超分辨率方法很多都使用了這一操作來對圖像進行重建。Lai等[11]提出了一種類似金字塔結構的超分辨率重構模型LapSRN(Laplacian Pyramid Net?works),該模型在放大倍數較高的情況下仍然能保持不錯的重構效果。與之前這些追求高數據指標的方法不同,Ledgi等[12]構建了一個用于圖像超分辨率的生成對抗網絡SRGAN(Super-Resolution using Generative Adversarial Net?work)。雖然重建圖像在客觀評價上并不好,但可以給人帶來更好的主觀視覺效果。Lim等[13]以Resblock[14]為基礎設計了一個非常深的網絡模型EDSR(Enhanced Deep Residual Networks for Single Image Super-Resolution),并獲得2017世界超分辨率重建挑戰賽冠軍。EDSR結構與SRGAN中的生成網絡SRResNet[12]基本類似,但它將殘差塊中的批歸一化(Batch Normalization,BN)[15]操作去除,因為實驗表明BN操作并不適用低層計算機視覺,這一改進也讓模型性能得到很大提升。同年,Tong等[16]結合DenseNet[17]提出了一種能充分利用不同層次間特征信息的網絡模型SRDenseNet,但極端的連接性不僅阻礙了網絡的可伸縮性還會產生冗余計算。
很多超分辨率方法都試圖通過加深或加寬網絡來提升算法性能,但這樣往往會增加模型計算量,還不能很好地挖掘CNN的表達能力。在輸入的LR圖像中蘊含了豐富的特征信息,然而這些信息往往得不到充分利用甚至被忽略從而限制了網絡的性能。另外,信息也分為不同種類,有的是低頻信息,有的是高頻紋理信息。目前的方法大多數都是平等對待特征通道信息,缺乏處理不同通道信息的靈活性。
為此,本文提出了一種通道注意力與殘差級聯超分辨率網絡(Channel Attention and Residual Concatenation Network,CARCN)。本文的貢獻主要如下:(1)將原始的特征信息通過融合節點(Fusion Node,FN)與各層進行融合,讓LR圖像中的特征信息得到更好的傳遞。(2)提出了殘差級聯組(Residual Concatenation Group,RCG)結構,通過每一層與輸入的級聯改善不同層次之間信息流動,充分利用LR圖像中的特征信息的同時還能自適應地調整已融合的特征通道,大大提高網絡對圖像細節紋理等高頻信息的重建效果。實驗結果也表明:本文提出的方法與其他先進的超分辨率方法比較,無論是主觀視覺效果還是客觀數據評估都更好。
本文融合了通道注意力機制、級聯操作和殘差學習的策略,提出了CARCN,其整體結構如圖1所示,該模型主要由淺層特征提取(Shallow Feature Extraction,SFE)、深層特征映射(Deep Feature Mapping,DFM)和重構(Reconstruction,REC)三個部分組成。
首先只用一個卷積層從輸入圖像提取淺層特征:

其中:HSFE()表示一個3×3的卷積操作,ILR為輸入的低分辨率三通道圖像,X0為提取到的淺層特征。隨后,將X0用作深度特征映射模塊的輸入:

其中:HDFM()表示整個深層特征映射模塊。如圖1所示,深層特征映射模塊由多個殘差級聯組(RCG)、融合節點(FN)、長跳連接和一個常規卷積層組成。融合節點由一個級聯層和一個1×1的降維卷積組成,將殘差級聯組的輸出特征與提取到的淺層特征進行級聯特征融合并降維處理傳遞給下一個網絡層,保證信息在傳遞過程中不被丟失,從而讓原始特征得到最大化利用。卷積層后的長跳連接可以通過殘差學習提升網絡性能。XD為提取到的深層特征,最后進行重構得到超分辨率圖像:

其中:HREC()表示整個重構部分函數,HUP()為上采樣操作,HCov()是末端的卷積層,輸出通道數為3。很多方法可以完成上采樣功能,比如轉置卷積和亞像素卷積[10]。考慮到亞像素卷積在執行上采樣操作方面比較靈活,能夠平衡計算效率和性能。本文也選擇使用亞像素卷積實現重構部分的上采樣操作。此外,與許多網絡不同,為了使訓練更加穩定,本文不僅對深層特征上采樣,對前面提取的淺層特征也進行上采樣操作,通過長跳連接一起進行特征重構并輸入到整個網絡的最后一個卷積層,得到高分辨率圖像ILR。
很多基于CNN的超分辨率算法對所提取的特征通道都是同等對待,限制了網絡的重構性能。為此,本文構建了一種有效的注意力模塊(Attention Block,AB),能自適應地對特征通道進行校正。

圖1 網絡整體結構圖Fig.1 Overall network architecture of proposed CARCN model

圖2 注意力模塊結構圖Fig.2 Structure of the attention block
注意力模塊結構如圖2所示,一開始用一個卷積層對模塊的輸入進行特征映射,經過Relu函數激活后得到一個大小為H×W×C的特征,記作F=[f1,f2,…,fc?1,fc],其中fc是第c個特征通道。然后采用全局平均池化對每個通道的信息進行全局壓縮,獲得一個能夠代表這些通道的向量,即:其中:Hsq()表示全局平均池化操作,fc(i,j)是坐標(i,j)上的像素值,zc為對第c個通道進行全局平均池化得到的值。可以將上面的操作看作是對輸入特征通道信息的初步統計,壓縮得到的信息具有全局的感受野。

緊接著,用兩個1×1卷積來學習不同特征通道的相關性。第一個卷積將特征維度壓縮到原來的1/r(r為維度壓縮比例r=16),經Relu函數激活后,第二個卷積將特征維度復原。這種類似沙漏的結構具有更多的非線性映射,可以更好地擬合通道間的復雜關系,同時還能夠減少參數與計算量。隨后,用Sigmoid函數對特征通道信息進行重新表示,即:

其中:δ()與σ()分別表示Sigmoid函數與Relu激活函數,CD()與CU()分別為前后兩個卷積操作。最后用獲得的特征通道相關性信息s對原始輸入特征進行重新校正,即:

其中:fc和sc分別是第c個特征通道和校正因子,xc則為校正后的特征通道。同時加入短跳連接讓低頻信息快速通過,專注于高頻信息的校正。整個過程其實就是一個給特征通道重新加權的過程,權值代表通特征通道的重要性,再根據其重要性來進行調整。
在之前的超分辨率方法中,隨著網絡的不斷加深,特征信息在傳遞過程中會被網絡層逐漸忽略甚至遺漏,以至于最后用來重建的特征非常少。蘊含在LR圖像里的豐富特征信息沒有得到很好的傳遞和充分的利用,這很大程度上限制了網絡模型的性能。
本文構建了一種殘差級聯組(RCG),結構如圖1所示。從圖中可以看出每一層由注意機力模塊(AB)映射得到的特征都會與最開始的輸入特征進行通道級聯,并傳遞到下一層:

其中,C()表示級聯操作,HAB,n()為第n個注意力模塊函數,總共有4個注意力模塊,X0是整個殘差級聯組的輸入。隨后用一個1×1的卷積對級聯后的特征進行降維,最后通過一個跳連接加速低頻信息的傳遞,可用式(9)表示:

其中:Cdown()表示卷積降維,X為最后的輸出。殘差級聯組中各層參數設置如表1所示,H,W分別是輸入特征圖像的高度和寬度。

組件名稱輸入尺寸輸出尺寸注意力模塊-1級聯層-1注意力模塊-2級聯層-2注意力模塊-3級聯層-3注意力模塊-4級聯層-4 1×1卷積層H×W×64 H×W×64+H×W×64 H×W×128 H×W×128+H×W×64 H×W×192 H×W×192+H×W×64 H×W×256 H×W×256+H×W×64 H×W×320 H×W×64 H×W×128 H×W×128 H×W×192 H×W×192 H×W×256 H×W×256 H×W×320 H×W×64
在殘差級聯組中,初始輸入直接連接到所有輸出層,與殘差網絡那樣直接算術相加不同,這里是進行通道級聯,再將融合后的特征映射傳遞給后續的網絡層。這種不同層次間的級聯設計結構可以改善不同網絡層間的信息流動,保證特征信息傳遞過程中的完整性。另外,殘差級聯組中每一層的注意力模塊可以自適應地調整已融合的特征通道,這也讓它能夠在充分利用LR圖像中大量特征信息的同時,對每個卷積層的通道信息進行調整,有效提升了CNN的圖像重構能力。
眾所周知,損失函數對神經網絡模型的訓練非常重要,合適的損失函數可以使網絡模型得到更好的訓練,提高網絡性能。本文使用L1損失函數來訓練模型。

其中:θ代表網絡的參數集,D()代表了整個網絡模型。
在實驗中,本文選擇了高質量的DIV2K[18]數據集用作訓練,該數據集總共有1 000張2K分辨率的高清圖像,其中800張為訓練圖像,100張為驗證圖像,以及100張測試圖像。評估測試方面,采用4個被廣泛使用的標準數據集:Set5[19],Set14[20],B100[21]和Urban100[22]來測試模型性能。為了便于與其他先進方法比較,本文和其他算法一樣使用峰值信噪比(Peak Signal to Noise Ra?tio,PSNR)和結構相似度(Structural Similarity Index,SSIM)[23]來對模型性能進行評估。所有的實驗結果都是在YCbCr顏色空間中的Y通道上計算得到的。
實驗對DIV2K數據集的800張訓練圖像進行了數據增強。通過將原始圖像隨機旋轉[90°,180°,270°]和水平翻轉,可以從每張原始圖像中獲得額外的7張增強圖像。在每次小批量(Minbatch)訓練中,從LR圖像中隨機截取16個大小為48×48的LR圖像塊作為網絡的輸入。初始學習率設置為10?4,每2×105次迭代學習率衰減一半,總共進行106次迭代訓練。本文采用Adam算法對所提出的模型進行優化,相關參數設置如下:β1=0.9,β2=0.999,ε=10?8。整個實驗采用tensorflow框架,在單個NVIDIA 2080Ti GPU上訓練3天完成。
在整個網絡模型中,除了文中說明外,其他的卷積核大小都為3×3,通道數設置為64,級聯與降維操作依次計算。殘差級聯組與融合節點的數量均為10。
表2 顯示了本文所提超分辨率方法與現有8種超分辨 率 方法Bicubic[3],SRCNN[8],FS?RCNN[24],VDSR[9],DRRN[25],LapSRN[11],ED?SR[14]和RDN[26]在×2,×3,×4這3種不同放大倍數時進行定量比較的結果(最優值加粗表示)。從表中可以看出,本文提出的CARCN網絡在測試集上的PSNR和SSIM值很多要高于其他方法。特別是在Urban100數據集上×3,×4超分辨率的結果,本文方法在PSNR指標上比第二的RDN[26]分別高出了0.09與0.10。且Ur?ban100數據集中的圖像都是一些包含很多紋理細節的建筑物圖像,這也充分說明本文所提方法在復雜圖像的超分辨率重建上性能比其他方法更好。
本文分別從B100與Urban100數據集中總共選取了四張圖片用于與其他超分辨率方法在主觀視覺上比較,如圖3~圖6所示。這些方法包括Bicubic[3],SRCNN[8],FSRCNN[24],VD?SR[9],LspSRN[11],DRRN[25]6種現有的經典超分辨率方法。從圖3和圖4中能夠看出,本文提出的CARCN網絡重建后的圖像要比其他方法更加清晰。再觀察圖5可以發現,其他方法重建后的圖像在紋理上都是較模糊甚至有些錯亂的,本文的方法可以相對清晰且準確地恢復圖像中的紋理部分。同時圖6也顯示了本文方法的視覺效果要好于其他方法,特別是在細節紋理的恢復上相比其他方法的效果更加細膩豐富。

表2 在4個測試數據集上,各種方法×2,×3,×4超分辨率的比較(PSNR/SSIM)Tab.2 Comparison of various methods×2,×3,×4 super resolution on four test data sets(PSNR/SSIM)

圖3 B100數據集中69015放大倍數×3的超分辨率結果對比Fig.3 Super-resolution results comparison of imgae 69015 in B100 for scale factor×3

圖4 Urban100數據集中img_050放大倍數×3的超分辨率結果對比Fig.4 Super-resolution results comparison of imgae img_050 in Urban100 for scale factor×3

圖5 Urban100數據集中img_089放大倍數×4的超分辨率結果對比Fig.5 Super-resolution results comparison of imgae img_089 in Urban100 for scale factor×4

圖6 Urban100數據集中img_046放大倍數×4的超分辨率結果對比Fig.6 Super-resolution results comparison of imgae img_046 in Urban100 for scale factor×4
圖7 顯示了本文提出的CARCN模型與其他先進超分辨率模型在Set5數據集上,4倍超分辨率情況下結合性能與對應參數的比較結果。

圖7 不同模型性能與參數量的比較Fig.7 Comparison of performance and the number of pa?rameters of different models
圖中參與比較的模型包括SRCNN[8]VD?SR[9],LapSRN[11],DRRN[25],MemNet[27],DB?PN[28],EDSR[14]及RDN[26]。可以看出本文提出的模型在測試數據集上的PSNR指標是最高的,但參數卻幾乎只有EDSR[14]的1/4,RDN[26]的1/2,這也說明了本文所提模型在性能上要優于其他模型。
為了探究殘差級聯組(RCG)和融合節點(FN)對本文提出的CARCN網絡性能的影響,本文將保留RCG與FN和去除RCG與FN的四種網絡在Set5數據集上×2超分辨率的實驗結果進行比較,本次實驗進行了4×104次迭代訓練。由于去除RCG模型參數會相應減少,為了公平比較,對去除RCG的網絡增加相應的通道數來保持兩種情況下的參數一致,并保留注意力模塊。結果如表3所示,可以看出,同時保留RCG和FN的網絡比其他三種網絡重構能力更好。其中,RCG的去除對模型性能影響較大,FN影響相對較小。圖8顯示了四種網絡的收斂曲線(圖中FN-1-RCG-1表示同時保留FN和RCG的收斂曲線,數字1表示保留,0表示去除)。從圖中也可以看出FN與RCG都去除的網絡訓練穩定性最差,效果也較差;FN與RCG均保留的網絡訓練更加穩定,性能也最好。這表明本文提出的殘差級聯組結構和融合節點對提升網絡模型性能有不錯的效果。

表3 Set5數據集上RCG和FN的實驗對比Tab.3 Experimental Comparison of RCG and FN on Set5

圖8 RCG和FN的收斂分析Fig.8 Convergence analysis on RCG and FN
本文提出了一種通道注意力與殘差級聯超分辨率網絡CARCN來改善超分辨率重建效果。利用融合節點將原始淺層特征傳遞給其他網絡層,構建了殘差級聯組,通過級聯結構讓每一層充分利用LR圖像中的特征信息并有進行有效傳遞,同時注意力模塊可以自適應地對特征通道間的相互關系進行校正,提升網絡對細節紋理的恢復能力。在Set5,Set14,B100,Urban100 4個基準數據集上的測試結果表明,本文提出的方法與其他方法相比,無論是在客觀數據評估還是主觀視覺比較中性能都要更好,在Ur?ban100數據集4倍超分辨率的PSNR指標上比第二高出了0.1 dB,有效提高了圖像超分辨率重建質量。未來將進一步對網絡結構進行優化,提高其綜合性能。