于明,鐘元想,王巖
(1.河北工業大學 人工智能與數據科學學院,天津 300401;2.天津商業大學 信息工程學院,天津 300134)
面部表情、肢體語言、語音等能夠反映人類的真實情感,其中,面部表情是人類情感的重要表達方式之一。很多學者利用計算機視覺技術對面部表情進行分析,進而將其應用到醫療服務[1]、學生課堂質量檢測[2]、測謊[3]等人機交互系統中。
面部表情分為宏表情和微表情。宏表情是主動發生的,可以偽造,有著較大的運動幅度。微表情持續時間較短,運動幅度較小,是下意識發生的,表示一個人在嘗試抑制真實情感時的一種情感泄露,其可以揭示人類的真實情感,因此,分析微表情能夠發現潛在的心理活動。
2003年,EKMAN 開發了微表情培訓工具(Micro-Expression Training Tool,METT),利用該工具可以進行微表情識別[4]。然而,這種方式耗費時間過長,且只能取得50%左右的準確率。因此,眾多學者嘗試開發基于計算機視覺技術的微表情自動分析系統。在研究初期,主要采用結合機器學習的多階段訓練方式,先提取具有判別性的微表情運動特征,再訓練一個可靠的分類器。芬蘭奧盧大學的趙國英研究團隊[5-7]采用局部二值模式(Local Binary Pattern,LBP)以及擴展算法捕捉面部紋理信息。中國科學院心理所的王甦菁團隊提出主方向平均光流(Main Directional Mean Optical-flow,MDMO)[8]、張量獨立的顏色空間[9]等方法;山東大學的賁睍燁團隊針對高維張量數據不易提取判別信息的問題,研發基于張量的最大邊緣投影用于微表情識別[10]。
隨著卷積神經網絡(Convolutional Neural Networks,CNN)在各個領域的廣泛應用,許多研究人員將CNN與長短期記憶(Long Short-Term Memory,LSTM)網絡相結合,研發端到端的微表情分析系統。KHOR等[11]將CNN 與LSTM 相結合提取微表情時空特征,但是該方法先提取空間特征再提取時序特征。LO 等[12]采用3DCNN 網絡表達空間信息與時間信息之間的關系。近年來,Transformer 因其能夠發現圖像全局依賴關系而在相關領域取得了良好表現,ZHOU等[13]嘗試利用Transformer 的這一優勢,挖掘微表情面部全局運動關聯。
微表情分析包括檢測和識別兩個部分。微表情檢測是在微表情視頻中判斷是否存在微表情并定位時間位置。微表情識別是對存在微表情的圖像或視頻進行分類。本文分析微表情數據集和面部圖像序列預處理方法,總結近年來微表情檢測和微表情識別方面的研究成果。首先分析基于傳統機器學習和基于深度學習的微表情檢測方法,其中,將機器學習方法細分為基于時間特征和基于特征變化的方法;然后比較基于紋理特征、基于光流特征和基于深度學習的微表情識別方法,在深度學習微表情識別方法中,從面部區域運動、關鍵幀、樣本量等角度進行區分;最后通過多個實驗指標比較各類方法的特點,并對該領域未來的發展方向進行展望。
微表情分析技術的發展依賴于完善的數據集,現有微表情數據集可分為兩類:一類是非自發的微表情數據集,包括美國南佛羅里達大學創建的 USFHD[14]、日本筑波大學創建的 Polikovsky 數據集[15];另一類是自發的微表情數據集,包括芬蘭奧盧大學創建的SMIC[16],中國科學院創建的 CASME[17]、CASMEII[18]、CAS(ME)2[19]、CAS(ME)3[20],英國曼徹斯特城市大學創建的SAMM[21],山東大學創建的MMEW[22],加拿大PORTER 團隊創建的York DDT[23]。表1 對上述數據集進行分析與歸納,其中,FACS(Facial Action Coding System)表示面部動作編碼系統。

