梁 艷,周卓沂,黃偉聰,郭梓健
(華南師范大學(xué) 軟件學(xué)院,廣東 廣州 510006)
近年來,隨著互聯(lián)網(wǎng)的快速發(fā)展,在線教育發(fā)展迅速,越來越多的學(xué)校以及培訓(xùn)機構(gòu)在傳統(tǒng)線下教學(xué)模式基礎(chǔ)上加入在線教育這一新的教學(xué)模式。線上學(xué)習(xí)雖然方便,但學(xué)生的學(xué)習(xí)效果往往并不理想,究其原因是線上授課老師難以及時獲悉學(xué)習(xí)者的學(xué)習(xí)狀態(tài)并及時進行教學(xué)調(diào)整,學(xué)習(xí)者也容易因此降低學(xué)習(xí)專注程度,從而影響學(xué)習(xí)效率。長此以往,學(xué)習(xí)者也會因為學(xué)習(xí)效率不高、專注度低下而產(chǎn)生一定的厭學(xué)情緒,導(dǎo)致消極學(xué)習(xí)甚至輟學(xué)的情況發(fā)生。調(diào)查數(shù)據(jù)表明,大規(guī)模在線教育平臺MOOC 的使用者輟學(xué)率高達80%~95%[1]。因此,設(shè)計一種自動的專注度檢測方法對在線教育行業(yè)具有重要意義,有助于提升學(xué)習(xí)者的學(xué)習(xí)效率,輔助教師更好地完成教書育人工作,從而更好地助力在線教育的高質(zhì)量發(fā)展。
考慮到利用腦電信號、心率等生理信號進行專注度檢測需要使用穿戴式設(shè)備,影響學(xué)習(xí)者的學(xué)習(xí)狀態(tài),所以本文采用更為合理的計算機視覺技術(shù)實現(xiàn)非接觸式檢測。此外,考慮到人臉表情與專注程度具有密切聯(lián)系,因此利用人臉特征設(shè)計一種基于時空注意力機制的方法完成在線教育場景下的專注度檢測任務(wù)。
早期基于計算機視覺的專注度檢測研究主要采用傳統(tǒng)機器學(xué)習(xí)方法。例如,Chun 等[2]利用Haar-like 特征檢測和AdaBoost 算法學(xué)習(xí)面部特征,運用光流技術(shù)和模板匹配方法對面部特征進行跟蹤;段巨力[3]根據(jù)目標(biāo)人臉兩眼與鼻子的位置構(gòu)造一個三角形,然后利用這個三角形進行幾何運算,計算出學(xué)習(xí)者的側(cè)臉程度、低(抬)頭、眼睛張合度并進行專注度判斷;鐘馬馳等[4]選取眼睛、嘴巴等關(guān)鍵部位進行判斷,得到頭部姿態(tài)、疲勞程度等評估因素,并通過層次分析法確定這幾個因素對應(yīng)的權(quán)重,最后統(tǒng)計分析得到一個量化的專注度分數(shù);Thomas 等[5]以通過OpenFace工具包獲取得到的目標(biāo)人臉的動作單元(Action Unit,AU)、頭部姿態(tài)和眼睛注視方向作為特征,以將徑向基函數(shù)(Radial Basis Function,RBF)作為核函數(shù)的支持向量機(Support Vector Machine,SVM)作為分類器,判斷目標(biāo)對象的專注情況。傳統(tǒng)機器學(xué)習(xí)方法需要手工提取特征,部分區(qū)域變化不明顯會導(dǎo)致特征冗余情況發(fā)生,并且大多方法均運用在特定約束條件下,魯棒性和泛化性較差。
隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,越來越多的專家學(xué)者將深度學(xué)習(xí)方法運用于專注度檢測工作中。考慮到表情與專注度的相關(guān)性,Nezami 等[6]提出將表情識別任務(wù)模型遷移到專注度檢測中,在自采數(shù)據(jù)集中獲得72.38%的識別精度,但該模型沒有在公開數(shù)據(jù)集上進行驗證,實驗結(jié)果缺乏說服力;沈利迪[7]重新設(shè)置卷積層與全連接層的數(shù)量,構(gòu)造一個結(jié)構(gòu)類似于AlexNet 的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)模型,用以提升專注度識別的速率和精度;Tang 等[8]則直接將全連接層從整個CNN 網(wǎng)絡(luò)中移除,達到快速識別的效果;孫紹涵等[9]利用改進后的YOLOv4網(wǎng)絡(luò)識別學(xué)生課堂行為狀態(tài)。
上述基于深度學(xué)習(xí)的方法主要針對單個圖像幀進行特征提取。然而,一段視頻前后連續(xù)的圖像幀之間往往是存在一定聯(lián)系的,因此近年來越來越多的學(xué)者研究如何對時序信息進行建模。例如,章文松[10]利用多尺度特征提取模型MS-ResNet-50 提取每幀的特征向量,并利用基于自注意力機制的分類模塊提取時域特征,完成專注度檢測工作;Werlang 等[11]利用C3D 網(wǎng)絡(luò)在視頻數(shù)據(jù)上進行訓(xùn)練,并完成二分類任務(wù),但輸出結(jié)果只包含專注、不專注2 種情況,不能細粒度地表現(xiàn)學(xué)習(xí)者的學(xué)習(xí)狀態(tài);Liao 等[12]提出深度時空網(wǎng)絡(luò)(Deep Facial Spatio-Temporal Network,DFSTN)用于提取人臉序列的時空信息,該網(wǎng)絡(luò)在DAiSEE[13]數(shù)據(jù)集的四分類任務(wù)中獲得58.84%的準確率;陸玉波等[14]采用SE-ResNet-50[15]以及OpenFace 分別提取面部特征和行為特征,并利用時序卷積網(wǎng)絡(luò)(Temporal Convolutional Network,TCN)[16]處理時序信息,在DAiSEE 數(shù)據(jù)集上的四分類準確率為61.4%。
現(xiàn)有方法在很大程度上促進了在線教育環(huán)境下專注度檢測的研究,但部分網(wǎng)絡(luò)模型在訓(xùn)練時并沒有很好地提取到對分類任務(wù)更為重要的特征,并且大部分深度學(xué)習(xí)方法采用較深的網(wǎng)絡(luò)結(jié)構(gòu),不利于在實際應(yīng)用中推廣。針對上述問題,本文采用輕量的ResNet18[17]作為主干網(wǎng)絡(luò)提取空間特征,并在網(wǎng)絡(luò)中加入空間注意力(Shuffle Attention,SA)[18]機制強化對該任務(wù)更為重要的人臉區(qū)域特征,同時利用帶有時序注意力(Global Attention,GA)[19]的長短記憶周期網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)完成時序特征的提取,最后利用Softmax 函數(shù)對所得到的特征信息進行決策,得到最終的預(yù)測結(jié)果。
本文方法的整體結(jié)構(gòu)如圖1 所示。首先對輸入的序列幀進行數(shù)據(jù)預(yù)處理,獲取每幀的人臉區(qū)域,然后分別利用ResNet18 和LSTM 網(wǎng)絡(luò)提取空間特征和時序特征;同時在2 個特征提取模塊中嵌入相關(guān)的注意力機制,輔助2 個模塊更好地完成特征提取任務(wù);隨后利用兩層全連接層將特征向量映射到4 種專注度類別,最終實現(xiàn)專注度的分類。

