秦燕樺
(廈門理工學(xué)院計(jì)算機(jī)與信息工程學(xué)院,福建廈門 361024)
教育考試制度是國(guó)家人才選拔的重要手段和方式,因而越來(lái)越多的人員加入學(xué)歷提升、職稱提升、職業(yè)資格等考試??荚囈?guī)模不斷增大給考試過(guò)程管理工作帶來(lái)新的挑戰(zhàn),如:夾帶小抄、信息化方式作弊、證件偽造、替考等作弊方式層出不窮,如何有效杜絕此類行為是考試管理質(zhì)量的重要指標(biāo)之一??忌矸蒡?yàn)證是標(biāo)準(zhǔn)化考試工作的基本要求和管理質(zhì)量重要指標(biāo)[1],傳統(tǒng)的驗(yàn)證技術(shù)依賴于人工進(jìn)行核查比對(duì),煩瑣費(fèi)時(shí)又受主觀因素影響,個(gè)人評(píng)價(jià)標(biāo)準(zhǔn)不一致、寬嚴(yán)條件個(gè)性化、證卡偽造等導(dǎo)致替考等違法事件層出不窮。針對(duì)這種狀況,引入生物特征識(shí)別:包括人臉識(shí)別[2]、指紋識(shí)別技術(shù)[3],建立統(tǒng)一標(biāo)準(zhǔn)的考生身份驗(yàn)證標(biāo)準(zhǔn),實(shí)現(xiàn)具有證件防偽、標(biāo)準(zhǔn)一致、省時(shí)又省力的考試驗(yàn)證方案,是對(duì)傳統(tǒng)管理和工作模式弊端的有效補(bǔ)充和支撐。
人體的生物特征具有唯一性和穩(wěn)定性[4],將生物特征識(shí)別用于考生身份驗(yàn)證過(guò)程,因其唯一性、用戶友好等特征,易于被考生接受[5]。因此系統(tǒng)設(shè)計(jì)以時(shí)間為節(jié)點(diǎn),分為三個(gè)階段實(shí)施。
1)考前階段:考前數(shù)據(jù)采集、存儲(chǔ)、編排。在傳統(tǒng)的采集過(guò)程中,并沒(méi)有任何技術(shù)手段來(lái)輔助考務(wù)工作人員來(lái)甄別和判斷現(xiàn)場(chǎng)采集的考生是否為報(bào)名考生本人,只能通過(guò)人工辨別的方式進(jìn)行粗略判斷,此時(shí),與報(bào)名考生長(zhǎng)相十分相似的考生便有可乘之機(jī),一旦讓其進(jìn)行指紋的采集,那么驗(yàn)證階段的任何技術(shù)手段都無(wú)法對(duì)其進(jìn)行有效的身份鑒別,因此,在采集過(guò)程中,系統(tǒng)如何輔助考務(wù)工作人員來(lái)甄別和判斷現(xiàn)場(chǎng)采集的考生是否為報(bào)名考生本人,在源頭上屏蔽“槍手”進(jìn)行采集,也是本系統(tǒng)的重中之重。本系統(tǒng)設(shè)計(jì)思路為引入“采集考生照片與二代身份證芯片照片比對(duì)”的先進(jìn)技術(shù)手段,通過(guò)目前二代身份證上存儲(chǔ)的生物特征與現(xiàn)場(chǎng)采集考生的面頰進(jìn)行比對(duì),切實(shí)達(dá)到“人證合一”的效果,從源頭上屏蔽替考考生,讓替考人員無(wú)所遁形。通過(guò)采集后的數(shù)據(jù)進(jìn)行考場(chǎng)分配,考試相關(guān)信息錄入等后續(xù)工作。
2)考試階段:入場(chǎng)驗(yàn)證與后臺(tái)驗(yàn)證相結(jié)合。系統(tǒng)采用人臉識(shí)別技術(shù)、二代身份證讀取技術(shù)、指紋識(shí)別對(duì)比技術(shù)、數(shù)據(jù)管理應(yīng)用技術(shù)進(jìn)行組合優(yōu)化,實(shí)現(xiàn)考生身份合法性驗(yàn)證的功能。通過(guò)使用終端系統(tǒng)上的二代身份證讀取功能,讀取報(bào)名考生的二代身份證里面芯片的信息,結(jié)合系統(tǒng)的面部識(shí)別技術(shù)模塊,自動(dòng)拍攝考生現(xiàn)場(chǎng)的臉部面相與提取的照片進(jìn)行對(duì)比,判斷持證考生是否為本人。設(shè)置異常處理機(jī)制,在考生面部識(shí)別不過(guò)關(guān)的情況下,采集考生的指紋信息方便日后取證。信息驗(yàn)證完成后將考生驗(yàn)證信息及入場(chǎng)數(shù)據(jù)實(shí)時(shí)上傳、集中存儲(chǔ)及呈現(xiàn)。
3)考后階段:考后管理,負(fù)責(zé)終端驗(yàn)證數(shù)據(jù)包的匯總導(dǎo)入;對(duì)異常處理機(jī)制人員進(jìn)行指紋、人臉雙重比對(duì)。指紋未通過(guò)的考生進(jìn)行人臉比對(duì);指紋和人臉比對(duì)都未通過(guò)的考生進(jìn)行存疑打印復(fù)核;對(duì)存疑復(fù)核通過(guò)的考生進(jìn)行人工審核;對(duì)各個(gè)考場(chǎng)的缺考進(jìn)行確認(rèn),標(biāo)記缺考狀態(tài)。
人臉識(shí)別技術(shù)采集含有人臉的圖像或視頻流,通過(guò)屬性定位、特征提取和特征比對(duì)三個(gè)階段的處理,判斷當(dāng)前所識(shí)別的人臉是否已存在于數(shù)據(jù)庫(kù)中,進(jìn)而實(shí)現(xiàn)身份識(shí)別或身份認(rèn)證。其中,屬性定位階段通常包括人臉檢測(cè)、關(guān)鍵點(diǎn)定位、灰度標(biāo)準(zhǔn)化、數(shù)據(jù)裁剪及增強(qiáng)四個(gè)部分,如圖1所示。
圖1 人臉識(shí)別算法的流程圖
2.1.1 人臉檢測(cè)和對(duì)齊算法
MTCNN(Multi-task Convolutional Neural Network)多任務(wù)卷積神經(jīng)網(wǎng)絡(luò),是一種基于深度學(xué)習(xí)的算法模型,該算法實(shí)現(xiàn)了人臉識(shí)別和人臉對(duì)齊兩個(gè)部分的功能[6]。
在使用MTCNN 之前,需要對(duì)原始圖像進(jìn)行預(yù)處理:通過(guò)構(gòu)建圖像金字塔對(duì)原始圖像進(jìn)行不同程度的縮放,即通過(guò)縮放系數(shù)factor,每次都將原始圖像縮小為原來(lái)的factor 倍,直到最小的圖片的長(zhǎng)度或?qū)挾刃∮?2則截止。對(duì)原始圖像進(jìn)行縮放目的是通過(guò)檢測(cè)不同大小的人臉,來(lái)實(shí)現(xiàn)多尺度目標(biāo)檢測(cè)。當(dāng)進(jìn)行原始圖像縮放之后,即可將所有圖像送入MTCNN 中進(jìn)行訓(xùn)練。MTCNN 算法從總體上可分為P-Net(Proposal Network) 、R-Net(Refine Network) 以及O-Net(Output Network)三層網(wǎng)絡(luò)結(jié)構(gòu)。
1)P-Net網(wǎng)絡(luò)的作用是給出圖像中一些候選框的建議位置。其本質(zhì)是全卷積網(wǎng)絡(luò),通過(guò)FCN(全卷積網(wǎng)絡(luò))對(duì)經(jīng)過(guò)預(yù)處理的不同尺度的輸入圖像進(jìn)行初步的特征提取,并生成多個(gè)候選框,利用這些候選框從原圖中截取出一塊塊候選區(qū)域。因?yàn)檫@些候選框會(huì)有一些重疊,所以需要通過(guò)非極大抑制挑選出每一個(gè)區(qū)域中分?jǐn)?shù)較大的候選框,把其他與之重合度較大的框進(jìn)行剔除,因?yàn)檫@些框沒(méi)有存在的意義,此時(shí)保留下來(lái)的是具有一定精度的框。
2)R-Net網(wǎng)絡(luò)的作用是將P-Net傳送過(guò)來(lái)的候選框,通過(guò)網(wǎng)絡(luò)進(jìn)行篩選,從而剔除大量的非人臉框和效果不佳的候選框。當(dāng)P-Net 輸出候選框后,先把候選框代表的圖像都截下來(lái),將其傳入R-Net,R-Net根據(jù)這些截下來(lái)的圖像計(jì)算它們的可信度來(lái)判斷是不是一張臉,然后對(duì)這個(gè)粗略的框進(jìn)行長(zhǎng)和寬的調(diào)整,調(diào)整完后會(huì)使得這個(gè)框更符合人臉的大小,之后再進(jìn)行非極大抑制,從而保留下來(lái)最優(yōu)秀的一些框。
3) O-Net 網(wǎng)絡(luò)的作用是使用更多監(jiān)督來(lái)檢測(cè)面部區(qū)域,并對(duì)人臉特征點(diǎn)進(jìn)行回歸,從而輸出五個(gè)人臉特征點(diǎn)。當(dāng)R-Net 的候選框傳入O-Net 時(shí),首先把候選框?qū)?yīng)的圖像區(qū)域截下來(lái),此時(shí)O-Net會(huì)識(shí)別該區(qū)域是否含有人臉,然后還會(huì)對(duì)該區(qū)域的長(zhǎng)和寬進(jìn)行調(diào)整,除此之外,還會(huì)識(shí)別出左眼、右眼、鼻尖、嘴巴左側(cè)、嘴巴右側(cè)這五個(gè)特征點(diǎn)。
對(duì)于MTCNN 模型,從P-Net 到R-Net 再到ONet,隨著網(wǎng)絡(luò)深度和卷積層通道數(shù)的增加,識(shí)別率也在不斷提高。但網(wǎng)絡(luò)的運(yùn)行速度正好成反比,即PNet的運(yùn)行速度最快,R-Net次之,O-Net最慢。因此,若直接使用O-Net來(lái)檢測(cè)圖像,則速度會(huì)非常慢。所以,需要使用三個(gè)網(wǎng)絡(luò),首先用P-Net 進(jìn)行初步的檢測(cè),獲取一些粗略框,然后將結(jié)果交給R-Net,由RNet 進(jìn)一步檢測(cè),篩除無(wú)用的候選框,再將結(jié)果交給O-Net,最后由速度最慢但效果最好的O-Net 進(jìn)行檢測(cè)。這種通過(guò)堆疊網(wǎng)絡(luò)的做法可以有效減少模型檢測(cè)所需的時(shí)間,大大提高了算法的運(yùn)行效率。
2.1.2 人臉識(shí)別算法
計(jì)算機(jī)想要完成一張圖片的人臉識(shí)別一般需要兩個(gè)步驟:人臉檢測(cè)和人臉識(shí)別。首先通過(guò)常用的人臉檢測(cè)算法進(jìn)行人臉檢測(cè),然后通過(guò)獲取到的人臉坐標(biāo)對(duì)原圖片進(jìn)行截取,獲得人臉圖像。這是一個(gè)局部的人臉圖像,它只包含人臉信息。最后通過(guò)人臉識(shí)別算法對(duì)這個(gè)局部的人臉圖像進(jìn)行識(shí)別從而獲得它的身份。
FaceNet 作為人臉識(shí)別算法,它在人臉識(shí)別的后半部分起作用。在對(duì)原圖進(jìn)行人臉圖像截取后,通過(guò)FaceNet 對(duì)其進(jìn)行特征提取,而FaceNet 則從輸入的圖像中抽取出128 個(gè)特征矢量作為特征向量[7]。與此同時(shí),還必須構(gòu)建一個(gè)包含所有需要被比對(duì)的人臉資料庫(kù),并使用相同的FaceNet 模型來(lái)提取長(zhǎng)度為128 的特征矢量。將當(dāng)前圖片提取出的長(zhǎng)度為128的特征向量和數(shù)據(jù)庫(kù)中的所有人臉特征進(jìn)行比對(duì),比對(duì)的方式就是計(jì)算當(dāng)前特征向量和所有保存好的特征向量的歐氏距離。最后,選擇人臉資料庫(kù)中與目前圖像距離最近、門限不超過(guò)某一特定值的圖像作為檢測(cè)結(jié)果。若人臉資料庫(kù)中有圖片符合上述兩項(xiàng)條件,則表明人臉資料庫(kù)有一張與目前照片最相近的面孔,即意味著符合條件。
FaceNet 的輸入是一張人臉圖片,輸出是這張人臉圖片所對(duì)應(yīng)的長(zhǎng)度為128的特征向量,該向量是輸入的臉部圖像的特征數(shù)據(jù)濃縮。FaceNet主要分割為三部分:第一部分為主干特征提取網(wǎng)絡(luò),通過(guò)對(duì)所采集到圖像進(jìn)行初始的特征提取,從而得到圖像的初步特征;第二部分為對(duì)利用獲取到的初步特征進(jìn)行處理,從而獲得長(zhǎng)度為128的特征向量;第三部分為對(duì)獲取到的長(zhǎng)度為128的特征向量進(jìn)行L2標(biāo)準(zhǔn)化。
指紋識(shí)別技術(shù)是國(guó)內(nèi)生物技術(shù)應(yīng)用時(shí)間最久、行業(yè)廣泛、最為成熟一項(xiàng)技術(shù)[8]。本系統(tǒng)采用了FPC1020 指紋模塊,該模塊具有高精度、高速度和高穩(wěn)定性等優(yōu)點(diǎn),可以滿足系統(tǒng)對(duì)指紋識(shí)別的需求。指紋識(shí)別的具體實(shí)現(xiàn)步驟如下:
1)采集指紋圖像:考生在注冊(cè)時(shí)需要將手指放置在指紋模塊上進(jìn)行指紋采集,指紋模塊會(huì)自動(dòng)采集指紋圖像,并將圖像傳輸至后端服務(wù)器。
2)圖像預(yù)處理:在后端服務(wù)器上,采用圖像處理算法對(duì)指紋圖像進(jìn)行預(yù)處理,包括圖像去噪、增強(qiáng)、特征提取等步驟。
3)特征匹配:通過(guò)比對(duì)考生的指紋特征和系統(tǒng)中存儲(chǔ)的指紋特征,判斷考生的身份是否合法。在本系統(tǒng)中,采用Fingerprint Verification Competition(FVC)2002數(shù)據(jù)集進(jìn)行指紋識(shí)別的訓(xùn)練和測(cè)試,可以達(dá)到較高的識(shí)別準(zhǔn)確率。
本系統(tǒng)的流程設(shè)計(jì)主要包括考生注冊(cè)、考生身份識(shí)別、考試內(nèi)容管理和作弊行為監(jiān)控等步驟,考試流程示例如圖2所示。
1)考生注冊(cè):考生注冊(cè)時(shí)需要輸入個(gè)人信息和指紋圖像,個(gè)人信息包括姓名、身份證號(hào)碼等基本信息,指紋圖像用于后續(xù)的考生身份識(shí)別。系統(tǒng)將采集到的信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,以便后續(xù)的考試管理。
2)考生身份識(shí)別:考生在參加考試前需要進(jìn)行身份識(shí)別,系統(tǒng)會(huì)自動(dòng)采集考生的指紋圖像,并將其與系統(tǒng)中存儲(chǔ)的指紋特征進(jìn)行匹配,判斷考生的身份是否合法。若匹配成功,則考生可以進(jìn)入考試環(huán)節(jié);若匹配失敗,則系統(tǒng)會(huì)提示考生重新進(jìn)行身份識(shí)別。
3)考試內(nèi)容管理:考試內(nèi)容包括試題的管理和考試時(shí)間的控制等。系統(tǒng)管理員可以通過(guò)系統(tǒng)管理界面上傳試題和設(shè)置考試時(shí)間等信息,考生在考試開(kāi)始前可以通過(guò)前端界面查看試題,并在規(guī)定時(shí)間內(nèi)完成考試。
4)作弊行為監(jiān)控:在考試過(guò)程中,系統(tǒng)會(huì)通過(guò)攝像頭對(duì)考生的行為進(jìn)行監(jiān)控,包括考生的面部表情、頭部姿勢(shì)、眼神等,以便及時(shí)發(fā)現(xiàn)作弊行為。同時(shí),系統(tǒng)也可以檢測(cè)考生是否使用外部設(shè)備,如手機(jī)、平板電腦等。若系統(tǒng)發(fā)現(xiàn)考生存在作弊行為,會(huì)及時(shí)向管理員發(fā)出警報(bào)并記錄作弊行為的相關(guān)信息。
5)成績(jī)管理:考試結(jié)束后,系統(tǒng)會(huì)自動(dòng)對(duì)考試結(jié)果進(jìn)行統(tǒng)計(jì)和分析,并生成成績(jī)單。系統(tǒng)管理員可以通過(guò)系統(tǒng)管理界面查看考生的成績(jī)和考試情況,同時(shí)可以對(duì)成績(jī)單進(jìn)行導(dǎo)出和打印。
圖2 考試流程示例圖
系統(tǒng)采用前后端分離式架構(gòu)設(shè)計(jì),前端負(fù)責(zé)用戶交互和展示數(shù)據(jù),后端負(fù)責(zé)處理業(yè)務(wù)邏輯和數(shù)據(jù)存儲(chǔ)。前端采用的框架是React 和Ant Design 組件進(jìn)行開(kāi)發(fā),后端采用Node.js和Express框架進(jìn)行開(kāi)發(fā),通過(guò)中間件和插件的使用,實(shí)現(xiàn)了身份認(rèn)證、異常處理、日志記錄等基本功能提高了系統(tǒng)的穩(wěn)定性和可維護(hù)性。數(shù)據(jù)庫(kù)采用MySQL 數(shù)據(jù)庫(kù),通過(guò)ORM 框架Sequelize對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和管理,能夠簡(jiǎn)化數(shù)據(jù)庫(kù)操作,提高代碼可讀性和可維護(hù)性。系統(tǒng)架構(gòu)圖如圖3所示。
圖3 系統(tǒng)架構(gòu)圖
1)采集系統(tǒng)功能:考生生物特征采集及存儲(chǔ)。采集面頰、二代身份證信息(根據(jù)實(shí)際情況定),將二代身份證讀取模塊中讀取出的身份證芯片內(nèi)部的照片與現(xiàn)場(chǎng)持證人的現(xiàn)場(chǎng)采集照片進(jìn)行持證人的真假識(shí)別,實(shí)現(xiàn)在采集的源頭上做持證人是不是報(bào)名考生本人的識(shí)別功能,確保源頭采集的人證合一。
2) 身份驗(yàn)證系統(tǒng)功能:支持驗(yàn)證數(shù)據(jù)導(dǎo)入與導(dǎo)出,通過(guò)與硬件模塊結(jié)合,實(shí)現(xiàn)入場(chǎng)驗(yàn)證與后臺(tái)驗(yàn)證相結(jié)合。系統(tǒng)采用人臉識(shí)別技術(shù)、二代身份證讀取技術(shù)、指紋識(shí)別對(duì)比技術(shù)、數(shù)據(jù)管理應(yīng)用技術(shù)進(jìn)行組合優(yōu)化,實(shí)現(xiàn)考生身份合法性驗(yàn)證的功能。通過(guò)使用終端系統(tǒng)上的二代證讀取功能,讀取報(bào)名考生的二代身份證里面芯片的信息,結(jié)合系統(tǒng)的面部識(shí)別技術(shù)模塊,自動(dòng)拍攝考生現(xiàn)場(chǎng)的臉部面相與提取的照片進(jìn)行對(duì)比,判斷持證考生是否為本人。設(shè)置異常處理機(jī)制,在考生面像識(shí)別不過(guò)關(guān)的情況下,采集考生的指紋信息方便日后取證。信息驗(yàn)證完成后將考生驗(yàn)證信息及入場(chǎng)數(shù)據(jù)實(shí)時(shí)上傳、集中存儲(chǔ)及呈現(xiàn)。
3)考前管理功能:基于編排數(shù)據(jù)的網(wǎng)絡(luò)或本地導(dǎo)入可進(jìn)行場(chǎng)次查詢和編排信息查詢;場(chǎng)次查詢查看從平臺(tái)獲取的場(chǎng)次信息是否正確;編排信息查詢可查看考生場(chǎng)次、考場(chǎng)號(hào)、身份證號(hào)碼、姓名、報(bào)名號(hào)等。
4)考后管理功能:考后管理模塊主要負(fù)責(zé)終端驗(yàn)證數(shù)據(jù)包的匯總導(dǎo)入;指紋未通過(guò)的考生進(jìn)行人臉比對(duì);指紋和人臉比對(duì)都未通過(guò)的考生進(jìn)行存疑打印復(fù)核;對(duì)存疑復(fù)核通過(guò)的考生進(jìn)行人工審核;對(duì)各個(gè)考場(chǎng)的缺考進(jìn)行確認(rèn),標(biāo)記缺考狀態(tài)。錄入違紀(jì)考生違紀(jì)信息。
本文基于生物特征識(shí)別技術(shù)設(shè)計(jì)了一套考務(wù)管理系統(tǒng),該系統(tǒng)具有高效、穩(wěn)定、安全和可擴(kuò)展等特點(diǎn),能夠滿足現(xiàn)代化考試管理的需求。本系統(tǒng)采用了指紋識(shí)別技術(shù)進(jìn)行身份識(shí)別,通過(guò)前后端分離的架構(gòu)模式實(shí)現(xiàn)了系統(tǒng)的可擴(kuò)展性和維護(hù)性。同時(shí),本系統(tǒng)還具備作弊行為監(jiān)控和成績(jī)管理等功能,能夠有效提高考試管理的質(zhì)量和效率。