?

基于卷積注意力模塊和雙通道網絡的微表情識別算法

2021-09-18 06:21牛瑞華邢斕馨吳仁彪
計算機應用 2021年9期
關鍵詞:頂點矩陣特征

牛瑞華,楊 俊,邢斕馨,吳仁彪

(天津市智能信號與圖像處理重點實驗室(中國民航大學),天津 300300)

(*通信作者電子郵箱rbwu@vip.163.com)

0 引言

微表情作為一種有效的非語言線索,在心理治療、司法審訊、國際反恐及國家安防[1-3]等領域具有其他語言符號無法替代的重要作用。在微表情研究初期,其識別率不足50%[4-5];近年來,微表情分析逐漸成為情感狀態判定的重要因素,識別方法也從最初的人工判別向技術手段演變。

Li 等[6]率先提出了一種基線算法,使用三個正交平面的局部二值模式(Local Binary Patterns from Three Orthogonal Planes,LBP-TOP)直方圖進行特征提??;Xu 等[7]則引入了光流估計的算法,根據光流的主要方向提取微表情特征;為了更好地描述光流特征信息;Liu 等[8]提出了更加簡單有效的基于空間局部紋理的主方向平均光流法(Main Directional Mean Optical-flow,MDMO)[9],但其容易丟失特征空間中固有底層的流行結構,稀疏的MDMO 可以很好地彌補這一缺陷。盡管傳統的識別算法在不斷優化,但在特征的自動識別上有著難以彌補的劣勢,進而難以有效提高分類水平。隨著研究的不斷深入,深度學習開始應用于微表情識別領域。Peng 等[10]使用了遷移學習的算法,將在ImageNet 上預訓練的ResNet10 用于微表情數據集,并進行參數微調;Khor 等[11]進一步提出豐富的長期遞歸卷積網絡(Enriched Long-term Recurrent Convolutional Network,ELRCN),利用卷積神經網絡(Convolutional Neural Network,CNN)模塊完成微表情序列的特征向量編碼,利用長短期記憶(Long Short-Term Memory,LSTM)網絡進行微表情分類。文獻[12-13]分別提出了頂點幀時間網絡(Apex-Time NETwork,ATNET)和基于頂點幀的混合卷積特征網絡(Stacked Hybrid Convolution Feature Network,SHCFNet),通過計算頂點幀(apex frame,表示微表情狀態幅度最大的圖像幀)與序列中某一代表幀的光流特征并利用CNN 完成微表情識別,可節省計算圖像序列的網絡開銷。但使用多張圖片的微表情識別需要有記憶功能的特定網絡,且會產生一定的冗余信息,若只利用頂點幀進行微表情識別,可以更廣泛地選取適合網絡以更好地提取微表情特征,也可進一步降低識別過程的復雜性。Zhou 等[14]通過樣式聚合和注意力轉移(Style Aggregated and Attention Transfer,SAAT)的算法實現頂點幀分類,Pan等[15]提出了層次支持向量機(Hierarchical Support Vector Machine,H-SVM)的頂點幀識別算法,Quang等[16]則直接使用CapsuleNet完成頂點幀的特征提取和識別分類。上述算法相比基線算法可以達到較好的識別效果,但利用神經網絡的特點更好地關注微表情的細微特征并獲取最有效的特征,才是提高微表情識別效果的有效路徑。

文獻[17]提出的高度耦合的雙通道網絡(Dual Path Networks,DPN)算法同時具備細化特征和探索特征的雙重優勢,在圖像分類、場景分類、目標檢測等領域展現出極大的優勢。文獻[18]提出的卷積注意力模塊(Convolutional Block Attention Module,CBAM)是一種從通道和空間維度進行雙重特征權重標定的注意力模塊,它依據多方向的特征增強改善網絡識別效果。本文以DPN 為主要框架,融合CBAM,提出一種微表情識別算法——CBAM-DPN。使用該算法得到的模型可以在發現微表情細微特征的同時有效突出重點區域,實現了對微表情頂點幀的識別分類,充分發揮了CBAM 和DPN 的優勢。實驗結果表明,CBAM-DPN 算法有效提高了微表情的識別性能,未加權F1 值(Unweighted F1-score,UF1)和未加權平均召回率(Unweighted Average Recall,UAR)分別可以達到0.720 3和0.729 3,相對現在的微表情識別算法有較大優勢。

