李春梅 邵新慧 劉玲
摘 ?要:針對高校監(jiān)考任務(wù)繁重且傳統(tǒng)監(jiān)考作弊取證較難等問題,設(shè)計了基于視頻行為分析的智能監(jiān)考輔助系統(tǒng)。該系統(tǒng)首先應(yīng)用視頻流實時處理算法對視頻流進(jìn)行解碼,然后運(yùn)用YOLOv3算法檢測出人體以及違禁品邊框,接著用MTCNN算法檢測面部姿態(tài),最后對行為異常進(jìn)行檢測分析并給出異常警告。通過使用該系統(tǒng),能夠?qū)崿F(xiàn)自動檢測考生作弊行為并且可以自動預(yù)警和保存作弊行為。經(jīng)過測試,系統(tǒng)的識別結(jié)果準(zhǔn)確率能夠達(dá)到百分之五十以上,能夠起到輔助監(jiān)考的作用。
關(guān)鍵詞:視頻行為分析;YOLOv3算法;MTCNN算法;智能監(jiān)考
中圖分類號:G642 ? ? ? ? 文獻(xiàn)標(biāo)志碼:A ? ? ? ? 文章編號:2095-2945(2019)18-0008-03
Abstract: In view of the heavy task of invigilating in colleges and universities and the difficulty of cheating and obtaining evidence in traditional invigilation, an intelligent invigilating assistant system based on video behavior analysis is designed. The system first uses the video stream real-time processing algorithm to decode the video stream, then uses the YOLOv3 algorithm to detect the human body and the contraband frame, and then uses the MTCNN algorithm to detect the facial posture. Finally, the behavior anomaly is detected and analyzed and the anomaly warning is given. By using the system, the cheating behavior of candidates can be detected automatically and the cheating behavior can be automatically warned and saved. After testing, the recognition accuracy of the system can reach more than 50%, which can play an auxiliary role in invigilating.
Keywords: video behavior analysis; YOLOv3 algorithm; MTCNN algorithm; intelligent invigilation
近年來,由于課程改革等因素,高校更加看重學(xué)生在學(xué)習(xí)某門課程中的整個過程的表現(xiàn),因此設(shè)置了更多的考試,包括上機(jī)考試和筆試兩種形式。以東北大學(xué)的高等數(shù)學(xué)課程為例,每學(xué)期需要5~6次的上機(jī)單元考試,高等數(shù)學(xué)的修讀學(xué)生將近5000人,監(jiān)考任務(wù)變得相當(dāng)繁重。這時傳統(tǒng)的監(jiān)考模式顯現(xiàn)出了眾多弊端,如傳統(tǒng)監(jiān)考模式需要多個監(jiān)考老師分區(qū)域的巡邏才能覆蓋整體考場,需要的人力更多;且由于考試作弊的行為經(jīng)常發(fā)生在很短的時間區(qū)間內(nèi),單純以人的注意力很難保證能夠及時發(fā)現(xiàn)作弊行為;有些作弊行為停止后很難進(jìn)行取證。本文設(shè)計的智能監(jiān)考輔助系統(tǒng),能夠通過應(yīng)用計算機(jī)視覺算法[1]實現(xiàn)考生人臉的檢測、人臉姿態(tài)的分析,進(jìn)而實現(xiàn)自動化的監(jiān)測和預(yù)警考生行為,減少了監(jiān)考所需人力的同時還提升了監(jiān)考的效果。
1 系統(tǒng)總體設(shè)計
基于視頻行為分析的智能監(jiān)考服務(wù)系統(tǒng)總體可分為五個模塊,分別為系統(tǒng)基礎(chǔ)集成模塊、視頻流實時處理模塊、人臉檢測模塊、行為異常檢測分析模塊、異常警告模塊。系統(tǒng)通過視頻流實時處理模塊將視頻流讀入并按幀保存為圖像,保存的圖像會被人體以及違禁品檢測模塊讀取并檢測出人體的邊框(boundingbox)和違禁品的邊框boundingbox,行為異常檢測模塊讀取到圖像信息和boundingbox信息后,會剪切出人體區(qū)域并通過MTCNN(Multi-task Cascaded Convolutional Networks)算法檢測人臉和人臉姿態(tài),將人臉姿態(tài)參數(shù)和違禁品boundingbox共同輸入到SVM(Support Vector Machine)分類器中得出該學(xué)生是否有作弊嫌疑的結(jié)論,當(dāng)確認(rèn)某位學(xué)生有作弊嫌疑后,系統(tǒng)會自動保存相關(guān)圖像和視頻片段到相應(yīng)的本地路徑中,并發(fā)出系統(tǒng)警告。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
系統(tǒng)采用java web技術(shù)來進(jìn)行系統(tǒng)界面的實現(xiàn)和算法的調(diào)度,算法部分則由C和python共同實現(xiàn)。系統(tǒng)首先通過視頻監(jiān)控終端接受到視頻流數(shù)據(jù),再調(diào)用視頻處理模塊對視頻流進(jìn)行采樣,將采樣得到的圖像、采樣時間段信息存儲到指定路徑中,算法部分被設(shè)定為每5秒對指定路徑進(jìn)行掃描,讀取新的待處理數(shù)據(jù)并在讀取完成后清空指定路徑中的數(shù)據(jù),算法經(jīng)過判斷發(fā)出作弊預(yù)警后,會將檢測結(jié)果圖像、作弊采樣時間段信息存入疑似作弊路徑。監(jiān)考人員通過系統(tǒng)查看時,系統(tǒng)會自動調(diào)出該時間段的視頻以及疑似作弊路徑中的檢測結(jié)果圖像。
2 視頻流實時處理算法
為了提高視頻的讀取采樣效率,提升考試監(jiān)考視頻的解碼效率,為本文系統(tǒng)中的后續(xù)算法提供更快的數(shù)據(jù)支持,系統(tǒng)采用新的解碼數(shù)據(jù)流動方式來進(jìn)行GPU和CPU的調(diào)動。本文采用的視頻并行解碼策略整體流程框架如圖2所示。
系統(tǒng)首先將由監(jiān)控設(shè)備傳輸過來的H.264視頻流[2]加載到內(nèi)存中,通過CPU對內(nèi)存中的視頻數(shù)據(jù)進(jìn)行熵解碼,得到大量的數(shù)據(jù),包括出量化參數(shù)、幀內(nèi)預(yù)測和殘差系數(shù)以及預(yù)測系數(shù),這些數(shù)據(jù)再被解析出來后會被系統(tǒng)傳輸?shù)紾PU的顯存中,GPU直接從顯存中將以上數(shù)據(jù)取出并對數(shù)據(jù)進(jìn)行DCT(Discrete Cosine Transform)逆變換,在GPU處理逆變換等任務(wù)時,CPU已經(jīng)開始處理下一幀的任務(wù)。通過以上過程本文實現(xiàn)了系統(tǒng)CPU和GPU的并行調(diào)度,對比原始默認(rèn)視頻解碼方式,本文應(yīng)用的并行能夠達(dá)到1.3的加速比,有效的提升了系統(tǒng)的視頻處理效率。
3 人體及考試違禁品檢測算法
目前以深度學(xué)習(xí)為基礎(chǔ)的目標(biāo)檢測算法中,YOLOv3算法[3]在精度和速度上都占據(jù)著很大的優(yōu)勢,YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)包括四部分:卷積層、res層、darknet-53、YOLO部分,其中YOLO部分包括了小尺度yolo層、中尺度yolo層和大尺度yolo層,這三個尺度的yolo層也是YOLOv3在小目標(biāo)檢測任務(wù)上有顯著提高的原因之一。
在對監(jiān)控視頻中的考生人體和考試違禁物品進(jìn)行檢測時,由于違禁物品和人體的尺度相差很大,因此很適合利用YOLOv3來作為本文系統(tǒng)的主要檢測算法。首先系統(tǒng)對輸入的視頻進(jìn)行采樣,得到單幀圖像,然后對原始圖像進(jìn)行降采樣處理,得到516*516的圖像輸入到網(wǎng)絡(luò)中進(jìn)行計算,得到人體的boundingbox(Bx,By,Bh,Bw)以及違禁物品手機(jī)(CPx,CPy,CPh,CPw)和違禁物品書本(CBx,CBy,CBh,CBw);接下來將違禁物品分配到最近的人體位置中,并計算違禁物品中心與人體中心(Bx,By)的相對距離,作為判斷是否疑似作弊的第一部分特征,沒有被分配違禁物品的人體坐標(biāo)第一部分特征值為0。檢測算法的整體框圖如圖3所示。
4 面部姿態(tài)檢測算法
當(dāng)考生進(jìn)行作弊行為時,會經(jīng)常東張西望,面部姿態(tài)和位置出現(xiàn)較大變化,為了捕獲監(jiān)控視頻中的考生異常面部姿態(tài),系統(tǒng)利用MTCNN算法[4]來對考生的面部姿態(tài)進(jìn)行監(jiān)測和提取,MTCNN算法整體可分為三個部分:第一部分,是通過結(jié)構(gòu)相對簡單的全卷積神經(jīng)網(wǎng)絡(luò)初步的生成粗粒度的人臉窗口,該部分通過P-Net(Proposal Network)實現(xiàn),該步驟得到的初選框會根據(jù)邊界框進(jìn)行校準(zhǔn)并通過非極大值抑制算法去除錯誤窗口;第二部分,將第一部分得到的結(jié)果輸入到更復(fù)雜的卷積神經(jīng)網(wǎng)絡(luò)中,該部分網(wǎng)絡(luò)被稱為R-Net(Refine Network),R-Net的層數(shù)更多并且包含全連接層,R-NET得出的結(jié)果同樣根據(jù)邊界框進(jìn)行校準(zhǔn)并通過非極大值抑制算法去除錯誤窗口;第三部分,將第二部分的結(jié)果輸入到更強(qiáng)大的卷積神經(jīng)網(wǎng)絡(luò)O-Net(Output Network)中,O-Net的網(wǎng)絡(luò)結(jié)構(gòu)和第二部分的R-Net結(jié)構(gòu)類似,只是多了一層卷積層,并且輸出包括五個人臉的關(guān)鍵點位置信息。
本系統(tǒng)的面部姿態(tài)檢測算法的輸入為考生人體檢測算法生成的人體區(qū)域,經(jīng)過調(diào)整得到64*28的圖像,輸入到預(yù)先訓(xùn)練完成的mtcnn網(wǎng)絡(luò)中,通過計算得到面部坐標(biāo),五個關(guān)鍵點的坐標(biāo),再將五個面部關(guān)鍵點坐標(biāo)分別與人體中心位置和面部中心位置相減得到疑似作弊的第二部分特征,并與第一部分特征串聯(lián)得到最終作弊檢測特征。
5 作弊檢測流程
經(jīng)過系統(tǒng)檢測算法以及面部姿態(tài)檢測算法對每幀圖片的處理后,我們能夠得到每幀圖像中的人體位置、手機(jī)位置和書本位置(如果存在)、考生的人臉姿態(tài)參數(shù)。在實際考試過程中,學(xué)生在發(fā)生作弊行為時會發(fā)生較大的人臉姿態(tài)的異常,并且在畫面中會出現(xiàn)手機(jī)和書本等作弊工具,因此本文系統(tǒng)以一段時間內(nèi)考生的人臉姿態(tài)以及考試工具的檢測結(jié)果作為判斷考生是否存在疑似作弊行為的依據(jù)。作弊判斷模塊的邏輯流程如圖4所示。
如圖4所示,系統(tǒng)以每秒五幀的頻率對視頻數(shù)據(jù)進(jìn)行采樣,對于考生作弊行為的判定則以十秒為一個周期,一個周期內(nèi)的采樣圖像張數(shù)為50張,通過檢測算法和面部姿態(tài)檢測算法對圖像進(jìn)行處理,得出N個考生位置信息B;N個考生面部姿態(tài)向量S,每個向量包含5對參數(shù)(S1、S2、S3、S4、S5)以及面部位置坐標(biāo)FP;N個考試作弊工具位置信息CP、CB,每個位置信息包含4個參數(shù)(相對身體中心點的相對位置);為了簡化分類過程,我們計算出相對特征F=concat((B-C
P),(B-CB),(B-S1),(B-S2),(B-S3),(B-S4),(B-S5),(FP-S1),(FP-S2),(FP-S3),(FP-S4),(FP-S5))。在一個周期結(jié)束后,我們將會得到N組相對特征,每組特征包含50個F向量,然后我們將每組相對特征中的每個相對特征都輸入到SVM分類器中,判斷該幀中該考生是否存在疑似作弊的行為,如果存在則計數(shù)加一,當(dāng)一組特征中超過15個特征被判定為疑似作弊,則向系統(tǒng)發(fā)出作弊預(yù)警,并保存該段視頻到本地路徑。
6 結(jié)束語
文中對視頻監(jiān)考系統(tǒng)進(jìn)行了改進(jìn),實現(xiàn)了能夠自動檢測考生作弊行為并且可以自動預(yù)警和保存作弊行為的智能監(jiān)考算法。系統(tǒng)中的每個功能都可以獨立運(yùn)行,系統(tǒng)模塊化的實現(xiàn)使其各個組件能夠被輕松地更新升級,保證了系統(tǒng)的易迭代性。經(jīng)過測試,系統(tǒng)的識別結(jié)果準(zhǔn)確率能夠達(dá)到百分之五十以上,能夠起到輔助監(jiān)考的作用。但系統(tǒng)仍存在一定的缺陷,如系統(tǒng)對于硬件資源依賴較大,需要兩臺以上搭載titan x 顯卡的服務(wù)器才能保證流暢運(yùn)行,另外算法對視頻中遠(yuǎn)端的考生檢測效果不佳等。在未來的研究中,我們會更新我們的檢測算法,利用時間序列信息增加算法的準(zhǔn)確率,同時優(yōu)化算法實現(xiàn)代碼,提升算法運(yùn)行速度,也可以嘗試引入多攝像頭聯(lián)合識別,使系統(tǒng)能夠接近人工監(jiān)考的效果和性能。
參考文獻(xiàn):
[1]王聰,劉明光,齊飛.智能視頻監(jiān)控系統(tǒng)動態(tài)目標(biāo)檢測與識別算法綜述[J].電氣技術(shù),2018,19(09):20-25.
[2]陳鵬,曹劍煒,陳慶奎.基于GPU的H.264并行解碼算法[J].計算機(jī)工程,2014(1).
[3]Redmon J, Farhadi A. YOLOv3: An Incremental Improvement[J]. 2018.
[4]Zhang K, Zhang Z, Li Z, et al. Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks[J]. IEEE Signal Processing Letters, 2016,23(10):1499-1503.