林 靜,黃玉清,李磊民
(西南科技大學信息工程學院,四川綿陽621010)
單幅圖像超分辨率(Single Image Super-Resolution,SISR)重建[1]是使用單張模糊的低分辨率(Low-Resolution,LR)圖像的信息重建出紋理細節(jié)豐富、清晰的高分辨率(High-Resolution,HR)圖像,在軍事遙感、醫(yī)學成像和視頻監(jiān)測等領域應用廣泛。超分辨率(Super-Resolution,SR)重建技術主要分為基于插值[2]、重建[3]以及學習[4]的三種方法?;诓逯档姆椒ㄐ枰獔D像具有連續(xù)灰度值,根據(jù)鄰域像素點的灰度值估計得到待插點的灰度值。該方法操作簡單、時間復雜度底,但在應用中獲取的HR 圖像信息有限,重建圖像易產(chǎn)生鋸齒或模糊現(xiàn)象?;谥亟ǖ姆椒ㄍㄟ^配準等處理將同一場景下采集的多幅圖像進行信息融合。該方法借助圖像的先驗知識進行重建,緩解了基于插值重建圖像的鋸齒現(xiàn)象,重建效果得到一定改善,但易受設備、場景等影響,當放大倍數(shù)過大時由于獲取的先驗知識較少,重建效果較差?;趯W習的方法直接通過學習獲得LR 圖像與HR 圖像之間的映射關系,通過該關系預測對應HR 圖像的紋理細節(jié),相較基于重建的方法改善了放大倍數(shù)的限制,能獲得更好的HR圖像質量。
隨著卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)在SISR 重建任務中應用,重建圖像質量得到了有效改善。Dong 等[5]提出了快速的卷積神經(jīng)網(wǎng)絡超分辨率(Fast Super-Resolution Convolutional Neural Network,F(xiàn)SRCNN)重建,使用反卷積層代替?zhèn)鹘y(tǒng)雙三次插值進行圖像上采樣,并將卷積層數(shù)量增加至8 層獲取圖像信息。該方法無需差值預處理,提高了處理速度。Shi 等[6]提出了亞像素卷積神經(jīng)網(wǎng)絡超分辨率(Efficient Sub-Pixel Convolutional Neural network for image super-resolution,ESPCN)重建算法,首先對LR 圖像塊進行特征提取,再使用亞像素卷積對特征進行上采樣,降低了重建過程的計算復雜度,提高了重建的效率?;贑NN 的重建算法[7-9]能獲得較高感知評價指標,但是圖像總體平滑,缺乏紋理細節(jié)。Goodfellow 等[10]首次提出包含生成器和判別器兩部分的生成對抗網(wǎng)絡(Generative Adversarial Network,GAN)框架,訓練時生成器與判別器進行極大極小博弈。Ledig等[11]將GAN 應用SISR 重建任務,提出基于GAN 的單圖像超分辨率網(wǎng) 絡(photo-realistic single image Super-Resolution using Generative Adversarial Network,SRGAN),把圖像重建視為圖像生成任務。該方法將LR 圖像輸入生成器生成SR 圖像,判別器對SR 圖像和HR 圖像進行區(qū)分,相較傳統(tǒng)重建方法而言能夠保留更多細節(jié)特征,但是重建圖像具有大量偽像。在此基礎上,Wang等[12]改進了SRGAN 的網(wǎng)絡結構、對抗損失和感知損失三個部分,提出增強型超分辨率生成對抗網(wǎng)絡(Enhanced Super-Resolution Generative Adversarial Network,ESRGAN),生成的重建圖像不僅具有豐富的紋理細節(jié),而且峰值信噪比(Peak Signal to Noise Ratio,PSNR)和結構相似性(Structural SIMilarity,SSIM)等評價指標較SRGAN明顯提高。
傳統(tǒng) GAN 采用 JS(Jensen-Shannon)散度[13]度量 SR 圖像分布與HR 圖像分布之間的距離,在判別器訓練最優(yōu)時,優(yōu)化生成器即最小化SR 圖像與HR 圖像分布的JS 散度。然而只有當SR 圖像與HR 圖像分布完全重疊時JS 散度才為0,其余情況均為固定常數(shù)log 2,此時生成器面臨梯度消失[14-15]問題,因此傳統(tǒng)GAN 存在生成器損失難收斂、網(wǎng)絡訓練不穩(wěn)定的問題。并且基于GAN 的SISR 技術引入了對抗損失,將SR 任務視為圖像生成,重建圖像評價指標值較低。針對此問題,本文提 出 SDSRGAN (Spherical double Discriminator Super-Resolution Generative Adversarial Network)對球面上 HR 圖像與SR圖像特征[16]進行幾何矩匹配,并利用數(shù)據(jù)的高階統(tǒng)計信息,通過特征距離間的幾何約束實現(xiàn)網(wǎng)絡穩(wěn)定訓練,解決模式崩潰問題;同時增加特征判別器[17],充分利用圖像高頻特征,生成更多圖像相關的結構紋理細節(jié)。
SDSRGAN 由一個生成器和兩個判別器組成,判別器包含球面判別器與特征判別器。首先LR 圖像經(jīng)生成器進行特征提取以及圖像上采樣生成SR圖像;然后將SR圖像與HR圖像分別輸入球面判別器與特征判別器,判別圖像來源。球面判別器將SR 圖像與HR 圖像的特征從一維空間映射至n維歐幾里得空間,經(jīng)過幾何變換,最終映射到n 維球面空間,通過計算特征點與以球面北極為中心的幾何矩,實現(xiàn)生成器與球面判別器極大極小博弈;特征判別器使用訓練好的視覺幾何組(Visual Geometry Group,VGG)網(wǎng)絡提取SR 圖像與HR 圖像的高頻特征,并判別高頻特征來源。
生成網(wǎng)絡包含特征提取模塊與上采樣模塊,主要任務是將LR 圖像重建至高清的、具有細節(jié)的SR 圖像。ESRGAN 提出的生成網(wǎng)絡結構在SISR 重建任務中具有很大優(yōu)勢,因此本文沿用該生成器網(wǎng)絡結構。生成網(wǎng)絡使用殘余剩余塊(Residual-in-Residual Dense Block,RRDB)基本單元,結合多層殘差網(wǎng)絡與密集跳躍連接,在殘差網(wǎng)絡中僅包含卷積層與泄露的修正線性單元(Leaky Rectified Linear Unit,LReLU),而未使用批量標準化(Batch Normalization,BN)層,提高了網(wǎng)絡的泛化能力并且容易訓練。采用亞像素卷積進行上采樣,每次上采樣實現(xiàn)2倍圖像放大,執(zhí)行兩次實現(xiàn)4倍比例因子放大。生成器操作如下:
其中:ILR代表 LR 圖像;ISR代表 SR 圖像;Fc代表卷積,F(xiàn)Rrdb代表RRDB基本塊;Fup代表上采樣。
球面判別網(wǎng)絡在圖像像素層面上判斷輸入圖片來源于SR圖像還是HR圖像。首先將SR圖像與HR圖像作為輸入經(jīng)過9 個基本塊特征提取,每個基本塊包含卷積層、BN 層以及LReLU 激活層,其中卷積層采用3×3 尺寸,前8 個卷積核通道以每兩個卷積呈2 的冪次增加,由64 個逐漸增加至512 個,每兩個相同卷積核數(shù)量的步長分別為1、2,將圖像特征從低維度逐漸映射至更高維度中。使用平均池化(Avg Pooling)去除冗余信息,通過全連接層將圖像特征信息映射到一維空間中,最后將一維空間中的特征映射至歐幾里得空間,通過幾何變換將圖像特征映射至球面。網(wǎng)絡結構如圖1所示。圖1中:圓點“·”代表高清圖像特征,三角形“▲”代表重建圖像特征;平行四邊形代表歐幾里得空間,球面代表球面空間,虛線表示將歐幾里得空間中的特征映射至球面;K 代表卷積核尺寸,N 代表卷積核數(shù)量,S代表步長。
將HR圖像與SR圖像在歐幾里得空間中的特征映射至球面,球面的特征點間距離明顯短于歐幾里得空間中兩特征點間距離?;谇蛎娑攘縃R圖像與SR圖像特征點之間的幾何約束公式如下:
其中:DS代表距離函數(shù);θ表示特征點從歐幾里得空間映射至球面;m、n代表歐幾里得空間中圖像特征。
在歐幾里得空間中特征點間距離可以取到無窮遠,但球面空間中兩特征點之間距離最大僅能取到以球心為圓心的半圓弧長π(半徑為單位長)。由于球面上特征點間幾何矩受限并且有界,當引入該距離作為判別器目標函數(shù)時,作用于球面的全局約束可以使網(wǎng)絡穩(wěn)定訓練。
圖1 球面判別器Fig. 1 Spherical discriminator
基于GAN 的重建圖像引入對抗損失能在一定程度上恢復圖像紋理細節(jié),但是生成的圖像具有偽像,與真實圖像紋理細節(jié)有一定差異。這是因為圖像高頻特征中包含了很多圖像紋理相關信息,但并未得到充分利用,因此,重建圖像紋理細節(jié)大多為高頻噪聲,而非與圖像相關的紋理。
特征判別網(wǎng)絡在圖像高頻特征層面上判斷輸入圖像來源。首先將HR 圖像和SR 圖像經(jīng)訓練好的VGG 網(wǎng)絡提取中間高頻特征,并基于提取的特征判別特征圖來源,使SR 圖像高頻特征接近于HR 圖像高頻特征。特征判別器結構如圖2所示。
圖2 特征判別器Fig. 2 Feature discriminator
1.4.1 球面生成對抗損失
本文采用球面上受限的幾何矩度量HR圖像分布與SR圖像分布之間的距離,此時生成器期望最小化球面上SR圖像特征點與北極點之間的幾何矩距離,判別器期望最小化球面上的HR 圖像特征與北極點之間的幾何矩距離,同時最大化球面上的SR 圖像特征與北極點之間的幾何矩距離,以此區(qū)分SR圖像與HR圖像。生成器與球面判別器之間的極大極小博弈,促進生成器與判別器在像素層面上性能不斷優(yōu)化,最終SR 圖像具有基于像素層面的HR 圖像高頻細節(jié),如式(3)、(4):
其中:IHR代表高清圖像;ISR代表重建圖像;DS代表球面上兩點間幾何矩;N代表球面北極中心點;LSp_g代表球面生成損失;LSp_d代表球面對抗損失。
1.4.2 像素相似性損失
使用像素相似性損失限制SR圖像在像素層面上接近HR圖像,本文采用均方誤差(Mean Squared Error,MSE)損失作為像素相似性損失,計算如下:
其中:W、H、C代表圖像的寬度、高度與通道數(shù);LMSE代表像素相似性損失。
1.4.3 特征相似性損失
使用像素相似性損失重建的圖像能夠提高PSNR 與SSIM評價指標,但重建圖像過于平滑,圖像細節(jié)不夠逼真。將SR圖像與HR 圖像經(jīng)過預先訓練好的VGG 網(wǎng)絡提取固定層特征圖,計算二者圖像特征圖間的MSE 損失,約束SR 圖像在特征層面上與HR圖像具有相似性。
其中:Φ表示特征映射;Wm、Hm、Cm代表第m個特征映射的維數(shù);LF_MSE代表特征相似性損失。
1.4.4 特征結構性損失
利用圖像高頻特征的結構分量,將SR 圖像與HR 圖像經(jīng)過預先訓練好的VGG 網(wǎng)絡提取第m層的圖像高頻特征后,通過特征判別器在特征層面上判別圖像來源。特征生成損失目標是將SR 圖像特征判別為真,特征對抗損失目標是將SR 圖像特征判別為假、將HR 圖像特征判別為真。特征結構性損失對圖像感知指標的提高具有顯著效果,如式(7)、(8):
其中:LF_g代表特征生成損失;LF_d代表特征對抗損失。
特征生成損失與特征對抗損失之間的博弈使SR 圖像與HR圖像在特征結構層面上具有相似性,重建圖像具有圖像相關的高頻紋理細節(jié)。
本文算法SDSRGAN 具體實現(xiàn)分為生成網(wǎng)絡、球面判別網(wǎng)絡以及特征判別網(wǎng)絡三大模塊。生成網(wǎng)絡受ESRGAN 啟發(fā),采用RRDB 作為特征提取塊可以提高網(wǎng)絡的泛化能力;為了改善網(wǎng)絡訓練的穩(wěn)定性,借鑒文獻[16]中高維空間的幾何矩匹配思想,通過在判別網(wǎng)絡中引入基于球面空間的特征判別,實現(xiàn)網(wǎng)絡快速收斂;受文獻[17]啟發(fā),采用基于VGG 網(wǎng)絡的特征提取,使重建圖像具有豐富的紋理細節(jié);采用Adam 優(yōu)化器減少內存需求,提高計算效率。技術路線圖如圖3 所示。SDSRGAN算法流程如算法1所示。
首先,生成器對輸入圖像基于RRDB 模塊的剩余殘余塊進行特征提取,并使用亞像素卷積得到4 倍放大的重建圖像。然后,經(jīng)球面判別器的特征提取并映射至高維球面空間,計算基于球面空間的特征間距離;同時圖像通過訓練好的VGG 網(wǎng)絡提取高頻特征。最后,通過Adam 優(yōu)化器優(yōu)化球面判別與特征判別損失,并更新判別器參數(shù),通過雙判別器的判別結果,優(yōu)化生成損失并更新生成器參數(shù)。
算法1 SDSRGAN算法。
1) 初始化:Btachsize大小a,當前迭代次數(shù)z,完全迭代次數(shù)Z,已完成的批次數(shù)p,訓練集圖片總數(shù)與每批次圖片數(shù)的比值P,球面與特征判別損失權重系數(shù)α = β = 0.5,生成損失權重系數(shù)γ = 10-2;
2) for z to Z do
3) for p in P do
大通縣馬鈴薯產(chǎn)業(yè)是一個市場看好、增產(chǎn)增收、最實最快、適應性強、且分布較廣的產(chǎn)業(yè),也是一個任重而道遠的工作,無論是走品牌建設之路,還是健全馬鈴薯生產(chǎn)技術推廣體系建設都需要各級各部門的高度重視與共同努力,只有全方位,多渠道加大投入力度,改進馬鈴薯生產(chǎn)方式,加強脫毒種薯區(qū)域化、規(guī)?;I(yè)化、科學化生產(chǎn),進一步擴展馬鈴薯營銷市場,改善馬鈴薯貯運條件,大力發(fā)展馬鈴薯精深加工業(yè),大通縣馬鈴薯產(chǎn)業(yè)發(fā)展之路才能走得更快、更寬、更順暢。
4) 從訓練集中取出每批次樣本數(shù)為a的樣本{x1,x2,…,xa}作為輸入數(shù)據(jù)集;
5) 將輸入數(shù)據(jù)集輸入生成器,得到重建圖像
6) 使用式(4)計算球面對抗損失LSp_d,使用式(8)計算特征對抗損失LF_d;
7) 使用Adam優(yōu)化器更新球面判別網(wǎng)絡和特征判別網(wǎng)絡的參數(shù)ω1,ω2:?ω1,ω2[αLSp_d+ βLF_d];
8) 將輸入數(shù)據(jù){x1,x2,…,xa}輸入生成器,得到重建圖像,
9) 根據(jù)球面判別器與特征判別器的判別結果,依次使用式(3)、(5)、(6)、(7)計算球面生成損失LSp_g、像素相似性損失LMSE、特征相似性損失LF_MSE和特征生成損失LF_g;
10) 使用Adam優(yōu)化器更新生成網(wǎng)絡參數(shù)φ:
12) end for
圖3 SDSRGAN算法流程Fig. 3 Flowchart of SDSRGAN algorithm
實驗平臺是Linux 下pytorch1.0 框架Python 語言,處理器為Intel Xeon CPU E5-2650 v3@ 2.30 GHz,內存是283 GB,顯卡為GTX 1080Ti,顯存為48 GB。
預訓練和訓練數(shù)據(jù)集均采用由800 張HR 圖像組成的DIV2K 數(shù)據(jù)集,使用Matlab 中采樣因子為4 的雙三次內核對HR 圖像進行下采樣獲得LR 圖像。采用廣泛使用的Set5、Set14、BSDS100和Urban100等基準數(shù)據(jù)集作為測試集。
生成器剩余殘余基本塊數(shù)量為16,訓練分為預訓練及訓練兩個階段。預訓練過程中,采用網(wǎng)絡插值[12]方法消除重建過程中產(chǎn)生的噪聲。預訓練分為兩步:首先采用像素相似性損失訓練以PSNR 為導向的模型,在此基礎上,采用球面生成損失訓練基于GAN 的模型進行調優(yōu),其中初始學習率為2 ×10-4。訓練過程中,生成器與判別器均使用Adam 優(yōu)化器,超參數(shù)設置為β1= 0.9,β2 = 0.99。初始學習率為10-4,并在損失停止降低時減少1/10學習率,直至學習率降至10-6,訓練周期為500 000。
客觀評價:采用PSNR 和SSIM 作為客觀評價指標。PSNR基于圖像像素點間的誤差反映圖像相似性:PSNR 越大,圖像相似性越高;PSNR越小,圖像相似性越低。計算公式如下:
其中:IHR代表HR 圖像;ISR代表 SR 圖像;W、H、C 代表圖像寬度、高度和通道數(shù)。
SSIM從亮度、對比度、結構三個方面進行對比,SSIM取值范圍是[-1,1],SSIM 越接近1,兩張圖像結構越相似。計算公式如下:
其中:x 代表 SR 圖像;y 代表 HR 圖像;μ 代表均值,σx、σy代表x、y的方差;σxy代表x、y的協(xié)方差。
為了展示本文算法的重建效果以及損失收斂情況,與基于深度學習的重建方法以及傳統(tǒng)重建算法進行對比。其中超分辨率殘差網(wǎng)絡(Super-Resolution Residual Network,SRResNet)在SISR 重建任務中具有良好的可移植性,可用于基于GAN 的圖像超分辨率生成器部分;SRGAN 作為GAN 應用于圖像重建的開山之作,關注人類視覺主觀評價;ESRGAN作為SRGAN 的改進算法,對重建任務的理論研究以及實際應用具有突出貢獻,并獲得了ECCV2018 PRIM-SR 比賽冠軍。為保證數(shù)據(jù)公平性,SDSRGAN 框架中生成器基本塊數(shù)量與ESRGAN、SRGAN 以及 SRResNet 一致。圖 4 為 SDSRGAN 與ESRGAN 算法在訓練過程中生成器損失曲線變化;圖5 為PSNR結果趨勢對比,測試數(shù)據(jù)集為Set5。表1為分別在Set5、Set14、BSDS100以及Urban100數(shù)據(jù)集上對Bicubic、SRResNet、SRGAN、ESRGAN、SDSRGAN 幾種算法進行重建的 PSNR 與SSIM 數(shù)據(jù)統(tǒng)計均值;圖6、7 為重建圖像中紋理細節(jié)豐富區(qū)域的細節(jié)對比和具體PSNR、SSIM,它們分別選取的是Set5 中“baby”圖片和Urban100 中“img_047”圖片。除圖4 外,其余結果均采用圖像Y通道的PSNR和SSIM。
由圖4 可知,訓練時SRGAN 和ESRGAN 生成器損失處于0 至0.1 范圍內持續(xù)震蕩,無明顯收斂跡象。SDSRGAN 生成器損失僅在1× 105處相對不穩(wěn)定,但總體損失值由0.15收斂至0~0.05 范圍,最后趨于平緩。這說明SDSRGAN 的生成器損失收斂效果優(yōu)于SRGAN和ESRGAN。
從圖5 所示的PSNR 曲線趨勢可知,隨著迭代次數(shù)增加,SRGAN、ESRGAN、SDSRGAN 三種算法的PSNR 值增加,且增加趨勢逐漸平緩。其中SDSRGAN 的PSNR 明顯高于另外兩種算法,說明SDSRGAN改善了基于GAN的重建圖像PSNR。
由表1 的數(shù)據(jù)統(tǒng)計結果不難看出,與Bicubic、SRGAN、ESRGAN 相比,SDSRGAN 重建圖像的 PSNR 和 SSIM 在幾種基準數(shù)據(jù)集上均取得最優(yōu)值,且SDSRGAN 比性能最好的ESRGAN 算法的 PSNR 高 0.80 dB、SSIM 高 0.031。這表明在基于 GAN 的重建算法中 SDSRGAN 算法的 PSNR、SSIM 評價指標表現(xiàn)優(yōu)越。相較SRResNet 算法,雖然SDSRGAN 算法的評價指標較低,但是重建圖像卻更具紋理細節(jié),具體參考圖6、7的細節(jié)對比圖。
圖4 生成器損失曲線Fig. 4 Generator loss graph
圖5 PSNR曲線Fig. 5 PSNR trend graph
表1 基準數(shù)據(jù)集上重建結果的PSNR和SSIM統(tǒng)計Tab. 1 Statistics of PSNR and SSIM of the reconstruction results on the benchmark dataset
圖6 Set5數(shù)據(jù)集中“baby”圖像細節(jié)對比Fig. 6 Comparison of“baby”image details in Set5 dataset
圖7 Urban100數(shù)據(jù)集中“img_047”圖像細節(jié)對比Fig. 7 Comparison of“img_047”image details in Urban100 dataset
對比幾種重建圖像的紋理細節(jié),相較未引入GAN 的網(wǎng)絡,F(xiàn)SRCNN 和SRResNet 重建圖像具有較高的PSNR 和SSIM值,但是就人類視覺感官而言,缺乏紋理細節(jié);并且圖像結構越復雜,F(xiàn)SRCNN 和SRResNet 優(yōu)勢越小,對于簡單圖像“baby”,SRResNet、FSRCNN 分 別 比 SDSRGAN 的 PSNR 高1.19 dB、0.36 dB,SSIM 高 0.035、0.012。但對于復雜圖像“img_047”,SRResNet 只比 SDSRGAN 的PSNR 高 0.2 dB、SSIM高 0.003,F(xiàn)SRCNN 反 而 比 SDSRGAN 的 PSNR 低 1.06 dB、SSIM 低 0.082。與基于 GAN 的重建算法相比,ESRGAN 和SDSRGAN 具有較豐富的紋理細節(jié),但是SDSRGAN 重建了圖像相關的紋理細節(jié),ESRGAN 重建紋理細節(jié)豐富,但具有一定偽像。因此得出結論,SDSRGAN 具有較優(yōu)的PSNR 和SSIM 評價指標,且具有與圖像相關的逼真紋理細節(jié)。
本文提出了一個雙判別器生成對抗網(wǎng)絡進行圖像端到端超分辨率重建。在判別網(wǎng)絡中將圖像特征映射至高維空間并提取高頻特征,快速收斂了生成損失,避免了模式崩潰問題。實驗結果表明,本文算法在不同數(shù)據(jù)集上重建性能具有普適性,提高了重建圖像質量。本文算法針對固定比例因子的圖像重建,網(wǎng)絡靈活性較低,未來的研究重點是針對上采樣模塊進行改進,使網(wǎng)絡適用于實際場景中任意比例因子的圖像重建。