楊靜波,趙啟軍,呂澤均
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)
人臉表情是人的情感最直接的表現(xiàn)形式之一,由于數(shù)字媒體等技術(shù)的需要如今有越來越多針對(duì)人臉表情的研究,如人臉表情識(shí)別[1-2]與人臉表情遷移[3-4]等。而隨著深度學(xué)習(xí)的發(fā)展,人臉表情識(shí)別方法與人臉表情遷移方法的效果都有明顯提升。但深度學(xué)習(xí)方法往往需要大量訓(xùn)練數(shù)據(jù),現(xiàn)有人臉數(shù)據(jù)庫(kù)的數(shù)據(jù)量往往有限、數(shù)據(jù)質(zhì)量參差不齊,且大多數(shù)針對(duì)傳統(tǒng)六種基本表情。
得益于生成對(duì)抗網(wǎng)絡(luò)[5]的提出,許多基于生成對(duì)抗網(wǎng)絡(luò)的人臉表情生成方法被驗(yàn)證。但現(xiàn)有的人臉表情生成方法往往更關(guān)注于傳統(tǒng)六種基本表情,忽略了表情的豐富性。于是,本文提出引入標(biāo)記分布[6]的人臉表情圖像生成方法,用有限訓(xùn)練數(shù)據(jù)獲得更豐富的表情數(shù)據(jù),最終生成高質(zhì)量的人臉表情圖像,對(duì)人臉表情數(shù)據(jù)庫(kù)進(jìn)行擴(kuò)充。該方法基于生成對(duì)抗網(wǎng)絡(luò),使用Arousal-Valence 維度情感模型劃分表情類別以表示更豐富的表情,同時(shí)引入標(biāo)記分布彌補(bǔ)數(shù)據(jù)量的缺失,并在Oulu-CASIA 數(shù)據(jù)庫(kù)和OSU 數(shù)據(jù)庫(kù)上進(jìn)行了驗(yàn)證。
量化面部情感行為的模型一般分為3 類[7]:①分類模型:從情感相關(guān)類別中選取代表性的情感分類,如Ekman[8]提出的六種基本表情:高興、厭惡、驚訝、悲傷、憤怒和恐懼;②維度模型:在連續(xù)的情感區(qū)域內(nèi)選擇一個(gè)值來代表情緒;③面部動(dòng)作編碼系統(tǒng)模型:所有的面部動(dòng)作都由動(dòng)作單元表示。
Arousal-Valence 維度情感模型是,從Arousal 和Valence 兩個(gè)維度描述情感。其中Arousal 代表激活度,取值從-1 到1 代表情感從平靜到激動(dòng)。Valence 代表愉悅度,取值從-1 到1 代表情感從消極到積極[9]。本文方法將兩個(gè)維度各劃分21 類,共21×21 個(gè)表情粒度。
生成對(duì)抗網(wǎng)絡(luò)[5]是十分典型和有效的生成模型之一,由生成器和判別器兩部分組成,生成器生成“假”圖像,判別器用以判別“真”和“假”圖像,通過生成器和判別器的博弈最終生成高質(zhì)量的圖像。其中一個(gè)代表是條件生成對(duì)抗網(wǎng)絡(luò)[10],引入條件信息控制圖像生成:
其中G表示生成器,D表示判別器,x表示真實(shí)數(shù)據(jù),z表示隨機(jī)噪聲,y表示條件。
人臉表情圖像生成是很有挑戰(zhàn)性的圖像生成任務(wù)之一,人臉圖像復(fù)雜,人的表情更是多樣。近年來基于生成對(duì)抗網(wǎng)絡(luò)的人臉表情圖像生成方法不斷被提出改進(jìn),如G2-GAN[11]使用人臉特征點(diǎn)作為幾何先驗(yàn)控制表情的生成,ExprGAN[12]提出了表情強(qiáng)度控制模塊,這兩者均基于傳統(tǒng)基本表情對(duì)表情進(jìn)行劃分生成。AttGAN[13]對(duì)人臉多種屬性進(jìn)行編輯,改進(jìn)的CAAE[16]和本文一樣基于維度情感模型,但其訓(xùn)練數(shù)據(jù)量較大。Cascade EF-GAN[15]提出局部關(guān)注和級(jí)聯(lián)生成的思想,其基于表情動(dòng)作單元對(duì)表情進(jìn)行劃分,但網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜。
本文提出的引入標(biāo)記分布的人臉表情圖像生成方法,則是在ExprGAN[12]的基礎(chǔ)上,引入標(biāo)記分布,使用較輕量級(jí)的生成對(duì)抗網(wǎng)絡(luò),在較少的訓(xùn)練數(shù)據(jù)下生成高質(zhì)量人臉表情圖像。
在訓(xùn)練數(shù)據(jù)量充足的情況下,訓(xùn)練階段使用的標(biāo)簽往往是獨(dú)熱標(biāo)簽,即一個(gè)訓(xùn)練數(shù)據(jù)對(duì)應(yīng)一個(gè)類別標(biāo)簽。但本文中為了在訓(xùn)練數(shù)據(jù)有限的情況下獲得訓(xùn)練數(shù)據(jù)提供的更多信息,利用標(biāo)記分布學(xué)習(xí)與標(biāo)記增強(qiáng)[6],將代表一個(gè)類別維度表情標(biāo)簽轉(zhuǎn)化為服從高斯分布的分布式形式,為缺少訓(xùn)練數(shù)據(jù)類別也提供部分信息。標(biāo)簽處理偽代碼如下:
輸入:維度情感模型標(biāo)簽(V,A),V、A∈[-1,1],保留小數(shù)點(diǎn)后一位
輸出:訓(xùn)練使用的42 位表情標(biāo)簽y
網(wǎng)絡(luò)的輸入為R128×128×3的人臉表情圖像和R42的表情標(biāo)簽,輸出生成的R128×128×3人臉表情圖像,是一個(gè)端到端的過程。網(wǎng)絡(luò)結(jié)構(gòu)為條件生成對(duì)抗網(wǎng)絡(luò),分為生成器與判別器,同時(shí)引入人臉識(shí)別模型對(duì)生成人臉表情圖像的身份進(jìn)行控制。其中生成器由編碼器和解碼器兩部分組成,判別器與表情識(shí)別模塊共享部分權(quán)重。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)
生成器由編碼器和解碼器組成。編碼器輸入為原始輸入圖像x,輸出為低維特征z。低維特征z∈R50,與表情標(biāo)簽y有相同維度。將z與y拼接在一起作為解碼器的輸入,使解碼生成的圖像具有表情標(biāo)簽y提供的表情信息。為保證圖像生成質(zhì)量,本文通過最小化輸入人臉表情圖像x與生成人臉表情xg之間的L1 距離控制生成圖像與輸入圖像的差別:
本文使用傳統(tǒng)的條件生成對(duì)抗網(wǎng)絡(luò)損失函數(shù)來對(duì)生成圖像進(jìn)行約束,判別器的輸入為原始輸入圖像x與生成圖像xg,對(duì)抗損失函數(shù)表示為:
其中P表示數(shù)據(jù)分布。
為了保持x與xg之間的人臉同一性,本文參考Ex?prGAN[12]引入一個(gè)預(yù)先訓(xùn)練好的人臉識(shí)別模型VGG Face[16]來增強(qiáng)人臉身份特征層的相似性:
其中fj是人臉識(shí)別網(wǎng)絡(luò)第j層卷積層的特征映射,ρj為對(duì)應(yīng)權(quán)值。
表情判別模塊與判別器共享權(quán)重,實(shí)質(zhì)是一個(gè)人臉表情識(shí)別網(wǎng)絡(luò)。由于本文表情標(biāo)簽的特殊性,其不同于常見的人臉表情識(shí)別網(wǎng)絡(luò)是分類模型,而是一個(gè)回歸模型。其輸入為原始輸入圖像x和生成圖像xg,分別輸出yx與yg,本文通過最小化輸入yx與yg之間的L2 距離控制生成圖像與輸入圖像的表情:
本文方法在Oulu-CASIA 數(shù)據(jù)庫(kù)[17]與CFEED 數(shù)據(jù)庫(kù)[18]上進(jìn)行驗(yàn)證,兩數(shù)據(jù)庫(kù)數(shù)據(jù)均不為Arousal-Va?lence 維度情感模型標(biāo)識(shí)數(shù)據(jù)。Oulu-CASIA 數(shù)據(jù)庫(kù)數(shù)據(jù)為包含80 名采集者6 種基本情緒的三種不同光照條件下的表情視頻圖像序列,本文選取正常光照條件下的視頻圖像對(duì)所有幀的圖像數(shù)據(jù)進(jìn)行重新人工標(biāo)注,并采用2.1 小節(jié)方法對(duì)標(biāo)簽進(jìn)行處理。同樣,對(duì)CFEED 數(shù)據(jù)庫(kù)中包含230 名采集者正常光照下通過面部表情動(dòng)作單元標(biāo)注的表情圖像數(shù)據(jù),做相同標(biāo)注處理。最終獲得15407 張數(shù)據(jù),15000 作為訓(xùn)練數(shù)據(jù),其余作為測(cè)試。
本文使用MTCNN[19]對(duì)所有數(shù)據(jù)進(jìn)行人臉檢測(cè)和對(duì)齊,并將人臉區(qū)域裁剪縮放為128×128 大小的圖像。
本文主體為條件生成對(duì)抗網(wǎng)絡(luò),生成器由編碼器和解碼器構(gòu)成,編碼器在VGG 網(wǎng)絡(luò)的基礎(chǔ)上加入輸出維度50 的全連接層,共五層卷積層和四層全連接層。解碼器包含一個(gè)全連接層和七個(gè)反卷積層。判別器則由四個(gè)卷積層和兩個(gè)全連接層組成。表情判別器模塊則在判別器的基礎(chǔ)上加入四層全連接層,與判別器共享權(quán)重??倱p失函數(shù)
其中l(wèi)1=l3=l3=1、l2=0.1。
訓(xùn)練使用TensorFlow 深度學(xué)習(xí)框架,使用Adam優(yōu)化器進(jìn)行優(yōu)化。由于訓(xùn)練數(shù)據(jù)有限,對(duì)全局訓(xùn)練造成困難,本文采用兩階段增量訓(xùn)練,第一階段僅訓(xùn)練解碼器于判別器,損失函數(shù)為:
ρ1=1,ρ2=0.01。第二階段加入所有部分,使用總損失函數(shù)Ltotal進(jìn)行訓(xùn)練。
為達(dá)到數(shù)據(jù)擴(kuò)充的目的,可使用本文方法對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行數(shù)據(jù)擴(kuò)充。首先可對(duì)數(shù)據(jù)庫(kù)以采集身份信息數(shù)據(jù)進(jìn)行表情豐富性的擴(kuò)充,如圖2 所示為部分生成效果,針對(duì)輸入人臉,賦予不同的表情標(biāo)簽,可獲得表情更多樣的人臉表情數(shù)據(jù)。
圖2 輸入人臉表情圖像生成效果
其次,可僅使用解碼器對(duì)隨機(jī)噪聲進(jìn)行圖像生成,獲得不同身份信息的人臉表情圖像生成,如圖3 所示。網(wǎng)絡(luò)結(jié)構(gòu)中低維特征z使用服從均勻分布的隨機(jī)噪聲,提供不同于數(shù)據(jù)庫(kù)數(shù)據(jù)的身份信息與圖像信息,與表情標(biāo)簽拼接后作為解碼器的輸入,獲得更多身份信息的人臉表情圖像。
圖3 輸入隨機(jī)噪聲生成效果
可以看出,以數(shù)據(jù)庫(kù)原有圖像作為輸入,可以在保留身份信息的前提下獲得更豐富的表情圖像。以隨機(jī)噪聲作為輸入,可以生成新的身份信息的多種表情圖像。可以看出圖3 第三行生成的CFEED 數(shù)據(jù)庫(kù)圖像風(fēng)格數(shù)據(jù)視覺效果略差,考慮是因?yàn)镃FEED 訓(xùn)練數(shù)據(jù)僅為Oulu-CASIA 數(shù)據(jù)庫(kù)數(shù)據(jù)的1/2。
針對(duì)生成圖像,使用PSNR 在Oulu-CASIA 數(shù)據(jù)集上對(duì)圖像質(zhì)量進(jìn)行評(píng)估,PSNR 為峰值信噪比,常用來對(duì)圖像質(zhì)量進(jìn)行評(píng)估,其數(shù)值越大代表生成圖像質(zhì)量越高。本文與ExprGAN 方法[12]進(jìn)行對(duì)比,可以看出本文生成圖像質(zhì)量略高。
表1 AV-GAN 方法數(shù)據(jù)分布
為對(duì)人臉表情圖像數(shù)據(jù)進(jìn)行擴(kuò)充,本文提出了可在小規(guī)模數(shù)據(jù)集上運(yùn)用標(biāo)記分布進(jìn)行人臉表情圖像生成方法。在Oulu-CASIA 數(shù)據(jù)庫(kù)與CFEED 數(shù)據(jù)庫(kù)上的實(shí)驗(yàn)結(jié)果表明,使用本文方法可以生成較高質(zhì)量的人臉表情圖像。