蘇 超,王國中
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201600)
近年來,隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展以及大數(shù)據(jù)、云計(jì)算、AI(人工智能)等新技術(shù)的發(fā)展,智能化教育成為一種新的教育趨勢。在《計(jì)算神經(jīng)科學(xué)前沿》雜志中提到:“智能化教育中一直被忽略的詞就是情感”[1],而情感作為一種非智力因素,能夠影響和調(diào)節(jié)認(rèn)知活動。心理學(xué)研究表明:積極的情感有助于激發(fā)學(xué)習(xí)者的學(xué)習(xí)動力、培養(yǎng)學(xué)習(xí)興趣,促進(jìn)認(rèn)知過程;而消極的情感則會影響學(xué)習(xí)者的耐心度、注意力,阻礙認(rèn)知過程[2-3]。
人對情感的表達(dá)是復(fù)雜且微妙的,同樣對情感的識別和解讀也是多通道協(xié)同完成的,包括表情、姿態(tài)、語言和聲調(diào)等[4]。當(dāng)前,針對情感識別,研究者們主要圍繞生理信號、心理測量以及外顯行為展開研究[5]。
其中,又以基于面部表情的情感識別居多。雖然面部表情能夠表達(dá)人的大部分情感,但也存在一些不可避免的問題,如:面部遮擋、表情微妙以及姿態(tài)改變等,因此,基于面部表情的單模態(tài)情感識別方法并不足以準(zhǔn)確的識別出情感狀態(tài)。現(xiàn)實(shí)生活中,人們往往也是綜合語音、面部表情、肢體動作等多種信息來判斷一個(gè)人的情感狀態(tài),利用信息之間的互補(bǔ)性,從而準(zhǔn)確識別出情感狀態(tài)[6]。
在過去的十幾年里,關(guān)于課堂中學(xué)習(xí)者的情感識別研究逐漸多了起來,如:文獻(xiàn)[6]中提出一種基于遺傳算法的多模態(tài)情感特征融合方法,利用遺傳算法對單個(gè)模態(tài)的情感特征進(jìn)行選擇、交叉以及重組;文獻(xiàn)[7]中提出一種基于皮膚電信號與文本信息的雙模態(tài)情感識別系統(tǒng);文獻(xiàn)[8]中提出了基于雙邊稀疏偏最小二乘法的表情和姿態(tài)雙模態(tài)情感識別方法。于此同時(shí),國外學(xué)者們也進(jìn)行了相關(guān)研究,如:Ray A,Chakrabarti A[9]指出,情緒在人的認(rèn)知過程中起著重要的作用,因此提出一種新的情感計(jì)算模塊,采用生物、物理(心率、皮膚電和血容量壓)和面部表情方法,用來提取學(xué)習(xí)者的情感狀態(tài);Li C,Bao Z,Li L[10]等人提出了基于生理信號的情感識別方法。通過將原始生理信號轉(zhuǎn)化為光譜圖像,利用雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM-RNNS)學(xué)習(xí)特征,最后利用深度神經(jīng)網(wǎng)絡(luò)(DNN)進(jìn)行預(yù)測。
經(jīng)研究發(fā)現(xiàn),上述諸多方法本質(zhì)上并不完全適合于中國課堂上學(xué)習(xí)者的情感識別,主要有以下原因:
(1)數(shù)據(jù)集。目前關(guān)于情感識別研究的數(shù)據(jù)集都是國外的一些大學(xué)或者研究機(jī)構(gòu)采集的,一是不符合課堂場景,其次受地域文化以及膚色人種的影響,國外采集的那些數(shù)據(jù)集表情與國內(nèi)的人臉表情相差很大。
(2)情感分類。在情感識別領(lǐng)域,關(guān)于情感的分類有很多種,其中最基本的是Ekman等[11-12]提出的6種基本情感:高興、憤怒、厭煩、恐懼、悲傷以及驚訝。研究發(fā)現(xiàn),在學(xué)習(xí)過程中這6種基本情感并非全部起到關(guān)鍵作用[12]。因此,針對課堂上學(xué)習(xí)者的情感分類,需要定義一種符合課堂場景的情感類別。
因此,本文提出一種基于表情和姿態(tài)的雙模態(tài)學(xué)習(xí)者的情感識別模型,以解決課堂上學(xué)習(xí)者情感識別存在識別準(zhǔn)確率低、特征提取困難等問題。研究中將課堂學(xué)習(xí)者的面部表情定義為專注、厭煩、困惑、疲憊和走神5種表情;將課堂中學(xué)習(xí)者的上身姿態(tài)定義為抬頭、低頭、趴下和左顧右盼4種姿態(tài)。通過最終的決策融合,定義課堂上學(xué)習(xí)者的學(xué)習(xí)狀態(tài)主要包括認(rèn)真聽講、不感興趣、疑惑/沒聽懂、犯困/疲勞、開小差、睡覺、交頭接耳和不確定等8種狀態(tài)。
基于表情和姿態(tài)的雙模態(tài)學(xué)習(xí)者情感識別模型的整體流程如圖1所示。主要包含2個(gè)模塊,分別是情感識別模塊和決策融合模塊。首先,利用自主采集的數(shù)據(jù)集作為訓(xùn)練集和測試集,通過改進(jìn)Tiny_YOLOv3目標(biāo)檢測算法得到ER_Tiny_YOLOv3,從而進(jìn)行面部表情和姿態(tài)識別。然后,針對課堂教學(xué)環(huán)境,將表情識別結(jié)果和姿態(tài)識別結(jié)果在決策層面進(jìn)行融合,生成課堂評價(jià),判斷出學(xué)習(xí)者當(dāng)前的學(xué)習(xí)狀態(tài)。
圖1 基于表情和姿態(tài)的雙模態(tài)情感識別模型圖Fig.1 Diagram of a dual-modal emotion recognition model based on expressions and gestures
Tiny_YOLOv3是目標(biāo)檢測算法YOLOv3的一種輕量化版本,采用Tiny Darknet網(wǎng)絡(luò)結(jié)構(gòu),如圖2所示。
圖2 Tiny_YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Tiny_YOLOv3 network structure diagram
Tiny_YOLOv3的損失函數(shù)主要包括3個(gè)部分,分別是目標(biāo)位置損失、目標(biāo)置信度損失和目標(biāo)分類損失。Tiny_YOLOv3的損失函數(shù)如式(1)所示:
其中:l b ox表示目標(biāo)位置損失;l ob j表示目標(biāo)置信度損失;l cl s表示目標(biāo)分類損失。如式(2)所示:
其中:S2表示13×13,26×26;B表示box,表示如果在i,j處的b ox有目標(biāo),其值為1;否則為0;而反之。λcoord表示l b ox權(quán)重;xi,yi,wi,hi為真實(shí)框的中心位置和長寬值;表示預(yù)測框的中心位置和長寬值;(2-wi×hi)表示根據(jù)真實(shí)框的大小對l b ox權(quán)重進(jìn)行修正;λnobj表示l ob j權(quán)重;λclass表示l cl s權(quán)重;ci表示真實(shí)框置信;表示預(yù)測框置信。
Tiny_YOLOv3的損失函數(shù)首先計(jì)算預(yù)測框和真實(shí)框的交并比(Intersection over Union,IoU),示意如圖3所示。將IoU最大的預(yù)測框與真實(shí)框相匹配,通過匹配的預(yù)測框所預(yù)測的結(jié)果與真實(shí)框相比較,得出目標(biāo)位置損失、目標(biāo)置信度損失以及目標(biāo)分類損失。IoU表達(dá)如式(3)所示:
圖3 IoU示意圖Fig.3 Schematic diagram of IoU
其中:I表示真實(shí)框與預(yù)測框的交集;U表示真實(shí)框與預(yù)測框的并集。
雖然Tiny_YOLOv3作為輕量化模型,很適用于實(shí)際工程項(xiàng)目中,但是檢測效果并不是很好。原因在于Tiny_YOLOv3的backbone是淺層網(wǎng)絡(luò)Darknet19,且Tiny_YOLOv3只融合了13x13、26x26兩個(gè)尺度上的檢測結(jié)果。然而,正是由于Tiny_YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)淺,因而時(shí)效性比較好。為了提升課堂中學(xué)習(xí)者情感識別的準(zhǔn)確性,本文從卷積結(jié)構(gòu)、錨框聚類以及損失函數(shù)3方面對Tiny_YOLOv3進(jìn)行了改進(jìn)。
注意力機(jī)制(Attention Mechanism)是一種聚焦于局部信息的機(jī)制,目前已廣泛應(yīng)用于計(jì)算機(jī)視覺領(lǐng)域。注意力機(jī)制可以分為:通道注意力機(jī)制、空間注意力機(jī)制以及混合域注意力機(jī)制。SEnet(Squeeze-and-Excitation Networks)[13]是典型的通道注意力機(jī)制,其通過建模各個(gè)特征通道的重要程度,針對不同的任務(wù)增強(qiáng)或者抑制不同的通道,從而提升精度。SEBlock結(jié)構(gòu)如圖4所示。
圖4 SEBlock結(jié)構(gòu)圖Fig.4 SEBlock structure diagram
在圖4中,X∈RH'*W'*C'表示網(wǎng)絡(luò)的輸入,F(xiàn)tr表示一系列卷積操作的集合,V=[v1,v2,…,vc]表示卷積操作,U∈RH*W*C表示經(jīng)過一系列卷積操作的輸出,U=[u1,u2,…,uc]其表達(dá)如式(4)所示:
Fsq(·)操作是將U的輸出壓縮成Z∈R1*1*C。傳統(tǒng)的卷積操作大多集中于局部信息,無法提取整體信息。因此,通過Fsq(·)操作來實(shí)現(xiàn),如式(5)所示:
Fex(·,W)主要利用非線性的sigmoid激活函數(shù),保證非線性的前提下進(jìn)行通道選擇,如式(6)所示:
最后,通過Fscale(·,·)操作將學(xué)習(xí)到的通道權(quán)重應(yīng)用到原有的特征上,如式(7)所示:
SEBlock可以作為一種子模塊插入到不同的卷積結(jié)構(gòu)中,本文通過加入SEBlock對Tiny_YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),得到一種適用于學(xué)習(xí)者情感識別的模型ER_Tiny_YOLOv3,網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 ER_Tiny_YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 ER_Tiny_YOLOv3 network structure diagram
在目標(biāo)檢測中,評價(jià)一個(gè)目標(biāo)物體是否正確的被檢測出,IoU是一個(gè)重要的度量標(biāo)準(zhǔn)[14]。但I(xiàn)oU有其不可避免的缺點(diǎn),如果預(yù)測框和真實(shí)框二者沒有相交,則IoU的結(jié)果為0,此時(shí)便無法進(jìn)行學(xué)習(xí)訓(xùn)練。
針對上述問題,Hamid等人提出了廣義IoU的概念(Generalized Intersection over Union,GIoU)[15],解決當(dāng)前的問題,如式(8)所示:
其中:Ac表示預(yù)測框和真實(shí)框最小閉包區(qū)域面積,U表示預(yù)測框和真實(shí)框的并集。根據(jù)圖3,Ac的表達(dá)如式(9)所示:
本文在添加注意力機(jī)制SEBlock改變網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,將GIoU loss作為損失函數(shù)的一部分,用來改進(jìn)目標(biāo)位置損失l b ox。改進(jìn)后的目標(biāo)位置損失l b o x'為:
Tiny_YOLOv3和YOLO v3一樣,引入了錨框(anchor)的概念,通過K-means聚類算法[16]得到anchor的數(shù)量和大小。但Tiny_YOLOv3模型是通過在VOC或COCO數(shù)據(jù)集上聚類而得到anchor的數(shù)量和大小的,不適合課堂中學(xué)習(xí)者的情感識別。因此,本文采用K-means算法在自制的數(shù)據(jù)集上進(jìn)行重新聚類,得到適合于學(xué)習(xí)者情感識別的anchor。
k-means算法采用距離作為相似性指標(biāo),其中K表示聚類的類別數(shù),算法流程圖如圖6所示。
由圖6可見,在重新聚類之前,需要先確定K值。而在先驗(yàn)知識缺乏的情況下,要想確定K值是非常困難的。通常確定K值的方法有二種:肘部法和輪廓系數(shù)法。本文采用肘部法用來確定K值,肘部法的核心指標(biāo)是通過SSE(sum of the squared errors)來描述,如式(12)所示:
圖6 K-means算法聚類流程圖Fig.6 K-means algorithm clustering flowchart
其中:Ci表示第i個(gè)簇;p表示Ci中的樣本點(diǎn);mi是Ci的質(zhì)心,即所有樣本的均值;S S E表示所有樣本的聚類誤差,代表了聚類效果的好壞。實(shí)驗(yàn)結(jié)果如圖7所示。
從圖7可以看出,在K值為6時(shí),曲率最高。因此,選取K=6。
圖7 利用肘部法確定K值實(shí)驗(yàn)圖Fig.7 The experimental diagram of using the elbow method to determine the K value
K值確定后,利用K-means算法對自制的數(shù)據(jù)集進(jìn)行重新聚類,實(shí)驗(yàn)結(jié)果如圖8所示。最終聚類得到的anchor值為:10,18、12,23、13,28、16,35、20,45、30,63,用來替換Tiny_YOLOv3的anchor值:10,14、23,27、37,58、81,82、135,169、344,319。
圖8 K-means算法重新聚類結(jié)果圖Fig.8 K-means algorithm re-clustering result graph
本文針對課堂中學(xué)習(xí)者的情感識別,采用決策層融合的方法。定義課堂上學(xué)習(xí)者的表情有:“專注”、“走神”、“疲憊”、“困惑”和“厭煩”5種表情,而上身姿態(tài)有:“抬頭”、“低頭”、“左顧右盼”和“趴下”4種行為。在實(shí)際場景中,只有當(dāng)學(xué)習(xí)者處于“抬頭”狀態(tài)下才能完整觀察到學(xué)習(xí)者的面部表情。因此,本文只針對“抬頭”這種情況進(jìn)行最后的決策融合。而其它3種行為對于課堂學(xué)習(xí)者來說,很容易判別出學(xué)習(xí)狀態(tài)。4種上身姿態(tài)對應(yīng)的決策融合圖分別對應(yīng)圖9中(a)、(b)、(c)、(d)圖。
圖9 4種不同上身姿態(tài)對應(yīng)的決策融合圖Fig.9 Decision fusion diagram corresponding to 4 different upper body postures
由圖9得知,當(dāng)學(xué)習(xí)者處于抬頭情況下,此時(shí)才能比較完整的檢測出學(xué)習(xí)者的面部表情,從而進(jìn)行面部表情識別,進(jìn)而結(jié)合上身姿態(tài)和面部表情判定此時(shí)學(xué)習(xí)者的情感狀態(tài)。而當(dāng)學(xué)習(xí)者處于低頭時(shí),由于檢測不到完整的面部表情,所以決策融合歸結(jié)為不確定狀態(tài)。同理,針對趴下和左顧右盼的上身姿態(tài),在決策融合時(shí)不必考慮面部表情,直接歸結(jié)為睡覺/犯困和開小差/交頭接耳狀態(tài)。
實(shí)驗(yàn)環(huán)境為:
當(dāng)前,人臉表情數(shù)據(jù)庫的種類有很多,最常用的主要有日本女性人臉表情數(shù)據(jù)庫(JAFFE)、卡內(nèi)基梅隆大學(xué)的CK(Cohn-Kanade)人臉表情數(shù)據(jù)庫及其擴(kuò)展數(shù)據(jù)庫CK+人臉表情數(shù)據(jù)庫等[17]。而目前唯一公開的表情和姿態(tài)雙模態(tài)情感數(shù)據(jù)庫只有FABO數(shù)據(jù)庫[18]。但是,由于FABO數(shù)據(jù)庫ground truth label很繁瑣,且每個(gè)人的樣本和情感類別數(shù)目不一致,同時(shí)外國人的臉部表情特征和中國人的人臉表情特征明顯不同,且數(shù)據(jù)庫的采集環(huán)境并不是針對課堂環(huán)境,因此訓(xùn)練出來的模型并不適合課堂學(xué)習(xí)者的情感識別。因此,本文以安徽省池州市東至三中高一某班的全體學(xué)生為采集對象,自主構(gòu)建數(shù)據(jù)集。
ER_Tiny_YOLOv3在訓(xùn)練時(shí)采用Tiny_YOLOv3提供的權(quán)重參數(shù)作為網(wǎng)絡(luò)訓(xùn)練的初始化參數(shù),通過在自主構(gòu)建的數(shù)據(jù)集上進(jìn)行訓(xùn)練,并進(jìn)行相應(yīng)的網(wǎng)絡(luò)參數(shù)微調(diào),使得檢測效果達(dá)到最優(yōu)。實(shí)驗(yàn)參數(shù)見表1。
表1 實(shí)驗(yàn)參數(shù)說明Tab.1 Description of experimental parameters
目標(biāo)檢測模型一般采用準(zhǔn)確率(Precision)、召回率(Recall)以及均值平均精度(Mean Average Precision,mAP)等指標(biāo)來評價(jià)模型的效果。其中,準(zhǔn)確率表示所有檢測出的目標(biāo)中,正確檢測出的目標(biāo)所占的比例;召回率表示所有待檢測目標(biāo)中正確檢測出的目標(biāo)所占的比例。
對于課堂中學(xué)習(xí)者的情感識別,如果對于一類表情或行為能正確的被檢測出,則為真正類(True Positive,TP),相反,如果對于一個(gè)既不是表情又不是行為的位置檢測為某類面部表情或行為,則為假正類(False Positive,F(xiàn)P)。假設(shè)學(xué)習(xí)者的情感識別中表情和行為的總數(shù)為N,則:
但是,準(zhǔn)確率和召回率是相互影響的,一般情況下準(zhǔn)確率高、召回率就低,而準(zhǔn)確率低,召回率就高。因此,需要在準(zhǔn)確率和召回率之間進(jìn)行權(quán)衡。一種方式是畫出準(zhǔn)確率-召回率曲線,計(jì)算AP值,另一種方式是計(jì)算Fβ分?jǐn)?shù)。如式(14)所示:
其中,當(dāng)β=1時(shí),稱為F1分?jǐn)?shù),是最常用的指標(biāo)之一。
本文通過將改進(jìn)后的模型ER_Tiny_YOLOv3與Tiny_YOLOv3以及YOLO系列最新算法YOLOv4進(jìn)行對比,以此來說明此模型的有效性,實(shí)驗(yàn)結(jié)果見表2。
表2 各模型實(shí)驗(yàn)結(jié)果對比Tab.2 Comparison of test results of various models
從表2的結(jié)果可以得知:改進(jìn)后的模型ER_Tiny_YOLOv3相比于原模型Tiny_YOLOv3,mAP@0.5提升了17%,Precision提升了35%,而F1分?jǐn)?shù)提升了22.6%。相比于YOLOv4,mAP@0.5提升了19%,Precision提升了27%,F(xiàn)1分?jǐn)?shù)提升了21.4%。但是由于ER_Tiny_YOLOv3在Tiny_YOLOv3的基礎(chǔ)上加入了注意力機(jī)制SEBlock,所以參數(shù)比Tiny_YOLOv3多了1/10,檢測時(shí)間比Tiny_YOLOv3慢了約1/100,二者幾乎沒有區(qū)別。但相比于深層網(wǎng)絡(luò)YOLOv4,檢測時(shí)間大幅縮短,只有YOLOv4檢測時(shí)間的1/20。同時(shí),ER_Tiny_YOLOv3的參數(shù)只有YOLOv4的1/10,可見,網(wǎng)絡(luò)參數(shù)大幅度減少。
實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的ER_Tiny_YOLOv3模型是一種兼顧速度和精度的模型。YOLOv4、Tiny_YOLOv3和改進(jìn)后的模型ER_Tiny_YOLOv3的檢測結(jié)果對比如圖10所示。
圖10 各模型檢測結(jié)果對比圖Fig.10 Comparison of test results of various models
從圖10可以看出,對于課堂上學(xué)習(xí)者的情感識別,檢測效果最好的是ER_Tiny_YOLOv3模型。而作為YOLO系列最新的檢測算法YOLOv4,檢測效果反而一般。雖然Tiny_YOLOv3檢測速度最快,但是檢測效果明顯不如ER_Tiny_YOLOv3,漏檢的情況比較多。ER_Tiny_YOLOv3在檢測速度上與Tiny_YOLOv3相差無幾的情況下,檢測效果明顯好于Tiny_YOLOv3,且識別效果比YOLOv4效果更好。可見,本文提出的學(xué)習(xí)者情感識別模型是一種兼顧速度和精度的模型,適用于課堂場景下學(xué)習(xí)者的情感識別。
針對當(dāng)前智能化教育環(huán)境中的“情感缺失”問題,本文提出了一個(gè)快速、準(zhǔn)確、輕量的學(xué)習(xí)者情感識別模型。通過對Tiny_YOLOv3的卷積結(jié)構(gòu)、損失函數(shù)以及錨框值進(jìn)行改進(jìn),經(jīng)過訓(xùn)練得到一個(gè)適合于課堂中學(xué)習(xí)者情感識別的模型ER_Tiny_YOLOv3。同時(shí),針對最終的課堂評價(jià),采用決策層融合方法用來判斷學(xué)習(xí)者的學(xué)習(xí)狀態(tài)。實(shí)驗(yàn)結(jié)果表明,相比于Tiny_YOLOv3和YOLOv4,識別效果更好。當(dāng)然,還有很多問題需要進(jìn)一步研究,比如:決策層融合的方法不具有完整的代表性。如學(xué)習(xí)者在低頭的情況下,也有可能在思考問題,而本文章將其歸結(jié)于不確定狀態(tài)。同理,針對趴下和左顧右盼的情況,也有同樣的問題。因此,下一步將重點(diǎn)研究更具代表性的融合方法。