張連舉 ,莊圣賢 ,廖鵬飛
(1.西南交通大學(xué) 信息與科學(xué)技術(shù)學(xué)院,四川 成都 610031;2.電子科技大學(xué) 微電子與固體電子學(xué)院,四川 成都 610031)
指紋識(shí)別技術(shù)是當(dāng)今最流行、最方便、最可靠的個(gè)人身份認(rèn)證技術(shù)之一。指紋增強(qiáng)是指紋預(yù)處理過(guò)程中的核心算法,其目的有:消除圖像中的噪聲,增加指紋圖像中的脊線與谷線的對(duì)比度,對(duì)指紋斷點(diǎn)進(jìn)行修復(fù),對(duì)可修復(fù)模糊區(qū)域進(jìn)行恢復(fù),提高后續(xù)指紋特征點(diǎn)的提取以及指紋比對(duì)的正確率。因此,一個(gè)高效的指紋增強(qiáng)算法對(duì)指紋識(shí)別系統(tǒng)起著至關(guān)重要的作用。
目前,常用的指紋增強(qiáng)算法有:Lin Hong等人提出利用塊方向的Gabor濾波器[1]增強(qiáng)指紋圖像,該算法不僅要計(jì)算指紋圖像的方向圖,還要計(jì)算脊線的頻率方向,故算法復(fù)雜、費(fèi)時(shí),且準(zhǔn)確地計(jì)算脊線方向也是一個(gè)難點(diǎn);O’Gorman提出方向?yàn)V波器[2],通過(guò)計(jì)算出指紋圖像的方向圖,依據(jù)方向值選擇相應(yīng)的濾波模板對(duì)像素點(diǎn)增強(qiáng),其算法相對(duì)簡(jiǎn)單,處理速度快,增強(qiáng)效果顯著。本文在后者的基礎(chǔ)上加以改進(jìn),構(gòu)造一種查表結(jié)構(gòu)的硬件電路,節(jié)約了硬件資源,且比傳統(tǒng)的處理算法[3-5]至少快10倍。
基于方向圖濾波的指紋增強(qiáng)要先算出指紋圖像的方向圖,最常用的有基于Sobel梯度算子[6]的算法和基于點(diǎn)方向模板的算法。其中,梯度算法含加、減、乘、除、反正切運(yùn)算,算法相對(duì)復(fù)雜,同時(shí)電路在實(shí)現(xiàn)除法、反正切運(yùn)算時(shí)比較費(fèi)時(shí)且消耗大量硬件資源。
圖1所示為求像素點(diǎn)的方向模板。將中心像素點(diǎn)(以*表示)周邊劃分為 8個(gè)方向,其中:0~7分別代表0°、22.5°、45°、67.5°、90°、112.5°、135°、157.5°方向,則具體的點(diǎn)方向計(jì)算步驟為:
(1)求出方向模板中的每個(gè)方向上的4個(gè)像素點(diǎn)灰度值的平均值M。
(2)將8個(gè)方向按照兩兩垂直的方向分成4組(0&4、1&5、2&6、3&7),并計(jì)算每組均值 DMi,即:
取DMi中值最大一組中的兩個(gè)方向 j或j+4,j為當(dāng)前點(diǎn)方向,j∈i。
(3)按照式(3)求出當(dāng)前像素點(diǎn)*的脊線方向:
其中,M*代表像素點(diǎn)*的灰度值,D*代表該點(diǎn)的方向符號(hào)。
(4)按照步驟(1)~(3)將方向模板從左到右、從上到下遍布整個(gè)指紋圖像。
(5)將邊界行列像素點(diǎn)方向全部置為方向0。
考慮到指紋圖像紋理結(jié)構(gòu)的特點(diǎn):脊線(或谷線)點(diǎn)沿著脊線(或谷線)方向灰度值相近,而沿著非脊線(或非谷線)方向上灰度值相差較大,因而像素點(diǎn)在脊線(或谷線)方向的方差最小。因此,本文采用基于方向模板的最小方差法來(lái)計(jì)算點(diǎn)方向。其硬件電路框圖如圖2所示,其中各部件的功能如表1所述。
表1 計(jì)算點(diǎn)方向硬件電路功能描述
將求得的指紋點(diǎn)方向圖按8×8分割,計(jì)算塊方向規(guī)則為:統(tǒng)計(jì)8×8塊中各方向的直方圖,塊方向?yàn)橹狈綀D的峰值方向;計(jì)算完成后進(jìn)行塊方向?yàn)V波,濾波方案為基于3×3濾波模板的直方圖統(tǒng)計(jì),更新塊方向?yàn)橹狈綀D的峰值方向。
方向?yàn)V波器[7]的構(gòu)造原則為:
(1)濾波器模板尺寸要合適,模板過(guò)小則難以達(dá)到去噪、清晰紋理效果,過(guò)大則可能會(huì)破壞曲率較大的紋線結(jié)構(gòu)。本文采用7×7大小的模板;
(2)模板邊長(zhǎng)為奇數(shù),模板相對(duì)中心點(diǎn)對(duì)稱;
(3)為提高脊線與谷線之間灰度反差、達(dá)到邊緣銳化效果,在垂直于紋線方向,中央部分系數(shù)為正,兩邊系數(shù)為負(fù)數(shù);
(4)濾波結(jié)果與原圖的平均灰度無(wú)關(guān),模板系數(shù)代數(shù)和為 0。
按照上述原則設(shè)計(jì)的水平模板如圖3所示,其他方向模板系數(shù)求解的具體實(shí)現(xiàn)方法可以參考文獻(xiàn)[7]。方向?yàn)V波增強(qiáng)算法的實(shí)現(xiàn)過(guò)程為:首先計(jì)算像素點(diǎn)(或像素塊)的方向,然后再進(jìn)行像素塊與模板系數(shù)卷積運(yùn)算,以完成點(diǎn)像素的增強(qiáng)。由參考文獻(xiàn)[7]可知,其他方向模板系數(shù)的求解公式有正弦、余弦參數(shù),其算法復(fù)雜,且在線計(jì)算一次模板系數(shù)就要計(jì)算294個(gè)系數(shù),不僅費(fèi)時(shí),而且占用大量資源。因此,本文提出一種基于查表結(jié)構(gòu)的算法,將8個(gè)方向的模板系數(shù)全部在線下計(jì)算得出并存儲(chǔ)在電路內(nèi)部,以供方向查表調(diào)用;并將增強(qiáng)后的像素點(diǎn)直接二值化處理,以簡(jiǎn)化指紋預(yù)處理步驟,減少計(jì)算時(shí)間,節(jié)約硬件資源。
圖4所示為硬件電路框圖。其中,RAM4為塊方向存儲(chǔ)器,塊方向統(tǒng)計(jì)完成8×8直方圖統(tǒng)計(jì),選擇器確定寫塊方向模式,寫地址計(jì)算塊方向?qū)懙刂?,讀地址計(jì)算塊方向讀地址,多路器選擇增強(qiáng)、濾波模式,濾波運(yùn)算實(shí)現(xiàn)3×3直方圖統(tǒng)計(jì),ROM1為模板系數(shù)查找表,MULT4與ADD7實(shí)現(xiàn)增強(qiáng)卷積運(yùn)算,判斷器將增強(qiáng)后的像素值二值化,F(xiàn)IFO10為數(shù)據(jù)輸出緩沖。
電路的設(shè)計(jì)基于硬件描述語(yǔ)言Verilog[8]編寫完成。采用自下而上的設(shè)計(jì)方法,先規(guī)劃整個(gè)電路結(jié)構(gòu),將整個(gè)電路劃分為點(diǎn)方向計(jì)算模塊、塊方向計(jì)算與濾波模塊、指紋圖增強(qiáng)模塊三個(gè)部分;然后設(shè)計(jì)每一個(gè)基本模塊,往上設(shè)計(jì)總體模塊,頂層采用原理圖方式。整體芯片仿真部分信號(hào)時(shí)序如圖5所示。
編寫Verilog仿真模型,在Modelsim中進(jìn)行功能測(cè)試仿真,將電路計(jì)算的輸出數(shù)據(jù)均用文本輸出保存,然后聯(lián)合Matlab工具,將最終電路處理輸出的結(jié)果通過(guò)Matlab直觀地顯示出來(lái)以供分析。圖6為指紋原圖,圖7、圖8所示為實(shí)際仿真測(cè)試圖,表2為本文算法處理時(shí)間與其他算法處理時(shí)間的比較。
表2 不同增強(qiáng)算法處理時(shí)間的比對(duì)
圖7為Matlab工具實(shí)現(xiàn)算法的仿真圖,圖8為硬件電路處理后的指紋數(shù)據(jù)。由Matlab工具顯示的圖可見,硬件電路的實(shí)現(xiàn)效果良好;濾波后的指紋方向圖更加平滑,映射指紋紋理方向,修正了圖7(a)方向的躍變;增強(qiáng)指紋圖像修復(fù)了原圖脊線斷點(diǎn),增強(qiáng)了紋線結(jié)構(gòu)。另外,從增強(qiáng)后的細(xì)化圖(如圖9所示)可以看出,增強(qiáng)算法有效減少了因指紋質(zhì)量而產(chǎn)生的偽特征值。
本文設(shè)計(jì)了一款用于指紋圖像增強(qiáng)的硬件電路,從仿真結(jié)果可以看出,電路能較好地對(duì)低質(zhì)量指紋圖像的紋理結(jié)構(gòu)進(jìn)行修復(fù),并可以為指紋預(yù)處理過(guò)程省去自適應(yīng)二值化這一復(fù)雜步驟,有較高的實(shí)用價(jià)值,可以應(yīng)用在指紋識(shí)別專用集成電路中。
盡管該電路有著不錯(cuò)的處理效果,但也可以看出在指紋邊界處,特別在指紋方向躍變的交界處,其周邊指紋信息變化劇烈時(shí),增強(qiáng)效果不是十分良好,容易引入噪聲。精確地計(jì)算指紋方向圖與好的指紋分割算法是一個(gè)好的增強(qiáng)算法的前提,這也將是以后研究的重點(diǎn)。
[1]Ling Hong,Anil Jain.Fingerprint enhancement[C].Third IEEE Workshop on Applications of Computer Vision,1996:202-207.
[2]O’Gorman L,NICKERSON J V.An approach to fingerprint filter design[J].Pattern Recognition,1989,22(1):29-38.
[3]羅軍,肖芳,毛雪瑩,等.基于FPGA的方向?yàn)V波指紋圖像增強(qiáng)算法實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2010,6(1):13-20.
[4]張烽.基于FPGA嵌入式指紋識(shí)別系統(tǒng)研究[D].重慶:重慶大學(xué),2007.
[5]喬治宏,吳晴,喬雨峰.基于方向?yàn)V波的指紋圖像增強(qiáng)算法研究[J].計(jì)算機(jī)工程與應(yīng)用,2004(35):87-89.
[6]Zhang Hong,Wang Xinsheng.A new fingerprint enhancement algorithm[C].IEEE International Conference Broadband Network and Multimedia Technology,2005:1222-1225.
[7]郭娟.基于FPGA硬件方式實(shí)現(xiàn)的指紋識(shí)別系統(tǒng)研究[D].上海:上海微系統(tǒng)與信息技術(shù)研究所,2007.
[8]夏聞?dòng)?Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第二版)[M].北京:北京航空航天大學(xué)出版社,2008.