Fig.1 General structure of the proposed method圖1 本文方法的整體結(jié)構(gòu)
數(shù)據(jù)預(yù)處理過程如圖2 所示。首先利用OpenCV 對學(xué)習(xí)者視頻進行幀提取,獲得多張連續(xù)的圖像幀。這些連續(xù)的圖像幀一般含有較多背景信息,不僅會增加網(wǎng)絡(luò)的計算量,而且容易影響網(wǎng)絡(luò)對人臉特征的提取,所以選用多任務(wù)卷積網(wǎng)絡(luò)(Multi-task Convolutional Neural Network,MTCNN)[20]對每幀圖像進行人臉檢測,從原始圖像幀中獲取只含人臉部分的區(qū)域。MTCNN 由3 個級聯(lián)的輕量級CNN PNet、RNet 和Onet 構(gòu)成,其中Pnet 對圖像金字塔完成特征的初步提取以及確定候選邊框,Rnet 篩選經(jīng)過Pnet 得到的候選邊框,Onet 在繼續(xù)篩選候選框的同時完成人臉關(guān)鍵點的定位。利用MTCNN 網(wǎng)絡(luò)可獲得大小為3×224×224的人臉圖像。

Fig.2 Data preprocessing flow圖2 數(shù)據(jù)預(yù)處理流程
為了增加樣本數(shù)量和多樣性,使用RandAugment 方法[21]對訓(xùn)練數(shù)據(jù)進行數(shù)據(jù)增強。該方法將最為通用的K(這里為14)種數(shù)據(jù)增強方法列舉出來,并結(jié)合模型與數(shù)據(jù)集的規(guī)模,隨機從這K 種數(shù)據(jù)增強操作中選用N 種進行組合,共有KN種組合方式完成對輸入數(shù)據(jù)的增強處理。每種增強方式包含一個增強變形程度參數(shù)M,即在KN種組合方式情況下每種增強程度為M。通過RandAugment 數(shù)據(jù)增強,在不改變圖像大小的同時隨機在部分像素點位置上進行數(shù)值變化以增加數(shù)據(jù)樣本的多樣性,大大提高了網(wǎng)絡(luò)模型的泛化能力。
空間特征提取模塊采用融合SA 機制的ResNet18 網(wǎng)絡(luò),具體層次結(jié)構(gòu)如圖3 所示(此處未標(biāo)出殘差箭頭,殘差連接可參考文獻[17])。ResNet18 是殘差網(wǎng)絡(luò)(Residual Network,ResNet)系列網(wǎng)絡(luò)中最為輕量級的CNN 主干網(wǎng)絡(luò),主要由4 個卷積層構(gòu)成,每個卷積層又包含2 個卷積塊。輸入的特征圖在每個卷積塊中分別進行卷積處理、歸一化處理以及激活函數(shù)的非線性映射處理,其中卷積處理選用的卷積核大小為3×3,步長分別為2 和1,零填充為1。輸出特征的尺寸o可根據(jù)如式(1)所示:

Fig.3 Structure of spatial feature extraction module圖3 空間特征提取模塊結(jié)構(gòu)
式中:i為輸入特征的尺寸,p為零填充,k為卷積核大小,s為卷積步長。
考慮到ResNet 中所有卷積塊對于輸入特征圖的每一個像素點均進行相同的卷積運算,而在實際情況下特征圖的不同區(qū)域?qū)τ谌蝿?wù)決策的重要性是不同的,因此在每個卷積塊的歸一化處理后加入SA 進行優(yōu)化,以提升ResNet18 在空間維度的特征提取能力,區(qū)分出不同特征區(qū)域?qū)θ蝿?wù)的重要程度。
SA 機制采用雙分支并行的結(jié)構(gòu),一條分支處理通道維度上的特征依賴,另一條分支處理空間維度上的特征依賴,其具體結(jié)構(gòu)可參見文獻[18]。經(jīng)過融合Shuffle Attention 機制的ResNet18 網(wǎng)絡(luò)后,原始輸入序列數(shù)據(jù)由B×T×3×224×224(B為BatchSize,批量大小;T為Time,序列幀數(shù)量)變?yōu)锽×T×512的特征向量。
時序特征提取模塊由加入GA 機制的LSTM 網(wǎng)絡(luò)構(gòu)成,具體結(jié)構(gòu)如圖4 所示。將空間特征提取模塊輸出的特征向量(即上述B×T×512 的特征向量)輸送至LSTM 網(wǎng)絡(luò)中進行時序特征提取,并在LSTM 后面加入一個GA 來對特征向量間全局時序信息進行建模。

