汪鴻浩,張俊然
(四川大學(xué) 電氣工程學(xué)院,四川 成都 610065)
異質(zhì)人臉合成,即在不同模態(tài)之間進(jìn)行面部圖片的相互轉(zhuǎn)換,如照片-素描轉(zhuǎn)換、近紅外(NIR)-可見光(VIS)轉(zhuǎn)換、3D-2D之間的轉(zhuǎn)換、高-低分辨率之間的轉(zhuǎn)換[1];其中,照片-素描模態(tài)圖片之間的轉(zhuǎn)換則是最常見的一種轉(zhuǎn)換形式。但是由于照片和素描模態(tài)之間各自特點(diǎn)的不同[2],使得素描-照片之間的轉(zhuǎn)換仍是一個(gè)具有挑戰(zhàn)性的問題。
早期的人臉與素描間匹配研究主要集中在兩者之間的直接匹配[3],為實(shí)現(xiàn)這一目的,通常會(huì)在直接匹配之前使用人臉合成技術(shù)[4],因?yàn)槿四樅铣杉夹g(shù)有助于在轉(zhuǎn)化時(shí)更好捕捉面部特征,對(duì)人面部輪廓進(jìn)行填充、細(xì)化,使細(xì)節(jié)更加突出,從而有助于減小匹配誤差。但是由于照片和素描之間幾何和紋理的差異[5],導(dǎo)致在兩種模態(tài)之間進(jìn)行直接匹配的方法不切實(shí)際。
Goodfellow等提出生成對(duì)抗網(wǎng)絡(luò)(consistent adversa-rial networks,GAN)[6],并成功將其運(yùn)用到圖像生成領(lǐng)域后,研究人員便不斷嘗試將這類算法應(yīng)用到圖像生成領(lǐng)域,而異質(zhì)人臉合成本質(zhì)上也屬于圖像之間的轉(zhuǎn)換問題[7]。
因此針對(duì)異質(zhì)人臉的合成問題,在基于深度學(xué)習(xí)框架下,利用生成對(duì)抗網(wǎng)絡(luò)來學(xué)習(xí)一種多層非線性網(wǎng)絡(luò)結(jié)構(gòu),其優(yōu)勢(shì)在于:①對(duì)人臉數(shù)據(jù)集的要求更低,不需要成對(duì)的數(shù)據(jù)集,能夠適應(yīng)多種風(fēng)格的轉(zhuǎn)換;②相較以往的淺層機(jī)器學(xué)習(xí)的方法,能夠?qū)崿F(xiàn)復(fù)雜函數(shù)的逼近[8],可以從更少數(shù)的樣本中提取到數(shù)據(jù)的本質(zhì)特征,提高合成質(zhì)量。
鑒于此,本文使用基于深度學(xué)習(xí)算法的循環(huán)一致對(duì)抗網(wǎng)絡(luò)(cycle consistent adversarial networks,CycleGAN)[9]模型對(duì)照片和素描分別進(jìn)行異質(zhì)合成,并且在原模型基礎(chǔ)上進(jìn)行目標(biāo)函數(shù)改進(jìn),首先將網(wǎng)絡(luò)中的對(duì)抗損失函數(shù)替換為最小二乘損失[10],有助于解決在訓(xùn)練過程中的不穩(wěn)定問題和提高圖像生成質(zhì)量;其次引入SmoothL1損失函數(shù)[11]來解決在訓(xùn)練中出現(xiàn)的模式崩潰(mode collapse)問題[12]。
循環(huán)對(duì)抗網(wǎng)絡(luò)(CycleGAN)又叫循環(huán)一致生成對(duì)抗網(wǎng)絡(luò),此模型是在Goodfellow等在2014年提出的生成對(duì)抗網(wǎng)絡(luò)(generative adversarial networks,GAN)模型[6]基礎(chǔ)上進(jìn)行改進(jìn)的一種圖像生成模型。原始模型GAN為一種無監(jiān)督學(xué)習(xí)的生成式網(wǎng)絡(luò)。其誕生背景是在深度學(xué)習(xí)被廣泛應(yīng)用于圖像處理等多個(gè)方面,而眾所周知,神經(jīng)網(wǎng)絡(luò)的崛起除了計(jì)算機(jī)性能的提升之外還得益于龐大的數(shù)據(jù)支撐。而其之前的神經(jīng)網(wǎng)絡(luò)并不能很好地滿足人們逐漸增長(zhǎng)的對(duì)于樣本生成這方面的性能要求。因此,學(xué)者們便不斷開始新的嘗試,想要?jiǎng)?chuàng)造一種新的網(wǎng)絡(luò)模型,通過學(xué)習(xí)更少的數(shù)據(jù)樣本,甚至是自動(dòng)生成缺失的數(shù)據(jù)和標(biāo)簽,來生成高質(zhì)量的圖像,以此來降低成本、加速研究、提高效率。
GAN最主要的兩個(gè)組成部分是生成器和判別器,其直觀思想類似于博弈論,生成器和判別器兩者之間相互博弈。生成器整個(gè)部分的目的是盡可能去生成與目標(biāo)結(jié)果類似的結(jié)果;而判別器的任務(wù)就是找到生成器的生成結(jié)果與標(biāo)簽數(shù)據(jù)之間的差距,兩者之間相互兼容,相互博弈。整個(gè)網(wǎng)絡(luò)同樣是這兩部分組成,分別是生成模型G和判別模型D。生成模型G負(fù)責(zé)接收無標(biāo)簽的訓(xùn)練數(shù)據(jù),經(jīng)過多層非線性學(xué)習(xí)可以有效捕捉到訓(xùn)練數(shù)據(jù)的特征從而生成近似于訓(xùn)練數(shù)據(jù)的給定輸出;而判別模型D則負(fù)責(zé)判斷生成器G生成數(shù)據(jù)的真假,判別真假的依據(jù)則是訓(xùn)練起初時(shí)的標(biāo)簽數(shù)據(jù),并將判斷結(jié)果反饋回去。整個(gè)系統(tǒng)則采用反向傳播算法,每一次的判斷結(jié)果都會(huì)反饋回G和D,從而使生成器G不斷調(diào)整它的輸出,最終讓生成器和判別器達(dá)到最優(yōu)平衡的一個(gè)狀態(tài)。
GAN網(wǎng)絡(luò)模型是基于深度學(xué)習(xí)框架下利用多層非線性網(wǎng)絡(luò)結(jié)構(gòu)來進(jìn)行耦合,在面對(duì)復(fù)雜問題和有限樣本的情況下可以達(dá)到更好的效果。而以往的淺層機(jī)器學(xué)習(xí)方法在有限的樣本和計(jì)算單元情況下對(duì)復(fù)雜函數(shù)的表達(dá)能力有限,模型的合成能力受到一定制約[13],從而對(duì)人臉的特征信息的反映有限。
雖然GAN在利用深度學(xué)習(xí)框架下的多層耦合結(jié)構(gòu)來訓(xùn)練網(wǎng)絡(luò)大大提供了圖像合成精度和效率,但是其也存在一些缺點(diǎn)。前面提到,GAN網(wǎng)絡(luò)的主要思想就是利用博弈論思想,讓生成器和判別器之間相互博弈來彼此促進(jìn),但是這種方式訓(xùn)練的GAN網(wǎng)絡(luò)需要達(dá)到納什均衡點(diǎn)[6],所謂納什均衡即非合作博弈均衡,主要思想為系統(tǒng)中剩余參與者的決策都保持不變時(shí),能夠令所有參與者都獲得決策效益最大化的一個(gè)點(diǎn)[14]。但是要達(dá)到納什均衡來實(shí)現(xiàn)最優(yōu)傳輸,即GAN網(wǎng)絡(luò)所要求的使生成器和判別器達(dá)到最優(yōu)平衡往往需要付出梯度下降的代價(jià),這種方法并不是普遍適用的,換句話說,在實(shí)際中存在達(dá)不到納什均衡點(diǎn),從而導(dǎo)致訓(xùn)練不穩(wěn)定。另外,有時(shí)即使達(dá)到納什均衡,但是會(huì)存在為追求均衡點(diǎn)使得梯度下降過多,從而導(dǎo)致梯度消失,引發(fā)模式崩潰問題。
而CycleGAN模型在GAN模型的基礎(chǔ)之上提出了循環(huán)對(duì)抗的結(jié)構(gòu),這種結(jié)構(gòu)跟GAN網(wǎng)絡(luò)一樣也是一類非線性多層網(wǎng)絡(luò)模型,相比較GAN其更明顯的優(yōu)點(diǎn)主要有:①不需要成對(duì)的數(shù)據(jù)集就可以實(shí)現(xiàn)不同風(fēng)格圖像之間的風(fēng)格遷移[12],這就大大降低了對(duì)輸入數(shù)據(jù)的要求;②包含雙向生成模型,引入雙向判別,從而可以更加精確提取到輸入特征和改善生成質(zhì)量,使得合成圖像更加準(zhǔn)確和清晰,雙向生成模型使得網(wǎng)絡(luò)達(dá)到納什均衡點(diǎn),最優(yōu)傳輸變的容易許多。
但是此模型同樣也存在一些問題,如訓(xùn)練過程中穩(wěn)定性問題和模式崩潰問題[11],即G可能會(huì)生成一些差異性不大的樣本,本文則著手對(duì)這兩個(gè)問題進(jìn)行改進(jìn)研究。
CycleGAN的獨(dú)到之處在于其引入的循環(huán)一致?lián)p失,這種獨(dú)特的結(jié)構(gòu)為異質(zhì)人臉之間的相互轉(zhuǎn)換提供了便利。循環(huán)對(duì)抗網(wǎng)絡(luò)本質(zhì)上采用的是一雙生成器和雙判別器結(jié)構(gòu),并且在此基礎(chǔ)之上加入循環(huán)一致?lián)p失;這種雙向判別模型的優(yōu)點(diǎn)在于生成器和判別器之間即可以相互博弈,又可以相互促進(jìn)彼此的G(X)盡可能靠近Y域內(nèi)的數(shù)據(jù),但是由于這種映射關(guān)系嚴(yán)重欠約束,因此建立逆映射F:Y→X與其相耦合,并且引入循環(huán)一致?lián)p失函數(shù)來強(qiáng)制執(zhí)行逆映射F(G(X))≈X,迫使判別器又可以利用生成器的合成結(jié)果去配準(zhǔn)輸入樣本,從而不斷校正生成器的生成性能,使得生成結(jié)果無限接近原始數(shù)據(jù)。而為了實(shí)現(xiàn)這一目的,有兩點(diǎn)要求:①首先要使用雙生成器和雙判別器,如圖1(a)所示,兩個(gè)分布域分別為原域X和目標(biāo)域Y,雙生成器G,F分別代表了兩種映射關(guān)系,兩個(gè)對(duì)抗判別器DX和DY分別對(duì)兩種映射轉(zhuǎn)化后的圖片進(jìn)行判別;②其次就是引入了循環(huán)一致?lián)p失(cycle-consistency loss),分為前向循環(huán)一致?lián)p失(forward cycle-consistency)和后向循環(huán)一致?lián)p失(backward cycle-consistency),其作用就是使得從原域到目標(biāo)域之間的映射可以相互轉(zhuǎn)換,即實(shí)現(xiàn)兩個(gè)域之間的映射,兩種映射分別為:x→G(x)→F(G(x))≈x和y→F(y)→G(F(y))≈y,作用就是使生成器和判別器之間相互校正,防止兩種關(guān)系之間相互矛盾,并且利用數(shù)據(jù)集中其它真實(shí)的圖來檢驗(yàn)生成器結(jié)果,從而防止G和F過擬合。
圖1為CycleGAN總體原理,圖1(a)為總體示意圖,對(duì)應(yīng)了CycleGAN的總目標(biāo),圖1(b)則解釋了正向生成過程,生成器G先將原域X中的圖片映射到目標(biāo)域Y中,即G:X→Y;圖1(c)與之相反,生成器F將目標(biāo)域Y中的圖片映射到源域X中,即F:Y→X,而循環(huán)一致?lián)p失則作用于逆轉(zhuǎn)換,保證合成后的圖像可以再映射到原域。
圖1 CycleGAN總體原理
異質(zhì)人臉之間的相互匹配,需要的是實(shí)現(xiàn)從某一模態(tài)的人臉圖片到另一模態(tài)人臉圖片之間的合成與轉(zhuǎn)化。而這一思想剛好與CycleGAN網(wǎng)絡(luò)的雙生成器和雙判別器網(wǎng)絡(luò)不謀而合。所以利用CycleGAN網(wǎng)絡(luò)來進(jìn)行異質(zhì)人臉匹配也有著更加獨(dú)到的優(yōu)勢(shì)。
故以CycleGAN網(wǎng)絡(luò)為載體,異質(zhì)人臉匹配的具體合成過程則如圖2所示。
圖2 整體訓(xùn)練過程
圖2(a)是人臉照片向素描圖片的合成過程,圖2(b)則是根據(jù)素描來合成人臉照片。雙生成器G和F同時(shí)開始訓(xùn)練,輸入數(shù)據(jù)為正常光照條件下的人臉照片,輸入圖像real_x經(jīng)過生成器G生成另一模態(tài)的圖片即素描fake_y,此時(shí),real_x和fake_y即相當(dāng)于圖1(a)中的原域X和目標(biāo)域Y;之后再經(jīng)由判別器DY決斷生成圖片與真實(shí)對(duì)照?qǐng)D片real_y的差異,判別結(jié)果每次則會(huì)被反饋送回網(wǎng)絡(luò),而網(wǎng)絡(luò)訓(xùn)練的最終目的則是找到最優(yōu)均衡點(diǎn),從而使得生成圖片盡可能接近對(duì)照?qǐng)D片。
1.3.1 原始目標(biāo)函數(shù)
CycleGAN的目標(biāo)是輸入特定訓(xùn)練樣本xi和yi來學(xué)習(xí)原域X和目標(biāo)域Y之間的映射函數(shù)。由圖1(a)得知,模型包含兩種映射:G:X→Y和F:Y→X;另外,還需要兩個(gè)對(duì)抗判別器DX,DY分別對(duì)兩個(gè)過程中生成的圖片與原域中的圖片進(jìn)行判別;而循環(huán)一致?lián)p失則用來防止G和F之間互相矛盾。故原始的目標(biāo)函數(shù)為
L(G,F,DX,DY)=LGAN(G,DY,X,Y)+LGAN(F,DX,Y,X)+λLcyc(G,F)
(1)
其中,目標(biāo)函數(shù)主要分為兩部分,為對(duì)抗損失LGAN(G,DY,X,Y)、LGAN(F,DX,Y,X)和循環(huán)一致?lián)p失Lcyc(G,F)。
1.3.2 對(duì)抗損失
雙生成器G,F和雙判別器DX,DY對(duì)應(yīng)于對(duì)抗損失,具體如下
LGAN(G,DY,X,Y)=Ey~Pdata(y)[logDY(y)]+Ex~Pdata(x)[log(1-DY(G(x)))]
(2)
G為生成器,DX為判別器,用以判別G生成結(jié)果與目標(biāo)域Y對(duì)象的真假;此過程為正向過程,而反向生成過程與之類似。
1.3.3 循環(huán)一致?lián)p失
理論上說,前面的對(duì)抗損失可以使得生成映射G,F所生成的結(jié)果嚴(yán)格滿足原域和目標(biāo)域的對(duì)應(yīng)分布,達(dá)到理想效果。但是,由于數(shù)據(jù)量和網(wǎng)絡(luò)體量過大,網(wǎng)絡(luò)可能將同一組輸入圖像映射到目標(biāo)域中圖像的任何隨機(jī)排列,其中任何存在的映射都可以誘發(fā)與目標(biāo)分布匹配的輸出分布,因此,僅對(duì)抗損失不能保證單個(gè)輸入的X映射到所需的Y中。為避免所需要的匹配失敗,還需引入循環(huán)一致,如圖1(b)和圖1(c)所示,使得從原域匹配到目標(biāo)域的圖像還能再次匹配回原域,從而保證一一對(duì)應(yīng)的關(guān)系,圖1(b)中出現(xiàn)的循環(huán)一致?lián)p失為正向過程稱為前向循環(huán)一致,圖1(c)中出現(xiàn)的為逆向過程則為后向循環(huán)一致。
循環(huán)一致?lián)p失函數(shù)如下
(3)
但是對(duì)抗損失所用的負(fù)對(duì)數(shù)似然函數(shù)在訓(xùn)練過程中會(huì)出現(xiàn)訓(xùn)練不穩(wěn)定和合成質(zhì)量不高的情況。而循環(huán)一致函數(shù)中使用的L1范數(shù)在訓(xùn)練中也可能導(dǎo)致模式崩潰問題。
此外,從式(1)中可以看到,循環(huán)一致?lián)p失函數(shù)前面有一系數(shù)λ,此為循環(huán)一致?lián)p失和對(duì)抗損失之間的權(quán)重比例超參數(shù),通過控制λ的系數(shù)大小來控制對(duì)抗損失和循環(huán)一致?lián)p失在整體損失函數(shù)中的主導(dǎo)作用。
本文著重展示對(duì)CycleGAN進(jìn)行改進(jìn)來提高異質(zhì)人臉合成的效果,而此系數(shù)的變化也可以導(dǎo)致結(jié)果的變化,故后面實(shí)驗(yàn)章節(jié)將會(huì)通過實(shí)驗(yàn)來驗(yàn)證λ對(duì)于結(jié)果的影響。
盡管CycleGAN在圖像生成方面取得了很大進(jìn)展,對(duì)數(shù)據(jù)集的要求也更低,但是在使用過程中仍存在一些缺陷。
其對(duì)抗損失所使用的Sigmoid交叉熵?fù)p失函數(shù)在訓(xùn)練過程中易出現(xiàn)飽和現(xiàn)象,從而發(fā)生梯度彌散現(xiàn)象,導(dǎo)致整個(gè)網(wǎng)絡(luò)的不穩(wěn)定,誘發(fā)判別器的決策失誤。而最小二乘損失只會(huì)在一點(diǎn)達(dá)到飽和,出現(xiàn)梯度彌散的情況遠(yuǎn)小于交叉熵?fù)p失函數(shù)。此外,在使用交叉熵?fù)p失函數(shù)作為圖片判別器時(shí),不管圖像的生成質(zhì)量如何,判別器對(duì)于生成器生成的圖像在一次判別之后就不再進(jìn)行決策判別;而最小二乘損失會(huì)在每次迭代后將生成的圖像重新放回決策邊界進(jìn)行決策,從而不斷提高合成質(zhì)量。因此根據(jù)文獻(xiàn)[10],本文將對(duì)抗損失函數(shù)替換為最小二乘損失從而有助于增強(qiáng)訓(xùn)練穩(wěn)定性,提高合成質(zhì)量。則對(duì)于生成器G和判別器DY其損失函數(shù)定義如下
LGAN(G,DY,X,Y)=Ey~Pdata(y)[(DY(y)-1)2]+Ex~Pdata(x)[(DY(G(x)))2]
(4)
對(duì)于生成器F和判別器DX其損失函數(shù)定義如下
LGAN(F,DX,Y,X)=Ex~Pdata(x)[(DX(x)-1)2]+Ey~Pdata(y)[(DX(F(y)))2]
(5)
為解決模式崩潰問題,使用SmoothL1損失函數(shù)[15]取代原文中循環(huán)一致?lián)p失中的L1損失。其原理如下:相比L1損失,SmoothL1的特性更加平滑,它在L1的基礎(chǔ)上結(jié)合了L2損失,也就同時(shí)擁有了L1和L2的優(yōu)點(diǎn)。圖3則更加直觀反映出SmoothL1平滑的特性,從上到下依次為L(zhǎng)1,L2,SmoothL1。
圖3 函數(shù)
SmoothL1損失函數(shù)的原理
(6)
其優(yōu)點(diǎn)在于:當(dāng)預(yù)測(cè)值和給定值差別較小時(shí),它可以保證梯度不至于太大;而當(dāng)差別較大時(shí),又可以保證不會(huì)發(fā)生梯度爆炸。前面說過,GAN的特點(diǎn)之一是在網(wǎng)絡(luò)訓(xùn)練過程中不斷尋找納什均衡點(diǎn),而找到納什均衡點(diǎn)往往需要付出梯度損失的代價(jià),而使用SmoothL1函數(shù)也在一定程度上避免了這一損失。
最終,整體的目標(biāo)函數(shù)定義如下
L(G,F,DX,DY)=LGAN(G,DY,X,Y)+LGAN(F,DX,Y,X)+λLcyc(G,F)
(7)
此次研究的數(shù)據(jù)集來源于香港中文大學(xué)公開的人臉?biāo)孛钄?shù)據(jù)(CUFS)[3]。CUFS是異質(zhì)人臉合成的常用數(shù)據(jù)集之一,包括188張來自香港中文大學(xué)學(xué)生的數(shù)據(jù),123張來自AR數(shù)據(jù)集的數(shù)據(jù)和295張來自XM2VTS的數(shù)據(jù)集[3];將數(shù)據(jù)集分成4個(gè)部分,分別對(duì)應(yīng)照片與素描圖片的訓(xùn)練集和測(cè)試集。這些數(shù)據(jù)集都包含面部特征坐標(biāo)信息[16],可以很容易的將圖片進(jìn)行標(biāo)定對(duì)齊。
圖4為此次實(shí)驗(yàn)結(jié)果展示。
圖4 實(shí)驗(yàn)結(jié)果展示
上圖從左到右依次為輸入圖片,標(biāo)注圖片,合成圖片,圖4(a)、圖4(b)行為照片合成素描,圖4(c)、圖4(d)行為素描合成照片。從實(shí)驗(yàn)結(jié)果中可以看出,無論是照片的合成還是素描的合成,與標(biāo)注相比,總體合成效果均較為理想。
為驗(yàn)證本文對(duì)算法改進(jìn)的有效性,選取Pix2Pix網(wǎng)絡(luò)作為對(duì)比。Pix2Pix[17]網(wǎng)絡(luò)是GAN網(wǎng)絡(luò)的另一重要拓展,其在GAN的基礎(chǔ)上可以做到有控制的輸出,同時(shí)借鑒了殘差網(wǎng)絡(luò)(ResNet、Residual Network)的思想[18],使用跳躍連接(Skip Connection)可以使得網(wǎng)絡(luò)之間來共享更多信息,但是其對(duì)數(shù)據(jù)集自身的要求更高,必須要求成對(duì)輸入信息。對(duì)比結(jié)果參見圖5。左邊3組為素描合成照片,右邊3組為照片合成素描。從上到下依次為輸入圖片,標(biāo)注圖片,Ours,CycleGAN和Pix2Pix。
圖5 不同方法對(duì)比
從圖5中的對(duì)比可以直觀看到,本文算法的合成效果要優(yōu)于CycleGAN和Pix2Pix兩種算法,通過與標(biāo)注圖片的對(duì)比,可以直觀看出在亮度、色彩轉(zhuǎn)換和清晰度方面效果均優(yōu)于另外兩種方法,而且在發(fā)梢等細(xì)節(jié)方面也更接近于原圖。
為了更加定量地觀察到性能的改變,在同一數(shù)據(jù)集下,選取結(jié)構(gòu)相似度(structural similarity index,SSIM)[19]、余弦相似度(cosine similarity,CS)[20]和拉普拉斯梯度函數(shù)(Laplace)[21]分別作為圖像的相似度檢測(cè)指標(biāo)和清晰度檢測(cè)指標(biāo)。詳細(xì)對(duì)比結(jié)果見表1和表2。
表1 不同方法性能對(duì)比結(jié)果(素描合成)
表2 不同方法性能對(duì)比結(jié)果(照片合成)
結(jié)構(gòu)相似度(SSIM)是一種衡量?jī)煞鶊D像相似度的指標(biāo),它主要從亮度、對(duì)比度和結(jié)構(gòu)3個(gè)模塊來對(duì)相似度進(jìn)行測(cè)量,其定義如下
(8)
余弦相似度(COSIN)同樣也是衡量圖像結(jié)構(gòu)相似度的指標(biāo),主要是把圖片轉(zhuǎn)換成向量,用向量空間中兩個(gè)向量夾角的余弦值作為衡量指標(biāo),相比結(jié)構(gòu)相似度,余弦相似度計(jì)算過程要更加復(fù)雜,但是也更加可靠。其定義如下
(9)
拉普拉斯梯度函數(shù)主要是用于檢測(cè)圖像清晰度的指標(biāo),其實(shí)質(zhì)是使用拉普拉斯算子分別提取圖像水平方向和垂直方向的梯度值來做檢測(cè),定義如下
D(f)=∑X∑Y|G(x,y)|
(10)
式中:G(x,y)是像素點(diǎn)(x,y)處的拉普拉斯算子。
從表1和表2的對(duì)比結(jié)果中可以看出,在同一數(shù)據(jù)集和相同的訓(xùn)練/測(cè)試樣本下,本文所采取的改進(jìn)方法相較原網(wǎng)絡(luò)和對(duì)比網(wǎng)絡(luò)在生成結(jié)果的相似度和清晰度上都有所提高,進(jìn)一步驗(yàn)證了本文所使用方法對(duì)生圖片成質(zhì)量有所幫助。
在1.3.3節(jié)的最后提到循環(huán)一致?lián)p失的作用是保障原域與目標(biāo)域之間合成的相互匹配,實(shí)現(xiàn)精準(zhǔn)映射,其中循環(huán)一致?lián)p失函數(shù)前面的系數(shù)λ為對(duì)抗損失和循環(huán)一致?lián)p失之間的權(quán)重系數(shù)比。既然是權(quán)重,則表明了在對(duì)網(wǎng)絡(luò)的訓(xùn)練過程時(shí),可以人為進(jìn)行干預(yù),根據(jù)每次實(shí)驗(yàn)的合成結(jié)果來調(diào)整循環(huán)一致?lián)p失函數(shù)在整個(gè)網(wǎng)絡(luò)中的權(quán)重大小。因此這一系數(shù)決定了對(duì)抗損失和循環(huán)損失在整個(gè)合成過程中兩個(gè)損失函數(shù)所起作用的大小。如果取值過小,則循環(huán)一致?lián)p失無法發(fā)揮理想的效果,從而使得在配準(zhǔn)合成過程中發(fā)生誤差;若取值過大,則可能使得模型過擬合。
在原文中λ=0.5,而本文在改進(jìn)目標(biāo)函數(shù)時(shí)發(fā)現(xiàn),λ的變化對(duì)最終的合成結(jié)果也會(huì)產(chǎn)生影響,故在本次實(shí)驗(yàn)當(dāng)中,分析了權(quán)重系數(shù)的變化對(duì)結(jié)果的影響。實(shí)驗(yàn)中,采取控制變量的方法,針對(duì)同一數(shù)據(jù)集,在改進(jìn)后的網(wǎng)絡(luò)下,將λ依次取值為0、0.5、1、5、10、15。
圖6為λ取不同值時(shí),3個(gè)評(píng)判指標(biāo)的變化趨勢(shì)圖。從λ的趨勢(shì)圖可以看出,在結(jié)構(gòu)相似度、余弦相似度和拉普拉斯梯度函數(shù)3個(gè)指標(biāo)當(dāng)中,SSIM和COSIN的值在0.5時(shí)取值最佳,而拉普拉斯梯度函數(shù)雖然在不同取值時(shí)有所波動(dòng),但是彼此之間的差距并不明顯。而λ取值為0.5也是本次實(shí)驗(yàn)中λ的取值,因此,不管λ如何變換,從綜合效果來看都是在取值為0.5時(shí)效果最佳。
圖6 λ變化趨勢(shì)
本文研究了基于循環(huán)生成對(duì)抗網(wǎng)絡(luò)(CycleGAN)的異質(zhì)人臉合成中照片-素描圖像之間的合成配準(zhǔn)。本文的主要貢獻(xiàn)是:提出了一種改進(jìn)的目標(biāo)函數(shù),用最小二乘損失和SmoothL1損失函數(shù)改進(jìn)原網(wǎng)絡(luò)中對(duì)抗損失和L1范數(shù),提高訓(xùn)練質(zhì)量、增強(qiáng)了訓(xùn)練過程的穩(wěn)定性并解決了訓(xùn)練中模式坍塌的問題。
實(shí)驗(yàn)結(jié)果表明,提出的改進(jìn)方法相較于原方法在圖像生成質(zhì)量方面有所提高。本文方法除了應(yīng)用在異質(zhì)人臉合成之外,還適用于其它風(fēng)格圖像特點(diǎn)的遷移、語義分割等多方面。此外,本文只做了針對(duì)于照片和素描之間的異質(zhì)轉(zhuǎn)換,未來的工作可以針對(duì)異質(zhì)人臉研究對(duì)象在其它模態(tài)方面展開研究,此外在網(wǎng)絡(luò)結(jié)構(gòu)上也可以繼續(xù)進(jìn)一步改進(jìn),嘗試使用多層對(duì)抗和循環(huán)結(jié)構(gòu),使圖片生成質(zhì)量進(jìn)一步得到提升。