王昌海 申紅雪 張王衛(wèi) 孫玉勝 王博
摘 ?要:設計并開發(fā)了一款基于人臉識別的課堂教學監(jiān)控系統(tǒng),該系統(tǒng)通過識別學生上課的表情信息,分析課堂教學情況。首先提出一種基于圖像遞歸切割和OpenCV的人臉檢測方法,以提高人臉檢測召回率;然后使用百度AI開放平臺的在線接口識別人臉表情信息,并將信息插入數(shù)據(jù)庫;最后根據(jù)學生表情信息分析低頭率、活躍度等課堂情況。實際部署測試后分析了系統(tǒng)的運行效果及時間消耗,結果表明該系統(tǒng)可有效監(jiān)控課堂教學情況。
關鍵詞:教學監(jiān)控;人臉檢測;人臉識別;情緒識別
中圖分類號:TP399 ? ? 文獻標識碼:A
Abstract:A classroom teaching monitoring system is designed based on the face recognition technology.The facial emotions of students are recognized and the situation of teaching is analyzed further.First,a face detection method based on the image recursive cutting and OpenCV is proposed in order to improve the recall rate.Then,the facial emotions are recognized with the online face recognition interface of Baidu AI open platform,and the recognized results are inserted into the database.Finally,the attendance rate and activity of classroom are analyzed.The performance and time consumption of this system are evaluated after deploying,and the results show that the system can effectively monitor classroom teaching.
Keywords:teaching monitoring;face detection;face recognition;emotion recognition
1 ? 引言(Introduction)
課堂教學作為當前中國教育培養(yǎng)學生的主要形式,對學生知識結構的形成以及能力的鍛煉有著深遠的影響。如何在課堂教學過程中監(jiān)控學生的學習情況,并對授課方法進行針對性改進是教師教學過程中的重要議題[1]。傳統(tǒng)的課堂教學監(jiān)控方法包括現(xiàn)場記錄[2]、視頻監(jiān)控[3]等。這些方法一般依賴于人工分析,需要消耗大量人力。目前,使用人工智能技術輔助課堂教學已有一些嘗試,如課堂點名系統(tǒng)[4]、智能監(jiān)控系統(tǒng)[5]等。但這些方法仍然面臨人臉檢測率較低[6]等問題。
本文設計并開發(fā)一款基于人臉識別的課堂教學質量監(jiān)控系統(tǒng)。該系統(tǒng)使用教室中部署的通用攝像設備采集上課圖像,利用人工智能技術分析學生的上課狀態(tài),并給出學生學習情況的綜合評估結果。本系統(tǒng)的創(chuàng)新點如下:其一,提出一種基于圖像遞歸分割的人臉檢測方法,提高了課堂人臉檢測召回率;其二,提出一種基于人臉情緒識別的課堂教學質量評估方法。
2 ? 系統(tǒng)架構(Architecture)
本系統(tǒng)使用教室中部署的視頻監(jiān)控設備采集學生上課視頻,利用人臉檢測及識別接口識別視頻中的人臉及情緒,并通過統(tǒng)計識別結果評估課堂教學質量。系統(tǒng)主要分為視頻采集、人臉檢測、人臉識別、統(tǒng)計反饋四個子系統(tǒng)[7],子系統(tǒng)的劃分如圖1所示。
如圖1所示,視頻采集子系統(tǒng)包括視頻的采集存儲和圖像預處理兩部分。視頻采集存儲模塊將采集到的視頻存儲于硬盤中。圖像預處理的目的是將采集到的圖像做灰度化、校正等操作,以更好的檢測圖像中的人臉。人臉檢測子系統(tǒng)包括圖像分割和人臉檢測兩大功能,其目的是對圖像遞歸切割,并檢測每幅子圖像中的人臉。人臉檢測結果傳遞給人臉識別子系統(tǒng)。該部分的檢測精度直接影響系統(tǒng)的運行效果。人臉識別子系統(tǒng)使用百度AI開放平臺的接口實現(xiàn)人臉的識別以及人臉情緒的識別。該模塊可以得出當前教室中學生是否在聽課,以及臉部的表情情況。統(tǒng)計反饋子系統(tǒng)包括整體教學質量評估和反饋兩部分,用于統(tǒng)計不同學生聽課情況、不同時間段學生聽課情況等,并將結果反饋給授課教師。
3 ? 系統(tǒng)關鍵技術(Key technology)
3.1 ? 圖像分割
人臉檢測子系統(tǒng)的目的是在課堂圖像中檢測出所有學生的人臉。此模塊設計的難點在于如何保證檢測的召回率,即不能漏掉任何一個學生。當前人臉檢測的方法(如特征級聯(lián)方法[8]、深度學習方法[9]以及公開人臉檢測庫OpenCV[10]、百度AI[11]等)在人臉數(shù)較多的情況下皆無法保證召回率,因此這些人臉檢測方法并不能直接應用于課堂環(huán)境。本節(jié)提出一種基于圖像遞歸切割的人臉檢測方法。圖像遞歸切割的示意圖如圖2所示。
如圖2所示,圖像沿長邊遵循半重疊的原則進行切割,每幅圖像切割為三幅子圖像。沿長邊切割保證了切割后的圖像不會長寬比例失調,半重疊保證了切割后的子圖像能夠盡可能的有完整的人臉。圖像切割過程實際上構造了一棵滿三叉樹,樹中每個結點代表一幅切割后的圖像。樹的深度代表切割的次數(shù),該值可根據(jù)圖像中的人臉數(shù)動態(tài)調整。對于人臉數(shù)較多的圖像,可將N設置為較大值,以保證原圖像中較小的人臉會以較大的比例出現(xiàn)在子圖像中,以提高檢測的召回率。
3.2 ? 人臉檢測
圖像分割完成后,對每幅圖像執(zhí)行人臉檢測?;趫D像遞歸切割的人臉檢測算法如算法1所示。
算法1 基于圖像遞歸切割的人臉檢測算法
(1) list face_set=NULL;
(2) int deep=0;
(3) void face_detection(image){
(4) face_list=opencv_detection(image); //使用opencv檢測人臉
(5) deep_repeat(face_list,face_set); //人臉集去重
(6) if(deep
(7) deep++;
(8) for(i=0; i<3;i++){
(9) child=split(image,i); //圖像分割
(10) face_detection(child); //檢測子圖像人臉
(11) }
(12) }
(13) }
算法首先使用OpenCV庫中的CascadeClassifier分類器檢測當前結點圖像中的人臉,然后將檢測到的人臉添加到人臉集中。添加過程中根據(jù)人臉在圖像中的位置去掉重復的人臉。最后對圖像進行分割,并分別對子圖像執(zhí)行本算法,直至達到設定的圖像分割深度。人臉檢測完成后,得到包含所有人臉的人臉集用于人臉識別及情緒識別。
3.3 ? 人臉識別
本系統(tǒng)使用百度AI開放平臺的在線人臉識別接口進行人臉的識別,該接口與當前其他公開的人臉識別接口相比有明顯高的識別率,且提供了情緒識別等功能。在人臉識別之前,需要將所有學生的人臉上傳至百度AI開放平臺,以建立學生人臉庫。識別過程中,將人臉做Base64編碼后發(fā)送至指定URL,平臺會返回該人臉最相似的學生id,以及人臉的情緒、旋轉角度等信息。系統(tǒng)將返回的人臉信息插入數(shù)據(jù)庫,以分析課堂學生學習質量。課堂人臉信息數(shù)據(jù)表設計如表1所示。
數(shù)據(jù)庫中的每條記錄保存一張人臉信息,包括人臉所屬學生姓名、人臉在三維空間中的角度、表情、圖像采集時間、識別的可信度等信息。
3.4 ? 課堂教學分析
該模塊通過檢索一節(jié)課期間所有學生的人臉信息,評估學生學習情況,并通過網(wǎng)頁端和手機APP端兩種形式展示統(tǒng)計結果。統(tǒng)計的信息包括一節(jié)課中所有學生檢測率變化趨勢、特定學生檢測率、所有學生人臉角度分布及變化趨勢、特定學生人臉角度分布、人臉情緒分布及變化趨勢、人臉缺失報警等。
所有學生檢測率變化趨勢主要用于分析一節(jié)課中所有學生被檢測出來的比例,其統(tǒng)計結果可以為判斷學生是否認真聽講、學生學習積極性提供參考。特定學生檢測率指某一特定學生在整節(jié)課中被檢測出來的比例,其結果與某特定學生的上課積極性有關。學生人臉角度分布及變化趨勢可以分析人臉在檢測出來的情況下,是否存在低頭情況。人臉情緒分布及變化趨勢用于分析學生的表情情況,以判斷課堂是否活躍。人臉缺失報警用于提醒授課教師某學生長時間未被檢測到,教師根據(jù)此提醒可查看該生是否睡覺或早退。
4 ? 系統(tǒng)性能分析(Analysis of system performance)
4.1 ? 系統(tǒng)運行效果
目前系統(tǒng)已經(jīng)開發(fā)完成,并在鄭州輕工業(yè)大學軟件學院的智慧教室中部署測試。該教室可容納50名學生上課,每次上課人數(shù)30-40人不等。視頻采集所用的設備參數(shù)如表2所示。
為了測試本系統(tǒng)人臉檢測方法的召回率,在課堂監(jiān)控過程中隨機抓拍100張圖像用于測試。該100幅圖像分別抓拍于四個上課班級的二十次課,每次上課學生座位分布皆不相同。去掉學生上課低頭等人臉不可檢測的特殊情況后,人臉總數(shù)為3143。將這100幅圖像執(zhí)行本系統(tǒng)的人臉檢測算法,去掉重復人臉后統(tǒng)計人臉召回率,圖像切割深度與人臉召回率的關系如圖3所示。
從圖3中可以看出,隨著圖像切割深度的變大,人臉的召回率明顯升高。當圖像的切割深度為5時,人臉的召回率可以達到99.8%,此時完全可滿足課堂教學監(jiān)控的需要。
4.2 ? 系統(tǒng)性能分析
隨著圖像切割次數(shù)的增大,需要做人臉檢測的圖像數(shù)量也呈指數(shù)級增長。當圖像切割深度為5時,要檢測的圖像數(shù)量為364張。在這些圖像中,根結點圖像尺寸最大,使用OpenCV做人臉檢測時最大耗時約80ms。隨著切割深度的增加,圖像尺寸呈指數(shù)級下降,人臉檢測的耗時也急劇減少。第五次分割后的葉子結點圖像的檢測時間降低到4ms左右。一幅圖像的人臉檢測時間總耗時小于4s。
人臉檢測完后,調用百度AI的在線人臉識別接口進行人臉識別。該接口對于企業(yè)級應用的QPS限制為10,即每秒允許最多調用十次。本系統(tǒng)采用多線程的方式調用該接口,在帶寬良好的情況下,可穩(wěn)定的實現(xiàn)每秒9—10次的調用。對于學生數(shù)約40的課堂,考慮到20%人臉的冗余,人臉識別總耗時小于6s。由于人臉識別的大部分時間為等待網(wǎng)絡返回結果,所以將人臉檢測與識別并發(fā)運行后,系統(tǒng)分析一幅圖像的總時長約6—7秒。該耗時完全滿足課堂教學監(jiān)控系統(tǒng)的耗時要求。
5 ? 結論(Conclusion)
本文設計并開發(fā)了一個課堂教學監(jiān)控系統(tǒng)。為了解決多人場景下人臉檢測召回率低的問題,提出基于圖像遞歸切割和OpenCV的人臉檢測方法,通過識別學生表情信息分析課堂學生學習情況。最后給出了人臉檢測召回率的測試結果,并分析了人臉檢測與識別的時間消耗情況。系統(tǒng)在部署測試中
發(fā)現(xiàn)了一些值得繼續(xù)改進的地方。首先,課堂上學生的分布往往不均勻,如何感知學生分布,并針對學生數(shù)量多的區(qū)域做較深的遞歸切割是值得研究的問題。其次,部署環(huán)境的座位分布、光線等因素對系統(tǒng)效果有一定影響,目前該方面還沒有相關測試結果。
參考文獻(References)
[1] 蔡紅梅,許曉東.高校課堂教學質量評價指標體系的構建[J].高等工程教育研究,2014,3(1):177-180.
[2] 杜祥培.試論教學質量監(jiān)控的主要環(huán)節(jié)及其標準[J].中國大學教學,2005,11(2):47-48.
[3] Samet Refik,Tanriverdi Muhammed.Face Recognition-Based Mobile Automatic Classroom Attendance Management System[C].International Conference on Cyberworlds,2017:253-256.
[4] 荊洲,權偉,唐杰,等.基于人臉識別的智能課堂點名系統(tǒng)[J].軟件工程,2017,20(5):43-46.
[5] 戴振澤,施艷,鄭少偉,等.智能課堂監(jiān)控與分析系統(tǒng)[J].軟件工程,2018,21 (6):36-39.
[6] Zhang Quanbin,Huang Xiang,Su Juan.People counting in classroom based on video surveillance[C].International Symposium on Image Processing and Pattern Recognition,2014:9301-9308.
[7] 徐金鳳,張路遙.高職院校教學質量監(jiān)控信息化平臺的設計——以無錫職業(yè)技術學院為例[J].無錫職業(yè)技術學院學報,2017,16(3):41-44.
[8] Lienhart Rainer,Maydt Jochen.An extended set of haar-like features for rapid object detection[C].Proceedings of International Conference on Image Processing.IEEE,2002:900-903.
[9] Ohn-Bar Eshed,Trivedi Mohan.To Boost or not to Boost? on the Limits of Boosted Trees for Object Detection[C].The 23rd International Conference on Pattern Recognition (ICPR).IEEE,2016:3350-3355.
[10] Laganière Robert.OpenCV Computer Vision Application Programming Cookbook Second Edition[M].Packt Publishing,2014.
[11] 田霖,陸國生,林睿,等.基于RFID和百度AI的無人值守電力倉庫管理系統(tǒng)[J].工業(yè)控制計算機,2019,32(1):120-121.
作者簡介:
王昌海(1987-),男,博士,講師.研究領域:機器學習,人臉識別.
申紅雪(1970-),女,講師,高級實驗師.研究領域:人工智能,計算機網(wǎng)絡.
張王衛(wèi)(1983-),男,博士,講師.研究領域:機器學習,人臉識別.
孫玉勝(1963-),男,碩士,教授.研究領域:計算機信息系統(tǒng).
王 ? ?博(1986-),男,博士,講師.研究領域:云計算.