蘇夢(mèng)晶,王 波,劉本永
(1貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽(yáng) 550025;2貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴陽(yáng) 550025;3貴陽(yáng)學(xué)院 數(shù)學(xué)與信息科學(xué)學(xué)院,貴陽(yáng) 550005)
面部表情合成指在改變特定對(duì)象的面部表情的同時(shí)保留該對(duì)象的身份信息和面部特征。近年來(lái),表情合成技術(shù)在電影特效、計(jì)算機(jī)動(dòng)畫(huà)、交互界面、面部手術(shù)規(guī)劃等方面得到廣泛應(yīng)用。此外,表情合成也可用于擴(kuò)展表情識(shí)別訓(xùn)練數(shù)據(jù),進(jìn)一步提升識(shí)別性能。由于人臉面部結(jié)構(gòu)較為復(fù)雜,合成具有真實(shí)感的面部表情仍是一個(gè)難題。
目前,實(shí)現(xiàn)表情合成的方法主要分為傳統(tǒng)方法和深度學(xué)習(xí)方法。傳統(tǒng)方法可分為基于映射的方法和基于建模學(xué)習(xí)的方法。前者利用不同表情的面部特征矢量差實(shí)現(xiàn)表情變化,僅考慮了圖像像素的差異,細(xì)節(jié)處理的能力較弱。如2001年,Liu等人提出的基于表情比率圖的合成方法能較好地合成表情的細(xì)節(jié),但對(duì)于光線、背景、圖像質(zhì)量等因素魯棒性不足;2004年,姜大龍等人提出的基于局部表情比率圖的合成方法選擇額頭、嘴角等具有表情細(xì)節(jié)的區(qū)域進(jìn)行合成計(jì)算,但僅考慮了圖像之間的像素差;2013年,王曉慧等人提出的基于小波圖像融合的合成方法擅長(zhǎng)提取紋理特征,但提取時(shí)會(huì)產(chǎn)生非表情特征,合成結(jié)果不佳。
基于建模學(xué)習(xí)的方法主要通過(guò)對(duì)人臉表情建立特定的模型進(jìn)行表情合成,考慮的臉部變形因素較多,但搭建的模型較為復(fù)雜,難以在實(shí)際中運(yùn)用。如1982年,Parke提出的參數(shù)化模型設(shè)計(jì)了一套用于人臉表情控制的參數(shù)。1996年,Lei等人提出的肌肉模型以人臉的解剖學(xué)為基礎(chǔ),考慮了臉部肌肉活動(dòng)的影響。2004年,Abboud等人提出的主動(dòng)外觀模型方法能合成不同強(qiáng)度和類型的表情圖像。
近年來(lái),深度學(xué)習(xí)方法在計(jì)算機(jī)視覺(jué)、圖像處理、計(jì)算機(jī)圖形學(xué)等領(lǐng)域發(fā)展迅速,尤其是2014年Goodfellow等人提出的生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN),極大地提高了合成圖像的 質(zhì) 量。該網(wǎng)絡(luò)及其改進(jìn)(pix2pix、CycleGAN、AttGAN、StarGAN)在人臉合成問(wèn)題上取得了很大成功,這些方法都能改變?nèi)四樀拿娌勘砬?,但在?xì)節(jié)上還有待改進(jìn)。
為了改善表情合成圖像中的細(xì)節(jié),本文探討一種基于自注意力機(jī)制和譜歸一化的生成對(duì)抗網(wǎng)絡(luò)表情合成方法,該方法以StarGAN為基礎(chǔ)框架,在生成器中引入自注意力模塊,通過(guò)計(jì)算卷積層中像素塊位置的相互作用,捕捉圖像之間的依賴關(guān)系,利用圖像特征的位置線索生成細(xì)節(jié),使合成的面部細(xì)節(jié)更具真實(shí)感;另外,在鑒別器中添加譜歸一化來(lái)約束權(quán)重的Lipschitz常數(shù),以穩(wěn)定鑒別器的訓(xùn)練。本文模型與pix2pix和StarGAN的實(shí)驗(yàn)結(jié)果相比更具真實(shí)感,紋理細(xì)節(jié)更加豐富,圖像質(zhì)量得到了進(jìn)一步提升。
GAN是一種基于博弈論的深度學(xué)習(xí)框架。該框架基于隨機(jī)噪聲的輸入,讓生成模型和鑒別模型交替進(jìn)行對(duì)抗學(xué)習(xí):生成模型盡可能欺騙鑒別模型,生成接近于真實(shí)數(shù)據(jù)分布的圖像;鑒別模型相當(dāng)于分類器,對(duì)生成的假樣本和真樣本進(jìn)行區(qū)分和判斷,當(dāng)訓(xùn)練達(dá)到最優(yōu)時(shí),鑒別模型將無(wú)法正確區(qū)別生成樣本和真樣本,達(dá)到納什平衡。
以GAN為基礎(chǔ)進(jìn)行改進(jìn)并可用于表情合成的方法主要有以下幾種:
(1)pix2pix:該模型的生成器使用U-Net結(jié)構(gòu),與原始的編解碼結(jié)構(gòu)相比,更好地共享了網(wǎng)絡(luò)的輸入與輸出之間不同分辨率層次的信息;鑒別器采用patchGAN結(jié)構(gòu),將圖片按照規(guī)定大小切割之后進(jìn)行判別,其輸出為所有切割塊判別結(jié)果的平均值。該模型要求采用成對(duì)的數(shù)據(jù)集進(jìn)行訓(xùn)練,即輸入和輸出有嚴(yán)格的對(duì)應(yīng)關(guān)系。
(2)CycleGAN:該模型不局限于pix2pix網(wǎng)絡(luò)中訓(xùn)練集需要一對(duì)一的限制,其采用雙向循環(huán)生成的結(jié)構(gòu),包含2個(gè)映射函數(shù),實(shí)驗(yàn)時(shí)不需要成對(duì)的數(shù)據(jù)集,即可學(xué)習(xí)2個(gè)域之間的映射關(guān)系,但每次訓(xùn)練只能對(duì)單一屬性進(jìn)行改變。
(3)AttGAN:該模型可實(shí)現(xiàn)人臉的多屬性編輯,其架構(gòu)主要包括屬性分類約束、重構(gòu)學(xué)習(xí)和對(duì)抗學(xué)習(xí)三個(gè)部分,其中引入屬性分類約束確保了生成圖片時(shí)對(duì)合適的屬性進(jìn)行編輯;引入重構(gòu)學(xué)習(xí)保證了生成圖像能夠保留原始圖像的身份特征。
(4)StarGAN:該模型使用一個(gè)生成器同時(shí)訓(xùn)練多個(gè)不同域的數(shù)據(jù)集,實(shí)現(xiàn)多域之間的圖像編輯。其鑒別器除了能判斷圖像真假之外,還能將生成圖像歸類到所屬表情域。該模型通過(guò)重建原始圖像,以保證生成圖像僅改變不同域之間存在差異的部分,其余特征保持不變,但表情細(xì)節(jié)存在一定程度上的缺失。
自注意力(Self-Attention,SA)機(jī)制是一種將內(nèi)部關(guān)聯(lián)性和外部信息結(jié)合從而提升局部區(qū)域的精細(xì)度的機(jī)制,能夠?qū)W習(xí)某一像素點(diǎn)和其他所有位置像素點(diǎn)之間的關(guān)系,可以使生成器和鑒別器對(duì)廣泛的空間區(qū)域進(jìn)行建模,并將某個(gè)位置的注意力計(jì)算為局部區(qū)域內(nèi)的像素特征加權(quán)求和,在保持全局依賴信息少量損失的前提下,大大降低計(jì)算量。
自注意力機(jī)制的網(wǎng)絡(luò)框架如圖1所示,特征圖像通過(guò)線性映射轉(zhuǎn)換為、和,其中()=W x,()=W x,利用轉(zhuǎn)置后的和計(jì)算相似性和關(guān)注度:
圖1 自注意力機(jī)制網(wǎng)絡(luò)框架Fig.1 The framework of self-attention mechanism
其中,β表示在合成第個(gè)像素位置時(shí),模型對(duì)第個(gè)位置的關(guān)注度。那么映射()的輸出是(,,…,o,…,o),這里的計(jì)算公式可寫(xiě)為:
其中,W、W和W是學(xué)習(xí)區(qū)域內(nèi)各像素特征的注意力權(quán)重,可通過(guò)11卷積來(lái)實(shí)現(xiàn)。由式(3)的結(jié)果乘以一個(gè)比例參數(shù),并加上輸入的特征圖,最終輸出為:
其中,是一個(gè)通過(guò)學(xué)習(xí)得到的標(biāo)量,初值為0。通過(guò)引入使網(wǎng)絡(luò)先學(xué)習(xí)局部領(lǐng)域的線索,再轉(zhuǎn)向全局的線索,逐漸增加任務(wù)的復(fù)雜度。
譜歸一化(Spectral Normalization,SN)通過(guò)限制訓(xùn)練時(shí)函數(shù)變化的劇烈程度,使鑒別器更加穩(wěn)定。實(shí)現(xiàn)過(guò)程需要讓每層網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)除以該層參數(shù)矩陣的譜范數(shù),達(dá)到歸一化的目的,即可滿足Lipschitz約束(限制函數(shù)的局部變動(dòng)幅度不能超過(guò)某常量)。為獲得每層參數(shù)矩陣的譜范數(shù),采用冪迭代法來(lái)近似求取參數(shù)矩陣的譜范數(shù)的最大奇異值以減少計(jì)算量。譜歸一化如下:
其中,為網(wǎng)絡(luò)參數(shù)的權(quán)重,()為的最大奇異值。
本文探討的表情合成方法以StarGAN為基礎(chǔ)框架進(jìn)行改進(jìn),在其生成器中引入2層自注意力機(jī)制模塊,豐富上下文聯(lián)系,使合成表情更具真實(shí)感。模型訓(xùn)練時(shí)先向生成器提供從訓(xùn)練數(shù)據(jù)中隨機(jī)抽取的表情圖像和目標(biāo)表情標(biāo)簽,使生成器能夠?qū)Ρ砬閳D像中的細(xì)節(jié)進(jìn)行建模,調(diào)節(jié)表情細(xì)節(jié)變化,最終通過(guò)生成器得到生成圖像;下一步,將生成圖像輸入鑒別器進(jìn)行判別,鑒別器輸出為圖像的真假鑒別結(jié)果以及圖像所屬表情域的類別。另外,生成圖像與輸入圖像的表情域標(biāo)簽會(huì)再次送入生成器重構(gòu)原始表情,目的是使生成器能夠保持原有圖像的身份信息。為穩(wěn)定鑒別器的訓(xùn)練,在鑒別模型的每一層都引入譜歸一化,以確保其映射函數(shù)滿足Lipschitz約束。
本文方法的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。圖2中,上半部分的生成器由輸入層、輸出層、下采樣層、瓶頸層、上采樣層以及2個(gè)自注意力機(jī)制模塊組成,虛線箭頭表示生成器重構(gòu)輸入圖像的過(guò)程,實(shí)線表示箭頭對(duì)抗學(xué)習(xí)的過(guò)程。下半部分的鑒別器由輸入層、輸出層和隱藏層組成,每一層之間均有譜歸一化層和Leaky-ReLU激活函數(shù),除輸出層以外卷積深度均為前一層的2倍,最終經(jīng)過(guò)全連接層映射為2個(gè)輸出,分別用于判別輸入生成圖像真假和生成表情域。
圖2 本文方法的網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The framework of the proposed method
本文模型的損失函數(shù)包括對(duì)抗損失函數(shù)、分類損失函數(shù)和重構(gòu)損失函數(shù)。對(duì)此擬做分述如下。
(1)對(duì)抗損失函數(shù)。為生成與真實(shí)圖像難以區(qū)分的面部表情圖像,引入對(duì)抗損失函數(shù):
其中,,分別為原始圖像和目標(biāo)表情域標(biāo)簽,(,)為生成圖像,該圖像的表情特征盡可能接近目標(biāo)表情,鑒別器需要判斷生成圖像的真實(shí)性。
(2)分類損失函數(shù)。為使生成器生成具有目標(biāo)表情特征的假圖像,同時(shí)鑒別器能夠?qū)⒑铣傻谋砬檎_歸類,提出分類損失函數(shù),分別對(duì)生成器和鑒別器進(jìn)行優(yōu)化。分類鑒別器損失函數(shù)為:
其中,'為輸入圖像原始表情域標(biāo)簽;D(')為鑒別器將輸入圖像辨別為原始表情的概率,通過(guò)訓(xùn)練使得鑒別器能夠?qū)⑤斎雸D像分類為對(duì)應(yīng)的表情'。分類生成器損失函數(shù)為:
其中,D((,))為生成器將生成圖像判別為目標(biāo)表情的概率,通過(guò)訓(xùn)練使生成器盡可能生成符合目標(biāo)表情特征的表情圖像,讓鑒別器將表情圖像歸類到目標(biāo)表情域。
(3)重構(gòu)損失函數(shù)。為保持人臉原有身份信息,引入重構(gòu)損失函數(shù),利用生成圖像重建原始圖像:
最終鑒別器和生成器的目標(biāo)函數(shù)分別為:
其中,λ和λ是超參數(shù),其值大于等于0,用于控制域分類和重構(gòu)損失的比重。
選取RaFD數(shù)據(jù)集的1 608張正面表情圖像作為訓(xùn)練數(shù)據(jù),將圖片剪裁為128×128進(jìn)行訓(xùn)練,每更新5次生成器后更新1次鑒別器,共迭代200萬(wàn)次。
本文將pix2pix和StarGAN作為對(duì)比以驗(yàn)證所提出模型的有效性,為保證實(shí)驗(yàn)結(jié)果的公平性,將2種模型的圖像分辨率參數(shù)均調(diào)整至128×128進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 原始圖像及不同方法生成的合成圖像Fig.3 Original images and composite images generated by different methods
從圖3可看出,pix2pix合成的表情圖像五官較模糊,缺少表情細(xì)節(jié),嘴部缺失較為明顯,合成效果不理想;StarGAN合成的表情圖像五官較為清晰,但表情細(xì)節(jié)不夠豐富。本文的方法可增強(qiáng)上下文聯(lián)系,使合成圖像更具真實(shí)感、質(zhì)量更高。圖4是對(duì)原始圖像、StarGAN以及本文方法實(shí)驗(yàn)結(jié)果的局部細(xì)節(jié)進(jìn)行比較。由圖4可看出本文方法所得的表情更接近原始圖像,細(xì)節(jié)更豐富、清晰度更高。
圖4 目標(biāo)表情原始圖像以及StarGAN和本文方法所生成圖像的細(xì)節(jié)Fig.4 Details of the original images of the target expression and the images generated by StarGAN and the proposed method
本文采用作為合成圖像的評(píng)價(jià)指標(biāo),通過(guò)計(jì)算真實(shí)圖像和生成圖像的特征向量之間的距離,評(píng)價(jià)兩者之間的相似度,分?jǐn)?shù)越低表示合成圖像越趨近于真實(shí)圖像。公式如下:
本文分別計(jì)算了pix2pix、StarGAN和本文方法所合成的8種表情圖像的,評(píng)估結(jié)果見(jiàn)表1。
根據(jù)表1可知,本文所提出的模型在憤怒、恐懼、幸福、悲傷、驚奇、蔑視和中立表情的分?jǐn)?shù)相較于pix2pix和StarGAN均為最低的,合成圖像質(zhì)量相比于其他2種算法更佳,生成圖像與原始圖像更接近。
表1 pix2pix、StarGAN和本文方法的FIDTab.1 FID of pix2pix,StarGAN and the proposed method
本文提出一種基于自注意力機(jī)制和譜歸一化的生成對(duì)抗網(wǎng)絡(luò)表情合成方法,使用生成對(duì)抗網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)多域之間的表情合成,并引入自注意力機(jī)制,使生成器輸出更具細(xì)節(jié)的表情圖像,引入譜歸一化來(lái)約束Lipschitz常數(shù),使鑒別器的訓(xùn)練更加穩(wěn)定。通過(guò)對(duì)比實(shí)驗(yàn)表明,本文模型的合成圖像更具真實(shí)感,圖像質(zhì)量明顯提高。
由于不同的表情數(shù)據(jù)集之間存在差異,難以用一個(gè)模型去泛化所有人的表情,將來(lái)希望針對(duì)不同背景下的表情合成進(jìn)行研究。