鄧酩, 柳慶龍, 侯立憲
(1.桂林理工大學(xué)信息科學(xué)與工程學(xué)院, 桂林 541006; 2.桂林理工大學(xué), 廣西嵌入式技術(shù)與智能系統(tǒng)重點(diǎn)實(shí)驗(yàn)室, 桂林 541006)
圖像超分辨率重建是指從低分辨率的圖像生成高分辨率圖像,它是一個(gè)重要的視覺(jué)應(yīng)用。圖像超分辨率(super resolution, SR)的目的是提高給定低分辨率(low resolution, LR)圖像的分辨率,這是圖像技術(shù)中一個(gè)不間斷的過(guò)程,包括上采樣、去模糊、去噪等,并通過(guò)注入低分辨率圖像的高頻成分來(lái)重構(gòu)高分辨率圖像。在醫(yī)學(xué)成像[1]、衛(wèi)星成像[2]、人臉識(shí)別[3]等領(lǐng)域,從圖像中提取重要信息顯得尤為重要。傳統(tǒng)的圖像超分辨方法分為以下幾類:基于插值的方法、基于重建的方法和基于學(xué)習(xí)的方法[4]。這些方法較為簡(jiǎn)單,生成的圖像會(huì)出現(xiàn)邊緣模糊,丟失高頻細(xì)節(jié)等問(wèn)題。隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,超分研究延伸到了一種新的基于學(xué)習(xí)的方法,即深度學(xué)習(xí)方法。由于深度卷積神經(jīng)網(wǎng)絡(luò)[5]能從大量數(shù)據(jù)中學(xué)習(xí)有效表征,Dong等[6]提出了基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)的超分辨率卷積神經(jīng)網(wǎng)絡(luò)(super-resolution convolutional neural network, SRCNN),實(shí)現(xiàn)了從低分辨率到高分辨率圖像的端到端映射。針對(duì)SRCNN模型的計(jì)算冗余問(wèn)題,Dong等[7]對(duì)SRCNN進(jìn)行改進(jìn)并提出了快速超分辨率卷積神經(jīng)網(wǎng)絡(luò)(fast super-resolution by CNN, FSRCNN)。為了解決圖像重建上采樣放大問(wèn)題,Shi等[8]采用亞像素卷積層,提出高效子像素卷積神經(jīng)網(wǎng)絡(luò) (efficient sub-pixel convolutional neural network, ESPCN) 模型,可以直接獲取低分辨率圖像上的特征,重建出高分辨率圖像。區(qū)別于以上兩種模型,Kim等[9]借鑒殘差網(wǎng)絡(luò) (residual network,ResNet) 的思想,將網(wǎng)絡(luò)層數(shù)增加到20層提出了VDSR (very deep convolution networks)模型。Tong等[10]在密集跳躍連接思想的基礎(chǔ)上,提出了SRDenseNet (image super-resolution using dense skip connections),增強(qiáng)了網(wǎng)絡(luò)特征的傳播與復(fù)用。為避免高復(fù)雜度網(wǎng)絡(luò)訓(xùn)練下低頻紋理的過(guò)擬合,Li等[11]利用帶有約束的RNN (recurrent neural network) 中的隱藏狀態(tài),提出了一種圖像超分辨率反饋網(wǎng)絡(luò)(feedback network for image super-resolution, SRFBN)。為了更好地保存圖像細(xì)節(jié)信息和空間一致性,Liu等[12]提出了一種基于雙卷積神經(jīng)網(wǎng)絡(luò)的多焦點(diǎn)圖像融合算法。Nan等[13]提出了一種基于ResNeXt (residual next)的單圖像超分辨率重建算法,該方法去除了殘差網(wǎng)絡(luò)中的歸一化操作,提高了模型訓(xùn)練速度。Ren等[14]將金字塔卷積和淺層殘差模塊相結(jié)合,提出了具有金字塔特征的多精餾網(wǎng)絡(luò)。
生成對(duì)抗網(wǎng)絡(luò)(generative adversarial net,GAN)興起后,被逐漸用于圖像超分任務(wù)。Ledig等[15]將生成對(duì)抗網(wǎng)絡(luò)與圖像超分結(jié)合,提出了基于生成對(duì)抗網(wǎng)絡(luò)的圖像超分辨率重建模型SRGAN (super resolution generative adversarial network),SRGAN使用深度殘差網(wǎng)絡(luò)作為生成器,從縮小的輸入中生成高分辨率(high resolution, HR)圖像。在SRGAN的基礎(chǔ)上,Wang等[16]使用密集連接模塊 (residual in residual dense block,RRDB)代替原始的殘差模塊,提出了ESRGAN (enhanced super resolution generative adversarial network)。為了減少?gòu)?fù)雜圖像中的偽影,Gong等[17]提出了一種帶有啟發(fā)模塊的Enlighten-GAN,啟發(fā)模塊通過(guò)設(shè)置更簡(jiǎn)單的目標(biāo)來(lái)確保網(wǎng)絡(luò)接收有效梯度,從而改善網(wǎng)絡(luò)。針對(duì)現(xiàn)有的超分辨率GAN網(wǎng)絡(luò)的特征表達(dá)弱、網(wǎng)絡(luò)冗余問(wèn)題,Zhang等[18]通過(guò)減少殘差單元的數(shù)量,在所有殘差塊之間建立跳躍連接,提出了一種新型的輕型多重密集殘差塊結(jié)構(gòu)的GAN網(wǎng)絡(luò)。Sun等[19]對(duì)殘差學(xué)習(xí)進(jìn)行改進(jìn),提出了一種基于寬通道激活的生成對(duì)抗網(wǎng)絡(luò)(wavelet domain super resolution generative adversarial network, WDSRGAN),以此來(lái)獲取圖像的淺層信息。Wang等[20]提出一種基于反饋?zhàn)⒁饬C(jī)制(feature-based super resolution generative adversarial network, FBSRGAN)的SISR重建GAN方法,通過(guò)反饋連接逐漸創(chuàng)建高分辨率圖像。但GAN重建的后的圖像與真實(shí)數(shù)據(jù)的細(xì)節(jié)紋理仍存在偏差,具有偽影和噪聲。且專注于均方誤差[21]得分進(jìn)行訓(xùn)練,使得圖像中的紋理等高頻信息丟失。
針對(duì)上述問(wèn)題,現(xiàn)提出一種基于多尺度殘差生成對(duì)抗網(wǎng)絡(luò)的圖像超分辨率重建算法,在生成網(wǎng)絡(luò)中將原SRGAN中的殘差模塊替換為由Dense-Res2Net模塊與特征壓縮與激發(fā)網(wǎng)絡(luò)(squeeze-and-excitation attention, SENet)[22]的組合。相比于傳統(tǒng)的殘差模塊,Dense-Res2Net將殘差模塊中的主卷積替換成多層小的卷積,以此提取更多尺度特征,在深層卷積神經(jīng)網(wǎng)絡(luò)Res2Net[23]的基礎(chǔ)上采用密集連接方式進(jìn)行特征映射,增加特征的重用。同時(shí)SENet注意力機(jī)制,能夠自適應(yīng)地重新分配特征通道的權(quán)值,能夠進(jìn)一步提升Dense-Res2Net的性能。
在損失函數(shù)中加入全變分[24](total variation,TV)正則化損失,減少圖像噪聲。針對(duì)生成對(duì)抗網(wǎng)絡(luò)中的訓(xùn)練不穩(wěn)定、耗時(shí)長(zhǎng)等問(wèn)題,移除原SRGAN殘差塊中的BN(batch normalization)層,同時(shí)使用Wasserstein距離[25]代替JS(Jensen Shannon)散度優(yōu)化網(wǎng)絡(luò),穩(wěn)定網(wǎng)絡(luò)的訓(xùn)練。由此構(gòu)建一個(gè)多尺度殘差生成對(duì)抗網(wǎng)絡(luò)的圖像超分辨率重建算法。
GAN 的結(jié)構(gòu)受到博弈論中的納什均衡啟發(fā)。生成器的目的是了解真實(shí)數(shù)據(jù)的分布,而鑒別器的目的是正確判斷輸入數(shù)據(jù)是來(lái)自真實(shí)數(shù)據(jù)還是來(lái)自生成器。SRGAN模型結(jié)構(gòu)如圖1所示。
圖1 基本SRGAN模型結(jié)構(gòu)Fig.1 Structure of the basic SRGAN model
任何可微函數(shù)都可以用作生成器和判別器。其目標(biāo)函數(shù)表達(dá)式為
Ez~P(z)(lg{1-D[G(x)]})
(1)
式(1)中:x為真實(shí)樣本;Ex~Pdata(x)()和Ez~P(z)()為分別表示對(duì)真實(shí)樣本和生成樣本進(jìn)行期望操作;D(x)表示通過(guò)判別器后判定為真實(shí)圖像的概率;G(x)表示生成器輸出樣本,服從真實(shí)數(shù)據(jù)的Pdata(x)分布;z為輸入噪聲。x從真實(shí)的訓(xùn)練數(shù)據(jù)中采樣作為D的輸入,D會(huì)自動(dòng)學(xué)習(xí),使其輸出接近1。G和D相互競(jìng)爭(zhēng),不斷迭代優(yōu)化,直到D無(wú)法區(qū)分輸入的圖像是G生成的圖像還是真實(shí)圖像。
SE模塊由Squeeze和Excitation兩部分組成。特征首先被傳遞給Squeeze操作通過(guò)沿著每個(gè)特性映射得到空間維度聚合產(chǎn)生每個(gè)特性映射的描述符。描述符產(chǎn)生信道級(jí)特征響應(yīng)得到全局分布的嵌入。這使得網(wǎng)絡(luò)得到所有層都可以使用來(lái)自全局接受域的信息。在之后的Excitation操作中產(chǎn)生的嵌入用于為每個(gè)特征映射獲得調(diào)制權(quán)值的集合。將這些權(quán)值用于特征映射,生成加權(quán)特征映射,為每個(gè)特征通道生成權(quán)重。最后將Excitation輸出的權(quán)重通過(guò)乘法逐通道加權(quán)到先前的特征上,對(duì)原通道上的特征完成重標(biāo)定。SE模塊的具體結(jié)構(gòu)如圖2所示。
H×W×C分別表示輸入特征圖的高度,寬度和通道數(shù)圖2 SE模塊結(jié)構(gòu)Fig.2 Structure of the basic SENet model
為了能夠提取LR圖像的全局和局部信息[27],擴(kuò)大其感受野,使用Dense-Res2Net網(wǎng)絡(luò)以更細(xì)粒度地表示特征信息,實(shí)現(xiàn)多層特征復(fù)用。
相比于傳統(tǒng)的殘差模塊,Res2Net將殘差模塊中的主卷積替換成多層小的卷積,以此提取更多尺度特征,在Res2Net的基礎(chǔ)上采用密集連接方式進(jìn)行特征映射,增加特征的重用,減少了圖像特征的丟失,使圖像保留更多高頻信息,增強(qiáng)了特征的可重用性,同時(shí)有助于緩解梯度分散問(wèn)題,使訓(xùn)練更快。Dense-Res2Net將一組3×3濾波器替換為更小的濾波器組來(lái)提取特征。Dense-Res2Net block的結(jié)構(gòu)如圖3所示。
Dense-Res2Net block輸入的X∈RH×W×C經(jīng)過(guò)1×1卷積后,將特征映射均勻地劃分成s個(gè)特征映射子集,此處s= 4,用xi(i=1,2,…,s)表示,與輸入的特征圖相比,每個(gè)特征子集xi都有相同的空間大小和1/s的通道數(shù)。除了特征子集x1外,每個(gè)xi都會(huì)對(duì)應(yīng)一個(gè)3×3的卷積,記為Ki,用yi表示第i個(gè)特征子集的輸出。除x1外,其余的特征子集xi都會(huì)與前Ki-1,Ki-2,…,K1的輸出yi-1,yi-2,…,y1相加,然后輸入到xi中,得到其對(duì)應(yīng)特征子集的輸出yi。因此,每個(gè)特征子集的輸出為
圖3 殘差模塊結(jié)構(gòu)Fig.3 Residual module architecture
(2)
同時(shí),去除了ResNet block中BN層。BN層的存在對(duì)整個(gè)網(wǎng)絡(luò)是有利的,可以加速訓(xùn)練和收斂,避免梯度消失,防止過(guò)擬合[28]。但是它減少了數(shù)據(jù)樣本之間的絕對(duì)差異,突出了相對(duì)差異。當(dāng)訓(xùn)練集和測(cè)試集存在較大差異時(shí),由于BN層的存在進(jìn)一步限制了網(wǎng)絡(luò)的泛化能力,降低了模型的魯棒性。因此,BN層在圖像分類相關(guān)任務(wù)中能夠有良好的表現(xiàn),但在圖像超分任務(wù)中表現(xiàn)一般。去除BN層能夠有提高模型的性能,降低整體的計(jì)算復(fù)雜度。
卷積層中的濾波器以特征映射的形式捕捉局部空間關(guān)系。這些特征圖被進(jìn)一步使用,因?yàn)樗鼈儾槐恢匾?即每個(gè)特征圖都是獨(dú)立平等的。這可能會(huì)使不具有全局相關(guān)性的不重要特征在網(wǎng)絡(luò)中傳播,從而影響精度。SE模塊對(duì)特征進(jìn)行重新校準(zhǔn),使全局信息用于從特征圖中確定比其他更“有信息”的特征的權(quán)重。通過(guò)增加SE模塊,可以靈活地?cái)U(kuò)展網(wǎng)絡(luò),并且只需很少的額外計(jì)算就可以提高網(wǎng)絡(luò)的性能?;诖?將Dense-Res2Net和SE模塊組合在一起。
SRGAN網(wǎng)絡(luò)由生成網(wǎng)絡(luò)與判別網(wǎng)絡(luò)兩部分組成。生成網(wǎng)絡(luò)通過(guò)對(duì)LR圖像進(jìn)行放大,重建SR圖像。判別網(wǎng)絡(luò)對(duì)重建后的SR圖像和原始HR圖像進(jìn)行判斷,輸出一個(gè)一維張量進(jìn)行回歸分析。
生成網(wǎng)絡(luò)主要由下采樣模塊、殘差模塊和上采樣重建模塊組成。具體網(wǎng)絡(luò)模型如圖4所示。為了在提取LR圖像中的特征時(shí)盡量擴(kuò)大其感受野,先將LR圖像通過(guò)一層9×9的卷積核,通道數(shù)為64,步長(zhǎng)為1的卷積層,激活函數(shù)使用Prelu,Prelu能夠在幾乎沒(méi)有增加額外參數(shù)的情況下提升模型擬合能力又能避免出現(xiàn)過(guò)擬合現(xiàn)象。之后再經(jīng)過(guò)16個(gè)由Dense-Res2Net和SE模塊組合的多尺度殘差模塊提取圖像特征,每一個(gè)殘差塊的輸入與輸出之間采用跳躍連接,以提高特征的重用,加強(qiáng)圖像的紋理信息。再通過(guò)一層3×3的卷積核,通道數(shù)為64,步長(zhǎng)為1的卷積層,該卷積層同樣與第一層卷積層采用跳躍連接,緊接上層輸出通過(guò)兩個(gè)亞像素卷積層[8](Subpixel Layer)進(jìn)行圖片的上采樣,將輸入圖像的長(zhǎng)度和寬度分別重建為原來(lái)圖像的4倍,最后通過(guò)一個(gè)3×3的卷積核,通道數(shù)為64,步長(zhǎng)為1的卷積層來(lái)調(diào)整圖像的通道數(shù),激活函數(shù)使用tanh對(duì)圖像進(jìn)行輸出。
對(duì)于判別網(wǎng)絡(luò),BN層在判別任務(wù)有較好的表現(xiàn),而且能夠穩(wěn)定網(wǎng)絡(luò)的訓(xùn)練,因此保留了BN層。在設(shè)計(jì)判別網(wǎng)絡(luò)時(shí),首先通過(guò)一組卷積層與LeakyReLU激活函數(shù),進(jìn)行特征的初步提取,。之后通過(guò)7組卷積層+BN層+LeakyReLU激活函數(shù)的方式來(lái)對(duì)圖像特征進(jìn)行深度提取。原始GAN存在的訓(xùn)練不穩(wěn)定,采用了Wasserstein距離優(yōu)化生成對(duì)抗網(wǎng)絡(luò),因此判別網(wǎng)絡(luò)從SR圖像與HR圖像的二分類問(wèn)題變成了回歸問(wèn)題,去掉了原來(lái)最后的sigmoid層,來(lái)保證損失的收斂,最后通過(guò)全連接層輸出一維張量。具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖4 生成網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Generate network structure
k3n64s1表示一個(gè)3×3的卷積核,通道數(shù)為64,步長(zhǎng)為1的卷積層圖5 判別網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Discriminating network structure
在原始SRGAN的重構(gòu)損失、內(nèi)容損失以及對(duì)抗損失[29]的基礎(chǔ)上加入了全變分正則化(total variation loss, TV)損失,TV損失有利于保持生成圖像的平滑性,減少噪聲。
重構(gòu)損失LMSE表示生成圖像與原始HR圖像的逐像素點(diǎn)MSE損失,可以表示為
(3)
式(3)中:r為采樣因子;W、H分別為特征圖的長(zhǎng)和寬;ISR與ILR分別為高分辨圖像與低分辨率圖像;GθG(ILR)x,y為生成網(wǎng)絡(luò)重建后的高分辨圖像。
通過(guò)重構(gòu)損失能夠很好地表示生成圖像與真實(shí)圖像之間的差距,得到較高的信噪比,但圖像缺乏較多的高頻細(xì)節(jié)。因此在計(jì)算MSE損失之前加入內(nèi)容損失,引入基于預(yù)訓(xùn)練的VGG19網(wǎng)絡(luò)提取網(wǎng)絡(luò)的特征損失,定義為重建圖像的特征與原始高分辨率圖像之間的歐式距離,表達(dá)式為
φi,j[GθG(ILR)]x,y}2
(4)
式(4)中:LVGG/i,j為內(nèi)容損失;φi,j為VGG網(wǎng)絡(luò)中第i層最大池化和第j個(gè)卷積核輸出的特征圖;Wi,j和Hi,j為其特征圖的維度。
生成網(wǎng)絡(luò)生成的高分辨圖像要盡可能的達(dá)到欺騙判別網(wǎng)絡(luò)的目的,以此讓生成的高分辨圖像最接近真實(shí)的高分辨率圖像。因此生成對(duì)抗網(wǎng)絡(luò)特有的對(duì)抗損失表達(dá)式為
L=EIHR~pr(IHR)[lgDθD(IHR)]+
EILR~pGr(ILR)(lg{1-DθD[GθG(ILR)]})
(5)
式(5)中:DθD(ILR)和DθD[GθG(ILR)]分別為判別器判別真實(shí)圖像和重建圖像為真實(shí)圖像的估計(jì)概率。
在訓(xùn)練過(guò)程中引入Wasserstein距離優(yōu)化對(duì)抗損失,優(yōu)化后的對(duì)抗損失公式為
L=EIHR~pr(IHR)[DθD(IHR)]-
EILR~pGr(ILR){DθD[GθG(ILR)]}
(6)
將生成網(wǎng)絡(luò)對(duì)抗損失LG與判別網(wǎng)絡(luò)對(duì)抗損失LD分開(kāi)定義為
(7)
(8)
TV正則化能夠抑制圖像中的噪聲,被定義為在輸出圖像中產(chǎn)生銳度的梯度差絕對(duì)值之和,公式定義為
(9)
綜合以上所有損失函數(shù),判別網(wǎng)絡(luò)的總損失即為判別網(wǎng)絡(luò)對(duì)抗損失LD,生成網(wǎng)絡(luò)的總損失Ltotal定義為
Ltotal=LVGG/i,j+λ1LMSE+λ2LG+λ3LTV
(10)
式(10)中:λ1、λ2和λ3為權(quán)重系數(shù)。
實(shí)驗(yàn)在Intel(R) Xeon(R) CPU @ 2.00 GHz處理器,NVIDIA Tesla P100 16 GB顯卡,Pytorch1.10.0環(huán)境下進(jìn)行。實(shí)驗(yàn)使用DIV2K作為主要的訓(xùn)練數(shù)據(jù)集,其中包含800張用于圖像恢復(fù)任務(wù)的高質(zhì)量圖像。為了使重建后的圖像具有更多豐富的紋理,使用Flickr2K數(shù)據(jù)集來(lái)擴(kuò)充數(shù)據(jù)集,通過(guò)MATLAB工具箱對(duì)以上數(shù)據(jù)使用翻轉(zhuǎn)放縮等方法進(jìn)行數(shù)據(jù)增強(qiáng)。分別使用Bicubic kernel降采樣4倍,得到LR圖像。測(cè)試集使用3個(gè)廣泛的基準(zhǔn)數(shù)據(jù)集Set5、Set14和BSDS100。為了驗(yàn)證模型的有效性,選取了傳統(tǒng)的超分方法雙三次插值法(Bicubic)和基于學(xué)習(xí)的方法FSRCNN[7]、VDSR[9]、SRGAN[15]、DRSR[30]、WDSRGAN[19]、HSRGAN[31]和FBSRGAN[20]。所有實(shí)驗(yàn)在放大因子為4的情況下進(jìn)行。
實(shí)驗(yàn)采用峰值信噪比(peak signal-to-noise ratio, PSNR)與結(jié)構(gòu)相似性(SSIM)兩種客觀評(píng)價(jià)指標(biāo)對(duì)模型的超分效果進(jìn)行評(píng)價(jià),由于PSNR和SSIM指標(biāo)不能很好地代表真實(shí)的圖像重建質(zhì)量,引入一個(gè)更接近人類視覺(jué)感知的指標(biāo)學(xué)習(xí)感知圖像塊相似度(learned perceptual image patch similarity, LPIPS)[32],故實(shí)驗(yàn)采用PSNR、SSIM和LPIPS進(jìn)行綜合評(píng)價(jià)。
PSNR是最常見(jiàn)和最廣泛的評(píng)價(jià)指標(biāo),它由均方誤差定義。將兩幅W×H的灰度圖像X和噪聲圖Y的均方誤差定義為
(11)
因此,峰值信噪比的定義為
(12)
式(12)中:XMAX為圖像中可能的最大像素值。如果每個(gè)采樣點(diǎn)都有B-bit線性脈沖碼調(diào)制表示,則XMAX值為28-1,即每個(gè)采樣點(diǎn)都有8位表示,則XMAX=255。在超分辨圖像處理中,PSNR的值越大,說(shuō)明圖像重建效果更好。
SSIM從結(jié)構(gòu)、亮度以及對(duì)比度量化圖像的屬性,協(xié)方差估計(jì)結(jié)構(gòu)相似程度,用均值來(lái)估計(jì)亮度,方差估計(jì)對(duì)比度。其表達(dá)式為
(13)
式(13)中:x為重構(gòu)后的高分辨率圖像;y為原始的高分辨圖像;μ為圖像均值;σ2x為重構(gòu)高分辨圖像方差;σ2y為原始高分辨圖像方差;σxy為x和y的協(xié)方差,c1=(k1L)2,c2=(k2L)2都是常數(shù)用來(lái)避免分母為零。通常,k1=0.01,k2=0.03。SSIM的取值范圍為0~1,得到的值越接近于1,說(shuō)明生成的HR圖像越接近于原始HR圖像。
LPIPS度量標(biāo)準(zhǔn)學(xué)習(xí)生成圖像到Ground Truth的反向映射強(qiáng)制生成器學(xué)習(xí)從假圖像中重構(gòu)真實(shí)圖像的反向映射,并優(yōu)先處理它們之間的感知相似度。其表達(dá)式為
(14)
由于硬件實(shí)驗(yàn)設(shè)備受限,對(duì)每個(gè)訓(xùn)練集中的超分辨率圖像裁剪出96×96大小的圖像進(jìn)行訓(xùn)練,一個(gè)批次訓(xùn)練的樣本數(shù)(batch size)16,模型使用Adam優(yōu)化器,一階動(dòng)量參數(shù)β1=0.9,二階動(dòng)量參數(shù)β2=0.99,訓(xùn)練整個(gè)網(wǎng)絡(luò)之前,對(duì)生成網(wǎng)絡(luò)使用MSE損失進(jìn)行預(yù)訓(xùn)練,學(xué)習(xí)率為10-4,迭代10 000次。之后開(kāi)始對(duì)生成網(wǎng)絡(luò)與判別網(wǎng)絡(luò)進(jìn)行交叉訓(xùn)練,迭代200 000次,初始學(xué)習(xí)率為10-4,然后再用學(xué)習(xí)率10-5,訓(xùn)練200 000次。損失函數(shù)中的3個(gè)超參數(shù)λ1、λ2和λ3分別為10-3、2×10-6和2×10-8。
將原SRGAN算法與改進(jìn)后模型中不同的算法在BSD100數(shù)據(jù)集上進(jìn)行了消融實(shí)驗(yàn),來(lái)表明改進(jìn)方法均有提高圖像質(zhì)量的有效性,表1為改進(jìn)后模型與原模型的性能比較結(jié)果。從表1可以看出,使用Res2Net代替原本的ResNet能使PSNR從24.93 dB提升到25.36 dB,提升了約0.43 dB,證明Res2Net本身能夠提升SRGAN的性能,之后使用Dense-Res2Net,對(duì)比使用Rest2Net的網(wǎng)絡(luò),PSNR直接提高了0.36 dB,SSIM提高了0.005,LPIPS優(yōu)化了0.014,說(shuō)明使用密集連接之后的Res2Net能進(jìn)一步提升重建的效果。單獨(dú)加入SENet情況下,各項(xiàng)指標(biāo)有小幅度提升,PSNR提高了0.22 dB,LPIPS優(yōu)化了0.017,僅SSIM下降了0.003。單獨(dú)加入TV損失時(shí),指標(biāo)幾乎沒(méi)有什么變化,因?yàn)門V損失針對(duì)圖像中噪聲的去除,對(duì)于圖像的質(zhì)量提升并不明顯,表明加入TV損失不會(huì)使得圖像的成像質(zhì)量下降。將3種改進(jìn)方法融合后不僅在PSNR與SSIM提升了0.96 dB和0.013,且LPIPS從0.259優(yōu)化到了0.229,表明SENet能夠進(jìn)一步提高Dense-Res2Net的性能,改進(jìn)后的模型更加符合人類視覺(jué),紋理細(xì)節(jié)方面表現(xiàn)得更好。
與現(xiàn)有主流算法進(jìn)行比較時(shí),為了保證實(shí)驗(yàn)結(jié)果的公平性,所有的模型都在相同的實(shí)驗(yàn)條件下進(jìn)行復(fù)現(xiàn)。通過(guò)PSNR、SIMM、LPIPS 3個(gè)客觀指標(biāo)與8個(gè)模型比較,具體的量化結(jié)構(gòu)如表2所示,表中以粗體標(biāo)出了最佳值。從表2中可以發(fā)現(xiàn),對(duì)于數(shù)據(jù)集BSD100,本文提出的算法在PSNR和SSIM的得分上相較于VDSR和DRSR提升不大,SSIM的平均值略高于二者,因?yàn)槠鋬H針對(duì)MSE得分進(jìn)行訓(xùn)練來(lái)重建圖像,這類方法的PSNR和SSIM得分往往較高,但是在達(dá)到納什均衡之前,生成網(wǎng)絡(luò)會(huì)和判別網(wǎng)絡(luò)相互博弈,直到生成的圖像達(dá)到真實(shí)圖像的水平為止,GAN可以生成更符合人類感知的高質(zhì)量圖像。
表1 改進(jìn)后模型與原模型性能比較Table 1 Comparison of the performance of the improved model and the original model
表2 改進(jìn)后算法與主流重建算法性能比較Table 2 Performance comparison between the improved algorithm and the mainstream reconstruction algorithm
本文提出的多尺度殘差生成對(duì)抗網(wǎng)絡(luò)模型在3個(gè)測(cè)試集中的平均PSNR、SSIM和LPIPS比同類型的SRGAN高0.83 dB、0.023和低0.022,比WDSRGAN高0.45 dB、0.026和低0.073,比HSRGAN高0.37 dB、0.03和低0.053,比FBSRGAN高0.23 dB、0.015和低0.02。這是因?yàn)楸疚牡木W(wǎng)絡(luò)模型,從多個(gè)尺度的不同權(quán)重來(lái)獲得圖像的特征,在同等特征的條件下能夠復(fù)用不同層次的特征來(lái)獲得更大的感受野,通過(guò)局部特征融合自適應(yīng)地學(xué)習(xí)以前和當(dāng)前特征中更有效的特征,同時(shí)LPIPS評(píng)價(jià)指標(biāo)的結(jié)果要明顯好于其他超分算法,表明改進(jìn)后的算法從多個(gè)尺度學(xué)習(xí)到了圖像的高頻信息,能夠更好的還原圖像的紋理細(xì)節(jié)與幾何特征。
為了證明本文算法在性能上的有效性,以測(cè)試集BSD100為例,在放大因子為4的情況下,對(duì)浮點(diǎn)運(yùn)算次數(shù)(floating-point operations per second,FLOPs)和參數(shù)數(shù)量進(jìn)行比較,具體結(jié)果如圖6所示。FLOPs可以衡量算法的執(zhí)行能效,從圖6(a)中可以看出,在早期的技術(shù)中,FSRCNN和DRSR可以通過(guò)少量的參數(shù)獲得較好的性能,但FSRCNN重建的圖像實(shí)際過(guò)于平滑,DRSR由于其復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),仍然難以訓(xùn)練。相比于本文算法的FLOPs雖然并不是很低,但可以更好地提取圖像的全局特征,相較于原始的SRGAN,其運(yùn)算效率大大提高,比之HSRGAN和FBSRGAN也相對(duì)減少。在圖6(b)所示的參數(shù)數(shù)量上,對(duì)比SRGAN本文算法的參數(shù)數(shù)量減少了將近2/3,同時(shí)也優(yōu)于HSRGAN和VDSR。再通過(guò)對(duì)比表2中重建后的圖像結(jié)果可以看出,本文提出的算法在參數(shù)減少、運(yùn)算效率提高的同時(shí),生成的圖片質(zhì)量有所提高,在重構(gòu)性能、FLOPs、網(wǎng)絡(luò)參數(shù)量之間取得了良好的平衡。
圖6 性能和模型復(fù)雜性的比較Fig.6 Performance and model complexity comparison
為了更加直觀地比較重建效果,選取了測(cè)試數(shù)據(jù)集Set5、Set14、BSD100中各選擇一張圖像進(jìn)行放大細(xì)節(jié)分析。圖7展示了嬰兒圖像重建后的眼部細(xì)節(jié)對(duì)比,使用Bicubic重建的圖像非常模糊,FSRCNN和VDSR重建后的圖像非常平滑,紋理細(xì)節(jié)不明顯,DRSR雖略有改善,但仍然不夠突出。SRGAN和HSRGAN重建后的圖像雖然在細(xì)節(jié)方面有所提高,但圖像出現(xiàn)了許多偽影,重建的質(zhì)量不高,FBSRGAN則對(duì)其睫毛重建的細(xì)節(jié)不理想,而使用本文改進(jìn)后的算法進(jìn)行重建可以看出:嬰兒的睫毛細(xì)節(jié)紋理更加突出,面部細(xì)節(jié)更加豐富,圖像更接近于真實(shí)。從圖8所示蝴蝶局部方法細(xì)節(jié)可以看出,相比于FSRCNN、VDSR和DRSR中的平滑線條,本文算法重建的圖像更加真實(shí),比SRGAN、HRGAN和FBSRGAN重建的圖像增加了更多的紋理線條細(xì)節(jié)。從圖9中可以看出,Bicubic算法的重建效果最模糊, VDSR和DRSR算法雖然客觀得分較高,但重建的圖像并不是很清晰,FBSRGAN等基于GAN的算法重建的細(xì)節(jié)雖然有所提升,但不符合人類視覺(jué)感官。相反,本文算法各項(xiàng)結(jié)果表現(xiàn)較好,能夠很好地重建出陶瓷的細(xì)節(jié)。
圖7 Set5數(shù)據(jù)集中baby局部細(xì)節(jié)比較Fig.7 Comparison of local details of baby in Set5 dataset
圖8 Set14數(shù)據(jù)集中monarch局部細(xì)節(jié)比較Fig.8 Comparison of local details of monarch Set14 dataset
圖9 BSD100數(shù)據(jù)集中227092局部細(xì)節(jié)比較Fig.9 Comparison of local details of 227092 BSD100 dataset
為了充分展示本文算法的特點(diǎn)和優(yōu)勢(shì),將Set14數(shù)據(jù)集經(jīng)過(guò)人工增加高斯噪聲[33],得到高斯模糊后的Set14數(shù)據(jù)集,證明本文算法在面對(duì)噪聲污染的圖片時(shí),仍然能夠重建出較為清晰的超分辨率圖像。
首先將原本的Set14數(shù)據(jù)集HR圖像進(jìn)行高斯噪聲處理,然后將其進(jìn)行下采樣得到的LR圖像進(jìn)行超分辨率重建。具體的重建結(jié)果如表3所示。從表3中可以看出,在噪聲污染的情況下,本文重建算法的優(yōu)勢(shì)更加明顯。在PSNR、SSIM指標(biāo)上的得分均高于其他同類算法,同時(shí)LPIPS的值為0.374,遠(yuǎn)超其他算法,表明重建噪聲污染的圖像,仍可以保留高頻的細(xì)節(jié)信息。
在視覺(jué)上,圖10展示了噪聲處理后Set14數(shù)據(jù)集中foreman圖像的重建效果,使用DRSR與VDSR算法的PSNR分別為25.18 dB與25.03 dB,在客觀指標(biāo)上表現(xiàn)較好,重建的圖像更為平滑,但重建的圖像中存在較多噪聲,圖像仍不清晰。SRGAN、HSRGAN和FBSRGAN重建出的圖像雖然較為清晰,但有明顯的偽影出現(xiàn)在圖像上。本文算法在損失函數(shù)中加入了TV損失,因此可以很好地重建出缺失的區(qū)域,可以在去除噪聲的同時(shí)保留更多的邊緣信息,重建出的圖像在視覺(jué)上表現(xiàn)更為突出。
表3 噪聲污染的Set14數(shù)據(jù)集客觀指標(biāo)比較Table 3 Comparison of Set14 dataset for noise pollution
圖10 噪聲污染的Set14數(shù)據(jù)集中foreman局部細(xì)節(jié)比較Fig.10 Comparison of local details of foreman in Set14 dataset for noise pollution
本文提出了一種多尺度殘差生成對(duì)抗網(wǎng)絡(luò)的圖像超分辨率重建算法。首先,在Res2Net多尺度提取圖像特征的前提下,使用了Dense-Res2Net,提高了圖像的特征復(fù)用率。同時(shí)組合SENet能夠根據(jù)特征的重要程度,自適應(yīng)地分配不同的權(quán)值,進(jìn)一步增強(qiáng)Res2Net的整體性能。其次,在損失函數(shù)中,使用VGG-19網(wǎng)絡(luò)在MSE損失之前提取特征圖,同時(shí)引入TV正則化,來(lái)抑制圖像重建過(guò)程中產(chǎn)生的噪聲。最后,去除了BN層,減少模型的計(jì)算成本,使用Wasserstein代替JS散度優(yōu)化網(wǎng)絡(luò),提高模型的穩(wěn)定性。實(shí)驗(yàn)結(jié)果表明,本文算法相比于同類型算法在PSNR與SSIM得分上均有一定提升,在LPIPS上的得分明顯好于其他超分算法,本文算法重建后的圖像更加符合人類視覺(jué)感受,擁有更加豐富的紋理與更少的噪聲。本研究?jī)H在放大倍數(shù)為4的情況下進(jìn)行,下一步將針對(duì)高倍數(shù)圖像重建,以及如何使模型更加輕量化進(jìn)行研究。