王 越,王 峰,肖家賦,相虎生
(1.天津大學 電氣自動化與信息工程學院, 天津 300072; 2.太原理工大學 信息與計算機學院, 山西 晉中 030600; 3.武警指揮學院, 天津 300352)
微表情是一種自發產生、較為細微的面部表情動作信號。與宏觀表情信號不同,微表情不會隨主觀意志而改變,持續時間大約在0.04~0.2 s[1],幅度較小,研究表明微表情可以反映出人們在壓抑狀態下的潛在真實情緒[1-2]。由于微表情表現形式與說謊時的心理狀態存在極大相關性,微表情識別在國家安全、臨床醫學、案件偵破、司法審訊等領域具有良好的應用前景。
近年來,國內外對微表情特征提取與識別的研究方法分為三大類,包括光流法(optical flow,OF)、局部二值模式(local binary pattern,LBP)及其改進方法、卷積神經網絡(convolutional neural network,CNN)。
在微表情特征提取方面,現有光流法主要是在亮度恒定、小幅度運動的假定條件下,利用像素在時空域的相關性,計算出光流場中圖像運動信息。由于光流法結合感興趣區域(region of interest,ROI)可以對應面部行為編碼系統(facial action coding system,FACS)檢測出表情動作變化[3],Liu等[4]提出主方向平均光流(main directional mean optical-flow,MDMO)方法用于微表情特征提取,對不同ROI方向平均電流進行歸一化統計,將所得MDMO特征向量通過支持向量機(support vector machine,SVM)進行分類識別,可有效降低特征維數。Hua等[5]提出一種基于運動邊界直方圖融合的特征提取方法,分別在水平和垂直方向計算其微分光流矢量,特征融合后通過LOSO協議進行驗證和評估。以上方法對應用場景要求較為苛刻,需要進行相應修改以提升其泛化能力;另外,傳統方法對圖像序列進行直接光流計算,計算成本較大。針對上述問題,首先利用深度學習網絡模型對光流提取效果進行提升,結合殘差網絡思想,將光流速度矢量的近似估計轉換為光流殘差的策略求解問題,無需實現損失函數最小化,即可獲得光流矢量自動更新,提升模型泛化能力;其次采用注意力機制構建基于關鍵幀的金字塔光流模型,賦予峰值幀更高權重,在提高計算精度的同時降低空間復雜度;由于所構建的光流模型僅對圖像速度矢量進行計算,而忽略了圖像序列的幀間運動信息,將三正交平面的局部二值模式(local binary patterns from three orthogonal planes,LBP-TOP)特征與光流特征融合得到最終特征表示,提取視頻序列的時空紋理特征及光學應變信息,以彌補光流法缺少序列信息描述的不足,同時降低特征維數,減少計算成本。
在分類模型方面,卷積神經網絡可挖掘視覺圖像深層特征,在多種圖像分類數據集上有非常出色的表現。Liong等[6]提出了一種雙加權定向光流方法(Bi-WOOF法),僅使用視頻中的峰值幀和起始幀進行特征提取,之后輸入到二維CNN進行分類,取得了較好的結果。為了進一步提升模型準確率,建立面部關鍵區域與對應情感標簽的緊密關聯,同時緩解因微表情數據庫樣本數量不足等因素造成的模型過擬合問題,對CNN網絡架構進行改進,構建基于CNN-GCN遷移學習網絡的微表情跨數據集識別模型,利用圖卷積網絡GCN的獨有優勢對圖像融合特征和標簽向量隱藏聯系進行分析,根據基于權重的遷移學習網絡思想,將模型在宏表情數據集上進行預訓練,利用宏表情數據優勢緩解網絡模型過擬合問題,同時引入SAMM微表情數據集,增強數據樣本多樣性,進一步提升網絡識別性能。
作為微表情識別流程中至關重要的一步,特征提取與選擇直接影響最終識別性能。受到光照條件變化和圖像畸變等因素影響,人臉圖像中提取到的特征存在很大差異,影響識別性能。為了提升識別系統在干擾環境下的魯棒性,構建了一種基于光流特征與LBP-TOP特征的微表情特征提取模型,根據殘差網絡思想,將光流法與注意力機制相融合,同時考慮了微表情關鍵幀及視頻幀間的內在聯系,構建基于關鍵幀的四層金字塔光流模型,與LBP-TOP 特征級聯融合得到最終特征表示,有效提取視頻序列的時空紋理特征及光學應變信息。
傳統光流法是在亮度恒定、小幅度運動的假定條件下,對三維空間中目標物體的瞬時速度矢量在指定二維成像平面上的投影進行求解,用于描述運動物體位置變化及結構信息[7]。
當物體處于小幅度運動狀態時,假設所得投影圖像的像素點(x,y)在t時刻的光強度為I(x,y,t),其光流水平及垂直分量分別為u(x,y)和v(x,y),若在t+dt時刻,該點位移距離為(dx,dy) 時,光強度保持恒定,即:
I(x+dx,y+dy,t+dt)=I(x,y,t)
(1)

