周曉宇 李連民 張義騫 胡沛遜 仝玉璘 張恩





摘要:對于疫情期間線上考試人工監考費時費力,很難發現學生作弊行為而且難以當場取證的問題,文中設計了一種利用YOLO算法設計,基于TensorFlow的智能監考系統。此系統通過收取關于作弊的面部表情變化圖像建立起訓練集模型,對作弊過程中面部的表情(例如緊張,眼神飄忽不定等)進行分類,從而實現該系統功能。此系統不僅可以對考場內學生進行實時監測并提醒,且對學生作弊產生的面部表情以及正在進行的作弊行為進行取證。經過測試,此系統能夠在規定場景中正常運行及識別作弊準確率達68.5%,不僅僅滿足疫情期間學校對學生實時監考的要求,而且為今后無人監考系統大規模實施提供了有效參考數據。
關鍵詞:TensorFlow;YOLOv3;人工智能;目標檢測
中圖分類號:TP391 ? 文獻標識碼:A
文章編號:1009-3044(2021)35-0075-02
近年來,隨著教育的現代化,傳統的考試監督方式不太適合形勢發展,人工監考存在著漏洞,大型考試作弊的事情很難及時發現,給考試帶來了不公平,因此,智能監考系統迎刃而出。
隨著近年來計算機視覺技術以及網絡的快速發展,基于python的目標檢測作為計算機視覺一大應用,使用深度學習進行目標檢測,并結合算法,可以實時的目標檢測,OpenCV深度學習的實時目標檢測需要有效介入攝像頭,這里在介紹目標檢測時用的主要的算法,SSD(Single Shot Detectors)算法和YOLO(You Only Look Once)算法。
本文通過python環境設計了YOLO 算法,通過數據集進行訓練模型,并結合圖像處理技術實現智能監考系統。
1整體性系統設計
基于設計的系統流程圖設計如圖1所示。其運行方式分為以下四步:
(1)啟動程序,并通過攝像頭設備獲取數據;
(2)對已獲取的視頻進行預處理;
(3)該系統在TensorFlow框架下,利用YOLOv3算法從圖像中檢測出人體,并對人體幀進行標記;
(4)圖像分為正常圖像和作弊性圖像。一旦發現多個作弊行為,系統會報警提醒。
2智能監考實現的具體解決辦法
2.1如何識別考生的作弊動作
考生頭部、手部大范圍的移動都被算法視為作弊。當學生嘴部張合頻率過于頻繁、頻繁點頭等都被算法視為作弊。正常考試情況如圖2所示,作弊考試情況如圖3所示。
2.2使用場景
由于本項目在設計初衷針對網課考試的檢測,所以大部分使用場景較為單一,不需要出現多人動態識別的情況。屆時可以大大降低對設備性能的依賴程度,以及不需要過度判斷環境的異常情況,從而可以減少運算時間,加快運算識別速度。
2.3 YOLOv3算法的簡要概述
YOLO是一種常用的目標檢測算法。YOLO非常快,由于檢測問題是一個回歸問題,所以不需要復雜的通道。它可以處理更快地處理實時的視頻流,可以更快地完成視頻分類,檢驗延遲可達25毫秒,精度相對于原有的算法也有了兩倍的提升。
2018年4月華盛頓大學的 Joseph Redmon 和 Ali Farhadi 提出 YOLO 的最新版本 YOLOv3相比。在320×320版本下,YOLOv3的運行時間為22毫秒,速度為28.2 mAP,精度與SSD相當,但速度是SSD的三倍。
在YOLOv3中,由于只有卷積層,所以當通過更改卷積步長來控制輸出圖形大小尺度,所以對輸入的素材類型大小沒有嚴格的限制條件。流程圖中,輸入圖片以256*256作為樣例。YOLO與其他算法的區別在于它重新定義了一個回歸。該算法將單個神經網絡應用于整個素材的識別,將圖片素材分割化,通過標準的單元預測每個區域的類型值。Yolo的整個網絡,吸取了Resnet、Densenet、FPN的精髓,可以說是融合了目標檢測當前業界最有效的全部技巧。如圖4為官方測試Yolov3算法與其他算法的比較示例圖。
2.4其他情況類比概況
在實際情況中,學生在家進行網上考試并不一定只有肢體作弊的情況發生。手持其他物品或以其他形式出現的紙條、參考書、手機和耳機等外部資源,也將會影響考試的公平性。在Yolo算法中將對不同物品進行分類識別。若此時學生并無違規動作,卻出現了違規物品,同樣將被判定為作弊。如圖3、圖4所示。
3區分作弊動作的分析與實驗
3.1頭部檢測
根據頭部識別算法,先將頭部的邊界框劃分出來,更具改邊界框值的變化率以及相對于水平的幾何偏移量可以判別出該考生是否存在異常考試的情況。
3.2眼睛以及嘴部檢測
在考試過程中,眼睛的移動情況與嘴部的情況也是作弊的一個判斷點。在識別初期需要首先進行臉部點位的確定,這里使用了TensorFlow的三層CNN模型搭建。
數據集主要使用了kaggle上Facial Keypoints Detection比賽提供的數據集。該數據集包含包括7,049幅圖像,96×96像素的灰度圖像。預測15個人臉關鍵點。數據集中每一張圖片剛好包含整個人臉。數據集預處理完畢后導出dat文件,并為后續訓練做準備。
由于數據集來源不夠廣泛,在作弊的目標檢測算法中,目標識別率為86%,作弊診斷率為68.5%,不夠精準,在后續進一步擴大數據集,有望加強與提高目標識別精度。
各數據參數設置如圖7所示。
4結束語
本論文是基于TensorFlow和YOLOv3人工智能目標檢測技術,通過對視頻內容的切分處理、數據集比對的方式,實現了通過計算機進行考試中作弊檢測,將作弊情況反饋給主機監考系統。實驗中,系統檢測成功率約為78%,但系統仍存在缺陷,例如,無法同時處理多個攝像頭返回的數據圖像,識別的速度還不夠快。在后續的實驗測試中,應當加強在運行速度中的提高,使用更多的數據集進行訓練,達到一個可以基本實現的目標水準。
參考文獻
[1] 吳凱.頭部運動分析及其在考場視頻監控系統中的研究與應用[D].北京:北京理工大學,2011.
[2] 李孟曉,王保棟,戴文斌,等.一種標準考場環境下的考試作弊行為智能檢測方法[J].信息技術與信息化,2020(10):213-216.
[3] 鄒國鋒,傅桂霞,李海濤,高明亮,王科俊.多姿態人臉識別綜述[J].模式識別與人工智能,2015,28(07):613-625.
[4] 張華華.計算機化考試與中國教育評估[J].心理學探新,2013,33(05):387-391.
[5] 袁小平,馬緒起,劉賽.改進YOLOv3的行人車輛目標檢測算法[J].科學技術與工程,2021,21(8):3192-3198.
【通聯編輯:梁書】