王國(guó)琿,張 璇,鄭 浩
(西安工業(yè)大學(xué) 光電工程學(xué)院,西安 710021)
課堂是學(xué)校教育教學(xué)工作的主陣地,教學(xué)過程中學(xué)生的課堂表現(xiàn)對(duì)于任課教師把握學(xué)生的學(xué)習(xí)狀態(tài)至關(guān)重要,同時(shí)也是教學(xué)質(zhì)量評(píng)價(jià)的重要依據(jù)[1-2]。大多數(shù)高校在進(jìn)行教學(xué)質(zhì)量評(píng)價(jià)時(shí),通常采用傳統(tǒng)的問卷調(diào)查等課后調(diào)查方式[3],致使任課教師在教學(xué)過程中無法實(shí)時(shí)獲得學(xué)生課堂狀態(tài)的反饋。部分高校對(duì)學(xué)生上課過程進(jìn)行視頻采集,教師通過課后觀察上課視頻進(jìn)行教學(xué)效果評(píng)估,這不僅耗費(fèi)極大的精力和時(shí)間,而且無法兼顧到每一個(gè)學(xué)生[4]。近年來,隨著科學(xué)技術(shù)的進(jìn)步和計(jì)算機(jī)技術(shù)的迅速發(fā)展,人工智能技術(shù)已經(jīng)走進(jìn)課堂,成為教師有力的助手。研究人員開始致力于使用深度學(xué)習(xí)的方法檢測(cè)課堂狀況,分析學(xué)生課堂學(xué)習(xí)狀態(tài),有助于任課教師精準(zhǔn)、實(shí)時(shí)地掌握學(xué)生的學(xué)習(xí)情況,及時(shí)改進(jìn)和優(yōu)化教學(xué)方式,調(diào)整教學(xué)策略,從而提升教學(xué)質(zhì)量,并促進(jìn)學(xué)生的學(xué)習(xí)效率。
現(xiàn)有關(guān)于學(xué)生課堂表現(xiàn)的識(shí)別和分析研究主要分為兩類:行為識(shí)別和表情識(shí)別。針對(duì)學(xué)生課堂行為識(shí)別研究,廖鵬等[5]利用VGG 預(yù)訓(xùn)練網(wǎng)絡(luò)模型遷移學(xué)習(xí),提取學(xué)生課堂異常行為特征,實(shí)現(xiàn)玩手機(jī)、睡覺等行為的識(shí)別和分析;蔣沁沂等[6]通過訓(xùn)練殘差網(wǎng)絡(luò)識(shí)別到學(xué)生上課狀態(tài)的6 種行為;徐家臻等[4]通過Boosting 算法和卷積神經(jīng)網(wǎng)絡(luò)算法提取了學(xué)生的骨架信息,從而識(shí)別到5 種課堂行為;何秀玲等[7]利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)CNN-10 提取人體骨架信息實(shí)現(xiàn)了7 種學(xué)生課堂行為識(shí)別。進(jìn)行學(xué)生課堂行為識(shí)別時(shí),骨架信息識(shí)別雖可以排除學(xué)生體態(tài)、著裝和教室背景等無關(guān)信息,但是增加了識(shí)別過程的復(fù)雜性。事實(shí)上,足夠深度的神經(jīng)網(wǎng)絡(luò)能夠從復(fù)雜的場(chǎng)景中直接識(shí)別出學(xué)生的課堂行為。
針對(duì)學(xué)生課堂表情識(shí)別研究,侯鳳芝等[8]構(gòu)建了基于情感計(jì)算的適應(yīng)性網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)模型,并對(duì)情感缺失問題進(jìn)行了描述。隨著人工智能技術(shù)的發(fā)展,對(duì)于表情識(shí)別的研究更為深入,賈鸝宇等[9]利用機(jī)器學(xué)習(xí)SVM(Supporting Vector Machin,SVM)算法構(gòu)建了人臉68個(gè)關(guān)鍵點(diǎn),實(shí)現(xiàn)了學(xué)生課堂中高興、憤怒、平常和困惑4種表情的識(shí)別;馬曉玲等[10]通過建立雙模態(tài)情感識(shí)別模型對(duì)學(xué)習(xí)者進(jìn)行了全面的情感分析。
針對(duì)學(xué)生課堂狀況分析的研究,賈鵬宇等[9]運(yùn)用YOLO[11]神經(jīng)網(wǎng)絡(luò)對(duì)上課學(xué)生人數(shù)進(jìn)行了統(tǒng)計(jì),接著通過K-means聚類分析了學(xué)生的位置分布情況,最后利用SVM 算法對(duì)學(xué)生表情識(shí)別進(jìn)而分析了學(xué)生上課的活躍度。本文提出僅通過YOLOX[12]深度學(xué)習(xí)網(wǎng)絡(luò)即可實(shí)現(xiàn)對(duì)學(xué)生從整體到個(gè)人的考勤評(píng)估,統(tǒng)計(jì)學(xué)生出勤人數(shù)并對(duì)缺勤名單進(jìn)行標(biāo)注,并完成學(xué)生課堂狀態(tài)的表情和行為識(shí)別分析,實(shí)現(xiàn)對(duì)課堂學(xué)習(xí)狀態(tài)從個(gè)體到整體的分析。
用于人工智能和深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型為多層次神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的每一層將上一層輸出進(jìn)行非線性映射,通過多層非線性映射的堆疊,神經(jīng)網(wǎng)絡(luò)可以在深層網(wǎng)絡(luò)中計(jì)算出抽象的特征用于目標(biāo)識(shí)別和分析。典型的神經(jīng)網(wǎng)絡(luò)包括輸入層、卷積層、池化層及全連接層。由于學(xué)生課堂狀態(tài)的復(fù)雜性,需要足夠深度的神經(jīng)網(wǎng)絡(luò)來進(jìn)行識(shí)別分析,該網(wǎng)絡(luò)能夠在復(fù)雜的場(chǎng)景下識(shí)別學(xué)生的面部表情,同時(shí)也能識(shí)別學(xué)生的肢體行為。本文在前人工作的基礎(chǔ)上,僅利用YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò),實(shí)現(xiàn)學(xué)生缺勤名單的統(tǒng)計(jì)并完成學(xué)生課堂表情和行為的同步識(shí)別。
1.學(xué)生課堂狀態(tài)分析流程
基于YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)的學(xué)生考勤及課堂表情和行為識(shí)別分析的流程如圖1 所示。對(duì)學(xué)生進(jìn)行考勤分析時(shí),深度學(xué)習(xí)網(wǎng)絡(luò)提取的人臉特征與人臉識(shí)別系統(tǒng)比對(duì),統(tǒng)計(jì)學(xué)生出勤人數(shù),從而可以進(jìn)行班級(jí)學(xué)風(fēng)評(píng)價(jià),并對(duì)缺勤名單標(biāo)注,完成學(xué)生課堂考勤的評(píng)估。對(duì)學(xué)生表情和行為識(shí)別分析時(shí),首先,同時(shí)采集學(xué)生課堂表情和行為數(shù)據(jù),具體包含2 種學(xué)生課堂表情和6種課堂行為的圖像與標(biāo)簽;其次,通過Imgaug 軟件對(duì)學(xué)生課堂表情和行為數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng),滿足復(fù)雜場(chǎng)景的訓(xùn)練需求;最后,將數(shù)據(jù)增強(qiáng)后的學(xué)生課堂狀態(tài)圖像與標(biāo)簽對(duì)應(yīng)輸入到Y(jié)OLOX 深度學(xué)習(xí)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練和測(cè)試。
圖1 基于YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)的學(xué)生考勤及課堂表情和行為識(shí)別分析流程
2.YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)
用于學(xué)生課堂狀態(tài)識(shí)別分析的YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示,包括3 個(gè)部分:主體網(wǎng)絡(luò)、Neck連接部分和預(yù)測(cè)部分(YOLO Head)。主體網(wǎng)絡(luò)由連續(xù)卷積、池化等一系列殘差網(wǎng)絡(luò)結(jié)構(gòu)組成,部分卷積層的激活函數(shù)為SiLU 函數(shù)[13]。輸入的圖片在主體網(wǎng)絡(luò)進(jìn)行特征提取,提取到的特征集合為特征層。在主體網(wǎng)絡(luò)將得到3 個(gè)特征層,3 個(gè)輸出尺度分別為:76×76×256、38×38×512 和19×19×1 024。Neck 連接部分采用了特征金字塔結(jié)構(gòu),在主體網(wǎng)絡(luò)獲得的3 個(gè)特征層在Neck部分進(jìn)行特征融合,以進(jìn)一步提取特征。YOLO Head是YOLOX 的分類器和回歸器,主要作用是判斷特征點(diǎn)是否有物體與其對(duì)應(yīng)。在主體網(wǎng)絡(luò)的最后一個(gè)特征層進(jìn)行3 次聯(lián)合卷積后,分別利用4 個(gè)不同尺度的最大池化進(jìn)行處理,池化核大小為13×13、9×9、5×5 和1×1。最大池化處理可極大地增加感受野,分離出學(xué)生課堂狀態(tài)圖像中最顯著的上下文和高級(jí)抽象特征。鑒于YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)足夠復(fù)雜并經(jīng)實(shí)驗(yàn)驗(yàn)證,其能夠同時(shí)識(shí)別到學(xué)生的課堂學(xué)習(xí)狀態(tài),包括面部表情和肢體行為。
圖2 YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)圖
在預(yù)測(cè)過程中,輸入圖像被劃分S×S 個(gè)網(wǎng)格,每個(gè)網(wǎng)絡(luò)由B 個(gè)bounding box 來檢測(cè)物體,從而一張圖像將生成S×S×B 網(wǎng)格。如果物體落在某個(gè)網(wǎng)格中,含有這個(gè)網(wǎng)格的bounding box 將用來預(yù)測(cè)該物體。此外,置信閾值的設(shè)置可以減少bounding box 的冗余。如果bounding box 的置信度高于此閾值,該bounding box 將保留;否則該bounding box 將被刪除。置信度分?jǐn)?shù)可由公式(1)獲得。用于學(xué)生課堂狀態(tài)識(shí)別分析的深度學(xué)習(xí)網(wǎng)絡(luò)損失函數(shù)如公式(2)所示。
本文中,損失函數(shù)被分為3 部分:bounding box 回歸損失lossReg、置信度損失lossObj和類別損失lossCls。訓(xùn)練過程中損失函數(shù)振蕩下降直至最小值,即損失函數(shù)連續(xù)多次不下降或下降幅度小于閾值時(shí),認(rèn)為學(xué)生課堂狀態(tài)識(shí)別分析的深度學(xué)習(xí)網(wǎng)絡(luò)已訓(xùn)練好,訓(xùn)練過程結(jié)束。
學(xué)生課堂學(xué)習(xí)狀態(tài)的數(shù)據(jù)集來源于課堂教學(xué)視頻,將教學(xué)視頻分幀為圖像序列,選取其中的3 000 幅圖像作為數(shù)據(jù)集,并利用LabelImg 軟件進(jìn)行標(biāo)注。標(biāo)注分為以下2 個(gè)部分:行為標(biāo)注和表情標(biāo)注。學(xué)生的行為和表情共同反映了課堂的學(xué)習(xí)狀態(tài),有助于任課教師及時(shí)改進(jìn)和優(yōu)化教學(xué)方式,從而提升教學(xué)質(zhì)量和學(xué)習(xí)效率。
將序列圖像的分辨率調(diào)整為608×608,并按照VOC2007 的格式進(jìn)行標(biāo)注。學(xué)生行為標(biāo)注時(shí),按以下6 種類型進(jìn)行標(biāo)注:舉手、交頭接耳、睡覺、抬頭、低頭學(xué)習(xí)和低頭玩手機(jī);學(xué)生表情標(biāo)注是建立在學(xué)生行為的基礎(chǔ)上,僅標(biāo)注抬頭時(shí)的表情,包括微笑和平常,標(biāo)注圖像如圖3 所示。LabelImg 標(biāo)注文件為xml 格式,每幅圖像與其標(biāo)注文件一一對(duì)應(yīng)輸入深度學(xué)習(xí)網(wǎng)絡(luò),同時(shí)將學(xué)生課堂狀態(tài)數(shù)據(jù)集按8∶1∶1 的比例隨機(jī)拆分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。拆分完數(shù)據(jù)集后,利用Imgaug 軟件進(jìn)行數(shù)據(jù)增強(qiáng),分別利用不同角度旋轉(zhuǎn)、局部模糊、光強(qiáng)變化和鏡像等圖像處理方法,最終得到所有的訓(xùn)練圖像,共計(jì)24 000 幅。
圖3 數(shù)據(jù)集標(biāo)注
本文的實(shí)驗(yàn)環(huán)境為Ubuntu 18.04,CPU 為Intel Core i9-9900X CPU(3.50 GHz),CPU 為NVIDA GeForce GTX 2080Ti(11 G RAM);在Pytorch 1.7 框架下對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試,Python 版本為3.7,編輯器Pycharm版本為3.2.0。
(1)將課堂學(xué)習(xí)狀態(tài)數(shù)據(jù)集隨機(jī)分成訓(xùn)練集、驗(yàn)證集和測(cè)試集,神經(jīng)網(wǎng)絡(luò)獲取所有標(biāo)注類別的Ground-Truth。
(2)利用Adam 進(jìn)行YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練,以VOC 數(shù)據(jù)集的權(quán)重作為初始權(quán)重輸入,epoch 設(shè)為100。訓(xùn)練分為2 個(gè)階段,分別為凍結(jié)階段和解凍階段,其epoch 各為50。凍結(jié)階段的batchsize 設(shè)為8,解凍階段的batchsize 設(shè)為4。學(xué)習(xí)率初始值設(shè)為0.001,隨著epoch 的變化而改變,此外可依據(jù)訓(xùn)練結(jié)果的好壞確定學(xué)習(xí)率的初始值。
(3)用訓(xùn)練好的深度學(xué)習(xí)網(wǎng)絡(luò)對(duì)數(shù)據(jù)集驗(yàn)證及測(cè)試,根據(jù)驗(yàn)證結(jié)果得到mAP(mean Average Precision),可以評(píng)估神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)性能和對(duì)學(xué)生課堂學(xué)習(xí)狀態(tài)的監(jiān)測(cè)性能。
為避免侵犯學(xué)生隱私,所有學(xué)生的姓名皆以序號(hào)替代。對(duì)多個(gè)班級(jí)如A、B、C 班進(jìn)行考勤時(shí),將YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)與學(xué)校的人臉識(shí)別系統(tǒng)相結(jié)合,統(tǒng)計(jì)多個(gè)班級(jí)學(xué)生出勤人數(shù)并給出缺勤名單,同時(shí)可針對(duì)某一班級(jí)分析多次課堂的學(xué)生出勤情況,結(jié)果分別見表1 和表2,實(shí)現(xiàn)對(duì)學(xué)生從整體到個(gè)人的考勤評(píng)估。表1 為某一課堂的A、B、C 3 個(gè)班級(jí)的學(xué)生課堂出勤情況統(tǒng)計(jì)表,表2為C 班6 次課堂的學(xué)生出勤統(tǒng)計(jì)分析情況。
表1 不同班級(jí)學(xué)生出勤情況統(tǒng)計(jì)
表2 C 班多次課堂學(xué)生出勤統(tǒng)計(jì)分析
從表1 中可知,B 班的出勤率為86.1%,高于A 班和C 班的出勤率,可以得出B 班的學(xué)風(fēng)更為濃郁。對(duì)多次課堂學(xué)生出勤名單進(jìn)行對(duì)比,可以發(fā)現(xiàn)哪些學(xué)生經(jīng)常缺勤、學(xué)習(xí)態(tài)度不夠端正,有助于任課教師進(jìn)一步了解學(xué)生個(gè)人的學(xué)習(xí)情況。由表2 的多次缺勤學(xué)生名單中可以發(fā)現(xiàn),C 班的31 號(hào)學(xué)生缺勤次數(shù)最多、學(xué)習(xí)態(tài)度可能存在問題,進(jìn)一步結(jié)合缺勤次數(shù)較多的同宿舍30 號(hào)學(xué)生,應(yīng)關(guān)注所在宿舍的整體學(xué)風(fēng),需要任課教師或輔導(dǎo)員及時(shí)幫助學(xué)生端正學(xué)習(xí)態(tài)度。
對(duì)學(xué)生課堂學(xué)習(xí)狀態(tài)進(jìn)行訓(xùn)練時(shí),50 epochs 之后,網(wǎng)絡(luò)主體部分開始訓(xùn)練,YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)的loss值急速下降并收斂于2.44,此時(shí)訓(xùn)練得到的權(quán)重達(dá)到最好效果。根據(jù)數(shù)據(jù)集的劃分比例,其中2 400 個(gè)數(shù)據(jù)樣本用于深度學(xué)習(xí)網(wǎng)絡(luò)對(duì)學(xué)生課堂狀態(tài)的測(cè)試。本文以mAP為測(cè)試指標(biāo),對(duì)神經(jīng)網(wǎng)絡(luò)訓(xùn)練的效果進(jìn)行評(píng)定,結(jié)果見表3,其中mAP 值越高,表示網(wǎng)絡(luò)的訓(xùn)練效果越好。
表3 各種類別AP 和mAP
表3 表明神經(jīng)網(wǎng)絡(luò)的訓(xùn)練精度已經(jīng)很高,由于學(xué)生微笑的樣本相比于其他行為或表情偏少,測(cè)試時(shí)微笑的AP 值略低于其他幾類,但精度也已達(dá)到69.86%。
YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)能夠?qū)崿F(xiàn)實(shí)時(shí)動(dòng)態(tài)檢測(cè),對(duì)學(xué)生課堂學(xué)習(xí)狀態(tài)進(jìn)行精準(zhǔn)識(shí)別,識(shí)別效果如圖4 所示。在實(shí)時(shí)動(dòng)態(tài)檢測(cè)過程中,教師可根據(jù)學(xué)生的表情和行為兼顧到所有學(xué)生的學(xué)習(xí)狀態(tài),觀察每個(gè)學(xué)生的連續(xù)專注時(shí)間,進(jìn)而判斷學(xué)生對(duì)教學(xué)內(nèi)容是否感興趣,并及時(shí)改進(jìn)和優(yōu)化教學(xué)方式,實(shí)施更為合適的教學(xué)方案,從而提升教學(xué)質(zhì)量,促進(jìn)學(xué)生的學(xué)習(xí)效率。
圖4 學(xué)生課堂表情和行為識(shí)別效果
學(xué)生課堂學(xué)習(xí)狀態(tài)識(shí)別分析時(shí),不可避免會(huì)出現(xiàn)部分學(xué)生被遮擋的情況,使得整體檢測(cè)結(jié)果受到影響,降低檢測(cè)精度。需要指出的是,本文無法處理學(xué)生面部和肢體被大比例遮擋的情況,這也是下一步研究工作的重點(diǎn)。
本文聚焦于學(xué)生課堂考勤、面部表情和肢體行為識(shí)別研究,提出了一種基于YOLOX 深度學(xué)習(xí)網(wǎng)絡(luò)的學(xué)生課堂學(xué)習(xí)狀態(tài)分析方法,實(shí)時(shí)獲取到學(xué)生的課堂學(xué)習(xí)狀態(tài)。經(jīng)實(shí)驗(yàn)驗(yàn)證,該方法能夠在復(fù)雜的場(chǎng)景下準(zhǔn)確統(tǒng)計(jì)考勤情況、識(shí)別學(xué)生的表情和行為。今后工作中可以嘗試深度學(xué)習(xí)網(wǎng)絡(luò)與其他方法結(jié)合解決學(xué)生面部和肢體被大比例遮擋的情況,同時(shí)應(yīng)采集樣本量更大、課堂狀態(tài)更加豐富的數(shù)據(jù)來完善本文研究工作。