由于dt無窮小,光流可近似為連續變化的三維矢量,將上述公式用泰勒級數展開為:
I(x,y,t)
(2)

Ixu+Iyv+It=0
(3)
上式也被稱為光流約束方程。其中,Ix,Iy,It可直接由圖像像素灰度計算得出。
在微表情識別過程中,光學特征側重于描述不同時刻物體的運動變化,從而尋找序列視頻幀間動態信息。人臉微表情的產生可分為3個關鍵階段:起始、峰值及終止[8],其中,微表情峰值幀包含了絕大多數光學應變信息,在微表情識別過程中起著至關重要的作用[9]。由于傳統光流法對應用場景具有較嚴格的限制,同時對整個圖像序列進行光流計算增加了計算量,所得光流預測結果僅對真實值進行了粗糙近似,在一定程度上影響了光流提取質量。
基于以上分析,本文對光流法[10]進行改進,在每層金字塔級訓練CNN,對光流矢量進行自動優化更新,逐級細化求解圖像運動邊界及細節,無需實現損失函數最小化,在實時提高計算精度的同時降低空間復雜度,節省模型所占空間。同時,考慮到微表情的峰值幀包含了絕大多數光學應變信息,在所構建光流模型基礎上結合注意力機制,對峰值幀分配更多權重,獲得更精準的光流矢量表達。
算法描述如下:
1) 對于尺寸為m*n的視頻關鍵幀I,進行下采樣操作,將I變換為m/2*n/2的新圖像;
2) 利用扭曲算子(I,V)扭曲圖像,進行雙線性插值,采用獨立且序列化的方式訓練卷積網絡;
3) 通過給定輸入,在k層從下采樣好的圖片,即金字塔最頂層開始,初始化上一層光流場殘差為0,與上一層光流場上采樣結果相加,將計算所得光流場傳遞給注意力網絡模型,對構建四層殘差網絡進行重復操作,計算殘差,并最終計算出光流場。
每一層金字塔級的殘差光流可表示為:
(4)

Vk=u(Vk-1)+vk
(5)
基于關鍵幀的金字塔殘差光流特征計算過程如圖1所示。其中,w、u和d分別表示對圖像執行扭曲、上采樣和下采樣操作。

圖1 基于關鍵幀的金字塔殘差光流特征計算過程
所得光流圖如圖2所示。

圖2 微表情數據集CASME Ⅱ圖像序列樣本EP13_03中起始幀和峰值幀的光流圖
上文構建的光流模型僅對關鍵幀的速度矢量進行近似光流估計,為了彌補由此帶來的對微表情視頻幀序列的幀間運動信息描述不足的問題,可結合其他特征提取算法提升識別性能[11]。Zhao等[12]提出的基于三正交平面的局部二值模式(LBP-TOP)同時考慮了圖像序列的時間和空間信息,將均值 LBP 從二維擴展到三維空間,可有效提取微表情動態紋理,彌補了光流法缺乏序列紋理信息的不足。
算法特征提取過程如圖3所示。在提取LBP-TOP特征的過程中,直接對圖像序列進行運算會導致像素信息缺失,并不能很好地處理運動信息和圖像細節,因此需要對微表情序列進行分塊。采用均勻編碼方式,將圖像序列從水平方向x、垂直方向y及時間軸向t3個維度上分為若干個互不重疊的塊狀結構。分別對微表情圖像序列的3個正交平面提取LBP特征,其中XY平面表示視頻幀的空間信息,XT和YT平面分別表示沿時間軸掃描視頻序列得到的水平和垂直方向的運動紋理信息,將3個維度上得到的歸一化特征梯度直方圖級聯成LBP-TOP直方圖向量,可以有效描述視頻幀的時空紋理信息[13]。

