劉 潔,蒙 力,王 沛,劉曉龍,張軼雄
西安交通大學網絡教育學院, 西安 710049
現代遠程教育誕生于我國互聯網科技飛速發展的時代,同時,伴隨著各種信息化技術的不斷壯大而快速成長,課程考試方式逐漸從集中面考向機考與筆試相結合的方向發展??忌矸蒡炞C是國家教育考試管理部門對標準化考試考點工作的基本要求,也是構建考生誠信檔案和社會誠信檔案的重要信息來源[1]。為順應這種理念的更新和智能化網絡技術的進步,西安交通大學網絡教育學院綜合業務需求和技術開發能力,于2018年春季正式啟用了基于面部識別技術的網上機考系統,并在機考系統成功運行三個批次后,把綜合了面部識別和無感簽到功能的“網絡智能感知系統”試應用于2018年秋季期末課程筆試之中。該系統的運用使巡考教師及學院能充分掌控各考點考試情況,做到時時有監控、詢查有依據,極大地遏制了各種考場違紀行為。
2014年面部識別技術第一次在LFW基準測試中獲得接近人類識別的結果(DeepFace:97.35%,人類:97.53%)[2],接下來的3年中受啟發而使用DeepFace深度學習人臉識別模型[3]的研究將面部識別的準確率提高到99.80%[4]。我們所使用的面部識別技術基于CNN-9架構,在面部識別精準度上達到了99.77%[5],LFW基準測試98.67%,RFW測試中對于亞洲人面部識別準確度達到90.27%[6]。
現代遠程教育試點高校的第一代考試監管機制,普遍采用考生刷身份證、指紋以及人工辨別等方式進行,這些身份驗證方式都存在一定的弊端[7]。為進一步加強對學生身份的識別和考場秩序的管理,彌補第一代監管機制的不足,網絡智能感知系統的概念被提出。網絡智能感知系統所提供的簡單易用的操作界面讓沒有任何計算機操作基礎的人都可以快速上手;BS架構下使用MVVM框架,除了增加客戶端的靈活性,還保證了多平臺的兼容性;通過DDP以及Web- Socket的通訊方式使得數據層在頁面端所見即所得;整個系統建立于NodeJS基礎上,使得該系統原生擁有無阻塞特性,并且擁有NPM社區的無限拓展可能。由于該系統存儲數據松散,所以后臺選擇了介于關系數據庫和非關系數據庫之間的產品MongoDB,它是非關系數據庫中功能最豐富,最像關系數據庫的[8]。
網絡智能感知系統在設計初期就遵循KISS原則(keep it simple stupid),整個系統在操作界面上分成三個部分,即拍攝模塊、學生基本信息照片比對模塊以及簽到模塊(如圖1所示)。而把需要簽到的操作只做到一個按鍵里,通過這一簡單操作實現學生簽到全過程[9]。

圖1 網絡智能感知系統操作界面
webRTC定義了一系列標準的JavaScript接口[10],在瀏覽器支持webRTC并且有對應硬件的支持下,通過該接口就可以開始在瀏覽器內捕捉視頻流。
照片比對模塊里的Canvas顯示現場采集照片,通過身份證號調取學生照片以及基本信息,中間顯示的百分數為學生現場采集照片與目標照片的相似度。
簽到模塊里顯示的是系統中該學生的考試安排,其中可簽到的標識會根據目前時間以及簽到時間規則自動為學生選擇可以簽到的課程,完成智能簽到。
網絡智能感知系統采用目前主流的BS(Brow- ser/Server)架構,該架構配合WebRTC可以解決大多數跨平臺的問題,所以該系統無論是在Windows,ma- cOS還是Linux Desktop的操作系統下都可以保證正常的運作,只要該機有已經驅動的攝像頭,可用的互聯網以及Chrome或者Firefox瀏覽器。
越來越多的Web應用拋棄傳統MVC的架構,而使用MVVM。因為,前端計算能力的大幅度提升,前端能力的大量過剩,使得越來越多的業務邏輯向前端遷移[11]。例如:在網絡智能感知系統中,面部識別接口調用這樣大并發量、占用網絡資源的請求是直接通過客戶端瀏覽器發起的,這樣做大大地減輕了我們自己服務器的帶寬以及運算資源。一個學生簽到的整個過程中,服務器只對數據庫進行一次讀取以及一次的寫入操作。
學生每一門考試都有唯一的簽到數據,針對這一條簽到數據在簽到發生的時候會寫入簽到的時間,是否通過,以及簽到時現場采集的照片,保證了簽到數據的唯一性以及可驗證性。同時,因為客戶端與服務器的通訊是通過DDP協議WebSocket接口,頁面上看到學生簽到的數據是存在數據庫里面的實時數據。
網絡智能感知系統基于NodeJS社區,所以在NPM上維護的庫都可以在該系統中隨意調用,這使得網絡智能感知系統具有極大的靈活性,基本可以滿足業務方面對該系統的所有合理需求。
為了確保學生簽到數據的真實有效,活體檢測是該系統的核心。通常情況下活體檢測是在面部識別之前[4],只有通過活體檢測的數據才會進入面部識別算法。目前,活體檢測的方式有基于紋理、運動、3D圖形以及多光譜反射的方式,但在實際運用中由于設備的限制我們使用的是基于紋理的活體檢測技術[12]。
基于紋理的活體檢測通過檢測識別照片中的瑕疵,來辨別被檢測人是活體還是印刷品。人臉是一個復雜的不規則3D物體,而打印或者手機上顯示的照片則是一個平面的物體[13]。對于活體檢測不通過的學生,系統會記錄簽到照片以及對應學習中心名稱,通過接口的方式實時將圖片發到巡考教師手機上,巡考教師在核對照片后可以根據實際情況對學習中心做相對應的處理,比如:立刻停止該學習中心的入學考試簽到工作。對于已經簽到的數據在考試結束后會再對簽到圖片做一次活體檢測,根據活體檢測結果做出相應的處理。
網絡智能感知系統由兩大模塊組成,面部識別模塊以及無感簽到模塊,如圖2所示。

