臧永盛,周冬明,王長城,聶仁燦
(云南大學 信息學院, 云南 昆明 650504)
隨著人們對圖像要求的逐漸提高,如何獲得高質量圖像成為了一個嚴峻的挑戰。單幅圖像超分辨率(Single Image Super Resolution,SISR)重建技術正在解決這一問題,其目標是從一幅低分辨率(Low Resolution,LR)圖像重建出一幅高分辨率(High Resolution,HR)圖像。因此,SISR重建技術廣泛應用于計算機視覺[1]、醫學、視頻和安全等各個領域。
基于插值[2]和基于重構[3-4]的傳統算法簡單有效,計算量小,但是重建后的圖像存在邊緣模糊、高頻信息丟失的問題。基于深度學習的方法利用卷積神經網絡自動提取特征的能力,把LR和HR圖像之間看作一種映射關系,有效地恢復出了HR圖像。VDSR[5],DRCNN[6]等算法通過殘差學習思想,構建深達20層的網絡模型來學習LR和HR圖像之間的映射關系。SRGAN[7]利用生成對抗網絡和感知損失函數生成的圖像更自然逼真。EDSR[8]通過去除批量歸一化網絡層和使用ReLU作為激活函數,恢復出了更高質量的圖像。RCAN[9]利用通道注意力機制差異性地對待同一層中的特征通道,使網絡關注信息更豐富的通道,重建出的圖像包含更多的紋理信息。盡管這些模型取都得了重大進展,卻忽略了利用原始超分辨圖像在卷積神經網絡中的不同層次特征之間的相關性,重建后的圖像往往在細節方面趨于平滑。
因此,針對上述問題提出了基于層次注意力的超分辨重建模型 (Hierarchical Attention Network,HAN),層次注意力可以不平等地對待網絡中不同層次的中間特征,提高卷積神經網絡的特征表示能力,獲取更多的圖像特征信息。實驗結果表明,通過建立中間層次特征之間的相關性,重建后的圖像能保留更多的高頻細節信息。
本文網絡結構如圖1所示。實驗中提出的網絡由4部分構成:淺層特征提取模塊(Shallow Feature Extraction,SFE)、多尺度殘差模塊(Multi-scale Residual Block,MRB)、層次注意力模塊(Hierarchical Attention Block,HAB)和重建模塊(Reconstruction,RE)。網絡的工作流程如下:首先,使用淺層特征提取模塊對低分辨率圖像進行通道變換并獲得低頻特征;接著,把低頻特征輸入至N個串聯起來的多度殘差模塊中,以獲得不同層次的中間特征和高頻特征;最后,在層次注意力模塊對不同層次的中間特征進行融合,然后再送入到重建模塊中恢復出超分辨率圖像。接下來對每一個模塊進行詳細描述。

圖1 本文網絡結構Fig.1 Structure of the proposed network
令ILR表示輸入的LR圖像,IHR表示輸出的超分辨圖像。為了獲得淺層的特征信息,首先通過一個核大小為3×3,輸入通道為3和輸出通道為64的卷積層來提取淺層特征:
L0=HSFE(ILR)=δ(WSFE×ILR+BSFE),
(1)
式中,HSFE(.)表示卷積操作;WSFE表示濾波器權重項;BSFE表示偏置項;δ表示激活函數。在本文中激活函數使用的是ReLU函數,其數學表達式為:
δ(x)=max(0,x)。
(2)
卷積神經網絡中的卷積層能自動從訓練過程中學習卷積核權重,以提取源圖像的局部特征。因此,選擇卷積核的大小對于特征提取來說是至關重要的。傳統上,小尺寸的卷積核會提取短邊或低頻內容,但不能同時提取圖像的高頻細節或其他合適的細節。對于使用相同卷積核大小的卷積層,它使得卷積神經網絡模型能變得更深,但同時使得模型的計算會變得更加復雜,訓練變慢。在同一層中應用不同卷積核大小的卷積層,可以確保獲取源圖像的低頻和高頻細節。因此為了學習用一層不同尺度的圖像特征和整個網絡的高頻特征,提出了MRB,如圖2所示。

