劉 潔,蒙 力,王 沛,劉曉龍,張軼雄
西安交通大學(xué)網(wǎng)絡(luò)教育學(xué)院, 西安 710049
現(xiàn)代遠(yuǎn)程教育誕生于我國互聯(lián)網(wǎng)科技飛速發(fā)展的時代,同時,伴隨著各種信息化技術(shù)的不斷壯大而快速成長,課程考試方式逐漸從集中面考向機考與筆試相結(jié)合的方向發(fā)展。考生身份驗證是國家教育考試管理部門對標(biāo)準(zhǔn)化考試考點工作的基本要求,也是構(gòu)建考生誠信檔案和社會誠信檔案的重要信息來源[1]。為順應(yīng)這種理念的更新和智能化網(wǎng)絡(luò)技術(shù)的進(jìn)步,西安交通大學(xué)網(wǎng)絡(luò)教育學(xué)院綜合業(yè)務(wù)需求和技術(shù)開發(fā)能力,于2018年春季正式啟用了基于面部識別技術(shù)的網(wǎng)上機考系統(tǒng),并在機考系統(tǒng)成功運行三個批次后,把綜合了面部識別和無感簽到功能的“網(wǎng)絡(luò)智能感知系統(tǒng)”試應(yīng)用于2018年秋季期末課程筆試之中。該系統(tǒng)的運用使巡考教師及學(xué)院能充分掌控各考點考試情況,做到時時有監(jiān)控、詢查有依據(jù),極大地遏制了各種考場違紀(jì)行為。
2014年面部識別技術(shù)第一次在LFW基準(zhǔn)測試中獲得接近人類識別的結(jié)果(DeepFace:97.35%,人類:97.53%)[2],接下來的3年中受啟發(fā)而使用DeepFace深度學(xué)習(xí)人臉識別模型[3]的研究將面部識別的準(zhǔn)確率提高到99.80%[4]。我們所使用的面部識別技術(shù)基于CNN-9架構(gòu),在面部識別精準(zhǔn)度上達(dá)到了99.77%[5],LFW基準(zhǔn)測試98.67%,RFW測試中對于亞洲人面部識別準(zhǔn)確度達(dá)到90.27%[6]。
現(xiàn)代遠(yuǎn)程教育試點高校的第一代考試監(jiān)管機制,普遍采用考生刷身份證、指紋以及人工辨別等方式進(jìn)行,這些身份驗證方式都存在一定的弊端[7]。為進(jìn)一步加強對學(xué)生身份的識別和考場秩序的管理,彌補第一代監(jiān)管機制的不足,網(wǎng)絡(luò)智能感知系統(tǒng)的概念被提出。網(wǎng)絡(luò)智能感知系統(tǒng)所提供的簡單易用的操作界面讓沒有任何計算機操作基礎(chǔ)的人都可以快速上手;BS架構(gòu)下使用MVVM框架,除了增加客戶端的靈活性,還保證了多平臺的兼容性;通過DDP以及Web- Socket的通訊方式使得數(shù)據(jù)層在頁面端所見即所得;整個系統(tǒng)建立于NodeJS基礎(chǔ)上,使得該系統(tǒng)原生擁有無阻塞特性,并且擁有NPM社區(qū)的無限拓展可能。由于該系統(tǒng)存儲數(shù)據(jù)松散,所以后臺選擇了介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品MongoDB,它是非關(guān)系數(shù)據(jù)庫中功能最豐富,最像關(guān)系數(shù)據(jù)庫的[8]。
網(wǎng)絡(luò)智能感知系統(tǒng)在設(shè)計初期就遵循KISS原則(keep it simple stupid),整個系統(tǒng)在操作界面上分成三個部分,即拍攝模塊、學(xué)生基本信息照片比對模塊以及簽到模塊(如圖1所示)。而把需要簽到的操作只做到一個按鍵里,通過這一簡單操作實現(xiàn)學(xué)生簽到全過程[9]。
圖1 網(wǎng)絡(luò)智能感知系統(tǒng)操作界面
webRTC定義了一系列標(biāo)準(zhǔn)的JavaScript接口[10],在瀏覽器支持webRTC并且有對應(yīng)硬件的支持下,通過該接口就可以開始在瀏覽器內(nèi)捕捉視頻流。
照片比對模塊里的Canvas顯示現(xiàn)場采集照片,通過身份證號調(diào)取學(xué)生照片以及基本信息,中間顯示的百分?jǐn)?shù)為學(xué)生現(xiàn)場采集照片與目標(biāo)照片的相似度。
簽到模塊里顯示的是系統(tǒng)中該學(xué)生的考試安排,其中可簽到的標(biāo)識會根據(jù)目前時間以及簽到時間規(guī)則自動為學(xué)生選擇可以簽到的課程,完成智能簽到。
網(wǎng)絡(luò)智能感知系統(tǒng)采用目前主流的BS(Brow- ser/Server)架構(gòu),該架構(gòu)配合WebRTC可以解決大多數(shù)跨平臺的問題,所以該系統(tǒng)無論是在Windows,ma- cOS還是Linux Desktop的操作系統(tǒng)下都可以保證正常的運作,只要該機有已經(jīng)驅(qū)動的攝像頭,可用的互聯(lián)網(wǎng)以及Chrome或者Firefox瀏覽器。
越來越多的Web應(yīng)用拋棄傳統(tǒng)MVC的架構(gòu),而使用MVVM。因為,前端計算能力的大幅度提升,前端能力的大量過剩,使得越來越多的業(yè)務(wù)邏輯向前端遷移[11]。例如:在網(wǎng)絡(luò)智能感知系統(tǒng)中,面部識別接口調(diào)用這樣大并發(fā)量、占用網(wǎng)絡(luò)資源的請求是直接通過客戶端瀏覽器發(fā)起的,這樣做大大地減輕了我們自己服務(wù)器的帶寬以及運算資源。一個學(xué)生簽到的整個過程中,服務(wù)器只對數(shù)據(jù)庫進(jìn)行一次讀取以及一次的寫入操作。
學(xué)生每一門考試都有唯一的簽到數(shù)據(jù),針對這一條簽到數(shù)據(jù)在簽到發(fā)生的時候會寫入簽到的時間,是否通過,以及簽到時現(xiàn)場采集的照片,保證了簽到數(shù)據(jù)的唯一性以及可驗證性。同時,因為客戶端與服務(wù)器的通訊是通過DDP協(xié)議WebSocket接口,頁面上看到學(xué)生簽到的數(shù)據(jù)是存在數(shù)據(jù)庫里面的實時數(shù)據(jù)。
網(wǎng)絡(luò)智能感知系統(tǒng)基于NodeJS社區(qū),所以在NPM上維護(hù)的庫都可以在該系統(tǒng)中隨意調(diào)用,這使得網(wǎng)絡(luò)智能感知系統(tǒng)具有極大的靈活性,基本可以滿足業(yè)務(wù)方面對該系統(tǒng)的所有合理需求。
為了確保學(xué)生簽到數(shù)據(jù)的真實有效,活體檢測是該系統(tǒng)的核心。通常情況下活體檢測是在面部識別之前[4],只有通過活體檢測的數(shù)據(jù)才會進(jìn)入面部識別算法。目前,活體檢測的方式有基于紋理、運動、3D圖形以及多光譜反射的方式,但在實際運用中由于設(shè)備的限制我們使用的是基于紋理的活體檢測技術(shù)[12]。
基于紋理的活體檢測通過檢測識別照片中的瑕疵,來辨別被檢測人是活體還是印刷品。人臉是一個復(fù)雜的不規(guī)則3D物體,而打印或者手機上顯示的照片則是一個平面的物體[13]。對于活體檢測不通過的學(xué)生,系統(tǒng)會記錄簽到照片以及對應(yīng)學(xué)習(xí)中心名稱,通過接口的方式實時將圖片發(fā)到巡考教師手機上,巡考教師在核對照片后可以根據(jù)實際情況對學(xué)習(xí)中心做相對應(yīng)的處理,比如:立刻停止該學(xué)習(xí)中心的入學(xué)考試簽到工作。對于已經(jīng)簽到的數(shù)據(jù)在考試結(jié)束后會再對簽到圖片做一次活體檢測,根據(jù)活體檢測結(jié)果做出相應(yīng)的處理。
網(wǎng)絡(luò)智能感知系統(tǒng)由兩大模塊組成,面部識別模塊以及無感簽到模塊,如圖2所示。
圖2 網(wǎng)絡(luò)智能感知系統(tǒng)
面部識別模塊包含兩種模式,即人臉比對和人臉檢索。人臉比對是通過對比兩張人臉,返回這兩張人臉的相似度;人臉檢索是在預(yù)先注冊過的人臉庫中查找最相似的人臉并返回注冊編號,兩種模式在進(jìn)行面部識別的時候都會經(jīng)過活體以及圖片質(zhì)量等檢查。
活體檢測可以根據(jù)面部照片中的摩爾紋、成像畸形等來判斷檢測對象是否為活體,可有效防止屏幕二次翻拍等作弊行為。圖片質(zhì)量檢測會對圖像進(jìn)行分析,阻攔低質(zhì)量的面部照片進(jìn)入系統(tǒng)(比如照片中對五官遮擋程度過高的照片)。
無論哪種面部識別,識別的結(jié)果都會連同比對照片一并存入數(shù)據(jù)庫供日后排查以及試卷確認(rèn)。
為了簡化并規(guī)范對考點的管理,無感簽到模塊使用了人臉檢索的方式登錄??键c負(fù)責(zé)人只須面對攝像頭點擊登錄即可登錄系統(tǒng),登錄后的系統(tǒng)只能對對應(yīng)考點的學(xué)生進(jìn)行簽到,此項功能有效地防止了異地簽到的問題。
在學(xué)生面部掃描的過程中同步實現(xiàn)無感簽到功能,界面內(nèi)會分別顯示學(xué)生現(xiàn)場采集的照片、系統(tǒng)中預(yù)存的照片、本人信息,以及學(xué)生的所有考試信息。對于學(xué)院考務(wù)負(fù)責(zé)人、學(xué)習(xí)中心工作人員以及學(xué)生本人,其考試信息一目了然。
無感簽到是在查詢學(xué)生信息、考試信息以及人臉比對的時候自動完成的,對于學(xué)生無感知。簽到完成后學(xué)生考試信息中的簽到狀態(tài)會根據(jù)數(shù)據(jù)庫內(nèi)的狀態(tài)隨之改變,所以當(dāng)學(xué)習(xí)中心管理人員看到狀態(tài)轉(zhuǎn)變的時候,數(shù)據(jù)庫里已經(jīng)記錄下了簽到的所有數(shù)據(jù)。
圖3 交互時序圖
圖3為使用人臉比對進(jìn)行簽到的時序圖,1~7是現(xiàn)場采集學(xué)生照片并調(diào)取服務(wù)器中學(xué)生預(yù)存藍(lán)底照片,8~11是請求對應(yīng)學(xué)生的考試信息,12~13為客戶端發(fā)起人臉比對請求,在返回結(jié)果達(dá)到我們預(yù)設(shè)人臉檢測閾值的時候簽到信息記錄到數(shù)據(jù)庫內(nèi)并儲存對應(yīng)的簽到信息。
自2018年“網(wǎng)絡(luò)智能感知”系統(tǒng)得到應(yīng)用以來,機考3個批次共計掃描考生信息671 854人次,其中掃描合格數(shù)據(jù)600 352人次,疑似舞弊或無法掃描數(shù)據(jù)71 502人次,通過面部掃描成功進(jìn)行考試的學(xué)生占總考生人數(shù)的89.3%。值得注意的是,3次考試的掃描合格率逐漸攀升,說明系統(tǒng)的可靠性和穩(wěn)定性逐漸增強,同時,也證明考生逐漸意識到面部掃描的科學(xué)性和嚴(yán)肅性,有效地控制替考行為的發(fā)生。
“網(wǎng)絡(luò)智能感知”系統(tǒng)在秋季期末考試試點應(yīng)用中共掃描考生11 162人次,掃描并簽到通過9915人次,除去部分技術(shù)原因沒有通過面部掃描和智能簽到的學(xué)生外,有效地規(guī)避了替考現(xiàn)象,總成功率達(dá)到89%,如表1所示。
表1 網(wǎng)絡(luò)智能感知系統(tǒng)應(yīng)用效果
該院開發(fā)的“網(wǎng)絡(luò)智能感知”系統(tǒng)在初步使用中取得了良好效果,不僅提高了考生身份核實的速度和效能,同時也起到了震懾作用,使各種舞弊行為無可乘之機,進(jìn)一步確保了考試的嚴(yán)肅性和公正性。
該系統(tǒng)在實際使用中也遇到了很多問題,其中最主要的問題是操作人員對該系統(tǒng)的熟悉程度,以及面部識別本身對識別圖像質(zhì)量的要求。人臉圖像質(zhì)量對識別率的影響較大,而圖像質(zhì)量又受各種因素的影響[14],最后導(dǎo)致識別失敗。
案例一:學(xué)生沒有簽到信息—學(xué)生由于自己搞錯考試時間,在沒有考試安排的時間段內(nèi)進(jìn)行簽到。
解決辦法:負(fù)責(zé)監(jiān)考的教師熟悉操作界面,在學(xué)生可簽到課程中檢查該時段是否有可以簽到的課程,讓學(xué)生重新查看考試安排。
案例二:學(xué)生簽到未成功—原因是因為學(xué)生身份證信息讀取不成功,負(fù)責(zé)監(jiān)考的教師如果沒有意識到該學(xué)生身份證信息未讀取,屏幕上實時顯示的還是上一個學(xué)生已經(jīng)簽到完成的信息,容易造成混淆,以為該學(xué)生已經(jīng)簽到過。
解決辦法:確認(rèn)學(xué)生基本信息照片比對模塊中的照片為學(xué)生本人,學(xué)生信息中身份證信息與當(dāng)前身份證相符。
案例三:活體檢測不通過—活體檢測不通過是由于人臉圖像沒有通過人臉識別中的活體檢測,被判斷為照片或者視頻攻擊。
解決辦法:避免在強光下拍攝學(xué)生,畫面中盡量不出現(xiàn)高光的物體,學(xué)生背景最好為暗色,使用高質(zhì)量攝像頭,像素高于1200萬像素,攝像頭焦距不易過長。