蔡 凡
(閩南理工學院, 福建 泉州 362700)
近年來,指紋識別技術逐漸發(fā)展成熟,并得到廣泛應用,如用于日常生活中的智能支付、手機解鎖、程序安裝確認等[1]。但是,在享受其方便性的同時,防止信息泄露、保障信息識別安全等問題也需引起更多關注[2]。本次研究將針對指紋細節(jié)特征點進行提取,并進行算法匹配。
指紋特征的提取和匹配是指紋識別系統(tǒng)的關鍵環(huán)節(jié)[3],其算法直接影響指紋識別的性能、速度和效率。指紋特征提取,是指針對指紋細節(jié)特征點信息進行提取[4]。圖1所示為美國聯(lián)邦調(diào)查局提出的兩類指紋特征點模型,即紋線末梢點和紋線分叉點[5]。這兩類特征點對指紋的描述具有唯一性。
圖1 指紋特征點模型
通過搜索指紋圖像上的特征點,將指紋圖像轉(zhuǎn)化為由若干末梢點和分叉點組成的點集,指紋提取和匹配問題也相應地轉(zhuǎn)化為尋找點集間相似度(即點集匹配)的問題。記錄每一處細節(jié)點的相關信息,主要包括:(1) 指紋細節(jié)點坐標和方向;(2) 所在紋線的切線方向角;(3) 細節(jié)點的類型。對于質(zhì)量較好的指紋圖像,通常能從中提取出40~100個細節(jié)點。通過細節(jié)點的表示,將指紋匹配問題轉(zhuǎn)化成為平面點模式匹配問題[6]。但照此方法處理低質(zhì)量或低分辨率指紋圖像時,會產(chǎn)生一些偽特征點或丟失掉一些特征點信息。
為了得到指紋細化圖像,須先對獲取的指紋圖像進行預處理,這一步是進行指紋特征提取和匹配的關鍵環(huán)節(jié)。首先,對指紋圖像進行灰度化處理得到黑白的標準化圖像;然后,基于Gabor濾波的指紋圖像增強技術,進行帶阻濾波二值化處理,并再次細化;最后,對細化后指紋圖像中的斷點指紋進行去毛刺處理,即可得到細化的指紋圖像(見圖2),并從中提取出細節(jié)點(脊終、結(jié)點和脊分叉點)。目前,在處理指紋細化方面,存在細化不夠完全、中心線偏離骨架、執(zhí)行速度降低等問題[7]。
圖像細化應滿足以下要求:
(1) 保證指紋圖像上原本指紋紋路的連通性和斷點的完備性。
(2) 不改變指紋紋路。
(3) 刪除無關邊緣像素,使紋線僅保持一個像素的寬度,并將指紋圖像轉(zhuǎn)化為單像素連通圖。
圖2 指紋細化圖
指紋特征提取,是指從一幅含有大量信息的指紋圖像中,獲得一些有區(qū)別能力、穩(wěn)定且能表現(xiàn)出不同指紋差異的特征點。如果對指紋圖像的大量數(shù)據(jù)都進行匹配,將會加大匹配耗時,這顯然不現(xiàn)實。因此,只需從指紋圖像中獲取具有辨識度的特征信息,就有利于完成指紋的高效匹配。如圖3所示,指紋特征的提取流程如下:
(1) 獲取指紋灰度圖像。直接從該灰度圖像中提取紋線并進行跟蹤。此方法雖節(jié)省時間,但算法過于復雜,且指特征的位置及方向也不準確,存在很多噪聲影響。
(2) 從指紋灰度圖像中獲取指紋方向圖,包括方向場和頻率場,以反映指紋圖像的紋理結(jié)構。但有時候會因噪聲、裂紋、濕度等因素影響,導致指紋局部紋理不穩(wěn)定、分辨率低。因此,需對指紋圖像進行濾波以增強圖像。
(3) 在增強圖像中,通過二值化操作和追蹤脊線獲得指紋二值圖,以滿足增強效果的實際需求。
(4) 從二值圖中提取獲得末梢點和分叉點,作為待匹配的細節(jié)點。
圖3 指紋特征提取流程圖
在此,介紹一種細節(jié)點8鄰域模板特征提取算法。在指紋細化圖中脊線為單像素寬,在指紋細化圖中構建像素3×3的模版,以每個值為1的像素點為中心形成3×3的窗口。按此模板特征來找出所有的正常脊線點、分叉點和端點周圍的鄰域結(jié)構(見圖4)。
圖4 細節(jié)點8鄰域特征模板
根據(jù)上述特點,在建立的特征模版中求得灰度值順序變化次數(shù)Cn(P),以此判斷中心像素點類型。判斷公式為:
(1)
(2 )
式中:P為待測像素點;i為像素點個數(shù);Pi為P的鄰域;Sn(P)為8鄰域像素中為1的像素個數(shù);Cn(P)為這8個鄰域像素的相鄰像素的灰度值從0變?yōu)?,或者從1變?yōu)?的次數(shù)。
對于背脊上的像素,可根據(jù)Cn(P)和Sn(P)確定待測P像素的狀態(tài)。分析發(fā)現(xiàn),Cn(P)和Sn(P)的數(shù)值只有以下3種情況:
(1)P點為脊線上的一個點,且Cn(P)=2,Sn(P)=1,則P為末梢點。
(2)P點為脊線上的一個點,且Cn(P)=6,Sn(P)=3,則P為分叉點。
(3)P點為脊線上的一個點,且Cn(P)=4,Sn(P)為2、3或者4,則P為脊線上的連續(xù)點,即P不是特征點。
當找到一個脊線連續(xù)點之后,將該點像素值標記為0,并自該點開始,按從下到上、從左到右的順序繼續(xù)在其鄰域內(nèi)尋找脊線連續(xù)點,直至碰到分叉點或終結(jié)點時停止,然后開始下一次掃描搜索。掃描完整幅圖像后,即可獲得到指紋全部的脊線點。細節(jié)點脊線追蹤過程如圖5所示。
圖5 細節(jié)點脊線追蹤過程
通過以上指紋特征提取算法,分別記錄末梢點和分叉點,將偽特征點去除,從而提取出匹配過程中所需要的特征點。其中判斷末梢點和分叉點的描述語句如下:
if a==6 %分叉點判斷
tezheng(i,j,1)=i;
tezheng(i,j,2)=j;
tezheng(i,j,3)=1;
xxx=xxx+1;
I(i,j)=0;
I(i-1,j)=1;I(i-1,j+1)=1;I(i,j+1)=1;I(i+1,j+1)=1;
I(i+1,j)=1;I(i+1,j-1)=1;I(i,j-1)=1;I(i-1,j-1)=1; %1表示分叉點 0表示端點
end
if a==2 %末梢點判斷
tezheng(i,j,1)=i;
tezheng(i,j,2)=j;
tezheng(i,j,3)=2;
xxx=xxx+1;
I(i,j)=0;
I(i-1,j)=1;I(i-1,j+1)=1;I(i,j+1)=1;I(i+1,j+1)=1;
I(i+1,j)=1;I(i+1,j-1)=1;I(i,-1)=1;I(i-1,j-1)=1;
end
figure,imshow(I)
title(‘指紋特征提取’)
指紋匹配是確定指紋之間相似程度的過程,其目的是為了判斷兩幅指紋是否來自于相同或不同的手指,即真匹配和假匹配[9]。在自動指紋識別系統(tǒng)中,匹配方法有模板匹配、圖像相關性匹配、細節(jié)點匹配和紋線匹配。在匹配的過程中,需建立輸入指紋特征與模板指紋特征之間相對應的關系,而衡量兩幅指紋圖像相似或?qū)某潭热Q于提取特征計算出的兩者相似度匹配分數(shù),即在重合面積范圍內(nèi)找到細節(jié)點數(shù)目設定的閾值。如果兩者的匹配分數(shù)大于系統(tǒng)預置的閾值,則匹配;如果匹配分數(shù)小于系統(tǒng)預置的閾值,則不匹配。
如圖6所示,通過細節(jié)點坐標、方向及其鄰域內(nèi)采樣點的特征信息,尋找特征點集間的最優(yōu)匹配細節(jié)點對。以該點對為基準點,對其余點進行剛性變換,根據(jù)變換后細節(jié)點的相對位置建立模板指紋和輸入指紋的全部細節(jié)點對應關系,進而得到兩幅指紋的匹配相似度。
圖6 兩幅指紋細節(jié)點對應關系圖
(3)
(4)
即兩個細節(jié)點的位置間距和角度差異都在設定閾值的范圍內(nèi),則可將ai、bi作為配對的細節(jié)點。式中:r0和θ0為預先設定的閾值;|·|d為兩點的歐氏距離;|·|a為兩點的角度距離。最后,根據(jù)匹配的細節(jié)點對,設計并計算一個相似度分數(shù)來代表兩幅指紋圖像的匹配結(jié)果。
這種方法也適用于局部搜索指紋的特征匹配。當全局層面匹配判斷困難或者指紋分辨率低時,可以利用局部細節(jié)點結(jié)構對兩幅指紋圖像進行粗對準,進而在全局層面完成整幅圖像的匹配。
選用FVC2000指紋庫中的85幅圖像(共含有285對相同指紋,2 750對不同指紋)作為特征提取實驗測試對象。實驗中,分別采用一般方法和利用脊線跟蹤去除偽細節(jié)特征點法(簡稱去偽法)進行性能對比。一般方法是指在細化后的指紋圖像上直接進行細節(jié)特征的提取。
定義特征提取評價性能指標 —— 準確率(η):
(5)
實驗結(jié)果顯示,采用脊線跟蹤去除偽細節(jié)特征點的方法平均處理時間為0.15 s。與一般方法相比,其效率明顯,提高了70%,其中檢測特征點數(shù)減少了7個。這是由于從追蹤脊線二值圖中提取獲得末梢點和分叉點,刪除了部分無關特征點信息,提高了指紋特征點的辨識度,再經(jīng)去除偽特征點,丟失的特征點有所減少。準確率達到了90.80%,明顯高于一般方法(見表1)。
本次匹配測試采用細節(jié)點的位置信息和方向信息,計算指紋中所有細節(jié)點算子間的相似度,分析匹配結(jié)果,通過誤識率(FAR)、拒識率(FRR)、正確率(CR)這3個指標來衡量該匹配算法的達標度。3個指標相加的總和為1,其中誤識率為錯誤拒絕次數(shù)占類內(nèi)測試總次數(shù)的比例,拒識率為錯誤接受次數(shù)占類間測試總次數(shù)的比例。類內(nèi)測試的總次數(shù)為總的匹配成功次數(shù),類間測試的總次數(shù)為總的匹配失敗次數(shù)。
表1 特征提取實驗測試統(tǒng)計結(jié)果
在上述去偽法提取指紋細節(jié)特征點實驗的基礎上,對80幅指紋圖像進行了6 320次匹配測試。如表2所示,實驗一采用相鄰特征點局部結(jié)果匹配方法,實驗二為本次采用的細節(jié)點位置信息和方向信息。根據(jù)細節(jié)點局部特征建立細節(jié)點結(jié)構算子,用中心細節(jié)點所對應算子間的相似度代表匹配結(jié)果,用局部細節(jié)點結(jié)構進而在全局層面完成整幅圖像的匹配。
表2 指紋匹配測試結(jié)果
當測試總數(shù)達到一定數(shù)量時,拒識率和誤識率均有所變化。在匹配測試條件相同的情況下,本次研究采用的方法(實驗二)正確率與采用相鄰特征點局部結(jié)果匹配方法相比,正確率提高了0.5%,匹配算法達到了匹配指標的要求。
利用脊線跟蹤去除偽細節(jié)特征點,并對該細節(jié)點特征進行位置和方向信息分析,建立配對關系,計算對比其相似度,據(jù)此得到匹配結(jié)果。按此方法提取指紋特征,其優(yōu)點是便于提取、易于存儲,可以將提取的坐標信息和角度信息儲存起來,當需要再次匹配時直接調(diào)用即可。匹配算法速度快,只需對比點對的位置信息,就可以實現(xiàn)快速匹配。對指紋識別系統(tǒng)的算法進行了改進,使得指紋識別的可靠性大大增強。