1 本文算法

1.1 DPN

DPN結合了ResNet[19-20]細化特征使特征重復使用和DenseNet[21]支持更多新特征細節探索的共同優點,是典型的混合網絡。DPN 內部具有高度耦合的雙通道鏈路連接結構,可有效解決深層網絡訓練時梯度消失的問題,在高計算效率的基礎上保證了更少的參數開銷。DPN 由多個模塊化的Micro-block 堆疊而成,每個Micro-block都采用了1×1,3×3,1×1的Bottleneck層設計,通過ResNet和DenseNet 的Bottleneck層共享形成了一個雙路徑網絡。

DPN 迭代訓練的典型特點是Bottleneck 結構最后一個卷積層的輸出會根據比例合理地劃分為兩部分:一部分進入ResNet路徑(為提高每個Micro-block的學習能力,使用ResNet的一種變體ResNeXt[22]結構);另一部分進入DenseNet 路徑;兩個路徑輸出的特征矩陣進入下一個Micro-block前又會進行合并操作,便于特征提取。如此循環,既很好地探索了新特征又保證了網絡的靈活性,同時具備兩種路徑拓撲結構的優勢,Micro-block 網絡結構如圖1 所示。第k個Micro-block 的特征映射矩陣的推導過程可以用式(1)表示:

圖1 Micro-block的結構Fig.1 Structure of Micro-block

其中:“⊕”表示add 操作;“?”表示concat 操作;hk-1為第k-1 層輸出的特征映射矩陣;hk為經過concat 操作后得到的新的特征映射矩陣;f k(?)和f k(?)'為經過Bottleneck 結構后分別進入ResNet 路徑和DenseNet 路徑的函數;xk-1和yk-1分別表示第k-1層ResNet路徑和DenseNet路徑的特征映射矩陣。

1.2 CBAM-DPN

1.2.1 CBAM

CBAM[23]是結合了通道和空間這兩種不同方向的雙重注意力選擇模塊,可以多方位進行卷積,從而取得更好的效果。其原理是:通過一層新的權重賦值將輸入數據中的關鍵特征標識出來,從而讓神經網絡學習到輸入數據中需要關注的特征區域。CBAM的原理如圖2所示。

圖2 CBAM的原理圖Fig.2 Principle diagram of CBAM

CBAM 將原神經網絡卷積層的輸出矩陣F∈RC×H×W作為該模塊的輸入矩陣。該模塊在通道維度上對輸入矩陣同時進行最大池化和平均池化操作,并對得到的2 個不同的信道描述符進行壓縮合并操作,合并后的描述符經過單個卷積核的隱藏層生成通道權值矩陣F′∈RC×H×W,如式(2)所示。而空間注意力模塊作為通道注意力模塊的擴充部分,是在空間維度上使用最大池化和平均池化并將信息壓縮為一個信道描述符,經過空間壓縮操作的計算得到空間權值矩陣F″,如式(3)所示。上述操作可建模像素點之間的重要程度以有效突出信息區域。

其中:Ms(F)∈RC×H×W和Ms(F′)∈RC×H×W分別表示三維的通道壓縮權值矩陣和空間壓縮權值矩陣;“⊙”表示矩陣元素的乘操作。

1.2.2 CBAM-DPN的單個結構

CBAM-DPN 的結構優化是將CBAM 融合到每個Bottleneck 層之后,形成一個新的Mirco-block 結構。CBAMDPN 結構可以在獲得Bottleneck 層的共享權重后,根據通道、空間的不同重要程度去增強有用特征并抑制無用特征,從而增強網絡的特征表達能力,實現對卷積層輸出的特征矩陣中信息區域的有效突出。CBAM-DPN中單個結構塊的計算單元結構如圖3所示。

圖3 單個結構塊的計算單元結構Fig.3 Calculation unit structure of single structure block

圖3 中:hk-1為第k-1 層輸出的特征映射矩陣,即經過上一個Mirco-block的卷積變換后得到的非線性特征映射。hk-1經過Bottleneck層和CBAM的過程可以具體化為如下公式:

