袁 博,薛珮蕓,2*,白 靜,師同同
(1.太原理工大學 信息與計算機學院,山西 太原 030024;2.山西高等創(chuàng)新研究院,山西 太原 030032)
微表情是一種變化迅速的面部表情,具有持續(xù)時間短、變化細微等突出特點,通常發(fā)生在某人故意隱藏或壓抑自己的真實感受時[1]。微表情作為一種心理應(yīng)激反應(yīng),既不能隱藏也不能抑制,因此,微表情識別在公共服務(wù)、刑事偵查和臨床診斷等領(lǐng)域有著廣泛的應(yīng)用。由于微表情的變化是迅速而微妙的,動作特征非常微小,因此如何有效地識別微表情對專業(yè)人士來說是一個極大的挑戰(zhàn)。
現(xiàn)有的研究主要從2個方面提取微表情特征:使用傳統(tǒng)的特征提取方法和基于深度學習的特征提取方法。傳統(tǒng)的微表情特征提取方法包括圖像紋理特征[2-3]和光流特征[4-6]2類。近年來,隨著人工智能的快速發(fā)展,越來越多的研究嘗試使用深度學習算法提取微表情特征。然而,由于現(xiàn)有的微表情數(shù)據(jù)集樣本量很少,對原始的微表情圖像使用深度學習算法很難獲得滿意的效果,因此遷移學習成為解決這個問題的一種有效策略[7-9]。在最近的研究中,許多研究者同時將深度學習和光流法應(yīng)用到微表情識別中[10-12]。作為一種捕獲視頻中運動信息的成熟技術(shù),在進行微表情識別時,光流比原始圖像序列更有效。光流特征是一種動態(tài)幾何特征,表示了圖像序列在X、Y、T三個方向的運動情況,然后將光流特征輸入到卷積神經(jīng)網(wǎng)絡(luò)中,該網(wǎng)絡(luò)可以通過監(jiān)督學習的方式構(gòu)造并選擇更重要的運動特征進行分類。然而,盡管光流圖像比于原始圖像有更好的效果,但是受到微表情數(shù)據(jù)集樣本量較少的限制,能夠提取到的光流特征也是有限且單一的。雖然目前有很多研究在盡可能地提取光流特征中的信息,但對最終微表情識別率的提升效果不明顯。
針對以上問題,本文提出了一種基于差分圖像序列的微表情特征提取方法,可以有效地提取到微表情序列的運動特征。為了在較短時間內(nèi)提取到微表情的關(guān)鍵信息,設(shè)計了一種基于雙路特征和混合注意力機制的分類模型,將微表情的差分圖像序列特征和光流特征由2條支路送入混合注意力機制模型。實驗結(jié)果表明,使用雙路特征比單一特征效果更好,使用混合注意力機制的效果遠好于不使用注意力機制。
光流是圖像序列中連續(xù)2幀之間物體的視運動的模式,是一種二維向量場,其中每個向量都是位移向量,代表圖像中像素點在相鄰幀之間的運動位移。光流法是基于以下3個假設(shè)提出的:
① 連續(xù)幀之間的亮度恒定;
② 連續(xù)幀像素強度不變;
③ 保持空間一致性。
在上述3個假設(shè)條件滿足的情況下,連續(xù)2幀之間的像素值可以表示為:
I(x,y,t)=I(x+dx,y+dy,t+dt),
(1)
式中:I(x,y,t)表示在t時刻圖像在坐標(x,y)處的像素值,2幀之間間隔dt時間,dx、dy分別表示上一幀(x,y)處的像素點在x軸和y軸上的位移。
然后使用泰勒級數(shù)進行右側(cè)逼近展開,去掉常數(shù)項且兩端同時除以dt,得到:
fxu+fyv+ft=0,
(2)
式中:
(3)
(4)
式(1)~式(4)稱為光流方程式,其中fx和fy表示像素在x軸和y軸上的位移,ft是像素隨時間變化的梯度,這些可以很容易得到。但是(u,v)是未知的,不能用2個未知變量來求解這個方程。為了解決這個問題,本文使用Lucas-Kanade算法,用一個3×3矩陣將像素周圍9個點包圍起來,在假設(shè)③滿足的情況下,可以視為被3×3矩陣包圍的這些點的運動是相同的,可以找到這些點的fx、fy和ft,然后得到一個包含2個未知變量的方程組,使用最小二乘法求方程組的解,公式如下:
。(5)
通過上述算法即可得到微表情的光流向量(u,v),然后將微表情光流向量轉(zhuǎn)化為RGB圖像,得到的光流特征如圖1所示。
圖1 微表情光流特征Fig.1 Micro-expression optical flow characteristics
雖然光流圖像可以很好地反映幀間目標運動狀態(tài)的變化,但是在計算光流特征時會受到光流法3個假設(shè)條件的限制,當這3個假設(shè)不能很好地滿足時,很容易產(chǎn)生誤差,從而引入大量的噪聲。在實際情況中,由于光線和目標運動速度不確定等因素的影響,導致光流特征的3個假設(shè)條件不容易滿足。針對上述問題,本文提出了一種基于差分圖像序列的微表情特征提取方法,該方法可以有效地提取到微表情序列的運動特征,當不考慮光照條件變化的影響時,圖像差分算法的表達式如下:
Di(x,y)=Ii(x,y)-Ionset(x,y),
(6)
式中:Ii(x,y)表示微表情序列第i幀在(x,y)處像素的灰度值,Ionset(x,y)表示微表情序列起始幀在(x,y)處的灰度值,Di表示微表情序列第i幀通過圖像差分運算得到的特征矩陣,Di(x,y)表示經(jīng)過圖像差分算法后在(x,y)處的特征值。
在使用圖像差分算法時,同樣會受到光照條件變化的影響。為了解決這個問題,本文對微表情序列中的每一幀與起始幀進行圖像差分運算,可以得到與微表情序列幀數(shù)相同的差分圖像序列。由于差分圖像序列中的每一幀都是由微表情序列的對應(yīng)幀與起始幀進行差分運算得到,所以差分圖像序列中的每一幀都考慮到了光照變化產(chǎn)生的影響。為了表示第i幀和起始幀之間由于光照條件變化引入的噪聲,本文引入時間維度變量t,具體表達式如下:
Fi(x,y,ti)=Di(x,y,ti)+δ(ti),
(7)
F= {F1,F2,…,Fn}=
{D1+δ(t1),D2+δ(t2),…,Dn+δ(tn)},
(8)
式中:δ(ti)表示在計算第i幀差分圖像時由于t0~ti時刻的光照變化引入的噪聲,Fi表示考慮了噪聲的第i幀差分圖像,F={F1,F2,…,Fn}表示最后得到的差分圖像序列特征。本文在對微表情圖像幀歸一化時,使用的是等間隔采樣法,即對每一個微表情序列等時間間隔采取10幀,因此這里n=10,間隔時間Δt表達如下:
Δt=t1-t0=t2-t1=…=tn-tn-1。
(9)
式(8)可以寫成:
F= {F1,F2,…,Fn}=
{D1+δ(t1),D2+δ(t1+Δt),…,Dn+δ(t1+(n-1)Δt)}。
(10)
由于亮度隨時間的變化是平穩(wěn)連續(xù)的,且n=10是一個有限數(shù)值,所以當Δt足夠小時,在Δt時間內(nèi)由于光照產(chǎn)生的噪聲可以忽略不計,即:
δ(t+Δt)=δ(t),Δt→0,
(11)
所以式(10)可以寫成:
F= {F1,F2,…,Fn}=
{D1+δ(t1),D2+δ(t1),…,Dn+δ(t1)}。
(12)
因此,差分圖像序列特征F={F1,F2,…,Fn}中每一幀都考慮到了與起始幀之間的噪聲,且每一幀的噪聲都是δ(t1),δ(t1)表示微表情序列第一幀與起始幀之間的噪聲。將差分圖像序列特征F={F1,F2,…,Fn}作為神經(jīng)網(wǎng)絡(luò)的輸入特征時,由于每一幀引入的噪聲都是δ(t1),相當于在原始序列特征上加了一個常數(shù),因此在訓練時并不會對訓練結(jié)果產(chǎn)生影響,這樣就避免了光照條件變化對分類結(jié)果產(chǎn)生的影響。得到差分圖像序列特征Fi后,將這些特征使用均值歸一化進行處理,將所有特征值歸一化到-1~1,這樣可以避免在后續(xù)對特征進行分類的過程中由于特征值范圍過大對最終分類結(jié)果產(chǎn)生影響,具體表達式如下:
(13)
圖2 根據(jù)原始微表情序列提取差分圖像序列Fig.2 Extract the difference image sequence according to the original micro-expression sequence
注意力機制的本質(zhì)是給予不同的特征信息賦不同權(quán)重的過程,即給那些對最終結(jié)果貢獻度較大的特征賦予較高的權(quán)重,而對那些無用的特征信息,注意力機制會賦予它們很小的權(quán)重,正是通過這種方式,注意力機制可以準確地定位到那些有用信息,同時忽略掉那些無用信息。由于光流特征和差分圖像序列特征都是多通道圖像的形式,因此本文使用通道注意力機制和空間注意力機制,組成混合注意力機制來提取關(guān)鍵特征。
為了更精準地進行區(qū)域定位并識別對最終結(jié)果貢獻度大的特征信息,本文所用的空間注意力機制將平均池化和最大池化進行了分離,用2個通道分別對特征進行處理,如圖3所示。
圖3 可分離空間注意力機制Fig.3 Separable spatial attention mechanism
圖3展示了本文使用的可分離空間注意力機制的細節(jié),其中X為模型的輸入特征,維度為C×H×W,C為通道數(shù),H為特征高度,W為特征跨寬度。為了方便以后訓練,避免出現(xiàn)梯度消失的問題,可以對輸入特征進行批標準化(Batch Normalization,BN)處理,顧名思義,就是選取一小批數(shù)據(jù)對特征X作標準化處理,具體公式如下:
(14)
(15)
(16)
(17)
圖4 批標準化使用的batch組卷積核Fig.4 Batch convolution kernel used for batch standardization
圖5所示為通道注意力機制,輸入特征X同樣經(jīng)過批標準化處理后,用2個通道對特征BN(X)進行最大池化和平均池化,輸出為C×1×1的特征向量,然后使用多層感知機(Multilayer Perceptron, MLP)對2個特征向量進行處理,最后使用Sigmoid激活函數(shù)對其進行激活,即可得到最后的輸出結(jié)果。
圖5 通道注意力機制Fig.5 Channel attention mechanism
將通道注意力機制和空間注意力機制組合成混合注意力機制模塊,對微表情的差分圖像序列特征圖和光流特征圖進行分類識別,整體模型結(jié)構(gòu)可視為由混合注意力模塊和CNN模塊構(gòu)成,如圖6所示,模型輸入為微表情序列,根據(jù)本文前面提到的算法提取微表情的差分圖像序列特征圖和光流特征圖。然后將2種特征圖分2路輸入圖5所示的通道注意力機制,得到通道注意力輸出后對輸入的特征圖進行采樣,即將特征圖對應(yīng)通道特征值與通道注意力輸出的對應(yīng)通道值相乘,得到output_1和output_3。之后將其輸入圖3所示的空間注意力機制,得到空間注意力機制輸出后分別對輸入的output_1和output_3進行采樣,即將output_1和output_3與空間注意力機制輸出的對應(yīng)位置相乘,得到output_2和output_4。將output_2和output_4經(jīng)過三維卷積(conv3d)和最大池化之后,將輸出通過Flatten展開并送入全連接層(Fully Connected Layers, FC),最后使用Softmax進行分類。
圖6 融合注意力機制的雙通道微表情識別網(wǎng)絡(luò)模型Fig.6 Two-channel micro-expression recognition network model with attention mechanism
本文在CASMEⅡ[13]、SMIC(HS)[14]、SAMM[15]和MEGC2019[16]數(shù)據(jù)集上進行實驗,采用第2屆國際微表情識別大賽 (MEGC2019)的微表情分類標準,將標簽劃分為negative、positive、surprise三類。MEGC2019數(shù)據(jù)集包含442個樣本,分別從CASME Ⅱ、SMIC(HS)、SAMM數(shù)據(jù)集上抽取了145、164、133個樣本,具體劃分方式如表1所示。
表1 MEGC2019數(shù)據(jù)集詳細信息
由于微表情數(shù)據(jù)集樣本數(shù)比較少,因此在本文的實驗中,采用了留一交叉驗證法,具體來說,就是從微表情數(shù)據(jù)集的所有人員樣本中抽取一個人的樣本作為測試集,其余所有人的樣本作為訓練集,一直重復這個流程,直到整個實驗過程中所有人都被當作過測試集。
由于微表情數(shù)據(jù)集樣本數(shù)量不均勻,本文使用未加權(quán)平均召回率(Unweighted Average Recall, UAR)和未加權(quán)F1得分(Unweighted F1-score, UF1)對實驗進行評估,并使用混淆矩陣分析在微表情識別時容易產(chǎn)生混淆的數(shù)據(jù)。首先分別統(tǒng)計真陽性(True Positive,TP)、假陽性(False Positive,FP)、真陰性(True Negative,TN)、假陰性(False Negative,FN)的數(shù)量,設(shè)樣本總數(shù)為N。根據(jù)這些信息即可算出UAR和UF1,具體計算如下:
(18)
(19)
(20)
(21)
式中:c表示標簽類別,TPc表示類別c真陽性數(shù)量,FPc表示類別c假陽性數(shù)量,FNc表示類別c假陰性數(shù)量,Recallc表示類別c的召回率(Recall),UF1c表示類別c的UF1,Nc表示標簽數(shù)量。
本文實驗使用的操作系統(tǒng)為Windows 10,CPU為Intel酷睿i9 12900H,主頻2.5 GHz,運行內(nèi)存64 GB,GPU為NVIDIA GeForce RTX3060Ti,顯存8 GB。實驗使用環(huán)境為Anaconda 4.9.2,Python 3.6.13,Tensorflow 2.2.0,Keras 2.4.3。實驗提取的差分圖像序列特征圖和光流特征圖維度均為N×10×32×32,其中N表示微表情數(shù)據(jù)集的樣本數(shù)量。圖6所示模型可訓練參數(shù)設(shè)置如表2所示,空間注意力機制中卷積核大小為5×5,最大池化和平均池化大小為10×1×1。通道注意力機制中最大池化和平均池化大小為1×32×32,MLP包含2個全連接層,每一層都由2個神經(jīng)元組成。實驗中使用的激活函數(shù)除了圖3、圖5提到的Sigmoid和圖6提到的Softmax之外,其余均為ReLU。模型訓練時batch_size設(shè)置為8,epoch設(shè)置為50,使用的損失函數(shù)為SparseCategoricalCrossentropy。
表2 模型參數(shù)設(shè)置
本文在CASME Ⅱ、SMIC(HS)、SAMM、MEGC2019數(shù)據(jù)集上進行了實驗,提取微表情數(shù)據(jù)集的光流特征和差分圖像特征,送入圖6所示的分類模型中對微表情進行識別。為了驗證同時使用光流特征和差分圖像特征的有效性,在圖6所示模型結(jié)構(gòu)不變的情況下,改變模型的輸入特征圖,即設(shè)置以下3組對比試驗,分別是2路均為光流特征、2路均為差分圖像序列特征和2路分別為光流特征和差分圖像序列特征,實驗結(jié)果如表3所示??梢钥闯?除了SMIC(HS)數(shù)據(jù)集上2種特征UF1略低于差分圖像序列特征,其余情況下相比于單一特征,同時使用光流和差分特征在UAR和UF1上均有所提升。由此可知,在大多數(shù)情況下,相比于使用單一的特征,同時使用光流特征和差分圖像序列特征對微表情識別的效果更好。
表3 不同特征在微表情分類模型下的識別率
為了驗證本文提出模型的有效性,對圖6所示的模型進行消融實驗,在輸入特征為光流特征和差分圖像序列特征雙路特征的情況下,將圖6所示的模型進行拆分,并在CASMEⅡ、SMIC(HS)、SAMM、MEGC2019數(shù)據(jù)集上進行實驗,實驗結(jié)果如表4所示。相較于不使用注意力機制的情況下,僅使用空間注意力機制或僅使用通道注意力機制,在UAR和UF1上均有10%左右的提升,使用混合注意力機制又比使用單一的空間注意力機制或通道注意力機制在UAR和UF1上有3%左右的提升。根據(jù)表2所示的可訓練參數(shù)設(shè)置可知,注意力機制所引入的可訓練參數(shù)不到整體模型的0.1%,卻對最終識別率帶來了較大的提升,由此可知使用混合注意力機制對模型的提升效果較為明顯。
表4 消融實驗結(jié)果對比
圖7為CASME Ⅱ、SMIC(HS)、SAMM、MEGC2019數(shù)據(jù)集上的混淆矩陣表示??梢钥闯?在4個數(shù)據(jù)集上,對negative的識別率最高,而對positive和surprise的識別率則相對較低,并且在所有錯誤識別的樣本中,大多數(shù)被誤判為negative,這種現(xiàn)象是由于微表情數(shù)據(jù)集樣本數(shù)量不均衡導致,其中negative的樣本數(shù)量遠大于positive和surprise。
圖7 CASMEⅡ、SMIC(HS)、SAMM和MEGC2019在混合注意力模型上的混淆矩陣Fig.7 Confusion matrix of CASMEⅡ, SMIC(HS), SAMM and MEGC2019 on mixed attention model
為了驗證本文方法的有效性,將本文提出的方法與目前已有的微表情識別算法在CASMEⅡ、SMIC(HS)、SAMM、MEGC2019數(shù)據(jù)集上進行對比,結(jié)果如表5所示??梢钥闯?除了文獻[17]所用方法在SMIC(HS)和SAMM數(shù)據(jù)集上UF1指標略高于本文方法之外,其余情況下本文方法均優(yōu)于其余方法。這是因為文獻[17]使用了深度卷積和自編碼器,模型復雜度遠遠高于本文使用的模型,由此可知本文模型在訓練效率遠高于文獻[17]使用方法的基礎(chǔ)上,僅2個指標略低于文獻[17]使用方法,其余情況下均高于文獻[17]使用方法。相比于目前已有的微表情識別方法,本文提出的基于雙路特征和混合注意力機制的微表情識別方法效果更好。
表5 本文方法與其他主流方法對比
本文提出了一種基于雙路特征和混合注意力機制的微表情識別方法,針對微表情特征難以提取的問題,首先提出了同時使用光流特征和差分圖像序列特征對微表情進行識別。由于微表情的動作具有持續(xù)時間短、幅度小的特點,尋常的分類模型難以準確地捕捉到關(guān)鍵信息,因此本文提出了一種改進的混合注意力機制的微表情分類模型,即同時使用空間注意力機制和通道注意力機制提取微表情的關(guān)鍵信息,并且在CASME Ⅱ、SMIC(HS)、SAMM、MEGC2019數(shù)據(jù)集上進行了實驗,取得了較好的識別效果。雖然本文提出的方法取得了較好的識別效果,但是雙路模型引入了較多的模型參數(shù),整個流程的實時性難以得到保證。在今后的工作中,將嘗試優(yōu)化微表情分類模型,并且在保證不影響識別率的情況下,盡量減少網(wǎng)絡(luò)輸入特征的維度、提升微表情識別的效率,并將本文提出的微表情識別方法運用到微表情識別系統(tǒng)中。