譚斌,楊書焓
(西華大學計算機與軟件工程學院,成都 610039)
目標檢測是計算機視覺領域的核心問題之一,而關于學生課堂行為檢測在教學評估中有著重要的意義。隨著卷積神經網絡(Convolutional Neural Network,CNN)的推出,越來越多的科研工作者將CNN用于各種目標任務檢測,例如,王軍等[1]提出基于深度學習特征的異常行為檢測算法。本文的學生課堂行為檢測算法則是使用Ross B.Girshick[2]提出的Faster R-CNN算法。基于Faster R-CNN的學生課堂行為檢測算法將學生課堂行為分為三類即學習、睡覺、玩(玩手機、聊天等其他)。本文的圖像數據集是從真實的學生課堂監控視頻中獲取而制作成的實驗數據集。
Faster R-CNN大致分為兩個部分,一個定位目標,另一個則是對目標進行分類。其網絡結構如圖1所示。利用網絡的特征提取功能對輸入的數據集經過卷積和池化等操作得到圖像的特征圖(Feature Map);RPN(Region Proposal Network)網絡則在特征圖上定位候選目標,使用Softmax分類器來判別候選目標屬于前景還是背景,同時利用范圍框回歸器修正候選目標的位置,最終生成候選目標區域。分類網絡利用特征圖和RPN網絡生成的候選區域實現目標類別的檢測,在本文中即實現學生課堂行為的的檢測,判別候選區域屬于學生行為的哪一類。

圖1 Faster R-CNN網絡結構
學生課堂行為檢測與一般的行為檢測的區別在于,教室的學生課堂監控視頻圖像區別于一般的視頻圖像,其不能獲取目標的正面信息,存在一定角度差,同時由于實驗室數據集的限制,增加了課堂監控視頻中行為檢測的難度,所以采用深度學習的方法對目標行為檢測以求達到理想的檢測識率。
本文所采用實驗數據集真實的學生課堂監控視頻,由于監控設備性能的限制,視頻分辨率為1280(水平)×720(垂直)。監控設備安裝在教室黑板左右兩端,采集到數據集均有一定傾斜角度,其中每個視頻中學生的數目為20到50個不等,考慮到學生在課堂行為變化有限,從視頻中以間隔2s取一幀圖像,經過隨機抽取得到各個角度、不同教室的圖像集共計1000張,組成訓練集[3]。
本文所有實驗均在Caffe平臺上進行,選取從視頻中經過抽取的圖片作為訓練樣本集,通過隨機分配原則將訓練集送入神經網絡進行訓練,在訓練好模型后,將測試集送入Faster R-CNN進行測試,得到測試結果并加以分析。Faster R-CNN訓練模型一般分為四步:第一步,用預訓練模型model初始化RPN網絡,緊接著訓練RPN,訓練完成后,會更新model和RPN的權值。第二步,在model初始化Fast R-CNN后,使用第一步的RPN來計算而得到proposal訓練Fast R-CNN,訓練完成后,會更新model和Fast R-CNN的權值。第三步,用第二步的model初始化RPN并訓練RPN,訓練過程固定model的參數,會更新RPN的權值。第四步,仍然固定第三步的model,再次對Fast R-CNN訓練,即微調參數,訓練完畢得到Faster R-CNN。本次實驗每步的迭代次數如表1所示[4]。

表1 Faster R-CNN訓練過程的迭代次數
本算法訓練后網絡模型參數如圖2所示,圖中顯示了三種學生課堂監控視頻中的學生不同行為的MAP值,反映了模型的訓練的效果;由于數據量的限制,其MAP值不是很高。本算法Faster R-CNN算法訓練的模型為端到端訓練,各個網絡的階段的迭代次數根據訓練集的大小加以修改,同時,本算法訓練的是ZFNet模型,該網絡所需顯存比VGG小,同時準確率相差不大,但訓練速度更快。
針對真實的學生課堂監控視頻,我們從開始的數據準備,到數據處理,以及后面修改訓練參數,訓練網絡模型,設計訓練集和驗證集的比例。

圖2 訓練結果

圖3 學生課堂“玩”的行為

圖4 學生課堂“學習”的行為

圖5 學生課堂“睡覺”的行為
由實驗結果可看出網絡對學生睡覺行為的識別率較低,對其他2種類型的行為都有較好的檢測率。造成睡覺行為的檢測率較低的原因可能是在原始的圖像訓練集中,學生有睡覺行為的人數較少,同時所采集的圖像序列中有睡覺行為的學生的圖片相應減少,導致模型訓練時,不能從訓練集提取到足夠的睡覺行為的特征。
在學生課堂行為檢測中,原始圖像被用作整個網絡輸入。在傳統的行為檢測算法中,避免了特征提取的過程。這些特征是由網絡自動從訓練數據集中提取出來的。區域建議網絡(RPN)被用來產生一個高效和準確的建議提案。在每個圖像中,所提出的方法定位行為檢測區域并直接識別該行為方式。由于實驗室數據集數量的限制、前期行為標記的準確度以及數據對象角度變化,都給實驗的檢測率造成了影響,實驗結果表明,Faster R-CNN能夠有效檢測到學生課堂監控視頻中學生行為,得了良好的檢測識別效果。