徐心怡
(江蘇科技大學(xué)電子信息學(xué)院,鎮(zhèn)江,212003)
生物特征識(shí)別技術(shù)作為一種準(zhǔn)確、安全快捷的識(shí)別技術(shù),在現(xiàn)有的身份驗(yàn)證中有著至關(guān)重要的作用,指紋識(shí)別技術(shù)通過(guò)分析指紋的總體特征和局部特征,從指紋中抽取詳盡的特征值(指紋具有惟一性),能可靠確認(rèn)身份,是一種準(zhǔn)確高效的生物特征識(shí)別技術(shù)。國(guó)外,指紋識(shí)別技術(shù)相對(duì)較成熟,其關(guān)鍵算法都有了較大發(fā)展,但國(guó)內(nèi)仍有較大差距。
指紋識(shí)別一般采用總體特征和局部特征來(lái)識(shí)別??傮w特征是容易發(fā)現(xiàn)的明顯特征,局部特征是指紋細(xì)節(jié)特征。研究表明,兩個(gè)指紋的總體特征即使相似,但局部特征是不同的。指紋面積不大卻蘊(yùn)含著大量識(shí)別信息,指紋紋路的交叉點(diǎn)、斷點(diǎn)稱(chēng)為“特征點(diǎn)”,可利用特征點(diǎn)的性質(zhì)與指紋模版對(duì)比來(lái)驗(yàn)證身份。
指紋識(shí)別技術(shù)包括指紋圖像采集、指紋預(yù)處理、特征提取與匹配三部分,如圖1。
圖1 指紋識(shí)別流程
本文主要針對(duì)指紋圖像的預(yù)處理進(jìn)行研究,在指紋圖像歸一化的基礎(chǔ)上,利用圖像的局部方差對(duì)指紋圖像分割,并進(jìn)行數(shù)字圖像處理中的開(kāi)運(yùn)算和閉運(yùn)算操作,克服噪聲影響,同時(shí)提出了基于方向場(chǎng)的指紋圖像二值化方法。指紋圖像濾波采用的是基于水平濾波器和分離濾波器組合的上下文濾波算法,最后提出了基于改進(jìn)OPTA 算法指紋圖像細(xì)化方法,旨在消除傳統(tǒng)OPTA 算法中兩種模板不一致的問(wèn)題。
圖像預(yù)處理是對(duì)原始圖像的前期處理,指紋圖像采集均存在質(zhì)量問(wèn)題,不被系統(tǒng)識(shí)別,所以圖像預(yù)處理很有必要。預(yù)處理目的就是將識(shí)別所需的目標(biāo)區(qū)域保留,去除背景區(qū)域和沒(méi)有用的部分,同時(shí)根據(jù)目標(biāo)區(qū)域中脊線(xiàn)的結(jié)構(gòu)特征,采取濾波方法,提高指紋脊線(xiàn)清晰度,平滑脊線(xiàn)邊緣的毛刺和空洞,抑制圖像噪聲,保證指紋特征的可靠提取,并使灰度圖像轉(zhuǎn)化成黑白的二值圖像,最終得到脊線(xiàn)結(jié)構(gòu)清晰的單像素寬的二值圖像。本文預(yù)處理的主要流程如圖2。
圖2 指紋圖像預(yù)處理流程
指紋圖像分割前首先要對(duì)指紋灰度圖的灰度均值和方差進(jìn)行調(diào)整,使得采集的指紋圖像有預(yù)期的方差和均值,從而屏蔽噪聲,即圖像歸一化,歸一化不改變指紋質(zhì)量。因?yàn)椴煌讣y區(qū)域的手指壓力和強(qiáng)度不同,所以將指紋分為W*H 小塊,設(shè)圖像中像素點(diǎn)的灰度值為I(i,j),歸一化后的圖像用G(i,j)來(lái)表示,灰度平均值和方差分別用 和 來(lái)表示,則歸一化算法如下:
(2)計(jì)算歸一化后的圖像G(i,j):
歸一化后的圖像如圖3。
圖3 歸一化圖像
圖像分割是從圖像中按規(guī)則將一些物體或區(qū)域加以分離,將有用的目標(biāo)區(qū)域分割出來(lái),避免背景區(qū)域的干擾,分割后的圖像便于進(jìn)一步分類(lèi)、分析和識(shí)別處理。圖像分割要在指紋二值化和濾波及細(xì)化之前進(jìn)行。在指紋圖像中,由脊線(xiàn)和谷線(xiàn)組成的較清晰部分為目標(biāo)區(qū)域,沒(méi)有用的部分為背景區(qū)域。指紋圖像可分為四類(lèi)區(qū)域:背景區(qū)、不可恢復(fù)區(qū)、可恢復(fù)區(qū)、清晰區(qū),如圖4。
圖4 指紋圖像四種區(qū)域
傳統(tǒng)的分割算法是基于圖像局部灰度方差的分割方法(即方差法)。指紋脊和谷的灰度差是較大的,所以局部灰度方差也較大,而圖像背景區(qū)域,方差值則是較小的,可利用圖像的局部方差對(duì)指紋圖像分割。該方法優(yōu)點(diǎn)是算法簡(jiǎn)單,計(jì)算速度快,如采集到的指紋質(zhì)量好,則分割效果不錯(cuò),缺點(diǎn)是對(duì)質(zhì)量較差的指紋,分割效果不理想,可在方差法分割的基礎(chǔ)上進(jìn)行數(shù)字圖像處理中的開(kāi)運(yùn)算和閉運(yùn)算操作,克服易受噪聲影響的缺陷。
把指紋的圖像分成3*3 塊,將歸一化處理后的圖像進(jìn)行分割的具體步驟如下:
(1)利用式(1)和式(2)對(duì)指紋的小塊求灰度平均值和方差,設(shè)定閾值T,在8 鄰域中,T=4,若>4,則該小塊作為目標(biāo)留下,并把該塊標(biāo)示為1,存放于二值矩陣A 中;若<4,則該塊作為背景去掉,并把該塊標(biāo)示為0,存在矩陣A 中;
(3)以 為結(jié)構(gòu)元素對(duì)二值矩陣B 做閉運(yùn)算,得到矩陣C,矩陣C 為一個(gè)二值矩陣(只包含1 和0),對(duì)應(yīng)元素為1 的作為目標(biāo)留下,對(duì)應(yīng)元素為0 的作為背景去除。
該算法的第(1)步與方差法一致,第(2)、(3)步驟利用開(kāi)運(yùn)算與閉運(yùn)算處理,其原理為:開(kāi)運(yùn)算(先腐蝕后膨脹)用來(lái)消除小物體、在纖細(xì)點(diǎn)處分離物體,去除被誤當(dāng)成目標(biāo)的背景塊;閉運(yùn)算(先膨脹后腐蝕)用來(lái)填充物體內(nèi)細(xì)小空洞、連接鄰近物體,恢復(fù)指紋背景中被誤當(dāng)成背景而去除的目標(biāo)塊。分割后的圖像如圖5。
2.4.1 方向圖
許多二值化算法和增強(qiáng)濾波算法都用到了方向圖。指紋圖像有著自己獨(dú)特和固有的特征,可看作一個(gè)流狀模型,用方向圖來(lái)表示。為方便認(rèn)知,以指紋圖像為模板,畫(huà)一環(huán)形區(qū)域來(lái)表示指紋,其中,扇形區(qū)域中的小塊表示指紋被分塊后的小塊。方向圖計(jì)算的基本思想:在原灰度的指紋圖像中計(jì)算每小塊在每個(gè)方向上的統(tǒng)計(jì)量, 由這些統(tǒng)計(jì)量在每個(gè)小塊方向上的差異來(lái)確定該小塊的方向。指紋小塊模型如圖6。
圖6 指紋小塊模型
2.4.2 指紋圖像二值化
二值化就是將圖像上像素點(diǎn)的灰度值設(shè)置為0 或1,也就是將整個(gè)圖像呈現(xiàn)出明顯的黑白視覺(jué)效果。指紋圖像中包括目標(biāo)和背景還有眾多噪聲,要想從原始的指紋圖像中提取出目標(biāo),一般用的方法是設(shè)定一個(gè)閾值T,用T 將圖像中像素?cái)?shù)據(jù)分成兩部分,若輸入灰度圖像的函數(shù)為: 通過(guò)求解閾值T,從而把圖像f(x,y)分成目標(biāo)和背景兩個(gè)區(qū)域,其中大于T 的像素群為目標(biāo)區(qū)域,小于等于T 的像素群為背景區(qū)域,閾值的選取原則是:(1)盡可能的多保存圖像信息;(2)盡可能的減少噪聲。
2.4.3 基于方向場(chǎng)的二值化
采集到的指紋圖像一般都有比較清晰的方向場(chǎng),方向場(chǎng)估計(jì)得準(zhǔn)確與否直接決定了圖像二值化算法的效果。為估計(jì)方向場(chǎng),把指紋脊線(xiàn)的走向分為如下8 個(gè)方向,如圖7。
圖7 一個(gè)像素處的8 個(gè)指紋脊線(xiàn)方向
為確定在該像素處的脊線(xiàn)方向,在以該像素為中心的9*9 窗口內(nèi),分別計(jì)算8 個(gè)方向上的經(jīng)過(guò)處理后的灰度值,即將圖7 中數(shù)字1 到8 的位置的像素灰度值去除其中最大值和最小值,若滿(mǎn)足最大值和最小值與 4*I(x,y))之和大于 (3*最大值/8),則該像素點(diǎn)的脊線(xiàn)方向?yàn)樽钚≈?,否則為最大值,確定完脊線(xiàn)方向后再由該方向場(chǎng)對(duì)圖像進(jìn)行二值化,二值化后的圖像如圖8。
圖8 指紋二值化
圖像采集不可避免會(huì)存在圖像噪聲,而噪聲會(huì)造成指紋提取的困難,因此要在二值化和細(xì)化之前進(jìn)行圖像增強(qiáng)濾波,減弱原始噪聲,增強(qiáng)脊線(xiàn)和谷線(xiàn)的對(duì)比度,獲取清晰的指紋紋路結(jié)構(gòu),以保證指紋提取的可靠性。本文采取上下文濾波算法,基本增強(qiáng)濾波器主要由可將脊線(xiàn)中的斷點(diǎn)連接起來(lái)的平均濾波器和可將脊線(xiàn)分叉點(diǎn)去除的分離濾波器組成。根據(jù)具體的某一塊指紋脊線(xiàn)的方向從一系列的濾波器中選擇一個(gè)合理的濾波器來(lái)進(jìn)行指紋濾波,其它塊的指紋圖像濾波則通過(guò)已用的濾波器旋轉(zhuǎn)得到。脊線(xiàn)中的斷點(diǎn)要采用平均濾波器,斷點(diǎn)處脊線(xiàn)的灰度值要比周?chē)幕叶戎敌?,?jīng)過(guò)平均濾波器的處理,灰度值就大約等于周?chē)幕叶戎?,因此二值化后的指紋中斷裂的脊線(xiàn)就能連起來(lái)。脊線(xiàn)中的分叉點(diǎn)采用分離濾波器,脊線(xiàn)分叉點(diǎn)的兩端灰度值比中間的要大,經(jīng)過(guò)分離濾波器的處理,灰度值會(huì)下降,分叉點(diǎn)就會(huì)被去除了。脊線(xiàn)的斷裂和叉連點(diǎn)如圖9。
圖9 斷裂與叉連
指紋圖像中脊線(xiàn)的一個(gè)周期(即一脊一谷)可以決定增強(qiáng)濾波器的大小,一般地周期T=5,本文中選擇5*5 的濾波器,平均濾波器在水平方向上的權(quán)值如圖10,分離濾波器水平方向的權(quán)值如圖11,增強(qiáng)濾波器的權(quán)值如圖12。
圖 10 平均濾波器水平方向權(quán)值
圖11 分離濾波器水平方向權(quán)值
圖12 上下文濾波器的權(quán)值
上下文濾波器中的平均濾波器的作用是去除空洞(圖13),分離濾波器作用是去除毛刺(圖14)。
圖13 去除空洞
圖14 去除毛刺
二值化后的指紋圖像通過(guò)平均濾波器的處理,其每一點(diǎn)灰度值由它臨近的二十四個(gè)像素的灰度值決定,因此可以用下式來(lái)對(duì)f(i,j)(第i 行和第j 列的灰度值)進(jìn)行處理:
分割和濾波后的指紋圖像再進(jìn)行二值化處理后,脊線(xiàn)仍有一定寬度,會(huì)影響指紋識(shí)別的匹配,所以需對(duì)二值化圖像作細(xì)化處理。細(xì)化目的是在不破壞指紋圖像連通性的情況下去除掉多余像素點(diǎn),將二值化的指紋圖像的脊線(xiàn)采用逐層剝離,細(xì)化成單象素寬(實(shí)際為保存原圖的骨架)。
傳統(tǒng)OPTA 算法(基于模板的圖象細(xì)化算法),原理為構(gòu)造兩個(gè)模板:一消除模板和一保留模板,將指紋圖像二值化后與這兩個(gè)模板相比較,來(lái)決定是否刪除該像素,本文研究改進(jìn)的OPTA 算法,其優(yōu)點(diǎn)是消除了原OPTA 算法中兩種模板不一致的問(wèn)題。本算法采用統(tǒng)一4*4 模板,消除模板有八個(gè),保留模板有六個(gè),模板的結(jié)構(gòu)如下圖15,圖16,圖17 所示。
圖15 OPTA 算法的改進(jìn)模板(4*4)
圖16 消除模板(八個(gè))
圖17 保留模板(六個(gè))
改進(jìn)OPTA 算法的細(xì)化原理是從圖像(類(lèi)似于4*4 的模板中)左上角開(kāi)始進(jìn)行抽取圖中的各個(gè)像素(如圖15,圖中元素用P 表示)。如圖所示的 總共十五個(gè)相鄰像素,其中的八個(gè)相鄰的像素( , )與圖16 所示的消除模板相比較,若都不匹配,則P 保留,否則將抽取出來(lái)的元素和圖17 的保留模板相比較,若與其中的一個(gè)匹配,則保留P,否則應(yīng)該將P 刪除。重復(fù)以上操作,將所有圖像中的像素值進(jìn)行比較直至不變。此算法是八連通的算法,基本都能夠保證單像素的寬度。指紋圖像細(xì)化結(jié)果如圖18,細(xì)化圖表明效果良好。
圖18 指紋圖像細(xì)化圖
本文通過(guò)對(duì)指紋原圖像的分割,二值化,濾波和細(xì)化算法的分析比較,得出了一套比較實(shí)用和便捷的指紋圖像預(yù)處理方法,MATLAB 仿真結(jié)果表明,該方法結(jié)果良好,可為后續(xù)的特征提取和匹配研究提供實(shí)用性的參考。
[1] 李俊山,李旭.數(shù)字圖像處理[M].北京:清華大學(xué)出版社,2007.4
[2] 阮秋琦.數(shù)字圖像處理學(xué)[M].北京:電子工業(yè)出版社,2001.1
[3] 胡士斌,楊衛(wèi)平.指紋圖像復(fù)合分割算法研究[J].計(jì)算機(jī)工程與應(yīng)用,2006,40(12):71-73.
[4] 李建華,馬小妹,郭成安.基于方向圖的動(dòng)態(tài)閩值指紋圖像二值化方法[J].大連理工大學(xué)學(xué)報(bào).2002,42(5):626-628
[5] 閔晶妍.方向圖在指紋識(shí)別系統(tǒng)中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用.2008(06):47-49