趙明權,虎海松,劉 杭
(桂林信息科技學院,廣西 桂林 541214)
人工智能技術的快速發展,智慧教室開始逐漸被廣泛應用。課堂教學視頻中包含豐富的授課信息和學生行為信息,以往對課堂教學信息的分析,基本上來源于教學人員觀看錄制的授課視頻,并以此記錄學生課堂表現。顯然,這樣的操作流程效率較低,因此如何建立一套有效的課堂行為監控系統成為研究者們需要解決的問題[1]。
近些年,隨著卷積神經網絡技術的發展與成熟,計算機視覺、自然語言處理、語音識別等領域的識別準確率得到極大提高。在教育教學領域上,以人工智能技術為支撐的虛擬仿真實踐教學平臺、大規模的開放課堂教學,教師和學生有了更多教學方式的選擇[2]。極大地擴展了教學手段的多樣性,教學過程更加活躍。具備視頻實時監控、錄像等功能的現代課堂在大中小學已經開始普及。但利用攝像頭作為課堂信息采集工具,并智能分析和查看課堂行為的軟硬件技術還并不常見。課堂行為檢測系統可以為教師提供有效的反饋,以便教師能夠對學生的行為進行更加有效的管理。冀翀曉[3]運用傳統數字圖像處理技術,基于運動目標見來捕捉學生位置,并裁剪出感興趣區域進行再識別。王昌海等[4]利用人臉識別技術,分析課上學生的表情信息,來側面評估教學情況。目前,基于深度學習的課堂行為檢測系統效率更高,可以更好地幫助人工分析系統識別物體。這類方法識別的目標對象廣泛,其輸出可以是單個目標,也可以是多個目標。在復雜程度上,YOLO 檢測算法是一種一階算法,由圖像直接輸入一次性產生最終預測結果,具有檢測識別精度高和實時性好的優勢。董琪琪等[5]將深度學習目標檢測模型SSD 算法應用在課堂行為檢測中,進一步提高了識別的準確率,使得目標定位和識別能一步完成。無論使用傳統技術和深度學習技術,還是融合情緒特征和人臉特征的算法技術[6-10],都取得了顯著的效果。但這些方法注重行為識別結果的準確性,模型算法計算量大,難以做到實時性的高要求。
本文以中學課堂為實驗環境基礎來搭建設備,設計了一種基于目標檢測的課堂行為監控系統。通過分析和總結教學過程中學生的課堂行為特點,自制課堂行為數據,構建識別模型,開發可視化系統。有助于教師獲得學生情況,以及對課堂進行評價,旨在改善課堂教學質量,提高教師管理效率和學生學習成果。
本系統在實驗教室中安裝部署監控設備實時采集課堂授課視頻序列。課堂環境有其獨特的特點,即人員流動較小,課上學生基本不會離開座位。采集畫面穩定不雜亂,極少出現運動畫面。因此采用固定位置固定視角的監控設備獲取課堂畫面,傳回到后臺服務器上。系統框架如圖1 所示。

圖1 系統框架
在課堂上,學生的行為復雜多變,可以從不同的角度劃分成不同的類別。例如,從課堂的角度出發,可以將學生行為分為積極課堂和消極課堂;從學生角度出發,可以將學生行為分為學習狀態和非學習狀態。根據有關教育學的調查研究表明,43%的學生會在課堂上有提問的意向,包括提出問題;57%的學生一般不會主動提問,其中17%的學生表現出不敢提問的情況,40%的學生則更喜歡在課后找老師答疑。探討學生在課堂上是否會積極提問的行為,不僅可以反映課堂的活躍度,還可以在一定程度上反映學生對教師所授知識的掌握情況。本文設計分類標注了4 種典型的教學課堂行為,分別是舉手、趴桌子、站立和書寫,見表1。

表1 學生行為定義
由圖1 可知,框圖的上半部分是深度學習目標檢測模型訓練流程。由于模型的輸入是圖像數據,對采集的視頻序列先經過幀篩選處理,排除相似重復的圖像,再對篩選過的圖像進行人工標注。框選出學生行為動作目標區域和具體類別來構成訓練數據集。最后使用預先在COCO 公開數據集上預訓練過的YOLOv7-Tiny網絡作為模型基礎,經過自制數據集在服務器上再訓練得到最終行為識別模型。
由圖1 可知,框圖的下半部分是客戶端執行流程。攝像頭采集的視頻數據傳輸到后臺服務系統,由客戶端后臺對視頻流做定時抽幀處理,對抽取的圖像幀進行自動預測分析。最終由客戶端界面呈現課堂實時識別結果和對統計數據的可視化。
深度學習模型網絡參數通常都比較多,訓練數據量過少或數據類型分布單一,非常容易造成目標檢測模型的過擬合現象,導致模型不具有很好的泛化能力,不能用于最終系統客戶端的分類識別模型。因此,針對以上情況,本文對訓練數據集做了如下操作。
一是除了自行在教室采集的視頻流圖像數據外,從互聯網上爬取收集了更多課堂教學圖像,并進行人工手動標注標簽。二是對部分圖像數據疊加隨機遮擋,用圖像均值和平均像素替換圖像的遮擋區域部分,樣例如圖2 所示。三是針對夜間課堂采集到的圖像,即晚上由于燈光影響造成圖像存在較大的明暗變化,采用傳統圖像增強技術,平衡圖像亮度分布,豐富圖像的特征。四是在訓練過程中,隨機對讀取的圖像進行水平翻轉或者垂直翻轉。根據以上實驗操作額外增加了圖像數量,擴充課堂教學學生行為圖像數據集,能進一步提高模型的泛化能力。