Fig.4 Time series feature extraction model圖4 時序特征提取模型
傳統(tǒng)的LSTM 由遺忘門、記憶門、輸出門構(gòu)成,并在輸出門位置輸出所有隱藏狀態(tài)。利用LSTM 對時序信息建模的操作為取輸出中的最后一個隱藏狀態(tài)進行預(yù)測判斷,但在部分情況下序列幀中可能存在一些不利于任務(wù)決策的干擾幀,如果僅根據(jù)最后一個隱藏狀態(tài)進行判斷,得到的結(jié)果可能并不準確。針對該問題,在輸出的所有隱藏狀態(tài)中將最后一個隱藏狀態(tài)hs與所有隱藏狀態(tài)ht一起輸入到一個自定義Score 函數(shù)中進行計算。Score 函數(shù)通過一個可以訓(xùn)練的矩陣Ws輔助分析hs與所有隱藏狀態(tài)ht之間的相關(guān)性,弱化干擾幀對時序信息建模的影響,使得LSTM 對輸入特征向量的處理更具有全局性。Score 函數(shù)的定義如式(2)所示:
通過softmax 函數(shù)對Score 函數(shù)得到的所有輸出進行歸一化,獲得每一個隱藏狀態(tài)對應(yīng)的重要權(quán)重系數(shù)αt,計算過程如式(3)所示:
式中:n表示隱藏狀態(tài)的序號。
將歸一化后的所有重要權(quán)重系數(shù)與其對應(yīng)的隱藏狀態(tài)進行加權(quán)求和,得到最終的狀態(tài)hf作為優(yōu)化后的LSTM輸出。hf特征向量大小為B×256,其計算公式如式(4)所示:
本實驗在Linux 系統(tǒng)下的PyTorch 1.7.1 版本框架中進行,顯卡為24G 顯存大小的GeForce RTX 3090。實驗的損失函數(shù)選用交叉熵損失函數(shù),學(xué)習(xí)率大小設(shè)定為0.001,批量大小設(shè)為32,選用16 張連續(xù)的時序幀代表每一個樣本視頻。
選用公開的在線教育情感數(shù)據(jù)集DAiSEE[13]以及自采的在線學(xué)習(xí)視頻數(shù)據(jù)集(Online Learning Video,OLV)作為實驗數(shù)據(jù)集。
DAiSEE 是目前專注度檢測領(lǐng)域最大的公開數(shù)據(jù)集,一共包含9 068 個時長為10s 的印度學(xué)生在線學(xué)習(xí)時采集的視頻樣本。在該數(shù)據(jù)集中參與視頻錄制的人數(shù)總共為112 人,其中女性為32 人,男性為80 人,錄制環(huán)境分別為宿舍、教室以及圖書館等室內(nèi)場景。根據(jù)參與錄制人員的學(xué)習(xí)專注程度,該數(shù)據(jù)集將專注度劃分為非常不專注、不專注、專注以及非常專注4 個等級。在數(shù)據(jù)集的9 068 個視頻中有8 925 個視頻具有標(biāo)簽。經(jīng)過人臉檢測處理后,保留8 832 個具有標(biāo)簽的視頻樣本,為了進一步擴充數(shù)據(jù),選擇不同起始幀,按相同間隔對單個視頻樣本進行重采樣,最終獲得44 160 個由16 張圖像幀構(gòu)成的視頻樣本用于實驗。
為了驗證所提出網(wǎng)絡(luò)模型的泛化性,利用手機錄制17名20~25 歲在校大學(xué)生(男性11 人,女性6 人)在線學(xué)習(xí)時的視頻。每個學(xué)生錄制4 個視頻,每個視頻時長10s。視頻錄制中的刺激材料選自中國慕課大學(xué)中的在線課程,錄制時手機的相機參數(shù)設(shè)置為1 920×1 080 像素,幀率為30幀/s。為了使自采數(shù)據(jù)集更具普遍性與科學(xué)性,采樣環(huán)境選擇學(xué)生宿舍、實驗室等多種場景。自采數(shù)據(jù)集的專注度劃分等級與DAiSEE 一致。按照DAiSEE 數(shù)據(jù)集的處理方式對自采數(shù)據(jù)集進行人臉檢測篩選和重采樣,最終獲得670個由16張圖像幀構(gòu)成的視頻樣本。
考慮到Gupta 等[13]在公開DAiSEE 數(shù)據(jù)集中選擇了Top-1 準確率作為分類模型的評價指標(biāo),為了公平比較,本文采用相同的評價指標(biāo)。Top-1 準確率是指在預(yù)測結(jié)果中選擇概率值最大那個類別作為模型的預(yù)測值,并將該預(yù)測值與真實類別進行校驗,如果兩者相同,則預(yù)測正確,否則判定為預(yù)測失敗,具體計算公式如式(5)所示:
式中:TP表示真正例,F(xiàn)P表示假正例。
為了驗證采用的空間注意力機制與時間注意力機制的有效性,本文在DAiSEE 數(shù)據(jù)集中進行消融實驗,結(jié)果如表1 所示。從表中數(shù)據(jù)可知,當(dāng)主干網(wǎng)絡(luò)不加入任何注意力機制時,模型的準確率只有55.67%。在這基礎(chǔ)上加入時序注意力機制GA 可以幫助網(wǎng)絡(luò)更好地利用視頻數(shù)據(jù)的時序信息進行建模,最終將模型的準確率提升至57.06%。而在時序注意力機制的基礎(chǔ)上再增加SA,網(wǎng)絡(luò)模型的預(yù)測結(jié)果可以達到60.27%的準確率,這說明空間維度上重要特征信息的提取對模型的決策具有較大幫助,SA 中空間注意力分支和通道注意力分支可以較好地輔助網(wǎng)絡(luò)關(guān)注到重要特征信息。

