郭文強(qiáng), 馮春石, 趙 艷, 侯勇嚴(yán), 徐 成, 李 惟
(1.陜西科技大學(xué) 電子信息與人工智能學(xué)院, 陜西 西安 710021; 2.陜西科技大學(xué) 電氣與控制工程學(xué)院, 陜西 西安 710021; 3.長(zhǎng)安大學(xué) 電子與控制工程學(xué)院, 陜西 西安 710054)
面部表情識(shí)別是一個(gè)綜合了人工智能、神經(jīng)學(xué)、計(jì)算機(jī)等的交叉學(xué)科,在心理分析、臨床醫(yī)學(xué)、車(chē)輛監(jiān)控以及商業(yè)領(lǐng)域都有很廣泛的應(yīng)用[1,2].隨著面部表情識(shí)別研究的不斷深入,Ekman和Friesen建立了面部動(dòng)作編碼系統(tǒng)(Facial Action Coding System,FACS),其將面部肌肉運(yùn)動(dòng)分為44個(gè)獨(dú)立的動(dòng)作單元(Action Unit,AU),并描述了這些動(dòng)作單元與人臉表情的關(guān)系[3,4].
文獻(xiàn)[5]提出了一種基于支持向量機(jī)(Support Vector Machines,SVM)算法的人臉表情識(shí)別模型,對(duì)不同角度下的人臉表情圖像進(jìn)行識(shí)別,但SVM通常用來(lái)解決二值分類(lèi)問(wèn)題,在多值分類(lèi)問(wèn)題上具有一定的局限性.文獻(xiàn)[6]基于深度學(xué)習(xí)機(jī)制,將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)應(yīng)用到人臉表情識(shí)別領(lǐng)域中,但是CNN模型復(fù)雜、可解釋性差、訓(xùn)練時(shí)依賴(lài)于大量的樣本數(shù)據(jù).文獻(xiàn)[7]提出了一種基于A(yíng)daboost的人臉表情分類(lèi)器,通過(guò)增強(qiáng)基于Harr特征,將多個(gè)弱分類(lèi)器組合成強(qiáng)分類(lèi)器對(duì)人臉表情進(jìn)行識(shí)別,但該方法計(jì)算過(guò)程復(fù)雜,分類(lèi)效果不太理想.由此可知,上述幾種算法的模型都比較復(fù)雜,并且在模型訓(xùn)練和參數(shù)學(xué)習(xí)中均需要大量的樣本數(shù)據(jù),當(dāng)獲取到的樣本數(shù)據(jù)較少時(shí),容易存在過(guò)擬合問(wèn)題,使得識(shí)別準(zhǔn)確度降低.
本文提出了一種基于貝葉斯網(wǎng)和遷移學(xué)習(xí)的人臉表情識(shí)別方法.首先對(duì)獲取的圖像提取人臉的幾何特征和HOG特征,并進(jìn)行特征融合和歸一化處理構(gòu)成AU特征樣本數(shù)據(jù)集,然后建立人臉表情識(shí)別BN結(jié)構(gòu);其次求得源域BN參數(shù)和目標(biāo)域BN初始參數(shù),借助遷移機(jī)制將源域BN參數(shù)引入目標(biāo)域,此外設(shè)計(jì)的平衡因子可以在遷移過(guò)程中根據(jù)目標(biāo)域的樣本數(shù)據(jù)量自適應(yīng)地進(jìn)行參數(shù)學(xué)習(xí);最后結(jié)合人臉表情識(shí)別BN模型和聯(lián)合樹(shù)推理算法更準(zhǔn)確地實(shí)現(xiàn)人臉表情識(shí)別.
貝葉斯網(wǎng)絡(luò)(Bayesian Network,BN)[8]由有向無(wú)環(huán)圖和條件概率表組成,且模型結(jié)構(gòu)清晰、可解釋性強(qiáng),在表示和推理不確定性知識(shí)方面具有一定優(yōu)勢(shì).其中BN參數(shù)學(xué)習(xí)是在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)已建立好的基礎(chǔ)上,依照一定的準(zhǔn)則,利用數(shù)據(jù)樣本集來(lái)學(xué)習(xí)、計(jì)算BN的參數(shù)分布.當(dāng)數(shù)據(jù)比較充足時(shí),常選用最大似然估計(jì)(Maximum Likelihood Estimation,MLE)進(jìn)行模型參數(shù)學(xué)習(xí),如式(1)所示[8]:
(1)
式(1)中:Di表示樣本數(shù)據(jù)集,n為數(shù)據(jù)集個(gè)數(shù),θ表示貝葉斯網(wǎng)絡(luò)的參數(shù).在實(shí)際中,可以用式(2)估計(jì)每個(gè)BN節(jié)點(diǎn)的參數(shù):
(2)
MLE在數(shù)據(jù)充足時(shí)可以獲得較好的參數(shù)學(xué)習(xí)精度,而當(dāng)訓(xùn)練樣本有限時(shí),尤其當(dāng)觀(guān)察值為0時(shí)無(wú)法進(jìn)行計(jì)算.為了解決這個(gè)問(wèn)題,最大后驗(yàn)概率(Maximum a Posteriori,MAP)算法對(duì)MLE做了修正如式(3)所示[9],其中αijk為超參數(shù):
(3)
BN推理[10]是指利用已有BN模型,在已知證據(jù)節(jié)點(diǎn)集合的取值狀態(tài)下,計(jì)算非證據(jù)節(jié)點(diǎn)的后驗(yàn)概率分布.本文采用計(jì)算速度快、應(yīng)用范圍最廣的聯(lián)合樹(shù)推理算法進(jìn)行推理,其表達(dá)如式(4)所示:
(4)
遷移學(xué)習(xí)是將某個(gè)領(lǐng)域中學(xué)習(xí)的知識(shí)應(yīng)用到不同但相關(guān)的領(lǐng)域中,當(dāng)目標(biāo)域樣本稀缺或缺失時(shí),通過(guò)源域網(wǎng)絡(luò)模型的知識(shí)來(lái)構(gòu)建目標(biāo)域網(wǎng)絡(luò)模型[9].本文將目標(biāo)網(wǎng)絡(luò)表示為Δt={Dt,Gt,Vt},其中Dt表示目標(biāo)網(wǎng)絡(luò)的數(shù)據(jù),Gt表示目標(biāo)域網(wǎng)絡(luò)的結(jié)構(gòu),Vt表示目標(biāo)網(wǎng)絡(luò)的維度;同理,將源網(wǎng)絡(luò)表示為Δs={Ds,Gs,Vs}.
(5)
(6)
式(6)中:ωt和ωs對(duì)應(yīng)目標(biāo)網(wǎng)絡(luò)參數(shù)和源網(wǎng)絡(luò)參數(shù)對(duì)應(yīng)的權(quán)重.
特征點(diǎn)定位是獲取人臉幾何特征的關(guān)鍵.本文采用約束局部模型(Constrained Local Models,CLM)算法構(gòu)建人臉幾何特征模型,其通過(guò)對(duì)獲取的形狀模型和Patch模型進(jìn)行擬合優(yōu)化得到人臉表情圖像的68個(gè)特征點(diǎn).本文根據(jù)CLM算法實(shí)現(xiàn)人臉不同表情及不同姿態(tài)下的特征點(diǎn)定位結(jié)果如圖1所示.可以看出,CLM算法能夠準(zhǔn)確地實(shí)現(xiàn)人臉特征點(diǎn)定位,具備較強(qiáng)的魯棒性.
圖1 人臉特征點(diǎn)定位
本文采用方向梯度直方圖(Histogram of Oriented Gradient,HOG)獲取人臉表情HOG特征,其通過(guò)圖像局部區(qū)域中的許多定向梯度直方圖形成特征,具備較強(qiáng)的魯棒性.基于HOG算法提取的HOG特征結(jié)果如圖2所示.
圖2 HOG特征提取結(jié)果
Ekman和Friesen提出的面部動(dòng)作編碼系統(tǒng)表明了六種基本表情(快樂(lè)、驚訝、厭惡、憤怒、害怕、悲傷)可以由不同的動(dòng)作單元(Action Unit,AU)表征得到,如表1所示.
表1 面部表情與AU單元組合關(guān)系
貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)的確定是貝葉斯網(wǎng)絡(luò)建模與推理的關(guān)鍵步驟之一.本文通過(guò)對(duì)面部表情與AU關(guān)系的分析,確定出如圖3所示的人臉表情識(shí)別BN結(jié)構(gòu).
圖3 人臉表情識(shí)別BN結(jié)構(gòu)
在圖3中,Expression節(jié)點(diǎn)代表面部表情的狀態(tài),包括六種基本表情和中性表情共7種狀態(tài);AU節(jié)點(diǎn)代表由表情觸發(fā)的動(dòng)作單元,包括“發(fā)生”和“不發(fā)生”兩種狀態(tài)(1表示當(dāng)前AU發(fā)生,0表示AU不發(fā)生);例如,當(dāng)“Expression=快樂(lè)”時(shí),AU6=1,AU12=1,其他AU單元為0;當(dāng)“Expression=中性”時(shí),所有AU單元均為0.
本文設(shè)計(jì)的基于貝葉斯網(wǎng)和遷移學(xué)習(xí)的人臉表情識(shí)別過(guò)程如圖4所示.其通過(guò)引入遷移學(xué)習(xí)機(jī)制,充分利用了源域中獲取的數(shù)據(jù)和信息并遷移到目標(biāo)域模型中進(jìn)行學(xué)習(xí),建立最終的人臉表情識(shí)別模型,利用BN推理算法進(jìn)行表情識(shí)別.
圖4 人臉表情識(shí)別過(guò)程示意圖
此外,本文提出了一種基于貝葉斯網(wǎng)和遷移學(xué)習(xí)的人臉表情識(shí)別算法,具體步驟如下:
步驟1設(shè)置面部表情屬性閾值Ψ.本文選取Ψ=0.7.
步驟2對(duì)CLM算法獲取的幾何特征和HOG算法獲取的HOG特征進(jìn)行特征融合和歸一化處理,并利用SVM分類(lèi)得到AU特征樣本,(包含源域的AU樣本集Ds和目標(biāo)域的AU樣本集DT).
步驟3判斷是否建立面部表情識(shí)別BN模型.若是,則跳轉(zhuǎn)到步驟8;否則執(zhí)行步驟4至步驟7進(jìn)行建模.
步驟4通過(guò)分析面部面部表情與各AU之間的關(guān)系,建立人臉表情識(shí)別BN結(jié)構(gòu),如圖3所示.
(7)
(8)
(9)
(10)
步驟8對(duì)獲取的待識(shí)別樣本利用聯(lián)合樹(shù)推理算法進(jìn)行人臉表情識(shí)別,得到面部表情屬性概率Ψ′.
步驟9對(duì)人臉表情進(jìn)行判定.若面部表情屬性概率Ψ′大于等于閾值Ψ,輸出表情屬性,即人臉表情識(shí)別結(jié)果.否則返回步驟2,重新獲取新的特征樣本.
本文實(shí)驗(yàn)仿真平臺(tái)為Windows10系統(tǒng),處理器為AMD CPU 1.8 GHz,編程工具為MATLAB R2016b.使用的數(shù)據(jù)集為Extended Cohn-Kanade(CK+)表情數(shù)據(jù)庫(kù)[12]、日本女性面部表情數(shù)據(jù)庫(kù)(Japanese Female Facial Expression,JAFFE)[13]和FER2013[14]數(shù)據(jù)庫(kù).
(1)CK+數(shù)據(jù)庫(kù)
CK+數(shù)據(jù)庫(kù)[12]是目前應(yīng)用較為廣泛的面部表情數(shù)據(jù)集,其是在Cohn- Kanda數(shù)據(jù)庫(kù)基礎(chǔ)上進(jìn)行擴(kuò)展.本文從CK+數(shù)據(jù)庫(kù)中的7種表情各選取300張圖像.在下文的實(shí)驗(yàn)一中對(duì)每種表情選取100組作為目標(biāo)數(shù)據(jù)進(jìn)行訓(xùn)練,從剩余的200組中隨機(jī)選取100組進(jìn)行測(cè)試;實(shí)驗(yàn)二選取200組作為目標(biāo)數(shù)據(jù)進(jìn)行模型訓(xùn)練,用剩余的100組進(jìn)行測(cè)試.
(2)JAFFE數(shù)據(jù)庫(kù)
JAFFE數(shù)據(jù)庫(kù)[13]是研究亞洲人表情的重要測(cè)試庫(kù),但其規(guī)模較小,僅由10名日本女性模特在實(shí)驗(yàn)環(huán)境下按照指示做出七種表情,每種表情3~4張,共有 213張圖像.本文對(duì)每種表情選取15組樣本數(shù)據(jù)進(jìn)行訓(xùn)練,對(duì)剩余的樣本數(shù)據(jù)進(jìn)行測(cè)試.
(3)FER2013數(shù)據(jù)庫(kù)
FER2013面部表情數(shù)據(jù)庫(kù)[14]是由研究人員從不同場(chǎng)景下裁剪所得,共35 887張圖像,每張圖像是由固定大小為48×48的灰度圖像組成,包含六種基本表情和中性表情.本文對(duì)每種表情隨機(jī)選取300張圖像作為源域樣本數(shù)據(jù).
根據(jù)小數(shù)據(jù)集公式[9],在人臉表情識(shí)別BN結(jié)構(gòu)的基礎(chǔ)上,參數(shù)學(xué)習(xí)所需的最小樣本量C的計(jì)算如式(11)所示:
(11)
式(11)中:網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)量N=13,節(jié)點(diǎn)最大狀態(tài)數(shù)k=7,最大父節(jié)點(diǎn)數(shù)d=1,設(shè)變量概率分布偏度系數(shù)λ=0.791,KL誤差ε=0.1,置信度δ=0.05.因此,將數(shù)據(jù)量小于165的數(shù)據(jù)集稱(chēng)為小數(shù)據(jù)集.
5.2.1 CK+數(shù)據(jù)庫(kù)表情識(shí)別結(jié)果
(1)實(shí)驗(yàn)一:100組CK+目標(biāo)數(shù)據(jù)訓(xùn)練
本文選取CK+數(shù)據(jù)庫(kù)作為目標(biāo)域數(shù)據(jù),對(duì)每種表情選取100組AU樣本數(shù)據(jù)用于參數(shù)模型訓(xùn)練,滿(mǎn)足小數(shù)據(jù)集條件;并從FER2013數(shù)據(jù)庫(kù)中,對(duì)每種表情選取300張作為實(shí)驗(yàn)的源域數(shù)據(jù)用于參數(shù)模型遷移;再?gòu)腃K+數(shù)據(jù)庫(kù)中選取剩余的100組樣本數(shù)據(jù)利用聯(lián)合樹(shù)推理算法實(shí)現(xiàn)面部表情識(shí)別,結(jié)果如表2所示.
表2 小數(shù)據(jù)集下CK+數(shù)據(jù)庫(kù)表情識(shí)別結(jié)果
由表2可以看出,通過(guò)遷移學(xué)習(xí)的面部表情識(shí)別方法在七種表情下的識(shí)別率在80%~100%,平均識(shí)別率達(dá)到了93.57%,表明在小數(shù)據(jù)集條件下,本文所提的方法可以取得較好的人臉表情識(shí)別效果.
(2)實(shí)驗(yàn)二:200組CK+目標(biāo)數(shù)據(jù)訓(xùn)練
為了驗(yàn)證本文所提方法在較為充足數(shù)據(jù)條件下仍能取得不錯(cuò)的面部表情識(shí)別效果,對(duì)CK+數(shù)據(jù)庫(kù)的每種表情選取200組樣本數(shù)據(jù)用于參數(shù)模型訓(xùn)練;并從FER2013數(shù)據(jù)庫(kù)中,對(duì)每種表情選取300張作為實(shí)驗(yàn)的源域數(shù)據(jù)用于參數(shù)模型遷移;再?gòu)腃K+數(shù)據(jù)庫(kù)中選取剩余的100組樣本數(shù)據(jù)利用聯(lián)合樹(shù)推理算法實(shí)現(xiàn)面部表情識(shí)別.實(shí)驗(yàn)結(jié)果如圖5所示.
由圖5可以看出,七種表情的識(shí)別率均在85%~100%,平均識(shí)別率為95.57%.進(jìn)一步說(shuō)明本文方法設(shè)計(jì)的平衡因子可以根據(jù)目標(biāo)樣本量的變化,使其不僅在小數(shù)據(jù)集下取得較好的識(shí)別結(jié)果,而且在目標(biāo)樣本數(shù)據(jù)充足時(shí)依然能取得更好的人臉表情識(shí)別結(jié)果.
圖5 目標(biāo)樣本充足條件下的表情識(shí)別結(jié)果
5.2.2 JAFFE數(shù)據(jù)庫(kù)表情識(shí)別結(jié)果
本文對(duì)JAFFE數(shù)據(jù)庫(kù)中的每種表情選取15組樣本數(shù)據(jù)進(jìn)行訓(xùn)練,滿(mǎn)足小數(shù)據(jù)集條件;再?gòu)腇ER2013數(shù)據(jù)庫(kù)中,對(duì)每種表情選取300張作為實(shí)驗(yàn)的源域數(shù)據(jù)用于參數(shù)模型遷移,并對(duì)剩余的JAFFE樣本數(shù)據(jù)利用聯(lián)合樹(shù)推理算法進(jìn)行表情識(shí)別,實(shí)驗(yàn)結(jié)果如表3所示.
表3 小數(shù)據(jù)集JAFFE數(shù)據(jù)庫(kù)表情識(shí)別結(jié)果
由表3可以看出,通過(guò)JAFFE數(shù)據(jù)庫(kù)對(duì)本文所提的基于貝葉斯網(wǎng)和遷移學(xué)習(xí)的方法進(jìn)行驗(yàn)證,七種表情的識(shí)別率在75.59%~100%,平均識(shí)別率達(dá)到了92.94%,進(jìn)一步證明本文所提的方法適用于不同數(shù)據(jù)庫(kù)下的人臉表情識(shí)別,具有良好的泛化性,且識(shí)別準(zhǔn)確度較高.
5.2.3 不同識(shí)別方法的實(shí)驗(yàn)結(jié)果對(duì)比
為了驗(yàn)證本文方法的有效性,在不同數(shù)據(jù)庫(kù)上與經(jīng)典的SVM[5]方法、基于深度學(xué)習(xí)的CNN[6]方法以及Adaboost[7]識(shí)別方法進(jìn)行實(shí)驗(yàn)對(duì)比,結(jié)果如表4所示.
表4 不同識(shí)別方法的實(shí)驗(yàn)結(jié)果
由表4可以看出,在CK+數(shù)據(jù)庫(kù)上本文方法的平均識(shí)別率是最高的,相較于CNN方法和Adaboost方法,表情識(shí)別精度分別提高了13.62%和4.27%.在JAFFE數(shù)據(jù)庫(kù)上本文方法的平均識(shí)別率為92.94%,相較于SVM方法、CNN方法和Adaboost方法,表情識(shí)別精度分別提高了3.66%、14.69%和1.7%.證明了本文所提的方法利用遷移機(jī)制將源域的表情識(shí)別模型參數(shù)映入到目標(biāo)域模型進(jìn)行學(xué)習(xí),較好的解決了人臉表情識(shí)別過(guò)程中獲得的特征樣本較少的建模難題,并取得較好的人臉表情識(shí)別結(jié)果.
為進(jìn)一步驗(yàn)證本文提出的基于貝葉斯網(wǎng)和遷移學(xué)習(xí)模型的性能,采用CK+數(shù)據(jù)庫(kù)上的100組樣本數(shù)據(jù)進(jìn)行對(duì)比實(shí)驗(yàn).利用機(jī)器學(xué)習(xí)中常用的分類(lèi)模型評(píng)價(jià)指標(biāo)接收工作特性曲線(xiàn)(Receiver Operating Characteristic,ROC)和曲線(xiàn)下面積(Area Under the Curve,AUC)對(duì)分類(lèi)模型的準(zhǔn)確性進(jìn)行衡量[15].一般ROC曲線(xiàn)越靠近左上角,即AUC值越大時(shí),說(shuō)明該分類(lèi)模型的性能更好.本次實(shí)驗(yàn)采用ROC曲線(xiàn)和AUC值對(duì)SVM方法、CNN方法和本文方法的分類(lèi)模型描述的結(jié)果如圖6所示.
圖6 不同方法的ROC曲線(xiàn)
由圖6可知,SVM方法、CNN方法和本文方法在人臉表情識(shí)別分類(lèi)中,AUC值均大于0.5,說(shuō)明這三種分類(lèi)器模型均具備基本的識(shí)別分類(lèi)能力.其中本文方法的AUC值明顯大于SVM方法和CNN方法,進(jìn)一步證明本文提出的基于貝葉斯網(wǎng)和遷移學(xué)習(xí)的人臉表情識(shí)別方法在小數(shù)據(jù)集條件下有著更好人臉表情識(shí)別效果.
針對(duì)人臉表情識(shí)別過(guò)程中獲得的特征樣本數(shù)據(jù)較少的建模問(wèn)題,提出了一種基于貝葉斯網(wǎng)和遷移學(xué)習(xí)的人臉表情識(shí)別方法.其通過(guò)引入遷移學(xué)習(xí)機(jī)制,充分利用了源域中獲取的數(shù)據(jù)和信息并遷移到目標(biāo)域模型中進(jìn)行學(xué)習(xí),有效提高了小數(shù)據(jù)集條件下BN參數(shù)的學(xué)習(xí)精度.此外,設(shè)計(jì)的平衡因子可以根據(jù)目標(biāo)域樣本數(shù)據(jù)量動(dòng)態(tài)調(diào)整自適應(yīng)地進(jìn)行參數(shù)學(xué)習(xí).實(shí)驗(yàn)結(jié)果表明:與其他方法相比,本文所提的方法有效解決了目標(biāo)域人臉表情識(shí)別中訓(xùn)練樣本不足的建模難題,并取得了較好的人臉表情識(shí)別結(jié)果,為人臉表情識(shí)別的研究提供了一種新方法.
本文主要針對(duì)視頻中的圖像幀進(jìn)行人臉表情識(shí)別,在后續(xù)的研究中,將進(jìn)一步考慮視頻中每一幀圖像之間的關(guān)聯(lián)性問(wèn)題,結(jié)合動(dòng)態(tài)貝葉斯網(wǎng)絡(luò),引入時(shí)間序列增強(qiáng)每一幀圖像前后的關(guān)聯(lián)性,提高人臉表情識(shí)別的精度.