王先傲,林樂(lè)平,歐陽(yáng)寧
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
人臉超分辨率重建是從低分辨率(low resolution,簡(jiǎn)稱LR)圖像中恢復(fù)高分辨率(high resolution,簡(jiǎn)稱HR)圖像,因?yàn)橐粡埖头直媛蕡D像對(duì)應(yīng)的高分辨率圖像擁有較多的可能性,所以人臉重建的過(guò)程是一個(gè)不適定問(wèn)題。目前大多數(shù)解決方法是通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,簡(jiǎn)稱CNN)建立從LR圖像到HR圖像的映射關(guān)系,以峰值信噪比(peak signal to noise ratio,簡(jiǎn)稱PSNR)作為圖像重建質(zhì)量的評(píng)價(jià)標(biāo)準(zhǔn),其數(shù)值越高就表明重建效果越好。
LR圖像由于缺乏高頻信息,丟失了圖像的紋理細(xì)節(jié)信息,因此重建圖像的高頻信息至關(guān)重要。Dong等[1]首次將稀疏表示與CNN相結(jié)合,設(shè)計(jì)了一個(gè)3層的卷積神經(jīng)網(wǎng)絡(luò),重建圖像的PSNR數(shù)值超過(guò)了傳統(tǒng)算法。以MSE為目標(biāo)函數(shù)優(yōu)化模型參數(shù),可得到PSNR更高的超分辨率圖像,但細(xì)節(jié)并不一定更加突出。針對(duì)此問(wèn)題,Ledig等[2]提出了一種基于生成對(duì)抗網(wǎng)絡(luò)(generative adversarial networks,簡(jiǎn)稱GAN)[3]與感知損失[4]的圖像超分辨率重建方法,其能夠得到細(xì)節(jié)更突出的人臉圖像。Huang等[5]針對(duì)極低分辨率的人臉圖像,提出一種結(jié)合哈爾小波的低分辨率人臉重建算法,通過(guò)CNN預(yù)測(cè)對(duì)應(yīng)的小波系數(shù),以小波逆變換重構(gòu)出超分辨率圖像,重建質(zhì)量得到較大提高。上述大多數(shù)算法以均方誤差(mean squared error,簡(jiǎn)稱MSE)作為損失函數(shù)進(jìn)行優(yōu)化,雖然能夠得到PSNR值較高的重建圖像,但生成圖像過(guò)于平滑。
為了得到細(xì)節(jié)豐富的高分辨率人臉圖像,提出一種基于生成對(duì)抗網(wǎng)絡(luò)的人臉超分辨率重建算法。其中生成模型與對(duì)抗模型均采用了利于圖像重建的網(wǎng)絡(luò)結(jié)構(gòu),算法優(yōu)點(diǎn)如下:
1)生成模型由2條支路構(gòu)成,并主要對(duì)圖像的高頻信息進(jìn)行重建,由深度殘差網(wǎng)絡(luò)構(gòu)成的判別模型對(duì)真假圖像進(jìn)行判別,最終可得到更加自然真實(shí)的超分辨率圖像。
2)通過(guò)融合對(duì)抗損失WGAN-GP[6]與MSE損失對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行聯(lián)合優(yōu)化,并以對(duì)抗損失為主導(dǎo),能夠賦予重建圖像更多細(xì)節(jié),MSE用以保證圖像重建前后身份的一致性,最終網(wǎng)絡(luò)可迅速收斂。
大多數(shù)基于CNN的人臉重建算法可分為3步:1)HR圖像通過(guò)插值下采樣,得到LR圖像作為模型輸入;2)通過(guò)網(wǎng)絡(luò)得到放大后的超分辨率(super resolution,簡(jiǎn)稱SR)圖像;3)以HR圖像為標(biāo)簽,通過(guò)損失函數(shù)的反向傳播優(yōu)化網(wǎng)絡(luò)參數(shù)。
受文獻(xiàn)[7-9]提出方法的啟發(fā),設(shè)計(jì)了一種基于生成對(duì)抗網(wǎng)絡(luò)的重建算法來(lái)解決人臉超分辨率問(wèn)題。模型結(jié)構(gòu)如圖1所示。
圖1 生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)圖
圖1(a)為生成器結(jié)構(gòu),圖1(b)為判別器結(jié)構(gòu),Real表示真實(shí)圖像,F(xiàn)ake表示生成器生成的圖像。其中生成器由2條支路組成,分別對(duì)應(yīng)圖像的高頻分量與低頻分量。由插值上采樣層組成的低頻支路對(duì)應(yīng)圖像的輪廓信息,由深度殘差網(wǎng)絡(luò)組成的高頻支路則對(duì)應(yīng)人臉圖像的細(xì)節(jié)信息。判別器的作用是對(duì)真假圖像進(jìn)行區(qū)分,網(wǎng)絡(luò)訓(xùn)練的過(guò)程就是判別器與生成器不斷博弈的過(guò)程,當(dāng)最終生成器生成的圖像能夠騙過(guò)判別器時(shí),模型即達(dá)到了收斂,生成器的設(shè)計(jì)思路如圖1所示。
一幅高分辨率人臉圖像由高頻信息與低頻信息組成,
IHR=Ilf+Ihf。
(1)
(2)
(3)
(4)
為了能夠得到更加真實(shí)的超分辨率圖像,提供了一個(gè)由深度殘差網(wǎng)絡(luò)組成的判別器對(duì)生成圖像與真實(shí)圖像進(jìn)行區(qū)分,如圖1(b)所示。判別網(wǎng)絡(luò)由14個(gè)卷積層組成,卷積通道由64遞增至512。生成器與判別器的卷積核大小均為3×3,小尺寸的卷積核能夠減少參數(shù),并且可以通過(guò)堆疊多個(gè)3×3卷積核達(dá)到相同的感受野,同時(shí)提高非線性映射能力。采用的殘差模塊結(jié)構(gòu)如圖2所示。
圖2 殘差模塊結(jié)構(gòu)
圖2(a)為生成器所用殘差單元,圖2(b)為判別器所采用的殘差單元。通過(guò)借鑒文獻(xiàn)[8-9]中的網(wǎng)絡(luò)設(shè)計(jì)思想,生成器與判別器中采用了更適用于超分辨率重建的殘差模塊,卷積核尺寸均為3×3,padding為1,卷積前后特征圖大小不變。生成器中采用雙線性插值進(jìn)行上采樣操作,而判別器中采用池化層對(duì)特征圖進(jìn)行下采樣。殘差單元以及批歸一化層(batch normalization,簡(jiǎn)稱BN)[10]的加入可以一定程度上緩解深度網(wǎng)絡(luò)帶來(lái)的梯度消失與梯度爆炸問(wèn)題,加速網(wǎng)絡(luò)收斂。
RPSN作為圖像質(zhì)量評(píng)價(jià)指標(biāo),其定義為
(5)
由式(5)可看出,當(dāng)2幅圖像之間的EMS越小時(shí),對(duì)應(yīng)的RPSN值越高。因此,以EMS作為損失函數(shù)可以帶來(lái)較高的RPSN值。與此同時(shí),EMS越小,說(shuō)明2幅圖像之間的像素平均值越接近,容易導(dǎo)致生成圖像過(guò)于平滑。
針對(duì)上述原因,將WGAN-GP[6]損失與MSE加權(quán)融合作為網(wǎng)絡(luò)的目標(biāo)函數(shù),并以對(duì)抗損失為主導(dǎo),MSE的加入是為了保證重建前后身份的一致性,優(yōu)化方法為
l=αlWGAN-GP+lMSE。
(6)
其中:lMSE為均方誤差損失;α為權(quán)重系數(shù),用來(lái)平衡對(duì)抗損失與重建損失,lWGAN-GP是一種改進(jìn)的GAN損失。
(7)
(8)
其中:W、H為圖像的寬度和高度;ISR、IHR分別為生成圖像和目標(biāo)圖像;i,j為像素所在位置的索引。通過(guò)優(yōu)化lMSE可使得生成圖像的像素點(diǎn)均值逐漸向目標(biāo)圖像逼近。
本實(shí)驗(yàn)基于Ubuntu14.04 操作系統(tǒng),使用GTX1080Ti 顯卡加速,pytorch深度學(xué)習(xí)框架實(shí)現(xiàn)模型搭建。
采用公開(kāi)的人臉數(shù)據(jù)庫(kù)CelebA[11]、LS3D[12]中的圖像作為高分辨率人臉數(shù)據(jù),CelebA數(shù)據(jù)集中大部分為正面人臉,LS3D則含有多種姿態(tài)的人臉圖像,共選取30 000人臉作為高分辨率人臉數(shù)據(jù)庫(kù)。
在保證訓(xùn)練與測(cè)試數(shù)據(jù)不重復(fù)的前提下,從CelebA中選取3 000張高分辨率人臉進(jìn)行重建測(cè)試。對(duì)所有訓(xùn)練和測(cè)試樣本都做相同的預(yù)處理,高分辨率人臉大小為64×64,通過(guò)下采樣得到16×16的低分辨率人臉圖像。
在本實(shí)驗(yàn)中,平衡系數(shù)α=0.05,λ=10。生成器學(xué)習(xí)速率為0.000 1,判別器學(xué)習(xí)率為0.000 4,進(jìn)行交替迭代訓(xùn)練。權(quán)重衰減設(shè)為0.000 5,批次大小為64,采用Adam[13](β1=0.9,β2=0.999)算法進(jìn)行隨機(jī)梯度優(yōu)化,共迭代200個(gè)周期。
實(shí)驗(yàn)測(cè)試結(jié)果分為2個(gè)方面:1)針對(duì)CelebA數(shù)據(jù)集中的3 000張高分辨率人臉圖像,以不同算法進(jìn)行重建結(jié)果對(duì)比,以人的視覺(jué)主觀判斷為標(biāo)準(zhǔn);2)重建圖像的FID(fréchet inception distance)[14]分?jǐn)?shù)和RPSN數(shù)值對(duì)比。
2.3.1 重建結(jié)果對(duì)比
分別與雙三次插值算法(Bicubic)、Wavelet-SRNet[5]、SRGAN[2]進(jìn)行對(duì)比,放大4倍的重建結(jié)果如圖3所示。其中圖3(a)為16×16的低分辨率圖像,圖3(e)為本算法得到的重建結(jié)果,圖3(f)為64×64的目標(biāo)圖像。從圖3可看出,Wavelet-SRNet與SRGAN算法所得到的圖像相較于原圖更為平滑,而本方法能夠生成紋理細(xì)節(jié)豐富的圖像,在視覺(jué)上與原圖更加接近。SRGAN與本方法都是基于GAN進(jìn)行超分辨率人臉重建,不同的是本方法充分利用了GAN的生成能力,而SRGAN仍是以MSE為主導(dǎo),因而本方法可得到五官更加清晰的人臉圖像,但是某些紋理與原圖存在一些差別,這是本方法仍然需要改進(jìn)的地方。
圖3 重建結(jié)果對(duì)比
2.3.2 重建圖像的RPSN與FID對(duì)比
分別對(duì)重建圖像的RPSN值與FID分?jǐn)?shù)進(jìn)行對(duì)比,如表1所示。FID[14]是圖像數(shù)據(jù)之間的相似性度量,用于評(píng)估重建圖像的質(zhì)量,計(jì)算重建圖像與目標(biāo)圖像之間的FID分?jǐn)?shù),其數(shù)值越小,表明跟實(shí)際圖像越接近。
表1 重建圖像的RPSN與FID分?jǐn)?shù)對(duì)比
Wavelet-SRNet與SRGAN的RPSN值相對(duì)更高,而本算法可以達(dá)到更低的FID分?jǐn)?shù),表明重建結(jié)果與實(shí)際圖像更加接近。由于網(wǎng)絡(luò)參數(shù)優(yōu)化過(guò)程中,并未主要針對(duì)MSE進(jìn)行訓(xùn)練,而是更加注重利用生成器的生成能力賦予圖像更多紋理,導(dǎo)致RPSN值并不突出。
為了得到紋理豐富的高分辨率圖像,提出了一種基于生成對(duì)抗網(wǎng)絡(luò)的人臉重建算法。算法采用了更適用于圖像重建的殘差單元模塊,優(yōu)化過(guò)程中以對(duì)抗損失為主導(dǎo),可生成與目標(biāo)圖像更相似的超分辨率人臉圖像?;贑elebA數(shù)據(jù)集對(duì)重建結(jié)果進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明,本算法能夠得到細(xì)節(jié)豐富的人臉圖像,且FID分?jǐn)?shù)高于其他人臉重建算法。