Table 1 Results of ablation experiments on the DAiSEE dataset表1 在DAiSEE數(shù)據(jù)集上的消融實驗結(jié)果
在消融實驗中,將Shuffle Attention 與2 種經(jīng)典的空間注意力機制Convolutional Block Attention Module(CBAM)[22]和Squeeze-and-Excitation(SE)[15]進行比較。CBAM 注意力機制以平均池化和最大池化為主要計算操作,由一個通道注意力模塊和一個空間注意力模塊串行構(gòu)成;SE 注意力機制則是利用全局平均池化操作實現(xiàn)。從實驗結(jié)果可以看到,3 種空間注意力機制的加入均提升了識別準確率,說明空間注意力機制有助于提升網(wǎng)絡(luò)模型性能。其中,SA 機制效果最佳,這得益于SA 較好地將通道維度與空間維度的特征依賴綜合起來進行分析,并且避免了為降低計算開銷而采用多個全連接進行特征降維的操作,保證輸入的特征信息能被充分利用。
為了更直觀地說明在ResNet18 網(wǎng)絡(luò)中加入SA 機制帶來的幫助,利用GradCAM[23]方法對分別含有SA、CBAM 和SE 注意力機制的網(wǎng)絡(luò)進行圖像幀熱力圖的可視化,如圖5所示。根據(jù)熱力圖對比可知,相較于另外2 種空間注意力機制,本文使用的SA 可以使網(wǎng)絡(luò)關(guān)注到更大面積的人臉區(qū)域,覆蓋人眼、鼻子以及嘴巴等特征區(qū)域,這些區(qū)域?qū)W⒍鹊念A(yù)測任務(wù)尤為重要。值得注意的是,從圖5 第三行可以看到,當(dāng)目標(biāo)對象發(fā)生較大姿態(tài)變化時,本文方法也能較好地定位到對任務(wù)有幫助的關(guān)鍵區(qū)域,這主要得益于SA 在通道和空間維度的特征篩選,使網(wǎng)絡(luò)模型的性能得到保證。