圖2 網絡智能感知系統
面部識別模塊包含兩種模式,即人臉比對和人臉檢索。人臉比對是通過對比兩張人臉,返回這兩張人臉的相似度;人臉檢索是在預先注冊過的人臉庫中查找最相似的人臉并返回注冊編號,兩種模式在進行面部識別的時候都會經過活體以及圖片質量等檢查。
活體檢測可以根據面部照片中的摩爾紋、成像畸形等來判斷檢測對象是否為活體,可有效防止屏幕二次翻拍等作弊行為。圖片質量檢測會對圖像進行分析,阻攔低質量的面部照片進入系統(比如照片中對五官遮擋程度過高的照片)。
無論哪種面部識別,識別的結果都會連同比對照片一并存入數據庫供日后排查以及試卷確認。
為了簡化并規范對考點的管理,無感簽到模塊使用了人臉檢索的方式登錄??键c負責人只須面對攝像頭點擊登錄即可登錄系統,登錄后的系統只能對對應考點的學生進行簽到,此項功能有效地防止了異地簽到的問題。
在學生面部掃描的過程中同步實現無感簽到功能,界面內會分別顯示學生現場采集的照片、系統中預存的照片、本人信息,以及學生的所有考試信息。對于學院考務負責人、學習中心工作人員以及學生本人,其考試信息一目了然。
無感簽到是在查詢學生信息、考試信息以及人臉比對的時候自動完成的,對于學生無感知。簽到完成后學生考試信息中的簽到狀態會根據數據庫內的狀態隨之改變,所以當學習中心管理人員看到狀態轉變的時候,數據庫里已經記錄下了簽到的所有數據。

圖3 交互時序圖
圖3為使用人臉比對進行簽到的時序圖,1~7是現場采集學生照片并調取服務器中學生預存藍底照片,8~11是請求對應學生的考試信息,12~13為客戶端發起人臉比對請求,在返回結果達到我們預設人臉檢測閾值的時候簽到信息記錄到數據庫內并儲存對應的簽到信息。
自2018年“網絡智能感知”系統得到應用以來,機考3個批次共計掃描考生信息671 854人次,其中掃描合格數據600 352人次,疑似舞弊或無法掃描數據71 502人次,通過面部掃描成功進行考試的學生占總考生人數的89.3%。值得注意的是,3次考試的掃描合格率逐漸攀升,說明系統的可靠性和穩定性逐漸增強,同時,也證明考生逐漸意識到面部掃描的科學性和嚴肅性,有效地控制替考行為的發生。
“網絡智能感知”系統在秋季期末考試試點應用中共掃描考生11 162人次,掃描并簽到通過9915人次,除去部分技術原因沒有通過面部掃描和智能簽到的學生外,有效地規避了替考現象,總成功率達到89%,如表1所示。

表1 網絡智能感知系統應用效果
該院開發的“網絡智能感知”系統在初步使用中取得了良好效果,不僅提高了考生身份核實的速度和效能,同時也起到了震懾作用,使各種舞弊行為無可乘之機,進一步確保了考試的嚴肅性和公正性。
該系統在實際使用中也遇到了很多問題,其中最主要的問題是操作人員對該系統的熟悉程度,以及面部識別本身對識別圖像質量的要求。人臉圖像質量對識別率的影響較大,而圖像質量又受各種因素的影響[14],最后導致識別失敗。
案例一:學生沒有簽到信息—學生由于自己搞錯考試時間,在沒有考試安排的時間段內進行簽到。
解決辦法:負責監考的教師熟悉操作界面,在學生可簽到課程中檢查該時段是否有可以簽到的課程,讓學生重新查看考試安排。
案例二:學生簽到未成功—原因是因為學生身份證信息讀取不成功,負責監考的教師如果沒有意識到該學生身份證信息未讀取,屏幕上實時顯示的還是上一個學生已經簽到完成的信息,容易造成混淆,以為該學生已經簽到過。
解決辦法:確認學生基本信息照片比對模塊中的照片為學生本人,學生信息中身份證信息與當前身份證相符。
案例三:活體檢測不通過—活體檢測不通過是由于人臉圖像沒有通過人臉識別中的活體檢測,被判斷為照片或者視頻攻擊。
解決辦法:避免在強光下拍攝學生,畫面中盡量不出現高光的物體,學生背景最好為暗色,使用高質量攝像頭,像素高于1200萬像素,攝像頭焦距不易過長。