潘 靜,帥仁俊
(南京工業(yè)大學(xué)電子與信息工程學(xué)院,江蘇 南京 211816)
指紋特征是人終生不變的特征之一,而且不同人的指紋特征相同的可能性幾乎為零,由于指紋鑒定花費小,效果好,因此指紋鑒定作為身份鑒定的一種方法有廣泛的應(yīng)用前景,如案例分析、銀行存取款、汽車鎖、進(jìn)人特殊環(huán)境等。但是,指紋比較即使對指紋專家來說也是一個繁鎖而又枯燥的工作。有關(guān)部門迫切需要計算機的幫助來完成指紋比較工作,所以實現(xiàn)一個指紋自動識別系統(tǒng)[1]是非常必要的。
這里主要討論的當(dāng)中預(yù)處理的部分,指紋圖像預(yù)處理可分為濾波、二值化、細(xì)化,不過在這些步驟之前,要對指紋圖像進(jìn)行歸一化[2-3]。
基本上歸一化思想是利用圖像的不變矩尋找一組參數(shù)使其能夠消除其他變換函數(shù)對圖像變換的影響。也就是轉(zhuǎn)換成唯一的標(biāo)準(zhǔn)形式以抵抗仿射變換圖像歸一化使得圖像可以抵抗幾何變換的攻擊,它能夠找出圖像中的不變量,便于后續(xù)步驟的處理。

圖1 自動指紋識別框

其中 M0、V0為期望平均值和期望方差,通常由圖像采集時的分辨率確定。一般分別都取125。V、M分別為圖像自身的均值和方差[4]。表示為:

方向圖有兩種,一種是點方向圖,表示原指紋圖像中脊線的大致方向[5]。具體做法是:在每個點的處取8個方向,在每個方向上左右各取4個點,共8個點,分別計算這8各點的灰度平均值分別計算出這 8個點和上步的平均值的差的絕對值,將他們加起來,和存入矩陣S.比較S矩陣中的每各方向上的s值,值最小的,即該S所對應(yīng)的方向即是該點的方向。
另一種是塊方向圖,表示源指紋圖像中每一塊脊線的大致方向。考慮到相鄰幾點方向不會相差太大,所以直接算塊的方向。具體就是算 3×3矩陣的中心點方向即代表該塊的方向,從而大大減少了運算量。具體還是要算點的方向,在每個先取8個方向,如圖1示。

圖2 每個點的8個方向

式中,f(i,j)為點P(ij)的灰度值?為此方向上各個點的灰度平均值。
濾波結(jié)果應(yīng)與原圖的平均灰度無關(guān),因此模板中所有系數(shù)的代數(shù)和應(yīng)為零。點(i,j)的灰度值由其周圍的48各點的灰度值共同決定[6],水平方向系數(shù)矩陣B如下式:
這個濾波器可以連接脊線中出現(xiàn)的斷點,且可以去除圖像中的叉連現(xiàn)象,x、y、z、u 滿足 u>x>y>=0,z>0 且u+2x+2y-2z=0。可以看出越靠近該點的象素對該點的影響越大。實際上使用的濾波矩陣B是右上角的矩陣。
有了水平方向上的濾波矩陣后,現(xiàn)要求的是其他方向上的 7×7濾波矩陣,求方向上的矩陣已歸結(jié)為求點(k,l)和點(m,n)關(guān)系的問題,如圖4示。


要求基于方向上的點的坐標(biāo),即是由水平方向的點旋轉(zhuǎn)角度a所得到的。用向量的知識可以解決此問題:向量m+jn=(k+jl)(cos a+j sin a)=(k cos a-l sin a)+j(k sin+l cos a)。所以旋轉(zhuǎn)后的點(m,n)和原來的點(i,j)坐標(biāo)關(guān)系為:m=k cos a-l sin a;n=k sin a+l con a。兩個點相對位置關(guān)系如圖2。令k l從-3到3循環(huán),可得到點(i,j)周圍的7×7矩陣I的坐標(biāo)及其灰度。由于點(i,j)的灰度是由周圍48個點的灰度決定的如下面的公式:


圖3 旋轉(zhuǎn)后的點和原來點的位置關(guān)系
指紋圖像的二值化就是通過設(shè)定閾值(threshold).把它變?yōu)閮H用兩個灰度值分別表示的前景和背景顏色的二值圖像。圖像的二值化可以根據(jù)下面的閾值來處理:
假設(shè)一副圖像的象素值為I(i,j),設(shè)有一閾值T,則:

動態(tài)閾值法僅是一個變換,在一個n×n的方塊中先求出此方塊內(nèi)象素的平均灰度值,所有具有灰度值超過平均灰度的置為0,低于平均灰度的置為125[7],二值化流程如圖4。

圖4 二值化流程
指紋圖像二值化后,紋線仍具有一定的寬度,而指紋識別只關(guān)心紋線的走向,并不關(guān)心它的粗細(xì),應(yīng)對指紋圖像進(jìn)行細(xì)化處理。細(xì)化還可以減小數(shù)據(jù)量,提高識別準(zhǔn)確性。細(xì)化時應(yīng)保持紋線的連接性、方向性、特征點不變,還應(yīng)保持紋線的中心基本不變。
圖像細(xì)化算法的種類很多,但一些經(jīng)典的細(xì)化算法用于指紋紋線細(xì)化處理時,往往會引起較明顯的紋線吞食現(xiàn)象或骨架位置發(fā)生偏移等問題,并不能達(dá)到滿意的效果,因此應(yīng)該根據(jù)指紋紋線的特點有針對性的設(shè)計細(xì)化算法。
此方法即是對每個點取其附近的 15個點,它們的位置如表1所示。
模板分為刪除模板和保留模板,對任意一個黑像素點,先將它于刪除模板相比較。若不符合,則保留該像素。若符合,則再于保留模板相比較,若符合,則保留。否則刪除該像素點,將該像素點灰度置 0。這樣得到的只是初步細(xì)化后的結(jié)果,理論上要重復(fù)上述過程,直到?jīng)]有象素值被改變?yōu)橹梗瑢嶋H上只要細(xì)化足夠多次以后就可以了。
其中圖5(a)圖為原圖,圖5(b)為濾波之后的圖。可見濾波能明顯濾除原圖像中的離散點,圖像也比原來的清晰了很多。圖5(c)為二值化之后的圖像,二值化采用的是動態(tài)閾值法,對原指紋灰度圖要求較低,處理的效果也較好,算法的復(fù)雜度一般,容易編程實現(xiàn)。圖5(d)為細(xì)化后的指紋圖像,細(xì)化過程中已將特征點標(biāo)出,其中叉點表示分岔點,圈點代表端點[8]。
指紋圖像預(yù)處理是指紋識別的基礎(chǔ),這一步結(jié)果的好壞直接決定著指紋識別的質(zhì)量。在現(xiàn)行的算法的基礎(chǔ)上,提出了一種有效的指紋圖像預(yù)處理的算法。所有算法均經(jīng)過Matlab仿真,取得了較好的效果。
[1] 徐國輝.指紋識別技術(shù)產(chǎn)品的開發(fā)與進(jìn)展[J].通信技術(shù),2009,42(08):88-90.
[2] 羅希平,田捷.自動指紋識別中的圖像增強和細(xì)節(jié)匹配算法[J].軟件學(xué)報,2002(05):946-956.
[3] 劉福元,王玲.自動指紋識別算法研究[J].信息安全與通信保密,2007(02):70-72.
[4] 王瑩,蘇成利.指紋圖像增強算法研究[J].科學(xué)技術(shù)工程,2010(01):94-97.
[5] 周媛媛,張成,林嘉宇.指紋圖像的預(yù)處理算法[J].計算機應(yīng)用,2004(06):34-36.
[6] 王科俊,李雪峰,趙玥.基于方向濾波的指紋圖像增強算法研究[J].模式識別與仿真,2009(07):54-56.
[7] 苑瑋琦,夏義勇.方向濾波指紋圖像二值化[J].儀器儀表學(xué)報,2003(4增):469-471.
[8] 馮國進(jìn),顧國華,張保民.指紋圖像預(yù)處理與特征提取[J].計算機應(yīng)用研究,2004(05):183-185.