表1 微表情數據集 Table 1 Micro-expression datasets
在上述數據集中,USF-HD、Polikovsky 和York DDT 并未公開。USF-HD 中的受試者被要求同時表現宏表情和微表情,主要用于區分宏表情和微表情。Polikovsky 中的受試者被要求模擬微表情動作,主要用于分析微表情所處階段。York DDT 由自發微表情組成,主要用于測謊。
經典的自發微表情數據集有SMIC、CASME、CASMEII、SAMM、CAS(ME)2和MMEW。SMIC 有HS、VIS 和NIR 這3 個子集,分別用不同類型的攝像機捕捉微表情,受試者由8 個高加索人和8 個亞洲人組成,一共有164 個微表情片段,包含3 個微表情類別。CASME、CASMEII 和CAS(ME)2采用相同的實驗方案。CASMEII 是CASME 的擴展版本,分別有247 和195 個樣本:CASMEII 的分辨率為280×340 像素,有5 類微表情;CASME的分辨率為150×190 像素,有8 類微表情。CAS(ME)2收集宏表情和微表情的數據,微表情分為4類,判定該數據集中表情持續時間小于0.5 s 的是微表情,否則為宏表情。SAMM包含159 個樣本,這些樣本由高速攝像機進行記錄,分辨率為2 040×1 088 像素,有7 個微表情類別。MMEW 包含300 個樣本,有7 個微表情類別,該數據集中每個樣本都由專家標定起始幀、頂點幀和終止幀,同時提供AU 標注,分辨率為1 920×1 080 像素,相比于其他數據集具有更詳細的情感分類。
考慮到深度信息對視覺感知的影響,CAS(ME)3對深度信息進行采集,可以更加敏銳地捕捉人臉信息的變化,該數據集包含7個微表情類別,分為Part A、Part B、Part C 三部分,Part A 和Part B 采用觀看視頻時保持中性表情的方式誘導微表情,Part A 中包含943 個有標簽微表情樣本,Part B 中包含1 508 個無標簽樣本,Part C中包含166 個樣本,其采用模擬犯罪的誘發范式誘導微表情,得到了高生態效度的數據集,為在真實環境中進行微表情分析提供了基礎。
數據集中的評估方式包括單一數據集驗證方法和跨數據集驗證方法。在單一數據集驗證方法中,采用留一法、留一視頻法和k 折交叉驗證法將微表情數據集劃分為訓練集和測試集。在跨數據集驗證方法中,采用復合數據集驗證法和保留數據集驗證法,其中,復合數據集驗證法將多個數據集進行合并再利用留一法劃分訓練集和測試集,保留數據集驗證法將一個數據集作為訓練集,另外一個數據集作為測試集。
通常采用的實驗指標包括準確率、精確率、未加權F1 分數、加權F1 分數、未加權平均召回率和加權平均召回率。
原始圖像序列是在一定的環境背景下拍攝而成的,不可避免地存在噪聲,對圖像序列進行預處理,消除無關信息,保留面部關鍵信息,有利于特征提取和微表情分類。預處理的關鍵技術主要包括人臉檢測、人臉裁剪和對齊、幀歸一化、面部圖像分塊。
人臉檢測方法有基于方向梯度直方圖(Histogram of Oriented Gridients,HOG)特征的人臉檢測法[24]、基于特征金字塔網絡的方法[25]等;人臉裁剪和對齊方法有活動形狀模型(Active Shape Models,ASM)[26]、約束局部模型(Constraint Local Model,CLM)[27]等;幀歸一化方法有時域插值模型等;面部圖像分塊方法有象限分割、網格分割、德勞奈三角測量、基于FACS 的分割等[28]。
微表情檢測的目標是判斷視頻中是否存在微表情,若存在,則對微表情進行定位,找到微表情起始點、頂點、終止點。起始點是微表情運動的開始,頂點是微表情肌肉運動幅度達到最大值的時間點,終止點是微表情結束的時間點。微表情序列檢測方法可以分為基于傳統機器學習特征的檢測方法和基于深度特征的檢測方法兩類。表2和表3分別對兩種檢測方法進行總結。

表2 基于傳統機器學習特征的微表情檢測方法 Table 2 Micro-expression detection methods based on traditional machine learning features

表3 基于深度特征的微表情檢測方法 Table 3 Micro-expression detection methods based on depth features
在基于傳統機器學習特征的檢測方法中,一類方法在時間維度上檢測微表情,另一類方法通過計算特征變化來檢測微表情。
3.1.1 基于時間特征的微表情檢測方法
SHREVE等[14,29]利用中心差分法計算下巴、嘴、臉頰、前額這些區域的光流場,得到面部產生的運動強度,以此來檢測微表情。該方法可以判斷視頻序列中是否存在微表情,但是需要通過人工設定閾值,在訓練數據較少的情況下,無法保證所選擇閾值的可靠性。對應區域點的運動向量可以用u=[u,v]T表示,有限應變張量ε可以用式(1)表示:

其中:u、v表示每個點的運動向量;εxx和εyy表示法向應變分量;εxy和εyx表示切向應變分量。
PATEL等[30]利用運動特征獲取方向連續性進行微表情檢測,先將判別響應圖擬合模型[17]結合FACS定位人臉關鍵點,并將關鍵點分為多個區域,再計算每個區域的平均運動,最后通過累加每個區域的運動幅值找到相應區域的運動頂點。通過計算平均運動并設定閾值,減少頭部運動、眨眼等動作對微表情檢測的影響。然而,不同區域之間存在隱藏關聯,該方法僅依靠單一區域檢測微表情,無法充分體現微表情的區域運動關聯。
MA等[31]統計運動單元發生的區域,接著根據運動出現的頻率選擇感興趣區域(Regions of Interest,ROI),最后提取光流場,計算定向光流直方圖(Histogram of Oriented Optical Flow,HOOF),自動識別頂點幀。該方法可以有效提高頂點幀檢測的準確性,但其忽視了角度信息。GUO等[32]提出結合幅值與角度的光流特征提取方法,選擇眼瞼、眉毛、嘴角鼻子兩側這4 個ROI 提取光流向量,獲取可靠的運動信息,每一幀的光流幅值Ai計算如式(2)所示,光流角度信息θi使用反三角函數進行計算,如式(3)所示:

其中:i表示當前幀數;pi表示水平分量;ri表示垂直分量。
WANG[33]使用光流在主方向最大差異(Main Directional Maximal Difference,MDMD)進行微表情定位,獲得了更加可靠的運動特征。在輸入的視頻序列中,設定當前幀為Fi,Fi的前k幀為Fi-k,Fi的后k幀為Fi+k。將面部分為不同的區域,計算Fi-k幀與Fi幀、Fi-k幀與Fi+k幀的魯棒局部光流,將光流矢量個數最多的方向定義為主方向,并根據主方向計算所有區域中的差值并進行降序排列,選擇前1/3作為Fi幀的特征,最后根據運動方向檢測微表情,檢測過程如圖1 所示。MDMD 雖然在檢測長視頻中的微表情時能夠取得很好的效果,但是不易選擇合適的k值,k值過大,對光流的計算會有影響,k值過小,則主方向上的差異也會很小,另外,該方法只能檢測單一幀的面部運動。在MDMD 方法的基礎上,HE 等[34]增加一個后處理步驟,將原先輸出幀的相鄰幀都視為微表情,形成一個間隔,但是該方法同樣需要手動設置參數。為了消除頭部擺動造成的影響,ZHANG等[35]從鼻子區域提取平均光流和局部運動矢量檢測微表情,此外還采用多尺度濾波器提高微表情檢測性能。HE等[36]選取14 個ROI 捕獲細微面部運動,引入密集光流來估計ROI 的局部運動,結合時域變化曲線的峰值檢測方法精確定位運動間隔。

圖1 MDMD 方法檢測流程Fig.1 Detection procedure of MDMD method
3.1.2 基于特征變化的微表情檢測方法
POLIKOVSKY等[15,37]將人臉圖像劃分為12 個ROI 區域,計算區域中的HOG 特征,通過k-means 算法判斷面部肌肉運動幅度的變化區間。該方法設計簡潔,但是不適用于自發的微表情。DAVISON等[38]使用HOG 特征關注人臉運動,但是沒有充分利用角度信息。
MOILANEN等[5]將人臉圖像分割為36 個區域,計算每個區域的LBP 直方圖特征,觀察相同的區域中序列幀的特征變化情況。此外,為了觀察當前幀在圖像序列中的變化強度,計算與當前幀間隔k幀的前后兩幀的特征平均值,最后得到當前幀與平均值的卡方距離。XIA[39]基于ASM 和尺度不變特征變換描述符提取人臉關鍵點,接著使用Procrustes 分析方法將關鍵點進行對齊,消除頭部運動和光照變化對微表情的影響。此外,采用隨機漫步模型計算幀間的變形相關性,獲取轉移概率。最后,設定閾值進行微表情檢測。LI等[40]利用Kanade-Lucas-Tomasi算法跟蹤圖像序列中的3 個點,分別為2 個內眼角和1 個鼻脊點,根據3 個點對圖像序列進行校正,接著將人臉圖像分為36 個圖像區域,計算每個區域中的LBP 特征和HOOF 特征,以此計算每幀的特征差分值,最后根據設定的閾值檢測微表情的起始點、頂點、終止點。雖然文獻[5,39-40]方法均能取得較好的實驗結果,但是不易確定可靠的閾值或參數,在實際應用中有很多不確定性。
YAN等[41]、LIONG等[42]和HAN等[43]分別提出定位微表情頂點的方法。文獻[41]方法使用CLM 定位人臉關鍵點,計算圖像序列與第一幀的相關性,最后根據峰值定位頂點幀。文獻[42]方法根據運動單元和人臉關鍵點對人臉區域進行劃分,然后采用LBP、CLM、光學應變(Optical Strain,OS)提取特征,最后根據二叉搜索策略定位頂點幀。上述兩種方法不需要人工設定閾值,但是只能定位頂點幀。文獻[43]提出協同特征差異算法,利用LBP特征和MDMO特征作為互補特征,將人臉劃分為ROI 區域,并給不同的區域分配不同的權重,從而突出關鍵區域,最后計算區域的特征差以定位頂點幀。
基于機器學習的微表情檢測方法能夠有效提取更多的面部運動變化細節信息,基于特征變化的方法大多依賴于設定的最佳上下限閾值,上限閾值能夠區分宏微表情,下限閾值能夠定義微表情的最小運動振幅,但是閾值的設定具有不可靠性,面部眨眼等噪聲動作也會對閾值判定造成影響。基于時間特征的方法計算復雜度高,無法滿足實時檢測的需求。
ZHANG等[44]首次將深度學習方法用于微表情檢測,利用頂點幀的相鄰幀擴充數據集,然后使用SMEConvNet 網絡提取特征,最后使用滑動窗口對特征矩陣進行處理,從而定位頂點幀。相較傳統機器學習方法,其檢測效果得到提升,但是只能檢測頂點幀。TRAN等[45]提出基于深度序列模型的微表情檢測方法,采用機器學習方法提取視頻序列中每個位置的時空特征,接著使用LSTM 網絡預測頂點幀,其改善了由幀間距離導致的網絡魯棒性差問題。DING等[46]利用滑動窗口將微表情長視頻片段分割成幾個短視頻,將光流與LSTM 相結合,通過改進的低復雜度的光流算法提取特征曲線,接著使用LSTM 預測微表情的發生,從而達到實時檢測微表情的目的,但是該方法在劃分短視頻時采用固定大小的滑動窗口,不能很好地反映滑動窗口生成的候選片段屬于微表情的程度,導致起始幀和終止幀出現定位不準確的情況。
為了解決低強度微表情對微表情定位的影響,PAN等[47]提出一種局部雙線性卷積神經網絡,將微表情定位問題轉變為細粒度圖像分類問題,使用MDMD 獲取面部局部區域,分別為左眉毛、右眉毛、鼻子和嘴,再將人臉圖像和這4 個區域輸入到網絡中,分別獲取全局特征和局部特征,最后融合全局特征和局部特征進行微表情檢測。該方法可以捕捉微表情細微的運動,但是只能檢測單幀圖片。同樣地,LIONG等[48]提出的多流淺層網絡也只能檢測單幀微表情。WANG等[49]提出微表情定位網絡(Micro-Expression Spotting Network,MESNet),用于在長視頻中定位微表情序列,其網絡結構如圖2 所示。首先使用二維卷積網絡提取空間特征,接著使用一維卷積提取時間特征,根據剪輯建議網絡找出微表情序列的時間位置,最后通過分類網絡判定剪輯的視頻是否屬于微表情。該方法具有較好的檢測效果,但是模型包含了時空卷積網絡模塊、剪輯模塊和分類回歸模塊,龐大的參數量導致網絡效率較低,無法達到實時檢測的效果。

