沈朝平,張亞君,陳 龍
(杭州電子科技大學(xué)電子信息學(xué)院,浙江杭州310018)
指紋識別是一種利用人體固有的生物特征進(jìn)行身份識別的技術(shù)。近年來,國內(nèi)外不少研究指紋識別的學(xué)者已取得了不少成果。國外,研究成果有:利用方向傅里葉濾波器、Gabor濾波器等對指紋圖像進(jìn)行濾波增強(qiáng)算法[1、2];基于方向濾波并采用閾值的二值化算法;基于紋理結(jié)構(gòu)、能量自適應(yīng)混合、人工神經(jīng)網(wǎng)絡(luò)、遺傳算法等匹配算法[3、4]。國內(nèi),研究成果有:利用Log-Gabor濾波器、圓形Gabor濾波器等對指紋圖像進(jìn)行濾波增強(qiáng)算法[5];結(jié)合方向信息的指紋圖像的二值化算法[6];基于相似度直方圖的指紋混合匹配算法。指紋識別技術(shù)主要包括指紋預(yù)處理、特征提取和匹配。在實際應(yīng)用中,因眾多因素的干擾,使得采集到的圖像質(zhì)量較差。因此,指紋圖像預(yù)處理的效果直接關(guān)系到指紋識別系統(tǒng)性能的好壞。本文結(jié)合了指紋圖像的特點,采用MFC編程技術(shù)開發(fā)了一套實用性很強(qiáng)的指紋圖像預(yù)處理方法。
指紋圖像分為前景和背景兩部分,從指紋圖像中分離出指紋對象的目的就是針對性地進(jìn)行處理,從而節(jié)約處理時間。分割的方法是,將整幅圖像分塊,求取每個分塊圖像內(nèi)各點的最大、最小灰度值、灰度的中值以及各塊的灰度值方差。選定一個分割閾值T,若該塊的灰度值方差大于T則設(shè)置該塊為前景,否則設(shè)置該塊為背景。
失衡的圖像在某一段灰度范圍內(nèi)對比度差,不利于分辨。對圖像進(jìn)行均衡處理,加大圖像的反差,增強(qiáng)圖像的對比度,有利于分辨。
對于均衡算法,灰度拉伸和直方圖修正兩種模型比較常用,本文采用灰度直方圖修正的模型算法。其統(tǒng)計了圖像的灰度分布,根據(jù)灰度分布統(tǒng)計某灰度級,計算該灰度級上的象素數(shù)量,再除以面積,重新轉(zhuǎn)換該灰度級獲得新的灰度分布統(tǒng)計。
反映失真的指紋圖像,某點的象素都呈現(xiàn)一定范圍的正態(tài)隨機(jī)分布,那么這些象素可用正態(tài)分布收斂方法得到一定程度的收斂。無論隨機(jī)變量的分布如何,若干個獨立隨機(jī)變量抽樣值之和總是滿足高斯分布的,因此可用采用高斯函數(shù)對指紋圖像進(jìn)行正態(tài)收斂。
指紋圖像收斂算法描述如下。
(1)二維高斯函數(shù)描述的指紋圖像x和y軸上發(fā)散點的收斂函數(shù)為:
(2)高斯模板算子
設(shè)m是高斯模板的矩陣維度,矩陣維度的計算公式為:m=2×2δ2+1。Gm高斯模板算子的計算公式為:
在指紋圖像采集過程中,傳感器表面污漬等采集進(jìn)來形成污染點。為了去除指紋圖像上的噪聲點,必須參考周圍象素,用指紋對象周圍相關(guān)象素平均模板對它進(jìn)行平滑處理。
指紋圖像平滑算法描述如下。
(2)卷積運算定義為:
(3)平滑模板算子是表示卷積過程中權(quán)重的矩陣,常用的模板如平滑模板、變異檢測模板等都是對稱的,因而這種鄰域運算就是卷積運算,其對應(yīng)于指紋圖像就是平滑。
在指紋圖像采集過程中,可能會受到噪聲干擾等多種因素的影響,因此需要進(jìn)行指紋增強(qiáng),從而可以保證信息提取的準(zhǔn)確度和可靠性。二維Gabor濾波器函數(shù)表示為:
式中,x'=xsinθ+ycosθ,y'=xcosθ-ysinθ,θ代表濾波器的方向因子,f為指紋紋線在θ角度上頻率度的參數(shù),即為(λ為平均脊線寬度),δx'和δy'分別表示高斯函數(shù)在x'和y'軸上的標(biāo)準(zhǔn)差,通常兩者均取值為4。
對圖像的濾波采用如下公式:
式中,R=16,為Gabor濾波器模板的大小。
Gabor濾波器是二維卷積運算,當(dāng)濾波窗口比較大時,運算的時間是較長的。所以本文對濾波算法進(jìn)行了改進(jìn),改進(jìn)后的公式如下:
當(dāng)Gauss窗口為M×M時,如果采用式5對每個象素做運算時,運算量為M×M次乘法和M×M-1次加法,而使用式6運算時,運算量為4M次乘法和4M-2次加法。由此可以看出對于較大的窗口式6能夠有效地減小運算量,從而提高了效率。
二值化的目的是把灰度指紋圖像變成0和1取值的二值圖像。對一幅圖像進(jìn)行二值化,首先必須選取閾值,把高于閾值的象素點判為1,低于閾值的象素點判為0。對于指紋圖像的象素點,如果一個象素點切向灰度和小于法向灰度和,則可以判定該點在脊線上,反之則該點在谷線上。為了提高精度,在求灰度和時,對每個點都設(shè)置權(quán)值,采用加權(quán)平均的方法。
細(xì)化是將二值化后的圖像中去掉一些象素點,但保持指紋圖像中紋線的中軸線不變。那么怎樣判斷一個點是否去掉呢?根據(jù)它的8個相鄰點的情況來判斷,幾個例子如圖1所示:
圖1 根據(jù)某點的8個相鄰點的情況來判斷該點是否刪除
本文以VC++6.0為平臺實現(xiàn)的指紋圖像預(yù)處理算法,實驗結(jié)果如圖2、3所示。本文結(jié)合指紋紋理特點和圖像處理技術(shù)實現(xiàn)了一套指紋預(yù)處理方法,并改進(jìn)了部分算法。從圖2、3可以看出,該算法對指紋圖像的處理取得了良好的效果,并且具有很強(qiáng)的實用性。
圖2 分割、均衡和收斂算法的測試結(jié)果
圖3 平滑、增強(qiáng)、二值化和細(xì)化算法測試結(jié)果
為了驗證預(yù)處理算法的有效性,本文對預(yù)處理后的指紋圖像設(shè)計了特征點提取和基于中心點、端點以及三角點特征匹配算法。最后采用自制的MBF200指紋圖像傳感器模塊采集了30個人的指紋樣本進(jìn)行實驗。其中1人的指紋特征點與匹配結(jié)果如圖4所示,圖4可以看出該算法可以精確的匹配,從而驗證了算法的有效性。另外通過軟件定時器等實驗測試,實驗結(jié)果表明實現(xiàn)的預(yù)處理的算法具有速度快等特點。綜上所述,本文開發(fā)的指紋圖像預(yù)處理算法具有實用性強(qiáng)、速度快、處理效果好等一系列優(yōu)點。
圖4 特征點標(biāo)記與匹配測試結(jié)果
[1]Sherlock B G,Munro D M,Millard K.Fingerprint enhancement by directional Fourier filter[J].IEEE Proceeding of Vision Image and Signal Processing,1994,141(2):87 -94.
[2]Hong L,Wan Y,Jain A K.Fingerprint image enhancement:Algorithms and performance evaluation[J].IEEE Transactions on Pattern Analysis Machine Intelligence,1998,(20):777 -789.
[3]Jain A K,Lin Hong,Bolle R.On-line fingerprint verification[J].IEEE Transactions on Pattern Analysis Machine Intelligence,1997,19(4):302 -314.
[4]Jain A K,Prabhakar S,Hong L,etal.Filterbank-based fingerprint matching[J].IEEE Transaction on Image Processing,2000,9(5):846 -859.
[5]Wang W,Li J,Huang F.Design and implementation of Log-Gabor filter in fingerprint image enhancement[J].Pattern Recognition Letters,2008,29(3):301 -308.
[6]楚亞蘊(yùn),詹小四,孫兆才,等.一種結(jié)合方向信息的指紋圖像二值化算法[J].中國圖像圖形學(xué)報,2006,11(6):855-859.