謝余杭
(福建師范大學 光電與信息工程學院,福建 福州 350007)
圖像超分辨率(Super Resolution,SR)技術作為計算機視覺與圖像處理中一項至關重要的技術,一直以來都是人們關注的焦點,其目的是從低分辨率(Low-Resolution,LR)的圖像中恢復出清晰逼真的高分辨率(High-Resolution,HR)圖像。圖像超分辨率技術在醫學影像、衛星圖像以及監控成像等各個領域有著廣泛的應用。
目前圖像超分辨率重建算法主要被分為三大類:基于插值的SR方法、基于重建的SR方法以及基于學習的SR方法。基于插值的圖像超分辨率算法[1]的思想是根據一個像素點的周圍某一區域內的像素點來估計這一像素點的值。這類算法的優點在于原理簡單、計算復雜度低、重建所需時間短,但是會產生過度平滑的現象,邊緣產生明顯鋸齒?;谥亟ǖ膱D像SR方法[2],比較典型的有凸集投影法、迭代反投影法以及最大后驗法。基于重建的方法在一般情況下會比基于插值的方法重建效果好,但是基于重建的方法有時也會出現生成一些具有圖像邊緣不自然的情況,從而導致重建圖像質量變差?;趯W習的圖像SR方法[3],其基本思想是學習LR空間到HR空間的映射關系,然后利用相應的映射關系來恢復出高清的HR圖像。
不過近年來大多數圖像超分辨率網絡都是采用基于學習的方法,然而大多數現有的基于卷積神經網絡的模型在基于大量參數和極深結構的情況下才保持較高性能,而且這些網絡也沒有充分利用圖像的低頻特征信息。
因此,本文通過對殘差網絡進行改進,提出一種新的圖像超分辨率重建算法。該算法將低分辨率圖像作為輸入,利用殘差網絡提取特征信息以獲得殘差圖像,通過多尺度塊來提取圖像的低頻信息,再將得到的殘差圖像與低頻信息進行線性相加,最后進行上采樣操作,從而得到最后的重建的高分辨率結果。所提算法去除殘差網絡中的批歸一化層,可以有效降低網絡的計算量,并且在殘差塊的尾部引入通道注意力來增強網絡的高頻特征提取能力。與此同時,該算法設計了多尺度塊MSB作為跳層來提取輸入圖像的低頻信息,從而提高了網絡的重建效果。實驗結果表明,該算法與大部分的圖像超分辨率算法相比,能更好恢復出低分辨率圖像中的紋理細節信息,重建出更清晰的高分辨率圖像。
2014年,Dong等人[4]建立了基于深度學習的SR方法與傳統的基于稀疏編碼算法的SR方法之間緊密的邏輯聯系,并提出了超分辨率卷積神經網絡(Super Resolution Convolutional Neural Network,SRCNN)。SRCNN作為用深度學習實現超分辨率的先驅,開啟了超分辨率的深度學習時代。盡管圖像超分辨率重建技術已經進行了相當大的改進,但現有的基于CNN的模型仍然面臨一些限制。隨著網絡的不斷加深,每個卷積層中將具有不同的特征信息。而大部分SR方法沒能充分利用這些特征信息,因此He等人[5]提出殘差學習的思想,并提出了殘差卷積神經網絡(Residual Network,ResNet)。從此,在基于CNN的模型中,殘差學習被廣泛用于提取輸入特征的殘差信息。而在圖像超分辨率重建領域,第一個使用殘差模型的則是Kim等人[6]提出的極深卷積網絡(Very Deep Convolutional Networks,VDSR)。VDSR證明了在圖像超分辨率重建中殘差學習可以提高網絡的表征能力,加快網絡的收斂速度。隨著網絡的不斷加深,網絡運行所需的計算時間和內存也會不斷增加。為了簡化網絡結構、減少網絡的參數量,Kim等人[7]提出了應用循環思想的深度遞歸卷積網絡(Deeply-Recursive Convolutional Network,DRCN)。為了進一步獲取在超分辨率重建過程中的丟失的細節信息,Lai等人[8]提出了拉普拉斯金字塔超分辨率網絡(Laplacian Pyramid Super-Resolution Network,LapSRN)。Lai等人通過將拉普拉斯金字塔傳統圖像算法與深度學習相結合的方法,采用金字塔級聯結構實現超分辨的多級放大。LapSRN將LR圖像作為輸入,并以從粗到細的方式逐步預測子帶殘差并進行上采樣,也就是說若要將圖像放大4倍,需要先將圖像放大2倍然后再放大2倍,從而達到放大4倍的目的。通過這種多級放大的模式,拉普拉斯金字塔超分辨率網絡可以更加有效地利用圖像不同特征間的相互關系。
在不同的環境情況下,人們可以快速找到自己所關注的事物。例如人們拿到一張新照片時,會迅速地把目光放在自己感興趣的部分上。受此啟發,研究人員將通道注意力機制引入到計算機視覺領域,其目的是模擬人類的視覺感知系統。在應用深度學習進行圖像超分辨率的時代,注意力機制已經成為計算機視覺領域不可或缺的一門技術。所謂的通道注意力機制,就是通道注意力轉移到圖像的最重要區域并忽略不相關部分。從本質上來說,這種通道注意力機制可以被視為基于輸入圖像的特征的動態權重調整過程。自從2018年Hu等人[9]在SENet(Squeeze-and-Excitation Networks)中提出通道注意力之后,通道注意力就被廣泛應用在圖像超分辨率重建領域。
圖1展示了本文的網絡結構,網絡主要由跳層和主體兩個部分組成。其中,主體部分又細分為淺層特征提取、深層特征提取以及重建三個部分。淺層特征提取部分由一個3×3卷積構成,深層特征提取部分則由16個殘差塊組成,而重建部分則由一個卷積和自適應亞像素重建層[10](Adaptive Sub-pixel Reconstruction Layer,AFSL)構成。該網絡將淺層特征、主體部分生成的殘差圖像以及跳層MSB提取的低頻信息線性相加,然后進行重建,得到最終的重建圖像。