圖2 MESNet 網絡結構Fig.2 MESNet network structure
與文獻 [48]方法和文獻 [49]方法不同,XUE等[50]提出兩階段的微表情定位網絡,將頂點幀定位和微表情間隔相結合,將光流的水平分量、垂直分量以及光學應變輸入到第一階段的三流注意力網絡中,提取時空特征,定位頂點幀。TAKALKAR等[51]將雙重注意力網絡與二維卷積網絡相結合,提出一種基于雙重注意網絡結構,使用局部注意力模塊關注特定區域,同時構建全局注意力模塊關注全局面部運動信息,模型在具有較高檢測效率的同時取得了較好的魯棒性。為了降低眨眼和光照的影響,GUPTA[52]將改進的特征編碼與多尺度濾波器卷積網絡相結合,增加眉毛區域時間變形的可信度,同時也更好地探索序列之間的時序關聯,提高了網絡效率。但是,該方法依賴精準的預處理方法對眉毛和嘴巴進行對齊和定位,需要更多的預處理時間。ZHOU等[13]提出一種基于雙向Transformer 的微表情檢測網絡,首先利用候選片段生成模塊生成候選段,接著由時空特征提取模塊將候選段劃分為更小的時隙,最后通過分組模塊合并片段,定位微表情的起始幀和頂點幀。該方法很好地利用了時序信息,關注了幀間的相關性。
基于深度學習的微表情檢測方法相較于機器學習方法,具有更高的檢測效率,但是存在耗時、不穩定等問題。由于微表情檢測模型需要提供判別模型以及剪輯模型,存在龐大的計算量,計算復雜度隨之上升,在部分小型網絡中,通常采用濾波器過濾峰值曲線,但是濾波器的不穩定性會給檢測結果造成影響。
微表情識別是指對檢測到的微表情進行識別并分類,根據特征提取的方式可以將微表情識別方法分為基于手工機器學習特征的識別方法和基于深度學習特征的識別方法。
基于手工機器學習特征的識別方法又可以分為基于紋理特征和基于光流特征的識別方法。
4.1.1 基于紋理特征的識別方法
微表情包含大量有效的時序信息,PFISTER等[53]為了發現微表情中的運動時空關系,利用三維正交平面的局部二值模式(Local Binary Pattern from Three Orthogonal Planes,LBP-TOP)提取特征,其微表情識別流程如圖3 所示。

