李福海 宋皓宇 馬宏琳
摘要:在線考試是檢驗在線教育效果的有效手段,而基于人臉識別的監(jiān)考機制是保證在線監(jiān)考的關鍵。在線考試系統(tǒng)采用前后端分離的開發(fā)技術,實現(xiàn)題庫管理、用戶管理、在線考試、考試分析等功能。系統(tǒng)通過人臉檢測模型和深度卷積網(wǎng)絡進行人臉識別,并引入殘差學習,實現(xiàn)了基于人臉識別的考生在線身份驗證和實時在線監(jiān)考,保證了考生在線考試成績的真實性和有效性。
關鍵詞:在線考試系統(tǒng);在線監(jiān)考;人臉識別;深度卷積網(wǎng)絡;人臉檢測
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)14-0056-02
1 背景
利用網(wǎng)絡資源實現(xiàn)線上教學已經(jīng)成為重要的教學途徑,同時在線考試也越來越受到高校的廣泛關注。利用人臉識別監(jiān)考技術實現(xiàn)在線考試系統(tǒng),將有效地杜絕考試替考等作弊行為的發(fā)生,并促進便捷、公平、高效的考試模式變革,使得在線考試系統(tǒng)成為教學效果的重要檢驗方式。
根據(jù)教育部高等教育司的統(tǒng)計,2020年疫情期間,全國千余所高校的103萬名教師在線開設了107萬門課程,參加在線學習的學生共計1775萬人,合計23億人次[1]。人臉識別在線考試系統(tǒng)既能延續(xù)并擴展線上考試穩(wěn)定可靠的優(yōu)點,并且在監(jiān)考方面采用科學準確的人臉識別技術來彌補由于達不到傳統(tǒng)監(jiān)考面對面效果的缺點,從而有效地保證線上考試的質(zhì)量,為高校提供一個優(yōu)秀的在線考核的平臺。
2 系統(tǒng)設計
人臉識別技術是一種新型生物特征識別法[2]。“基于人臉識別技術的高校在線考試系統(tǒng)”采用前后端分離的開發(fā)技術,其中前端采用了只關注視圖層的輕量型Vue框架,后端則采用主流的Spring Boot框架。系統(tǒng)使用Python語言編寫人臉識別程序,不僅語言簡潔、功能強大,而且還獨立于系統(tǒng)。同時,采用進程通信的方式處理人臉識別監(jiān)考請求,可以為考試監(jiān)考提供強有力的保證。在人臉識別模塊中,采用TensorFlow[3]人臉檢測模型,然后使用深度卷積網(wǎng)絡進行人臉識別,具體采用Inception V4[4]版本模型,同時引入了殘差學習,大大提升了網(wǎng)絡深度和準確度。
2.1 系統(tǒng)整體功能設計
對于人臉識別在線考試系統(tǒng)而言,首先要給廣大用戶提供一個優(yōu)質(zhì)的在線考試平臺,此外準確科學的監(jiān)考手段也是保證考核質(zhì)量的重要一步。因此,設計系統(tǒng)的主要功能如下:
1)用戶管理:實現(xiàn)對考生、教師、管理員等用戶的信息管理。
2)瀏覽并查看考試:可以瀏覽所安排的各項考試,并查看考試的詳情。
3)進行在線考試:可以選擇需要進行的考試進入答題,考生完成答題可以提交試卷結(jié)束考試。
4)人臉識別監(jiān)考:考試全程系統(tǒng)自動調(diào)用攝像頭進行人臉識別監(jiān)考,并對考生的不當操作做出響應。
5)查看考試結(jié)果:用戶能夠查看考試成績,并得到成績走勢圖和分布圖等。
6)考試管理:發(fā)布考試并編輯考試的各項信息。
7)題庫管理:使用題庫進行自動組卷。
8)留言互動:師生間可以發(fā)布留言進行交流互動。
基于上述功能分析,把人臉識別在線考試系統(tǒng)的用戶視域功能,設計為6個功能模塊。分別為:用戶管理模塊、題庫管理模塊、在線考試模塊、人臉識別模塊、考試分析模塊、討論區(qū)模塊。
2.2 “人臉識別監(jiān)考”的具體功能設計
在上述系統(tǒng)功能中,人臉識別監(jiān)考是本系統(tǒng)的核心。人臉識別監(jiān)考需要實現(xiàn)以下具體功能:
1)捕獲圖片:前端可以在考試過程中實時捕獲攝像頭前考生的考試狀態(tài),并上傳至服務器本地。
2)建立連接:服務器接收到待識別圖片時,可以與Python端的人臉識別模塊建立連接,發(fā)送人臉識別請求并等待識別結(jié)果。
3)處理人像:Python端接收請求后,進行技術處理,并得到包含人臉的區(qū)域圖像。
4)人臉識別:Python端使用深度卷積網(wǎng)絡,利用提前訓練好的模型處理待檢測圖片,得出識別結(jié)果。
5)顯示識別結(jié)果:人臉識別結(jié)果返回至前端呈現(xiàn)給用戶,實現(xiàn)監(jiān)考。
2.3 系統(tǒng)詳細設計
系統(tǒng)使用IDEA開發(fā)工具,采用Java 語言和Python語言混合編寫開發(fā),使用MySQL數(shù)據(jù)庫提供數(shù)據(jù)存儲功能。根據(jù)系統(tǒng)的整體功能設計,進行系統(tǒng)詳細設計。
1)用戶相關業(yè)務:使用Vue前端框架的Element—UI進行組件化開發(fā),給用戶提供信息管理操作;后端使用MyBatis框架訪問數(shù)據(jù)持久層,對相關數(shù)據(jù)進行增、刪、改、查。
2)捕獲圖片:前端Vue在渲染頁面時,使用Canvas對象進行攝像頭圖像繪制和捕獲待檢測圖片。使用video標簽顯示識別區(qū)域展示給用戶。捕獲前端圖片后首先將圖片編碼轉(zhuǎn)格式,然后通過Ajax傳遞至后端。
3)建立連接:后端使用進程通信的方式與Python端的人臉識別模塊建立連接。采用Socket套接字創(chuàng)建連接對象,然后發(fā)送人臉識別請求,Python端接收請求后開始執(zhí)行識別操作。
4)處理人像:使用基于TensorFlow的MTCNN模型[5]進行人臉檢測和人像處理。對待檢測圖片進行“圖像金字塔”預處理,得到不同尺寸的圖像。然后圖像依次進入P-Net網(wǎng)絡、R-Net網(wǎng)絡、O-Net網(wǎng)絡,得到準確的bbox坐標和landmark坐標。
5)人臉識別: 使用Inception v4進行人臉判別,然后通過SVM[6]分類訓練進行分類,即得到識別結(jié)果。
6)識別結(jié)果顯示:Python端識別完成后,將識別結(jié)果通過進程通信傳遞給后端,后端再通過AJax將結(jié)果返回至前端,前端對結(jié)果進行處理,展示給用戶。
3 系統(tǒng)實現(xiàn)
本系統(tǒng)使用Vue框架進行組件化開發(fā),將各個功能模塊及操作進行組件化處理,使用路由進行調(diào)用跳轉(zhuǎn),設立觸發(fā)器監(jiān)聽用戶操作以完成相應的功能。人臉識別模塊采用深度卷積網(wǎng)絡來實現(xiàn),當Socket對象接收到后端發(fā)送的識別請求,便會開始執(zhí)行人臉識別操作。在此之前,需要將下載的數(shù)據(jù)集對模型進行訓練,然后將圖像中的人臉進行預處理,然后驗證模型,最后使用SVM分類訓練驗證其分類結(jié)果。系統(tǒng)考試界面,如圖1所示??荚嚠惓=缑?,如圖2所示。由圖1可知,考生答題過程中有一人臉監(jiān)考區(qū)域?qū)崟r顯示考生狀態(tài),考生本人在進行考試時會提示“本人考試中”。如果考試過程中出現(xiàn)其他異常情況則會返回提示信息,同時存儲識別結(jié)果至相關的考試信息中,如圖2所示。
4 結(jié)束語
基于人臉識別技術的在線考試系統(tǒng)是保證考生在線考試成績真實性的有效手段。系統(tǒng)的整體設計采用了前后端分離技術,使用Java語言和Python語言共同開發(fā),完成了用戶管理、試題管理、考試管理等功能。人臉識別模塊采用了深度卷積網(wǎng)絡,并使用TensorFlow和Inception模型等實現(xiàn)了人臉檢測。兩者通過進程間通信交換數(shù)據(jù),實現(xiàn)了利用人臉識別進行實時監(jiān)考的在線考試系統(tǒng)。經(jīng)實踐檢驗,系統(tǒng)運行穩(wěn)定,效果良好,可以滿足高校在線考試的需求,有效確保對考試全過程的實時監(jiān)控。
參考文獻:
[1] 李健.習近平統(tǒng)籌推進疫情防控與互聯(lián)網(wǎng)發(fā)展治理的辯證思維[J].中國衛(wèi)生法制,2021,29(2):100-104.
[2] 李飛,邢倩.在線教育“常態(tài)化”下高校專業(yè)課程教學實踐分析[J].高教學刊,2020(36):102-105.
[3] 高見.TensorFlow框架下的人臉識別系統(tǒng)優(yōu)化設計[J].電子元器件與信息技術,2021,5(1):142-143.
[4] 張景異,梁宸,吳攀,等.基于改進Inception V4的面部表情識別算法的研究[J].光電技術應用,2020,35(1):56-63.
[5] 祁星晨,卓旭升.基于改進MTCNN算法的低功耗邊緣人臉檢測跟蹤系統(tǒng)[J].電子技術應用,2021,47(5):40-44.
[6] 郭月.基于SVM的高分圖像自動分類算法研究與系統(tǒng)實現(xiàn)[D].石家莊:河北科技大學,2017.
收稿日期:2021-06-25
基金項目:2020年度河南省精品在線開放課程立項建設項目(教高〔2021〕4號);河南省“十四五”普通高等教育規(guī)劃教材重點立項建設項目(教高〔2020〕469號);河南省科技廳自然科學項目資助(202102110062)
作者簡介:李福海(1999—),男,河南信陽人,河南工業(yè)大學2017級本科生,主要研究方向為計算機軟件技術應用;宋皓宇,河南工業(yè)大學2020級本科生;馬宏琳,副教授,碩士。