周義飏
(北京師范大學(xué) 人工智能學(xué)院,北京 100088)
表情識別,是基于人的臉部特征信息進行身份識別的一種生物識別技術(shù),在治安、刑偵、醫(yī)療、教育、零售等領(lǐng)域發(fā)揮著越來越重要的作用。自二十世紀(jì)七十年代以來,人們在以面部動作編碼系統(tǒng)為基礎(chǔ)的表情識別道路上,向高精度、高速率、大數(shù)據(jù)的方向不斷前進。
人臉表情識別從早期用于治安的道路監(jiān)控、機場安檢所用的基于人臉識別的身份確定,到用于審訊、心理治療的表情識別與分析,已經(jīng)成為了社會發(fā)展的一個重要課題。
從上世紀(jì)六十年代開始,人們已經(jīng)在探索更精確、更系統(tǒng)的表情識別方法,其中最具代表性的為Paul Ekman提出的面部編碼系統(tǒng)(Facial Action Coding System, FACS)[1]。FACS的出現(xiàn),使所有可能的面部表情都能被描述出來,并進行組合。
二十世紀(jì)七十年代,Paul Ekman與合作者通過對表情的觀察和生物反饋實驗,描述出了不同的臉部肌肉動作與不同表情的對應(yīng)關(guān)系。FACS將人臉分成了若干個動作單元(Action Units, AU),這些動作單元依據(jù)解剖學(xué)特點劃分,相互獨立但彼此間又具有聯(lián)系。面部動作編碼主要分為3大類:主要動作單元編碼(見表1)、頭部動作單元編碼、眼睛動作單元編碼。本論文主要研究的是動作單元編碼。
表1 主要動作單元編碼
任何表情都能反映成若干AU的組合[2](見表2)。例如表示“快樂”情緒的表情通常表現(xiàn)為臉頰上抬和嘴角上揚,即AU6與AU12的組合。
表2 7種基本情緒與AU對應(yīng)關(guān)系
目前,廣泛使用的幾種深度人臉檢測算法及其效率和性能的最低要求見表3。
表3 幾種深度人臉檢測算法及其效率和性能的最低要求
主動外觀模型(Active Appearance Model, AAM)可從整體人臉外觀和整體形狀中優(yōu)化所需的參數(shù)[3]。
在判別模型中[4],樹木結(jié)構(gòu)模型(Mixtures of Trees, MoT)和判別式反應(yīng)圖擬合(Discriminative Response Map Fitting, DRMF),通過每個人臉坐標(biāo)周圍的局部外觀信息來表示人臉[5]。
人臉歸一化主要有兩種常用的方法:照度歸一化和姿態(tài)歸一化。
照度歸一化即通過操作,使一組人臉圖像的照度和對比度相同。常用的照度歸一化算法包括基于各向同性擴散(Isotropic Diffusion, IS)的歸一化、基于離散余弦變換(Discrete Cosine Transform,DCT)的歸一化和高斯差(Difference of GAUsian , DoG)。
姿態(tài)歸一化即人臉正面化。文獻[6]提出了一種方法,即在對面部關(guān)鍵點定位后,生成通用的3D紋理參考模型,這些3D紋理參考模型適用于所有人臉圖片,能有效估計可見的人臉成分。通過將每個人臉圖像,反投影到參考坐標(biāo)系合成初始的正面人臉。值得一提的是,生成式對抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN)在人臉圖像處理中的運用次數(shù)正飛速增長。GAN常用于生成大量的人臉圖片作為訓(xùn)練集與數(shù)據(jù)集,一定程度上避免了以往因?qū)ふ易銐虻娜四槇D片而遇到的各種困難。
3.3.1 基于外觀特征的人臉AU特征提取
基于外觀特征的人臉AU特征提取,通常會用到Gabor小波,其通過將面部圖像與一組特定的具有不同方向和比例的Gabor濾波器進行卷積,來進行Gabor表示,從而提供面部圖像的多尺度特征,反映像素之間的局部相鄰關(guān)系。
文獻[7]中通過在面部局部區(qū)域分別應(yīng)用Haar小波分析,設(shè)計了自動AU檢測系統(tǒng),并使用AdaBoost來選擇特征子集。與Gabor方法相比,Haar和AdaBoost方法有著與Gabor方法相似的精度,但速度卻提高了若干個數(shù)量級。
3.3.2 基于幾何特征的人臉AU特征提取
基于幾何的特征,描述了面部幾何信息并基于幾何形狀將面部動作分類。幾何信息可以是一組關(guān)鍵點連接起來的面部網(wǎng)格。一些研究中,利用面部分量的變形,表情和中性面部圖像之間的基準(zhǔn)點的位置或差異[8-9]來進行識別。但并非所有的AU都可以僅僅通過幾何表示來識別,例如AU6的特征包括眼睛外角周圍的皮膚起皺和臉頰隆起,這很難通過變形來識別。同時,幾何特征也無法檢測出細(xì)微的面部特征,例如皺紋或紋理變化[10]。
3.3.3 基于混合特征的人臉AU特征提取
一些研究整合了基于外觀特征與基于幾何特征兩種方法[11-12],并且結(jié)合了整體表示與局部表示、小波分析表示與直方圖表示、低級表示與高級表示。文獻[13]通過引入拓?fù)浣Y(jié)構(gòu)和關(guān)系約束提出多條件潛在變量模型。該模型將特征和模型級別的AU,依賴項編碼用于AU識別的學(xué)習(xí)中,對于9個AU進行操作,其最佳識別精度達到92.7%。
本方法對1 268張人臉圖片進行識別與檢測,在下巴、雙眉、雙眼、雙唇、鼻梁、鼻尖9個部位返回68個關(guān)鍵點(不同部位的某些關(guān)鍵點可能重合)。圖1為未處理的人臉圖片,經(jīng)過處理后可得到各關(guān)鍵點的坐標(biāo)如圖2。
圖1 8張未經(jīng)處理的人臉圖片
圖2 含關(guān)鍵點的人臉圖片
這些關(guān)鍵點與人臉各個部位的位置相對應(yīng),將在接下來的仿射變換中起到定位作用。本步驟運用仿射變換實現(xiàn)人臉對齊,對齊后的人臉圖片如圖3所示。
圖3 對齊后的人臉圖片
本文進行仿射變換的具體思路為:分別計算左、右眼中心坐標(biāo)、計算左右眼中心坐標(biāo)連線與水平方向的夾角、計算左右兩眼整體中心坐標(biāo)、以左右兩眼整體中心坐標(biāo)為基點,將圖片逆時針旋轉(zhuǎn)相應(yīng)角度,使左右眼中心坐標(biāo)連線與水平方向平行,確保人臉圖片為視覺上的正向。
實際上,對于執(zhí)行過上一步驟的圖片,CNN可以較為精確地選取出圖片中的人臉部分。但為了減少CNN的執(zhí)行時間,需盡可能減少圖片中的無效部分。根據(jù)landmark裁剪人臉到固定尺寸,水平方向以最靠左和最靠右的landmark中點為裁剪后圖片的中心點,垂直方向上分為3部分:中部(雙眼中心到雙唇中心的像素距離)、底部和頂部(雙眼中心到雙唇中心的距離)。裁剪后的圖片為邊長為138像素的正方形,如圖4所示。
圖4 剪裁后的人臉圖片
本文使用基于68張人臉圖片關(guān)鍵點的“圖像擴充”,即對每個關(guān)鍵點取子區(qū)域,使每個子區(qū)域能包含至少2/3的人臉區(qū)域,從而將數(shù)據(jù)量擴大至69倍,原本的1 268張人臉圖片擴充為87 492張圖片,但依然只反映1 268張人臉,如圖5所示。子區(qū)域均為邊長為92像素的正方形。
圖5 數(shù)據(jù)增強示例
為了方便表示,建立2個平面直角坐標(biāo)系記為:坐標(biāo)系A(chǔ)與坐標(biāo)系B。分別以經(jīng)上一步驟剪裁后的圖片左上角頂點和每個關(guān)鍵點子區(qū)域左上角頂點為原點(如圖6)。以圖5為例,各個關(guān)鍵點及其對應(yīng)的坐標(biāo)見表4。
圖6 兩個坐標(biāo)系
表4 各個關(guān)鍵點及其對應(yīng)的坐標(biāo)
CNN是一類可進行卷積計算并且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks, FNN),是深度學(xué)習(xí)的代表算法之一。CNN主要由輸入層、池化層、激活函數(shù)、卷積層、全連接層5個部分組成。
深度卷積網(wǎng)絡(luò)將小的神經(jīng)網(wǎng)絡(luò)串聯(lián)起來,從而構(gòu)成深度神經(jīng)網(wǎng)絡(luò)。以三維圖進行卷積處理為例,如圖7所示,同一卷積核對不同輸入層進行卷積操作,得到一組輸出,多個卷積核則得到多個輸出。
圖7 CNN的卷積過程
VGG網(wǎng)絡(luò)是Oxford Visual Geometry Group于2014年提出的一種CNN模型,其采用連續(xù)的小卷積核代替較大卷積核,以獲取更大的網(wǎng)絡(luò)深度。例如,使用2個3*3卷積核代替5*5卷積核(圖7)。這種方法使得在確保相同感知野的條件下,VGG網(wǎng)絡(luò)具有比一般的CNN更大的網(wǎng)絡(luò)深度,提升了神經(jīng)網(wǎng)絡(luò)特征提取及分類的效果。VGG網(wǎng)絡(luò)與其他幾種常用的CNN模型對比見表5。
表5 幾種常用的CNN模型
本方法使用的VGG-19網(wǎng)絡(luò)包含了19個隱藏層、16個卷積層和3個全連接層。該網(wǎng)絡(luò)模型使用的卷積核均為3*3卷積,池化層則采用2*2最大值池化(圖8)。
圖8 VGG-19網(wǎng)絡(luò)結(jié)構(gòu)
以往的研究中通常使用Soft-Max作為激活函數(shù),損失函數(shù)則使用分類交叉熵,但這種方法僅適用于單標(biāo)簽分類。而本文方法不僅實驗AU分類,更要對同一AU的不同強度進行識別和分類,因此需要進行多標(biāo)簽多分類。本文方法需要分類的AU為12個,每個AU分為0~5個強度等級,總共為60種分類項。因此,本文采用二分類疊加使用的方式,即先對不同AU種類進行二分類,再對單個AU所對應(yīng)的不同強度進行二分類,最后將每種AU與對應(yīng)強度結(jié)合形成對照表。采用Sigmoid函數(shù)作為激活函數(shù),損失函數(shù)使用二進制交叉熵函數(shù)。
在后續(xù)的實驗中,還將向VGG19網(wǎng)絡(luò)中加入一個加權(quán)處理層。
5.3.1 數(shù)據(jù)來源
DISFA是一個無姿勢的面部表情數(shù)據(jù)庫。該數(shù)據(jù)庫包含具有不同種族的27位成人受試者(12位女性和15位男性)的立體聲視頻。使用PtGrey立體成像系統(tǒng)以高分辨率(1 024×768)采集圖像,由FACS專家手動對所有視頻幀的AU(0~5)強度進行評分。
5.3.2 AU分類與強度計算
87 492張圖片分為兩個數(shù)據(jù)集,其中86 224個子區(qū)域圖片為訓(xùn)練集,1 268張人臉圖片為測試集,輸入至VGG-19網(wǎng)絡(luò)。
圖9與圖10分別展現(xiàn)了使用VGG-19網(wǎng)絡(luò)訓(xùn)練30個Epoch和60個Epoch的效果。
圖9 訓(xùn)練30個Epoch的效果
圖10 訓(xùn)練60個Epoch的效果
可以看出,訓(xùn)練至第30個Epoch時測試集的準(zhǔn)確率幾乎不再發(fā)生改變,訓(xùn)練至第60個Epoch時測試集的準(zhǔn)確率為54.52%。
結(jié)果呈現(xiàn)為每個人臉圖片12種AU的強度(0~5)。以圖11為例,其12種AU的強度呈現(xiàn)在右側(cè)表中所示。
圖11 人臉圖片及其含有的AU強度
總體來看,該方法能基本滿足人臉AU分類與強度計算,實現(xiàn)人臉表情分類。因此,為提高精度,將引入一個加權(quán)處理層。
為了提高VGG網(wǎng)絡(luò)進行人臉表情分類時的精度,本文將通過在VGG-19網(wǎng)絡(luò)中加入加權(quán)處理層,實現(xiàn)加權(quán)處理下的人臉表情分類。
加權(quán)處理層在VGG網(wǎng)絡(luò)中的位置如圖12所示。在這一層中,經(jīng)過4組卷積層處理后的人臉圖片會根據(jù)含有的AU,被劃為若干個子區(qū)域,子區(qū)域的劃分是基于AU區(qū)域的中心。AU中心為完成每個AU所需的面部器官對應(yīng)關(guān)鍵點構(gòu)成的矩形中心,而以這些中心為中心的邊長6像素的正方形區(qū)域,為該AU中心的子區(qū)域。
圖12 加權(quán)處理層在VGG網(wǎng)絡(luò)中的位置
在劃分AU子區(qū)域后,對于子區(qū)域內(nèi)的每個1*1像素塊,計算其到AU中心的曼哈頓距離。
設(shè)A為權(quán)重,d為該位置到AU中心的曼哈頓距離。由于經(jīng)過第三個池化層和第四組卷積層處理后的圖片大小為28*28,子區(qū)域內(nèi)每個位置的權(quán)重以該位置距離的0.1%進行衰減,即距離每增加1像素,權(quán)重減少0.028。A與d的關(guān)系如式(1)。
A=1-0.028d
(1)
引入加權(quán)處理層后,訓(xùn)練30個Epoch和60個Epoch的效果分別如圖13和圖14所示。
圖13 訓(xùn)練30個Epoch的效果
圖14 訓(xùn)練60個Epoch的效果
結(jié)果顯示,直接運用VGG-19網(wǎng)絡(luò)進行表情分類的測試集準(zhǔn)確率在訓(xùn)練60個Epoch時僅為54.52%,而引入加權(quán)處理層后的準(zhǔn)確率達到了83.76%。即引入加權(quán)處理層能顯著提高VGG網(wǎng)絡(luò)進行表情分類的準(zhǔn)確率。
本文采用了兩種提高準(zhǔn)確率的方法:一是在數(shù)據(jù)預(yù)處理階段對圖片進行二次剪裁,實現(xiàn)數(shù)據(jù)增強,在運用VGG網(wǎng)絡(luò)進行訓(xùn)練時使用疊加后的數(shù)據(jù)集,提高了準(zhǔn)確率,同時避免了以往研究中為獲取龐大數(shù)據(jù)集而遇到的種種困難;二是在VGG-19網(wǎng)絡(luò)的第四組卷積層和第五組卷積層之前加入一個加權(quán)處理層,從而提高準(zhǔn)確率,最終使測試集準(zhǔn)確率相比未引入加權(quán)處理層時提高了53.63%。
在采用了提高準(zhǔn)確率的新方法的同時,也存在一些有待改進之處,主要體現(xiàn)在人臉圖片樣本較為單一、缺少其它卷積神經(jīng)網(wǎng)絡(luò)模型的對比、加權(quán)處理層作用較為單一等問題,有待進一步研究解決。