圖3 LBP-TOP 微表情識別流程Fig.3 Micro-expression recognition procedure of LBP-TOP
LBP-TOP在XY、XT、YT這3個正交平面上提取LBP特征,并將得到的結果進行拼接作為最終的LBP-TOP特征,該方法能夠有效捕捉時域信息,但是需要計算3個平面的特征,其特征維度高,只考慮2 個像素之間的特征差異,未考慮其他有用信息。為了解決該問題,WANG等[54]使用中心點上3條相交線的六交點減少冗余信息,提出六交點局部二值模式(Local Binary Pattern with Six Intersection Points,LBP-SIP)算法,該算法可以減少很多冗余信息,且計算速度快,但是其存在魯棒性差的問題。HUANG等[6]為了能夠捕捉水平和垂直積分投影的外觀和運動變化,提出積分投影時空局部二值模式(Spatio-Temporal Local Binary Pattern with Integral Projection,STLBP-IP)算法,該算法能夠有效保留人臉圖像的形狀特征,所采用的積分投影能夠更好地發現同類情緒的統計分布,但是其只關注類內信息的相似性,忽視了樣本間的判別信息。之后,HUANG等[7]提出時空完全局部量化模式(Spatio-Temporal Completed Local Quantized Patterns,STCLQP)算法,該算法利用3 種有用的信息,包括基于符號、基于大小和基于方向的像素差,同時設計一種時空域的碼本,在碼本的基礎上提取時空特征,這使得局部模式更具判別性。
融合紋理和形狀信息進行識別的效果優于僅使用外觀信息進行識別,為此,HUANG等[55]提出判別性時空局部二值模式算子(Discriminative Spatio-Temporal Local Binary Pattern with Revisited Integral Projection,DISTLBP-RIP)方法,以用于微表情識別,該方法將形狀屬性與動態紋理信息相結合,獲得更具判別性的特征。當微表情發生時,面部肌肉在斜方向上會發生偏移,但LBP-TOP 只能捕捉水平和垂直方向上的信息,因此,WEI 等[56]提出五相交局部二值模式(Local Binary Pattern from Five Intersecting Planes,LBP-FIP)方法,先提取在偏離X或Y方向45°的斜方向上8 個頂點的LBP特征,獲得八頂點局部二值模式特征(Eight Vertices Local Binary Pattern features,EVLBP),然后與LBPTOP 提取的水平和垂直方向上的特征進行級聯。
HOG 特征可以表示圖像的紋理信息,LI等[40]利用HOG 及其擴展算法作為特征描述符,提取面部結構信息,引入圖像梯度直方圖(Histograms of Image Gradient Orientation,HIGO),改變投票策略,降低光照對微表情識別的影響。相較LBP 相關方法,該算法更加適合在彩色視頻中進行微表情識別。WEI等[57]提出單方向梯度直方圖(Histogram of Single Direction Gradient,HSDG)算法,該算法在某一運動方向上提取梯度值,簡化HOG,最后將HSDG 與LBP-TOP 特征進行級聯,得到具有外觀紋理和運動信息的LBP-SDG(LBP with Single Direction Gradient)特征,其捕捉到了最有利于微表情識別的運動特征,但是選取18 個方向進行測試,計算復雜度過高。
4.1.2 基于光流特征的識別方法
光流特征可以有效提取微表情的時間信息。LIU等[8]提出MDMO 特征用于微表情識別,將人臉劃分為36 個感興趣區域,減少了與表情無關的冗余信息。在各個區域中計算HOOF 直方圖,將直方圖特征的最大值索引作為主方向,最后計算主方向上向量特征的均值從而進行微表情識別,其識別流程如圖4 所示。

圖4 MDMO 微表情識別流程Fig.4 Micro-expression recognition procedure of MDMO
MDMO 考慮到了各個區域的運動信息和空間位置,易于實現且特征維數小,但是容易丟失特征空間中固有的底層流形結構,采用預定義的AU關系進行建模,導致模型泛化能力較差。LIU 等[58]在MDMO 的基礎上提出Sparse MDMO,能夠有效揭示底層流形結構,比MDMO 特征具有更強的判別能力。
為降低小強度噪聲光流的影響,LIONG[59]提出雙加權定向光流(Bi-Weighted Oriented Optical Flow,Bi-WOOF),首先估計頂點幀和起始幀之間的水平和垂直光流分量,然后根據這兩個分量計算每個像素點的方向、幅值和光學應變,最后通過局部加權的幅值和全局加權的光學應變獲得基于方向的Bi-WOOF 直方圖。然而,利用光流直方圖作為分類器的特征向量時,光流直方圖的輕微偏移會增大圖像之間的歐氏距離,放大兩個圖像之間的差異,從而影響識別效果。HAPPY等[60]提出光流方向的模糊直方圖(Fuzzy Histogram of Optical Flow Orientations,FHOFO),其能忽略無關運動,對表情強度和光照的變化不敏感。WANG[61]認為基于運動強度的權值容易受到圖像噪聲的影響,因此,提出一種新的基于光流時間累積的加權特征提取方法MINOF(Motion Intensities of Neighboring Optical Flows):首先計 算微表情視頻中的光流時間累積,以降低圖像噪聲的影響;接著根據光流累積大小計算各區域的運動強度,獲取每個區域的權重;最后將局部特征和權重相乘生成全局特征,有效去除噪聲運動的權重,提高權值的有效性。
基于手工機器學習特征的微表情識別方法關注像素點的變化情況,可以保留更多的信息,對不同的面部表情具有很好的靈活性,能夠忽略光照強度的影響,但是其特征維度高,計算復雜度高,需要結合特征選擇算法過濾無效信息,以降低計算復雜度。MDMO、Bi-WOOF 等方法依賴于面部對齊效果,無法實現良好的微表情識別效果。上述方法的實驗指標對比如表4 所示,其中,ACC(Accuracy)表示準確率,F1表示F1分數。從表4 可以看出:LBP-TOP、STCLQP、Sparse MDMO 在SMIC 數據集上分別取得了0.542、0.640、0.705 的準確率,這是因為SMIC 數據集只有3 個情緒類別,同時采集微表情所用的近紅外攝像機也減少了光照對微表情的影響;LBP-TOP、STCLQP、Sparse MDMO在CASMEII數據集上分別取得了0.464、0.584、0.670 的準確率,這是由于CASMEII 數據集情緒類別較完備,樣本分布更加均衡。

