劉南艷,馬圣祥,魏鴻飛
西安科技大學 計算機科學與技術學院,西安 710699
超分辨率重建是當前計算機視覺領域的重要研究方向之一,受到國內外研究者的廣泛關注。圖像超分辨率(super resolution,SR)重建技術是將一幅模糊的低分辨率(low resolution,LR)圖像通過一定的算法轉換成一幅高分辨率(high resolution,HR)圖像的過程。隨著社會發展和人們對于獲得高質量圖像需求的不斷提高,超分辨率重建技術在生產生活的各個領域得到廣泛應用,如:醫學影像[1-4]、人臉識別[5-8]和衛星成像[9-12]等領域,其中醫學影像中有大量相似的小細胞結構,人臉中有許多相同的器官,衛星圖像中存在相同的建筑設施,圖像中重復的結構都能使用跨尺度來進行重建。目前超分辨率算法主要分為基于單幀圖像的超分辨率重建算法[13-18]和基于視頻的超分辨率重建算法[19-22],本文主要研究基于單幀圖像的超分辨率算法。
圖像超分辨率重建技術最早可以追溯到1964年提出的頻譜外推法,隨后由Tsai 和Huang[23]最先提出運用基于重構方法中的頻域法來解決超分辨率重建問題,將低分辨率圖像和高分辨圖像進行傅里葉變換,使其在頻域之間建立線性關系來完成圖像重建,之后此類問題受到研究人員的廣泛關注。2002年,首次提出基于樣例方法的圖像自相似性超分辨率重建,揭開了樣例方法在超分辨率重建中的應用。然而傳統基于重構和樣例學習的方法計算復雜而且不能有效恢復出原始圖像的信息,目前應用最廣的深度學習方法取得了不錯的結果,與傳統超分辨率重建技術相比,深度學習方法對于重建出來的圖像具有更好的視覺效果。
2014 年,Chao 等[24]提出了一種超分辨率卷積神經網絡(super-resolution convolutional neural network,SRCNN)模型,該方法僅僅使用了三層卷積層,通過9×9的卷積核來提取一組特征映射,1×1的卷積核進行特征非線性映射和5×5 的卷積核結合空間鄰域內預測來生成最終的高分辨率圖像。作為深度學習方法在SR技術中的開山之作,為圖像超分辨重建技術在深度學習方面應用奠定了基礎。為了解決之前SRCNN中重建時計算開銷大的問題,Chao 等[25]又在SRCNN 的基礎上進行改進,提出了一種加速超分辨率卷積神經網絡(fast superresolution convolutional neural network,FSRCNN),雖然SRCNN 在超分辨率重建中取得了不錯的結果,但由于其大量的計算開銷阻礙實際應用,為此原來的研究團隊以卷積核大小和映射層數量互換,用卷積核減小換取映射層增多。這樣相較于之前提出的SRCNN雖然在效果上沒有得到很大提升,但是大幅度節省了計算開銷,實現超過40 倍的最終加速度,在不損失恢復圖像質量的前提下實現模型更高訓練速度。為了解決之前方法重建之后圖像的效果與原圖像存在較大差距,Kim等[26]提出了一種高精度單圖像超分辨率(accurate image super-resolution using very deep convolutional network,VDSR)方法,借助VGG網絡的靈感,將網絡層數加深到20層,確實也取得了不錯的效果,但是隨著網絡層數的加深,收斂速度隨之受到制約,為此其引入殘差結構[27]很好地避免了此問題,在計算開銷和視覺效果面均取得了不錯的成績,但是在基準數據集上的性能仍有一定的提升空間。隨后,Lim等[28]提出了增強的深度超分辨率網絡(enhanced deep residual network for single image super-resolution,EDSR),去除了SRResNet 中的批量歸一化(batch normalization,BN)層,從而可以通過加大模型結構來提升性能。從SRCNN至今各種基于卷積網絡的重建算法層出不窮,隨著網絡結構向著更深、更寬、更復雜方向發展,網絡模型對于圖像特征信息提取更加全面、具有更大的感受野,利用更多的特征信息也會得到更好的圖像質量和視覺效果,但是正因為當前網絡過于復雜的結構導致其計算開銷較高。
生成對抗網絡(generative adversarial network,GAN)[29-30]提出以后廣泛應用于圖像處理、模式識別等各個領域。該網絡將零和博弈的思想運用到訓練神經網絡中,生成器根據隨機數來不斷創造出新的數據,進而生成一幅圖像去交給鑒別器,鑒別器嘗試去判斷生成器所發來數據的真實性,二者相互博弈,最后不斷優化提升達到納什均衡。Ledig 等[31]首次提出將GAN 網絡運用于SR 技術中,其使用16 塊深度ResNet 針對MSE進行優化,通過VGG 網絡特征圖上的計算損失替換MSE 內容損失,同時提出了一種平均意見得分(mean opinion score,MOS)評價指標,在MOS 上取得了不錯的成績,為之后的研究者在SR 技術上開辟了另一條道路,但是對于標準的峰值信噪比(peak signal to noise ratio,PSNR)和結構相似度(structural similarity,SSIM)評價指標,其重建結果并不如之前模型。為了解決SRGAN網絡在圖像重建過程中產生的偽影問題,Wang等[32]在SRGAN 網絡的基礎上提出了一種增強的超分辨生成對抗網絡(enhanced super-resolution generative adversarial network,ESRGAN),由于殘差密集塊具有易于訓練和更高容量的特點,因此將其引入原始SRGAN 網絡中,同時刪除了原有結構中的BN 層,使得改進的網絡對于重建后的圖像具有更銳利的邊緣和更少的偽影,但是其對于圖像細節部分的重建質量仍然不夠理想。
針對網絡模型計算復雜度高的問題,Ahn等[33]提出了一種級聯殘差網絡(fast,accurate,and lightweight super-resolution with cascading residual network,CARN)更加輕量化,然而該網絡的重建結果不夠理想。EDSR網絡因為其深層次的網絡結構重建效果相對理想,然而巨大的計算開銷成為了該網絡的主要問題。為此本文提出了一種跨尺度多分支的超分辨率重建算法,在Urban100和Manga109公共數據集上優于目前的重建模型,主要工作如下:
(1)構建了一種跨尺度模塊,該模塊可以利用圖像中相似區域的相關性,通過圖像內部的高分辨率區域來輔助重建圖像中相似的低分辨率區域,從而加強恢復圖像細節信息,提高圖像整體質量,獲得更好的視覺效果。
(2)構建了一個多分支網絡結構,依據圖像自身具有的結構特性,將不同復雜度的子圖像分別用不同網絡重建,來降低重建時的計算開銷。
(3)在Urban100 和Manga109 測試集上驗證該網絡的有效性。
圖像內部包含大量的資源信息,觀察圖像可以發現每張圖像中都有許多相似的邊角結構。如圖1所示,建筑物圖像上有很多相同的窗戶,雖然這些窗戶在圖像中的遠近高低各不相同,但它們都有著相似的結構。在超分辨率重建時可以考慮圖像中長距離特征的相似性,以加強恢復細小結構的紋理信息。

