李春梅 邵新慧 劉玲


摘 ?要:針對高校監考任務繁重且傳統監考作弊取證較難等問題,設計了基于視頻行為分析的智能監考輔助系統。該系統首先應用視頻流實時處理算法對視頻流進行解碼,然后運用YOLOv3算法檢測出人體以及違禁品邊框,接著用MTCNN算法檢測面部姿態,最后對行為異常進行檢測分析并給出異常警告。通過使用該系統,能夠實現自動檢測考生作弊行為并且可以自動預警和保存作弊行為。經過測試,系統的識別結果準確率能夠達到百分之五十以上,能夠起到輔助監考的作用。
關鍵詞:視頻行為分析;YOLOv3算法;MTCNN算法;智能監考
中圖分類號:G642 ? ? ? ? 文獻標志碼: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
近年來,由于課程改革等因素,高校更加看重學生在學習某門課程中的整個過程的表現,因此設置了更多的考試,包括上機考試和筆試兩種形式。以東北大學的高等數學課程為例,每學期需要5~6次的上機單元考試,高等數學的修讀學生將近5000人,監考任務變得相當繁重。這時傳統的監考模式顯現出了眾多弊端,如傳統監考模式需要多個監考老師分區域的巡邏才能覆蓋整體考場,需要的人力更多;且由于考試作弊的行為經常發生在很短的時間區間內,單純以人的注意力很難保證能夠及時發現作弊行為;有些作弊行為停止后很難進行取證。本文設計的智能監考輔助系統,能夠通過應用計算機視覺算法[1]實現考生人臉的檢測、人臉姿態的分析,進而實現自動化的監測和預警考生行為,減少了監考所需人力的同時還提升了監考的效果。
1 系統總體設計
基于視頻行為分析的智能監考服務系統總體可分為五個模塊,分別為系統基礎集成模塊、視頻流實時處理模塊、人臉檢測模塊、行為異常檢測分析模塊、異常警告模塊。系統通過視頻流實時處理模塊將視頻流讀入并按幀保存為圖像,保存的圖像會被人體以及違禁品檢測模塊讀取并檢測出人體的邊框(boundingbox)和違禁品的邊框boundingbox,行為異常檢測模塊讀取到圖像信息和boundingbox信息后,會剪切出人體區域并通過MTCNN(Multi-task Cascaded Convolutional Networks)算法檢測人臉和人臉姿態,將人臉姿態參數和違禁品boundingbox共同輸入到SVM(Support Vector Machine)分類器中得出該學生是否有作弊嫌疑的結論,當確認某位學生有作弊嫌疑后,系統會自動保存相關圖像和視頻片段到相應的本地路徑中,并發出系統警告。系統結構圖如圖1所示。
系統采用java web技術來進行系統界面的實現和算法的調度,算法部分則由C和python共同實現。系統首先通過視頻監控終端接受到視頻流數據,再調用視頻處理模塊對視頻流進行采樣,將采樣得到的圖像、采樣時間段信息存儲到指定路徑中,算法部分被設定為每5秒對指定路徑進行掃描,讀取新的待處理數據并在讀取完成后清空指定路徑中的數據,算法經過判斷發出作弊預警后,會將檢測結果圖像、作弊采樣時間段信息存入疑似作弊路徑。監考人員通過系統查看時,系統會自動調出該時間段的視頻以及疑似作弊路徑中的檢測結果圖像。
2 視頻流實時處理算法
為了提高視頻的讀取采樣效率,提升考試監考視頻的解碼效率,為本文系統中的后續算法提供更快的數據支持,系統采用新的解碼數據流動方式來進行GPU和CPU的調動。本文采用的視頻并行解碼策略整體流程框架如圖2所示。
系統首先將由監控設備傳輸過來的H.264視頻流[2]加載到內存中,通過CPU對內存中的視頻數據進行熵解碼,得到大量的數據,包括出量化參數、幀內預測和殘差系數以及預測系數,這些數據再被解析出來后會被系統傳輸到GPU的顯存中,GPU直接從顯存中將以上數據取出并對數據進行DCT(Discrete Cosine Transform)逆變換,在GPU處理逆變換等任務時,CPU已經開始處理下一幀的任務。通過以上過程本文實現了系統CPU和GPU的并行調度,對比原始默認視頻解碼方式,本文應用的并行能夠達到1.3的加速比,有效的提升了系統的視頻處理效率。
3 人體及考試違禁品檢測算法
目前以深度學習為基礎的目標檢測算法中,YOLOv3算法[3]在精度和速度上都占據著很大的優勢,YOLOv3的網絡結構包括四部分:卷積層、res層、darknet-53、YOLO部分,其中YOLO部分包括了小尺度yolo層、中尺度yolo層和大尺度yolo層,這三個尺度的yolo層也是YOLOv3在小目標檢測任務上有顯著提高的原因之一。
在對監控視頻中的考生人體和考試違禁物品進行檢測時,由于違禁物品和人體的尺度相差很大,因此很適合利用YOLOv3來作為本文系統的主要檢測算法。首先系統對輸入的視頻進行采樣,得到單幀圖像,然后對原始圖像進行降采樣處理,得到516*516的圖像輸入到網絡中進行計算,得到人體的boundingbox(Bx,By,Bh,Bw)以及違禁物品手機(CPx,CPy,CPh,CPw)和違禁物品書本(CBx,CBy,CBh,CBw);接下來將違禁物品分配到最近的人體位置中,并計算違禁物品中心與人體中心(Bx,By)的相對距離,作為判斷是否疑似作弊的第一部分特征,沒有被分配違禁物品的人體坐標第一部分特征值為0。檢測算法的整體框圖如圖3所示。
4 面部姿態檢測算法
當考生進行作弊行為時,會經常東張西望,面部姿態和位置出現較大變化,為了捕獲監控視頻中的考生異常面部姿態,系統利用MTCNN算法[4]來對考生的面部姿態進行監測和提取,MTCNN算法整體可分為三個部分:第一部分,是通過結構相對簡單的全卷積神經網絡初步的生成粗粒度的人臉窗口,該部分通過P-Net(Proposal Network)實現,該步驟得到的初選框會根據邊界框進行校準并通過非極大值抑制算法去除錯誤窗口;第二部分,將第一部分得到的結果輸入到更復雜的卷積神經網絡中,該部分網絡被稱為R-Net(Refine Network),R-Net的層數更多并且包含全連接層,R-NET得出的結果同樣根據邊界框進行校準并通過非極大值抑制算法去除錯誤窗口;第三部分,將第二部分的結果輸入到更強大的卷積神經網絡O-Net(Output Network)中,O-Net的網絡結構和第二部分的R-Net結構類似,只是多了一層卷積層,并且輸出包括五個人臉的關鍵點位置信息。
本系統的面部姿態檢測算法的輸入為考生人體檢測算法生成的人體區域,經過調整得到64*28的圖像,輸入到預先訓練完成的mtcnn網絡中,通過計算得到面部坐標,五個關鍵點的坐標,再將五個面部關鍵點坐標分別與人體中心位置和面部中心位置相減得到疑似作弊的第二部分特征,并與第一部分特征串聯得到最終作弊檢測特征。
5 作弊檢測流程
經過系統檢測算法以及面部姿態檢測算法對每幀圖片的處理后,我們能夠得到每幀圖像中的人體位置、手機位置和書本位置(如果存在)、考生的人臉姿態參數。在實際考試過程中,學生在發生作弊行為時會發生較大的人臉姿態的異常,并且在畫面中會出現手機和書本等作弊工具,因此本文系統以一段時間內考生的人臉姿態以及考試工具的檢測結果作為判斷考生是否存在疑似作弊行為的依據。作弊判斷模塊的邏輯流程如圖4所示。
如圖4所示,系統以每秒五幀的頻率對視頻數據進行采樣,對于考生作弊行為的判定則以十秒為一個周期,一個周期內的采樣圖像張數為50張,通過檢測算法和面部姿態檢測算法對圖像進行處理,得出N個考生位置信息B;N個考生面部姿態向量S,每個向量包含5對參數(S1、S2、S3、S4、S5)以及面部位置坐標FP;N個考試作弊工具位置信息CP、CB,每個位置信息包含4個參數(相對身體中心點的相對位置);為了簡化分類過程,我們計算出相對特征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))。在一個周期結束后,我們將會得到N組相對特征,每組特征包含50個F向量,然后我們將每組相對特征中的每個相對特征都輸入到SVM分類器中,判斷該幀中該考生是否存在疑似作弊的行為,如果存在則計數加一,當一組特征中超過15個特征被判定為疑似作弊,則向系統發出作弊預警,并保存該段視頻到本地路徑。
6 結束語
文中對視頻監考系統進行了改進,實現了能夠自動檢測考生作弊行為并且可以自動預警和保存作弊行為的智能監考算法。系統中的每個功能都可以獨立運行,系統模塊化的實現使其各個組件能夠被輕松地更新升級,保證了系統的易迭代性。經過測試,系統的識別結果準確率能夠達到百分之五十以上,能夠起到輔助監考的作用。但系統仍存在一定的缺陷,如系統對于硬件資源依賴較大,需要兩臺以上搭載titan x 顯卡的服務器才能保證流暢運行,另外算法對視頻中遠端的考生檢測效果不佳等。在未來的研究中,我們會更新我們的檢測算法,利用時間序列信息增加算法的準確率,同時優化算法實現代碼,提升算法運行速度,也可以嘗試引入多攝像頭聯合識別,使系統能夠接近人工監考的效果和性能。
參考文獻:
[1]王聰,劉明光,齊飛.智能視頻監控系統動態目標檢測與識別算法綜述[J].電氣技術,2018,19(09):20-25.
[2]陳鵬,曹劍煒,陳慶奎.基于GPU的H.264并行解碼算法[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.