輸入CBAM-DPN 單個結構的特征矩陣經過Bottleneck 層式(4)~(6)所總結的過程進行權重賦值,得到新的特征映射矩陣。為進一步突出特征矩陣內的有效區域,進入CBAM,在模塊內依次經過通道和空間維度,兩個維度中的平均池化和最大池化層可以完成特征降維并實現特征的有效突出,通道維度中的多層感知機(Multi-Layer Perceptron,MLP)可以根據需要改變輸出特征矩陣的維度。通過空間和通道的雙維度特征提取得到新的特征映射矩陣Uk,從而實現信息區域的有效突出。

1.3 CBAM-DPN算法設計

CBAM-DPN 微表情識別算法的主要步驟如圖4 所示。對微表情數據集進行圖像預處理,獲取到微表情序列的頂點幀,將其轉化為圖像矩陣并作為InputBlock 模塊的輸入數據。Input Block 模塊會對輸入數據進行批歸一化操作以加快所訓練模型的收斂速度,并粗略篩選有效特征矩陣。然后,特征矩陣進入雙通道Block,每個雙通道Block 都會存在一個Transition 層[24]。Transition 層的結構只存在于每個Block 的第一個Micro-block 之前,既可以承接上一個Block 的特征信息,又可以減少網絡參數,降低數據冗余量。CBAM-DPN 共存在4 個Block 結構,每個Block 中Micro-block 的數量直接決定了整個CBAM-DPN 的深度,可以根據數據集大小,完成對每個Block 中Micro-block 個數的劃分,實現更好的模型訓練效果。特征矩陣經過雙通道Block后會提取到豐富的特征信息,通過自適應平均池化層進行下采樣,實現特征矩陣降維,減少計算量。在全連接層前加入Dropout 層,可以進一步降低特征冗余,加快運算速度,一定程度上解決過擬合問題的出現。最后,通過全連接層將特征矩陣展成一列并連接在一起,根據每個數值的權重占比進行微表情狀態概率的評估,根據概率大小完成微表情狀態的分類。

圖4 基于CBAM-DPN的微表情識別算法Fig.4 Micro-expression recognition algorithm based on CBAM-DPN

2 實驗與結果分析

2.1 微表情數據集預處理

2.1.1 數據融合

根據國際微表情識別大賽(facial Micro-Expression Grand Challenge,MEGC)建模標準,對SMIC(Spontaneous MICroexpression database)[6]、CASMEⅡ(Chinese Academy of Sciences Micro-Expression databaseⅡ )[25]和 SAMM(Spontaneous Activity and Micro-Movements)[26]三個數據集進行數據融合。

SMIC 數據集記錄了16 名受試者的164 個微表情片段。每個微表情片段的幀率和分辨率均為100 frame/s和640×480,微表情狀態分別為“積極”“消極”和“驚訝”。

CASMEⅡ數據集由26 名平均年齡在22.03 歲的受試者提供,共255 個微表情片段。每個微表情片段的幀率和分辨率均為200 frame/s 和640×480,共7 種微表情狀態:“高興”“驚訝”“悲傷”“厭惡”“恐懼”“壓抑”和“其他”。

SAMM 數據集由32 名多種族、平均年齡33.24 歲的受試者提供,共159 個微表情片段。每個微表情片段的幀率和分辨率均為200 frame/s 和2 040×1 088,共8 種微表情狀態,分別是:“高興”“驚訝”“悲傷”“憤怒”“恐懼”“厭惡”“輕蔑”和“其他”。

由于三個數據集的微表情狀態劃分不完全相同,為避免數據融合導致問題復雜化,根據SMIC 標簽重新分類,具體為“高興”重新 標注為“積極”;“厭惡”“壓抑”“憤怒”“輕蔑”“悲傷”和“恐懼”重新標注為“消極”;“驚訝”類別保持不變;“其他”微表情狀態不作為實驗樣本。

融合數據集共包含68 名受試者的442 個微表情頂點幀,具體內容見表1。為了得到更好的微表情識別模型,將訓練數據集擴充為融合后數據集中頂點幀的相鄰四幀。頂點幀數據集中“驚訝”“積極”和“消極”的比例大約為1∶1.3∶3,為降低微表情狀態數量不均衡對訓練效果的影響,采用重采樣技術[16]均衡訓練數據集輸入神經網絡時不同微表情狀態的比例。

表1 用于實驗的微表情融合數據集Tab.1 Micro-expression fusion datasets used for experiments

2.1.2 圖像預處理

