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