閆曉煒 張朝暉 趙小燕 賈鸝宇
摘 要: 利用智能視頻監(jiān)控來(lái)進(jìn)行課堂教學(xué)自動(dòng)評(píng)估,可以方便高效地服務(wù)于教學(xué),而作為課堂教學(xué)中的主要角色,教師授課狀態(tài)對(duì)課堂教學(xué)評(píng)價(jià)有著至關(guān)重要的影響,因此本實(shí)驗(yàn)使用視頻技術(shù)通過(guò)對(duì)教師肢體動(dòng)作檢測(cè)實(shí)現(xiàn)了對(duì)教師的授課評(píng)價(jià)。在實(shí)驗(yàn)中作者首先對(duì)比了OpenPose和yolo兩種深度學(xué)習(xí)算法并最終選擇yolo算法,然后自己制作數(shù)據(jù)集進(jìn)行訓(xùn)練檢測(cè),完成教師肢體動(dòng)作的識(shí)別,最后針對(duì)識(shí)別框尺寸大小不準(zhǔn)確的問(wèn)題進(jìn)行了優(yōu)化,提高了檢測(cè)的準(zhǔn)確度。
關(guān)鍵詞:課堂教學(xué)評(píng)估;肢體動(dòng)作檢測(cè);深度學(xué)習(xí)算法
中圖分類號(hào):TP37,G202 ? ? 文獻(xiàn)標(biāo)志碼:B? ? ? ? ? ?文章編號(hào):1673-8454(2019)16-0088-04
一、引言
得益于視頻監(jiān)控技術(shù)的發(fā)展和人們綜合素質(zhì)水平的提高,基于視頻處理的課堂教學(xué)自動(dòng)評(píng)估系統(tǒng)[1]應(yīng)運(yùn)而生,逐漸取代了傳統(tǒng)的教學(xué)評(píng)估系統(tǒng),更方便地服務(wù)于課堂教學(xué)管理工作,同時(shí)為監(jiān)督教育的進(jìn)步和發(fā)展提供了技術(shù)支持。這些智能監(jiān)控系統(tǒng)主要利用了視頻處理技術(shù)對(duì)學(xué)生進(jìn)行監(jiān)控,針對(duì)學(xué)生的上課考勤、聽課情況進(jìn)行分析,最終獲得教學(xué)評(píng)估數(shù)據(jù)。
在課堂中學(xué)生固然有著重要的身份地位,我們通過(guò)監(jiān)測(cè)學(xué)生的情況對(duì)課堂教學(xué)進(jìn)行評(píng)價(jià)。但評(píng)價(jià)課堂的教學(xué)不能僅僅以學(xué)生為中心,教師作為傳道授業(yè)解惑者也有著不可動(dòng)搖的地位。教師所擁有的良好的教學(xué)方式,不僅可以幫助教師提高工作效率,而且也促進(jìn)了師生的交流,更有利于教師的教學(xué)[2][3]。綜上,我們將教師也加入到智能教學(xué)評(píng)估系統(tǒng)中,可以更全面地對(duì)教學(xué)進(jìn)行評(píng)價(jià)。
教師通過(guò)實(shí)際的肢體動(dòng)作可以有效地傳達(dá)自己的情緒或者信息給學(xué)生,更容易吸引學(xué)生的注意力。教師在講課過(guò)程中加入肢體動(dòng)作不僅有強(qiáng)調(diào)、示范的作用,而且增加課堂的感染力,加強(qiáng)教師說(shuō)話的力度,強(qiáng)化教學(xué)信息[4]。教師在授課過(guò)程中的肢體動(dòng)作可以看作反映教師授課狀態(tài)的重要依據(jù)。因此我們選擇教師的肢體動(dòng)作來(lái)進(jìn)行檢測(cè),并通過(guò)yolo算法實(shí)現(xiàn),同時(shí)對(duì)算法進(jìn)行了優(yōu)化。
二、教師肢體動(dòng)作檢測(cè)方法
教師的肢體動(dòng)作是課堂教學(xué)的重要組成部分,它能將原本抽象的教學(xué)內(nèi)容形象化、具體化,通過(guò)肢體動(dòng)作的表達(dá),提高了學(xué)生的學(xué)習(xí)熱情,活躍了課堂氣氛,拉近了師生距離[5]。通過(guò)檢測(cè)教師肢體動(dòng)作來(lái)對(duì)課堂進(jìn)行評(píng)價(jià)需要選取教師的肢體動(dòng)作來(lái)制作數(shù)據(jù)集。本次實(shí)驗(yàn)選取了教師的兩個(gè)典型動(dòng)作:教師指黑板的動(dòng)作、教師站在講臺(tái)前的動(dòng)作,分別如圖1所示。
基于計(jì)算機(jī)視覺的發(fā)展,肢體動(dòng)作因其傳達(dá)信息多、應(yīng)用范圍廣受到了研究人員的關(guān)注并且提出了多種識(shí)別方法。最近比較流行的有:香港中文大學(xué)博士Wei Yang的PyraNet[6],Alexander Toshev、Christian Szegedy提出的DeepPose[7],卡內(nèi)基梅隆大學(xué)的OpenPose[8],華盛頓大學(xué)艾倫研究所的Josehp Redmon、Ali Farhadi提出的yolo[9]等等。本實(shí)驗(yàn)首先分別選取了OpenPose、yolo兩種算法,在對(duì)比分析之后最終選擇了yolo算法,并且對(duì)該算法進(jìn)行了優(yōu)化。
OpenPose算法是卡內(nèi)基梅隆大學(xué)提出來(lái)的一種自下而上的肢體動(dòng)作識(shí)別方法。通過(guò)身體關(guān)鍵點(diǎn)的定位與各個(gè)關(guān)節(jié)的定位實(shí)現(xiàn)肢體檢測(cè)。它的優(yōu)點(diǎn)是魯棒性好,人體被遮擋的部位也能夠估計(jì)出來(lái),缺點(diǎn)是計(jì)算量很大,實(shí)時(shí)性差。本實(shí)驗(yàn)使用該算法識(shí)別FPS僅為10幀/秒,不能滿足實(shí)時(shí)性。yolo算法是一種基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法,它具有檢測(cè)速度快、準(zhǔn)確度高的優(yōu)點(diǎn),但是對(duì)相互靠得很近的物體和小的群體檢測(cè)效果不好。yolo可以一次性預(yù)測(cè)多個(gè)box位置和類別,實(shí)現(xiàn)了端到端的目標(biāo)檢測(cè)與識(shí)別。使用該算法識(shí)別FPS為22幀/秒,滿足了實(shí)時(shí)性和準(zhǔn)確度的需求,最終選了yolo算法。本次實(shí)驗(yàn)采用的是yolo 的第二個(gè)版本yolov2。
1.yolo網(wǎng)絡(luò)結(jié)構(gòu)
yolo算法包含分類網(wǎng)絡(luò)和檢測(cè)網(wǎng)絡(luò)兩類網(wǎng)絡(luò)。yolo分類網(wǎng)絡(luò)借鑒了GoogLeNet的思想,包含卷積層和全連接層,其中卷積層分為3*3、1*1兩種卷積核,用來(lái)提取特征,全連接層輸出類別結(jié)果。本次實(shí)驗(yàn)使用的yolov2版本,提出了一種新的分類網(wǎng)絡(luò)DarkNet-19,包含19個(gè)卷積層和5個(gè)池化層,見圖2。
yolov2的檢測(cè)網(wǎng)絡(luò)是在分類網(wǎng)絡(luò)基礎(chǔ)上進(jìn)行了調(diào)整。將分類網(wǎng)絡(luò)的最后一個(gè)1*1的卷積層移除,添加3個(gè)3*3*1024的卷積層,再添加輸出是類別個(gè)數(shù)的1*1卷積。檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
2.yolo實(shí)現(xiàn)肢體檢測(cè)
利用yolo實(shí)現(xiàn)教師肢體檢測(cè)需要三步:制作數(shù)據(jù)集、訓(xùn)練數(shù)據(jù)集、測(cè)試識(shí)別。
(1)制作數(shù)據(jù)集
本次實(shí)驗(yàn)數(shù)據(jù)集采用的是VOC數(shù)據(jù)集,在采集到足夠圖像之后使用LabelImg軟件進(jìn)行特征標(biāo)注,生成帶有位置信息的xml文件,然后使用matlab軟件生成.txt訓(xùn)練測(cè)試文件,最后將上述圖像文件放入新建的VOC文檔中完成了數(shù)據(jù)集的制作,見圖4。
(2)訓(xùn)練數(shù)據(jù)集
yolov2的訓(xùn)練包括三個(gè)階段:第一階段輸入224*224的圖像,先在ImageNet分類數(shù)據(jù)集上預(yù)訓(xùn)練DartNet-19,該階段共訓(xùn)練160期。 第二階段輸入448*448的圖像,繼續(xù)在ImageNet數(shù)據(jù)集上訓(xùn)練分類模型,訓(xùn)練10期。第三個(gè)階段是修改DartNet-19分類模型為檢測(cè)模型,并在檢測(cè)數(shù)據(jù)集上繼續(xù)微調(diào)網(wǎng)絡(luò),見圖5。
(3)yolo檢測(cè)識(shí)別
yolov2實(shí)現(xiàn)肢體動(dòng)作的檢測(cè)首先在檢測(cè)模型中輸入圖片,并將圖片劃分為s*s的網(wǎng)格。本實(shí)驗(yàn)采用的是416*416尺寸,因?yàn)槟P拖虏蓸涌偛介L(zhǎng)為32,所以將圖像劃分為13*13的網(wǎng)格。如果目標(biāo)的中心位置落入某個(gè)格子,那么該格子就負(fù)責(zé)檢測(cè)出這個(gè)物體。圖6中正中間的格子為中心位置,負(fù)責(zé)檢測(cè)肢體動(dòng)作。
每個(gè)網(wǎng)格預(yù)測(cè)5個(gè)框,每個(gè)框包含x,y,w,h和confidence 5個(gè)數(shù)值。其中x,y代表了框的橫縱坐標(biāo),w,h代表了框的寬高,confidence代表了預(yù)測(cè)的框中含有目標(biāo)的置信度和準(zhǔn)確度。公式如下:
Pr(Object)*IOUtruth
pred公式1
若包含物體,則P(object) = 1;否則P(object) = 0。
同時(shí)每個(gè)網(wǎng)格預(yù)測(cè)類別信息,本次設(shè)置了1個(gè)類別,因此類別信息為1。計(jì)算得到輸出值為13*13*(5*5+1)。
然后每個(gè)網(wǎng)格預(yù)測(cè)的類別信息和框預(yù)測(cè)的confidence信息相乘獲得預(yù)測(cè)的概率,公式如下:
Pr(Classi|Object)*Pr(Object)*IOUtruth
pred=Pr(Classi)*IOUtruth
pred公式2
得到每個(gè)框的概率之后,根據(jù)閾值大小,濾掉得分低的框,對(duì)保留的框進(jìn)行NMS(非極大值抑制)處理,得到最終的檢測(cè)結(jié)果。
三、優(yōu)化yolo網(wǎng)絡(luò)
使用yolo網(wǎng)絡(luò)實(shí)現(xiàn)了教師肢體動(dòng)作的檢測(cè),但是部分識(shí)別框尺寸不合適并不能完全將動(dòng)作包括起來(lái),也從側(cè)面反映了識(shí)別結(jié)果有一定的缺陷。通過(guò)分析yolov2的原理和程序發(fā)現(xiàn)是yolov2特有的anchor機(jī)制造成了這一結(jié)果。
anchor機(jī)制[10]是yolov2參考了Faster RCNN中的anchor box方法,通過(guò)預(yù)先設(shè)置anchor boxes的尺寸更好地預(yù)測(cè)框的坐標(biāo)。不同的是faster RCNN中的框大小和比例是根據(jù)經(jīng)驗(yàn)手工精選并設(shè)定的,同時(shí)anchor boxes的尺寸可以在訓(xùn)練過(guò)程中調(diào)整。而yolov2的尺寸是使用聚類方法求得的,在一開始就選擇合適的尺寸,幫助網(wǎng)絡(luò)更好地預(yù)測(cè)目標(biāo)。在yolov2中原作者計(jì)算出來(lái)的框大部分是瘦高的,這一尺寸符合行人的特征,而我們要檢測(cè)的教師肢體動(dòng)作標(biāo)注出的框大部分是扁平的和偏向正方形的,如果仍舊使用原作者給出的數(shù)據(jù)就會(huì)導(dǎo)致上述問(wèn)題,因此,采用K-means聚類方法生成適合于本數(shù)據(jù)集的anchor box數(shù)據(jù),優(yōu)化yolov2的anchor參數(shù),解決了這一問(wèn)題并提高了yolov2的準(zhǔn)確率。
K-means聚類算法是一種基于劃分的聚類算法,通過(guò)計(jì)算距離將相近的對(duì)象劃分至同一個(gè)簇,將較遠(yuǎn)的對(duì)象劃分至不同的類簇[11]。算法的基本思想:先選擇k個(gè)點(diǎn)作為初始聚類中心點(diǎn),然后計(jì)算剩余的樣品點(diǎn)到中心點(diǎn)的距離,根據(jù)歐氏距離越小相似度越高的原則,分別將其分配到與其最相似的聚類,然后再次計(jì)算得到每個(gè)類別新的聚類中心,并對(duì)剩余樣品點(diǎn)進(jìn)行分配,上述過(guò)程進(jìn)行循環(huán)迭代直到達(dá)到給定次數(shù)或者聚類準(zhǔn)則函數(shù)開始收斂為止[12]。
該算法中假設(shè)待聚類的數(shù)集D={xi|xi∈RP,i=1,2,…n},
p是維數(shù),則歐式距離公式為:
d(xi,x)=公式3
聚類準(zhǔn)則函數(shù)為:
E=|x-c|公式4
其中c1,c2…,ck為k個(gè)聚類中心。
yolo算法中若直接使用會(huì)使大的框比小的框產(chǎn)生更大的誤差,因此yolo作者定義了新的距離公式:
d(box,centroid)=1-IOU(box,centroid)公式5
同時(shí)將所有框中心點(diǎn)的x,y坐標(biāo)都設(shè)為0,方便公式的使用。
本實(shí)驗(yàn)利用K-means算法對(duì)之前標(biāo)注的特征框尺寸數(shù)據(jù)進(jìn)行聚類,計(jì)算出符合本實(shí)驗(yàn)的anchor大小,替換了網(wǎng)絡(luò)之前的數(shù)據(jù),重新訓(xùn)練之后檢測(cè)教師肢體動(dòng)作的框尺寸合適,并且檢測(cè)準(zhǔn)確度也有所提升。
四、實(shí)驗(yàn)結(jié)果
此次實(shí)驗(yàn)采用yolo算法完成教師肢體動(dòng)作的檢測(cè)。在實(shí)驗(yàn)中首先選取了OpenPose、yolo兩種算法,發(fā)現(xiàn)OpenPose準(zhǔn)確度高,但由于計(jì)算量可觀,實(shí)時(shí)性差,無(wú)法滿足實(shí)驗(yàn)要求,而yolo算法實(shí)時(shí)性好,雖然準(zhǔn)確度相比OpenPose有所下降,但對(duì)實(shí)驗(yàn)沒(méi)有大的影響,因此最終選擇了yolo算法。兩個(gè)算法檢測(cè)效果對(duì)比如表1所示。
確定使用yolo算法后,具體說(shuō)明了yolo的分類網(wǎng)絡(luò)、檢測(cè)網(wǎng)絡(luò)兩種結(jié)構(gòu)以及實(shí)現(xiàn)檢測(cè)的過(guò)程,并且針對(duì)識(shí)別結(jié)果中出現(xiàn)的識(shí)別框尺寸不合適的情況分析原因,同時(shí)采用K-means聚類方法計(jì)算出anchor參數(shù),完成對(duì)yolo的參數(shù)優(yōu)化,解決了上述問(wèn)題,而且提高了識(shí)別準(zhǔn)確率。yolo優(yōu)化前后檢測(cè)效果對(duì)比如表2所示。
識(shí)別結(jié)果如圖7所示,本實(shí)驗(yàn)還記錄了優(yōu)化前后訓(xùn)練過(guò)程中的avg_loss數(shù)據(jù),并將數(shù)據(jù)可視化進(jìn)行分析,發(fā)現(xiàn)兩者損失下降的迭代次數(shù)是差不多的,本次優(yōu)化并未對(duì)損失迭代有太大影響,見圖8。
五、結(jié)束語(yǔ)
本實(shí)驗(yàn)將視頻監(jiān)控技術(shù)與課堂評(píng)價(jià)系統(tǒng)相結(jié)合,將檢測(cè)教師授課情況加入到課堂教學(xué)自動(dòng)評(píng)估系統(tǒng)中,并選取教師肢體動(dòng)作為教師授課評(píng)價(jià)的指標(biāo)。在算法上使用yolo算法并進(jìn)行優(yōu)化完成教師肢體動(dòng)作檢測(cè)。此次實(shí)驗(yàn)完善了課堂教學(xué)自動(dòng)評(píng)估系統(tǒng),對(duì)課堂教學(xué)管理工作具有積極意義。
參考文獻(xiàn):
[1]文楷,田生偉,王琨,等.基于視頻分析的課堂教學(xué)效果自動(dòng)評(píng)價(jià)系統(tǒng)[J].中國(guó)教育技術(shù)裝備,2016(8):50-52.
[2]周智慧.發(fā)展性課堂教學(xué)評(píng)價(jià)體系探討[J].教育探索,2010(6):47-48.
[3]余林.教學(xué)心理學(xué)叢書——課堂教學(xué)評(píng)價(jià)[M].北京:人民教育出版社,2007(2):1-15.
[4]楊世軍.教師肢體語(yǔ)言的課堂效用[J].南昌高專學(xué)報(bào),2010,25(5):92-93+104.
[5]鄧美德.論教師教學(xué)肢體語(yǔ)言的實(shí)然與應(yīng)然[J].大理學(xué)院學(xué)報(bào),2012,11(7):82-85.
[6]Wei Yang,Shuang Li,Wanli Ouyang,et al.Learning Feature Pyramids for Human Pose Estimation[C].IEEE International Conference on Computer Vision,2017.
[7]Alexander Toshev,Christian Szegedy. DeepPose: Human Pose Estimation via Deep Neural Networks[C].IEEE International Conference on Computer Vision,2014.
[8]Zhe Cao,Tomas Simon,Shih-En Wei, et al. Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields[C].IEEE International Conference on Computer Vision,2017.
[9]Josehp Redmon,Ali Farhadi.YOLO9000: Better, Faster, Stronger[C].IEEE International Conference on Computer Vision,2017.
[10]王曙光,呂攀飛.改進(jìn)YOLOv2的裝甲車輛目標(biāo)識(shí)別[J].計(jì)算機(jī)與現(xiàn)代化,2018(9):68-71+79.
[11]束仁義,陳帥,王思賢,等.基于k-means的手勢(shì)識(shí)別系統(tǒng)設(shè)計(jì)[J].廊坊師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2019,19(1):46-50.
[12]張素潔,趙懷慈.最優(yōu)聚類個(gè)數(shù)和初始聚類中心點(diǎn)選取算法研究[J].計(jì)算機(jī)應(yīng)用研究,2017,34(6):1617-1620.
(編輯:魯利瑞)