表4 基于手工機器學習特征的微表情識別方法 Table 4 Micro-expression recognition methods based on manual machine learning features
本節從AU、關鍵幀、遷移學習三方面對基于深度學習的微表情識別方法展開討論。
4.2.1 基于AU 的識別方法
在微表情運動中,分析AU 能夠發現潛在面部運動和情緒之間的關系。FACS 對面部行為進行編碼,每個編碼表示一個AU,如AU1 代表內部眉毛抬起、AU6 代表臉頰抬起等。不同AU 組合所表示的情緒如表5 所示。基于圖的學習算法可以在非歐氏數據中發現每個對象節點之間的關系,AU 通常與圖卷積(Graph Convolutional Network,GCN)相結合。基于AU 的微表情識別方法實驗指標對比如表6 所示,其中,CASMEII 和SAMM 默認為五分類。

表5 情緒與AU 的關系 Table 5 The relationship between emotion and AU

表6 基于AU 的微表情識別方法性能對比 Table 6 Performance comparison of micro-expression recognition methods based on AU
WANG 等[9]基于AU定義16 個ROI,提取每個ROI 的特征,但預定義的AU 規則會導致泛化能力有限。LO 等[12]利用GCN 發現AU 之間的依賴關系,提出MER-GCN 網絡用于微表情識別,這是第一個基于GCN 的端到端微表情識別網絡,其結構如圖5所示。

圖5 MER-GCN 網絡結構Fig.5 MER-GCN network structure
MER-GCN 將每對AU 的共現作為相關關系構建鄰接矩陣,然后通過GCN 獲取不同AU 之間的隱藏關系,最后將其與3DCNN 殘差模塊提取的特征進行融合,以完成微表情識別。該方法關注了局部動作變化,但是3DCNN 具有較大的參數量,同時AU關聯矩陣依靠共現作為相互關系,極易受到噪聲動作的影響。LEI 等[62]設計雙流圖時序卷積網絡(Graph-TCN),通過獲取微表情局部肌肉的運動特征進行微表情識別。首先選擇眉毛和嘴巴區域的28 個人臉關鍵點,提取這些關鍵點7×7 的特征矩陣,并壓縮成長度為49 的特征向量,以此為基礎構建圖結構并輸入到雙通道網絡中,最后將提取的節點特征和邊緣特征進行融合以完成微表情識別。Graph-TCN 能夠更好地分析微表情的局部運動信息,具有較好的判別性,但其利用固定的擴張因子學習邊緣特征,只能學習到固定區域的關聯變化。LEI 等[63]提出雙流網絡Graph-GCN,包括圖學習流和AU 學習流。AU 學習模型選擇與眉毛和嘴巴相關的9 個AU,利用AU 的共現關系構建鄰接矩陣,采用單詞嵌入的方法構建節點矩陣,將這兩個矩陣輸入到雙層GCN 中提取特征,最后融合圖學習流的特征進行分類。ZHAO 等[64]提出時空AU 圖卷積網絡(Spatio-Temporal AU Graph Convolutional Network,STAGCN),先利用3DCNN 提取AU 相關區域的時空運動信息,再通過GCN 捕捉AU 的依賴關系,最后與全臉特征相乘得到激活特征進行微表情識別。SUN等[65]提出一個雙分支融合的微表情識別框架(Dual Expression Fusion micro-expression recognition framework,DEF-Net),使用OpenFace 模型分析AU 的發生,將深度網絡提取的人臉特征與AU 進行級聯,捕獲細微面部運動以完成微表情識別。WANG等[66]將AU 與人臉關鍵點相結合,構建眼睛、鼻子、臉頰和嘴巴等4 個感興趣區域,接著將相應區域進行加權,最后結合所提出的MER-AMRE(MER framework with Attention Mechanism and Region Enhancement)網絡提取特征,提高了網絡提取局部運動信息的能力。CEN等[67]為了挖掘面部表情與AU 之間的關聯,將微表情視頻分割為多個相鄰視頻片段,揭示三維鄰域的時空特征變化情況,最后結合所提出的多任務面部活動模式學習框架(Multi-task Facial Activity Patterns Learning Framework,MFAPLF),促進同類微表 情聚合。
4.2.2 基于關鍵幀的識別方法
文獻[59,68]使用單一頂點幀進行微表情識別,大幅減少了輸入幀的冗余信息,降低了特征的計算復雜度。LI等[69]基于VGG-16 CNN 架構提出一個基于局部和全局信息的學習模型(LGCcon),分別提取全局和局部特征。先利用歐拉運動放大方法將頂點幀的細微運動進行放大,再采用全局信息流提取整個面部圖像的上下文信息,利用局部信息流將面部圖像劃分為子區域,尋找貢獻最大的局部區域并提取特征,最后將局部和全局特征進行融合以完成微表情識別。實驗結果表明,與完整的序列相比,單一頂點幀也能獲得較好的性能,但是參數量相比于單分支結構更大,模型能夠獲取關聯特征,但需要對全局和局部定義多重約束條件,同時需要引入多個損失函數來區分類內和類間特征,模型復雜度過高。
起始幀和頂點幀之間的運動變化在微表情識別中具有較強的判別性,文獻[70-72]方法使用起始幀和頂點幀的光流提取面部的運動特征。LEI等[63]抽取起始幀和頂點幀作為輸入,設計Graph-GCN 網絡,先利用MagNet[73]對頂點幀進行放大,接著將圖學習模型和AUs 學習模型提取的特征進行融合以完成微表情識別,其網絡結構如圖6 所示。

