本發(fā)明屬于汽車防盜的身份驗(yàn)證技術(shù)領(lǐng)域,具體說,涉及一種車載指紋識(shí)別方法。
背景技術(shù):
汽車防盜產(chǎn)品的基本作用一是防范車輛未經(jīng)授權(quán)被非法使用,目前汽車用防盜系統(tǒng)主要有機(jī)械防盜裝置、電子防盜報(bào)警裝置、聯(lián)網(wǎng)的防盜搶報(bào)警系統(tǒng)以及基于指紋識(shí)別防盜系統(tǒng)。
指紋識(shí)別系統(tǒng)包括指紋采集、指紋數(shù)字圖像預(yù)處理、指紋特征提取和指紋特征匹配四大部分。
目前,指紋數(shù)字圖像識(shí)別的精度不是很高,原因就是車載防盜系統(tǒng)對(duì)指紋識(shí)別算法的性能要求高,圖像預(yù)處理沒有做好,以及指紋特征提取不精確造成的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種車載指紋識(shí)別方法,以解決上述問題。
本發(fā)明的實(shí)施例提供了一種車載指紋識(shí)別方法,包括:指紋采集、指紋數(shù)字圖像預(yù)處理、指紋特征提取和指紋特征匹配;其中,指紋數(shù)字圖像預(yù)處理包括:圖像銳化;灰度變換;圖像二值化;圖像細(xì)化;指紋特征提取包括端點(diǎn)標(biāo)識(shí);分叉點(diǎn)標(biāo)識(shí);去掉虛假結(jié)果。
進(jìn)一步,指紋數(shù)字圖像預(yù)處理還包括:指紋圖像灰度歸一化;指紋圖像灰度均衡化;指紋圖像分割;Gabor濾波。
進(jìn)一步,圖像銳化包括:利用fspecial函數(shù)生成濾波器,再利用imfilter函數(shù)對(duì)圖像進(jìn)行卷積計(jì)算;其中fspecial函數(shù)類型為unsharp型。
進(jìn)一步,圖像細(xì)化包括:采用模板匹配的方式將圖像變?yōu)閱蜗袼剡B通圖。
進(jìn)一步,去掉虛假結(jié)果包括:采用指紋圖像切割的方法切除圖像邊緣的點(diǎn);利用距離閾值法去除距離較近的特征點(diǎn)。
進(jìn)一步,指紋圖像分割采用基于梯度的指紋分割方法。
進(jìn)一步,指紋特征匹配包括:提取待匹配指紋數(shù)字圖像的中間點(diǎn),將該中間點(diǎn)作為匹配參考點(diǎn);采用端點(diǎn)及交叉點(diǎn)特征構(gòu)造入庫(kù)指紋的特征向量模板;將匹配參考點(diǎn)與模板庫(kù)中的匹配點(diǎn)進(jìn)行對(duì)比,利用歐式距離衡量指紋相似性,計(jì)算指紋是否匹配。
與現(xiàn)有技術(shù)相比本發(fā)明的有益效果是:提高了指紋識(shí)別的精確度。
附圖說明
圖1是本發(fā)明一種車載指紋識(shí)別方法指紋數(shù)字圖像預(yù)處理及指紋特征提取的流程圖;
圖2是本發(fā)明一實(shí)施例中當(dāng)前需要處理的像素在不同的八鄰域限定條件下的情況的示意圖;
圖3是本發(fā)明一種車載指紋識(shí)別方法指紋數(shù)字圖像入庫(kù)流程圖;
圖4是本發(fā)明一種車載指紋識(shí)別方法指紋數(shù)字圖像匹配流程圖。
圖5是應(yīng)用本發(fā)明進(jìn)行車載指紋識(shí)別的流程圖。
具體實(shí)施方式
下面結(jié)合附圖所示的各實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說明,但應(yīng)當(dāng)說明的是,這些實(shí)施方式并非對(duì)本發(fā)明的限制,本領(lǐng)域普通技術(shù)人員根據(jù)這些實(shí)施方式所作的功能、方法、或者結(jié)構(gòu)上的等效變換或替代,均屬于本發(fā)明的保護(hù)范圍之內(nèi)。
參圖1所示,本實(shí)施例提供了一種車載指紋識(shí)別方法,包括:指紋采集、指紋數(shù)字圖像預(yù)處理、指紋特征提取和指紋特征匹配;其中,指紋數(shù)字圖像預(yù)處理包括:圖像銳化;灰度變換;圖像二值化;圖像細(xì)化;指紋特征提取包括端點(diǎn)標(biāo)識(shí);分叉點(diǎn)標(biāo)識(shí);去掉虛假結(jié)果。
在本實(shí)施例中,指紋數(shù)字圖像預(yù)處理還包括:指紋圖像灰度歸一化;指紋圖像灰度均衡化;指紋圖像分割;Gabor濾波。
在本實(shí)施例中,圖像銳化包括:利用fspecial函數(shù)生成濾波器,再利用imfilter函數(shù)對(duì)圖像進(jìn)行卷積計(jì)算;其中fspecial函數(shù)類型為unsharp型。
在本實(shí)施例中,圖像細(xì)化包括:采用模板匹配的方式將圖像變?yōu)閱蜗袼剡B通圖。
在本實(shí)施例中,去掉虛假結(jié)果包括:采用指紋圖像切割的方法切除圖像邊緣的點(diǎn);利用距離閾值法去除距離較近的特征點(diǎn)。
在本實(shí)施例中,指紋圖像分割采用基于梯度的指紋分割方法。
在本實(shí)施例中,指紋特征匹配包括:提取待匹配指紋數(shù)字圖像的中間點(diǎn),將該中間點(diǎn)作為匹配參考點(diǎn);采用端點(diǎn)及交叉點(diǎn)特征構(gòu)造入庫(kù)指紋的特征向量模板;將匹配參考點(diǎn)與模板庫(kù)中的匹配點(diǎn)進(jìn)行對(duì)比,利用歐式距離衡量指紋相似性,計(jì)算指紋是否匹配。
下面對(duì)本發(fā)明作詳細(xì)說明。
1、指紋識(shí)別預(yù)處理算法。
隨著數(shù)字圖像處理學(xué)和硬件技術(shù)的不斷發(fā)展,指紋的獲取由原始的按捺油墨的方式轉(zhuǎn)向了先進(jìn)的通過光電合成的采集儀來(lái)采集,然后轉(zhuǎn)換為數(shù)字圖像,再在計(jì)算機(jī)上進(jìn)行處理,從而獲得指紋的特征信息。在指紋圖像采集過程中由于按捺用力不均、表面皮膚特性、采集條件、成像傳感器等各種原因的影響,采集的指紋圖像是一副含多種不同程度噪音干擾的灰度圖像,紋線可能存在斷裂,粘連或模糊不清等現(xiàn)象。這些噪聲的存在將嚴(yán)重影響著指紋識(shí)別的準(zhǔn)確性,那么這就需要首先對(duì)采集的指紋數(shù)字圖像進(jìn)行第一步操作——圖像預(yù)處理。
本發(fā)明中預(yù)處理部分包括指紋圖像灰度歸一化和均衡化、指紋圖像分割、濾波、指紋圖像灰度變換、指紋圖像銳化、指紋圖像黑白二值化、指紋圖像細(xì)化。
1)指紋圖像灰度歸一化和均衡化
指紋圖像灰度歸一化
歸一化的目的在于消除指紋采集過程中由于傳感器自身的噪聲以及因?yàn)槭种笁毫Σ煌斐傻幕叶炔町?,將指紋圖像的對(duì)比度和灰度調(diào)整到一個(gè)固定的級(jí)別上,為后續(xù)處理提供一個(gè)較為統(tǒng)一的圖像規(guī)格??砂凑障率竭M(jìn)行歸一化:
其中,I(i,j)是點(diǎn)(i,j)的灰度值,Mean、VAR是原圖像的灰度值和方差,M0、是期望的灰度均值和方差。
對(duì)于一個(gè)離散的圖像,第i個(gè)灰度級(jí)ri的出現(xiàn)頻率數(shù)目用ni表示,該灰度像素對(duì)應(yīng)的概率值為:
式中:n為像素總數(shù),ri原始圖像的灰度值,滿足歸一化條件;pr(ri)為概率值。
指紋圖像灰度均衡化
均衡化是對(duì)圖像中像素個(gè)數(shù)多的灰度級(jí)進(jìn)行展寬,對(duì)像素個(gè)數(shù)少的灰度級(jí)進(jìn)行縮減。圖像進(jìn)行均衡化的函數(shù)表達(dá)式為:
其中,k為灰度級(jí),T(ri)為變換函數(shù),Si為原始圖像的像素值ri所對(duì)應(yīng)的值。相應(yīng)的反變換為:
Si=T-1(Si) (4)
2)指紋圖像分割
指紋圖像分割的目標(biāo)就是根據(jù)特征提取的需要,把指紋圖像中質(zhì)量很差、在后續(xù)處理中很難恢復(fù)的圖像區(qū)域與有效區(qū)域分開,使后續(xù)處理能夠集中在有效區(qū)域。能提高特征提取的精確度,能大大減少指紋預(yù)處理的時(shí)間。指紋分割常用算法有基于灰度方差法和基于方向的指紋分割方法。本發(fā)明采用基于梯度的指紋分割方法。
基于梯度的方法一般用梯度的一致性作為特征來(lái)分割指紋圖像,因指紋有效區(qū)域是平行的線性結(jié)構(gòu),所以前景區(qū)域的一致性一般都高于背景區(qū)域。在(i,j)點(diǎn)的一致性可以定義如式(5)所示。
式中,Vx,Vy分別代表在G(i,j)點(diǎn)x,y方向的梯度。
基于梯度的分割方法充分利用了指紋圖像的方向信息,但它又不像基于方向的分割算法那樣直接利用方向計(jì)算的結(jié)果,而是利用了梯度的一致性,很好的解決了分割對(duì)方向的嚴(yán)重依賴性。
3)Gabor濾波
Gabor濾波采用非線性平滑器,有著優(yōu)良的非線性平滑器性能和與生物視覺系統(tǒng)相近的特點(diǎn)。
Gabor非線性平滑器一般形式為:
式中,是Gabor非線性平滑器的方位,f是非線性平滑器的頻率,δx和δy分別是沿X軸和Y軸Gaussian包絡(luò)常數(shù)。采用合適的參數(shù)可以增強(qiáng)指定方位上的脊線和谷線的紋理結(jié)構(gòu),抑制雜亂的數(shù)字噪聲等信息。通過Gabor非線性平滑后得到的特征表達(dá)可以有效的代表指紋數(shù)字圖像,所以參數(shù)的選取就成為構(gòu)造Gabor非線性平滑器的關(guān)鍵步驟。在數(shù)字圖像上應(yīng)用Gabor非線性平滑器必須確定非線性平滑器的頻率、方位、Gaussian包絡(luò)常數(shù)三個(gè)參數(shù)。非線性平滑器的頻率特性f完全由某塊范圍的頻率所決定,方位也是由某塊范圍的方位決定。δx和δy的取數(shù)值需要視情況而定。取數(shù)值越大,對(duì)數(shù)字噪聲適應(yīng)能力越強(qiáng),但有可能產(chǎn)生偽的紋線;數(shù)值越小,產(chǎn)生偽細(xì)節(jié)的可能性越小,但去除數(shù)字噪聲的能力將減弱。
4)指紋圖像灰度變換(圖像增強(qiáng))
本實(shí)施例采用的就是使用直方圖均衡化增強(qiáng)灰度圖像對(duì)比度。直方圖修正指的是增強(qiáng)圖像像素值直方圖分布來(lái)對(duì)圖像進(jìn)行增強(qiáng)處理,經(jīng)過直方圖修正后,圖像像素值在各個(gè)級(jí)別上都有分布,圖像像素值間的差距拉大,更容易表現(xiàn)圖像細(xì)節(jié)。
數(shù)字圖像中灰度級(jí)為rk的像素出現(xiàn)的頻數(shù)(概率),式(9)中N為一幅圖像的總像素?cái)?shù),nk是第k級(jí)灰度的像素?cái)?shù),rk表示第k個(gè)灰度級(jí),P(rK)表示該灰度級(jí)出現(xiàn)的相對(duì)頻數(shù)。
對(duì)該數(shù)字圖像進(jìn)行直方圖的均衡化時(shí),對(duì)應(yīng)的離散形式為:
式中,S為r分布變換成S均勻分布。
利用式(10)做灰度變換,即可得到直方圖均衡化后的圖像。圖像直方圖一般能從整體上描述一幅圖像,如原圖像曝光不足或曝光過度,也可以看出動(dòng)態(tài)范圍選擇的合適與否。可以對(duì)圖像的直方圖做一些修改,以達(dá)到改善圖像的目的。
表1 histeq函數(shù)
直方圖修正通常有直方圖均衡化和直方圖規(guī)定化兩大類。本實(shí)施例中采用的就是直方圖均衡化。直方圖均衡化時(shí)常用的直方圖修正方法,一般情況下可以得到滿意的圖像效果,如表1所示。
5)指紋圖像銳化(圖像增強(qiáng))
為強(qiáng)化指紋紋線間的界限,突出邊緣信息,以利于二值化,銳化處理是必要的。銳化處理對(duì)于增強(qiáng)反差和檢測(cè)邊緣是很有用的。圖像銳化的作用就是補(bǔ)償圖像的輪廓,使圖像較為清晰。本實(shí)施例利用fspecial函數(shù)生成濾波器,再利用imfilter函數(shù)對(duì)圖像進(jìn)行卷積計(jì)算從而達(dá)到圖像銳化的效果。其中fspecial函數(shù)類型為unsharp型,是為了對(duì)比度增強(qiáng)濾波器,參數(shù)alpha用于控制濾波器的形狀,范圍為[0,1],默認(rèn)值為0.2。
6)指紋圖像黑白二值化
指紋數(shù)字圖像二值化作為指紋數(shù)字圖像預(yù)處理過程的一部分,是進(jìn)行指紋數(shù)字圖像細(xì)化處理的基礎(chǔ)。二值圖像是指整幅圖像畫面內(nèi)僅黑(灰度值為0)白(灰度值為1)二值的圖像,在它們上面不呈現(xiàn)出灰度的變化。在數(shù)字圖像處理中,二值化圖像占有非常重要的地位。這是因?yàn)樵趯?shí)用的圖像處理系統(tǒng)中,要求處理的速度高、成本低,信息量大的濃淡圖像處理花銷太大,不是上策。而且二值化后的圖像能夠用幾何學(xué)中的概念進(jìn)行分析和特征描述,比起灰度圖像來(lái)說方便的多。因而二值化圖像處理目前已成為圖像處理中的一個(gè)獨(dú)立的、重要分支而獲得廣泛的應(yīng)用。對(duì)于指紋的識(shí)別來(lái)說,有的信息得包含有脊線和谷線的二值描述中。因而必須根據(jù)原始的灰度圖像來(lái)確定圖像上的每一點(diǎn)應(yīng)屬于客體區(qū)域,從而產(chǎn)生對(duì)應(yīng)的二值圖像。它不僅可以大大減少存儲(chǔ)量,而且對(duì)使得后面的判別過程少受干擾,大大簡(jiǎn)化其后的處理方法。二值化后的圖像是以后處理的基礎(chǔ),它的算法對(duì)后面的處理有直接的影響。
7)指紋圖像細(xì)化
物體的形狀信息對(duì)指紋數(shù)字圖像的處理十分重要。細(xì)化是在提取指紋特征點(diǎn)之前的最后一道工序。簡(jiǎn)單的說,細(xì)化是在不影響原圖的拓?fù)溥B接關(guān)系下,將脊的寬度降為單個(gè)像素寬度的處理過程。一個(gè)好的細(xì)化方法是保持原有脊的連續(xù)性,降低由于人為因素所造成的影響。人為因素主要有毛刺和短脊線等情況,這些都會(huì)造成提取出來(lái)的特征中有很多的偽特征。細(xì)化的優(yōu)點(diǎn)是減少內(nèi)存空間,它只需要存儲(chǔ)圖像中必需的結(jié)構(gòu)信息。這樣,在對(duì)圖像的處理中能簡(jiǎn)化數(shù)據(jù)結(jié)構(gòu)。
細(xì)化結(jié)構(gòu)根據(jù)細(xì)化方式的不同而有差異。在不改變?cè)袌D像的拓?fù)溥B接性的同時(shí),細(xì)化的結(jié)構(gòu)應(yīng)為嚴(yán)格的八鄰域數(shù)字圖像骨架;紋線中除去特征點(diǎn)以外,每個(gè)像素都只與相鄰兩個(gè)像素為八鄰域,抹去任意像素都將破壞紋線的連接性。紋線細(xì)化處理過程要符合收斂性、拓?fù)湫浴⑦B接性、細(xì)化性、中軸性、保持性、快速性等要求。
細(xì)化方式用的比較多的是模板匹配的方式。這種方式是根據(jù)某個(gè)像素的局部鄰域(如3×3,5×5等)的數(shù)字圖像特征對(duì)其進(jìn)行處理,例如迭代法、OPTA單連通法等都是采用的模板匹配的方法。細(xì)化的方法還有采用邊緣搜索編碼、外輪廓計(jì)算以及神經(jīng)網(wǎng)絡(luò)等細(xì)化方式。
對(duì)于任意形狀的范圍,細(xì)化過程中要根據(jù)每個(gè)像素的八個(gè)相鄰點(diǎn)的情況來(lái)判斷該點(diǎn)是否可以剔除或保留,其實(shí)質(zhì)類似于腐蝕操作,例如,圖2中給出了當(dāng)前需要處理的像素在不同的八鄰域限定條件下的情況。
從圖2可以看出:(a)圖不能移除,因?yàn)樗莻€(gè)內(nèi)部點(diǎn),我們要求的是骨架,如果連內(nèi)部點(diǎn)也移除了,骨架也會(huì)被掏空的;與(a)相同,(b)不能移除;(c)可以移除,這樣的點(diǎn)不是骨架;(d)不能移除,因?yàn)橐瞥艉?,原?lái)相連的部分?jǐn)嚅_了;(e)可以移除,這樣的點(diǎn)不是骨架;(f)不能移除,因?yàn)樗侵本€的端點(diǎn),如果這樣的點(diǎn)移除了,那么最后整個(gè)直線也被移除了,剩不下什么;(g)不能移除,因?yàn)楣铝Ⅻc(diǎn)的骨架就是它自身。根據(jù)圖2我們可以歸納出如下結(jié)論:內(nèi)部點(diǎn)、孤立點(diǎn)和直線端點(diǎn)都不能移除;當(dāng)P為邊界點(diǎn)時(shí),如果去掉P后不增加連通分量則可以移除P點(diǎn)。
指紋圖像的細(xì)化目的是將圖像變?yōu)閱蜗袼剡B通圖,細(xì)化效果的好壞直接影響能否準(zhǔn)確提取細(xì)節(jié)特征。
2、指紋特征提取
當(dāng)?shù)玫浇?jīng)過細(xì)化的二值化數(shù)字圖像后,然后就是要對(duì)細(xì)化后的數(shù)字圖像進(jìn)行關(guān)鍵特征提取,從而達(dá)到識(shí)別不同的指紋數(shù)字圖像的目的。特征提取是指將指紋數(shù)字圖像的紋線走向、端點(diǎn)、交叉點(diǎn)等特征用數(shù)值的形式表示出來(lái),從而能夠充分的表示指紋圖像的唯一性,即從預(yù)處理后的指紋圖中提取出全局特征的過程。
指紋數(shù)字圖像特征提取的方法主要有兩種,一個(gè)是從指紋的原灰度圖像上識(shí)別細(xì)節(jié)特征,一個(gè)是從指紋的細(xì)化圖像上識(shí)別細(xì)節(jié)特征。提取指紋的特征主要有兩類,其中一個(gè)是指紋的類別特征,即全局特征,另一個(gè)是指紋的局部特征,它包括端點(diǎn)、分叉點(diǎn)、歧點(diǎn)、孤立點(diǎn)等信息。
本實(shí)施例要提取的是端點(diǎn)和分叉點(diǎn)信息。下面具體介紹端點(diǎn)和分叉點(diǎn)的提取以及如何去掉虛假結(jié)果。
1)端點(diǎn)和分叉點(diǎn)的提取
端點(diǎn):一條指紋線路在該點(diǎn)終結(jié)。
分叉點(diǎn):一條指紋線路在此分開成兩條或更多的指紋線路。
指紋上的特征除了具有分類的特性外,還具有以下三個(gè)不同特性:
(1)方向——特征點(diǎn)可以朝著一定的方向;
(2)曲率——描述紋路的方向改變的速度;
(3)位置——特征點(diǎn)的位置可以用坐標(biāo)(x,y)來(lái)表示,它可以是絕對(duì)的,也可以是相對(duì)的三角點(diǎn)或特征點(diǎn)。
2)去掉虛假結(jié)果
指紋特征點(diǎn)提取過程中會(huì)出現(xiàn)很多虛假的特征點(diǎn),因此需要將其去掉,以保證指紋特征的有效性。指紋特征去偽操作主要是將不符合指紋特征的特征點(diǎn)濾除掉。偽特征有以下特點(diǎn):大部分處于圖像邊緣;在圖像內(nèi)部的偽特征點(diǎn)距離較近,兩個(gè)或多個(gè)偽特征同時(shí)存在于很小的區(qū)域內(nèi)。本實(shí)施例根據(jù)這些特點(diǎn)提出了兩種去偽方法:首先對(duì)于圖像邊緣的點(diǎn),采用指紋圖像切割的方法,即對(duì)邊緣的點(diǎn)直接切除掉;然后利用距離閾值法去除距離較近的特征點(diǎn)。
3、指紋圖像匹配
指紋數(shù)字圖像的特征匹配主要是對(duì)所提取的細(xì)節(jié)特征進(jìn)行匹配,將要比對(duì)的新的圖像特征數(shù)值與所建立的指紋庫(kù)中的圖像的細(xì)節(jié)特征數(shù)值進(jìn)行比對(duì),并將最為相似的圖像作為結(jié)果輸出,這是指紋數(shù)字圖像的驗(yàn)證識(shí)別過程,也是指紋識(shí)別系統(tǒng)的最終目的。
1)設(shè)置閾值進(jìn)行匹配
在指紋數(shù)字圖像匹配之前,要先提取出指紋數(shù)字圖像的中間點(diǎn),再建立特征模板,這些都是為指紋數(shù)字圖像進(jìn)行匹配做的準(zhǔn)備工作。
(1)中間點(diǎn)定位
中間點(diǎn)是指指紋數(shù)字圖像的脊曲線曲率最大的點(diǎn),在本實(shí)施例的算法中,將中間點(diǎn)作為匹配參考點(diǎn)。這里選取的中間是指紋數(shù)字圖像中間的一個(gè)小范圍,先求出指紋數(shù)字圖像的點(diǎn)方位,相鄰8個(gè)灰度數(shù)值之和的平均數(shù)值,再求這8個(gè)灰度數(shù)值與平均數(shù)值之差的和,最小的所在的方位即詞典所在指紋數(shù)字圖像脊線的方位,從而得到點(diǎn)方位圖。把點(diǎn)方位圖分為16×16大小的小塊,對(duì)每塊計(jì)算直方圖,其峰數(shù)值方位即為塊方位,即每塊中點(diǎn)的主導(dǎo)方位。然后在這個(gè)粗的塊方位圖上按照以下原則去搜索中間范圍,逐行檢查方塊數(shù)組。然后再根據(jù)求出各個(gè)方位的角度以及相鄰8個(gè)灰度數(shù)值之和的平均數(shù)值,再求這8個(gè)灰度數(shù)值與平均數(shù)值之差的和,最小的所在的方位即此點(diǎn)所在指紋數(shù)字圖像脊線的方位,這樣就得到了點(diǎn)方位圖。
(2)建立特征模板
端點(diǎn)及交叉點(diǎn)是指紋細(xì)化圖像的主要特征,我們可以采用這兩種主要特征來(lái)構(gòu)造指紋的特征向量模板。特征端點(diǎn)分類為1,特征分叉點(diǎn)分類為2;建立特征端點(diǎn)相對(duì)中間點(diǎn)的距離向量,和特征分叉點(diǎn)相對(duì)中間點(diǎn)的距離向量;建立特征端點(diǎn)相對(duì)中間點(diǎn)的方位向量,和特征分叉點(diǎn)相對(duì)中間點(diǎn)的方位向量。特征提取方法如下:
設(shè)Cn(P)為交叉數(shù),為Sn(P)像素,8-鄰域
對(duì)于一幅徹底細(xì)化的指紋圖像來(lái)說,只有三種紋線:(1)Cn(P)=1,Sn(P)=1稱為端點(diǎn);(2)Cn(P)=2,Sn(P)=2,3,4稱為連續(xù)點(diǎn);(3)Cn(P)=3,Sn(P)=3稱為叉點(diǎn)。設(shè)提取的特征點(diǎn)集用P表示,其中n為所提取的特征點(diǎn)的個(gè)數(shù),Pi=(Xi,Yi,Ti,Ai)表示特征點(diǎn)的坐標(biāo);Ti表示特征點(diǎn)的類型,當(dāng)特征點(diǎn)為端點(diǎn)時(shí)Ti=2;Ai表示特征點(diǎn)的角度,端點(diǎn)的角度取從端點(diǎn)為起點(diǎn)的端線的角度。端線及分支的角度求法為:從特征點(diǎn)開始搜索連續(xù)點(diǎn)直到搜到另一個(gè)特征點(diǎn)或步長(zhǎng)達(dá)到7,設(shè)搜索到的最后一點(diǎn)為(X,Y),有:
(3)定義匹配點(diǎn)
定義匹配點(diǎn)PointOfModel(點(diǎn)集合P中的特征點(diǎn))是從輸入的指紋數(shù)字圖像中提取出來(lái)的,另外一個(gè)匹配點(diǎn)PointOfMatch(點(diǎn)集合Q中的特征點(diǎn))則是從指紋數(shù)字圖像庫(kù)中提取出來(lái)儲(chǔ)存在模板庫(kù)中的,將兩組點(diǎn)集合進(jìn)行比對(duì)。
2、指紋數(shù)字圖像的匹配算法
指紋數(shù)字圖像匹配歷來(lái)是指紋數(shù)字圖像模型識(shí)別中的一個(gè)難題。它是對(duì)于兩個(gè)含有不同數(shù)量的點(diǎn)集P{p1,p2,...pm}和Q{q1,q2...qn}如何找出它們之間的匹配關(guān)聯(lián)。因此,能夠有效地解決兩個(gè)點(diǎn)集間的幾何變量問題的算法才是好的指紋數(shù)字圖像匹配算法。指紋數(shù)字圖像匹配目前存在很多算法,比如松弛算法,其中有的文獻(xiàn)只處理了點(diǎn)模型間因平滑帶來(lái)的偏差;也有的紋線處理了因平滑和調(diào)轉(zhuǎn)帶來(lái)的誤差。
指紋數(shù)字圖像匹配中的兩個(gè)點(diǎn)集P和Q,其中P從第一幅數(shù)字圖像抽取,有m個(gè)特征點(diǎn)構(gòu)成,Q從第二幅數(shù)字圖像抽取,有n個(gè)特征點(diǎn)構(gòu)成,即P{p1,p2,...pm}和Q{q1,q2...qn}。因?yàn)樵趯?shí)際應(yīng)用中,點(diǎn)的相對(duì)位置存在誤差,所以它們之間的匹配就是對(duì)每一個(gè)特征點(diǎn)分別提取,再相對(duì)于中間點(diǎn)取得的向量進(jìn)行比對(duì)的過程,使兩個(gè)點(diǎn)集有最大數(shù)量點(diǎn)對(duì)之間存在穩(wěn)定的一一對(duì)應(yīng)關(guān)聯(lián)。
對(duì)于點(diǎn)集中的特征點(diǎn),本實(shí)施例用x方位和y方位的坐標(biāo)來(lái)描述,指紋數(shù)字圖像每一特征點(diǎn)是一個(gè)五維向量(x,y,β,t,c),其中x,y分別是該點(diǎn)的坐標(biāo)位置,β是特征點(diǎn)相對(duì)于中間點(diǎn)的方位向量,t為特征點(diǎn)的類型(即是分叉點(diǎn)還是端點(diǎn)),c為特征點(diǎn)相對(duì)于中間點(diǎn)的距離向量。
因此可以使用一些合適的算法,通過搜索某一參數(shù)空間內(nèi),有多少指紋數(shù)字圖像對(duì)匹配,即匹配支持?jǐn)?shù)。當(dāng)所得的匹配支持?jǐn)?shù)最大時(shí),也就得到了所需要的結(jié)果。本實(shí)施例利用歐式距離來(lái)衡量指紋相似性,從而計(jì)算出指紋是否匹配。
歐式距離(Euclidean distance)也稱歐幾里得距離,它是一個(gè)通常采用的距離定義,它是在n維空間中兩個(gè)點(diǎn)之間的真實(shí)距離。
在二維和三維空間中的歐式距離指的就是兩點(diǎn)之間的距離。
二維的公式為:d=sqrt((x1-x2)2+(y1-y2)2) (14)
三維的公式為:d=sqrt((x1-x2)2+(y1-y2)2+(z1-z2)2) (15)
當(dāng)然歐式距離也可以推廣到n維空間,n維空間的歐式距離的公式為:
這里i=1,2··n。Xi1表示第一個(gè)點(diǎn)的第i維坐標(biāo)。n維歐式空間是一個(gè)點(diǎn)集,它的每個(gè)點(diǎn)可以表示(x(1),x(2),···x(n)),其中x(i)(i=1,2···n)是實(shí)數(shù),稱為x的第i個(gè)坐標(biāo),兩個(gè)點(diǎn)x和y=(y(1),y(2)···y(n))之間的距離d(x,y)定義為上面的公式。
簡(jiǎn)單的說,歐式距離就是將兩組特征向量相減,然后求出他們對(duì)應(yīng)之間的差的平方和,然后開根號(hào)。例如:A=(1,2,3)B=(4,5,6)則他們之間的距離就是d=sqrt((1-4)2+(2-5)2+(3-6)2),然后系統(tǒng)就逐一搜索數(shù)據(jù)庫(kù)文件,求他們距離的最小值。如果他們之間的距離是0,則系統(tǒng)認(rèn)為這兩張數(shù)字圖像是一樣的,或者說來(lái)自于同一手指。歐式距離看作信號(hào)的相似程度,距離越近就越相似,就越容易相互干擾,誤碼率就越高。
下面通過具體實(shí)例對(duì)本發(fā)明作進(jìn)一步說明:
參圖3及圖4所示。
(1)選擇指紋數(shù)字圖像
要求所選擇的指紋圖像必須是黑白的,并且必須是256×256大小的。滿足這些要求之后才能進(jìn)行下面的操作,如果該要求不滿足則一直提示選擇黑白圖像。
(2)指紋圖像預(yù)處理
預(yù)處理部分包括:指紋圖像中心點(diǎn)的確定、指紋圖像灰度歸一化和均衡化、指紋圖像分割、Gabor濾波、指紋圖像銳化、指紋圖像灰度變換、指紋圖像黑白二值化、指紋圖像細(xì)化。經(jīng)過一系列的預(yù)處理過程使得原本可能不清晰或者有其他缺陷的指紋數(shù)字圖像變得分明起來(lái),為后面的特征提取奠定了良好的基礎(chǔ)。
(3)指紋圖像特征提取并入庫(kù)
在經(jīng)過Gabor濾波后,在一個(gè)方位非線性平滑中,脊方位與之對(duì)應(yīng)的那些部分指紋數(shù)字圖像的脊和谷的區(qū)分度就得到了加強(qiáng),這樣就能減少特征提取的誤差,提高系統(tǒng)指紋數(shù)字圖像匹配的精確度。
本實(shí)施例采用了64個(gè)扇形塊逐個(gè)處理,程序提取的是每個(gè)指紋數(shù)字圖像灰度數(shù)值的絕對(duì)指標(biāo)差,在這個(gè)系統(tǒng)中特征提取算法步驟如下:首先要確定指紋數(shù)字圖像的中間點(diǎn);其次根據(jù)中間點(diǎn),切割指紋數(shù)字圖像,系統(tǒng)把它分成一些小塊,在這個(gè)系統(tǒng)中,分成了64個(gè)小塊;最后用八個(gè)方位非線性平滑器,使脊的方位就得到加強(qiáng),經(jīng)過處理得到一個(gè)方位非線性平滑上的特征向量,系統(tǒng)把這個(gè)特征向量存入數(shù)據(jù)庫(kù)中作為匹配的依據(jù)。
(4)選擇指紋與庫(kù)中指紋匹配
系統(tǒng)使用的搜索算法為簡(jiǎn)單的順序查找方式,就是對(duì)數(shù)據(jù)庫(kù)文件的逐一搜索,系統(tǒng)讀入一張指紋數(shù)字圖像圖片時(shí),就根據(jù)以上的方式,對(duì)這一幅指紋數(shù)字圖像進(jìn)行特征提取,編碼,保存到臨時(shí)變量里面去。系統(tǒng)的指紋數(shù)字圖像數(shù)據(jù)庫(kù)文件里同樣也保存一組指紋數(shù)字圖像灰度偏差的特征。具體過程如下:
首先申請(qǐng)內(nèi)存空間,保存匹配結(jié)果的臨時(shí)變量,并保存對(duì)系統(tǒng)輸入要匹配的指紋數(shù)字圖像的編碼;然后搜索系統(tǒng)的數(shù)據(jù)庫(kù)文件,若數(shù)據(jù)庫(kù)文件為空,則結(jié)束查找;最后,若系統(tǒng)的數(shù)據(jù)庫(kù)文件不為空時(shí),由于在指紋數(shù)字圖像入庫(kù)的時(shí)候,給數(shù)據(jù)庫(kù)文件里面指紋數(shù)字圖像編碼一定的順序,同樣,系統(tǒng)也給要匹配的指紋數(shù)字圖像編碼設(shè)置一樣的順序。這樣系統(tǒng)可以依次匹配,這樣可以根據(jù)歐式距離匹配算法,來(lái)判斷兩個(gè)指紋數(shù)字圖像之間的距離。前面提到系統(tǒng)對(duì)一張指紋數(shù)字圖像保存兩次編碼,這個(gè)系統(tǒng)就是把對(duì)應(yīng)的特征相比較,取其中較小的一個(gè)作為系統(tǒng)比對(duì)的結(jié)果。
本文采用通過比較待測(cè)試圖像與數(shù)據(jù)庫(kù)中模板圖像相關(guān)特征點(diǎn)的歐式距離來(lái)實(shí)現(xiàn),一個(gè)指紋圖,如果匹配指數(shù)大于定值T,則認(rèn)為匹配成功,否則失敗。
(5)輸出結(jié)果
用消息對(duì)話框顯示匹配結(jié)果,包括匹配庫(kù)中指紋編號(hào)和計(jì)算出的歐式距離。
本實(shí)施例中主要的模塊處理過程包括:
(1)輸入圖像
在本實(shí)施例中采用的是從下拉菜單中選擇圖像的方式,GUI設(shè)計(jì)中使用的是popupmenu。回調(diào)函數(shù)即設(shè)置6個(gè)模式,當(dāng)選擇模式幾的時(shí)候在其后讀入相應(yīng)的圖片即可。
需要注意的是在讀入之后的顯示問題。由于本實(shí)施例有圖像比對(duì)的過程,所以需要兩個(gè)顯示區(qū)域,這就需要在讀入圖片時(shí)將二者分別顯示在不同的區(qū)域。即使用語(yǔ)句axes(handles.axes1)即顯示在axes1中。在實(shí)施例中不能單純將該語(yǔ)句寫在imshow前面,而是要寫在選擇模式之前,這才是真正的實(shí)現(xiàn)將兩幅指紋圖像分別顯示在兩個(gè)不同的區(qū)域中。
(2)圖像增強(qiáng)處理
為了確保指紋自動(dòng)識(shí)別系統(tǒng)的工作效果,需要對(duì)指紋圖像進(jìn)行圖像增強(qiáng)處理。增強(qiáng)主要包括兩部分:銳化和灰度變換。銳化就是要先生成濾波器fspecial,再利用imfilter進(jìn)行圖像卷積計(jì)算;灰度圖像的數(shù)值表示的是灰度圖像的亮度,灰度圖像的亮度反差可以使用對(duì)比度來(lái)表示,對(duì)比度可以表示為:對(duì)比度=亮度最大值/最小值。
如果對(duì)比度較小,意味著亮度的最大值和最小值相差不大,圖像的對(duì)比度不強(qiáng),圖像內(nèi)容差別不大,看不清圖像的內(nèi)容;如果對(duì)比度較大,意味著亮度的最大值和最小值相差比較大,圖像的對(duì)比度較強(qiáng),圖像的內(nèi)容差別比較大,可以看清楚圖像的內(nèi)容。
增強(qiáng)圖像對(duì)比度實(shí)際是增強(qiáng)原圖像的各部分反差,也就是說增強(qiáng)圖像中感興趣的灰度區(qū)域,相對(duì)抑制那些不感興趣的灰度區(qū)域。本實(shí)施例中使用的是使用直方圖均衡化增強(qiáng)灰度圖像對(duì)比度。
(3)圖像黑白二值化
對(duì)圖像進(jìn)行黑白二值化處理。經(jīng)過處理后,指紋中的隆線變成了很明顯的黑線,犁溝變成了白色。
(4)圖像細(xì)化
將指紋的隆線細(xì)化。隆線細(xì)化消除了隆線兩邊多余的像素,最后隆線的寬度變成一個(gè)像素寬。
(5)端點(diǎn)標(biāo)識(shí)
a.Minutie濾波
使用濾波器minutie對(duì)隆線進(jìn)行濾波處理。Minutie濾波器將使用一個(gè)3×3窗口處理圖像像素。如果中心像素點(diǎn)是1且只有一個(gè)值為1的鄰域像素點(diǎn),則中心像素點(diǎn)是隆線端點(diǎn)。如果中心像素是1而周圍有3個(gè)值為1的鄰域像素點(diǎn),則中心像素點(diǎn)是一個(gè)分叉點(diǎn)。如果中心像素點(diǎn)是1而周圍有2個(gè)值為1的鄰域像素點(diǎn),則中心像素點(diǎn)是普通像素點(diǎn)。
b.端點(diǎn)標(biāo)識(shí)處理
對(duì)隆線的端點(diǎn)進(jìn)行標(biāo)識(shí)并繪制標(biāo)記點(diǎn)。步驟分為以下幾步:
步驟1:得到函數(shù)句柄,此處用到minutie函數(shù);
步驟2:進(jìn)行濾波處理;
步驟3:選擇端點(diǎn)并對(duì)端點(diǎn)進(jìn)行標(biāo)識(shí);
步驟4:對(duì)端點(diǎn)區(qū)域進(jìn)行分析,尋找端點(diǎn)區(qū)域中心;
步驟5:端點(diǎn)圓整為整數(shù);
步驟6:用紅色圓圈對(duì)隆線端點(diǎn)進(jìn)行標(biāo)識(shí)。
c.分叉點(diǎn)標(biāo)識(shí)
對(duì)隆線的分叉點(diǎn)進(jìn)行標(biāo)識(shí)
d.去掉虛假結(jié)果
去除對(duì)隆線端點(diǎn)和分叉點(diǎn)標(biāo)識(shí)過程中產(chǎn)生的虛假標(biāo)識(shí),為了去掉虛假結(jié)果,處理過程如下所示:
過程1:如果一個(gè)端點(diǎn)和一個(gè)分叉點(diǎn)之間的距離小于D,則去掉這個(gè)結(jié)果。
過程2:如果兩個(gè)分叉點(diǎn)之間的距離小于D,則去掉這個(gè)結(jié)果。
過程3:如果兩個(gè)端點(diǎn)之間的距離小于D,則去掉這個(gè)結(jié)果。
(6)設(shè)定圖像處理區(qū)域并顯示細(xì)節(jié)
需要決定一個(gè)圖像處理區(qū)域ROI。為了實(shí)現(xiàn)ROI的確定,考慮用黑白圖像,同時(shí)對(duì)圖像使用一次閉運(yùn)算和一次腐蝕運(yùn)算。設(shè)置透明度并且繪制端點(diǎn)標(biāo)識(shí)和分叉點(diǎn)標(biāo)識(shí),對(duì)標(biāo)識(shí)圖和ROI圖進(jìn)行疊加顯示。也可以在原圖上顯示,本實(shí)施例選擇標(biāo)識(shí)在原圖上顯示。
(7)保存特征細(xì)節(jié)
特征細(xì)節(jié)包括隆線方位,隆線端點(diǎn)方位和隆線分叉方位,其中隆線方位是確定了不同細(xì)節(jié)后,可以找到每個(gè)細(xì)節(jié)的方位特征;隆線端點(diǎn)方位是必須找到端點(diǎn)方位,為了實(shí)現(xiàn)端點(diǎn)方位查找,使用一個(gè)5×5端點(diǎn)分析窗口分析邊界上的店,將得到的位置進(jìn)行查表處理。
本系統(tǒng)的目的在于提供一種融合指紋數(shù)字圖像特征和細(xì)節(jié)點(diǎn)特征進(jìn)行匹配,從而快速實(shí)現(xiàn)指紋數(shù)字圖像識(shí)別的方式,步驟如下:
第一步,參照點(diǎn)檢測(cè)及其方位確定,即對(duì)輸入數(shù)字圖像進(jìn)行數(shù)字圖像失真校正、數(shù)字圖像分割后,根據(jù)不同尺寸范圍內(nèi)梯度方位的一致性來(lái)平滑方位場(chǎng),并利用多分辨率范圍方位變化的屬性檢測(cè)出指紋數(shù)字圖像的參照點(diǎn),緊接著以參照點(diǎn)為中間,觀察不同尺寸扇形范圍內(nèi)指紋數(shù)字圖像的方位與徑向方位的差異從而確定出參照點(diǎn)的參考方位。
第二步,數(shù)字圖像特征提取,即以檢測(cè)的參照點(diǎn)為中間對(duì)指紋數(shù)字圖像截圖,截圖大小128×128,為獲取指紋數(shù)字圖像的數(shù)字圖像特征,首先對(duì)數(shù)字圖像進(jìn)行二級(jí)小波變換,對(duì)于低頻部分再進(jìn)行傅里葉變換,即先對(duì)低頻部分進(jìn)行小波變換,高通非線性平滑后極對(duì)數(shù)坐標(biāo)變換,之后再進(jìn)行小波變換,得到64×64唯獨(dú)的系數(shù)矩陣,規(guī)范化后對(duì)其進(jìn)行特征選擇,最終得到指紋數(shù)字圖像的特征矢量;
第三步,細(xì)節(jié)點(diǎn)模板建立,即對(duì)第二步得到的截圖進(jìn)行數(shù)字圖像增強(qiáng)、二值化、細(xì)化等操作后,得到指紋數(shù)字圖像截圖的細(xì)化數(shù)字圖像,然后提取出指紋數(shù)字圖像的細(xì)節(jié)點(diǎn),以檢測(cè)的參照點(diǎn)為極點(diǎn),將得到的細(xì)節(jié)點(diǎn)轉(zhuǎn)化到極坐標(biāo)系下,從而建立起指紋數(shù)字圖像細(xì)節(jié)點(diǎn)模板;
第四步,特征匹配,即對(duì)輸入的待比對(duì)指紋數(shù)字圖像,利用上述三個(gè)步驟得到的指紋數(shù)字圖像特征和細(xì)節(jié)模板判斷兩枚指紋數(shù)字圖像是否匹配。
第五步,匹配成功。
參圖5所示,圖5是應(yīng)用本發(fā)明進(jìn)行車載指紋識(shí)別的流程圖。
首先插入鑰匙,將啟動(dòng)開關(guān)打至ON檔,指紋識(shí)別系統(tǒng)通電,車主輸入指紋,經(jīng)數(shù)據(jù)庫(kù)返回匹配結(jié)果。如果指紋匹配成功,指紋識(shí)別系統(tǒng)控制啟動(dòng)電機(jī)和油泵的控制電路閉合使得電路導(dǎo)通,然后將啟動(dòng)開關(guān)打至START檔,汽車正常啟動(dòng);若指紋匹配不成功,啟動(dòng)電機(jī)和油泵的控制電路依然斷開(單片機(jī)控制繼電器模擬),車主重新輸入指紋,若三次輸入指紋均匹配失敗則啟動(dòng)報(bào)警。
上文所列出的一系列的詳細(xì)說明僅僅是針對(duì)本發(fā)明的可行性實(shí)施方式的具體說明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無(wú)論從哪一點(diǎn)來(lái)看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。