唐家明 宛艷萍 孟 竹 張 芳 谷佳真
(河北工業(yè)大學人工智能與數據科學學院 天津 300401)
微表情是人在試圖壓抑自己情緒時,面部肌肉在不受控制情況下產生輕微幅度變化而流露出的表情[1],其更能揭示一個人的真實感情[2],因此在刑偵測謊、心理治療、國家安防等領域有著廣泛應用[3~8]。
隨著微表情識別受到更多研究者的關注,近年出現了許多自動微表情識別方法。Pfister 等提出LBP-TOP(Local Binary Pattern from Three Orthogonal Planes)算法[9],是最早對自動微表情識別做出貢獻的工作之一。LBP-TOP 計算簡單,但存在對噪聲敏感,有效信息不足的問題。Guo 等提出CBP-TOP(Centralized Binary Pattern from Three Orthogonal Planes)特征提取方法[10],通過對差值設置閾值增強編碼抗噪性能以改善對噪聲的敏感。Ben等提出HWP-TOP(Hot Wheel Patterns from Three Orthogonal Planes)識別方法[11],通過增加采樣點并分內外兩圓進行順序編碼來增加特征信息量。Li等為探究空域特征和時域特征對微表情的影響,將HOG(Histogram of Oriented Gradients)特征描述子[12]拓展到三維正交平面提取特征,指出時域特征對識別起主要作用。除基于編碼方式的識別外,基于光流法的識別也是微表情研究方向之一。Liu等提出MDMO(Main Directional Mean Optical-flow)特征描述子[13]。將面部劃分為36 塊感興趣區(qū)域(Regions of Interest,ROI),計算每個ROI中主要方向上的平均光流作為識別特征。Xu 等提出FDM(Facial Dynamics Map)特征描述子[14],通過稠密光流場迭代地求出每個圖像分塊光流的主方向進行識別。Liong 等提出Bi-WOOF(Bi-Weighted Oriented Optical Flow)特征描述子[15],將光學應變作為每個分塊的權值從而獲得加權光流主方向特征,并只使用起始幀,峰值幀,結束幀,三幀作為數據輸入以減少噪聲的影響。
由于微表情數據庫樣本數量限制,目前基于深度學習方法的微表情識別率不高[16]。本文針對傳統(tǒng)編碼方法存在有效信息不足、噪聲敏感的問題,提出基于相鄰雙交叉二值模式(Adjacent Double Crossover Local Binary Pattern from Three Orthogonal Planes,ADCP-TOP)的微表情識別算法。傳統(tǒng)LBP-TOP 算法只考慮周圍像素與中心像素關系而忽略了周圍像素之間的聯(lián)系,ADCP-TOP將采樣點鄰域之間順序編碼以增加更多信息量,并對奇偶采樣點分開編碼,在增強魯棒性的同時融入方向信息。進一步通過獲取細粒度感興趣區(qū)域(FROI)從而提取更精細的ADCP-TOP特征,最后將特征送入SVM分類器進行分類。
基于ADCP-TOP 微表情識別的系統(tǒng)框圖如圖1 所示。首先利用Dlib 人臉檢測工具[17]提取人臉關鍵點,然后以關鍵點為坐標,根據面部動作單元AUs[18]劃分人臉粗粒度感興趣區(qū)域(CROI),并通過再次劃分CROI 取細粒度感興趣區(qū)域(FROI)。隨后在FROI內利用ADCP-TOP提取特征獲得特征直方圖,最后使用SVM分類器進行微表情識別。
圖1 ADCP-TOP微表情識別方法系統(tǒng)框圖
本文對傳統(tǒng)LBP-TOP 算法改進,針對LBPTOP 算法提取有效信息不足,對噪聲敏感的問題,提出ADCP-TOP時空特征描述子。
LBP-TOP 主要提取圖像的局部信息,首先在XY 面中計算LBP 編碼,再以相同的編碼方式拓展到XT 面和YT 面。以XY 面為例,如圖2 所示,在一個3×3 的像素塊中,將中心像素值與其鄰域像素值作差,差值大于0 則編碼為1,否則編碼為0。計算得到一組八位二進制編碼,將其轉換為十進制后替換中心像素值,并通過統(tǒng)計得到XY 面的特征直方圖。接著,以相同的計算方式拓展到XT 面、YT面。最后通過級聯(lián)三個面的特征直方圖得到LBP-TOP 特征。此外,不限于八鄰域,LBP-TOP 算子可以設置R 為半徑,P 為采樣點個數,計算每個采樣點與中心像素關系后,得到p位二進制編碼。
圖2 LBP-TOP在八鄰域中的二進制編碼
LBP-TOP 只考慮到周圍像素與中心像點像素的關系,而忽略了相鄰像素點之間的關系;同時也將水平豎直方向和對角線方向同等對待,缺少了方向上的信息。
針對以上問題,本文提出ADCP-TOP時空特征描述符。以某一像素作為圓心,以R 為半徑,在圓周的水平方向、垂直方向、對角線方向上取p 個采樣點,以p=8 為例,得到A0-A7八個采樣點,如圖3(a)所示。為將結構信息量化,每個方向上的采樣點設定唯一編碼,定義如公式(1)所示。
圖3 ADCP-TOP時空特征描述符
最終,ADCP 編碼特征直方圖由兩個交叉編碼ADCP-1 和ADCP-2 串聯(lián)得到。ADCP 可以描述二維圖像中每個像素鄰域之間的信息,但是對于圖像序列或是視頻序列,單一的ADCP 描述符會忽略時序信息。為表示相鄰幀之間的信息,將ADCP 編碼拓展到三維正交平面XY、XT、YT 面中,最終獲得ADCP-TOP時空特征描述符。
ADCP-TOP 時空特征描述符將鄰域像素點之間的關系考慮進來,使得能夠更加準確提取圖像的深層信息,與LBP-TOP 相比,該方法提取的特征會包含更多結構信息,提升了特征判別度。其次,ADCP-TOP 將水平豎直方向與對角線方向分成兩個編碼,融入方向信息,并將結構信息更細化區(qū)分,增強魯棒性的同時降低了維度。
ADCP-TOP特征屬于統(tǒng)計特征,需要對圖像分塊以區(qū)分不同位置表達的信息。本文依據面部編碼系統(tǒng)(Facial Action Coding System,FACS)[18],劃分感興趣區(qū)域(ROI)。
FACS 的基礎是動作單元(Action Units,AUs),微表情是由多個特定AUS 共同作用而形成。每個AU有自己的發(fā)生區(qū)域。圖4(a)總結了參與微表情運動的AUs,并以人臉關鍵點為坐標,劃分9個AUS主要作用的區(qū)域,即粗粒度感興趣區(qū)域(CROI)。ROI的大小會影響提取信息的細節(jié)程度,因此繼續(xù)對CROI 進一步劃分,獲取細粒度感興趣區(qū)域(FROI)。FROI的劃分原則是不能過于稠密也不能過于稀疏,過于稠密會使得信息冗余,而過于稀疏則會造成信息提取遺漏。鑒于微表情發(fā)生時牽扯到的唇部區(qū)域主要集中在嘴角,眼部區(qū)域主要發(fā)生在眼角,所以對嘴角和眼角兩處進行更細致的劃分,劃分結果圖4(b)所示。其中大塊尺寸為50×50,小塊尺寸為25×25,圖像分辨率大小240×280。
圖4 根據面部動作單元劃分的ROI示意圖
1)SMIC數據庫
SMIC[19]是第一個公開的自發(fā)微表情數據庫,SMIC 具有三個子集,其中SMIC-HS 子集樣本最多,因此采用該子集作為實驗樣本。 SMIC-HS 包含16 個受試者的164 個自發(fā)的微表情樣本,幀率為100 fps,分為三個類別:積極(51 個樣本),消極(70個樣本)和驚奇(43個樣本)。
2)CASME2 數據庫
CASME2[20]由中科院傅小蘭團隊發(fā)布,幀率達到200fps,數據庫包含來自26 個受試者的247 個樣本。實驗中將其分為5類,高興(32個樣本)、驚訝(25個樣本)、厭惡(64個樣本)、壓抑(27個樣本)其他(99個樣本)。
為驗證提出的ADCP-TOP方法的有效性,在兩個數據庫SMIC 和CASME 中,進行了十倍交叉驗證和LOSO交叉驗證(Leave-One-Subject-Out)[21]。。
表1 出示了ADCP-TOP 方法在SMIC 數據庫與CAME2 數據庫中的十倍交叉實驗的實驗結果,并復現LBP-TOP 方法作為實驗對比的基準。在SMIC數據庫下,ADCP-TOP的識別率為67.09%,對比LBP-TOP 識別率提升27.92%。在CAME2 數據庫下,ADCP-TOP 的識別率為70.47% ,對比LBP-TOP 識別率提升27.57%。SMIC 數據庫只分三類情緒,而CASME2 數據庫分五類情緒,但在CASME2 數據庫下的識別率比在SMIC 數據庫下的識別率高,原因是因為CASME2數據庫的空間分辨率和時間分辨率都比SMIC 數據庫的質量高,說明時域信息和空域的細節(jié)信息是影響微表情識別率的關鍵,對比LBP-TOP,ADCP-TOP 捕獲細節(jié)信息的能力更強,因此實驗結果有較大的提升。
表1 ADCP-TOP在SMIC與CASME2數據庫下十倍交叉驗證的識別率
進一步計算混淆矩陣以分析系統(tǒng)的穩(wěn)定性,如圖5 所示。SMIC 數據庫下,積極的分類表現并不是很好,消極和驚奇的分類效果較好,原因是二者的變化幅度相對更大,變化信息更容易被捕捉。CASME2 數據庫下,隨著樣本的質量和數量提升后,對積極的分類效果有顯著提高。分五類情緒下,生氣、抑制、其他,這三類情緒不容易被區(qū)分開,因為這三類情緒的AUs存在共同之處,所以較難判斷。盡管如此,ADCP-TOP還是具有較強的判別能力。
為驗證FROI有效性,進行分塊方式對比試驗,如表2 所示。SMIC 數據庫下,6×6 的分塊方式識別效果最好,識別率為65.14%,CASME2數據庫下,8×8 的分塊效果最好,識別率為67.31%。兩個數據庫的最好分塊方式并不相同,主要由圖像的質量不同所導致。CROI沒有比最佳的等分方式識別率高,原因為雖然去掉了面部輪廓等區(qū)域的噪聲,但CROI 的單獨ROI 的區(qū)域較大。ADCP-TOP 提取的特征屬于統(tǒng)計特征,需要通過分塊以提供位置信息,ROI 分割的越細,特征包含的位置信息和細節(jié)信息越精確,但噪聲的影響也會增大。通過對CROI 進一步的劃分得到的FROI,在SMIC h 和CASME2數據庫下識別率分別為67.09%和70.47%。
表2 ADCP-TOP在SMIC與CASME2數據庫下不同分塊方式的識別率對比
為驗證對采樣點按奇偶位置分開編碼的有效性,以LBP-TOP 為例進行實驗,如表3 所示,其中LBP-TOP 半徑為1,采樣點個數為8。OLBP-TOP為按奇數位置編碼方式,ELBP-TOP 為按偶數位置編碼方式,兩種編碼方式在CASNE2 的識別率分別為33.59%和33.43%。識別率沒有傳統(tǒng)LBP-TOP高,原因是采樣點個數減少為原來的一半,包含信息量減少。OELBP-TOP 是將OLBP-TOP 和ELBPTOP 的特征直方圖級聯(lián),對比LBP-TOP 在CASM2上的識別率提升7.2%,實驗證明奇偶位置分開編碼的方式可以提升特征的辨識性,偶數編碼位蘊藏著中心像素與周圍像素垂直和水平的運動關系,奇數編碼位蘊藏著中心像素與周圍像素斜角的運動關系,分開編碼可以增強這種潛在方向信息和特征的魯棒性。此外,ADCP-TOP加入了鄰域像素之間的編碼,如若不分奇偶方式編碼,維度為216,導致維度爆炸。奇偶位分開編碼使得ADCP-TOP 在融入更多信息時維度下降,同時也具備奇偶編碼的自身優(yōu)勢。
表3 在SMIC與CASME2數據庫下不同編碼方式的識別率對比
同LBP-TOP 一樣,我們也對ADCP-TOP 算子設計了半徑R 和采樣點P。如圖6 所示,共有三種方式,R1代表索引為偶數采樣點半徑,R2為奇數采樣點半徑。
圖6 ADCP-TOP 八采樣點不同半徑對比
表4 在SMIC與CASME2數據庫中ADCP-TOP不同參數設置下的識別率對比
在對比實驗中,采用LOSO 交叉驗證。我們復現了四種編碼方法LBP-TOP、3DHOG、CBP-TOP、HWP-TOP,另外對比三種基于光流場的微表情識別方法,并直接引用所在論文中的識別率,如表5所示。在CASME2 數據庫下,ADCP-TOP 對比基線LBP-TOP 方法識別率提升31.16%。3DHOG 通過梯度計算方向獲取運動方向信息,CBP-TOP 通過設置閾值提升抗噪性能,但二者提取的特征包含信息較少,細節(jié)提取能力不強,ADCP-TOP 改善了這一問題,對比兩種方法的識別率分別提升19.14%和6.83%。HWP-TOP 盡管與我們的算法維度相同,但HWP-TOP 沒有考慮鄰域像素之間的關系。且ADCP-TOP將采樣點按奇偶分開編碼,增加了潛在方向信息和系統(tǒng)魯棒性,識別率相比HWP-TOP提高3.47%。對比基于光流法的三種方法,ADCP-TOP 不僅具有捕捉時域信息的能力,同時也具有捕捉空間信息的能力,最終在SMIC 和CASME2數據庫下,實驗結果均有較好的提升。
表5 在SMIC與CASME2數據庫中采用LOSO交叉驗證時各算法的識別率比較
本文提出了一種新的基于相鄰雙交叉局部二值模式(ADCP-TOP)的微表情識別方法。ADCP-TOP 將鄰域像素之間關系引入改善了原有編碼有效信息不足的問題,通過對奇偶位置的采樣點分開編碼增加潛在方向信息和魯棒性,對微表情有著更強的捕捉有效信息的能力和更高的識別準確度。對于未來的工作,深度學習是由網絡自行尋找對分類有效特征,具有一定的優(yōu)勢,但需要大樣本訓練。因此今后將重點考慮如何利用傳統(tǒng)方法去引導深度學習從而減小微表情數據庫樣本數量較小的影響。