圖1 圖像相似信息示意圖Fig.1 Information schematic of image similarity
卷積層可以對圖像中的特征進行提取,但是它提取了圖像中的全部特征,這樣大尺度區域與小尺度區域以同樣的方式被對待,導致圖像小尺度區域重建效果不理想,引入該模塊后可以利用提取到的大尺度區域特征輔助重建小尺度區域的紋理,為紋理信息分配更多的內容,進而使得超分辨率重建之后的高清圖像在細節方面有更好的視覺效果,如圖2所示能看出卷積只是簡單提取出圖像中的特征信息,跨尺度模塊可以利用這些特征信息中的重復結構來提升重建效果。

圖2 跨尺度模塊和卷積特征圖Fig.2 Feature maps of cross-scale modules and convolutional
非局部相關性可以通過總結整個圖像的相關特征來探索自我范式。在形式上,給定圖像特征映射X,非局部相關性定義為:


因此本文研究跨尺度相關性方法,把上面非局部相關性公式擴展到跨尺度相關性,首先尋找LR 圖像中小尺度區域和大尺素區域之間的相關性,然后學習大尺度區域與小尺度區域的映射關系來輔助重建圖像中小尺度區域。圖像重建的上采樣因子為s,給定一個大小為(W,H)的特征圖X,將特征圖X通過雙線性插值方式進行s倍下采樣得到新的特征圖Y,然后將X中p×p的小塊與下采樣后的Y中同樣大小的p×p小塊通過匹配函數進行匹配。再將所有X中提取到大小為(sp,sp)的特征塊進行加權相加,得到大小為(sW,sH)的特征塊Z輔助X進行重建,跨尺度重建公式為:

如圖3所示為跨尺度模塊的網絡結構圖,其中藍色的框內主要用于跨尺度相似性匹配,藍色框上面的分支是從LR 圖像中提取原始的大尺度特征塊,由于空間維度的差異性,使用特征相似性的度量方式是不可行的,需要將X進行下采樣得到對應的低分辨率圖像Y,在Y中搜尋多個與X特征相似的特征塊,利用該特征的信息就能找到需要輔助重建的大尺度特征塊。

圖3 跨尺度模塊結構Fig.3 Module structure of cross-scale
圖像通過跨尺度模塊提取特征之后,將輸出結果擴大到對應上采樣倍數的圖像尺寸,實現由小尺度到大尺度的映射操作。
如圖4 所示,在不同上采樣因子下,將卷積生成的r2個小尺度特征圖重新排列組合,重構放大后得到的SR圖像。該算子可以描述為:

圖4 小尺度與大尺度映射關系Fig.4 Mapping relationships of small-scale and large-scale

其中ISR是小尺度SR 后的空間張量。XL為小尺度特征圖,w和b是可學習的網絡權值和偏差。PS()· 是一個周期變換算子,它將一個形狀為h×w×c·r2的張量重新排列成形狀為hr×wr×c的張量,以實現上采樣。
本文使用L1損失函數來計算重建后的小尺度區域與大尺度區域之間的誤差,公式可以表示為:

其中IL為上文中大尺度特征Z的空間張量,N為樣本點個數。
通過觀察可以發現每幅圖像都包含復雜的紋理區域和稀疏的平滑區域,對于超分辨率重建而言,平滑區域比復雜區域更容易處理,利用這一特性,可以在重建一整幅大圖像時采用適當的SR網絡來處理不同區域的子圖像。如圖5 所示,簡單的網絡處理平滑區域(綠色),復雜的網絡處理紋理區域(紅色),黃色區域復雜度介于前兩者之間。

圖5 圖像分區域示意圖Fig.5 Area schematic of image division

如圖7所示,分別展示了3種分支的網絡結構,輕量級網絡CARN 通過在局部和全局中使用級聯機制集成多個網絡層的特性,以cascading block作為網絡的主要結構,來反映不同級別的輸入表示,以便于接收更多的信息。

圖6 整體網絡結構Fig.6 Overall network structure

圖7 CARN、EDSR和CSSR這3種重建分支網絡結構Fig.7 Three reconstructed branch network structures of CARN,EDSR and CSSR
EDSR 網絡將原始殘差結構進行改進,得到該網絡的ResBlock 結構,通過堆疊16 層ResBlock 結構來加強圖像的對比度信息,提升網絡輸出質量。
針對于紋理細節信息的恢復本文提出在EDSR 網絡的殘差結構中引入跨尺度模塊(cross-scale block,CSBlock),專門處理復雜子圖像中的相似邊、角等結構,得到CSSR 網絡的主要結構跨尺度殘差塊(cross-scale residual block,CS ResBlock)。
為了加強網絡對于細節信息的捕獲能力,提升網絡超分辨率后圖像的質量,本文在EDSR中每個ResBlock內部的卷積層提取完特征之后引入CS Block,該模塊針對細節部分提供更多的信息輔助重建,防止圖像中細節信息丟失,提升特征對于高頻信息的表達能力,加強圖像重建后的視覺效果。相比CARN、EDSR 在殘差內部結構的改進有所不同,如圖8 是3 種網絡的殘差結構內部進行對比,從圖中可以看出CARN 方法將原始殘差結構內部的深度卷積替換成了分組卷積,選擇適合的分組大小來降低參數得到該網絡的殘差結構,隨后EDSR將傳統方法中的BN層去除,因為BN層對于網絡特征的規范限制了網絡的靈活性,本文將CS Block 與ResBlock相結合,得到用圖像自身相似結構來重建圖像的CS ResBlock,提升圖像中細節信息的重建能力。