圖3 LBP-TOP分塊特征提取及三正交平面示意圖
將上文中得到的光流圖轉換為直方圖,與圖像序列的LBP-TOP特征進行級聯融合,可得到最終直方圖特征表示,算法模型如圖4所示。

圖4 基于光流運動特征與LBP-TOP特征的 微表情識別模型
相比于其他神經網絡結構,卷積神經網絡所需參數較少,在圖像分類數據集上有著非常出色的表現。在表情及微表情識別過程中,經常配合光流法使用。由于卷積神經網絡僅對微表情圖像序列中關鍵人臉動作單元(action unit,AU)進行分析,無法實現面部AU組合與對應情感標簽的緊密關聯[14]。因此本文在CNN模型的基礎上進行改進,構建基于CNN-GCN遷移學習網絡的微表情識別模型,利用GCN獨有優勢獲取情感標簽向量中節點屬性及節點間的隱藏關聯信息,幫助捕捉微表情序列中圖像數據與對應情感標簽的依賴關系[15],同時引入SAMM數據庫,構建基于CNN-GCN遷移學習網絡的跨數據集微表情識別模型,增強數據庫的種族多樣性,將所構建模型在宏表情數據集FER2013上進行預訓練,利用宏表情定量優勢輔助微表情識別,進一步提升網絡模型識別精度。
將特征提取得到的特征數據集劃分為訓練集、測試集與驗證集,以卷積層、池化層、全連接層和dropout層為核心搭建淺層CNN模型,考慮到后續會與GCN結合構建深層網絡模型,隨著層數增加,網絡訓練將會變得愈發困難,針對這一問題,對淺層CNN進一步改進,將總體CNN網絡架構根據不同特征尺度分為若干個訓練模塊,假設在單個訓練模塊中,原始淺層網絡模型的融合特征輸入為x,通過網絡中隱藏層級聯的多層復雜映射計算后,其輸出為微表情深層特征H(x),由于多個模塊相互連接得到的網絡模型復雜度較高,難以訓練,因此采用殘差結構思想,利用跳躍的捷徑連接模塊,直接將淺層特征x輸入至該訓練模塊的輸出,作為初始殘差。該訓練模塊中的深層特征可表示為[16]:
H(x)=F(x)+x
(6)
令F(x)無限逼近于0,即可得到近似恒等映射,通過學習殘差函數F(x),可進一步簡化復雜模型,將深層特征訓練網絡分解為多個基于殘差結構的淺層多尺度訓練模塊:
F(x)→0,H(x)≈x
(7)
改進后的模型如圖5所示。

