張延良 盧 冰 蔣涵笑 洪曉鵬 趙國英 張偉濤
1(河南理工大學物理與電子信息學院 河南 焦作 454150)2(西安交通大學電子與信息工程學院 陜西 西安 710049)3(奧盧大學機器視覺和信號分析研究中心 芬蘭 奧盧 FI-90014)4(西安電子科技大學電子工程學院 陜西 西安 710071)
在日常的人際交流和溝通過程中,面部表情是傳遞情感的重要途徑。除了日常所見的普通面部表情,還有種試圖隱藏內心真實情感卻又不由自主流露出的不易被察覺的微表情。微表情是無法偽裝和無法控制的自發式表情[1-3]。心理學家們普遍認為微表情是測謊的重要線索,可以在國家安全[4]、案件偵破[5]、婚姻關系預測[6]、交流談判[7]等鄰域發揮很大的作用。
微表情最顯著的特點就是持續時間短、強度弱,往往難以有效識別。普通人捕捉和識別微表情準確率較低,美國學者Ekman開發了輔助微表情識別訓練工具METT[8]來訓練對微表情的檢測和識別。但是,經過該工具訓練的專業人士,識別準確率也僅為47%[9]。因此,運用計算機視覺技術實現微表情的識別成為情感計算領域的一個重要研究課題。
視頻序列中微表情特征提取算法的研究很多。在微表情識別的最初工作中,運用局部二值模式(Local Binary Pattern,LBP)[10]的一種拓展描述算子三正交平面局部二值模式(Local Binary Pattern on Three Orthogonal Plane,LBP-TOP)[11]來編碼局部像素的時空共生模式。對LBP模式加以改進,又出現了時空完備局部量化描述子[12]、六交點局部二值描述子[13]、時空局部二值模式積分圖描述子[14]、時空中心化二值描述子[15]等微表情特征提取方法。后續又出現了不采用LBP的時空特征描述子,如三正交平面方向梯度直方圖描述子(Histograms of Oriented Gradients on Three Orthogonal Plane,HOG-TOP)、三正交平面圖像梯度直方圖描述子(Histograms of Image Gradient Orientation on Three Orthogonal Plane,HIGO-TOP)等用于微表情的識別。此外,文獻[16-17]對跨庫微表情識別的問題進行了研究;文獻[18]將長短時記憶循環神經網絡和卷積神經網絡等深度學習方法結合應用于微表情識別。
研究發現,時空特征描述子提取到的特征向量維數過高,使微表情分類的計算復雜度大,處理時間長。更重要的是,微表情的發生只與臉部的部分區域緊密相關,這種高維的特征向量里包含與微表情發生無關的分量,這是現有方法識別率不高的重要原因。本文用Fisher特征選擇算法來對原始特征向量進行降維、篩選處理。先將同類特征向量篩選出來,計算類內類間散度矩陣,再利用類內類間散度矩陣計算特征向量的權重,最后將權重按照由大到小的順序排列,選擇較大權重對應的特征分量。在CASMEII和SMIC兩個數據集上LBP-TOP、HOG-TOP及HIGO-TOP特征的實驗結果表明了其有效性。
特征提取是計算機視覺技術自動識別微表情的重要步驟,其中LBP-TOP、HOG-TOP、HIGO-TOP特征描述子已廣泛應用于微表情識別。
為對動態紋理進行分析,Zhao等[11]提出LBP-TOP描述子,它是原始LBP靜態紋理描述子在時空域的延伸。該描述子廣泛應用于面部表情的識別,近幾年,在微表情識別方面也取得了較好的效果。
一個視頻序列可以看成二維的靜態圖像(XY平面)沿著時間軸T堆疊而成的一個立方體。該立方體的XT和YT平面的紋理提供了圖像隨時間動態變化的信息。圖1為提取視頻序列LBP-TOP特征的大致過程。分別抽取視頻幀序列的三個正交平面XY、XT及YT的LBP紋理特征,將得到的特征串聯起來就構成了LBP-TOP特征向量。該描述子既考慮了微表情圖像的局部紋理信息,又對微表情隨時間變化的情況進行了描述。
圖1 提取LBP-TOP特征的示意圖[11]
為了更好地表征微表情的動態局部紋理信息,需要將視頻幀沿X軸、Y軸及T軸方向分割為若干個立方塊。然后提取每個分塊的LBP-TOP特征。按這種方法,在每個分塊提取到的特征向量維數為3×2p,其中p為鄰域點個數??紤]到LBP各模式的出現頻率,在研究中廣泛采用的是均勻LBP-TOP描述子[19],每個分塊特征向量的維數為3[p(p-1)+3]。
HOG利用局部圖像梯度方向直方圖提取人體的外形和運動特征[20]。研究表明,HOG算子也適用于人臉微表情識別。
給定一幅靜態圖像I,可以由卷積算子得到水平和垂直方向的導數Ix和Iy。具體來說Ix=I*KT,Iy=I*K。其中K=[-1 0 1]T,*表示卷積運算。對于圖像中的每一個像素點,其局部梯度方向θ和梯度幅值m為:
(1)
(2)
梯度方向θ∈[-π,π]。對θ進行量化,假設量化等級數為B,量化等級為β={1,2,…,B}。量化函數為Q:[-π,π]→β。這樣,各分塊區域ψ的梯度方向直方圖可通過一個函數g:β→R計算得到,該函數定義為:
(3)
式中:b∈β。δ(i,j)定義為:
(4)
可根據同一個分塊內的每一像素梯度計算結果,通過加權投票的方法得到該塊的量化梯度方向。
HIGO算子是HOG的一種變形。HIGO采用更為簡單的投票機制來計算各個分塊的直方圖,具體函數如下:
(5)
不同于HOG,HIGO算子忽略了梯度幅值對直方圖的影響,因此對光照和對比度變化不敏感。
為了描述視頻序列的動態紋理特征,需要將HOG和HIGO描述子推廣到時空模式。分別計算三個正交平面XY、XT、YT的HOG和HIGO特征向量,再將三個平面的特征向量串聯起來就構成HOG-TOP、HIGO-TOP特征描述子。
運用上述三種特征描述子來進行面部圖像分塊特征的提取,當面部空間分塊個數為k時,每一分塊的胞元數為q,提取的LBP-TOP、HOG-TOP和HIGO-TOP特征向量維數分別是3k[p(p-1)+3]、3kq和3kq。這種高維的特征向量在分類微表情時,計算復雜,處理時間較長,而且特征向量中還包含與微表情發生無關的分量,進而影響分類的準確率,因此考慮用Fisher算法對特征向量進行降維處理和有效的篩選。
Fisher準則是一種有效的有監督特征選擇方法[21-23]。其目的是從高維特征空間中篩選出鑒別能力強的低維特征,基本思想是在低維特征空間里,相同類別的樣本盡可能密集,不同類別的樣本距離盡可能遠。
假設有分屬于c個類別的N個樣本:
X=[χ1,χ2,…,χN]=[X1,X2,…,Xc]
其中第i類的樣本集合記為:
(6)
因此,類內散度矩陣為:
(7)
類間散度矩陣為:
(8)
則Fisher判據定義為:
JFisher=diag(Sb./Sw)
(9)
式中:“./”是矩陣的對應元素相除;函數diag()是取矩陣對角線上的元素組成一向量。JFisher中的元素為對應特征分量的權重,數值越大說明對應特征分量的類別區分度越高。選擇最大的q個權重對應的特征分量組成特征子集,這就是Fisher特征選擇的過程。
實驗測試了特征描述子LBP-TOP、HOG-TOP、HIGO-TOP、不同參數分塊、Fisher特征選擇算法以及SVM不同核函數對微表情識別準確率的影響。實驗環境為Windows 7操作系統、4 GB內存,編程環境為MATLAB 2016a。
為了更好地驗證Fisher特征選擇方法的性能,在兩個微表情數據集上進行了實驗,分別是中國科學院心理研究所建立的CASMEII和芬蘭奧盧大學建立的SMIC。在CASMEII[24]中,分別讓26個參與者觀看不同類型的短片進行情感誘發,并采用一定的機制使其盡可能壓抑自己的情感表露,通過200 fps的高速相機拍攝的247個微表情視頻序列,標定了5種微表情類別,CASMEII數據集類別及樣本分布如表1所示。SMIC[25-26]是通過對16個參與者采用類似的情感誘導機制,拍攝到了164個微表情視頻序列,標定了3種微表情類別,其中正面情緒70個,負面情緒43個,驚訝51個。
表1 CASMEII微表情數據集類別及樣本分布
微表情的發生時間非常短暫(大約1/25~1/3 s),若用一個標準速度的相機來拍攝微表情,有些微表情只能維持4~5 幀,采集到的微表情序列太短將會限制特征的提取。為了解決這一難題,Li等[27]用時間插值模型(Temporal Interpolation Model,TIM)預處理微表情視頻序列為相同長度,結果表明采用TIM10模型來預處理微表情視頻序列,用時少、效果好。因此本文采用TIM10來預處理相關數據集。
(2) 對原始特征向量分別采用Fisher算法選取有效成分,實現降維,得到Fisher特征選擇向量。
(3) 在CASMEII和SMIC數據集中,分別用原始特征向量與Fisher特征選擇向量對支持向量機分類器進行訓練。支持向量機的內核函數分別選擇卡方核(Chi-Square Kernel,CSK)、直方圖交叉核(Histogram Intersection Kernel,HIK)。
(4) 采用“留一交叉驗證”的方式,分別計算兩類特征向量的識別率。即每次選擇一位受試者的所有視頻序列作為測試樣本,其余m個受試者的所有視頻序列作為訓練樣本,共重復m+1次實驗,計算這m+1次的平均分類識別率。
實驗流程如圖2所示,其中Fisher特征選擇模塊用虛線框。當不進行特征選擇,直接用原始特征向量進行微表情識別實驗時,不采用該模塊。采用該模塊時,是對原始特征向量進行特征選擇后再進行微表情識別,以此對比Fisher特征選擇對微表情識別性能的影響。
圖2 實驗流程示意圖
表2和表3為原特征向量和Fisher選擇出的特征向量維數、分類所需時間以及該維數下微表情識別的準確率。其中:n代表原特征向量的維數;f代表Fisher選擇后的特征向量維數;T、Acc分別代表在該特征向量下分類所需時間(單位:s)和分類識別率。
表2 原特征向量和Fisher特征向量的維數、運算時間以及直方圖交叉核、卡方核分類準確率對比(CASMEII)
續表2
表3 原特征向量和Fisher特征向量的維數、時間以及直方圖交叉核、卡方核分類準確率對比(SMIC)
可以看出,在各種情況下,經過Fisher選擇后特征向量的維數、分類所需時間較原特征向量均有大幅度的下降,而識別準確率得以顯著提高。在CASMEII和SMIC數據集中,經過Fisher特征選擇的特征向量,最高的識別率分別為75.71%和75%,而在其他參數相同的情況下,原方法的識別率為46.96%和51.22%,識別率分別提高了61.22%和46.43%(計算公式為:(Fisher識別率-原方法識別率)/原方法識別率);原特征向量的維數分別是19 116和12 744,采用的Fisher特征向量的維數分別是800和600,是原特征向量維數的4.18%和4.7%;原特征向量分類時間分別是760.49 s和129.27 s,Fisher方法分類所需時間分別為32.50 s和2.08 s,是原特征向量分類所需時間的4.27%和1.61%。
動作幅度小是造成微表情識別難度大的重要原因。文獻[27]在MATLAB環境下,在提取LBP-TOP、HOG-TOP、HIGO-TOP三種描述子之前先進行動作放大的實驗。該方法在CASMEII和SMIC上的最好性能分別是67.21%和68.29%,本文在同樣實驗環境下,沒有進行動作放大,采用同樣的三種特征描述子,Fisher特征選擇后再進行微表情識別,其最佳性能的識別率較文獻[27]在兩個實驗數據集上分別提高了12.65%和9.83%。
為了進一步從總體和平均的角度分析Fisher特征選擇方法的性能,對比了同一數據集、同一特征描述子、同一分類核函數的在各種分塊參數情況下,Fisher方法與原方法的平均性能。表4為Fisher特征向量維數占原特征向量維數的平均比例,表5為Fisher方法分類所需時間占原特征向量分類時間的平均比例,表6為Fisher方法較原方法平均分類識別率的提高值。
表4 Fisher特征向量維數占原特征向量平均比例 %
表5 Fisher特征向量分類所需時間占原特征向量分類時間的平均比例 %
表6 Fisher特征較原特征平均分類識別率提高比例 %
可以看出,在CASMEII和SMIC數據集中,采用Fisher方法對由LBP-TOP、HOG-TOP及HIGO-TOP提取到的特征分別進行特征選擇,再運用SVM分類器進行訓練和微表情識別,在卡方核、直方圖交叉核兩種情況下,向量維數和運算時間較原方法均有大幅度的下降,而平均識別率提高顯著。
綜上,無論從表2-表6所列出的各參數情況下的運行實例,還是從總體和平均的角度,均表明了Fisher特征選擇方法能大幅度提高微表情分類的準確率并且簡化分類運算復雜度和運行時間。
微表情是一個人試圖壓抑自己的真實情感,在無意識下產生的自發式表情,能夠在測謊、心理診斷、偵查等方面發揮巨大的作用。微表情具有時間短、強度弱的特點,且發生只牽連到臉部的部分區域。針對現有常用的微表情特征描述子提取特征向量維數大、運行時間久的缺點,本文運用Fisher特征選擇方法,對原特征向量進行降維。首先用Fisher算法對LBP-TOP、HOG-TOP、HIGO-TOP提取的原特征向量擇優選擇,再用SVM分類器的兩種核函數(卡方核、直方圖交叉核)進行“留一交叉驗證”方法的微表情分類實驗。實驗表明:本文算法簡單有效,在微表情CASMEII和SMIC數據集下,經Fisher選擇后,特征向量的識別率最高分別達到75.71%和75%,較原特征向量識別率提高了61.22%和46.43%;同時,在兩種數據集下,Fisher選擇出的特征向量維數只是原特征向量維數的4.18%和4.71%,分類所需時間只是原方法的4.27%和1.61%。今后的工作重點是尋找微表情類別與特定面部區域的聯系,以進一步提高微表情識別的準確率。