趙明權(quán),虎海松,劉 杭
(桂林信息科技學(xué)院,廣西 桂林 541214)
人工智能技術(shù)的快速發(fā)展,智慧教室開始逐漸被廣泛應(yīng)用。課堂教學(xué)視頻中包含豐富的授課信息和學(xué)生行為信息,以往對(duì)課堂教學(xué)信息的分析,基本上來源于教學(xué)人員觀看錄制的授課視頻,并以此記錄學(xué)生課堂表現(xiàn)。顯然,這樣的操作流程效率較低,因此如何建立一套有效的課堂行為監(jiān)控系統(tǒng)成為研究者們需要解決的問題[1]。
近些年,隨著卷積神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展與成熟,計(jì)算機(jī)視覺、自然語言處理、語音識(shí)別等領(lǐng)域的識(shí)別準(zhǔn)確率得到極大提高。在教育教學(xué)領(lǐng)域上,以人工智能技術(shù)為支撐的虛擬仿真實(shí)踐教學(xué)平臺(tái)、大規(guī)模的開放課堂教學(xué),教師和學(xué)生有了更多教學(xué)方式的選擇[2]。極大地?cái)U(kuò)展了教學(xué)手段的多樣性,教學(xué)過程更加活躍。具備視頻實(shí)時(shí)監(jiān)控、錄像等功能的現(xiàn)代課堂在大中小學(xué)已經(jīng)開始普及。但利用攝像頭作為課堂信息采集工具,并智能分析和查看課堂行為的軟硬件技術(shù)還并不常見。課堂行為檢測(cè)系統(tǒng)可以為教師提供有效的反饋,以便教師能夠?qū)W(xué)生的行為進(jìn)行更加有效的管理。冀翀曉[3]運(yùn)用傳統(tǒng)數(shù)字圖像處理技術(shù),基于運(yùn)動(dòng)目標(biāo)見來捕捉學(xué)生位置,并裁剪出感興趣區(qū)域進(jìn)行再識(shí)別。王昌海等[4]利用人臉識(shí)別技術(shù),分析課上學(xué)生的表情信息,來側(cè)面評(píng)估教學(xué)情況。目前,基于深度學(xué)習(xí)的課堂行為檢測(cè)系統(tǒng)效率更高,可以更好地幫助人工分析系統(tǒng)識(shí)別物體。這類方法識(shí)別的目標(biāo)對(duì)象廣泛,其輸出可以是單個(gè)目標(biāo),也可以是多個(gè)目標(biāo)。在復(fù)雜程度上,YOLO 檢測(cè)算法是一種一階算法,由圖像直接輸入一次性產(chǎn)生最終預(yù)測(cè)結(jié)果,具有檢測(cè)識(shí)別精度高和實(shí)時(shí)性好的優(yōu)勢(shì)。董琪琪等[5]將深度學(xué)習(xí)目標(biāo)檢測(cè)模型SSD 算法應(yīng)用在課堂行為檢測(cè)中,進(jìn)一步提高了識(shí)別的準(zhǔn)確率,使得目標(biāo)定位和識(shí)別能一步完成。無論使用傳統(tǒng)技術(shù)和深度學(xué)習(xí)技術(shù),還是融合情緒特征和人臉特征的算法技術(shù)[6-10],都取得了顯著的效果。但這些方法注重行為識(shí)別結(jié)果的準(zhǔn)確性,模型算法計(jì)算量大,難以做到實(shí)時(shí)性的高要求。
本文以中學(xué)課堂為實(shí)驗(yàn)環(huán)境基礎(chǔ)來搭建設(shè)備,設(shè)計(jì)了一種基于目標(biāo)檢測(cè)的課堂行為監(jiān)控系統(tǒng)。通過分析和總結(jié)教學(xué)過程中學(xué)生的課堂行為特點(diǎn),自制課堂行為數(shù)據(jù),構(gòu)建識(shí)別模型,開發(fā)可視化系統(tǒng)。有助于教師獲得學(xué)生情況,以及對(duì)課堂進(jìn)行評(píng)價(jià),旨在改善課堂教學(xué)質(zhì)量,提高教師管理效率和學(xué)生學(xué)習(xí)成果。
本系統(tǒng)在實(shí)驗(yàn)教室中安裝部署監(jiān)控設(shè)備實(shí)時(shí)采集課堂授課視頻序列。課堂環(huán)境有其獨(dú)特的特點(diǎn),即人員流動(dòng)較小,課上學(xué)生基本不會(huì)離開座位。采集畫面穩(wěn)定不雜亂,極少出現(xiàn)運(yùn)動(dòng)畫面。因此采用固定位置固定視角的監(jiān)控設(shè)備獲取課堂畫面,傳回到后臺(tái)服務(wù)器上。系統(tǒng)框架如圖1 所示。
圖1 系統(tǒng)框架
在課堂上,學(xué)生的行為復(fù)雜多變,可以從不同的角度劃分成不同的類別。例如,從課堂的角度出發(fā),可以將學(xué)生行為分為積極課堂和消極課堂;從學(xué)生角度出發(fā),可以將學(xué)生行為分為學(xué)習(xí)狀態(tài)和非學(xué)習(xí)狀態(tài)。根據(jù)有關(guān)教育學(xué)的調(diào)查研究表明,43%的學(xué)生會(huì)在課堂上有提問的意向,包括提出問題;57%的學(xué)生一般不會(huì)主動(dòng)提問,其中17%的學(xué)生表現(xiàn)出不敢提問的情況,40%的學(xué)生則更喜歡在課后找老師答疑。探討學(xué)生在課堂上是否會(huì)積極提問的行為,不僅可以反映課堂的活躍度,還可以在一定程度上反映學(xué)生對(duì)教師所授知識(shí)的掌握情況。本文設(shè)計(jì)分類標(biāo)注了4 種典型的教學(xué)課堂行為,分別是舉手、趴桌子、站立和書寫,見表1。
表1 學(xué)生行為定義
由圖1 可知,框圖的上半部分是深度學(xué)習(xí)目標(biāo)檢測(cè)模型訓(xùn)練流程。由于模型的輸入是圖像數(shù)據(jù),對(duì)采集的視頻序列先經(jīng)過幀篩選處理,排除相似重復(fù)的圖像,再對(duì)篩選過的圖像進(jìn)行人工標(biāo)注??蜻x出學(xué)生行為動(dòng)作目標(biāo)區(qū)域和具體類別來構(gòu)成訓(xùn)練數(shù)據(jù)集。最后使用預(yù)先在COCO 公開數(shù)據(jù)集上預(yù)訓(xùn)練過的YOLOv7-Tiny網(wǎng)絡(luò)作為模型基礎(chǔ),經(jīng)過自制數(shù)據(jù)集在服務(wù)器上再訓(xùn)練得到最終行為識(shí)別模型。
由圖1 可知,框圖的下半部分是客戶端執(zhí)行流程。攝像頭采集的視頻數(shù)據(jù)傳輸?shù)胶笈_(tái)服務(wù)系統(tǒng),由客戶端后臺(tái)對(duì)視頻流做定時(shí)抽幀處理,對(duì)抽取的圖像幀進(jìn)行自動(dòng)預(yù)測(cè)分析。最終由客戶端界面呈現(xiàn)課堂實(shí)時(shí)識(shí)別結(jié)果和對(duì)統(tǒng)計(jì)數(shù)據(jù)的可視化。
深度學(xué)習(xí)模型網(wǎng)絡(luò)參數(shù)通常都比較多,訓(xùn)練數(shù)據(jù)量過少或數(shù)據(jù)類型分布單一,非常容易造成目標(biāo)檢測(cè)模型的過擬合現(xiàn)象,導(dǎo)致模型不具有很好的泛化能力,不能用于最終系統(tǒng)客戶端的分類識(shí)別模型。因此,針對(duì)以上情況,本文對(duì)訓(xùn)練數(shù)據(jù)集做了如下操作。
一是除了自行在教室采集的視頻流圖像數(shù)據(jù)外,從互聯(lián)網(wǎng)上爬取收集了更多課堂教學(xué)圖像,并進(jìn)行人工手動(dòng)標(biāo)注標(biāo)簽。二是對(duì)部分圖像數(shù)據(jù)疊加隨機(jī)遮擋,用圖像均值和平均像素替換圖像的遮擋區(qū)域部分,樣例如圖2 所示。三是針對(duì)夜間課堂采集到的圖像,即晚上由于燈光影響造成圖像存在較大的明暗變化,采用傳統(tǒng)圖像增強(qiáng)技術(shù),平衡圖像亮度分布,豐富圖像的特征。四是在訓(xùn)練過程中,隨機(jī)對(duì)讀取的圖像進(jìn)行水平翻轉(zhuǎn)或者垂直翻轉(zhuǎn)。根據(jù)以上實(shí)驗(yàn)操作額外增加了圖像數(shù)量,擴(kuò)充課堂教學(xué)學(xué)生行為圖像數(shù)據(jù)集,能進(jìn)一步提高模型的泛化能力。
圖2 目標(biāo)區(qū)域隨機(jī)遮擋
YOLOv7[11]模型是以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的經(jīng)典目標(biāo)檢測(cè)模型,是YOLOv3 的改進(jìn)版,其網(wǎng)絡(luò)結(jié)構(gòu)與YOLOv3 類似,但有一些改進(jìn)。網(wǎng)絡(luò)的結(jié)構(gòu)大體分為3個(gè)部分,前端是一個(gè)包含有3 個(gè)卷積層和2 個(gè)全連接層的網(wǎng)絡(luò),用來提取圖像的特征。主體部分YOLOv7 網(wǎng)絡(luò)使用53 層的深度卷積神經(jīng)網(wǎng)絡(luò),包括8 個(gè)卷積層和5個(gè)殘差塊,每個(gè)殘差塊由2 個(gè)卷積層和1 個(gè)殘差連接組成。輸出端是一個(gè)擁有3 個(gè)輸出層的網(wǎng)絡(luò),每個(gè)輸出層可以輸出3 個(gè)預(yù)測(cè)結(jié)果,分別是檢測(cè)框,類別和置信度。
其中,YOLOv7-Tiny 是YOLOv7 的細(xì)分版本,具有更小的模型尺寸和更快的推理速度。其僅使用7×7 的卷積核,而YOLOv7 使用3×3 和1×1 的卷積核。由于使用更小的卷積核,YOLOv7-Tiny 只需要半數(shù)參數(shù)量,網(wǎng)絡(luò)深度和計(jì)算量也大大減少。此類算法使用較少的計(jì)算量,可以在課堂實(shí)時(shí)監(jiān)測(cè)環(huán)境中,快速實(shí)現(xiàn)目標(biāo)定位和識(shí)別。并且小模型可以實(shí)現(xiàn)端到端的檢測(cè),在應(yīng)用邏輯上更容易實(shí)現(xiàn),相比于大模型具有更高的訓(xùn)練效率。可以在計(jì)算力較弱的設(shè)備上實(shí)現(xiàn)速度快、精度高的目標(biāo)檢測(cè)。本文采用YOLOv7-Tiny 模型進(jìn)行目標(biāo)定位和分類識(shí)別。
本文系統(tǒng)的客戶端具備從監(jiān)控端獲取視頻流并進(jìn)行分析的功能。技術(shù)上,采用以卷積神經(jīng)網(wǎng)絡(luò)算法為基礎(chǔ)的目標(biāo)檢測(cè)模型YOLOv7-Tiny,在GPU 服務(wù)器上進(jìn)行了模型的訓(xùn)練,選擇準(zhǔn)確率最高的模型作為本系統(tǒng)最終的行為檢測(cè)模型。
客戶端實(shí)時(shí)地獲取視頻序列,學(xué)生的異常行為通常至少持續(xù)幾秒鐘以上,本系統(tǒng)固定1 s 抽幀1 次,以減少識(shí)別計(jì)算次數(shù)和計(jì)算量。技術(shù)上通過OpenCV 實(shí)現(xiàn)對(duì)視頻序列的抽幀處理。攝像頭采集過程中必定會(huì)受到噪聲的影響,干擾后續(xù)檢測(cè)識(shí)別的準(zhǔn)確度。因此,優(yōu)先將圖像進(jìn)行去噪,本文采用先對(duì)圖像進(jìn)行高斯濾波再進(jìn)行中值濾波的兩重去噪做法。待圖像預(yù)處理完成后,再啟動(dòng)識(shí)別檢測(cè)模型。如果最新幀圖像識(shí)別結(jié)果與前一幀的識(shí)別結(jié)果一致,即識(shí)別到相同人相同行為,則丟棄當(dāng)前結(jié)果,不累加到數(shù)據(jù)統(tǒng)計(jì)表中,并繼續(xù)等待下一幀的分析。最后將有效檢測(cè)結(jié)果輸出到本幀圖像上顯示,并將學(xué)生目標(biāo)用邊框標(biāo)記。邊框上分別標(biāo)有該目標(biāo)的行為分類標(biāo)簽和置信度,同時(shí)保存目標(biāo)數(shù)據(jù),方便課后進(jìn)行系統(tǒng)分析和數(shù)據(jù)整理。
本系統(tǒng)使用的計(jì)算機(jī)配置為Intel Core i5-9400f CPU,系統(tǒng)客戶端運(yùn)行的軟件環(huán)境為Windows 64 位系統(tǒng),軟件開發(fā)環(huán)境為Python3.7,深度學(xué)習(xí)框架為Pytorch 架構(gòu)Windows 版本。將標(biāo)注好的課堂學(xué)生行為數(shù)據(jù)集輸入網(wǎng)絡(luò)模型進(jìn)行迭代,設(shè)定訓(xùn)練迭代12 輪次,殘差經(jīng)反向傳播算法進(jìn)行參數(shù)權(quán)值更新。本文系統(tǒng)基于Pytorch 算法框架完成行為識(shí)別模型的訓(xùn)練與OpenCV 開源庫(kù)平臺(tái)實(shí)現(xiàn)各項(xiàng)具體算法和應(yīng)用程序。
本系統(tǒng)課堂教學(xué)質(zhì)量評(píng)價(jià)系統(tǒng)的客戶端監(jiān)測(cè)界面如圖3 所示。將識(shí)別結(jié)果進(jìn)行輸出與顯示,本文通過PySimpleGUI 來設(shè)計(jì)制作客戶端界面,作為展示課堂行為結(jié)果的交互工具。PySimpleGUI 是集合了各大潮流的GUI 模塊包,使用Python 語言編寫,能快速構(gòu)建GUI應(yīng)用程序,對(duì)于科研工作者應(yīng)用非常方便。
圖3 客戶端實(shí)時(shí)數(shù)據(jù)
由圖3 可知,界面交互左邊放置監(jiān)控視頻流,教務(wù)教師管理人員或課堂教師能夠觀察、識(shí)別并分析當(dāng)前時(shí)間課堂的教學(xué)情況。實(shí)時(shí)畫面中系統(tǒng)將學(xué)生舉手、趴桌子、站立和書寫的行為進(jìn)行邊框標(biāo)記起來。右邊是分析學(xué)生考勤和精神行為情況,以柱狀圖的形式展示從上課時(shí)間到目前為止共發(fā)生的行為異常累積數(shù)量。以折線圖展示一段時(shí)間內(nèi)行為異常數(shù)量的變化情況。
隨著系統(tǒng)的長(zhǎng)時(shí)間使用,能積累更多的課堂數(shù)據(jù),教師可以從時(shí)間維度上進(jìn)一步思考查看學(xué)生的課堂行為,進(jìn)一步查看教師自身的教學(xué)情況,進(jìn)一步查看班級(jí)的總體課堂表現(xiàn),總結(jié)出任課教師的教學(xué)質(zhì)量評(píng)估報(bào)告、課程教學(xué)評(píng)估報(bào)告、班級(jí)學(xué)風(fēng)評(píng)估報(bào)告等。為授課教師課后改進(jìn)教學(xué)方式方法提供幫助,形成有效的教學(xué)反思,同時(shí),也能夠?yàn)閷W(xué)院和學(xué)校的教學(xué)管理、考核提供公正、量化的評(píng)價(jià)指標(biāo)。
本文系統(tǒng)在實(shí)驗(yàn)條件和樣本數(shù)量有限情況下,以深度學(xué)習(xí)目標(biāo)檢測(cè)技術(shù)為支撐,對(duì)學(xué)生課堂教學(xué)情況和學(xué)生行為進(jìn)行智能識(shí)別和評(píng)價(jià),提高教學(xué)效率。根據(jù)自制標(biāo)注的數(shù)據(jù)集,完成對(duì)YOLOv7-Tiny 算法模型的構(gòu)建,搭建硬件平臺(tái)和客戶端軟件,實(shí)現(xiàn)并實(shí)時(shí)準(zhǔn)確檢測(cè)學(xué)生行為。從運(yùn)行效果來看,在真實(shí)的課堂場(chǎng)景下,取得了較為理想的效果,但系統(tǒng)也存在一些不足之處。一是攝像機(jī)只能覆蓋課堂較少范圍的視野,不能看見所有的座位,會(huì)導(dǎo)致課堂學(xué)生統(tǒng)計(jì)數(shù)少于真實(shí)值。二是拍攝角度或課堂桌椅間距較小,視野上,后排學(xué)生會(huì)被前排學(xué)生所遮擋,也會(huì)導(dǎo)致識(shí)別結(jié)果數(shù)量統(tǒng)計(jì)的準(zhǔn)確性降低。三是本系統(tǒng)運(yùn)行在常規(guī)計(jì)算機(jī)上,后續(xù)可將本系統(tǒng)移植應(yīng)用在嵌入式系統(tǒng)上,每間教室布置一個(gè)系統(tǒng)節(jié)點(diǎn),可以監(jiān)控更多的課堂??偟膩碚f,將來可以深入研究深度學(xué)習(xí)在課堂行為檢測(cè)方面的應(yīng)用,更好地滿足教育需求。