何秀玲 高 倩 李洋洋 方 靜
(華中師范大學國家數字化學習工程技術研究中心 湖北 武漢 430079)
情緒作為一種主觀認知體驗,不僅會對記憶、感知、思維等認知活動產生影響,也能夠調節學習的動機和行為[1]。學生在學習過程中的情感狀態可以對整體學習結果產生積極或消極影響[2],認識并解決這些問題對改善學生學習至關重要。然而,在傳統的課堂教學中通常只有一位教師管理多名學生,教師很難時時關注每一名學生的情感狀態并作出反饋。因此,利用信息技術在傳統課堂中輔助教師及時捕獲學生情感狀態,并給予相應反饋是十分有必要的。目前,“人工智能+教育”的研究如火如荼,將人工智能技術與教育進行深度融合,打造智慧學習環境,能夠獲得更全面的學習數據,為學生的學和教師的教提供更優質的服務[3]。心理學研究指出,人的情感表達55%是通過面部表情表現出來的[4]。由此可見,通過識別面部表情能夠判斷人的情感狀態。利用表情識別技術獲取學生的課堂學習中的表情,能夠判斷和記錄學生的學習情緒狀態,輔助教師給與學生個別指導和反饋。表情識別率的不斷提升和算法研究的深入為表情識別應用于課堂教學提供了技術支持。
表情識別的過程一般分為預處理、特征提取和分類三個步驟。其中特征提取是表情識別研究中的關鍵問題,提取特征的完整性和魯棒性將直接影響最終識別結果的優劣[5]。近年來最常用的表情特征主要分為兩類:幾何特征和紋理特征[6]。幾何特征提取的主要是面部特征點的坐標信息和特征點之間形成的幾何關聯信息。如Li等[7]提取面部特征點和特征點之間的角度作為面部表情特征進行識別。Ghimire等[8]根據面部特征點提取基于點、線和三角形的三種幾何特征,并采用基于ELM的AdaBoost算法選擇最優的三類幾何特征,在CK+、MMI和MUG數據庫中都取得了較好的效果。但面部特征點定位的準確度易受到光照、姿態等因素的影響,從而直接影響幾何特征的穩健性。紋理特征是指圖像像素周圍空間鄰域的灰度分布,常用的紋理特征是Gabor小波變換[9]和局部二值模型(LBP)[10]。隨著機器學習的發展,深度學習成為機器學習研究領域的一大熱點。基于卷積神經網絡的深度學習得到的特征能夠保持一定的不變性,而且還包含了更多的高層語義信息,可以有效縮小底層特征和高層語義之間的鴻溝[11]。Sun等[12]利用十層卷積層提取人臉局部特征,通過嵌入式注意模型聚集局部特征進行分類,實驗證明該方法提高了識別率,并能夠獲得良好的可視化效果。羅翔云等[13]將卷積神經網絡作為表情特征提取結構,SVM作為提高層分類器,結果表明提取的深度特征能明顯增加表情識別能力。
不同的特征具有各自的優缺點,將多種特征從不同的角度進行融合可以更全面地表達面部表情[14]。蘭蘭等[15]針對單一特征表現不全面的問題,將幾何和局部紋理特征融合,在JAFFE數據庫和Yale數據庫上有效提升了識別的準確率。Majumder等[16]采用自動編碼器融合了幾何和LBP特征,實驗結果顯示,融合特征的抗噪性和區分力更強。但也存在一些問題,如多特征融合容易造成較高的特征維度,難以滿足課堂應用中實時識別的需求;將淺層特征與深度特征進行融合的研究較少,部分細微、區分度小的表情需要更加深層的特征增加識別能力。因此,本文的主要貢獻和創新點歸結如下:
1) 提出了一種融合局部幾何特征、全局CLBP特征和CNN深度特征的特征提取方法,使用KPCA降維,有效減少了冗余特征。
2) 錄制了全新的自發學習表情數據庫,用于CNN網絡訓練。
3) 使用SVM進行分類,在CK+庫、中國情緒圖片系統和自發學習表情數據庫中都得到了理想的效果,證明了本文方法的有效性。
卷積神經網絡CNN是能夠有效提取深層圖像特征的深度學習模型,一般由輸入層、卷積層、子采樣層、全連接層和輸出層構成[17]。
卷積神經網絡的特征提取工作主要由卷積層和子采樣層來實現。在卷積層中,由神經元排列組成特征平面,一個特征平面內所有神經元共享的權值矩陣又稱為卷積核。上一層的特征面通過卷積和激活函數可得到輸出特征面。傳統神經網絡中常用sigmoid作為激活函數,但sigmoid在梯度下降過程中容易造成飽和,從而終止梯度傳遞。ReLU函數具有收斂速度快、梯度求解簡單的優點,因此,目前CNN中常用ReLU函數作為激活函數,計算公式如下:
f(x)=max(0,x)
(1)
卷積層通過卷積的過程逐步提取不同的特征,層數越高,提取的特征越高級,越抽象[18]。
子采樣層又稱為池化層,其中的特征面與卷積層中的特征面一一對應,個數相同。池化層對卷積層的輸出特征進行進一步提取,能有效降低特征維度。常用的池化方式有隨機池化、均值池化和最大池化。
全連接層能夠將卷積層和采樣層提取的局部特征進行匯總,最后輸入分類器中進行分類。
CNN中利用損失函數衡量模型的魯棒性,它能夠估量模型中預測值與真實值之間的差異,值越小代表模型魯棒性越好。大多數模型中使用均方誤差作為損失函數[19],計算公式如下:
(2)
CNN提取的深層特征包含高層語義信息,并對縮放、平移等保持一定的不變性,顯著減少了高層語義和底層特征之間的差距。本文采用的神經網絡結構包括輸入層、三層卷積層、三層采樣層和一層全連接層,如圖1所示。輸入為64×64大小的圖像,卷積核大小是5×5,提取全連接層的信息作為全局特征。

