李柏翰 衣俊峰 李欣蔚 王支勇 魏艷濤
摘要:隨著人工智能技術在教育領域的不斷交叉融合,校園信息化和網(wǎng)絡化逐漸由數(shù)字化轉向智能化。通過機器自動識別學生的課堂行為活動可幫助教師高效精準地獲取學生課堂狀態(tài),并進行科學分析。近年來,高中生由長期不良坐姿導致的脊柱側彎和近視比例不斷攀升,對青少年的身體健康產(chǎn)生巨大的威脅。本文通過深度學習技術對深圳某高中采集的225名學生的9種正確及不良坐姿的圖片數(shù)據(jù)進行處理和模型訓練,分別使用Densenet和Xception網(wǎng)絡獲得7種坐姿80%以上的準確率,并將其用于學生課堂狀態(tài)識別,有效助力學生課堂坐姿的提醒。
關鍵詞:深度學習;智慧校園;計算機視覺;行為識別
中圖分類號:G434? 文獻標識碼:A? 論文編號:1674-2117(2022)06-0000-04
● 引言
課堂行為識別是教學領域的重要基本活動,在人工智能教育的應用中,計算機視覺與課堂場景相結合對于智慧校園的信息化和網(wǎng)絡化建設具有較大應用價值。該技術的應用一方面可以改善傳統(tǒng)課堂和錄播系統(tǒng)需要消耗教師大量精力進行觀察的問題,減輕評課負擔,有利于教師教學方法和教學策略的改進和調(diào)整,另一方面也便于學生對自己課上行為和學習狀態(tài)有更深入的了解并及時反思,有效提高中小學課堂的教學質量水平。[1-3]
據(jù)統(tǒng)計,截至2019年3月,深圳市高中階段青少年脊柱側彎比例高達5%,近視比例為82%,而且有不斷升高趨勢。脊柱側彎和近視多由坐姿不良導致,因此,針對處于生長發(fā)育關鍵時期的高中生每天維持長達8~11個小時的久坐的現(xiàn)象,采集常見課堂學生姿態(tài)數(shù)據(jù),利用深度學習相關算法對高中生的坐姿進行有效區(qū)分,實現(xiàn)對坐姿的監(jiān)控識別具有非常重要的現(xiàn)實意義,此技術的應用可為有效避免學生坐姿不良而導致的骨骼和視力問題提供有力的支持。
● 數(shù)據(jù)采集和標注
1.數(shù)據(jù)采集
根據(jù)學生常見的正確及不良坐姿,以及頸椎、腰椎及腿部等不同形態(tài)的組合,將坐姿做如下幾種形態(tài)分類:①正面寫作業(yè)坐直。②手撐著頭向一邊斜(不分左右)。③駝背(正面)。④駝背(側面)。⑤蹺二郎腿(側面)。⑥蹺二郎腿(正面)。⑦正面坐直。⑧玩手機。⑨向一側趴著(不分左右)。因教室桌椅排布有部分遮擋,本文最終采用單個人擺拍的方式進行數(shù)據(jù)采集。同時,為了避免背景對識別效果的影響,場景選擇背景單一的教學樓墻壁前光線強弱明暗度一致的時刻進行拍攝,目的是使采集的數(shù)據(jù)有相同的外部條件。
經(jīng)過篩選共采集了深圳某高中高一年級225名學生的9類行為共計2025張坐姿圖片,將采集的圖片分類后進行數(shù)據(jù)預處理,使用旋轉、放大、剪切、空間顏色變化等方式對訓練集進行增強處理,按照1∶9的比例生成最終圖片,數(shù)據(jù)增強后,訓練集約有18225張圖片,圖片格式為JPG。
2.數(shù)據(jù)標注
使用Labellmg軟件對圖片進行標注,對相應圖片里的目標學生進行圖框標記,便于后續(xù)算法模型的學習。所標范圍應盡可能包含有效數(shù)據(jù),避免噪音數(shù)據(jù)對于結果的影響,圖片的存儲格式為xml。
● 模型算法
1.YOLO_v3檢測算法
用于目標檢測算法常用的有兩種:①Faster-CNN算法。該算法分為特征學習和分類兩部分,運算速度較慢,但是結果準確率較高。②基于YOLO框架的目標檢測算法。該算法采用全自動端到端的方式實現(xiàn),速度快精度高,使用范圍較為廣泛。本文采用YOLO_v3版本進行實驗。
YOLO目標檢測算法是通過卷積神經(jīng)網(wǎng)絡將圖像進行網(wǎng)格劃分特征提取,圖像被分割成S×S個不同區(qū)域,針對網(wǎng)格中心落在具體的位置預測邊界框、置信度和類別。該算法包含53個卷積層,可以提取深層次的圖像特征,并使用不同尺寸預選框的Anchors boxes機制采集相同網(wǎng)格的特征,根據(jù)預測邊框與真實值的交并結合置信度選取預選框采集圖像特征。根據(jù)具體的應用場景選取合適的數(shù)據(jù)集、合理的網(wǎng)格分布和參數(shù)訓練策略。筆者就網(wǎng)絡中的核心部分做進一步概述。
①IOU:IOU的值用來衡量兩個邊界框之間重疊部分的相對大小,假如有兩個邊界框,它們重疊部分的大小除以它們總面積的值就是其IOU的大小。IOU的值越大,該預測邊界的準確度就越高,一般以0.5作為其閾值。
②Bounding box:Bounding box用來幫助機器判斷一個網(wǎng)格單元中是否含有待檢測的物體。它包含5個值:X、Y、W、H和置信度。Bounding box的中心坐標用X和Y表示,W和H的乘積表示預測邊框的大小,置信度值則表示預測的box和正確的標注數(shù)據(jù)的IOU值,也就是該預測的準確度,一般選擇有最大置信度值的Bounding box來預測這個物體。
③實現(xiàn)YOLO_v3算法的核心方式是將圖像用三種大小不同的網(wǎng)格進行劃分(分別是13*13,26*26,52*52),然后對輸入圖像的特征進行提取,得到其feature map。例如52*52,就是將圖像劃分成52*52個網(wǎng)格單元。每個單元網(wǎng)格里都有多個Bounding box,假如某個網(wǎng)格單元里擁有正確的標注數(shù)據(jù)中某個物體的坐標,那么該網(wǎng)格單元就會起到預測這個物體的作用。[4]實驗所用YOLO程序部分代碼如圖1所示。
2.分類算法的選擇
本研究使用遷移學習對數(shù)據(jù)進行分類訓練,選用Densenet和Xception網(wǎng)絡分別測試,通過修改學習率(learning rate)和batch_size探討主要參數(shù)對識別性能、運行時間的影響。
(1)Densenet算法
Densenet與Resnet的思路較為類似,Resnet在傳統(tǒng)的卷積層間增加了旁路連接,梯度流經(jīng)恒等函數(shù)到達更前層。而Densenet的區(qū)別是該網(wǎng)絡前后層連接的密集程度比較高,前面全部層的輸出都作為后續(xù)層的輸入,即dense block的設計,每一層輸出的feature map都小于100。這種連接方式使梯度和特征的傳遞效率大大提高,參數(shù)的數(shù)量也在一定程度上更加輕量化。另外,因為層數(shù)較多使層與層之間的關聯(lián)性減弱,Densenet將每一層的損失與輸入直接連接起來,從而緩解了梯度消失的現(xiàn)象。[5]
(2)Xception算法
Xception是Google繼Inception后提出的對Inception_v3的另一種改進版本,后者的核心思想是通過多尺寸的卷積核對輸入數(shù)據(jù)進行卷積運算,卷積核的排布是1×1的卷積核連接多層并列的3×3卷積核運算,此運算方式可以大大降低卷積運算的計算量。而Xception在Inception的基礎上采用了depthwise separable convolution運算模式,即將一個卷積層分裂為兩個關聯(lián)的卷積運算,第一個卷積層的filter與輸入的channel進行映射卷積,第二個卷積層則只負責對前面的結果進行合并,此種模式計算量根據(jù)乘法原理使運行效率大大提高。[6]
● 實驗與結果分析
1.實驗環(huán)境
深度學習的模型訓練量較大,需要高性能的專門處理圖像數(shù)據(jù)的GPU服務器作為支撐,本文所需的實驗環(huán)境如表1所示。
2.實驗結果分析
本文使用不同的深度學習算法對數(shù)據(jù)進行模型計算,采用控制變量法對參數(shù)進行不同的設置,對比不同的參數(shù)和算法模型所得出準確率、運算時間等輸出量優(yōu)劣。
①分別測試不同算法模型的下的學習率和batch_size的最佳值。
首先在batch_size=16時,分別運行出Xception和Densenet在學習率為0.00001,0.0001,0.001,0.005時的準確率,實驗結果如圖2所示。
由此可知,在學習率為0.0001時,算法的準確率較高,因此筆者在學習率(learning rate)=0.0001時分別進行了batch_size=4,8,16,24, 32的實驗,實驗結果如圖4所示。
由圖3可知,隨著batch_size數(shù)值的不斷增加,算法的準確率也隨之下降,從準確率的角度來看,在batch_size=4時有最高的準確率,但是訓練時間比較長(如表2)。所以從訓練時間長短和準確率綜合來看,batch_size=16更占優(yōu)勢。
根據(jù)上述數(shù)據(jù)分析可得:在學習率=0.00001,0.001,0.005,batch_size=16時,xception的準確率都高于Densenet的對應值,但在學習率=0.0001,batch_size=4,16,24,32時,Densenet的準確率高于Xception。因為選取的參數(shù)為Learing rate=0.0001,batch_size=16,在這種參數(shù)下Densenet的準確率更優(yōu),所以筆者最終選擇了Densenet網(wǎng)絡。
②不同坐姿在不同學習率和batch_size下各自的準確率。
由于各個動作姿勢和角度的不同,不同的坐姿在相同的參數(shù)下會有不同的準確率,為了更好地掌握各個坐姿識別準確率的反饋狀況,還要進行細化不同坐姿的學習率測試,根據(jù)前面的數(shù)據(jù),將batch_size設定為16。
根據(jù)實驗結果,在學習率=0.0001,batch_size=16時,“寫作業(yè)駝背”的準確率為66.7%,“側面翹二郎腿”的準確率為56%,其余動作的識別均能達到80%及以上的準確率,滿足后期進行數(shù)據(jù)融合的前期要求。
③數(shù)據(jù)融合后的圖片的效果檢測。
通過融合算法將YOLO_v3和Xception、Densenet分別進行功能整合,即YOLO算法識別學生在圖片中不同坐姿的位置,并將其進行標注,Xception和Densenet對識別的坐姿進行分類,從而判斷坐姿所屬的種類,Xception模型融合的效果,及具體的坐姿會標注在圖框的左上角,實時反饋圖片的分類結果。
● 結論與展望
本文主要運用深度學習技術識別課堂上學生的不良坐姿。其中,對坐正、用手撐著頭向一邊傾斜、駝背(分正側面)、趴向一側寫作業(yè)、蹺二郎腿(分正側面)以及玩手機等9個動作進行識別和分類,使用融合算法將YOLO_v3和Xception、Densenet分別進行關聯(lián),從而達到7個種類的測試集80%的識別效果。實驗不足之處:①數(shù)據(jù)樣本量采集渠道單一,可以拍攝更多種類圖片進行訓練,結合視頻動態(tài)圖像進行課堂行為分析,進一步增加數(shù)據(jù)的覆蓋范圍及準確率。②算法模型上采用遷移學習的策略,算法可以進行更多嘗試和調(diào)試。
對學生在課堂上導致脊柱側彎和近視的不良坐姿的發(fā)現(xiàn),早期預防能夠更好地糾正與治療,希望基于深度學習技術的應用及時地對坐姿不良的學生進行干預。還可以結合課堂監(jiān)控、手環(huán)及手機APP對學生的課堂狀態(tài)進行觀察、數(shù)據(jù)收集和分析全方位預防脊柱側彎、近視等疾病的蔓延。
參考文獻:
[1]秦道影.基于深度學習的學生課堂行為識別[D].武漢:華中師范大學,2019.
[2]何秀玲,楊凡,陳增照,等.基于人體骨架和深度學習的學生課堂行為識別[J].現(xiàn)代教育技術,2020,30(11):8.
[3]劉新運,葉時平,張登輝.改進的多目標回歸學生課堂行為檢測方法[J].計算機工程與設計,2020,41(09):6.
[4]Redmon J,Divvala S,Girshick R,et al.You Only Look Once:Unified,Real-Time Object Detection[C].Computer Vision & Pattern Recognition. IEEE,2016.
[5]Huang G,Liu Z,Laurens V,et al.Densely Connected Convolutional Networks[J].IEEE Computer Society,2016.
[6]William Byers.Deep Learning:What Mathematics Can Teach Us About the Mind [M].Singapore:World Scientific,2014.
本文是廣東省教育技術中心2020年度教育信息化應用融合創(chuàng)新青年課題(課題立項號:20JX07037)的研究成果。