圖8 本文方法與傳統方法殘差結構對比Fig.8 Comparison of residual structure of proposed method and traditional method
為了獲得更高質量的重建圖像,本文采用DIV2K[34]數據集對該網絡模型進行訓練,該數據集中總共包含1 000 張約2 000 像素分辨率的RGB 三通道圖像,選用其中的800張圖像用于訓練,同時為了便于與經典網絡模型在峰值信噪比和結構相似度評價指標上進行對比,本實驗網絡模型選用Urban100 測試集和Manga109測試集中進行測試,其中Urban100 測試集主要以建筑為主,包含各類相似結構的建筑設施圖像數據集,Manga109數據集是以動漫為主要圖像的數據集。
本次實驗首先對訓練圖像進行預處理,將DIV2K數據集中的高分辨率圖像通過Bicubic 算法進行0.6、0.7、0.8 和0.9 倍的下采樣生成更多的HR 圖像,以增大訓練時的數據量,對這些圖像進行進一步的下采樣生成LR 圖像,然后從LR 圖像中裁剪尺寸為32×32 的子圖像,接下來輸入網絡中進行訓練。訓練過程中的批量大小設置為16,使用L1損失函數和Adam 優化器進行訓練,其中β1=0.9,β2=0.999,通過余弦退火策略來調整訓練速率,初始學習速率設置為10-3,最小的學習速率設置在10-7。在測試過程中,將LR 圖像裁剪成32×32 的子圖像,步長為28,通過將4 個像素點的重疊區域進行平均,以免重建后的圖像出現明顯分割痕跡。
PSNR 作為重建圖像的評價標準,一方面可以看出圖像的重建難度,另一方面可以反映圖像紋理結構的復雜程度。如圖9所示,通常PSNR值高的圖像比較平滑,PSNR 值低的圖像具有復雜的紋理,本文通過大量實驗后選用PSNR 值為27.16dB 和35.15dB 作為分割子圖像的依據,從圖中可以看出取得了不錯的效果。

圖9 子圖像分類示意圖Fig.9 Classification schematic of sub-image
為了保證實驗質量,本次實驗均采用統一的硬件配置,其中操作系統為Ubuntu 系統,處理器為AMD EPYC 7642 48-Core Processor,顯卡為NVIDIA GeForce RTX3090,并在Python3.6.13、CUDA11.0 環境配置下運行,選用Pytorch1.7.0作為深度學習框架。
通常圖像在放大或壓縮前后會出現不同程度的誤差,為了客觀地展現出超分辨后的圖像與原始圖像之間存在的差距,比較不同超分辨模型之間重建圖像質量的區別,本文通過主觀和客觀兩種不同方式對重建圖像的質量進行評價。首先采用峰值信噪比和結構相似度對生成的圖像進行客觀評估,這兩種方式是目前超分辨率重建方式中最普遍和廣泛使用的客觀評價指標,同時為了驗證該模型良好的計算效率,本文使用浮點計算數來衡量模型計算的復雜度,對比突出多分支方法與以往單一分支方法計算復雜度的不同。
峰值信噪比是通過對比處理前后圖像中對應像素點之間的差距進行計算來評估圖像重建后的質量,其計算表達式為:

其中,n為每像素之間的比特數,一般圖像灰階數為256,因此n通常取8,MSE為超分辨率重建前后圖像的均方誤差。由公式可以看出,重建前后圖像的峰值信噪比越大,說明圖像失真越少,PSNR單位為dB。
與峰值信噪比不同,結構相似度是從圖像亮度、對比度和結構三個方面來判斷輸出圖像與原始圖像之間的相似性,其計算表達式為:

其中,ux、uy表示圖像x、y的均值,σx、σy表示圖像x、y的方差,σxy表示圖像x、y的協方差,C1、C2、C3為常數。
標準的客觀評價指標雖然可以計算出圖像重建前后的失真情況,但是其并沒有考慮到人眼觀察圖像的視覺感受,往往人眼對于圖像中像素點之間的差異敏感度較高,會出現客觀評價指標與人眼主觀感受不一致的情況。為此本文中新增加主觀評價指標,任意尋找50 名參與者,從其他模型和本文模型的實驗結果中各選取3幅重建圖像,參與者在不被告知模型的情況下根據自己主觀感受對比不同模型重建后的圖像與原始圖像進行打分,最終計算出參與者對于每張圖像的平均分進行對比。
圖像超分辨率重建技術除了衡量圖像質量以外,其計算效率也是重要的衡量指標之一,高效、準確地重建出目標圖像是當前該領域的重要目標,所以不僅僅要追求更好的視覺效果,對于批量處理圖像時計算效率也是應當考慮的因素。因此本文采用浮點計算數(floating point operations,FLOPs)作為衡量模型重建圖像計算復雜度的標準,FLOPs的計算公式如下:

其中,HW代表輸出圖像特征圖的大小,Cin代表輸入圖像的通道數,Cout為輸出圖像的通道數,K代表卷積核的大小。
3.3.1 客觀評價
為了驗證平滑區域圖像使用輕量級網絡CARN、較復雜區域圖像使用EDSR 網絡與使用單一跨尺度網絡重建之間可以獲得大致相同的效果,選用3種不同分類的子圖像分別放入CARN、EDSR 和CSSR 網絡進行重建,再將3類子圖像全部放入CSSR網絡進行重建,對比重建后的峰值信噪比。
如表1 所示,可以發現CARN 和CSSR 網絡重建平滑子圖像幾乎沒有差異,在較復雜子圖像上,EDSR 與CSSR網絡同樣獲得大致相同的性能。因此說明了通過多分支網絡分區域重建圖像來節約計算成本的有效性,且產生圖像的質量大致相同。

表1 不同子圖像在3種分支下的PSNR對比Table 1 Comparison of PSNR of different sub-images under three branches單位:dB
為了進一步驗證實驗的有效性,本文將文中方法與當前的經典網絡重建圖像效果進行對比,其中包括:Bicubic、SRCNN、VDSR、CARN、SRGAN、EDSR。同時將本文中提出的跨尺度單分支網絡(CSSR)與跨尺度多分支網絡(M-CSSR)也進行了比較,在Urban100數據集和Manga109 數據集上分別對2 倍、3 倍和4 倍放大因子超分辨率重建對比峰值信噪比和結構相似度,結果如表2 和表3 所示,其中粗體字顯示為當前比較中的最優結果。

表2 不同算法在Urban100和Manga109數據集上PSNR測試結果Table 2 PSNR test results of different algorithms on Urban100 and Manga109 datasets單位:dB

表3 不同算法在Urban100和Manga109數據集上SSMI測試結果Table 3 SSMI test results of different algorithms on Urban100 and Manga109 datasets
從表中可以看出文中方法與其他方法相比具有更高的PSNR和SSMI,其中客觀結果表明SRCNN算法作為最初應用于深度學習領域的超分辨率算法,其理論是開創性的,但是重建效果不夠理想,隨后出現的深度學習超分辨率重建的在網絡深度和寬度上都有一定程度的提升,VDSR、CARN和EDSR通過對網絡結構的優化和對網絡層數的加深,使得它們在客觀評價指標上均有一定的提高,SRGAN 通過使用生成對抗網絡完成重建使性能得到一定提升,同時也為超分辨重建開辟了一種新的思路。
相較于前幾種方法,文中算法在Urban100 和Manga109數據集上,PSNR和SSMI兩種客觀評價指標中都取得了不錯的結果。本文也將單一的跨尺度網絡與跨尺度多分支網絡結構進行了比較,從結果中可以看出多分支結構與其單分支結構在峰值信噪比和結構相似度上略有差距,但是其差距并不明顯,這兩種數據集包含了豐富的重復塊,例如一些邊、小角,證明跨尺度非局部模塊可以利用圖像的內部信息提升重建效果,從而表明關注內部資源輔助重建是有效的。
傳統的重建方法旨在通過更深的網絡結構、更寬的網絡寬度來得到更好的視覺效果,這種考慮方式不夠全面,良好的視覺效果往往承受著巨大的計算代價。因此在考慮圖像峰值信噪比和結構相似度的提升時,還應當將計算開銷作為重要的關注點,這樣可以更全面的衡量模型的重建性能。本文用Urban100 和Manga109 測試集中圖像重建的浮點計算數、實時性和模型參數量3個方面衡量模型的性能,如表4所示。從表中可以看出本文方法CSSR在EDSR的ResBlock中構建了CS Block,因此CSSR網絡相較于EDSR網絡在參數上增加了0.6×106,實時性略微降低,重建時間增加了0.12 s。然而多分支結構的M-CSSR 網絡重建圖像的實時性大幅度提升,單幅圖像重建時間比CSSR 減少了0.28 s,比EDSR減少了0.16 s??傮w來說,本文方法從參數、浮點計算數和實時性方面整體優于EDSR方法。同時可以看出,子圖像劃分的數量對計算開銷也有一定的影響,Manga109測試集中存在的平滑區域比Urban100 測試集相對多,因此在劃分子圖像時Manga109測試集被劃分到簡單類別的子圖像更多,重建時僅需要原來浮點計算數的53%,而Urban100測試集浮點計算數只減少為原來的56%。