圖1 面部表情特征提取CNN網絡結構
圖2中的可視化特征展示了網絡每一層的特點。第一層卷積提取了物體的邊緣和輪廓特征,第二、三層特征更加抽象,擁有更復雜的不變性。

圖2 卷積層提取的特征
本文提出了一種基于局部幾何特征和全局特征的學習表情特征提取方法,全局特征包括CLBP淺層紋理特征和CNN深度網絡特征。將圖像的淺層邊緣、灰度分布特征和深度特征進行融合,獲得了更全面的表情特征,增加了特征的魯棒性和抗噪性。
幾何特征具有計算復雜度低、精確度高的特點。利用幾何特征把握表情的直觀變化,放大表情之間的差異,有利于獲得更有效的分類特征。而表情變化過程中有些面部區域變化并不明顯,提取特征過多容易帶來冗余。Ekman提出了面部動作編碼體系(FACS),描述不同的面部表情所對應的臉部肌肉運動。人臉的表情變化可以通過不同的面部動作單元的組合來表示。相關分析表明,特定的面部特征可以將學習表情從中性狀態中分離出來,如困惑可用AU4、AU7、AU15組合表示等。通過AU可以發現,表情特征具有明顯的局部性,眉毛、眼睛、嘴巴部分特征對表情的分類起關鍵作用。因此本文使用RealSense提取面部特征點,選取了面部動作單元變化較大、能對識別起到關鍵作用的47個特征點,提取了角度、距離、面積、斜率四種幾何特征,利用局部特征點之間形成的幾何關聯信息描述每種表情的核心變化特征。
局部二值模型LBP是一種測量局部圖像紋理空間結構信息的有效方法[20]。利用中心點的灰度值tc和以該點為中心半徑為r的圓周上m個點的灰度值ti進行計算。以中心點作為閾值進行處理,形成m位二進制數,最后tc的LBP結果以十進制數表示如下:

(3)
式中:di=ti-tc表示中間位置的空間局部結構,又稱為局部差分符號數值變換算子(LDSMT)。LDSMT可以分為符號和數值兩部分,LBP算子只使用了LDSMT的符號信息,丟失了數值信息。改進的CLBP算子結合了中心像素LBP算子(CLBP_C)、局部差分符號數值變換算子的符號算子(CLBP_S)和數值算子(CLBP_M),對光照變化和噪聲具有更高的魯棒性[21]。圖3是輸入的人臉圖像對應的CLBP_S、CLBP_M和CLBP_C編碼的圖像示例。可以看出,CLBP可以提取空間模式和局部圖像紋理的對比度,如邊緣和紋理。