圖6 Graph-GCN 網絡結構Fig.6 Graph-GCN network structure
Graph-GCN 網絡可以學習到節點間的信息關聯,但采用預定義的AU 信息,限制了模型的學習能力。其次,Transformer層數縮減為原始模型的一半,但依然存在較大的參數量。最后,雙分支融合模塊僅采用簡單的串聯操作,增加了冗余信息。ZHAO等[71]采用基于L1 的總變差光流算法計算起始幀與頂點幀之間的運動信息,并將得到的光流特征反饋給后續的深度網絡。GAN等[74]提出基于頂點幀的光流特征網絡(Optical Flow Features from Apex frame Network,OFF-ApexNet),采用起始幀和頂點幀來提取兩個方向的光流,表示微表情的運動細節,輸入到深度網絡中進行特征增強,從而獲得更具判別性的特征以完成微表情識別。文獻[75]和文獻[76]也采用類似的方法,將起始幀和頂點幀的光流作為網絡輸入,在降低模型輸入復雜性的同時又能保持較好的識別效果。CHEN 等[77]提出分塊卷積網絡(Block Division Convolutional Network,BDCNN),計算起始幀和頂點幀4 個光流特征,接著將這4 個光流圖進行分塊,并對這些小塊進行卷積和池化操作,最后將4 個光流提取的特征向量進行特征級聯,以完成微表情識別。
基于關鍵幀的微表情識別方法能夠在降低特征維度的同時保持良好的識別效果,但是會丟失較多的時序信息。各方法的實驗指標對比如表7所示,其中,UAR(Unweighted Average Recall)表示未加權平均召回率,標有“*”代表三分類,SMIC 為三分類。

表7 基于關鍵幀的微表情識別方法性能對比 Table 7 Performance comparison of micro-expression recognition methods based on key frame
4.2.3 基于遷移學習的識別方法
遷移學習方法通常將知識從具有大樣本容量的源域遷移到目標域中。現有的微表情數據集較小,而宏表情數據集包含大量的訓練樣本。考慮到宏表情與微表情存在相關性,通常會結合宏表情數據集進行訓練來提高微表情的識別性能。
文獻[68,78]方法利用遷移學習的思想,結合宏表情數據集提高微表情識別性能。文獻[79]方法使用3 種有效的二值面部描述子提取特征,將這些特征輸入到源域和目標域共享的公共子空間中進行學習。文獻[80]方法引入表情身份分離網絡(Expression-Identity Disentangle Network,EIDNet)作為特征提取器,分別用宏表情和微表情數據集對兩個EIDNet進行訓練,分別命名為MacroNet 和MicroNet,固定MacroNet 并對MicroNet 進行微調,MicroNet 可以從宏表情樣本中學習共享知識,并采用不等式正則化損失使MicroNet 的輸出收斂于MacroNet 的輸出。EIDNet 利用從宏表情樣本學習到的知識指導微表情網絡的調整,提高了微表情的識別性能,但整個網絡模型包含多個模塊,模型設計較為復雜,且訓練過程較為繁瑣,很難滿足實時性的需求。
文獻[81]方法在CK+、Oulu-CASIA NIR&VIS、Jaffe和 MUGFE 這4 個宏表情數據集[82]上進行訓練,接著利用微表情數據集對網絡進行微調,然而該網絡僅在注意力方面做出了改進,且在經過宏表情預訓練后再對微表情進行訓練,不能很好地突出宏微表情之間的關聯。TANG等[83]首次將遷移學習和GCN相結合應用于微表情識別領域,提出遷移雙流隨機圖卷積網絡(Transferring Dual Stochastic Graph Convolutional Network,TDSGCN),利用宏表情數據集對源網絡進行訓練,然后用微表情數據集對網絡進行微調,最后完成微表情識別。ZHANG等[84]提出的運動放大多特征關系網絡利用遷移的ResNet50來提取全局特征,在一定程度上避免了過擬合問題。
基于遷移學習的微表情識別方法性能對比如表8所示。