圖2 目標區域隨機遮擋
YOLOv7[11]模型是以卷積神經網絡為基礎的經典目標檢測模型,是YOLOv3 的改進版,其網絡結構與YOLOv3 類似,但有一些改進。網絡的結構大體分為3個部分,前端是一個包含有3 個卷積層和2 個全連接層的網絡,用來提取圖像的特征。主體部分YOLOv7 網絡使用53 層的深度卷積神經網絡,包括8 個卷積層和5個殘差塊,每個殘差塊由2 個卷積層和1 個殘差連接組成。輸出端是一個擁有3 個輸出層的網絡,每個輸出層可以輸出3 個預測結果,分別是檢測框,類別和置信度。
其中,YOLOv7-Tiny 是YOLOv7 的細分版本,具有更小的模型尺寸和更快的推理速度。其僅使用7×7 的卷積核,而YOLOv7 使用3×3 和1×1 的卷積核。由于使用更小的卷積核,YOLOv7-Tiny 只需要半數參數量,網絡深度和計算量也大大減少。此類算法使用較少的計算量,可以在課堂實時監測環境中,快速實現目標定位和識別。并且小模型可以實現端到端的檢測,在應用邏輯上更容易實現,相比于大模型具有更高的訓練效率。可以在計算力較弱的設備上實現速度快、精度高的目標檢測。本文采用YOLOv7-Tiny 模型進行目標定位和分類識別。
本文系統的客戶端具備從監控端獲取視頻流并進行分析的功能。技術上,采用以卷積神經網絡算法為基礎的目標檢測模型YOLOv7-Tiny,在GPU 服務器上進行了模型的訓練,選擇準確率最高的模型作為本系統最終的行為檢測模型。
客戶端實時地獲取視頻序列,學生的異常行為通常至少持續幾秒鐘以上,本系統固定1 s 抽幀1 次,以減少識別計算次數和計算量。技術上通過OpenCV 實現對視頻序列的抽幀處理。攝像頭采集過程中必定會受到噪聲的影響,干擾后續檢測識別的準確度。因此,優先將圖像進行去噪,本文采用先對圖像進行高斯濾波再進行中值濾波的兩重去噪做法。待圖像預處理完成后,再啟動識別檢測模型。如果最新幀圖像識別結果與前一幀的識別結果一致,即識別到相同人相同行為,則丟棄當前結果,不累加到數據統計表中,并繼續等待下一幀的分析。最后將有效檢測結果輸出到本幀圖像上顯示,并將學生目標用邊框標記。邊框上分別標有該目標的行為分類標簽和置信度,同時保存目標數據,方便課后進行系統分析和數據整理。
本系統使用的計算機配置為Intel Core i5-9400f CPU,系統客戶端運行的軟件環境為Windows 64 位系統,軟件開發環境為Python3.7,深度學習框架為Pytorch 架構Windows 版本。將標注好的課堂學生行為數據集輸入網絡模型進行迭代,設定訓練迭代12 輪次,殘差經反向傳播算法進行參數權值更新。本文系統基于Pytorch 算法框架完成行為識別模型的訓練與OpenCV 開源庫平臺實現各項具體算法和應用程序。
本系統課堂教學質量評價系統的客戶端監測界面如圖3 所示。將識別結果進行輸出與顯示,本文通過PySimpleGUI 來設計制作客戶端界面,作為展示課堂行為結果的交互工具。PySimpleGUI 是集合了各大潮流的GUI 模塊包,使用Python 語言編寫,能快速構建GUI應用程序,對于科研工作者應用非常方便。

圖3 客戶端實時數據
由圖3 可知,界面交互左邊放置監控視頻流,教務教師管理人員或課堂教師能夠觀察、識別并分析當前時間課堂的教學情況。實時畫面中系統將學生舉手、趴桌子、站立和書寫的行為進行邊框標記起來。右邊是分析學生考勤和精神行為情況,以柱狀圖的形式展示從上課時間到目前為止共發生的行為異常累積數量。以折線圖展示一段時間內行為異常數量的變化情況。
隨著系統的長時間使用,能積累更多的課堂數據,教師可以從時間維度上進一步思考查看學生的課堂行為,進一步查看教師自身的教學情況,進一步查看班級的總體課堂表現,總結出任課教師的教學質量評估報告、課程教學評估報告、班級學風評估報告等。為授課教師課后改進教學方式方法提供幫助,形成有效的教學反思,同時,也能夠為學院和學校的教學管理、考核提供公正、量化的評價指標。
本文系統在實驗條件和樣本數量有限情況下,以深度學習目標檢測技術為支撐,對學生課堂教學情況和學生行為進行智能識別和評價,提高教學效率。根據自制標注的數據集,完成對YOLOv7-Tiny 算法模型的構建,搭建硬件平臺和客戶端軟件,實現并實時準確檢測學生行為。從運行效果來看,在真實的課堂場景下,取得了較為理想的效果,但系統也存在一些不足之處。一是攝像機只能覆蓋課堂較少范圍的視野,不能看見所有的座位,會導致課堂學生統計數少于真實值。二是拍攝角度或課堂桌椅間距較小,視野上,后排學生會被前排學生所遮擋,也會導致識別結果數量統計的準確性降低。三是本系統運行在常規計算機上,后續可將本系統移植應用在嵌入式系統上,每間教室布置一個系統節點,可以監控更多的課堂。總的來說,將來可以深入研究深度學習在課堂行為檢測方面的應用,更好地滿足教育需求。