模型訓練所用的圖像應包含盡量少的無關信息,但SAMM 數據集提供的圖像包含較多的無關背景信息,這些信息的存在會影響神經網絡對特征信息的提取。本文使用多任務卷積神經網絡(Multi-Task CNN,MTCNN)[27]對SAMM 數據集中的圖像進行裁剪,得到幾乎不包含背景信息的圖像。裁剪前后的對比如圖5所示。

圖5 圖像裁剪前后的對比Fig.5 Comparison of images before and after clipping

三個數據集中,只有CASMEⅡ和SAMM 數據集注明了頂點幀位置,SMIC 數據集的標簽只注明了起始幀和結束幀,并未對頂點幀位置進行說明。本文對微表情數據集中標記了頂點幀位置的序列進行統計,發現頂點幀并不在序列中某一固定位置;故通過科學的計算方法,尋找頂點幀的位置也是必要工作。

通過python 中的開源模塊face-recognition[28]識別人臉,獲取到人臉的68 個面部特征點;根據獲取到的特征點以半個唇寬度為標度尺,將面部肌肉活動最頻繁的10 個區域進行定義,分別是:唇左半部分、唇右半部分、下巴、左側鼻翼、右側鼻翼、左眼左側、右眼右側、左眉右側、右眉左側以及兩眉之間。圖6是68個特征標記點和定義的十個區域的具體位置。

圖6 68個特征點及定義區域的具體位置Fig.6 Location of 68 characteristic points and defined areas

為確定微表情序列中的頂點幀位置,將圖6 中定義的10個區域作為計算微表情特征變化的區域;依次計算10 個區域中當前幀與開始幀像素差的絕對值及當前幀與結束幀像素差的絕對值并求和;為降低圖像中環境噪聲對計算結果的影響,同時計算當前幀與相鄰幀像素差的絕對值,讓兩值做比,進行歸一化處理。然后,將10 個區域歸一化后的值求平均,并找出均值中的最大值Fmax。

其中:xi、oni、offi分別為定義的十個區域中當前幀、開始幀和結束幀中的某一個區域。為保證式(8)有意義,同時對分子分母進行加1 的操作。式(9)是對定義的十個面部區域求和并均值化。均值Fi的大小可以直接反映當前表情狀態與中性表情狀態的差異量。頂點幀應為整個序列中差異量最大的幀Fmax,關于均值Fi的值在整個序列中的變化如圖7 所示(其中虛線表示頂點幀位置)。

圖7 一個微表情序列中不同幀像素均值的變化過程Fig.7 Change process of pixel mean of different frames in a micro-expression sequence

2.2 實驗環境及參數設置

實驗使用的計算機硬件配置:處理器為Intel Xeon E5-2630,CPU頻率為2.20GHz,GPU加速顯卡為Tesla P100-PCIE,顯存為16 GB,操作系統為Ubuntu 16.04.3,深度學習開發平臺為Pytorch 1.1.0框架。

實驗中設置如下參數:優化器引入自適應的Adam 方法;學習率設為0.001,并通過指數衰減調整學習率,學習率的衰減設為0.9;訓練時批處理數量為32,epoch 為100,訓練測試過程中使用的損失函數為Margin Loss函數。

2.3 實驗評價標準

本文采用LOSOCV(Leave One Subject Out Cross Validation)作為微表情融合數據集的評估方法,具體操作是每次從68 名受試者的微表情樣本中依次選擇1 名作為測試集,其余為訓練集,直至所有受試者的樣本都做過測試集,將所有的測試結果合并作為最終的實驗結果。這種評價方法適用于小樣本的微表情數據集,既保證了三個數據集在評價時的獨立性,又很好地考慮到了種族、性別、微表情幅度大小等的區別?;谌齻€數據集中的微表情狀態數量具有明顯的不均衡性,為保證實驗的評估結果更有參考意義,采用未加權F1 值和未加權平均召回率兩個指標來評估DPN 和CBAMDPN模型的識別性能。

未加權F1 值(UF1),也稱作宏平均F1 值。UF1 可以同等強調稀有類,在多分類問題中是個很好的選擇。UF1 可以用式(10)計算:

其中:TPc、FPc、FNc分別為類別c中真正、假正和假負的數量,即實際類別為c預測也為c的數量、實際類別不是c預測為c的數量和實際類別是c預測不是c的數量。對C個類別的比值求平均得到UF1。