圖5 加入殘差模塊的CNN模型流程框圖
由于AUs提取到的面部紋理特征不能直接反映情緒類別,因此需要將其作為中間特征映射至不同類別空間中,而面部不同區域的AU彼此獨立又互相聯系,因此可利用GCN對不同AUs存在的動態聯系進行節點分析,獲得深層時空特征,同時挖掘面部關鍵區域之間的依賴關系,實現更精準的微表情分類[17]。同時考慮到CASME Ⅱ數據集樣本序列較少,缺乏種族多樣性,在訓練過程中極易出現過擬合,因此可利用與其具有類似情緒標簽的SAMM數據集進行數據集擴充,拓展樣本數據的多樣性,構建跨數據集微表情識別模型[18]。另一方面,宏表情數據集和微表情數據集擁有類似情感屬性,同時宏表情數據庫中包含大量標記的訓練數據,識別難度較低,能夠為網絡模型的訓練及評估提供充足數據樣本[19]。因此根據遷移學習主要思想,以CNN為主體,結合GCN對微表情數據集CASME Ⅱ和SAMM進行識別,將CASME Ⅱ特征數據集作為訓練集,SAMM作為測試集,并在宏表情數據集FER2013上進行預訓練,利用宏表情定量優勢輔助微表情識別,構建了基于CNN-GCN遷移學習網絡跨數據集微表情識別模型,增強識別系統在多干擾環境下的魯棒性[20]。總體網絡框架可分為兩部分:基于CNN的圖像特征訓練模塊及基于GCN的情感分類模塊。原理圖如圖6所示。
圖6中,C代表數據集中的情緒類別數,FCNN表示采用CNN對圖片進行特征提取,提取得到的特征維數為D×h×w,經過全局最大池化后,維數被降為D,在基于GCN的情感分類模塊中,首先根據各個關鍵區域的人臉動作單元AUs組合得到不同類別標簽詞嵌入向量,GC代表對各個標簽向量進行圖卷積操作,原始標簽的詞嵌入向量維數為d,經過特征映射后,標簽向量維數變換為D,該維度由CNN中獲取的圖像特征表示維數決定。

圖6 基于CNN-GCN的微表情識別網絡框架
為便于遷移學習,采用微表情數據集CASME Ⅱ的4種情緒類別進行識別。對CNN學習到的圖像特征進行最大池化,可得新的全局特征x:
x=G[fMP(FCNN(Ic,wCNN))]
(8)
式中:Ic代表輸入圖像的融合特征表示;wCNN表示CNN網絡模型中的權值參數;FCNN為CNN模型隱含層迭代運算;fMP(·)代表最大池化函數;G(·)為池化特征的全局計算函數。
通過關聯不同AUs及對應情緒類別,采用GCN訓練目標分類器,可獲得不同類別標簽存在的隱藏關聯信息。重復迭代當前網絡的前置層節點特征作為該層輸入,對節點特征進行更新,從而實現目標分類器對標簽向量的策略建模,對微表情圖像進行分類。
實驗所用硬件配置為Intel 酷睿i7處理器,16 GB運行內存,2.3 GHz主頻,GPU 顯卡為 NVIDIA GeForce MX330;操作系統為64位Windows 10;實驗平臺為Python3.7,Keras+Tensorflow和Pytorch框架以及Matlab 2019b。
由于微表情難以捕捉、采集困難的特點,微表情建庫水平較低,缺乏多樣性,難以為識別系統地訓練提供足夠的數據。同時,宏表情與微表情具有相似情感標簽,數據庫中包含大量標記的訓練樣本,因此采用遷移學習方法,在微表情識別過程中充分利用宏表情數據庫,根據其定量優勢輔助微表情識別。實驗中采用的數據集分別為微表情數據集CASME Ⅱ[21]和SAMM[22]以及宏表情數據集FER2013[23],3種數據集均采用4類樣本數據進行識別,分別為開心、厭惡、驚訝及中性。
3.1.1CASME Ⅱ微表情數據集
CASME Ⅱ數據集由中科院傅小蘭團隊于2014年建立,該數據集包含247條在200 fps攝像機下拍攝的26位被測者的自發微表情視頻片段,人臉圖像面部分辨率約為280*340像素。該數據集將微表情分為7類進行標注,分別是快樂(happiness)、厭惡(disgust)、驚訝(surprise)、壓抑(repression)、悲傷(sadness)、恐懼(fear)、中性(neutral)。圖7為微表情數據庫CASME Ⅱ 示例圖。

圖7 微表情數據集CASME Ⅱ樣本示例
3.1.2SAMM微表情數據集
SAMM數據集包含159條在200 fps攝像機下拍攝的自發微表情視頻片段,人臉圖像面部分辨率約為400*400像素,SAMM數據庫收錄了13個不同種族、不同年齡的32位測試者的數據樣本,包含8種基本情感誘發類別,分別為快樂、厭惡、驚訝、蔑視(contempt)、悲傷、恐懼、憤怒(angry)及中性,并利用FACS編碼對相應AU進行標注。圖8為SAMM數據庫的微表情樣例。