圖2 多尺度殘差模塊Fig.2 Multi-scale residual block
MRB由3部分構成:多尺度特征融合、長跳連接和短跳連接。第n個多尺度殘差模塊表示為:
Ln=Hn(Ln-1),
(3)
式中,Hn表示第n個MRB的作用;Ln-1和Ln表示第n個MRB的輸入和輸出。與以往的實驗不同,在多尺特征融合部分構建了一個雙旁路網絡,不同的旁路使用了不同的卷積核。眾所周知,2個3×3卷積層串聯的感受野相當于一個5×5卷積層的感受野,但是在輸入通道數和輸出通道數相等的情況下,3×3卷積層的參數量為18,而5×5卷積核的參數量為25。因此,為了進一步控制模型參數的大小,在保證模型的準確度和復雜度不變的條件下,本文用2個3×3卷積核串聯代替一個5×5的卷積核。以這種方式,MRB能夠提取出不同尺度的圖像特征。此外,LR圖像的輸入中包含大量豐富的信息,可以通過長跳連接和短跳連接來繞過大量的低頻信息,恢復更多有用的信息。Ln具體操作表示為:
(4)
(5)
(6)
(7)
(8)
(9)
Ln=Ln-1+w3×3*PS2,
(10)
式中,w和b分別表示權重和偏差,上標表示它們所位于的層數,而下標表示在該層中使用的卷積核的大小;δ代表ReLu函數;[S1,P1],[S2,P2]表示串聯操作。在多尺度殘差模塊的第一層中,使用2個核大小分別為3×3,5×5,輸入和輸出通道數都是64的卷積層對輸入特征進行卷積,它們分別卷積得到的特征圖沿著通道維度進行串聯運算,合并成通道數為128的特征圖,接著使用核大小為1×1的卷積層進行通道數壓縮,以保持通道數和輸入特征一致。為了促進網絡訓練過程中的梯度流動,在模塊的每層之后加入了短跳連接,在整個模塊后加入了長跳連接。第二層結構和第一層結構類似,唯一不同的是在進行通道降維后,使用核大小為3×3的卷積層對前兩層獲得的多尺度信息進行融合。此外,在網絡中沒有使用池化層,因為池化層在縮小圖像大小的同時,會忽略一些重要的圖像細節,而這些細節對于之后的圖像重建來說是必不可少的。
盡管不同等級的跳過連接可以繞過淺層信息,提升網絡提取效率,但這些操作忽略了不同深度特征之間的相互依賴性,導致部分重要的圖像信息被忽略。對此,實驗中將每個MRB的輸出特征輸入進HAB來建立圖像特征之間的依賴關系,并將不同層次的特征進行融合。HAB模塊可以適應性地學習不同層次特征之間的關系,并為不同層次特征分配不同的關注權重,從而能提高網絡的特征表示能力。HAB結構如圖3所示。