未加權平均召回率(UAR),也稱“平衡準確率”,是一種較標準準確率(或加權平均召回)更合理的評價標準。UAR可以用式(11)計算:

其中:Nc為樣本c的數量;TPc為樣本c中預測正確的數量。對C個類別的比值求平均得到UAR。

UF1 和UAR都可以公平對待少數特定類,公平地評估模型在所有類上的表現。

2.4 實驗結果分析

2.4.1 算法復雜度

衡量模型的算法復雜度主要從空間復雜度和時間復雜度上考慮??臻g復雜度即模型參數量,直接決定了參數的數量,受維度影響,模型的參數越多,訓練模型所需的數據量就越大,若實際數據集不太大,參數過多則容易導致模型訓練過擬合。時間復雜度即模型的運算次數,一次運算可以定義為一次加乘運算,用浮點運算次數作為衡量標準,其大小直接決定了模型的訓練時間,如果復雜度過高,會導致模型訓練和預測耗費大量時間,既無法快速地驗證和改善模型,又無法做到快速預測。

表2列出了DPN和CBAM-DPN在不同網絡層數上模型的算法復雜度的對比情況。輸入數據相同的條件下,同一算法會因網絡層數的增加導致算法復雜度的增加;針對相同網絡層數,算法改進前后模型復雜度的變化非常小。因此,將CBAM 嵌入DPN 的優化算法,使模型整體的參數數量和計算量的增長基本可以忽略不計,是一種十分節約開銷的優化算法。

表2 不同層數模型的算法復雜度對比Tab.2 Algorithm complexity comparison of different layer models

2.4.2 損失值

訓練集損失值的大小可以直觀衡量模型訓練效果的好壞,損失值越小,模型訓練的收斂度越高,魯棒性就會越好,測試結果也會更接近真實值。圖8 為20、26 和38 層的DPN 和CBAM-DPN 訓練模型的損失值隨epoch 次數變化的對比。三張圖中的損失值都會隨epoch 次數的增加而逐漸減小,最后趨于平穩。網絡層數改變損失值也會發生相應變化,當層數為26和38時,兩個模型平穩后的損失值基本不會因層數改變而發生較大變化,證明該深度下的模型基本收斂;此時,DPN模型平穩后的損失值在0.05左右,而CBAM-DPN 模型可以保持在0.04 左右。分別對比三種層數下模型改進前后的損失值,發現同一層數上CBAM-DPN 模型的損失值都會比DPN 模型的損失值下降速度更快,且趨于平穩后的值更低??梢哉f明CBAM-DPN 模型較DPN 模型可以達到更好模型訓練效果。

圖8 模型優化前后的訓練損失值對比Fig.8 Comparison of loss in training before and after model optimization

2.4.3 特征區域可視化

在訓練模型的過程中,訓練效果的好壞可以通過損失值及測試準確度等結果展示出來,但模型對特征的提取能力難以通過訓練過程直接反映出來?;贕rad-CAM(Gradientweighted Class Activation Map)的算法[29]構建特征區域可視化,該算法可以實現模型所關注區域的可視化,充分體現模型的特征提取能力。輸入圖像在前向傳播至模型的最后一層卷積后獲得特征映射矩陣,對特征映射矩陣求平均梯度值得到權重矩陣,權重矩陣中每一維的數值代表判定圖像類別的重要程度。權重矩陣與特征映射矩陣線性相乘,再通過ReLU函數過濾,可以得到模型關注區域的熱力圖。將熱力圖放大到與輸入圖像尺寸相同,然后進行加權相加就得到識別分類模型所需要關注區域的可視化圖像。

DPN 和CBAM-DPN 模型所關注和強調的特征區域如圖9所示。輸入圖像經過同樣層數DPN 和CBAM-DPN 模型進行特征提取。圖9(a)中的DPN 模型只關注到了動作幅度較大的眼周及唇部等位置,而圖9(b)的CBAM-DPN 模型關注到的區域涉及了幾乎所有產生微表情動作的區域,說明CBAMDPN 模型比DPN 模型關注的特征區域更廣,CBAM 具有更強的發現細微特征的能力。圖9 中顏色的深淺代表了關注區域所占權重的大小即被模型所強調關注的程度,圖9(a)中關注區域整體的顏色較淺,即DPN 模型關注區域整體所占權重并不高,特征提取的能力不強;而相同區域下圖9(b)的CBAMDPN 模型關注區域的顏色更深,可以說明在動作幅度較大的區域內,CBAM-DPN 模型比DPN 模型的權重值更大,CBAM 可以有效突出特征區域。

