蔣文杰,羅曉曙,戴沁璇
廣西師范大學(xué) 電子工程學(xué)院,廣西 桂林541004
在實(shí)際的視頻監(jiān)控中,受到攝像機(jī)分辨率、物體運(yùn)動、目標(biāo)人物與攝像機(jī)的距離等條件的影響,采集得到的人臉圖像比較模糊、分辨率低、難以進(jìn)行有效識別。為了解決這一問題,誕生了圖像超分辨率重建。它是一種提高圖像分辨率的技術(shù)[1],能夠?qū)崿F(xiàn)圖像由低分辨率向高分辨率的轉(zhuǎn)化。Harris等人[2]在20世紀(jì)60年代最早提出圖像超分辨率重建,現(xiàn)有的傳統(tǒng)圖像分辨率重建算法主要分為插值法[3]、學(xué)習(xí)法[4]和重建法[5]。但這些方法在重建時會產(chǎn)生過度平滑和銳化的問題,另外重建效果波動比較大,只適用于特定場所,具有較大的局限性,難以進(jìn)行推廣使用。
近年來卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺領(lǐng)域展現(xiàn)出了巨大的優(yōu)越性。Dong等[6]提出了超分辨率卷積神經(jīng)網(wǎng)絡(luò)(Super-Resolution Convolutional Neural Network,SRCNN),首次將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖像超分辨率重建,該算法在性能和效果方面均超過了傳統(tǒng)方法,極大提升了重建圖像的視覺效果和量化指標(biāo)。Dong等[7]在SRCNN基礎(chǔ)上改進(jìn)并提出了快速超分辨率卷積神經(jīng)網(wǎng)絡(luò)(Fast Super-Resolution Convolutional Neural Networks,F(xiàn)SRCNN),該算法在提升重建效果的同時也加快了重建速度。Ledig等[8]提出了基于生成對抗網(wǎng)絡(luò)架構(gòu)的超分辨率圖像重建方法(Super-Resolution Generative Adversarial Network,SRGAN),進(jìn)一步提升重建圖像的視覺效果。由于SRGAN在訓(xùn)練時存在梯度消失和訓(xùn)練不穩(wěn)定的問題,本文提出了一種改進(jìn)SRGAN的人臉圖像超分辨率重建方法,主要改進(jìn)工作如下:
(1)在SRGAN基礎(chǔ)上結(jié)合WGAN并引入Wasserstein散度,去掉了Lipschitz約束,直接得到Wassertein距離。
(2)對生成網(wǎng)絡(luò)目標(biāo)函數(shù)進(jìn)行優(yōu)化,具體的措施是通過最小化Wassertein距離得到生成網(wǎng)絡(luò)的目標(biāo)函數(shù)。
生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)是由Goodfellow等人[9]于2014年提出的一種概率生成模型,它由擬合數(shù)據(jù)分布的生成網(wǎng)絡(luò)G和用來判斷輸入是否“真實(shí)”的判別網(wǎng)絡(luò)D構(gòu)成。在訓(xùn)練過程中,生成網(wǎng)絡(luò)G通過接受一個隨機(jī)的噪聲來盡量模仿訓(xùn)練集中的真實(shí)圖片去“欺騙”判別網(wǎng)絡(luò)D,而判別網(wǎng)絡(luò)D則盡可能分辨真實(shí)數(shù)據(jù)和生成網(wǎng)絡(luò)的生成圖像,從而形成兩個網(wǎng)絡(luò)的博弈過程,具體的表達(dá)式如式(1)所示:
GAN存在訓(xùn)練不穩(wěn)定的問題,為了解決這個問題,WGAN[10](Wasserstein Generative Adversarial Networks)提出了使用Wasserstein距離作為網(wǎng)絡(luò)訓(xùn)練的優(yōu)化目標(biāo),其具體表達(dá)式如式(2)所示:
當(dāng)c(x,y)=||x-y||,可以轉(zhuǎn)化為對偶問題:
從而生成器網(wǎng)絡(luò)的訓(xùn)練即可轉(zhuǎn)化為以Wassertein距離下的最大-最小問題:
其中,T(x)是一個標(biāo)量函數(shù),||T||L是Lipschitz范數(shù):
其中T(x)滿足:
WGAN使用Wassertein距離去衡量生成數(shù)據(jù)分布和真實(shí)數(shù)據(jù)分布之間的距離,理論上解決了網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定的問題。為了將Wassertein距離作為優(yōu)化方式來訓(xùn)練網(wǎng)絡(luò),WGAN需要滿足Lipschitz連續(xù)性,最后只能將權(quán)重壓縮到一個范圍來強(qiáng)制滿足Lipschitz連續(xù)性。但這會造成對深度神經(jīng)網(wǎng)絡(luò)擬合能力的極大浪費(fèi),另外對權(quán)重進(jìn)行強(qiáng)制剪切容易導(dǎo)致梯度消失或者爆炸。
為了保留WGAN中Wasserstein距離的優(yōu)良性質(zhì),研究者將WGAN與SRGAN進(jìn)行了結(jié)合。SRGAN是基于CNN采用GAN方法進(jìn)行訓(xùn)練來實(shí)現(xiàn)圖像的超分辨率重建的,生成網(wǎng)絡(luò)G通過輸入的低分辨率圖像生成高分辨率的輸出圖像,判別網(wǎng)絡(luò)D則判斷輸出圖像是真實(shí)的高分辨率圖像還是生成網(wǎng)絡(luò)G生成的高分辨圖像,SRGAN的流程圖如圖1所示。
圖1 SRGAN流程圖
相較于GAN的輸入為隨機(jī)噪聲,SRGAN的輸入是將高分辨率人臉圖像進(jìn)行1/4采樣得到低分辨率人臉圖像,通過輸入低分辨率人臉圖像,最終輸出高分辨率人臉圖像。但SRGAN在進(jìn)行超分辨率圖像重建時,生成分布和真實(shí)分布都采用JS散度進(jìn)行衡量,從而不能產(chǎn)生大量不可忽略的重疊,導(dǎo)致梯度指向隨機(jī)方向,判別器更容易分辨生成圖像和真實(shí)圖像,進(jìn)而梯度問題將進(jìn)一步放大,導(dǎo)致梯度消失或者爆炸,使得模型不可控、不收斂、難以訓(xùn)練。
相較于WGAN使用Wassertein距離去衡量真實(shí)和生成分布,WGAN-GP[11]采用了梯度懲罰來滿足Lipschitz連續(xù)性。為了盡可能將判別器的梯度?D(x)變大,但Lipschitz連續(xù)性限制是要求判別器的梯度?D(x)不能超過K,最終的目標(biāo)函數(shù)如下所示:
WGAN-GP的提出雖然解決了網(wǎng)絡(luò)訓(xùn)練時出現(xiàn)的梯度消失或爆炸,并且網(wǎng)絡(luò)實(shí)現(xiàn)了收斂速度更快和生成更高質(zhì)量的樣本。但是為了滿足Lipschitz約束,需要在真實(shí)和生成分布之間進(jìn)行隨機(jī)插值懲罰,該方法是一種經(jīng)驗(yàn)方案,缺乏完整的理論支持。
為了解決上述問題,本文在SRGAN結(jié)合WGAN的基礎(chǔ)上引入了Wasse-rtein散度[12]對真實(shí)分布和生成分布進(jìn)行衡量,它表述為D[P,Q]≥0且D[P,Q]=0?P=Q,其并不滿足三角不等式,目標(biāo)函數(shù)如下所示:
由于Wk,p是對稱的散度,當(dāng)對Wk,p進(jìn)行最小化時,最終會縮小真實(shí)分布和生成分布的距離,而大多數(shù)對抗網(wǎng)絡(luò)只是對某個散度進(jìn)行優(yōu)化,并不能有效地縮短真實(shí)分布和生成分布的距離。為了得到T的最優(yōu)解,需要最大化Wk,p,因此T的目標(biāo)函數(shù)可表示為:
其中k和ρ是常數(shù),相較于WGAN-GP在真假樣本之間隨機(jī)插值,r(x)是非常寬松的分布,減小了隨機(jī)性,提高了其泛化能力。最大化Wk,p得到T的最優(yōu)解后,因?yàn)閃k,p是具有對稱散度,其性質(zhì)類似于Wassertein距離,可將T直接代入式(2)得到Wassertein距離,這樣就可以去掉Lipschitz約束,并保持Wassertein距離的優(yōu)良性質(zhì),接下來最小化Wassertein距離即可得到生成器網(wǎng)絡(luò)的目標(biāo)函數(shù)。
由此可知,加入Wassertein散度并對其最大化可得到最優(yōu)化的標(biāo)量函數(shù)T,隨后可將T直接代入式(2)可直接得到Wassertein距離,這樣就避免為得到Wassertein距離而對判別器進(jìn)行權(quán)重裁剪,梯度懲罰和譜歸一化等Lipschitz約束,簡化了計(jì)算量,同時提高了輸出圖像的質(zhì)量。
改進(jìn)的SRGAN網(wǎng)絡(luò)包括生成器和判別器兩部分,生成器中包含了多個殘差模塊[13],每個殘差塊中包含兩個3×3的卷積層,具體的殘差網(wǎng)絡(luò)如圖2所示。
圖2 殘差網(wǎng)絡(luò)結(jié)構(gòu)
卷積層后接批規(guī)范化層(Batch Normalization,BN)[14]和PReLU[15]作為激活函數(shù),兩個2×亞像素卷積層(Sub-pixel Convolution Layers)被用來增大特征尺寸,生成器通過訓(xùn)練兩個子像素卷積層來提高分辨率,生成器網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 生成器網(wǎng)絡(luò)結(jié)構(gòu)
判別器的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,在判別網(wǎng)絡(luò)部分包含8個卷積層,隨著網(wǎng)絡(luò)層數(shù)加深,特征個數(shù)不斷增加,特征尺寸不斷減小,選取激活函數(shù)為LeakyReLU[16],最終通過兩個全連接層和最終的Sigmoid[17]激活函數(shù)得到預(yù)測為自然圖像的概率。
圖4 判別器網(wǎng)絡(luò)結(jié)構(gòu)
判別器的損失函數(shù)可以定義為:
由式(10)可知,當(dāng)k取1/2,ρ取2時可得到T的最優(yōu)解,所以目標(biāo)函數(shù)如式(12)所示:
由于在模型訓(xùn)練中需要大量的卷積計(jì)算,相對于CPU而言,GPU的運(yùn)用將極大地縮短訓(xùn)練時間,加快訓(xùn)練速度。本實(shí)驗(yàn)中所使用的計(jì)算機(jī)配置是雙E5-2637 v4 CPU,操作系統(tǒng)為Ubuntu 16.04,同時還使用1張GTX1080Ti顯卡、12 GB內(nèi)存來加速訓(xùn)練。
實(shí)驗(yàn)使用的數(shù)據(jù)集包含了年齡、種族、性別等類型,為了保證實(shí)驗(yàn)數(shù)據(jù)的真實(shí)性和多樣性,將數(shù)據(jù)集圖像樣本順序隨機(jī)打亂,按照8∶2的比例進(jìn)行劃分,進(jìn)行1/4采樣,同時使用DCRN[18]、FSRCNN、SRGAN_WGAN、VDSR[19]、DRRN[20]重構(gòu)出的超分辨率圖像作為結(jié)果對比。
評價圖像超分辨率圖像質(zhì)量主要分為主觀評價和客觀評價,前者是通過觀察人員的主觀感受來評價重構(gòu)圖像質(zhì)量,后者是根據(jù)量化指標(biāo)來衡量輸出圖像質(zhì)量。各種超分變率重建方法結(jié)果對比圖如圖5所示。其中被紅色矩形框選標(biāo)注的是感興趣區(qū)域。
圖5 各種超分辨率重建方法結(jié)果
在主觀評價方面,對比模型雖然能重建人物的眼睫毛、瞳孔和鼻子的斑點(diǎn),但視覺效果均較為模糊,體現(xiàn)不出細(xì)節(jié)紋理。本文方法相比其他模型,在眼睫毛、瞳孔和斑點(diǎn)的重建效果都比較清晰,能較為清楚地分辨出眼睫毛之間的間距,瞳孔的清晰度和鼻子的斑點(diǎn),重建效果最接近高清圖。
在客觀評價方面,本文選取了均方誤差MSE(Mean Squared Error)、峰值信噪比PSNR(Peak Signal to Noise Ratio)和結(jié)構(gòu)相似度SSIM(Structural Similarity Index)來綜合評價重構(gòu)圖像性能,其中,MSE如式(13)所示:
其中,h、w、k分別表示圖像的長、寬和通道。
PSNR表示為:
其中,n=8。
SSIM如式(15)所示:
其中,l(x,y)、c(x,y)、s(x,y)分別表示圖像的亮度、對比度和結(jié)構(gòu)相似度。
MSE越小代表重建圖像和原圖像誤差越小,PSNR和SSIM越大表示重構(gòu)圖像越接近原始圖像。
為了更加客觀和準(zhǔn)確地評價各種重建算法的效果,本文隨機(jī)選取了100張圖像進(jìn)行測試,然后在不同指標(biāo)上對各種算法進(jìn)行了對比,對比結(jié)果如表1所示。
從表1可知,相較于DRCN、FSRCNN、SRGAN_WGAN、VDSR、DRRN算法的評價結(jié)果,本文提出的算法MSE分別減少了5.58、8.34、31.05、4.68和3.09;PSNR分別提高了0.63 dB、0.91 dB、2.73 dB、1.07 dB和0.48 dB;SSIM指標(biāo)略有提高。在耗時方面,同類型網(wǎng)絡(luò)是在已有預(yù)訓(xùn)練模型基礎(chǔ)上直接進(jìn)行訓(xùn)練,而改進(jìn)的模型需要重新訓(xùn)練,比較耗時。
表1 各超分辨率重建方法客觀指標(biāo)分析
綜合上述的主觀視覺效果和客觀評價指標(biāo),本文的改進(jìn)網(wǎng)絡(luò)模型的綜合性能均優(yōu)于其他對比網(wǎng)絡(luò)模型,兼顧了主觀和客觀兩者的評價指標(biāo),證實(shí)了改進(jìn)的生成對抗網(wǎng)絡(luò)算法能夠有效提升模型的穩(wěn)定性和準(zhǔn)確性。
針對SRGAN與WGAN網(wǎng)絡(luò)存在的缺陷,本文進(jìn)行了算法改進(jìn)。通過SRGAN與WGAN的結(jié)合并在其中引入Wasserstein散度,不僅可去掉L約束并且還很好保留Wasserstein距離的優(yōu)良性質(zhì),解決了網(wǎng)絡(luò)訓(xùn)練過程中的梯度消失的問題,提升了訓(xùn)練效果,實(shí)現(xiàn)了人臉圖像超分辨率重建。實(shí)驗(yàn)結(jié)果表明,本文提出的人臉超分辨重建方法,在視覺效果和客觀評價指標(biāo)均優(yōu)于其他對比算法,證明了本文提出的改進(jìn)算法的優(yōu)越性和可靠性。