圖8 微表情數據集SAMM樣本示例
3.1.3FER2013宏表情數據集
FER2013包含10名專業演員的34 034張人臉表情灰度圖像,其面部分辨率為48*48,共有7種情緒類別,分別為憤怒、厭惡、恐懼、快樂、悲傷、驚訝及中性。該數據集在人臉圖像的基礎上增加了測試者頭部及手部的運動姿態信息,圖9為FER2013數據集的某些圖像樣本。

圖9 FER2013數據集樣例
將CNN模型、基于殘差模塊(RSB)的CNN模型作為對比模型,與本文中提出的基于CNN-GCN遷移學習網絡的微表情跨數據集識別模型進行對比。
CNN-GCN模型中的網絡結構主要由圖卷積單元和基于殘差模塊的CNN構成,將圖卷積單元與殘差模塊級聯,使用基于殘差模塊的CNN獲取微表情特征的內在聯系,形成新的特征向量;利用圖卷積單元將標簽圖數據轉換到CNN的特征學習空間中,捕捉微表情人臉特征與對應情感標簽的隱藏聯系。
表1是3個對比模型的主要參數配置。在CNN模型和REB-CNN模型中,卷積單元由初始卷積核數目為32,核尺寸為3×3的2層卷積層構成。CNN-GCN將卷積核數目改為64,將m的初始值設置為1,每經過1個卷積單元,m的值乘以2,卷積核數目翻倍。

表1 不同網絡模型的主要參數配置
在訓練過程中采用Adam(adaptive moment estimation) 作為模型的優化器,相較于其他優化器,Adam可自動調整各個參數的學習率,具有較快的網絡收斂速度。設置批處理尺寸(batch_size)為64;初始學習率(base_lr)為0.001;學習衰減率(learn rate decay)為le-5;動量(momentum)為0.9;循環周期(epoch)為70,采用自適應監督方式調整學習率。每層卷積層添加BN正則化,采用Early stopping回調函數在模型性能不再提升時中斷訓練,緩解過擬合,增強模型泛化能力。
具體實驗步驟如下:
1) 首先對CASME Ⅱ和SAMM數據集進行預處理,將微表情數據集進行分幀處理,并采用圖像翻轉等6種圖像增強方式擴充數據集,使各個類別的樣本數量基本持平。之后對圖像序列進行幀數歸一化,將微表情圖像序列插幀為16幀,便于后續特征提取。由于不同測試者人臉特征和姿態變化各有不同,對其進行人臉檢測及配準以獲得歸一化人臉微表情圖像[24]。
2) 對CASME Ⅱ和SAMM微表情數據集進行特征提取,提取關鍵幀的光流特征,采用均勻編碼方式,將圖像序列從3個維度上分為若干個互不重疊的塊狀結構,對分塊后微表情圖像序列的3個正交平面進行計算得到其LBP-TOP直方圖,與所在圖像序列的光流特征級聯融合得到最終直方圖特征表示。
3) 為了驗證提出的微表情特征提取方法和網絡分類模型的有效性,將特征數據集分別輸入至支持向量機及上文中提到的不同網絡分類模型中進行分類對比。
首先采用傳統機器學習算法支持向量機SVM對提出的LBP-TOP結合改進光流法的特征與傳統特征分別進行分類識別,圖10為不同分塊數下微表情LBP-TOP特征的識別率。

圖10 不同分塊數下微表情LBP-TOP特征識別率
從圖10中可以看出,圖像序列的不同分塊方式直接影響了最終分類性能。隨著分塊數的增多,微表情識別率呈現先上升后下降的趨勢。分塊數過少時,圖像序列中關鍵信息描述不足,分類及預測效果較差,而當分塊數過多時,塊狀區域中所含像素點較少,特征維數呈平方級增長,訓練復雜度有所提高,識別效果反而呈現下降趨勢,當分塊數為7*7時,識別效果最佳。因此,后續的實驗操作中均采用7*7的分塊方式進行微表情特征提取。
為了驗證改進光流算法和特征融合模型的有效性,將改進光流法提取得到的光流圖片轉換為直方圖,與圖像序列的LBP-TOP特征進行融合,得到最終的級聯直方圖,輸入到SVM中進行分類,并與傳統光流法TVL1[25]進行多次實驗對比,實驗結果如圖11所示。

