孫紹涵, 張運楚,2, 王 超, 張漢元,2
1(山東建筑大學 信息與電氣工程學院, 濟南 250101)
2(山東省智能建筑技術重點實驗室, 濟南 250101)
我國已進入教育信息化2.0 時代, 通過實時識別學生課堂行為, 跟蹤學生狀態(tài)變化, 統(tǒng)計學生課堂不同行為占比, 構建基于實證的課堂教學評價體系, 可以有效掌握學生的課堂注意力程度, 為學生制定個性化的課堂行為矯正策略. 同時, 通過分析學生課堂行為狀態(tài)分布規(guī)律, 為教師課堂教學質量評價和教學法改進提供一種數(shù)據(jù)驅動機制.
傳統(tǒng)的考勤方式及聽課狀態(tài)評價識別方法大多為人工觀察監(jiān)控視頻[1]、問卷調查法[2]等. 由于課堂學生數(shù)量多, 人工識別方法會出現(xiàn)效率低、錯誤率高、易疲勞等問題. 借助機器學習技術, 研究人員提出了基于人體骨骼關鍵點檢測、光流特征、全局運動方向特征等學生課堂行為識別方法. Stanley[3]使用Kinect 設備采集人體骨骼關節(jié)點, 通過計算學生臉部姿態(tài)的轉向和身體的傾斜信息來分析其注意力狀態(tài), 可以預測超過60%的學生情緒狀態(tài)變化; 黨冬利[4]提出基于運動歷史圖的Zernike 矩特征和樸素貝葉斯分類器分類, 再通過Lucas-Kanade 光流特征和全局運動方向特征判斷運動方向, 從而判斷學生舉手、站立和坐下3 種行為.
上述基于傳統(tǒng)機器學習的學生課堂行為識別方法,多依賴人工特征選擇, 適應性和泛化能力差、準確率不高. 近年來, 隨著深度學習理論和技術的發(fā)展, 卷積神經網(wǎng)絡得到了廣泛應用, 研究人員逐漸將深度學習技術應用到教育領域中. 廖鵬等[5]使用背景差分法提取感興趣區(qū)域輸入VGG 網(wǎng)絡訓練, 構建出識別學生課堂異常行為檢測分析系統(tǒng), 有效識別了玩手機、上課睡覺等異常行為; Simonyan 等[6]提出了時空雙流網(wǎng)絡結構(two stream network)并進行了基于視頻的行為檢測, 該網(wǎng)絡融合了兩個相同的神經網(wǎng)絡分別訓練視頻圖像與光流, 最后完成類別分類.
基于深度學習的目標檢測主要解決圖像的位置和分類兩個問題, 分為兩個思路: 一種是單步(one-stage)回歸型目標檢測算法, 這類算法對輸入網(wǎng)絡檢測的圖像輸出類別信息和定位回歸性目標檢測, 例如YOLO系列[7–10]和SSD (single shot multi box detector)[11]; 另一種是以Faster R-CNN 系列[12–14]為代表的兩步(twostage)算法, 這類算法的思路是首先提取目標候選框,再在此基礎上訓練檢測目標.
本文提出一種基于YOLOv4 的改進模型, 通過建立學生課堂行為狀態(tài)數(shù)據(jù)集, 調整YOLOv4 算法訓練模型的參數(shù), 修改卷積塊激活函數(shù)及非極大值抑制機制優(yōu)化模型, 識別分析教室中學生多種課堂行為狀態(tài),并根據(jù)各狀態(tài)持續(xù)時長及狀態(tài)變化頻率, 對學生課堂注意力進行量化評級, 并以多種可視化方法展示學生課堂行為狀態(tài)整體態(tài)勢規(guī)律. 同時建立教師課堂授課效果量化評價標準, 以便教師通過學生整體聽課狀態(tài)和質量時空分布規(guī)律, 了解授課效果和質量, 做出改進.實驗結果表明, 改進模型在檢測速率不變的情況下, 準確率達到98.8%, 比原YOLOv4 模型提升了3.53%. 提出的學生課堂注意力量化評級規(guī)則, 與實際表現(xiàn)也有較好的一致性.
本文將學生課堂行為狀態(tài)分為“rise (抬頭聽講)”“mobilephone (玩手機)”“side (交頭接耳)”“book (低頭看書)”和“bow (低頭遮擋)”等5 類狀態(tài), 采用基于YOLOv4 的改進模型實時識別這5 種行為, 統(tǒng)計每個學生各類行為發(fā)生的時刻及持續(xù)時間, 在此基礎上建立學生課堂注意力評價及教師課堂授課效果量化評價模型.
YOLOv4 算法是在YOLOv3 基礎上從主干特征提取網(wǎng)絡、Mish 激活函數(shù)[15]及損失函數(shù)等方面增加優(yōu)化訓練技巧而來, 可以更快速有效地實現(xiàn)目標檢測. 其算法原理是首先將待檢測圖像分割成76×76、38×38 與19×19 的網(wǎng)格, 分別對應8 倍、16 倍、32 倍下采樣層, 若待檢測學生落在其中某個網(wǎng)格中, 則由該網(wǎng)格識別該學生課堂行為狀態(tài). 其網(wǎng)絡結構主要包括主干特征提取網(wǎng)絡(CSPDarknet53)、空間金字塔池化結構(SPP)、路徑聚合網(wǎng)絡(PANet)和頭部(YOLO-head),網(wǎng)絡結構圖如圖1 所示.
圖1 YOLOv4 整體網(wǎng)絡結構
YOLOv4 的主干提取網(wǎng)絡結合了CSPnet 與Darknet53 殘差網(wǎng)絡, 該模塊通過優(yōu)化網(wǎng)絡結構減少計算量, 降低了內存成本, 并提取深層次網(wǎng)絡特征保證了檢測的正確率. 同時, YOLOv4 在CSPDarknet53 結構中采用Mish 激活函數(shù), Mish 函數(shù)在x負半軸時有較小的負梯度流入, 能夠保證信息的連續(xù), 從而有更好的梯度下降效果. Mish 激活函數(shù)的定義由式(1)給出, 其曲線如圖2 所示.
圖2 Mish 激活函數(shù)曲線
在特征金字塔部分, YOLOv4 使用了SPP 結構: 在對CSPdarknet53 的最后一個特征層進行3 次卷積后,分別利用13×13、9×9、5×5、1×1 四個不同尺度的最大池化, 極大地增加了特征層的感受野, 分離出最顯著的上下文特征. 同時, YOLOv4 在CSPDarknet53 的3 個有效特征層上使用PANet 結構, 實現(xiàn)實例分割算法, 對待識別圖像反復提取特征.
1.2.1 ELU 激活函數(shù)
激活函數(shù)是神經網(wǎng)絡重要的組成部分, 對神經網(wǎng)絡的訓練及網(wǎng)絡識別結果有直接影響的作用. ELU(exponential linear units) 激活函數(shù)[16]是針對ReLU函數(shù)的一個改進型, 在神經網(wǎng)絡中因其左側具有軟飽和性, 對噪聲或變化的輸入具有更好的魯棒性; 其次ELU 激活函數(shù)右側無飽和性, 使其能夠緩解梯度消失的問題; 最后ELU 函數(shù)的輸出平均值接近于零, 使梯度更接近自然梯度, 從而加快網(wǎng)絡的學習速度. ELU 激活函數(shù)的定義由式(2)給出, 其曲線如圖3 所示.
圖3 ELU 激活函數(shù)曲線
其中,α>0.
YOLOV4 原卷積塊DarknetConv2D_BN_Leaky為DarknetConv2D + BatchNormalization + LeakyReLU,將LeakyReLU 激活函數(shù)改為ELU 激活函數(shù), 更改后的卷積塊DarknetConv2D_BN_ELU 具有更好的魯棒性.
1.2.2 DIoU-Soft-NMS
在目標檢測中, 首先產生一些候選區(qū)域, 其次通過分類網(wǎng)絡得到類別得分, 與此同時通過回歸網(wǎng)絡得到更加精確的位置參數(shù), 通過非極大值抑制去除冗余框,得出最后的檢測結果. 非極大值抑制(non-maximum suppression, NMS)[17]是一種獲取局部最大值并抑制非極大值的算法, 在計算機視覺中有著廣泛的應用. 其核心思想是一個迭代-遍歷-消除的過程:首先, 將輸出網(wǎng)絡的預測框依據(jù)置信度大小排序, 篩選出置信度最大的預測框作為最大得分框, 計算其與集合中其余預測框的面積交并比IoU, 刪除超過預設值的預測框, 一輪篩選過后, 繼續(xù)篩選出集合中剩余置信度最大的預測框, 重復以上步驟直至篩選結束. 傳統(tǒng)的NMS 處理方式可用式(3)表示:
其中,si為候選框的原始得分,M為得分最高的候選框,Bi為預測框,IoU(M,Bi)為待預測框Bi和M的交并比,ε為NMS 預設閾值.
但在傳統(tǒng)NMS 中,IoU指標對于兩個距離相近的目標經常產生錯誤抑制. 因此, YOLOv4 應用DIoUNMS[18]作為NMS 的抑制準則, DIoU 同時考慮到真實框與待測框的重疊區(qū)域面積以及中心坐標的歐氏距離.因此DIoU-NMS 的si更新公式定義如下:
其中,ρ2(b,bgt)代表真實框與待測框的歐氏距離,c代表真實框與待測框最小閉包矩形的對角線長度.
在識別學生課堂行為狀態(tài)時, 后排同學相對密集,常常出現(xiàn)相互遮擋的情況, 當兩個候選框之間重疊面積較大, 其中分數(shù)較低的框會因為與得分最高的框交并比超過設置閾值被過濾, 從而出現(xiàn)漏檢, DIoUNMS 在篩選候選框時有一定的局限性. 因此, 本文使用Soft-DIoU-NMS 算法對YOLOv4 網(wǎng)絡進行優(yōu)化. 在該算法中, 不直接刪除超過設定閾值的預測框, Soft-DIoU-NMS 應用“權值懲罰”機制, 在篩選出最大得分框后, 計算與集合剩余預測框的DIoU, 再將超過預設值的框輸入連續(xù)的高斯線性曲線中, 給予一個懲罰因數(shù)來衰減預測框得分. 最終的改進如式(6)所示:
這樣的軟性非極大值抑制當兩個框重合度越高,si取值越小, 相應預測框的得分越小, 在一定程度上解決了DIoU-NMS 的局限性, 能更大程度的保留需要的框, 剔除不需要的框.
由于教師座椅位置固定, 即使學生上課活動幅度大, 其位置坐標也會固定在一定范圍之內, 因此只要確定好每個位置的初始坐標, 并對后面視頻中每秒取滑動平均即可完成目標對應. 具體做法為: 首先判斷每個位置范圍內的橫縱坐標平均值作為初始位置, 再對后續(xù)幀中每個bounding box 的中心點與初始位置計算歐氏距離, 距離最近的點所在的位置即為框的位置; 同時對5 幀之內取平均值, 5 幀之后進行滑動平均更新坐標.
考慮到學生每秒鐘之內狀態(tài)不會發(fā)生變化, 以秒為單位計算每類狀態(tài)數(shù)量最大作為這一秒鐘的狀態(tài)標簽, 并據(jù)此統(tǒng)計每個學生課堂行為狀態(tài)持續(xù)時間分布餅圖及時序圖.
對每位同學的課堂行為狀態(tài)時序圖進行分析, 統(tǒng)計同學各類課堂行為發(fā)生的時刻及持續(xù)時間, 據(jù)此探索構建學生課堂注意力量化評價標準, 對每節(jié)課每位學生的聽課質量打分, 并以課堂行為狀態(tài)時序圖、分布餅圖等可視化方法, 使學生了解自身聽課質量. 具體方法如下:
步驟1: 得到抬頭、看書、側臉及玩手機的真正有效時長.
首先, 考慮到動作持續(xù)頻率與持續(xù)時間, 設立“抬頭聽講”動作有效的最短時長, 從而將抬頭聽講與其他動作區(qū)分: 如果抬頭動作持續(xù)時間大于30 s, 則認為抬頭有效, 該同學再在真聽講; 如果持續(xù)時間小于30 s:若后續(xù)動作為看書, 則認為抬頭有效, 該同學為抬頭聽講并學習課本內容; 若后續(xù)動作為交頭接耳或玩手機,則認為抬頭無效, 因此將該抬頭時間計入后續(xù)動作中,據(jù)此對學生課堂行為狀態(tài)時序圖進行修正.
其次, 針對遮擋情況, 如果“低頭遮擋”時長小于等于5 min, 且整節(jié)課“抬頭聽講”時間超過20 min, 則將“低頭遮擋”時長計算為“看書”時長, 否則計算為“玩手機”時長.
步驟2: 賦予各狀態(tài)權重, 得到初始課堂注意力得分.
由于課堂以“聽講”為主, “低頭看書”次之, 兩者均為與課堂相關的動作, 則賦予兩者權重分別為0.6、0.3, 而“交頭接耳”可能與同學探討問題或說與課堂無關話題, 則賦予權重0.1, 而“玩手機”為與課堂無關動作, 賦予權重0, 據(jù)此得到學生課堂注意力初步量化公式:
步驟3: 為了讓全班同學成績連續(xù)并符合高斯規(guī)律, 按照山東高考分級賦分原則[19]計算學生課堂注意力得分.
首先, 將所有成績按比例分為8 個等級, 每個等級對應一個分數(shù)區(qū)間, 如表1 所示.
表1 山東等級方案分換算對應表
接著, 根據(jù)每個等級所對應的原始分區(qū)間與相應的等級賦分區(qū)間, 按等比例轉換法則計算每個考生等級分, 公式為:
其中,s1、s2分別表示某個等級所對應學生課堂注意力得分區(qū)間的下限和上限;t1、t2分別表示相應等級的等級分賦分區(qū)間的下限和上限;s0表示相應等級內某學生課堂注意力得分;t0表示相應等級內此學生的最終等分.
最后將t0與表2 對照得到學生本節(jié)課課堂注意力量化等級.
表2 學生課堂注意力量化等級
學生聽課抬頭率是一個評價教師授課效果的重要指標. 由于學生抬頭低頭變化頻率不高, 因此此量化標準每分鐘計算一次班級抬頭率, 課程結束后計算所有抬頭率的平均值. 教師授課效果等級由表3 所示.
表3 教師授課效果量化表
本實驗攝像設備為??低昉TZ, 實驗硬件為PC,操作系統(tǒng)是Windows 10 64 位系統(tǒng), PC 處理器型號為Intel(R) Core(TM) i7-7700, 顯卡型號為NVIDIA GTX 1050Ti, 深度學習框架TensorFlow-CPU 1.13.1、Keras 2.1.5, 編程語言為Python, GPU 加速庫為CUDA 10.2
和CUDNN 7.0.
本實驗數(shù)據(jù)集是使用山東建筑大學信息樓417 教室監(jiān)控攝像頭, 拍攝學生自然上課狀態(tài), 截取了3200張照片. 考慮到教室中人數(shù)較多, 學生之間存在遮擋情況, 無法區(qū)分學生低頭看書或玩手機, 故增加一類“低頭遮擋”. 本研究使用Labelimg 標注工具標注矩形框,注意力狀態(tài)為“rise (聽講)”“mobilephone (玩手機)”“side(交頭接耳)”“book (低頭看書)”和“bow (低頭遮擋)”5 類狀態(tài), 并以PASCAL VOC 格式保存XML 文件.
本實驗對同一教室內不同場景進行測試, 實驗圖片如圖4 所示. 本研究共建立3200 張照片, 其中包含不同光照、不同角度的豐富數(shù)據(jù)集, 提高了實驗的可靠性.
圖4 標注后的視頻幀
在模型訓練之前需要設置YOLOv4 相關參數(shù). 本實驗采用學習率機制, 并凍結訓練加快訓練速度, 共訓練150 個訓練周期(Epoch), 前75 個訓練周期batch_size 為2, 初始學習率為1e?3, 后75 個訓練周期batch_size 為1, 初始學習率為1e?4. 為防止數(shù)據(jù)集過擬合, 應用callback 實現(xiàn)早停法, 當學習率到1e?6時停止學習. 將數(shù)據(jù)集分按照9:1 的比例劃分為訓練集與測試集, 分別為2880、320 張, 訓練集與測試集中各類型標簽數(shù)量如表4 所示.
表4 樣本類型與數(shù)量
用一段課堂視頻, 通過識別學生課堂行為狀態(tài), 按照上述模型進行計算評價.
2.4.1 學生課堂行為狀態(tài)識別結果分析
本研究使用mAP與F1-score作為模型的評價指標.
(1)mAP
精準率P代表被正確識別的樣本占所有被識別樣本的比例, 召回率R代表正確識別樣本占所有應該被識別樣本的比例, 計算公式如下:
其中,TP表示正確識別的學生課堂行為狀態(tài)的數(shù)量;FP表示錯誤識別的學生課堂行為狀態(tài)數(shù)量;FN表示漏識別的學生課堂行為狀態(tài)數(shù)量.
根據(jù)式(9)可以繪制出P-R(precision-recall)曲線,單類別分類準確率AP(average precision)是對P-R曲線做平滑處理, 積分計算曲線下的面積.mAP(mean average precision) 是各個分類準確率AP的平均值,mAP的有關計算公式如下:
其中,p為精準率,r為召回率,n為類別數(shù).
(2)F1-score
F1-score 又稱F1 分數(shù), 是分類問題中精準率P和召回率R的調和平均數(shù), 常用作多分類問題的最終指標. 多類問題的F1 為所有類別的平均值,F1 的計算公式如下所示:
針對上述模型評價指標, 本研究以相同的實驗數(shù)據(jù)集分別使用YOLOv3、YOLOv4、改進YOLOv4 和本文算法網(wǎng)絡模型進行訓練, 在相同的情況下進行訓練識別對比. 結果如下所示.
從表5 可以看出, 在使用相同數(shù)據(jù)集情況下,YOLOv4 算法比YOLOv3 算法mAP提高3.24%,F1 值提高0.015; 將YOLOv4 卷積塊中的激活函數(shù)更改為ELU 函數(shù)后,mAP提高3.29%,F1 值提高0.036;使用Soft-DIoU-NMS 進行非極大值抑制改進后,mAP提高0.24%,F1 值提高0.01, 本文的改進算法相比較于原始的YOLOv4 算法mAP提高了3.53%,F1 值提高了0.046. 本文使用的改進算法識別教室中學生自然狀態(tài)下上課圖片效果如圖5 所示, 對于后排遮擋的同學依然有很好的檢測效果, 注意力狀態(tài)標簽統(tǒng)計結果如表2 所示.
圖5 本文算法識別結果
表5 不同網(wǎng)絡的模型評估結果
由表6 可知, 本研究改進的算法對學生課堂行為狀態(tài)的5 個狀態(tài)都具有較好的識別效果.
表6 各類標簽識別效果
2.4.2 學生課堂注意力量化評價結果
選取山東建筑大學信息樓417 教室內學生課堂監(jiān)控視頻45 min, 分析其中一名學生的課堂行為狀態(tài), 本研究算法對學生課堂行為狀態(tài)識別統(tǒng)計結果如圖6(a)所示: 其中, 該生本節(jié)課“抬頭聽講”類別共1084 s,小于20 min, 根據(jù)第1.4 節(jié)制定的量化規(guī)則, 該生“低頭遮擋”的時間應劃分至“玩手機”的類別中; 同時, 2000 s之前的“抬頭聽講”時常均大于30 s, 但第7 段“抬頭聽講”時長小于30 s, 緊接著該生“玩手機”, 因此, 將第7 段“抬頭聽講”劃分至“玩手機”類別中, 修正后的時序圖如圖6(b)所示, 餅圖如圖7(b)所示.
圖6 修正前后的該學生課堂行為狀態(tài)時序圖對比
圖7 修正前后的該學生課堂行為狀態(tài)餅圖對比
根據(jù)統(tǒng)計結果, 該生本節(jié)課“抬頭聽講”“看書”“交頭接耳”和“玩手機”4 類狀態(tài)的有效時長分別為1052 s、198 s、61 s 和1389 s, 按照式(7) 可得, 初始得分s0=25.80 分, 是該同學所在班級本節(jié)課成績的前82%,查詢表1 可知該生為D+等級,s1=20.6、s2=41.9、t1=41、t2=50, 根據(jù)式(8), 得到該學生課堂注意力量化評價最終得分為43.19, 注意力評價為差.
同時使用人工觀察法統(tǒng)計該生本節(jié)課的行為狀態(tài),結果對比如表7 所示, 人工觀察法所示各類狀態(tài)時長計算初始分數(shù)s0=25.75, 課堂注意力量化評價最終得分為43.56, 注意力評價為差. 與本研究算法結果相同, 因此本研究算法具有良好的可靠性.
表7 兩種方法的行為狀態(tài)對比
為了驗證本研究提出的學生課堂注意力量化準則的合理性, 將該學生的本節(jié)課課堂監(jiān)控視頻交由5 名無關同學, 使用“優(yōu)”“良”“中”“差”4 個等級評價其課堂注意力, 得出結果分別為“差”“中”“差”“差”“差”, 總體結論為該學生本節(jié)課課堂注意力表現(xiàn)為“差”, 與本研究提出的量化準則評價結果一致, 證明本研究提出的量化準則可以正確評價學生課堂注意力表現(xiàn).
2.4.3 教師課堂授課效果量化評價結果
對山東建筑大學信息樓417 教室某節(jié)課45 min 中學生抬頭狀態(tài)進行識別, 每分鐘統(tǒng)計一次抬頭學生數(shù)量, 根據(jù)統(tǒng)計結果計算本節(jié)課抬頭率為51.4%, 人工觀察法計算得到抬頭率為51.3%, 兩者結果相差不大, 據(jù)表2 的量化標準量化等級均為“良”, 兩種方法計算的抬頭率折線對比圖如圖8 所示.
圖8 兩種方法的學生課堂抬頭率統(tǒng)計折線對比圖
隨著深度學習的不斷發(fā)展, 傳統(tǒng)的教室授課模式呈現(xiàn)出很多弊端, 已經無法適應新的教學環(huán)境與觀念的轉變. 使用深度學習的方法識別學生上課注意力狀態(tài), 從而判斷老師授課效果與學生的課堂聽課態(tài)度, 可以端正學生聽課態(tài)度, 提高教師的授課效率, 有效地提升課堂教學效果.
本文使用改進的YOLOv4 目標檢測算法檢測教室中學生上課狀態(tài), 統(tǒng)計各狀態(tài)時長及變換頻率, 據(jù)此判斷學生聽課及教師授課效果. 識別結果準確率較高, 能夠準確地反映課堂狀況. 對于遮擋程度過高的情況, 仍存在無法準確識別的問題, 今后可考慮使用雙目攝像頭, 多角度拍攝學生上課視頻, 提升遮擋情況下識別的準確率.