Fig.5 Visual heatmaps under different attention mechanisms圖5 不同注意力機制下的可視化熱力圖
為了驗證算法的泛化性,在自采的在線學(xué)習(xí)視頻數(shù)據(jù)集OLV 中進行消融實驗,結(jié)果如表2 所示。從表2 可知,該方法在OLV 數(shù)據(jù)集上也取得了很好的效果,準確率達到65.00%,且優(yōu)于其他2 種空間注意力機制方法,證明了其對專注度檢測的有效性。值得注意的是,在OLV 數(shù)據(jù)集上獲得的準確率高于DAiSEE 數(shù)據(jù)集,這可能是由于DAiSEE數(shù)據(jù)集中存在較為嚴重的數(shù)據(jù)類別不平衡問題,而本實驗在采集OLV 的數(shù)據(jù)時盡量避免了這個問題,因此OLV 數(shù)據(jù)集的類別分布比較均勻,對模型學(xué)習(xí)起到了積極作用。

Table 2 Results of ablation experiments on the OLV dataset表2 在OLV數(shù)據(jù)集上的消融實驗結(jié)果
在DAiSEE 數(shù)據(jù)集上進行比較,結(jié)果如表3 所示。從表中數(shù)據(jù)可知,本文方法明顯優(yōu)于大部分現(xiàn)有方法,說明該方法具有更高的精度。

Table 3 Comparison with other methods on the DAiSEE dataset表3 在DAiSEE數(shù)據(jù)集上與其他方法的比較
值得注意的是,本文方法準確率略低于文獻[14]中的多模態(tài)方法,原因可能是該方法選用50 層的ResNet 作為主干網(wǎng)絡(luò),并且結(jié)合面部外觀、眨眼頻率等多模態(tài)特征。然而,采用較大深度的網(wǎng)絡(luò)模型以及使用多模態(tài)特征時會增加計算開銷,不利于在線教育場景的實際應(yīng)用。
為了進一步說明這個問題,對2 種方法進行推理時間測試。其中,文獻[14]的方法推理時間為(88.13±2.86)ms,而本文方法則只需(48.06±0.05)ms,這些數(shù)據(jù)證明本文方法在時間復(fù)雜度上占有優(yōu)勢。因此,本文方法更適合在數(shù)據(jù)量大、場景復(fù)雜多變的在線學(xué)習(xí)環(huán)境中使用。
本文針對在線教育環(huán)境下教師難以獲悉學(xué)習(xí)者專注度的問題,提出了一種基于時空注意力機制的專注度檢測方法。該方法以ResNet18 和LSTM 為主干網(wǎng)絡(luò),加入SA 提高網(wǎng)絡(luò)對空間特征的提取能力,獲得更為重要的空間特征信息,并在時序特征提取模塊中加入GA,使得網(wǎng)絡(luò)可以結(jié)合所有時序幀的信息綜合地進行決策評估。為了證明方法的有效性,自建一個在線教育環(huán)境下的學(xué)習(xí)視頻數(shù)據(jù)集OLV,并將提出的方法分別在公開數(shù)據(jù)集DAiSEE 以及自采數(shù)據(jù)集OLV 上進行測試。實驗結(jié)果證明,本文方法在性能方面優(yōu)于大多數(shù)現(xiàn)有方法。由于選用的是較為輕便的主干網(wǎng)絡(luò),該方法具有較低的時間開銷,適用于實際的在線學(xué)習(xí)場景。在未來的工作中,考慮到3D 卷積網(wǎng)絡(luò)對視頻數(shù)據(jù)具有非常低的時間開銷,將嘗試對3D 卷積網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化并用于專注度檢測,在保證更低時間開銷的同時獲得更好的檢測結(jié)果。此外,由于目前采集的OLV 數(shù)據(jù)集人數(shù)有限,視頻數(shù)量較少,后續(xù)將繼續(xù)邀請更多學(xué)生完成錄制,增加數(shù)據(jù)集的樣本數(shù)量,更好地支持對模型的訓(xùn)練與測試。