圖11 對不同特征采用SVM分類的識別率
根據圖11可知,傳統光流法TVL1結合LBP-TOP進行特征提取獲取了2種方法的優勢,識別效果較單一方法來說有所提升。同時,改進光流法利用關鍵幀計算求得了連續光流場的絕大多數有效信息,進一步優化了所選特征,因此獲得了更佳的識別性能,識別率從51.2%升至54.4%。
在深度學習網絡分類方面,本文以卷積層、池化層、全連接層為核心構建了淺層CNN模型,在此基礎上加入殘差模塊,提出基于CNN-GCN遷移學習網絡的微表情識別模型,將改進光流法與LBP-TOP融合得到的CASME Ⅱ特征數據集分別輸入至CNN模型、RES-CNN模型以及CNN-GCN模型中,得到的識別準確率如圖12所示,其中,藍色曲線代表訓練集曲線,橘色曲線代表驗證集曲線,橫軸為訓練周期數,縱軸為四類表情的識別準確率。

圖12 不同網絡模型得到的準確率結果曲線
從圖12(a)中可以看出,與傳統機器學習算法相比,深度學習模型在識別性能上有了較大提升,準確率由54.4%升至57.56%。在此基礎上,對淺層CNN模型不斷優化改進,首先加入淺層殘差模塊以提升特征學習效果,結果如圖12(b)所示,改進后的網絡結合了捷徑連接中得到的淺層特征和經過隱含層復雜映射的網絡深層特征,多尺度特征的結合在一定程度上提高了網絡的識別性能,訓練過程中的最大準確率從57.56%升至65.42%。GCN利用標簽圖數據的節點關系挖掘面部不同關鍵區域隱藏的關聯信息,對CNN中提取到的圖像全局特征進行優化,利用節點的內在聯系增強了AU和標簽類數據的相關性,因此基于CNN-GCN的網絡明顯優于基于殘差模塊的CNN網絡模型,準確率從65.42%升至71.29%,如圖12(c)所示。
針對微表情數據樣本不足的問題,本文基于CNN-GCN遷移學習網絡的跨數據集微表情識別模型,將CASME Ⅱ和SAMM得到的特征圖片分別作為訓練集和測試集,對訓練集及測試集進行擴充,比例為4∶1,并在宏表情數據集FER2013上進行預訓練,采用基于權重的遷移學習方式對微表情進行識別,結果如圖13所示。

圖13 CNN-GCN遷移學習網絡跨數據集微表情識別模型準確率曲線
由圖13可以得出,利用CNN-GCN模型對CASME Ⅱ融合特征進行識別,其最大識別率為71.29%,將CASME Ⅱ和SAMM微表情數據集結合構建的跨數據集遷移學習網絡模型結合了二者優勢,實現了2種數據集的互補,利用宏表情數據優勢提升了模型識別性能,緩解了微表情樣本序列數量較少和缺乏種族多樣性對網絡訓練的影響,在網絡的不斷訓練優化過程中,模型最大識別率由起初的57.56%升至最終的75.93%。
對微表情識別采用的特征提取算法和深度學習網絡展開了研究,提出了基于關鍵幀的金字塔光流提取改進算法,優化了特征選擇。在網絡訓練方面,構建了基于CNN-GCN遷移學習網絡的微表情識別模型,借助GCN自動更新節點信息的獨有優勢,捕捉微表情序列中圖像數據與對應情感標簽的依賴關系,將搭建好的網絡模型在FER2013數據集上進行預訓練,利用宏表情的定量優勢輔助微表情識別,通過多次實驗對比可得,所構建的模型提高了微表情的識別精度。在實驗過程中,由于微表情數據集樣本數量較少,因此極易出現過擬合情況,在未來的工作中,考慮采用生成對抗網絡進一步擴充數據庫,緩解過擬合問題。