(a) 原圖編碼圖像 (b) CLBP_S編碼圖像 (c) CLBP_M (d) CLBP_C編碼圖像圖3 人臉圖像及對應編碼圖像
主成分分析PCA是降維的主要方法之一,能夠有效消除數據冗余和噪聲,但其無法處理非線性數據。KPCA是PCA的非線性形式,將數據映射到高維特征空間進行處理,能夠揭示原始高維特征之間復雜的相關性[22]。同時,KPCA是對樣本進行整體處理,為了防止在降維過程中丟失局部信息,本文采用KPCA方法對于CLBP_C、CLBP_S和CLBP_M提取的直方圖分別進行分塊降維處理。將降維后的直方圖級聯,分別形成CLBP_C、CLBP_S和CLBP_M直方圖,再將三個直方圖數據聯合成最終的特征向量。
由于三種特征之間數值差異較大,因此將提取的三部分特征分別歸一化到[0,1]:
(4)
式中:FN表示一組特征歸一化后的值;F指原始特征向量值;Fmin和Fmax分別表示原始特征向量的最小值和最大值。
將歸一化后的三組特征進行串聯,得到融合特征Ffu:
Ffu={FN1,FN2,FN3}
(5)
融合特征包括幾何特征42維,CLBP紋理特征48維,CNN特征81維,共171維特征。特征維度較低,既滿足了特征的全面性,又有效減少了冗余特征,提高識別效率。
本文提出了一種融合局部幾何特征、全局CLBP特征和CNN深度特征的表情特征提取方法,使用SVM作為分類器進行表情分類,流程如圖4所示。

圖4 基于多特征信息融合的表情識別流程
具體步驟如下:
Step1對數據庫中人臉圖片進行傾斜校正、大小歸一化、直方圖均衡和灰度歸一化處理;
Step2將預處理后的圖像數據輸入CNN網絡中提取深度特征;
Step3對數據庫中表情圖像提取幾何特征;
Step4對預處理后的表情圖像提取CLBP全局紋理特征,并進行分塊KPCA降維;
Step5將提取的三種特征分別歸一化,然后進行級聯融合;
Step6將融合后的特征輸入支持向量機中進行訓練和分類。
如圖5所示,本文構建了自發學習表情數據庫,并在此基礎上對學生的學習表情進行了識別方法的研究。現存的表情數據庫如JAFFE表情庫、CK表情庫等多是針對基本表情,與學習表情的類別存在差異。另外,人為表情與實際表情存在較大差別,而學生在課堂學習中的表情多是在學習內容刺激下自然產生的,因此人為表情庫不能滿足對真實應用場景的研究。選取了22名研究生作為被試,其中女生15名,男生9名,錄制了其學習過程中的自發表情數據。該全新的數據庫將會在作者個人主頁公開,供科學研究使用。

圖5 自主開發的自發學習表情數據庫(部分圖片)
數據采集過程如下:
(1) 前期準備。選擇采光良好的實驗室,錄制設備采用Intel(R) Real Sense(TM) Camera SR300攝像頭。情感誘導材料選取了兩節難度不同學習視頻,每節課45分鐘并配有相應的測試題目。
(2) 制定數據采集規范。將被試與攝像頭之間的距離控制在40~60cm之間,保存640×360 30fps RGB視頻流與面部78個特征點的屏幕坐標信息,命名格式為姓名加編號。
(3) 錄制視頻。錄制被試觀看學習視頻和做題時的表情變化。
(4) 表情標注。由每名被試和心理學專家分別觀看視頻,被試在出現情感的部分進行分割和標注,心理學專家在出現表情的部分進行分割和標注。通過對錄制數據進行整理,最終得到22名被試的979張峰值自發表情圖像,包括驚訝、疲倦、困惑、快樂和中性五類學習表情。
本文選用支持向量機(SVM)作為分類器。選擇RBF核作為SVM的核函數,因為RBF核能夠實現非線性映射,并且參數數量少,降低了模型的復雜程度。采用十折交叉驗證獲得的最佳c和g參數值對數據庫圖片進行分類。在自發學習表情數據庫、CK+數據庫、中國情緒圖片系統和中每種表情選取四分之三作為訓練樣本,剩下的四分之一作為測試樣本。進行十折交叉驗證,計算平均值作為最終識別率。實驗數據庫預處理樣本圖如圖6所示。

(a) CK+庫

(b)中國化情緒圖片系統

(c) 自發學習表情數據庫圖6 實驗數據庫預處理樣本圖
本文算法在自發的學習表情數據中的識別率為95.6%。由表1可以看出,驚訝表情與其他表情混淆的概率較大,分析原圖發現學習時的產生驚訝有些比較微弱,顯示在面部表情中僅是眉毛輕微上挑的動作,因此較難區分。表2為自發學習表情數據庫在不同特征下的識別率對比,結果顯示,單獨使用局部特征或全局特征時,僅對某種學習表情識別效果較好,如快樂、疲倦,融合特征的使用提升了每種表情以及總體的識別率,證明了本文提出的融合特征能夠有效識別學習表情。

表1 融合特征在自發學習表情庫上的混淆矩陣