圖3 層次注意力模塊Fig.3 Hierarchical attention block
模塊的輸入來源于不同深度的N個中間特征,即N個多尺度殘差塊的輸出,它們一起構成維度為N×H×W×C的中間特征組(Feature Groups,FGS)。然后,通過變形操作將中間特征組變形為N×M(M=C×H×W)的二維矩陣FGr,并將它和對應的轉置矩陣相乘,相乘的結果輸入到softmax函數中計算不同層之間的相關性:
FGr=φ(FG),
(11)
W=φ(FGr·(FGr)T),
(12)
式中,φ(·)和φ(·)表示變形操作和softmax函數;W是一個維度為N×N的二維相關矩陣,表示不同層之間的相關指數。接著,將變形的特征組與相關矩陣相乘,相乘的結果表示不在公平地對待不同深度的特征,而是賦予了它們不同的權重。最后利用殘差學習的思想,把經過變形特征組和輸入的特征組相加得到模塊的輸出特征。總的來說,經過層次注意力模塊后可以更充分利用不同層次的特征信息,有利于提高了卷積神經網絡的特征表示能力,幫助網絡恢復出更多的圖像紋理細節。為了驗證層次注意力模塊的有效性,在實驗過程中設置了消融實驗,詳情參見2.4節。
FLj=φ(W·FGr)+FG。
(13)
單圖像超分辨率的上采樣操作方法主要分為3種:基于插值的、反卷積的和亞像素卷積[10]的。本文采用亞像素卷積作為上采樣操作。具體重建過程為:首先使用亞像素卷積操作將上采樣至目標倍數,然后通過一層3×3卷積得到映射,生成清晰的超分辨率圖像。
LUP=HUP(LHFF),
(14)
IHR=HRE(LUP),
(15)
式中,HUP表示亞像素卷積操作;HRE表示3×3的卷積。
圖像超分辨率重建技術的目標是使重建后的超分辨圖像和真實圖像盡可能接近,在圖像超分辨率重建領域常用均方差函數L2和平均絕對誤差函數L1作為損失函數。其中均方差函數雖然可以使重建結果有較高的信噪比,但是容易出現缺少高頻細節信息和過度平滑等問題。而L1函數除了可以有效防止重建圖像由于過度平滑而導致的失真現象,還能有效實現更好的主觀效果和客觀評估性能。因此本文使用L1函數作為優化函數,則優化目標表示為:
(16)
整個實驗中所采用的數據集是高質量(2K分辨率)數據集DIV2K[11],它已經被廣泛應用于超分辨領域。該數據集包含800張訓練圖像、100張驗證圖像和100張測試圖像。在本文模型訓練過程中,使用數據集中的800張訓練圖像和5張驗證圖像來訓練和驗證模型;另外,使用了5個標準的基準數據集來測試重建模型,分別是Set5[12],Set14[13],B100[14],Urban100[15]和Manga109[16]。其中Set5和Set14分別包含5張和14張自然場景的圖片,B100和Urban100分別包含100張自然場景圖和城市場景圖,Manga109由109幅漫畫組成。這5個測試集包含了各個頻段的圖像細節,可以充分驗證模型性能。此外,在進行網絡訓練之前,還需要對數據集進行圖像預處理操作。對DIV2K中的800張訓練圖片分別進行了2倍,3倍和4倍雙3次下采樣降質處理之后,再作為網絡的輸入進行網絡訓練。
為了與其他算法進行公平比較,采用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和結構相似性(Structural Similarity Index,SSIM)這2個客觀指標評價不同算法生成的超分辨率圖像質量。PSNR主要根據誤差敏感來評價重建圖像的質量,如式(17)所示,其數值越大,重建圖像質量越好。
(17)
式中,N表示圖像大小;X表示原始HR圖像;Y表示重建的超分辨圖像。
SSIM通過比較2幅圖像之間的相似性來評估圖像的質量,因該評價指標更符合眼視覺系統,常常被用來評價重建后的超分辨率圖像的質量。如式(18)所示,其數值越接近1,重建的超分辨率圖像質量越好。
(18)
式中,x表示原始HR圖像;y表示重建的超分辨圖像;μx,μy分別表示2幅圖像的灰度平均值;σx,σy分別表示2幅圖像的方差;σxy是2幅圖像的協方差;C1,C2是2個常數。和其他算法一樣,僅在Y通道上進行PSNR和SSIM評價。
為了使模型有足夠的訓練數據,本實驗通過縮放、旋轉和水平翻轉這3種方式來擴充數據集,使訓練數據增加到原來的8倍,從而網絡模型有豐富的訓練數據,同時還增加網絡的魯棒性,使網絡可以適應更復雜的情況。在每個訓練批次中,隨機提取16個大小為64×64的LR色塊作為網絡的輸入,并進行1 000次迭代反向傳播。實驗中采用ADAM optimizer作為優化器,其中設置β1=0.9,β2=0.999和ε=10-8。初始學習率設置為lr=0.000 1,然后每2×105重復反向傳播減小一半。在最終模型中,使用24個多尺度殘差塊,每個MRB 的輸出具有64個通道的特征圖。根據實驗需求,訓練時采用深度學習框架Pytorch1.5實現網絡模型,使用Cuda10.0對網絡模型進行加速,測試時,使用Matlab R2018a進行指標評估。
為了研究局部中的短跳殘差連接以及層次注意力模塊對模型影響,實驗中引入了消融學習的思想。以尺度因子factor=4為例,在Set5數據集上進行比較以上模塊對PSNR和SSIM平均值的影響,如表1所示。在表1中,√表示網絡模型使用該模塊,×表示沒有使用該模塊。從表中可以看出,在沒有使用任何一個模塊的情況下,PSNR值和SSIM值都是最低的,在增加短跳連接的條件下,PSNR值提高了0.17 dB,在增加層次融合特征模塊的情況下,PSNR值提高了0.2 dB,而同時使用局部中的短跳連接和層次注意力模塊的情況下,PSNR值提高了0.29 dB,由此證明了短跳連接和層次融合模塊在網絡模型中的有效性。

