王 祺,田 青,趙 歌,曲洪權(quán)
(北方工業(yè)大學(xué)電子信息工程學(xué)院,北京 100144)
隨著社會(huì)的不斷進(jìn)步和科技的迅速發(fā)展,快速有效的自動(dòng)身份驗(yàn)證和查詢系統(tǒng)的需求越來越大[1-5].但目前很多銀行、機(jī)場(chǎng)仍是通過工作人員的主觀判來確定某人是否人證相符,這種方法的效率和準(zhǔn)確率都不盡如人意.為此,筆者設(shè)計(jì)出一套人證比對(duì)系統(tǒng),有效利用二代身份證信息,能高效、準(zhǔn)確地完成人證比對(duì).
訓(xùn)練測(cè)試數(shù)據(jù)集采用CASIA-Webface[6].CASIA-Webface共有10 575人的圖像信息,每個(gè)人的圖片數(shù)量從幾十到幾百不等,圖像類別、數(shù)量之間嚴(yán)重不平衡,人臉位置分布不確定.因此在預(yù)處理過程中,首先定位圖片中的人臉位置坐標(biāo),并繪制相應(yīng)的矩形框,框出人臉;然后根據(jù)人臉位置獲取人臉關(guān)鍵點(diǎn)位置信息,如眼睛、鼻子和嘴等68個(gè)特征點(diǎn).采用dlib工具[7]完成人臉檢測(cè)及特征點(diǎn)提取,具有較高的準(zhǔn)確率.由于數(shù)據(jù)集中存在多姿態(tài)人臉圖像,因此在得到人臉關(guān)鍵點(diǎn)后,利用仿射變換[8]對(duì)人臉進(jìn)行校正對(duì)齊,將其調(diào)整為近似于正面人臉的圖像,有助于之后的訓(xùn)練.人臉預(yù)處理過程如圖1所示.
圖1 人臉預(yù)處理過程Fig. 1 Face Image Preprocessing
卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)主要包括卷積層、池化層、全連接層和輸出層[9].卷積層通常包含若干個(gè)特征平面,每個(gè)特征平面由一些矩形排列的神經(jīng)元組成,同一特征平面的神經(jīng)元共享權(quán)值(卷積核).卷積核一般以隨機(jī)小數(shù)矩陣的形式初始化,在網(wǎng)絡(luò)的訓(xùn)練過程中卷積核將學(xué)習(xí)得到合理的權(quán)值,其優(yōu)點(diǎn)是減少網(wǎng)絡(luò)各層之間的連接,同時(shí)降低過擬合的風(fēng)險(xiǎn).卷積層的工作是將卷積核(特征矩陣)和輸入值(前一層的特征平面)按照順序依次求積,再對(duì)結(jié)果進(jìn)行加權(quán)求和,然后加上一個(gè)偏置項(xiàng),通過非線性函數(shù)(激活函數(shù))得到最后的輸出結(jié)果.卷積層的輸出結(jié)果為xl=f(ωlxl-1+bl).其中:l為層數(shù);ω為權(quán)值;b為偏置項(xiàng);f為激活函數(shù),常見的是sigmoid函數(shù).
池化層的主要目的是降維,具體操作是對(duì)不同位置的特征進(jìn)行聚合統(tǒng)計(jì),計(jì)算圖像在一個(gè)區(qū)域上的某個(gè)特定特征的平均值 (或最大值).經(jīng)過池化層的采樣后,輸出特征圖的數(shù)量不變,尺寸變小,減小了計(jì)算復(fù)雜度.
全連接層的主要目的是將輸出層的神經(jīng)元與輸入層的每個(gè)神經(jīng)元都連接起來,神經(jīng)元數(shù)目通常與分類個(gè)數(shù)有關(guān).
本研究采用的網(wǎng)絡(luò)結(jié)構(gòu)包括5個(gè)單元模塊和1個(gè)全連接層(圖2),其中每個(gè)單元模塊由2~3個(gè)卷積層和池化層組成.以一張RGB圖像作為網(wǎng)絡(luò)輸入,經(jīng)過5個(gè)單元模塊的特征提取、非線性映射和特征降維后,再通過全連接層篩選特征,進(jìn)一步降低特征維度,最終由SoftMax分類器輸出,實(shí)現(xiàn)人臉的判別.
圖2 網(wǎng)絡(luò)結(jié)構(gòu)Fig. 2 Network Structure
每層輸出特征圖大小的計(jì)算公式為
其中:w為輸入圖像寬度;h為輸入圖像長(zhǎng)度;w′為輸出特征圖寬度;h′為輸出特征圖長(zhǎng)度;p為填充像素?cái)?shù);s為步長(zhǎng).以第1個(gè)單元模塊為例.卷積層的配置為:卷積核大小(kernel_size)3×3;卷積核個(gè)數(shù)(num_output)64;卷積核步長(zhǎng)(stride)默認(rèn)1;pad像素1.網(wǎng)絡(luò)輸入224×224(width×height)的圖像,經(jīng)過2個(gè)卷積層后,每個(gè)特征圖的大小為((224-3+2)/1+1)×((224-3+2)/1+1)=224×224.池化層的配置為:池化核大小(kernel_size)2×2;池化核步長(zhǎng)(stride) 默認(rèn)2;pad像素0.經(jīng)過池化層后,每個(gè)特征圖大小為((224-2)/2+1)×((224-2)/2+1)=112×112.因?yàn)橛?4個(gè)核,所以經(jīng)過第1個(gè)單元模塊后輸出特征圖大小為112×112×64.同理,經(jīng)過第2個(gè)單元模塊后輸出特征圖大小為56×56×128;經(jīng)過第3個(gè)單元模塊后輸出特征圖大小為28×28×256;經(jīng)過第4個(gè)單元模塊后輸出特征圖大小為14×14×512;經(jīng)過第5個(gè)單元模塊后輸出大小為1×1×512.由于本研究對(duì)10 575個(gè)人的不同人像信息進(jìn)行訓(xùn)練,因此對(duì)應(yīng)輸出10 575類,全連接層設(shè)置為10 575個(gè)神經(jīng)元.
首先,刷卡獲取身份證信息的同時(shí)讀取實(shí)時(shí)視頻,截取視頻當(dāng)前幀,利用dlib[8]人臉檢測(cè)算法提取視頻幀中的人臉位置信息,并對(duì)其進(jìn)行歸一化處理;然后,將處理好的視頻幀和身份證圖片輸入訓(xùn)練好的模型中,分別提取2張圖片的特征信息,對(duì)比并判斷是否為同一人;最后,將身份證信息輸入數(shù)據(jù)庫中,對(duì)比并判斷是否為黑名單人員.基于人臉識(shí)別技術(shù)的人證比對(duì)系統(tǒng)設(shè)計(jì)流程如圖3所示.
圖3 基于人臉識(shí)別技術(shù)的人證比對(duì)系統(tǒng)設(shè)計(jì)流程Fig. 3 Face Verification System Design Flow Base on Facial Recognition Technology
信息采集模塊由身份證信息采集和視頻圖片采集組成.身份證信息采集是將身份證讀卡器與PC機(jī)通過USB接口相連,獲取身份證信息,包含姓名、身份證號(hào)碼和照片等;視頻圖片采集是將高分辨率的攝像機(jī)與服務(wù)器通過網(wǎng)口相連,獲取人臉圖像.由于人臉圖像的質(zhì)量與人證比對(duì)系統(tǒng)的準(zhǔn)確率有直接聯(lián)系,因此安裝攝像機(jī)時(shí)應(yīng)盡量保持正面視角,人與攝像頭的距離不要過近,以免出現(xiàn)失真,人臉兩眼間距不小于40像素.
實(shí)現(xiàn)場(chǎng)景為1∶1的人臉驗(yàn)證,但是由于系統(tǒng)部署的環(huán)境復(fù)雜,視頻中可能出現(xiàn)人臉數(shù)量較多的情況,導(dǎo)致識(shí)別比對(duì)速度過慢,因此先預(yù)估當(dāng)前幀所在區(qū)域,縮小檢測(cè)范圍,確定感興趣區(qū)域,當(dāng)人臉出現(xiàn)在規(guī)定區(qū)域內(nèi)再進(jìn)行檢測(cè)識(shí)別.
在人臉檢測(cè)階段,首先檢測(cè)視頻幀上的所有人臉圖像,并按圖像大小進(jìn)行排序,篩選出排名前3的人臉圖像;然后將3張圖像依次輸入網(wǎng)絡(luò)中,根據(jù)網(wǎng)絡(luò)參數(shù)轉(zhuǎn)換為對(duì)應(yīng)的特征向量;最后對(duì)比身份證照片與當(dāng)前幀圖像中的3個(gè)特征向量,計(jì)算比分,取比分最高的與算法閾值進(jìn)行比較,若高于閾值則判斷為同一人,否則判斷為不同人.
數(shù)據(jù)庫比對(duì)模塊是將身份證讀卡器傳來的持卡人員信息(包括姓名、身份證號(hào)碼、出生年月和地址等)傳至數(shù)據(jù)庫比對(duì)函數(shù),對(duì)比身份證信息與oracle數(shù)據(jù)庫中的人員信息.數(shù)據(jù)庫比對(duì)流程如圖4所示.
圖4 數(shù)據(jù)庫對(duì)比流程Fig. 4 Database Comparison Process
在系統(tǒng)部署中,攝像機(jī)安裝位置面對(duì)大門,攝像產(chǎn)生逆光,導(dǎo)致人臉圖像偏暗,光線強(qiáng)烈的時(shí)候,圖像難以分辨,因此必須通過光線補(bǔ)償來解決光照問題.光線補(bǔ)償通常有2種解決方案:(1)在人臉正前方安裝補(bǔ)光燈,這一方案可解決逆光問題,但是會(huì)對(duì)持卡人員產(chǎn)生視覺影響并且可能導(dǎo)致圖片過亮過白;(2)在天花板上安裝補(bǔ)光燈,這一方案對(duì)持卡人員干擾較小,但是可能會(huì)因?yàn)楣饩€分布不均而出現(xiàn)陰陽臉影響圖像效果.筆者綜合這2種方案的優(yōu)點(diǎn),在攝像機(jī)上方和側(cè)面較高且稍遠(yuǎn)離人臉的位置架設(shè)補(bǔ)光燈,這就保證了光線均勻,很好地解決光照問題.
系統(tǒng)測(cè)試包括硬件環(huán)境和軟件系統(tǒng)的穩(wěn)定性測(cè)試,其中人臉比對(duì)的準(zhǔn)確率和識(shí)別速度是測(cè)試的重點(diǎn).系統(tǒng)界面如圖5所示,實(shí)驗(yàn)條件和性能參數(shù)列于表1.
圖5 系統(tǒng)界面展示Fig. 5 System Interface Display
實(shí)驗(yàn)條件 性能參數(shù)計(jì)算機(jī)硬件CPU:Intel(R) Core(TM) i7-4712MQ CPU @2.30 GHz計(jì)算機(jī)操作系統(tǒng)Windows 8 64位操作系統(tǒng)攝像頭型號(hào)??礑S-2CD3T45-I8網(wǎng)絡(luò)攝像頭,采集幀率為20 fps 二代身份證閱讀器型號(hào)新中新身份證閱讀器,讀卡時(shí)間小于1.0 s
實(shí)驗(yàn)共準(zhǔn)備了正、負(fù)樣本各400對(duì)進(jìn)行測(cè)試.以自建數(shù)據(jù)集下正負(fù)樣本每組圖片的相似度得分和對(duì)應(yīng)標(biāo)簽為輸入數(shù)據(jù),以相似度得分為閾值依次排序,將測(cè)試樣本當(dāng)作正樣本逐個(gè)進(jìn)行預(yù)測(cè),可分別計(jì)算出TPR和FPR的概率值.部分閾值與TDR和FRR的概率值的關(guān)系如表2所示.
表2 TPR和FPR的概率值與閾值的關(guān)系
由表2可知,坐標(biāo)為(0.045,0.955)的點(diǎn)最接近(0,1),此時(shí)閾值為0.379,正確識(shí)別率為95.5%.在實(shí)際人證比對(duì)場(chǎng)景中,為了盡可能地降低錯(cuò)誤識(shí)別率,閾值設(shè)置為0.4,而正確識(shí)別率可以通過對(duì)人臉姿勢(shì)的調(diào)整來提升.系統(tǒng)模擬現(xiàn)場(chǎng)測(cè)試1 562人,通過率96%,從接收到身份證讀卡器信息到完成比對(duì),平均耗時(shí)約0.83 s,CPU及內(nèi)存占比穩(wěn)定,滿足現(xiàn)場(chǎng)比對(duì)需求.
設(shè)計(jì)了一套采用卷積神經(jīng)網(wǎng)絡(luò)方法進(jìn)行人臉識(shí)別的人證比對(duì)系統(tǒng).利用獲取到的二代身份證信息完成人證比對(duì)和數(shù)據(jù)庫比對(duì)雙重驗(yàn)證,避免了證件被他人借用或冒用的風(fēng)險(xiǎn).在實(shí)際測(cè)試環(huán)境中,人臉比對(duì)通過率達(dá)到96%,且滿足實(shí)時(shí)性要求.由于本研究在人臉預(yù)處理時(shí)采用傳統(tǒng)人臉檢測(cè)及對(duì)齊算法,因此人臉對(duì)齊精度偏低,下一步的研究將對(duì)此作改進(jìn),為人臉識(shí)別提供更好的數(shù)據(jù)預(yù)處理,從而提升人臉識(shí)別模型的準(zhǔn)確率.
吉首大學(xué)學(xué)報(bào)(自然科學(xué)版)2018年4期