圖9 DPN和CBAM-DPN模型關注的特征區域Fig.9 Feature areas that DPN and CBAM-DPN models focus on

2.4.4 識別效果

在神經網絡的模型構建過程中,訓練過程可以訓練模型對微表情的識別能力,測試過程則可以驗證所訓練模型的魯棒性和泛化能力。圖10 分別列出三種不同層數的DPN 和CBAM-DPN 模型在融合數據集上UF1 和UAR的測試結果。從實驗結果可以看出改進后的CBAM-DPN 模型在層數相同的情況下,測試效果均優于DPN 模型??梢哉f明優化后CBAM-DPN 模型具有更強微小特征的信息提取能力,可以實現更優于DPN模型的識別效果。

圖10 優化前后模型不同深度的識別效果對比Fig.10 Comparison of recognition effect of different depth models before and after optimization

選擇識別效果最好,網絡深度為26 層的DPN 及CBAMDPN模型與其他幾種基于頂點幀進行微表情識別的模型進行對比,識別效果對比如表3 所示。表3 中對比的模型均使用UF1 和UAR的評價標準、LOSOCV 的驗證算法,實驗均在SMIC、CASMEⅡ、SAMM 以及三種數據集的融合數據集上進行。CBAM-DPN 模型整體的UF1 和UAR識別效果可以達到0.720 3 和0.729 3,是幾種算法中效果最好的。在這之前,幾種基于頂點幀的微表情識別模型中效果最好的是CapsuleNet,其模型的參數量為13.400×106,所需算力是7.585 GFLOPs,而CBAM-DPN 模型的參數量為5.114×106,算力是943.600 MFLOPs,在大量降低計算復雜度的基礎上提高了識別效果。

表3 不同模型的識別效果對比Tab.3 Comparison of recognition effect of different models

圖11 是根據CBAM-DPN 模型對融合數據集中三種微表情狀態的識別結果繪制的混淆矩陣圖(“neg”“pos”和“sur”分別代表“消極”“積極”和“驚訝”)。整個融合數據集中三種微表情狀態的比例非常不均衡,其中“消極”樣本的數量超過了樣本總量的50%,訓練中采用的重采樣技術使接受訓練的樣本數量基本保持1∶1∶1 的比例。根據最后的測試結果可以看到“消極”“積極”和“驚訝”樣本召回率(recall)分別是0.77,0.67 和0.75,這充分說明了在訓練CBAM-DPN 的模型時,采用重采樣技術對抗數據不平衡的有效性。CapsuleNet 的平均召回率只有0.65,而CBAM-DPN 模型對三種微表情狀態的平均召回率可以達到0.73。

圖11 CBAM-DPN模型在融合數據集上的測試結果的混淆矩陣Fig.11 Confusion matrix of CBAM-DPN model test results on fusion dataset

根據統一的評價指標綜合比較不同算法的模型識別效果,可以發現CBAM-DPN 的效果最好。在模型識別效果較優的前提下進一步比較模型總體參數的大小,CBAM-DPN 的模型參數也遠小于CapsuleNet。綜上,可以充分說明使用優化后的CBAM-DPN算法進行微表情識別的有效性。

2.4.5 更多微表情狀態實驗及結果分析

上述實驗及結果分析均針對三種微表情狀態展開,雖然在相同的微表情分類條件下,與前者實驗成果相比,優化后模型的識別效果具有一定程度的提高;但真實場景下微表情狀態的劃分更為精細,僅劃分為積極、消極和驚訝三大類,難以滿足實際應用需求。

為了更全面地驗證所提出模型的泛化性,使用CASMEⅡ數據集分別對DPN 和CBAM-DPN 模型進行更多類別微表情狀態的識別訓練并進行測試。實驗方案中除數據集發生變化及未采用重采樣技術,實驗環境、參數設置及評價標準等均與三類微表情狀態識別的實驗保持一致。CASMEⅡ數據集的七類微表情狀態中,“悲傷”和“恐懼”的樣本數量分別為4 和2,為避免微表情狀態數量過少影響模型的訓練、測試效果,將這兩類狀態去除,對另外五類共244 個有效樣本進行訓練和測試。另外五類樣本的具體數量如表4所示。

