引言
在信息安全領(lǐng)域,,身份識別的需求越來越突出,,生物特征作為身份識別依據(jù)越來越受到重視。聲音,、指紋,、人臉、虹膜等生物特征已經(jīng)逐漸應(yīng)用于銀行,、國家保密機關(guān),、網(wǎng)上交易等領(lǐng)域。靜脈識別是近年來新興的一種生物識別方法,,是一種具有獨特優(yōu)勢的非接觸式的識別技術(shù),,具有廣泛的市場前景。
人體靜脈識別具有如下的優(yōu)點:
?、焙軓姷钠毡樾院臀ㄒ恍訹1];⒉血管位于體表內(nèi)部,采用非接觸性的認證方式,,不會使人產(chǎn)生抵觸情緒,,采集過程十分友好;⒊很好的穩(wěn)定性,不易收污染和輕傷等情況影響;⒋由于是身體內(nèi)部的血管特征,,很難偽造;⒌由于靜脈的穩(wěn)定性和捕捉影像的清晰性,,設(shè)備成本低。
因此靜脈識別在身份鑒別領(lǐng)域中越來越受青睞。在部分國家,,靜脈識別技術(shù)已經(jīng)進入了實用領(lǐng)域,。在我國,雖然靜脈識別技術(shù)的研究已經(jīng)起步,,但市場上幾乎沒有擁有自主知識產(chǎn)權(quán)的實用產(chǎn)品,,靜脈識別技術(shù)必將是以后身份鑒別技術(shù)的熱點,擁有更廣闊的市場和發(fā)展空間,。手部的靜脈識別主要有:指靜脈,,手掌靜脈和手背靜脈,由于指靜脈信息量過少,,手掌靜脈采集難度大,,易受掌紋影響,故選擇合適的手背靜脈作為識別生物特征對象,,進而來開發(fā)系統(tǒng),。
本套手背靜脈身份驗證系統(tǒng)(VAS)作品,較好解決了圖像采集,、圖像處理,、特征提取與匹配等方面的難題,并在基于NetFPGA的嵌入式開發(fā)板上,,實現(xiàn)了靈活友好的人機交互界面,。創(chuàng)新點在于:安全、魯棒的認證方式;算法硬件化,,流水線工作方式;軟硬件并行協(xié)同設(shè)計;系統(tǒng)多功能,,具有擴展性。
系統(tǒng)方案
實現(xiàn)原理
手背靜脈身份認證系統(tǒng)的基本原理是根據(jù)血液中的血紅素有吸收近紅外線光的特質(zhì),,使用專用的裝置采集手背靜脈圖樣,。然后通過濾波、圖像二值化,、細化等手段處理,,即可提取到數(shù)字圖像特征。在認證匹配時,,實時采集手背靜脈圖,,先進行圖像預(yù)處理,提取特征值,,同存儲注冊的靜脈特征值比對,,采用優(yōu)化的匹配算法對靜脈特征進行匹配,從而對個人進行身份認證,。系統(tǒng)采用非接觸式采集,,具有采集友好、難以偽造、穩(wěn)定性高等優(yōu)勢,。
系統(tǒng)硬件結(jié)構(gòu)
嵌入式系統(tǒng)模塊
本系統(tǒng)放棄了NetFPGA系統(tǒng)的傳統(tǒng)配置方案,,采用以Virtex II Pro上集成的硬核控制器PowerPC為核心,在Virtex II Pro上配置和開發(fā)了相應(yīng)的IP核來控制相應(yīng)的硬件,,主要IP核包括UART,、SPI、IIC串行通信IP核,,MPMC存儲控制器IP核,,VGA顯示IP核,視頻輸入采集IP核等,。主控制硬核PowerPC與各功能IP核之間采用PLB46總線相連,。同時利用Spartan II實現(xiàn)了相應(yīng)的I/O口擴展。改造后的NetFPGA系統(tǒng)的結(jié)構(gòu)圖如圖2所示,。
算法的硬件實現(xiàn)
系統(tǒng)圖像處理需要大量的緩存,,同時需要頻繁的訪問和操作數(shù)據(jù)。通常的嵌入式系統(tǒng)存儲單元不是很多,,較低的系統(tǒng)工作頻率也制約了圖像處理的速度,。對FPGA來說,若只用它的硬核PowerPC做軟件開發(fā)效果肯定不佳,,故通過將算法硬件化來達到所需要的系統(tǒng)性能,。
1. 流水線處理
流水線處理是高速設(shè)計中的一個常用手段。如果某個設(shè)計的處理流程分為若干步驟且數(shù)據(jù)處理都是單流向的,,前一個步的輸出作為下一個步的輸入;那么就可以采用流水線設(shè)計方法提高系統(tǒng)的工作效率,。對于我們的圖像處理算法來說,存在很多同一條指令連續(xù)處理很長一段數(shù)據(jù)的情況,,此時提高吞吐率就顯得非常有意義,。另外,主處理芯片Virtex-II Pro的邏輯門資源相對富裕,,對流水線的實現(xiàn)規(guī)模約束很小,。圖像的預(yù)處理不存在迭代式的反饋回路,使得單元結(jié)構(gòu)更加規(guī)則,,也非常適合通過Virtex-II Pro實現(xiàn)[2],。
圖像預(yù)處理過程分為濾波、閾值分割,、開操作,、閉操作這四個步驟。開始處理時,,預(yù)處理流水線每個時鐘周期讀入一個像素數(shù)據(jù),流水線填滿后,每個時鐘周期內(nèi),,預(yù)處理流水線再輸出一個處理完的像素數(shù)據(jù),,各個模塊間連接,無需緩存,。其中開操作由一次腐蝕和一次膨脹構(gòu)成,,閉操作由一次腐蝕和一次膨脹實現(xiàn)。圖3以膨脹運算為例說明了流水線處理過程,。
以圖像膨脹流水線模塊為例說明:像素數(shù)據(jù)流進入模塊后,,先進入三行緩沖器,每行緩沖器輸出接到一個三像素緩沖器,,相當(dāng)于把圖像信息送入了鄰域,。這樣就可以在每一個時鐘周期都進行一次或操作,得到一個像素點的新數(shù)據(jù),,完成了膨脹算法,。其他模塊與之類似,在此不再贅述[3-4],。
2. 軟硬協(xié)同處理[5]
圖像匹配是一項運算量大且耗時的工作,。采用軟硬協(xié)同處理的設(shè)計策略,利用硬件模塊完成大部分運算,,軟件負責(zé)控制和調(diào)度,,系統(tǒng)效率大為提升。匹配算法需要進行多次迭代運算(主要針對于平移和旋轉(zhuǎn)),,不適合流水線處理,。匹配過程中需要讀取返回值進行控制(如控制模板平移的位置,對每次匹配的結(jié)果做比較等),,由PowerPC軟件程序完成,。在硬件系統(tǒng)中,BRAM資源非常有限,,不可能同時用很大的內(nèi)存空間做點集匹配,。我們采用BRAM的空間并行化方法。通過改變BRAM的地址來讀取的圖像信息就可達到平移圖像的目的,。匹配算法的軟硬協(xié)同實現(xiàn)框架如圖4所示:
系統(tǒng)測試方案及測試結(jié)果
匹配認證結(jié)果測試
測試方法:對該系統(tǒng)做多樣本的綜合輸入測試,,計算拒識率、誤識率,,建立樣本庫為50的數(shù)據(jù)庫,,反復(fù)測試并記錄結(jié)果。
錯誤輸入1:使用沒有注冊的手,,用正確的方式(位移+3mm,,角度+5度,,上下+10度以內(nèi))如表1。
錯誤輸入2:使用已經(jīng)注冊的手,,用錯誤的方式(平移,,旋轉(zhuǎn)隨機)如表2。
正確輸入:使用已經(jīng)注冊的手,,用正確的方式(位移+3mm,,角度+5度,上下+10度以內(nèi))如表3,。
出現(xiàn)拒識現(xiàn)象,,主要是因為輸入物體的錯誤或是系統(tǒng)使用時,忽視固定裝置,,隨意擺放造成的,。因此,當(dāng)正確擺放手時,,系統(tǒng)有極高的匹配率,。
系統(tǒng)優(yōu)化性能測試
程序中可優(yōu)化的算法模塊包括:高斯濾波,局部閾值二值化,,形態(tài)學(xué)操作,,細化去刺,特征匹配5個部分,。本次測試分別把這些算法運行環(huán)境設(shè)為:PC機(Linux下的C)和 FPGA上的軟硬件協(xié)同,。
在程序中添加計數(shù)器函數(shù)對程序運行時間進行精確計數(shù),對比結(jié)果如表4,。由表4分析可得,,在時鐘頻率為125MHz的FPGA上實現(xiàn)的性能幾乎等同于2.0GHz的PC機,而效率為PC機的16倍,,并有進一步優(yōu)化的潛力,。
小結(jié)
通過對NetFPGA平臺的改造和擴展,增加了多路模擬視頻輸入,、VGA視頻輸出,、基于SPI總線的SD卡擴展、RS232串行總線等外部I/O接口,,將NetFPGA應(yīng)用于視頻處理和嵌入式開發(fā),,實現(xiàn)了手背靜脈身份認證。