顏文勝,呂紅兵
(1.臺州職業(yè)技術(shù)學(xué)院 信息技術(shù)工程學(xué)院,浙江 臺州 318000;2.浙江大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310027)
圖像風(fēng)格遷移[1]作為計算機(jī)科學(xué)和視覺應(yīng)用的研究熱點,是一種結(jié)合給定的內(nèi)容圖與風(fēng)格圖,生成同時具有內(nèi)容特征和藝術(shù)風(fēng)格特征的風(fēng)格遷移圖的技術(shù)[2-3]。隨著神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)[4]等技術(shù)的跨越式發(fā)展,促進(jìn)了圖像風(fēng)格遷移技術(shù)的研究[5-6]。例如,繆永偉等[7]針對現(xiàn)有的圖像風(fēng)格遷移方法中難以對內(nèi)容圖局部區(qū)域進(jìn)行風(fēng)格遷移的難點,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像局部風(fēng)格遷移框架,從而能高效、快速并自然地實現(xiàn)輸入內(nèi)容圖的局部風(fēng)格遷移。李慧等[8]針對圖像風(fēng)格遷移中出現(xiàn)的圖像扭曲、內(nèi)容細(xì)節(jié)丟失的問題,提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的帶有語義分割的圖像風(fēng)格遷移算法,從而得到精確的風(fēng)格遷移,解決了圖像扭曲和細(xì)節(jié)丟失的問題。余志凡等[9]針對傳統(tǒng)方法存在風(fēng)格遷移后圖像表現(xiàn)不自然的問題,提出了一種基于Gram矩陣和CNN(Convolutional Neural Networks)的圖像風(fēng)格遷移算法,在更短的時間內(nèi)更好地實現(xiàn)了藝術(shù)圖像的風(fēng)格遷移。
圖像風(fēng)格遷移技術(shù)中有一類專門針對人臉妝容的遷移應(yīng)用,被稱為人臉妝容風(fēng)格遷移。人臉妝容遷移是指把參考妝容遷移到素顏人臉圖像上,并保持其上妝風(fēng)格的一種技術(shù),它提供了快速高效的候選妝容可視化的解決方案,目前得到了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注[10]。例如,黃妍等[10]針對真實同人異妝數(shù)據(jù)缺失以及五官差異而導(dǎo)致的遷移臉部結(jié)構(gòu)丟失等問題,提出了一種多通路的分區(qū)域快速妝容遷移深度網(wǎng)絡(luò)模型,從而得到了更協(xié)調(diào)的視覺效果與更快的上妝速度。文獻(xiàn)[11-12]提出了一種由卷積網(wǎng)絡(luò)的不同層分別表達(dá)的圖像結(jié)構(gòu)和紋理,從而實現(xiàn)人臉妝容風(fēng)格的自動遷移。
神經(jīng)網(wǎng)絡(luò)在人臉妝容遷移實際應(yīng)用中,人工創(chuàng)建的配對訓(xùn)練圖像庫的規(guī)模往往有限,導(dǎo)致妝容遷移效果相對較差[13]。隨著生成對抗網(wǎng)絡(luò)[14]的出現(xiàn),依其具有圖像風(fēng)格自動遷移,可減少工作量,且結(jié)果豐富的優(yōu)質(zhì)特性,被廣泛應(yīng)用于圖像遷移中。例如,杜振龍等[15]利用改進(jìn)的循環(huán)一致性對抗網(wǎng)絡(luò)CycleGAN實現(xiàn)了圖像風(fēng)格的自動遷移。張驚雷等[13]提出了一種改進(jìn)循環(huán)生成式對抗網(wǎng)絡(luò)(CycleGAN++),取消了環(huán)形網(wǎng)絡(luò),實現(xiàn)了不依賴訓(xùn)練數(shù)據(jù)映射的圖像風(fēng)格遷移。李君藝等[16]提出了一種基于感知對抗網(wǎng)絡(luò)的圖像風(fēng)格遷移方法,使生成圖與原圖在多個網(wǎng)絡(luò)層次的特征差異能被持續(xù)發(fā)掘,生成圖的內(nèi)容和風(fēng)格更接近原圖。生成對抗網(wǎng)絡(luò)在圖像風(fēng)格遷移的成功應(yīng)用,也為人臉妝容遷移提供了新的、更好的技術(shù)途徑。國外已有將生成對抗網(wǎng)絡(luò)應(yīng)用于人臉妝容遷移的研究[17-18],但國內(nèi)目前將生成對抗網(wǎng)絡(luò)應(yīng)用于人臉妝容遷移的研究成果報道很少[19],有待進(jìn)一步加強(qiáng)。
為此,筆者綜合考慮了一致性損失、感知損失、對抗性損失以及彌補(bǔ)損失,構(gòu)建了生成對抗網(wǎng)絡(luò)目標(biāo)函數(shù);基于卷積-正則化-激活函數(shù)思想,采用Encoder-Decoder神經(jīng)網(wǎng)絡(luò),構(gòu)建了生成對抗網(wǎng)絡(luò)的生成器,通過最小化妝容遷移圖像與原始素顏圖像的五官特征差異實現(xiàn)最優(yōu)化;基于多層卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建鑒別器,將人臉圖像分割為N個小部分,通過對妝容遷移圖像和參考圖像的妝容風(fēng)格相似度最大化實現(xiàn)遷移最優(yōu)化,提出了一種基于生成對抗網(wǎng)絡(luò)的人臉妝容自動遷移方法。
為解決上述問題,筆者提出了基于生成對抗網(wǎng)絡(luò)的人臉妝容自動遷移方法,在不改變素顏圖像人臉結(jié)構(gòu)的情況下,精準(zhǔn)地將妝容風(fēng)格遷移至素顏圖像上,實現(xiàn)為素顏的自主上妝。整個算法框架如圖1所示。
圖1 基于生成對抗網(wǎng)絡(luò)的人臉妝容遷移框架Fig.1 Face makeup transfer framework based ongenerating antagonistic network
生成對抗網(wǎng)絡(luò)的目標(biāo)函數(shù)包含4方面的損失項:一致性損失、感知損失、對抗性損失以及彌補(bǔ)損失。
為了在妝容遷移過程中保留原圖像信息,筆者采用人臉識別模型LightCNN(Light Convolutional Neural Network)[20]構(gòu)建了一致性損失函數(shù)
(1)
(2)
兩個鑒別器的目標(biāo)函數(shù)包含了對抗損失,將所生成的圖像與參考圖像進(jìn)行區(qū)分
式(3)和式(4)中重構(gòu)項Lrecons(·)的引入,是為了確保只在妝容風(fēng)格上遷移,并不會偏離原始圖像。為便于模型的訓(xùn)練,在生成對抗網(wǎng)絡(luò)中將圖像像素歸一化為[-1,1],閾值設(shè)置為τ=1,重構(gòu)項Lrecons(·)則可由
(5)
圖2 基于LightCNN的彌補(bǔ)損失Fig.2 Structural parameters of discriminator neural network
(6)
其中fbt(·)為面部特征提取算子。
以上一致性損失、感知損失、對抗性損失以及彌補(bǔ)損失構(gòu)成了生成器Ga的目標(biāo)函數(shù)
(7)
其中α、β、γ和δ為損失函數(shù)權(quán)重因子。
生成對抗網(wǎng)絡(luò)中生成器的目的是基于輸入素顏圖像生成服從參考妝容的妝容遷移圖像。生成器的輸入及輸出在人臉形態(tài)、五官特征是保持不變的,僅在妝容風(fēng)格上產(chǎn)生變化,兩者的高維特征是一致的。由此,基于卷積-正則化-激活函數(shù)思想,采用Encoder-Decoder[21-22]神經(jīng)網(wǎng)絡(luò),如圖3所示構(gòu)建了生成對抗網(wǎng)絡(luò)的生成器。
圖3 生成器的跳躍連接網(wǎng)絡(luò)Fig.3 Jump connection network for generator
其中Encoder用于素顏圖像向高維特征的映射,Decoder用于高維特征解碼以及遷移圖像的生成,為更好地保留素顏圖像原本特征解決網(wǎng)絡(luò)劣化問題,使用跳躍連接以實現(xiàn)信息共享,即由卷積網(wǎng)絡(luò)下采樣前的權(quán)重矩陣直接傳遞權(quán)值到上采樣反卷積矩陣中[23]。
筆者構(gòu)建的妝容遷移生成對抗網(wǎng)絡(luò)中鑒別器的目的是鑒別妝容遷移圖像與參考圖像的妝容風(fēng)格差異。為更好地捕捉圖像中的妝容風(fēng)格信息,基于多層卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建鑒別器(見圖4),將人臉圖像分割為N小部分,然后通過鑒別器以識別樣本是來自于生成的遷移圖像還是妝容參考圖像,最后將鑒別器對樣本的輸出均值作為鑒別器的最終輸出,具體網(wǎng)絡(luò)架構(gòu)說明如表1所示。
圖4 鑒別器的網(wǎng)絡(luò)架構(gòu)Fig.4 Architecture of discriminator
表1 鑒別器神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)Tab.1 Structural parameters of discriminator neural network
EIsrc,Iref(log(1-Ga(Isrc,Iref)))+Lrecons(Ga(Isrc,Iref))
(8)
基于隨機(jī)梯度下降采用交替優(yōu)化的方式,優(yōu)化D1,D2時固定Ga,優(yōu)化Ga時固定D1,D2,如此交替進(jìn)行,直至算法收斂或達(dá)到最大訓(xùn)練次數(shù),訓(xùn)練過程如下:
1) 重復(fù)以下步驟直到達(dá)到最大訓(xùn)練次數(shù);
2) 重復(fù)循環(huán)k次;
5) 通過隨機(jī)梯度下降更新兩個鑒別器的參數(shù)φ1和φ2
6)k次循環(huán)結(jié)束;
7) 通過隨機(jī)梯度下降更新生成器的參數(shù)θ
8) 結(jié)束循環(huán)。
為驗證筆者方法的有效性和實用性,從互聯(lián)網(wǎng)上收集了素顏照和彩妝照,組成了妝容遷移實驗樣本集,并將圖像分辨率調(diào)整為大小均為256×256像素。
方法訓(xùn)練過程中,將訓(xùn)練的學(xué)習(xí)效率設(shè)為0.002、批量大小為1,利用VGG-16[24]的relu_4_1特征層進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練。生成對抗網(wǎng)絡(luò)中目標(biāo)函數(shù)的權(quán)重值分別設(shè)為α=1、β=10、γ=0.5和δ=1。
實驗驗證過程中,隨機(jī)選擇4張素顏照片分別作為生成對抗網(wǎng)絡(luò)Isrc輸入,選擇4張帶妝照片分別作為生成對抗網(wǎng)絡(luò)Iref輸入,如圖5所示。
圖5 妝容遷移實驗的輸入樣本Fig.5 The input sample of the makeup transfer experiment
圖6 人臉妝容遷移實驗效果Fig.6 Facial makeup transfer experiment effect
為檢驗筆者方法的對比優(yōu)勢,分別同其他先進(jìn)的風(fēng)格遷移算法進(jìn)行了仿真比對。圖7和圖8給出了筆者方法與其他兩種方法對妝容遷移效果的定性比較。其中,CycleGAN[25]采用兩個單向GAN構(gòu)成環(huán)形GAN,有效解決了圖像風(fēng)格遷移時需要配對訓(xùn)練數(shù)據(jù)的問題。但CycleGAN因使用兩個單向GAN組成網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)的加深會使計算復(fù)雜度提高,訓(xùn)練速率降低,導(dǎo)致應(yīng)用性與實時性較差[13]。CycleGAN只是針對圖像風(fēng)格遷移所提出的方法應(yīng)用于人臉妝容圖像上,由于其生成器無法準(zhǔn)確把握人臉五官特征,導(dǎo)致在妝容風(fēng)格遷移過程中上妝位置不準(zhǔn),出現(xiàn)妝容模糊、錯誤、虛化等問題。BeautyGAN[26]與CycleGAN相似,通過一些鑒別器將風(fēng)格圖像轉(zhuǎn)移到樣本圖像上,但BeautyGAN更注重專門針對人臉妝容遷移的算法設(shè)計,采用了對不同面部區(qū)域計算的像素級直方圖損失實現(xiàn)妝容遷移。BeautyGAN很好地實現(xiàn)了妝容風(fēng)格的遷移,但有時還存在不能保持瞳孔顏色、沒有相同粉底作為參考等問題,此外在處理帶有不同姿勢和表情的圖像時,臉部上妝錯誤區(qū)域問題也較為突出。筆者方法在目標(biāo)函數(shù)中通過一致性損失、感知損失、對抗性損失以及彌補(bǔ)損失對妝容遷移加以控制,再加上重構(gòu)項的引入有效提升了不同姿態(tài)和表情妝容遷移的準(zhǔn)確度,從而獲得更為精致、自然的妝容遷移效果。
圖7 正面妝容遷移效果比對Fig.7 Positive makeup transfer effect comparison
圖8 不同姿態(tài)及表情的妝容遷移效果比對Fig.8 Different posture and expression of the makeup transfer effect comparison
表2給出了上述10組測試樣本妝容遷移方法耗時情況,筆者方法平均耗時0.25 s,分別比CycleGAN快10倍,比BeautyGAN快2倍。表明筆者所提妝容遷移方法在保持素顏妝圖像臉部結(jié)構(gòu)不變,盡可能地體現(xiàn)參考妝容風(fēng)格的同時,運(yùn)算耗時更低,方法更為迅速。
表2 方法耗時情況比對Tab.2 Method time consumption comparison
針對人臉妝容訓(xùn)練數(shù)據(jù)缺乏以及因姿態(tài)差異考慮不足而導(dǎo)致上妝區(qū)域錯誤等問題,筆者提出了一種基于生成對抗網(wǎng)絡(luò)的人臉妝容自動遷移方法。通過在生成對抗網(wǎng)絡(luò)目標(biāo)函數(shù)中考慮一致性損失、感知損失、對抗性損失以及彌補(bǔ)損失,更有效地提升了妝容遷移準(zhǔn)確度;通過采用Encoder-Decoder神經(jīng)網(wǎng)絡(luò)構(gòu)建生成對抗網(wǎng)絡(luò)的生成器,實現(xiàn)了妝容遷移圖像與原始素顏圖像的五官特征差異的最小化;通過構(gòu)建基于多層卷積神經(jīng)網(wǎng)絡(luò)的鑒別器,實現(xiàn)了參考圖像到生成圖像的妝容風(fēng)格遷移的最大化。最后,進(jìn)行仿真實驗,獲得完全保留原素顏圖像人臉和五官特征的妝容遷移圖像,實現(xiàn)了素顏人臉圖像自動上妝的功能,上妝效果好、妝容自然。經(jīng)過方法對比仿真可知,筆者方法能在保持素顏妝后圖像臉部結(jié)構(gòu)不變的同時,盡可能地體現(xiàn)參考妝容風(fēng)格,且不受不同姿勢和表情影響,具有更強(qiáng)的應(yīng)用優(yōu)勢。