表2 自發學習表情數據庫不同特征的識別結果
中國化面孔情緒圖片系統中的圖片皆為中國面孔,每一類情緒圖片都包含不同的強度,強度為1時表情接近中性,相當于微表情,強度為9時表情最為飽滿[23]。因此對研究適合中國面孔的不同情緒強度的表情識別算法有一定意義。系統中包含46個人的7種情緒共870張表情圖片,其中高興248張、驚訝150張、恐懼64張、悲傷95張、厭惡47張、憤怒74張、中性222張。
本文算法在中國情緒圖片系統上的識別率為86.7%,識別率比較低的主要原因是數據庫中的圖片情緒有不同的強度,如表3和圖7。部分恐懼表情變化幅度較大,被誤判為驚訝;一些開心的情緒強度較弱,容易被識別為中性。由實驗結果可以得出,本文算法對于中國化表情的識別是有效的。

表3 融合特征在中國情緒圖片上的混淆矩陣

圖7 誤識的恐懼和開心表情示例
CK+庫是目前表情識別領域最常用的數據庫之一,包含123個被試的593個表情序列。為了進一步驗證本文算法的有效性,選取CK+數據庫中帶標簽序列的峰值幀圖像作為實驗圖像,共327張,其中高興69張、悲傷28張、厭惡59張、憤怒45張、驚訝83張、蔑視43張。
本文算法在CK+庫上的識別率為96.3%。由表4可知,生氣、厭惡、蔑視三種情緒容易被混淆,主要因為這三種情緒之間存在一定的相似性。例如,生氣和厭惡時都會皺眉,蔑視和厭惡都會產生嘴角下拉的特征等。蔑視表情的識別率較低的原因是因為樣本量較少,難以訓練出有效的特征。

表4 融合特征在CK+庫上的混淆矩陣
將本文算法與部分具有代表性的特征提取方法的識別率進行了對比,如表5所示。蘇志銘等[24]提取了點和線段兩種幾何特征,識別率為84.45%。胡敏等[25]利用特征點間距離作為幾何特征,基于相似中性臉對特征的比例系數進行自適應加權,識別結果在CK庫中達到93%。本文的幾何特征識別率為93.8%,由此可見,本文提出的多種幾何向量的組合比單一或較少幾何特征區分性更高。蘇志銘等[24]用AR模型建立分類器,提取幾何特征與紋理特征實現動態表情的識別,識別率為86.45%。羅元等[26]將眼睛、嘴巴部分的LBP特征與DCT全局特征相融合,利用SVM進行分類,識別結果達到95%。本文方法相較于以上算法,識別率有所提高,證明了本文的方法有效性。

表5 本文算法與其他表情識別算法對比
利用損失函數對本文提出的CNN模型進行評估,如圖8所示,誤差在訓練開始時快速下降,收斂速度快,之后保持穩定狀態。圖9展示了局部幾何特征、CLBP全局紋理特征、CNN全局深度特征在CK+庫、學習表情庫和中國情緒庫上的對比。實驗結果表明,高層次與低層次兼顧的全局特征比單一全局特征的效果更好。在CK+庫和中國化情緒圖片系統中局部幾何特征的識別效果顯著,而在自發學習表情數據庫中融合的全局特征識別率更高,說明僅使用局部或全局特征難以適用于多種數據庫,魯棒性較低。將局部特征與全局特征融合后,在三種數據庫中得到的識別率都是最高的,證明了融合特征能夠充分利用特征各自的優勢與鑒別能力,提升識別率和魯棒性。

圖8 本文CNN模型訓練損失曲線

圖9 融合特征識別率對比實驗結果
本文提出了一種結合局部特征與全局特征的學習表情特征提取方法。該方法中局部特征是針對表情發生時變化幅度較大的眉毛、眼睛、嘴巴區域提取了四種幾何特征,全局特征融合了CLBP淺層紋理特征和CNN深度網絡特征。在提取CLBP特征后,應用KPCA進行了降維處理。將歸一化后的三種特征進行融合,通過SVM實現表情的分類。將本文提出的方法分別在自發學習表情數據庫、CK+庫和中國化情緒圖片系統中進行測試,對學習表情數據庫中的五類表情測試的準確率是95.6%,對CK+和中國化情緒圖片的七類表情分類的識別率分別是96.3%和86.7%,驗證了該方法的有效性。本文方法可用于課堂教學環境下學生面部表情識別,如困惑、快樂、驚訝、疲倦和中性等五種學習相關表情。在今后的研究中,要進一步實現學習表情的實時識別,使其能夠應用于真實的智慧課堂教學環境中,幫助教師及時掌握學生的學習狀態。