表4 CASMEⅡ數據集中用于實驗的各微表情狀態的數量Tab.4 Number of different micro-expression states used in experiments in CASMEⅡdataset

2.4.4 節中,三類微表情識別的實驗已經驗證網絡層數相同時,CBAM-DPN 模型的測試結果均優于DPN 模型,且當模型層數為26時,模型會基本收斂。故針對CASMEⅡ數據集的實驗,只設計了一組層數為26 的對比實驗,訓練過程中DPN 和CBAM-DPN 模型的損失值趨于平穩時,均可以保持在0.05 左右,說明模型訓練基本完成。關于模型具體的識別效果如表5所示。

表5 DPN和CBAM-DPN模型在CASMEⅡ數據集上的識別效果對比Tab.5 Comparison of recognition effect of DPN and CBAM-DPN models on CASMEⅡdataset

由表5 中的實驗結果可以看出,雖然因為識別類別的增加以及數據集的大量減少,會在一定程度上影響模型的識別效果,但對比同一網絡層數下DPN 和CBAM-DPN 模型的識別效果可以發現,CBAM-DPN 模型的識別效果是優于DPN 模型的。

進一步衡量兩個模型對同一數據集的識別能力,將兩種模型對每一類微表情的召回率分別繪制混淆矩陣,如圖12 所示(“rep”“hap”“sur”“dig”和“oth”分別代表“壓抑”“高興”“驚訝”“厭惡”和“其他”)?;煜仃囍忻恳活惖恼倩芈蕰S著樣本數量的增加變高,其中樣本數量最多的“其他”類別,召回率可以達到0.70 及以上,可以說明兩種模型均具有識別更多微表情類別的能力。對比DPN 和CBAM-DPN 模型對每一類微表情的召回率,大部分類別CBAM-DPN 模型的召回率優于DPN 模型的召回率;CBAM-DPN 和DPN 模型的平均召回率分別為0.486和0.468,說明優化后的模型具有更好的識別微表情狀態的能力。

圖12 CASMEⅡ數據集上測試結果的混淆矩陣Fig.12 Confusion matrices of test results on CASMEⅡdataset

綜合比較更多分類狀態下的微表情識別效果,可以充分說明CBAM-DPN 模型及DPN 模型均具有識別更多微表情狀態的能力;優化后的CBAM-DPN 模型比DPN 模型具有更好的微表情識別能力和更強的泛化性,可以更廣泛地應用于微表情識別領域。

3 結語

本文以雙通道網絡(DPN)為主要框架,融合卷積注意力模塊(CBAM),提出了一種基于CBAM-DPN 的算法,并基于該優化算法實現了對微表情序列頂點幀狀態的識別。通過綜合比較模型的參數、浮點運算次數和實驗結果,可以表明基于CBAM-DPN算法對融合數據集進行微表情識別效果優于DPN算法及典型的微表情識別算法,是對DPN 算法的有效改進。本文實驗采用融合了3 個數據集的融合數據集,這種方式既增加了樣本數量,又增加了樣本的多樣性和樣本環境的復雜性,更貼近真實的微表情產生場景。此外,本文方案采用的重采樣技術,大大降低了樣本類型不均衡對識別效果的影響;同時,在少量的樣本數據下,采用LOSOCV 評估方法,充分保證了評估對象的獨立性。為進一步驗證模型應用到實際場景中的能力,實驗對比更多微表情狀態下DPN 與CBAM-DPN 模型的微表情識別效果,說明了兩種模型均具有識別更多微表情狀態的能力且CBAM-DPN 模型具有更好的識別能力和泛化性。因此,本文所提供的算法具有較強的實用性。為進一步提高CBAM-DPN 的識別效果,后期擬先通過ImageNet 等數據量充足的數據集對CBAM-DPN 進行預訓練,再通過遷移學習的算法將預訓練后的模型用于微表情識別。

猜你喜歡
頂點矩陣特征
離散型隨機變量的分布列與數字特征
過非等腰銳角三角形頂點和垂心的圓的性質及應用(下)
抓特征解方程組
不忠誠的四個特征
加強學習補差距
多項式理論在矩陣求逆中的應用
矩陣
矩陣
矩陣
數學問答
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合