圖1 基于殘差網絡的雙路徑圖像超分辨率網絡
如圖2(a)所示,ResNet的殘差塊由兩個卷積層、兩個批歸一化層(Batch Normalization,BN)以及兩個ReLU激活函數組成。其中,一個批歸一化層的計算量幾乎和一個卷積層的計算量相當。然而在圖像超分辨率與圖像復原領域,批歸一化層的表現并不好,加入批歸一化層反而會使得網絡訓練速度變慢、變得不穩定。因此本文網絡中去除BN層,同時在殘差塊的尾部引入通道注意力機制——壓縮-伸展塊(Squeeze-and-Excitation block,SE)來對特征圖潛在的信息進行深度挖掘。在深度卷積神經網絡中,不同特征圖的不同通道分別代表著不同對象。通道注意力可以根據自身需求給每個通道的分配權重,從而選擇關注的部分。而且SE可以有效地獲得各個特征圖通道間的通道注意力信息。SENet的核心就是SE,SE用于收集全局信息、捕獲各個通道間的關系并提高網絡的表征能力。SE的結構如圖2(b)所示,通過將輸入的特征圖進行全局池化操作(Global Pooling)來收集全局信息,然后通過兩個全連接層(Fully Connected layers,FC)對輸入的特征進行升維和降維處理。而SE塊中嵌入ReLU激活函數則是為了降低模型的復雜度,以便網絡更好地進行訓練。最后通過sigmoid函數來有選擇地提取有用的特征信息,避免無用的特征信息對網絡的訓練造成干擾。

圖2 ResNet的殘差塊和SE層結構
跳躍連接的思想第一次是在ResNet中引入,而后在圖像恢復與語義分割等各種計算機視覺任務中被人們廣泛應用。由于普通圖像超分辨率重建網絡無法通過一直加深網絡深度來增加網絡的性能,因此可以通過引入各種跳躍連接方式來獲得額外的性能增益。為了獲得輸入在不同尺度上的特征表示,本文進一步引入了一個多尺度塊(Multi-Scale Block,MSB)作為跳層來直接從LR圖像中檢測圖像的低頻信息。MSB塊由幾個不同卷積核大小的卷積組合而成,卷積后的結果通過Concat層進行級聯輸出。在圖像超分辨率重建任務中,通過將多尺度塊作為跳層的方式可以將低分率圖像和高分辨率圖像連接起來,以此來學習兩張圖像之間的殘差映射關系,從而捕獲圖像重建過程中丟失的低頻細節信息。
現有的大部分圖像超分辨率網絡都是使用單個的尺度模塊來進行重建操作,這樣是無法充分利用網絡提取到的高頻和低頻特征信息的。因此,所提算法使用多尺度重建模塊來作為網絡的重建模塊。如圖3所示,自適應亞像素重建層使用4個不同卷積核大小的亞像素卷積結構分支并行實現上采樣,并能按照網絡中不同分支的權重剔除部分比例較小的分支,這么做可以在不損失網絡性能的前提下減少網絡的參數量。自適應亞像素重建層采用的卷積核的大小分別為3、5、7、9,這里采用的是多尺度融合思想。4個分支的輸出通過Concat層進行級聯,然后再通過卷積層得到最后輸出結果。

圖3 自適應亞像素重建層
本文的網絡采用的是L1損失函數,該損失函數的計算公式如(1)所示:

