黃躍鵬,閆亞楠,耿仕勛,袁春陽,陳江峰
(河北師范大學信息技術學院,石家莊 050024)
作為人工智能領域的研究熱點,人臉表情識別無論在在理論上還是在技術上,都日益受到更為廣泛的關注和發展,但一般表情識別只對表情類型進行識別,對表情的真實與否并不進行判斷,例如無論測試者對表情識別系統做出的是出于測試目的假笑還是自然的微笑,都會被判斷為一類笑,即分析的只是測試者展現出來的表情,這樣得到的結果就對需要鑒別表情真偽的情況,例如在國家安全、警方審訊或者臨床診斷領域中造成障礙[1]。因此,真實表情識別的研究,不僅是實際生產生活中的需要,也是表情識別發展過程中的重要分支。
真實表情識別需要表情數據庫、識別算法、心理學理論以及相關硬件支撐。數據庫分為一般表情數據庫和微表情數據庫,其中,一般表情數據庫例如有JAFFE[2]、CK+[3]、YALE[4]等 ,微 表 情 數 據 庫 例 如 有SMIC[5]、CASME II 等。國際上,微表情識別算法按類別可分為基于3D 紋理、基于頻域和基于幾何特征等識別算法。
本文在前人工作的基礎上,首先把一般表情和微表情進行定義整合,進而概括了真實表情的含義,之后設計了四維表情模型,提出以表情變化速率來衡量表情運動,最后總結并對未來的工作進行展望。
真實表情是自然觸發且未經干預的一類表情的合稱,包含自然觸發的一般表情和微表情。其中微表情是出于一定目的,而壓抑原本完整的自然表情表達而產生的,很多情況下和一般表情所代表的含義相同。例如罪犯在被審問聽到敏感詞匯時,可能原本會表達出一段完整的吃驚或害怕的表情,但出于偽裝目的,原本要進行的表情剛開始不久,機體便進行了對該表情的干預行為,終止或以其他表情代替,那么,從表情開始到被干預為止的這一段時間產生的表情,就是微表情。本文把自然觸發的一般表情和微表情統歸于真實表情,區別于受干預而產生的虛假表情,例如英國《實驗心理學季刊》上的一項研究表明,真笑、假笑具有一定的差別,真的笑容只會產生1/4 秒的細微表情,而假笑維持的時間相對較長,如果一個笑容持續超過5 秒以上,那么很有可能是受干預后產生的假笑。
表情識別的關鍵步驟可以概括為:表情獲取、圖像預處理、特征提取、分類方法。其中表情獲取和圖像預處理目前已經存在較為成熟的技術接口,本文只針對特征提取和分類方法進行討論研究。
首先采集到每幀的人臉圖像,在對圖像進行預處理后,在特征提取上,使用較為成熟的表情識別點檢測技術來識別圖像中人臉各個表情識別點活動狀態,再把帶有時間節點的每幀表情信息,匹配到四維人臉識別模型中,計算出該幀數圖像對應的坐標位置或者模糊區域,每幀表情圖像之間連接成的直線距離或者曲線路徑,除以運動產生的時間差,得出表情變化速率,根據表情變化速率數據庫各自的速率區間,判斷出為何種表情以及表情的真實與否。模型總體工作流程如圖1 所示。

圖1 工作流程圖
人臉表情識別點檢測技術,需要首先把人臉部的表情運動單元做標記,然后根據每幀表情圖像激活的表情識別點序列和對應表情信息含義,對表情的種類進行識別,本文用到的表情識別點檢測技術還需進行對應四維表情模型坐標的初始化,如下為表情識別點序列以及初始化公式。
表情識別點序列:

初始化:

表情變化速率的計算不僅需要運動產生的曲線軌跡長度,還需運動持續時間的時間差,故初始化不僅要對坐標進行初始化,還需添加時間量。且本文目前只對同一類型表情進行真假表情識別研究,故設置M 為識別點所在象限,N 為識別點所在象限的模糊區域,即M、N 共同確定了識別點屬于哪個表情類別,用來對表情類型的改變進行檢測。
四維表情模型由三維表情坐標系與時間變量組成,其中,三維人臉識別的思路是,賦予三維空間直角坐標系中三個坐標軸各自的衡量參數,使得坐標系可以賦予不用表情各自的坐標或者模糊區域。
三維表情坐標系x,y,z 坐標軸對應的衡量參數分別為:動機狀態,正向表示友好深度(friendly),負向表示敵對深度(hostile);精神狀態,正向表示興奮深度(lively),負向表示鎮定深度(calm);心理狀態,正向表示輕松深度(casual),負向表示嚴肅深度(formal),形成的八個區對應的表情含義為愉快區I、正直區VI、思考區II、敬慕區V、悲苦區VIII、丑惡區III、驚懼區IV、厭惡區VII,模型示意圖如圖2。坐標系上每個點都對應一幀帶有表情識別點序列的表情運動過程,這樣完整的一段表情運動則有N 個點組成一條曲線,且由于人面部表情差異,相同表情經數據集訓練會在坐標系中產生對應的模糊區域。
本文所提出的四維微表情識別模型,不僅是一個特征提取和用來計算表情變化速率的模型,還具有接收人臉表情圖像信息判斷出該幀表情圖像為何種表情的功能,即模型中的坐標點或模糊區域即為對應的表情信息。本模型的方法避免了需要大量計算出當幀為何種表情的情況,只需判斷出圖像上人臉表情識別點激活關閉序列后,帶入到模型中即可,節約了大量計算的時間,精確度也得到提高。

圖2 四維表情模型示意圖
從上文的四維表情模型中,我們可以得到,一段完整的表情運動,會在坐標系中產生一段曲線,曲線長度除以對應表情的持續時間,得到該表情的變化速率。由于相同表情存在運動差異,同一含義表情,存在表情變化率值區間。表情變化速率公式如下:
輸入:表情識別點序列

整條序列表情變化速率V
步驟1:初始化

(M 為識別點所在象限,N 為識別點所在象限的模糊區域,即M、N 共同確定了識別點屬于哪個表情類別)
步驟2:計算空間路勁長度以及速率

步驟3:終止條件

目前僅研究同一表情內的變化速率,表情之間的轉換和聯系還有待進一步探討,故終止條件為產生了不用類型的表情。
本文模型及計算方法,需要用到的表情數據庫,一是建立四維表情模型時,用于匹配各坐標點所對應表情運動中各過程時刻以及代表的表情識別序列,二是建立表情變化速率數據庫時,用于衡量不同類型不用速率值代表的表情信息含義。
建立四維表情模型時,需要把三維表情坐標系坐標、表情識別點序列以及表情信息根據三維表情坐標系的坐標軸衡量系數進行定義,賦予不同表情運動以對應的曲線路徑。建立表情變化速率數據庫時,需要根據不同人表情的差異,進行數據整理,進而得到帶有相同表情含義的速率區間。
表情作為一種運動,相較于傳統以表情運動持續的時間或運動產生的表情結果來研究,表情變化速率是更本質的衡量方法,故本文提出了以四維表情模型描述表情運動軌跡,以表情變化速率衡量表情的真實性,并確定了表情變化速率計算公式。下一步工作是研究模型對表情運動軌跡的預測功能,以及結合深度學習訓練來滿足不同識別場景需求。