潘 靜,帥仁俊
(南京工業(yè)大學(xué)電子與信息工程學(xué)院,江蘇 南京 211816)
指紋特征是人終生不變的特征之一,而且不同人的指紋特征相同的可能性幾乎為零,由于指紋鑒定花費(fèi)小,效果好,因此指紋鑒定作為身份鑒定的一種方法有廣泛的應(yīng)用前景,如案例分析、銀行存取款、汽車(chē)鎖、進(jìn)人特殊環(huán)境等。但是,指紋比較即使對(duì)指紋專(zhuān)家來(lái)說(shuō)也是一個(gè)繁鎖而又枯燥的工作。有關(guān)部門(mén)迫切需要計(jì)算機(jī)的幫助來(lái)完成指紋比較工作,所以實(shí)現(xiàn)一個(gè)指紋自動(dòng)識(shí)別系統(tǒng)[1]是非常必要的。
這里主要討論的當(dāng)中預(yù)處理的部分,指紋圖像預(yù)處理可分為濾波、二值化、細(xì)化,不過(guò)在這些步驟之前,要對(duì)指紋圖像進(jìn)行歸一化[2-3]。
基本上歸一化思想是利用圖像的不變矩尋找一組參數(shù)使其能夠消除其他變換函數(shù)對(duì)圖像變換的影響。也就是轉(zhuǎn)換成唯一的標(biāo)準(zhǔn)形式以抵抗仿射變換圖像歸一化使得圖像可以抵抗幾何變換的攻擊,它能夠找出圖像中的不變量,便于后續(xù)步驟的處理。
圖1 自動(dòng)指紋識(shí)別框
其中 M0、V0為期望平均值和期望方差,通常由圖像采集時(shí)的分辨率確定。一般分別都取125。V、M分別為圖像自身的均值和方差[4]。表示為:
方向圖有兩種,一種是點(diǎn)方向圖,表示原指紋圖像中脊線(xiàn)的大致方向[5]。具體做法是:在每個(gè)點(diǎn)的處取8個(gè)方向,在每個(gè)方向上左右各取4個(gè)點(diǎn),共8個(gè)點(diǎn),分別計(jì)算這8各點(diǎn)的灰度平均值分別計(jì)算出這 8個(gè)點(diǎn)和上步的平均值的差的絕對(duì)值,將他們加起來(lái),和存入矩陣S.比較S矩陣中的每各方向上的s值,值最小的,即該S所對(duì)應(yīng)的方向即是該點(diǎn)的方向。
另一種是塊方向圖,表示源指紋圖像中每一塊脊線(xiàn)的大致方向??紤]到相鄰幾點(diǎn)方向不會(huì)相差太大,所以直接算塊的方向。具體就是算 3×3矩陣的中心點(diǎn)方向即代表該塊的方向,從而大大減少了運(yùn)算量。具體還是要算點(diǎn)的方向,在每個(gè)先取8個(gè)方向,如圖1示。
圖2 每個(gè)點(diǎn)的8個(gè)方向
式中,f(i,j)為點(diǎn)P(ij)的灰度值?為此方向上各個(gè)點(diǎn)的灰度平均值。
濾波結(jié)果應(yīng)與原圖的平均灰度無(wú)關(guān),因此模板中所有系數(shù)的代數(shù)和應(yīng)為零。點(diǎn)(i,j)的灰度值由其周?chē)?8各點(diǎn)的灰度值共同決定[6],水平方向系數(shù)矩陣B如下式:
這個(gè)濾波器可以連接脊線(xiàn)中出現(xiàn)的斷點(diǎn),且可以去除圖像中的叉連現(xiàn)象,x、y、z、u 滿(mǎn)足 u>x>y>=0,z>0 且u+2x+2y-2z=0??梢钥闯鲈娇拷擖c(diǎn)的象素對(duì)該點(diǎn)的影響越大。實(shí)際上使用的濾波矩陣B是右上角的矩陣。
有了水平方向上的濾波矩陣后,現(xiàn)要求的是其他方向上的 7×7濾波矩陣,求方向上的矩陣已歸結(jié)為求點(diǎn)(k,l)和點(diǎn)(m,n)關(guān)系的問(wèn)題,如圖4示。
要求基于方向上的點(diǎn)的坐標(biāo),即是由水平方向的點(diǎn)旋轉(zhuǎn)角度a所得到的。用向量的知識(shí)可以解決此問(wèn)題:向量m+jn=(k+jl)(cos a+j sin a)=(k cos a-l sin a)+j(k sin+l cos a)。所以旋轉(zhuǎn)后的點(diǎn)(m,n)和原來(lái)的點(diǎn)(i,j)坐標(biāo)關(guān)系為:m=k cos a-l sin a;n=k sin a+l con a。兩個(gè)點(diǎn)相對(duì)位置關(guān)系如圖2。令k l從-3到3循環(huán),可得到點(diǎn)(i,j)周?chē)?×7矩陣I的坐標(biāo)及其灰度。由于點(diǎn)(i,j)的灰度是由周?chē)?8個(gè)點(diǎn)的灰度決定的如下面的公式:
圖3 旋轉(zhuǎn)后的點(diǎn)和原來(lái)點(diǎn)的位置關(guān)系
指紋圖像的二值化就是通過(guò)設(shè)定閾值(threshold).把它變?yōu)閮H用兩個(gè)灰度值分別表示的前景和背景顏色的二值圖像。圖像的二值化可以根據(jù)下面的閾值來(lái)處理:
假設(shè)一副圖像的象素值為I(i,j),設(shè)有一閾值T,則:
動(dòng)態(tài)閾值法僅是一個(gè)變換,在一個(gè)n×n的方塊中先求出此方塊內(nèi)象素的平均灰度值,所有具有灰度值超過(guò)平均灰度的置為0,低于平均灰度的置為125[7],二值化流程如圖4。
圖4 二值化流程
指紋圖像二值化后,紋線(xiàn)仍具有一定的寬度,而指紋識(shí)別只關(guān)心紋線(xiàn)的走向,并不關(guān)心它的粗細(xì),應(yīng)對(duì)指紋圖像進(jìn)行細(xì)化處理。細(xì)化還可以減小數(shù)據(jù)量,提高識(shí)別準(zhǔn)確性。細(xì)化時(shí)應(yīng)保持紋線(xiàn)的連接性、方向性、特征點(diǎn)不變,還應(yīng)保持紋線(xiàn)的中心基本不變。
圖像細(xì)化算法的種類(lèi)很多,但一些經(jīng)典的細(xì)化算法用于指紋紋線(xiàn)細(xì)化處理時(shí),往往會(huì)引起較明顯的紋線(xiàn)吞食現(xiàn)象或骨架位置發(fā)生偏移等問(wèn)題,并不能達(dá)到滿(mǎn)意的效果,因此應(yīng)該根據(jù)指紋紋線(xiàn)的特點(diǎn)有針對(duì)性的設(shè)計(jì)細(xì)化算法。
此方法即是對(duì)每個(gè)點(diǎn)取其附近的 15個(gè)點(diǎn),它們的位置如表1所示。
模板分為刪除模板和保留模板,對(duì)任意一個(gè)黑像素點(diǎn),先將它于刪除模板相比較。若不符合,則保留該像素。若符合,則再于保留模板相比較,若符合,則保留。否則刪除該像素點(diǎn),將該像素點(diǎn)灰度置 0。這樣得到的只是初步細(xì)化后的結(jié)果,理論上要重復(fù)上述過(guò)程,直到?jīng)]有象素值被改變?yōu)橹梗瑢?shí)際上只要細(xì)化足夠多次以后就可以了。
其中圖5(a)圖為原圖,圖5(b)為濾波之后的圖。可見(jiàn)濾波能明顯濾除原圖像中的離散點(diǎn),圖像也比原來(lái)的清晰了很多。圖5(c)為二值化之后的圖像,二值化采用的是動(dòng)態(tài)閾值法,對(duì)原指紋灰度圖要求較低,處理的效果也較好,算法的復(fù)雜度一般,容易編程實(shí)現(xiàn)。圖5(d)為細(xì)化后的指紋圖像,細(xì)化過(guò)程中已將特征點(diǎn)標(biāo)出,其中叉點(diǎn)表示分岔點(diǎn),圈點(diǎn)代表端點(diǎn)[8]。
指紋圖像預(yù)處理是指紋識(shí)別的基礎(chǔ),這一步結(jié)果的好壞直接決定著指紋識(shí)別的質(zhì)量。在現(xiàn)行的算法的基礎(chǔ)上,提出了一種有效的指紋圖像預(yù)處理的算法。所有算法均經(jīng)過(guò)Matlab仿真,取得了較好的效果。
[1] 徐國(guó)輝.指紋識(shí)別技術(shù)產(chǎn)品的開(kāi)發(fā)與進(jìn)展[J].通信技術(shù),2009,42(08):88-90.
[2] 羅希平,田捷.自動(dòng)指紋識(shí)別中的圖像增強(qiáng)和細(xì)節(jié)匹配算法[J].軟件學(xué)報(bào),2002(05):946-956.
[3] 劉福元,王玲.自動(dòng)指紋識(shí)別算法研究[J].信息安全與通信保密,2007(02):70-72.
[4] 王瑩,蘇成利.指紋圖像增強(qiáng)算法研究[J].科學(xué)技術(shù)工程,2010(01):94-97.
[5] 周媛媛,張成,林嘉宇.指紋圖像的預(yù)處理算法[J].計(jì)算機(jī)應(yīng)用,2004(06):34-36.
[6] 王科俊,李雪峰,趙玥.基于方向?yàn)V波的指紋圖像增強(qiáng)算法研究[J].模式識(shí)別與仿真,2009(07):54-56.
[7] 苑瑋琦,夏義勇.方向?yàn)V波指紋圖像二值化[J].儀器儀表學(xué)報(bào),2003(4增):469-471.
[8] 馮國(guó)進(jìn),顧國(guó)華,張保民.指紋圖像預(yù)處理與特征提取[J].計(jì)算機(jī)應(yīng)用研究,2004(05):183-185.