曾嵐蔚,許青林
(廣東工業(yè)大學 計算機學院,廣東 廣州 510006)
目前微表情識別任務的主流方法是基于CNN的深度學習方法,通過自動學習微表情特征以提高識別效率[1]。文獻[2]通過對微表情圖像序列使用EVM(Eulerian video magnification,EVM)方法,解決微表情面部運動的低振幅問題。文獻[3]提出基于微注意力與殘差網(wǎng)絡相結合的微表情識別網(wǎng)絡,使得網(wǎng)絡在特征提取階段更關注發(fā)生微表情運動的區(qū)域,解決微表情的局部性問題。然而,以上方法并沒有同時考慮到人臉的結構特征和特征方向信息,忽視了AUs之間的相對關系。Sabour等[4]提出的膠囊網(wǎng)絡深入理解圖像整體與部分的關系,具有旋轉不變性,擅于探索特征之間的關系,可與卷積神經(jīng)網(wǎng)絡結合使用,提高圖像空間信息的利用率。Lei等[5]在高光譜遙感圖像分類中結合膠囊網(wǎng)絡與深度卷積,Xu等[6]運用注意機制和膠囊網(wǎng)絡捕捉在線評論的情感信息,均取得了較好的識別效果。
基于膠囊網(wǎng)絡的概念與技術應用,本文提出一種微表情分類模型——深度卷積注意膠囊網(wǎng)絡。以膠囊網(wǎng)絡為基礎架構,采用EVM方法突出細節(jié)特征,引入注意力機制和深度卷積層,使網(wǎng)絡篩選出有效信息;同時利用膠囊之間的動態(tài)路由對表情特征進行編碼,提高網(wǎng)絡空間信息表達能力和微表情識別能力;最后在數(shù)據(jù)集CASME II[7]和SAMM[8]進行實驗,實驗結果表明,DCACNN的識別準確率分別達到64.43%、59.91%,提高了2.29%和3.28%。
針對卷積網(wǎng)絡不擅長捕捉面部AUs之間的相對關系和微表情呈現(xiàn)局部性的問題,通過借鑒注意力圖的生成方法和具備更強特征提取能力的膠囊網(wǎng)絡,設計了深度卷積注意膠囊網(wǎng)絡。如圖1所示,DCACNN主要由3部分組成:①對原始微表情圖像幀序列進行預處理,包括人臉檢測與裁剪、運動幅度放大、幀序列歸一化;②結合AU感知注意力的特征提取網(wǎng)絡(AU-VGG),提取人臉面部微表情的深層特征,得到具有AU感知變化的特征映射圖;③膠囊網(wǎng)絡層,結合膠囊的概念,將AU-VGG得到的特征圖通過膠囊之間的動態(tài)路由進行編碼,再由全連接層進行解碼,最后使用壓縮函數(shù)獲得微表情的識別結果。
圖1 DCACNN模型框架
圖像預處理可以有效降低無關特征對微表情識別的影響,如圖2所示,預處理包括人臉檢測與裁剪、放大面部運動以及統(tǒng)一幀長。首先選取起始幀到頂點幀作為微表情有效表情段,對首幀使用人臉檢測器[9]進行人臉檢測,確定人臉區(qū)域切割框架。其次,自動校準面部5個關鍵點,根據(jù)關鍵點將兩眼調(diào)整到同一水平線,進一步裁剪對齊后的人臉,裁剪后的大小為224×224。然后使用EVM算法對微表情樣本進行處理,放大微表情面部運動,使其更容易識別。最后,為了統(tǒng)一幀序列大小,滿足網(wǎng)絡輸入樣本幀數(shù)一致的要求,采用TIM方法將裁剪后的圖像進行歸一化處理。
圖2 微表情預處理過程
為了提高網(wǎng)絡提取高維信息和篩選關鍵特征的能力,DCACNN使用AU-VGG提取人臉微表情特征,AU-VGG的網(wǎng)絡結構與參數(shù)如圖3所示,特征提取網(wǎng)絡以傳統(tǒng)CNN為主要架構,仿照Residual Net的跳躍層結構,在卷積層上應用了注意層。
圖3 AU-VGG網(wǎng)絡結構與參數(shù)
如圖3所示,AU-VGG的卷積部分包括13個卷積層,5個池化層,對輸入圖像進行下采樣,最終得到7×7的特征圖。將AU-VGG網(wǎng)絡描述為5個階段,包括卷積層和池化層。其中,階段一和階段二包括兩個卷積層,階段三、階段四和階段五包括3個卷積層,且每個階段之間應用stride=1的2×2卷積核進行池化操作。從圖3可知,人臉微表情圖像的特征信息從224×224×3調(diào)整到7×7×512,人臉特征融入到各通道上,提高了網(wǎng)絡提取信息的能力。
AU-VGG的注意力機制參照文獻[10],引入跳躍結構,將低層特征先與注意層相乘,再與卷積后的高層特征相加,使得低層特征和高層特征都能被表示。
對于單個AU區(qū)域,不同位置具有不同的重要性,AU中心點以及區(qū)域內(nèi)部分的改變對檢測結果具有較大影響,為此需要基于關鍵面部地標構建AU注意力圖。如圖4(a)所示的面部地標關鍵點是獲得注意力圖的必要條件,AU中心不可直接使用檢測到的面部關鍵點,而是通過計算兩眼外眼角的距離,定義一個比例距離作為人臉像素移動的參考。為了使移動距離更適合于所有人臉圖像,以內(nèi)角距離作為縮放距離,有利于定位AU中心。由于人臉的對稱性,AU中心是成對的,因此每個AU定義一對點,再根據(jù)AU中心建立如圖4(b)所示的注意力圖。
圖4 注意力映射的生成
首先將人臉圖像的大小調(diào)整為100×100,以確保相同的比例在所有圖像中共享。然后,使用AU中心點附近屬于同一區(qū)域的7個像素為一個AU區(qū)域,因此每個區(qū)域的尺寸為15×15,越靠近AU中心的點其權重越大,關系式如下所示
Wa=1-0.07dm
(1)
式中:dm是某位置距離AU中心的曼哈頓距離。注意圖中權重值較高的區(qū)域是人臉微表情中的AU活躍區(qū)域,較高權重值可以增強AU的活性區(qū)域,生成注意力映射圖的算法見表1。
表1 注意力映射圖生成算法
如圖3所示,生成的注意力圖被嵌入到第三階段和第四階段中。具體操作是將第二階段的池化層生成的feature map與attention map相乘,然后與第三階段的卷積并列進行,最后將第三階段的卷積結果逐個元素相加,作為這一階段的池化層的輸入。同樣,在第四階段中,注意力映射圖與卷積層共同執(zhí)行相同的操作,其生成的模型直接作用于微表情的活動區(qū)域。
膠囊網(wǎng)絡的具體參數(shù)和結構如圖5所示,主要工作是利用動態(tài)路由機制,將AU-VGG得到的feature map進行編碼。通過AU-VGG后feature map大小為512×7×7,應用stride=1的2×2卷積核后得到256×6×6的feature map,然后調(diào)整到具有32個卷積8維通道的PrimaryCaps層,在PrimaryCaps層和MECaps層之間執(zhí)行動態(tài)路由。每個微表情類別對應16維的膠囊單元,其中每個膠囊從上一層的所有膠囊接收輸入。最后,通過三層全連通層重構圖像,分別是全連通ReLU層(size=512)、全連通ReLU層 (size=1024)和全連通的Sigmoid層(size=150 528)。
圖5 DCACNN中膠囊層的具體結構和參數(shù)
PrimaryCaps層和MECaps層之間的動態(tài)路由過程如圖6所示。當前層膠囊的輸入來自前一層膠囊的輸出,底層膠囊單元通過權重矩陣與高層膠囊單元連接,計算和判斷膠囊層之間的相關性,動態(tài)更新權重矩陣,重復這個過程直至收斂,并更新耦合系數(shù)。其中,耦合系數(shù)通過SoftMax計算得到,計算公式如下
(2)
式中:bij表示主膠囊層的第i個低級膠囊到第j個高級膠囊耦合的對數(shù)概率,其初始值設置為0,cij則通過動態(tài)路由過程迭代細化。第j個膠囊的輸入向量xj計算公式如下
(3)
為了使輸出膠囊的模長表示概率,確保輸出向量長度位于[0,1]區(qū)間,方向保持不變,應用“squash”函數(shù)進行歸一化得到的輸出向量,膠囊最終輸出向量vj計算公式如下所示
(4)
圖6 膠囊之間的層級結構和動態(tài)路由
在MECaps層之后,有3個完全連接的層用于圖像重構,這是解碼階段。需要盡量減少重建損失,以重建圖像更好地從MECaps層。在訓練中使用真實標簽作為重建目標,通過計算FC Sigmoid層輸出像素與原始圖像像素之間的歐氏距離,構造圖像重構的損失函數(shù)。
網(wǎng)絡損失函數(shù)Lnet包含邊際損失Lmargin和重構損失Lrec, 本文將重建損失的規(guī)模擴大到0.0005,使其在訓練過程中不會主導邊際損失。損失函數(shù)的計算公式如下所示
(5)
(6)
Lrec=(xrec-x)2
(7)
其中,k表示分類類別,Tk表示分類的指示函數(shù);當k存在時Tk為1,不存在則為0;m+表示正確分類的邊界,m-表示錯誤分類的邊界;x表示原始圖像,xrec表示重構后的圖像;λ表示調(diào)節(jié)圖像中微表情是否存在所導致的損失。實驗中,m+和m-的值分別為0.9和0.1,λ設置為0.5以控制其效果。
CASME II是一個200 fps攝像機記錄的255個微表情視頻序列,平均年齡22.03歲,共26名亞洲參與者,由中科院傅小蘭團隊提供。SAMM是一個由200 fps的高分辨率攝像機記錄的159個微表情視頻序列,平均年齡33.24,共32名參與者。CASME II和SAMM數(shù)據(jù)集樣本均由AU編碼,并且提供起始幀、峰值幀和結束幀位置。
兩個數(shù)據(jù)集的微表情分類均為7類,但類別和樣本數(shù)量存在差異,因此實驗對兩個數(shù)據(jù)集采取不同的樣本分類。CASME II數(shù)據(jù)集中,恐懼和悲傷的樣本量太少,不能滿足特征學習的訓練要求,因此使用高興、厭惡、驚訝、壓抑和其它5個類別的微表情樣本進行實驗。SAMM數(shù)據(jù)集中,使用消極、積極和驚訝3個類別,其中消極類由憤怒、輕蔑和悲傷組成。微表情樣本具體歸類和數(shù)量見表2。
表2 CASME II和SAMM數(shù)據(jù)集樣本歸類參照
實驗訓練測試使用的是留一受試者交叉驗證方法(leave-one-subject-out,LOSO)協(xié)議,該協(xié)議將受試者的數(shù)據(jù)作為實驗的測試集,將其余受試者的數(shù)據(jù)作為訓練集。其中CASME II數(shù)據(jù)集使用該協(xié)議進行26次訓練測試,取26組實驗的識別率平均值和F1-Score作為最終評價結果。SAMM數(shù)據(jù)集進行32次實驗后,所得到的結果平均值為最終評價結果。
在數(shù)據(jù)預處理時,EVM方法選用的放大頻段為[0.2 Hz,2.4 Hz],合理的放大系數(shù)需要通過比較不同放大系數(shù)對結果的影響來設定,否則會放大噪聲,甚至導致面部表情失真,在CASME II數(shù)據(jù)集上測試的最終結果如圖7所示。由圖7可知,當參數(shù)為8時獲得最佳結果。
圖7 不同放大系數(shù)的準確值和F1-Score
本實驗選取微表情有效表情段為輸入,并將輸入網(wǎng)絡所有圖像大小統(tǒng)一調(diào)整為224×224,采用放大倍數(shù)為8的圖像,統(tǒng)一幀長為50。實驗訓練過程中使用Adam優(yōu)化網(wǎng)絡學習算法,其中學習率設置為0.0001,β1=0.9,β2=0.999,ε=10-8(一個極小值,防止它除以零的實現(xiàn))。批大小和迭代次數(shù)分別設置為16和100。
為了驗證AU注意力機制和動態(tài)路由的有效性,將分別對結合AU感知注意力的卷積網(wǎng)絡(AU-VGG)、具有豐富卷積層的膠囊網(wǎng)絡(deep convolutional capsule neural network,DCCNN)、DCACNN的實驗效果進行對比評估,以上方法在CASME II和SAMM數(shù)據(jù)集的實驗結果見表3。
表3 CASME II和SAMM數(shù)據(jù)集消融實驗結果
由表3可知,DCACNN在CASME II和SAMM數(shù)據(jù)集上都取得了比AU-VGG和DCCNN更好的實驗結果。膠囊之間的動態(tài)路由使模型的準確率分別提高4.79%、4.15%,引入注意力約束使模型的準確率都提高1%。動態(tài)路由機制能夠捕捉關鍵特征之間的變化,獲取更好的深層特征表示,因此DCACNN準確率比AU-VGG高,驗證動態(tài)路由的有效性。具有AU注意機制的模型比不具有注意機制的模型更能捕捉到細微的肌肉運動,因此DCACNN準確率比DCCNN高,驗證AU感知注意力的有效性。通過人臉地標生成AU注意力圖,有助于提升模型篩選出關鍵局部區(qū)域特征的能力,使模型獲取需要關注的活躍區(qū)域。因此,基于人臉地標生成的AU注意力圖和具有深度卷積層的膠囊神經(jīng)網(wǎng)絡都有效增強DCACNN的特征提取能力,都有利于提高微表情識別的準確率。
進一步評價模型對數(shù)據(jù)集的分類和識別能力,采用混淆矩陣對微表情識別模型的準確性進行評估,AU-VGG、DCCNN、DCACNN在CASME II和SAMM數(shù)據(jù)集上的實驗結果混淆矩陣分別如圖8、圖9所示?;煜仃嚨牧斜硎灸P皖A測類別,行表示該類的模型預測結果,斜對角線為微表情被正確分類的樣本數(shù)量占該類別樣本總數(shù)的比重。由圖8和圖9可知3個模型均具有微表情分類識別的能力,且DCACNN取得了更好的結果,具有更強微表情識別能力。綜合比較圖8可知,CASME II數(shù)據(jù)集中,高興和其它的微表情分類比其它分類結果好,原因在于不同情緒的生物力學性質(zhì)不同,產(chǎn)生高興表情時具有較強面部運動強度;其它分類的微表情大多為自然表情,訓練樣本占比最高,是簡單樣本學習。而厭惡和壓抑兩種情緒有很多相似之處,區(qū)分度較低,且樣本分布不平衡;驚訝表情則訓練樣本數(shù)量較少。在SAMM數(shù)據(jù)集中,消極類樣本在數(shù)據(jù)集中占較大比重,因此識別效果最佳,積極類樣本即高興類,其面部肌肉運動幅度較大因此得到較好的識別效果。
圖8 不同方法在CASME II上的混淆矩陣
圖9 不同方法在SAMM上的混淆矩陣
為驗證模型的有效性,將DCACNN與主流微表情識別算法進行對比,見表4和表5。
表4 CASME II數(shù)據(jù)集的實驗結果對比
表5 SAMM數(shù)據(jù)集的實驗結果對比
LBP-TOP[11]、LOFBP-TOP[12]、Bi-WOOF[13]、STCLQP[14]是傳統(tǒng)提取特征方法。其中,LBP-TOP是微表情識別的基線方法,其作用機制是在相互正交的3個平面中,采用局部二進制對微表情圖像進行特征表示,從而達到分類的目的。LOFBP-TOP是一種將光流和LBP-TOP相結合的微表情識別方法,利用LBP-TOP對光流編碼來獲取微表情特征并進行分類。Bi-WOOF是通過光應變?nèi)旨訖?、光流強度局部加權的雙加權方向光流直方圖獲取微表情特征的方法。STCLQP是基于時空完全局部量化模式的識別方法,在進行微表情識別時考慮了信號、大小和方向等因素。
Micro-Attention[3]、CNN-LSTM[15]、ELRCN-TE[16]、3D-FCNN[17]、LGCconD[18]、LGCcon[18]、OFF-ApexNet[19]、Dual-Inception[20]是基于深度學習的微表情識別方法。其中,Micro-Attention是基于微注意力與殘差網(wǎng)絡相結合的網(wǎng)絡,在residual block中集成微注意單元。CNN-LSTM是結合時域和空域的微表情識別方法,采用CNN提取圖像序列的狀態(tài)獲得空間維度信息,使用LSTM長時記憶網(wǎng)絡獲取時間維度信息,將二者結合并進行微表情分類識別。ELRCN-TE引入增強的長期遞歸卷積網(wǎng)絡,由空間特征提取器和捕獲時間信息的時態(tài)模塊組成。3D-FCNN同時提取光流幀序列和原始幀序列的時空特征,在全連接層對時空特征進行融合。LGCcon使用結合局部信息和全局信息的聯(lián)合特征學習網(wǎng)絡來識別微表情,LGCconD是經(jīng)過頂點幀定位的LGCcon方法。OFF-ApexNet構建一個頂點幀網(wǎng)絡框架,使用微表情的起始幀、頂點幀和結束幀獲取人臉圖像特征,將光流特征圖像輸入淺層CNN進行識別和分類。Dual-Inception將光流特征的水平和垂直分量輸入雙流Inception網(wǎng)絡進行微表情識別。
表4表示DCACNN在CASME II數(shù)據(jù)集上的對比結果。由表4可知傳統(tǒng)手工特征識別算法中識別率最高的是STCLQP,F(xiàn)1-Score最高的是Bi-WOOF,深度學習算法中識別率和F1-Score最高的是LGCconD。DCACNN在CASME II上的微表情識別準確率比STCLQP和LGCconD分別提高了6.04%和2.29%,DCACNN在F1-Score指標上比Bi-WOOF和LGCconD分別提高了0.88%和2.13%。與手工描述特征的識別方法相比,深度學習的方法能夠省去手工特征提取過程,直接從原始的微表情圖像幀序列中提取特征,并且通過逐層學習的方式不斷地調(diào)整模型參數(shù)和權重,以優(yōu)化提取到的特征,在簡化了特征提取步驟的基礎上取得了較好的識別效果。因為DCACNN采用的膠囊網(wǎng)絡充分利用人臉結構空間信息,以及引入AU注意力機制,使DCACNN對于數(shù)量較少的樣本也有一定的識別準確率,進一步提高F1-Score。
表5表示DCACNN在SAMM數(shù)據(jù)集上的對比結果。由表5可知DCACNN在SAMM數(shù)據(jù)集上的識別準確率比Bi-WOOF和Dual-Inception分別提高了8.52%和3.28%,在F1-Score指標上分別提高了6.78%和0.21%。對比表4和表5可知,由于SAMM數(shù)據(jù)集樣本數(shù)量較CASME II少,且樣本分布不均衡,導致微表情方法SAMM數(shù)據(jù)集上的識別效果整體低于CASME II數(shù)據(jù)集,可見微表情識別的進一步發(fā)展還需要構建更大的微表情數(shù)據(jù)集和更均衡的樣本分類分布。
本文提出了一種用于微表情分類的深度卷積注意膠囊網(wǎng)絡DCACNN。針對微表情運動的局部性和傳統(tǒng)卷積空間信息特征提取能力不足的問題,①將AU注意力約束融入傳統(tǒng)卷積網(wǎng)絡中,提高網(wǎng)絡提取高維特征和微表情活躍區(qū)域特征的能力;②采用膠囊網(wǎng)絡的動態(tài)路由機制,提高網(wǎng)絡獲取空間結構信息的能力,更有效地表示微表情特征。理論分析和實驗結果表明,DCACNN識別準確率在CASME II和SAMM數(shù)據(jù)集上分別達到64.43%、59.91%,分別提高2.29%和3.28%。但是微表情數(shù)據(jù)集較少、微表情樣本類別數(shù)量不均衡的問題仍然是導致識別率較低的主要原因,研究如何在長視頻中發(fā)現(xiàn)微表情以拓展微表情數(shù)據(jù)集是下一步可以研究的方向。