表4 不同模型性能對比結果Table 4 Performance comparison results of different models
3.3.2 主觀評價
為了更好地體現不同峰值信噪比和結構相似度在圖像中呈現出來的差距,本文從實驗結果中選取3張高清圖像,通過對于圖像中的局部區域進行放大,對比不同方法在這三張圖像的重建效果。高頻信息是圖像中顏色變化快的區域,例如圖10 中建筑物的窗戶與墻面之間的邊緣部分??梢詮膱D中看出Bicubic重建出的圖像相對模糊,重建效果與HR圖像差距較大,對于低頻信息與高頻信息的捕獲能力均不夠理想。雖然CARN 方法相較于Bicubic 方法有所改進,但是其整體重建效果仍然模糊。隨后提出的EDSR 方法挖掘低頻信息能力方面有所改進,從圖中可以看出對于整體墻面的重建效果相對理想,但是圖像中沒有很好地利用內部信息對細小的結構進行輔助重建,仍然無法挖掘到顏色變化快的高頻區域,如圖中窗戶與墻面之間的窗臺區域,導致圖像看上不夠自然。因此,本文方法中的CS block 利用圖像中內部資源的跨尺度相關性,主要針對前幾種經典方法中挖掘高頻信息不足,紋理細節區域重建效果不理想等問題進行改善,同時使圖像變得更加自然和真實,可以看出本文方法在圖像中墻面與窗戶等相關邊界區域呈現出更多的信息??傮w來看,本文方法從視覺效果上比以往方法更具有優勢。

圖10 不同模型重建結果Fig.10 Reconstruction results of different models
同時,本文針對以上3幅圖像采用主觀打分的方式進行評價,將以上3幅圖像中對應的放大區域進行隨機排列且不被告知圖像模型名稱,讓參與者僅憑借其主觀感受,對不同模型從1 至10 分中進行打分,最終計算出50位參與者在不同模型上的平均得分來進行比較,如表5所示。
本文主要針對當前超分辨率模型紋理結構不清晰、細節信息不明顯和網絡過深導致重建計算成本過高的問題進行研究,提出了一種跨尺度多分支網絡的單幀圖像超分辨率重建方法。該模型依據不同區域圖像重建難度不同,通過多分支網絡的方式解決深度模型重建圖像時計算成本過高的問題。此外在殘差結構內部通過跨尺度模塊,利用圖像內部信息輔助重建圖像中大量的細節區域,能使圖像看起來更加真實自然、紋理細節更加清晰。
為了體現本文的超分辨率模型相比于以往超分辨率模型的優勢,采用客觀評價與主觀評價相結合的方式對不同模型進行比較,在兩個公開數據集上對它們之間峰值信噪比和結構相似度進行比較,同時采用主觀評分的方式對模型重建圖像的視覺效果進行評價。為了體現多分支結構可以降低模型的計算成本,本文采用浮點計算數對模型的復雜程度進行了比較,最終對比表明本文模型不僅能夠有效恢復超分辨率圖像的紋理細節部分,使圖像重建后更加真實自然,具有更好的復原效果,而且模型計算復雜度相比于經典方法有所減少。