文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.013
中文引用格式: 徐智勇,唐根偉,姜新泉,等. 硬件友好型合成指紋鑒別算法的研究[J].電子技術應用,2016,42(10):54-57.
英文引用格式: Xu Zhiyong,Tang Genwei,Jiang Xinquan,et al. Research of a hardware-friendly synthetic fingerprint discrimination algorithm[J].Application of Electronic Technique,2016,42(10):54-57.
0 引言
近年來,隨著生物識別技術的發(fā)展,自動指紋識別系統(tǒng)(AFIS)被越來越廣泛地應用于身份識別領域[1]。然而一些企圖不良的人開始攻擊自動指紋識別系統(tǒng)的漏洞,利用偽造指紋替代真實指紋,從而侵入與指紋信息相關的各應用系統(tǒng),給個人隱私與安全帶來了巨大的威脅。
常見的偽造指紋主要有3種:改造指紋、非活性指紋和合成指紋,如圖1所示。針對前兩種偽造指紋的鑒別,眾多科研機構及學者都已做了非常深入的研究,成果豐富。例如,DERAKHSHANI R[2]通過檢測指紋汗?jié)n圖來鑒別非活性指紋,ANTONELLI A[3]通過對比非活性指紋和真實指紋的扭曲度來完成鑒別。
合成指紋則不同于以上兩種偽造指紋,它是通過合成算法在計算機上生成世上完全不存在的指紋圖像。目前,關于合成指紋的工作主要集中在合成方法的研究,以及使用合成指紋圖像作為指紋匹配數(shù)據(jù)庫。如CAPPELLI R[4]在2000年提出了五步合成法,隨后又提出添加干、濕和噪聲的方法來使得指紋圖像更加逼真,這種算法已經(jīng)被用在2004年的國際指紋識別競賽中(FVC2004)。此外,胡瑾和田捷[5]從方向場、密度圖和脊線紋理3個方面來優(yōu)化指紋圖像,這種算法生成的指紋圖像已被用在中國生物特征識別競賽中(BVC)。由于合成指紋和真實指紋十分相似,也可作為欺騙性指紋來攻擊AFIS,從而帶來巨大的安全隱患。但遺憾的是,目前還少有對合成指紋展開鑒別的研究,更未見相關的硬件系統(tǒng)實現(xiàn)的報道。
針對缺少合成指紋鑒別研究的現(xiàn)狀,本文提出了一種硬件友好型算法。通過對真實和合成指紋圖像的灰度均值、方差因子以及Harris角點數(shù)目因子的提取構建特征向量,成功鑒別出合成指紋。以硬件友好的思路進行算法構架,充分發(fā)揮電路執(zhí)行速度快的優(yōu)勢。經(jīng)Qsys平臺上的驗證,可在18 ms內(nèi)完成對一幅指紋圖像的鑒別,相比傳統(tǒng)軟件方式極大縮短了鑒別時間,鑒別準確率可達97%以上。
1 合成指紋鑒別算法
選取指紋圖像的灰度均值、方差因子以及Harris角點數(shù)目因子來構建特征向量,利用基于支持向量機(SVM)的智能計算模型可以很好地鑒別真實指紋和合成指紋,設計流程如圖2所示。真實指紋來自FVC2004 DB2,合成指紋從FVC2004 DB4和BVC中隨機選取。
1.1 灰度均值和方差因子
合成指紋的背景來源于Karhunen-Loeve變換的統(tǒng)計模型[6],與真實指紋圖像的背景存在一定差異。因此,可以考慮選擇指紋圖像灰度的均值Qgrayavg和方差Qgrayvar作為特征因子進行辨別:
式中,f(i,j)表示指紋圖像點(i,j)的灰度值,H和L分別表示指紋圖像的長和寬。隨機選取30幅真實指紋和合成指紋進行灰度均值和方差的對比,結果如圖3所示。
可以看出,真實指紋圖像的灰度均值明顯大于合成指紋。在方差方面,真實指紋的灰度方差大于DB4指紋,但是明顯小于BVC指紋。因此可以把指紋圖像灰度均值和方差作為特征因子。
1.2 Harris角點數(shù)目因子
Harris算子對紋理信息豐富的圖像(例如指紋圖像)可以提取出大量的特征點[7]。由于真實指紋圖像比較平滑,而合成指紋是人為的添加白色氣孔作為噪聲,容易產(chǎn)生更多的角點。因此,推測Harris角點數(shù)目可以作為區(qū)分真實指紋和合成指紋的一個因子。將指紋圖像分割成W×W(W=8)的小塊,按如下公式計算角點量R:
式中,Gx(i,j)和Gy(i,j)分別代表(i,j)的水平梯度值和垂直梯度值。Ix′、Iy′和Ix′y′是對Ix、Iy和Ixy進行高斯平滑濾波得出,目的是降低噪聲干擾。如果計算所得的R滿足以下條件:R是鄰域內(nèi)局部極大值及R大于設定的閾值,則認為該點是Harris角點。真實指紋和合成指紋Harris角點的對比結果如圖4所示??梢钥闯龊铣芍讣y的Harris角點數(shù)目明顯多于真實指紋,與推測吻合,因此可以把它當作特征因子。
1.3 支持向量機學習鑒別
支持向量機(SVM)是AT&T Bell實驗室的V.Vapnik等人提出的一種針對分類和回歸問題的新型機器學習方法,具體鑒別流程如圖5所示。常用的支持向量機核函數(shù)有線性核、多項式核、徑向基核和Sigmoid核??紤]到硬件友好性,本文采用多項式核函數(shù)。
2 硬件友好型設計
2.1 系統(tǒng)框架與設計流程
根據(jù)合成指紋鑒別算法,將每個特征因子提取算法變換成硬件模塊,構建完整的硬件系統(tǒng)。硬件驗證平臺選擇Altera的Qsys,系統(tǒng)框架如圖6所示。
整個硬件系統(tǒng)設計流程為:首先在計算機的DSP Builder平臺完成硬件系統(tǒng)電路的設計、訓練、仿真和綜合,生成VHDL代碼和TCL腳本,利用開發(fā)工具Quartus II在Qsys平臺完成算法的驗證,最后通過USB-Blaster下載到FPGA開發(fā)板。
2.2 灰度均值和方差計算模塊
指紋圖像灰度均值和方差的計算采用建立灰度直方圖的方法。使用一個雙口RAM,直方圖橫坐標表示RAM地址,即指紋圖像灰度值0~255,縱坐標表示RAM存儲的數(shù)據(jù),即該灰度值下像素點的個數(shù)。直方圖建立完成后計算指紋圖像均值與方差,如圖7所示。其中:PN表示圖像中像素點的總數(shù),g表示直方圖的橫坐標值,N表示對應橫坐標下的縱坐標值。gmin=0,gmax=255,當g達到gmax時,求和并利用除法器計算指紋圖像均值和方差。
2.3 Harris角數(shù)目計算模塊
Harris角點計算時需要使用Prewitt算子分別計算水平方向和垂直方向的梯度值。以水平方向為例來說明,水平方向的Prewittx算子如式(5):
現(xiàn)使用Prewitt算子對每一像素點做卷積運算,這里將算子變成3×3的窗口,將某一點的卷積變成窗口中系數(shù)與該點鄰域內(nèi)像素點乘積的和,用流水線的方式來實現(xiàn)窗口的平移。
可以推算出,水平方向和垂直方向共需要18個乘法器模塊,即18個dsp-9bit。同時高斯濾波模塊需要4個雙精度乘法器,而一個雙精度乘法模塊就需要18個dsp-9bit、345個lut和519個reg。此方式邏輯資源占用很大,且乘法器的較多運用將會導致運算效率的低下。為硬件友好性的考慮,根據(jù)Prewitt算子將梯度計算優(yōu)化,如圖8所示。
此方式中,在梯度計算模塊中只使用了簡單的邏輯運算和加法運算,節(jié)約了大量的硬件資源,并且提高了系統(tǒng)的運行效率。
2.4 SVM判別公式模塊
本文中使用的支持向量機是臺灣大學林智仁提出的LibSVM。在軟件平臺將特征因子進行訓練后得到一個訓練模型,利用其中的參數(shù)來實現(xiàn)SVM判別公式硬件化:
式中,xi表示待判別的樣本,yi為對應樣本的標簽,x表示支持向量,ai表示拉格朗日系數(shù),b是偏置。經(jīng)Avalon總線提供到硬件模塊中,根據(jù)f(xi)的正負來判斷指紋樣本是真實指紋還是合成指紋。
3 驗證和評價
搭建完成的硬件系統(tǒng)下載到DE2-35開發(fā)板,其資源占用情況如表1所示。
可以看出,本文提出的算法對硬件資源的占用較小,在常見的FPGA芯片上可以正常運行。
此外,對本算法的鑒別性能進行驗證。采用如下的指紋數(shù)據(jù)庫進行預測:600幅FVC2004 DB2的真實指紋圖像、300幅FVC2004 DB和300幅BVC的合成指紋圖像。從軟件和硬件分別對比本鑒別算法的性能,結果如表2所示。
可以看出,在鑒別準確率上硬件算法要略低于軟件算法,這是由于硬件模塊對浮點數(shù)的計算存在“四舍五入”的近似,所以提取的特征因子數(shù)值有偏差,但97.5%的準確率在使用中仍然是可接受的;在鑒別時間上,硬件鑒別要明顯快于軟件鑒別,符合實際使用中的實時性要求。考慮指紋圖像的預處理時間,即特征因子提取時間,本系統(tǒng)在50 MHz的時鐘頻率下僅需18 ms就可以完成鑒別過程。
4 結論
本文提出了一種硬件友好型的合成指紋鑒別算法。通過對算法各模塊的硬件友好型設計,極大減少了硬件電路的資源占用,提升了算法的處理能力。實驗結果表明,本算法在具備較短鑒別時間的同時有著97%以上的鑒別準確率,非常適合于嵌入式實時處理。本工作彌補了目前AFIS在合成指紋鑒別方面的缺陷,提高了指紋生物識別的可靠性。
參考文獻
[1] 肖芳,羅軍,王安文,等.一種新型SoPc自動指紋識別系統(tǒng)設計[J].電子技術應用,2010,36(8):14-16.
[2] DERAKHSHANI R,SCHUCKERS SAC,Hornak LA,et al.Determination of vitality from a non-invasive biomedical measurement for use in fingerprint scanners[J].Pattern Recognition,2003,36(2):383-396.
[3] ANTONELLI A,CAPPELLI R,MAIO D,et al.Fake finger detection by skin distortion analysis[J].Information Forensics and Security,IEEE Transactions on,2006,1(3):360-373.
[4] CAPPELLI R,MAIO D,MALTONI D.Synthetic fingerprint-database generation[C].Pattern Recognition,2002.Proceedings 16th International Conference on.IEEE,2002:744-747.
[5] 胡瑾,田捷,陳新建,等.一種指紋合成的方法及其實現(xiàn)[J].軟件學報,2007,18(3):517-526.
[6] 徐之海,馮華君,李奇,等.基于Karhunen—Loeve變換的人臉識別研究[J].光學工程,2001,28(6):48-51.
[7] HARRIS C,STEPHENS M.A combined corner and edge detector[C].Alvey Vision Conference,1988,15:50.