其中ISR表示的是網絡生成的SR圖像,而IHR指的是真實的HR圖像。雖然L2損失函數是之前圖像超分辨率網絡中最常用的損失函數,但是近幾年的研究表明盡管最小化L2損失函數可以提升峰值信噪比,然而與L1損失函數相比,L1損失函數可以提供更好的收斂性和重建效果。因此,本文最后選用L1損失函數來優化網絡的性能。
本文的訓練集為DIV2K數據集,將其中的800張高分辨率圖像用于訓練,第801~810張圖像用于驗證。同 時 在Set5、Set14、Urban100以 及B100數 據 集上進行測試。其中,批尺寸為16,使用Adam作為優化器,其學習率初始值為0.000 1,β1和β2分別設置為0.9和0.999。每迭代200 000次學習率就衰減為原來的一半。本文的網絡是通過型號為NVIDIA GTX 1060的GPU和16 GB內 存 在PyTorch框 架 上 訓練的。如果沒有特殊標注,文中的卷積層均采用卷積核大小為3的卷積。
本文采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)與結構相似度(Structural Similarity Index Measure,SSIM)來作為圖像超分辨率網絡算法的評價指標。峰值信噪比和結構相似度是有損變換(如圖像壓縮、圖像修復)中最常用的重建質量度量指標之一。本 文 通 過 與Bicubic、SRCNN、VDSR、DRCN、LapSRN以及MSLapSRN進行數值和視覺對比,來驗證所提算法的性能表現。在對數據集測試時,需要將RGB通道的圖像轉換到YCrCb色彩空間上,然后再對Y通道計算峰值信噪比與結構相似度。表1展示了在4個不同的數據集上Bicubic、SRCNN、VDSR、DRCN、LapSRN、MSLapSRN以及本文所提算法進行4倍放大的重建結果的PSNR值和SSIM值。其中,PSNR值越高越好;SSIM值越接近1,則表明重建的SR圖像越接近真實的HR圖像。
由表1可知,所提算法在Set5、Set14、Urban100以及B100數據集上的PSNR和SSIM值都達到了最優,粗體字表示最佳。在Urban100數據集中,所提算法的PSNR值為26.03 dB,比MSLapSRN高了0.52 dB,比LapSRN高了0.82 dB;本文所提算法的SSIM值為0.783 4,比MSLapSRN高了0.015 3,比LapSRN高了0.027 4。該算法性能的提升主要歸功于在網絡中加入多尺度塊作為跳層,以及應用了自適應亞像素重建層和通道注意力機制。

表1 不同超分辨率算法對4個公共數據集進行4倍放大的重建結果的PSNR和SSIM
為了進一步驗證所提算法的優越性,文中給出了不同SR算法的重建效果圖。圖4展示了不同的方法對Urban100數據集中編號為img087的圖像進行重建后效果的視覺比較。由圖可知,所提算法與Bicubic、SRCNN、VDSR、DRCN、LapSRN以 及MSLap-SRN相比,沒有產生大量的偽影,噪聲更少,同時恢復出更好的紋理細節。而圖5展示的是不同方法對Set14數據集中編號為ppt3的圖像進行重建后效果的視覺比較。從圖中可以很明顯感受到該算法的重建效果比其他方法要好,能夠較為清晰地恢復出圖像中的單詞信息,重建的圖像更加貼近真實的原始圖像。由此可知,所提算法不僅在客觀指標上高于其他方法,而且在視覺感知上也優于其他方法。

圖4 不同超分辨率算法對Urban100-img087放大4倍的視覺比較

圖5 不同超分辨率算法對Set14-ppt3放大4倍的視覺比較
本文對網絡中的MSB和AFSL模塊做了消融實驗,具體如表2所示。其中,sub-pixel代表的是常用的亞像素卷積上采樣方式。由表2可知,在對Urban100數據集放大4倍的情況下,網絡使用MSB+AFSL比只使用AFSL的PSNR值高出了0.08 dB,這就證明了MSB作為跳層對網絡的重建起到了一定的作用;而使用MSB+AFSL的網絡比使用MSB+sub-pixel的網絡在PSNR值上高出了0.03 dB,這就證明了將AFSL作為上采樣方式可以使網絡重建的效果有一定的提升。經過對網絡中的MSB和AFSL模塊做消融實驗,可以證明在圖像超分辨率領域使用多尺度特征融合的思想能夠有效地提高網絡重建能力。

表2 在Urban100數據集進行4倍放大的情況下,對MSB和AFSL的消融實驗
本文以殘差網絡為研究對象,提出了基于殘差網絡的雙路徑圖像超分辨率網絡。在殘差塊中去除BN層并引入壓縮-伸展卷積層以及使用多尺度塊MSB作為跳層,然后通過自適應亞像素重建層來恢復LR圖像。實驗結果表明,本文所提方法具有良好的性能,能獲得圖像更多的紋理細節信息,從而恢復出質量更好的SR圖像。