表8 基于遷移學習的微表情識別方法性能對比 Table 8 Performance comparison of micro-expression recognition methods based on transfer learning
基于深度學習的微表情識別方法由多段訓練發展到如今的端到端訓練,可以提取微表情更深層次的信息,同時也避免了復雜的手工特征描述,但深度網絡需要依靠一個更大更真實的微表情數據集才能獲得較好的性能。Graph-TCN、LGCcon、Graph-GCN 等方法關注局部區域運動信息以挖掘微表情信息,這一點與手工特征方法中依賴面部網格分塊突出局部信息的思想一致。在深度學習方法中,Graph-TCN、Graph-GCN、OFF-ApexNet在CASMEII 數據集上分別取得了0.740、0.743、0.883 的準確率,這是因為CASMEII 數據集中有AU 標注,能夠突出運動區域;Graph-TCN、Graph-GCN、OFF-ApexNet 在SAMM 數據集上分別取得了0.750、0.743、0.681 的準確率,這是由于SAMM 具有較為完備的情緒分類,同時也有較高的幀率。但是,這一類方法依然受限于現有微表情數據集的數據量,在現實環境中泛化能力較差。
微表情檢測和識別對人機交互的發展具有重大意義,擁有廣闊的應用前景,未來會有更多的研究人員從各個角度對微表情展開研究。但是,目前微表情檢測和識別中還有一些亟待解決的問題,針對這些問題,本文總結了該領域未來可能的發展方向,具體如下:
1)生成高質量微表情數據。為了彌補微表情數據量有限和部分微表情圖像質量過低的問題,已有方法開始嘗試采用生成對抗網絡生成微表情數據,但是在該過程中存在兩個問題:一是生成的微表情圖像對網絡性能提升效果有限,說明生成的AU 關系不夠準確,同時在生成新的圖像時會引入噪聲,從而對分類器造成影響,在未來的工作中,利用GAN 生成高質量的微表情圖像也是一個值得研究的問題;二是在FACS 中定義了微表情與面部動作的關聯,已有工作利用這一關聯作為先驗知識解決微表情分析問題,事實上,這一關聯也直觀解釋了微表情的發生機理,但現有方法采用的GAN 并沒有與之相結合,因此,如何判定生成的圖像是否符合微表情的發生機理,還沒有一個規范的評價標準,這也是未來的一個工作方向。
2)多模態微表情分析。目前微表情分析算法僅依靠單一面部表情進行分析,但在實際生活中,微表情的發生常伴隨著肢體語言以及語音等狀態的變化。在未來的研究中,需要充分利用肢體語言等相關信息,充分體現微表情的發生機理,揭示多模態數據的內在關聯。
3)采用其他學習策略。已有方法都是采用有監督的方式訓練網絡,對數據量有一定的依賴性。在今后的研究中,可以考慮采用自監督的方式,減少網絡對數據量的依賴,提升所學習到特征的適應性。另外,現有的微表情數據庫存在類別不平衡的情況,這包括數量不平衡和識別難度不平衡,今后除了關注樣本數量外,還需要結合樣本的識別難度來動態調整學習過程。
與人工分析微表情相比,基于計算機視覺的微表情分析方法具有較大優勢,本文對基于傳統機器學習和基于深度學習的微表情檢測與識別方法進行分析和總結。通過對這些方法的分析比較發現,基于機器學習的方法關注像素點的變化情況,能夠保留更多的有效信息,魯棒性較高,并且可以滿足實時性的需求,但是該類方法在預處理階段將面部圖像劃分為固定網格,難以體現面部運動的發生機理,存在精度低、過程繁雜等問題。相較機器學習方法,深度學習方法具有精度高、易于捕捉上下文信息的優點,但是存在容易過擬合、耗時、依賴數據量等缺點。在未來,微表情分析會有更多的應用需求,對性能也會有更高的要求,下一步將對基于深度特征的微表情分析方法進行深入探究,以開發具有高性能、高精度和強魯棒性的系統。