表1 在Set5中不同模塊組成下的PSNR與SSIM平均值Tab.1 Average PSNR and SSIM for different module composition at Set5
為了驗證提出方法的有效性,將本文提出的重建算法與深度學習較先進的5種單圖像超分辨率重建方法(SRCNN[17],VDSR,DRCN,FSRCN[18],LapSRN[19]以及傳統的Bicubic圖像重建算法)進行了對比。本文根據這些模型的具體實現,在相同的測試集上進行比較。表2和表3分別給出了在 Set5,Set14,BSD100,Urban100和Manga109這5個測試集上,不同方法分別擴大2倍,3倍,4倍的評估結果,把PSNR/SSIM值最好的結果用黑體加粗進行了標注。

表2 在Set5,Set14,Urban100,BSDS100,Manga109中不同算法的PSNR平均值Tab.2 Average PSNR for different algorithms at Set5,Set14,Urban100,BSDS100 and Manga109 單位:dB
從表2可以看出,本文提出的模型HAN在不同倍數、不同測試集上PSNR值都超越了其他6種算法,說明本文的網絡性能相較優于其他幾種算法。在上采樣因子為2時,在Set5測試集上,本文提出的算法的PSNR值比LapSRN提高了0.69 dB,比SRCN增加了1.55 dB。在Manga109測試集上,本文算法比LapSRN提高了1.93 dB,比SRCN提高了3.6 dB。

表3 在Set5,Set14,Urban100,BSDS100,Manga109中不同算法的SSIM平均值Tab.3 Average SSIM for different algorithms at Set5,Set14,Urban100,BSDS100 and Manga109
從表3不難看出,提出的算法在不同倍數、不同測試集上SSIM值都高于其他6種算法,特別是當上采樣為4,在Urban100測試集上,本文算法比LapSRN增加了0.044 5,比SRCNN提高了0.078 4。此外,對不同的算法結果在主觀效果上進行了對比,所涉及的算法結果均通過使用作者公開的源代碼以及文獻中的參數訓練得到。圖4表示Set5測試集中名稱為“baby”的圖像擴大2倍后各超分率方法的重建結果,與其他算法相比,本文提出的超分辨率重建算法重建結果主觀視覺表現優異,將測試集小孩眼睛進行局部放大并置于各重建結果左下方進行對比,本文方法可以清楚地觀察到睫毛包含更多的紋理和結構細節。

(a) HR

(b) Bicubic

(c) SRCNN

(d) VDSR

(e) DRCN

(f) FSRCNN

(g) LapSRN

(h) Ours圖4 尺度因子為2時,不同視覺算法重建結果Fig.4 Reconstruction results of different vision algorithms when the scale factor is 2
圖5表示Set14測試集上名稱為“comic”的圖像擴大3倍后各重建方法的可視化結果,同樣對各重建結果局部放大進行對比,本文重建算法在帽子邊緣部分表現的更加清晰。圖6表示BSD100測試集中名稱為“8 600”的圖像經過擴大4倍后各重建結果,在對局部進行放大后,本文重建算法在瓷磚部分可以看到更清晰、更細膩的細節信息。

(a) HR

(b) Bicubic

(c) SRCNN

(d) VDSR

(e) DRCN

(f) FSRCNN

(g) LapSRN

(h) Ours圖5 尺度因子3時,不同視覺算法重建結果Fig.5 Reconstruction results of different vision algorithms when the scale factor is 3

(a) HR

(b) Bicubic

(c) SRCNN

(d) VDSR

(e) DRCN

(f) FSRCNN

(g) LapSRN

(h) Ours圖6 尺度因子為4時,不同視覺算法重建結果Fig.6 Reconstruction results of different vision algorithms when the scale factor is 4
經過本文算法和其他算法分別在尺度因子為2,3,4下的重建主觀效果對比,本文重建出的圖像包含更多高頻信息,恢復出了更多細節信息,無論是紋理細節,還是線性細節和結構細節。因此,綜合客觀指標和主觀指標2個方面,本文算法相較于其他主流超分辨率重建算法能夠得到更好的重建效果。
本文提出了一種基于密集殘差多尺度的超分辨重建模型。通過密集殘差多尺度模塊,既能自適應學習提取不同尺度的圖像特征,又能繞過低頻信息,使主網絡專注于學習高頻信息。同時層次注意力模塊可以靈活地處理不同層次的特征,保留更多的圖像細節信息。實驗結果表明,通過該方法重建的圖像擁有更豐富的圖像細節,主觀視覺優越。并且在客觀指標評估方面相較其他方法有較大的提升。接下來將進一步研究不同層次特征之間的聯系,以獲得更理想的圖像重建效果。