Duing to the uniqueness and invariability of fingerprints, as well as the feasibility and practicability of fringerprint identification technique , fringerprint identification technique has become one of the most popular,convenient and reliable identity authentication techniques. Because the data of fingerprint image is huge,the automatic identification by contrastring the data of two images directly is not advisable.We should preprocess the image and extract its features,then we can implement the automatic identification by contrastring the features of two images. The preprocessing,as the first step of AFIS(Automatic Fingerprint Identification System), directly affects the result of AFIS. Commonly it includes filter,orientation,binarization,thinning and so on.
Firstly,this paper introduces the basic concept of biometric technologies,and describes the composition of the AFIS briefly.Moreover,the analysis of traditional methods for fingerprint identification system are described. This paper then uses a Gabor filter-based fingerprint image preprocessing method according to the characteristic of the fingerprint image.It lays a good foundation for minutia points extracting and fingerprint matching.
All algorithms are implemented on PC with Visual C++6.0.The test result shows that this method can achieve satisfactory preprocessing effects of fingerprint image.
KEY WORDS Fingerprint identification, Preprocessing, Directional image, Gabor filter, Binary
摘 要 I
ABSTRACT II
第一章 緒 論 1
1.1 生物特征識別技術 1
1.2 自動指紋識別技術簡介 3
1.3 指紋識別系統(tǒng)發(fā)展現(xiàn)狀 6
1.3.1 硬件技術 6
1.3.2 軟件技術 6
1.4 本論文主要工作和內(nèi)容安排 7
第二章 指紋圖像預處理技術 9
2.1 圖像平滑增強處理 9
2.1.1 鄰域平均法 10
2.1.2 低通濾波法 10
2.1.3 中值濾波 11
2.1.4 直方圖修整法 11
2.2 圖像的數(shù)學形態(tài)學運算 13
2.2.1 數(shù)學形態(tài)學的基本符號和術語 13
2.2.2 數(shù)學形態(tài)學基本運算 14
2.3 二值化 16
2.3.1 指紋圖像二值化的要求 16
2.3.2 幾種二值化方法 16
2.4 細化 18
2.4.1 快速并行細化算法 19
2.4.2 串行OPTA串行算法 20
2.4.3 串并行混合細化 21
2.5 小結(jié) 22
第三章 指紋圖像預處理系統(tǒng)設計和實現(xiàn) 23
3.1 指紋圖像預處理總體設計 23
3.1.1 界面設計 24
3.1.2 模塊設計 26
3.2 預處理組合算法過程 27
3.2.1 方向圖的提取 27
3.2.2 Gabor濾波 29
3.2.3 二值化 32
3.2.4 二值圖去噪 34
3.2.5 細化 34
3.2.6 細化后處理 36
第四章 實驗結(jié)果分析 40
4.1 預處理算法小結(jié) 40
4.2 實驗結(jié)果比較 41
4.2.1 方向濾波結(jié)果分析 41
4.2.2 二值化結(jié)果分析 42
4.2.3 細化結(jié)果分析 42
4.2.4 細化后處理結(jié)果分析 43
4.2.5 另一組實驗結(jié)果分析 43
第五章 總結(jié)與展望 45
5.1 總結(jié) 45
5.2 展望 45
致 謝 47
參考文獻 48
附 錄 49
摘 要
由于指紋所具有的唯一性和不變性,以及指紋識別技術所具有的可行性和實用性,指紋識別成為目前最流行、最方便、最可靠的身份認證技術之一。指紋圖像數(shù)據(jù)量大,通過直接比對指紋圖像的方法來識別指紋是不可取的,應該先對指紋圖像進行預處理,然后提取出指紋的特征數(shù)據(jù),通過特征數(shù)據(jù)的比對來實現(xiàn)自動指紋識別。指紋圖像預處理作為指紋自動識別過程的第一個環(huán)節(jié),它的好壞直接影響著自動識別系統(tǒng)的效果。預處理通常包括濾波、方向圖的求取、二值化、細化等幾個步驟。
本文首先闡述了生物特征識別技術的基本概念,對自動指紋識別系統(tǒng)的組成也作了簡要的介紹。然后對目前指紋圖像預處理的一些常用算法進行了介紹,針對指紋圖像的特征,采用了基于Gabor濾波器的指紋預處理方法,它為特征提取和比對奠定了良好的基礎。
本文所提到的算法已在PC機上用Visual C++6.0編程實現(xiàn),實驗結(jié)果表明,這種方法能獲得令人滿意的指紋圖像預處理效果。
關鍵詞: 指紋識別,預處理,方向圖,Gabor濾波器,二值化
ABSTRACT
第一章 緒 論
1.1 生物特征識別技術
在現(xiàn)代社會中,信息安全顯示出前所未有的重要性。當前,個人身份鑒別主要依靠ID卡和密碼等手段。但是這些手段存在攜帶不便,易丟失或損壞,密碼易被破解等缺點。生物特征識別技術的出現(xiàn)能很好的解決這些問題。
生物識特征別技術是根據(jù)人體獨特的生物特征進行身份認證的一種技術,人類利用生物特征識別的歷史可追溯到古埃及人通過測量人體各部位的尺寸來進行身份鑒別,現(xiàn)代生物識別技術始于70年代中期,由于早期的識別設備比較昂貴,因而僅限于安全級別要求較高的原子能試驗、生產(chǎn)基地等。現(xiàn)在由于微處理器及各種電子元件成本不斷下降,精度逐漸提高,生物識別系統(tǒng)逐漸應用于商業(yè)上的授權控制如:門禁、企業(yè)考勤管理系統(tǒng)等安全認證領域。
生物識別技術可以在人們?nèi)粘I畹母鱾€地方使用,通過取代個人識別碼和口令,生物識別技術可以阻止非授權的訪問,可以防止盜用ATM,蜂窩電話、智能卡、桌面PC、工作站及其計算機網(wǎng)絡,在通過電話、網(wǎng)絡進行的金融交易中進行身份認證,在建筑物或工作場所,生物識別技術可以取代鑰匙、證件、圖章和卡閱讀器等。
現(xiàn)代生物識別技術大體分為兩個階段[1]:1.學習階段,在此階段中注冊用戶的生物特征信息,通過生物識別傳感器采樣原始數(shù)據(jù),如:指紋圖像、語音數(shù)據(jù)、掌紋等等;隨后進行特征提取,用專門算法為原始數(shù)據(jù)的特征生成特征代碼,將代碼存入數(shù)據(jù)庫,形成識別數(shù)據(jù)庫,2.識別階段,當識別用戶身份時,用相同的特征代碼生成算法生成待識別原始數(shù)據(jù)的特征,再用專門的特征匹配算法在數(shù)據(jù)庫中檢索和匹配用戶的特征信息,從而驗證用戶身份。目前人們主要研究的人體生物識別技術包括虹膜識別、人臉識別、語音識別、耳紋識別、掌紋識別和指紋識別等等。
虹膜識別技術:虹膜是一個位于瞳孔和鞏膜之間的環(huán)狀區(qū)域,由一種隨瞳孔直徑的變化而拉伸的復雜的纖維狀組織構(gòu)成[2]。目前,大部分的自動虹膜識別系統(tǒng)采用Daugman核心算法。虹膜識別技術利用一個全自動照相機來采集包含虹膜的圖像,Daugman算法先進行虹膜定位,將虹膜從整幅眼睛圖像中分割出來,利用二維Gabor小波將虹膜圖像編碼為256字節(jié)的”虹膜碼”,在匹配時,比較用戶的”虹膜碼”和數(shù)據(jù)庫中的”虹膜碼”的漢明距離來表示匹配度,這種匹配算法的計算量極小,可用于大型數(shù)據(jù)庫中識別.虹膜的紋理結(jié)構(gòu)是隨機的,便于分析,且可以保持幾十年不變,其識別系統(tǒng)不與人體相接觸,使用方便,所以虹膜識別技術是目前諸多生物識別技術中發(fā)展得極為成熟的技術之一。
人臉識別[3]:人臉識別技術是根據(jù)人的臉面特征的唯一性特點而進行的個體識別和確認技術。基于這些臉面特征的識別是非常復雜的,需要人工智能和機器學習的知識。人臉識別的過程包括人臉檢測定位和人臉特征提取兩大部分。人臉檢測定位的思想是首先為臉部建模,通過將所有待測區(qū)域與人臉模型比較,從而確定臉部在圖像中的位置.由于人臉受人的表情、光照、圖像質(zhì)量等因素的影響,所以提取臉部特征的難度較大,目前主要的人臉特征提取和識別的方法有:(1)基于臉部幾何特征的方法;(2)基于特征臉的方法;(3)神經(jīng)網(wǎng)絡的方法;(4)局部特征分析的方法;(5)彈性匹配的方法。由于人臉識別的無侵害性和對用戶最自然、最直觀的方式,使人臉識別成為最容易被接受的生物特征識別方式。現(xiàn)在,人臉識別也是生物識別技術的一個熱點問題。
語音識別:語音識別利用人的聲音特征進行身份鑒別的生物特征識別技術,這種方法基于人的行為特征,因此受噪聲、人的情緒、生理狀態(tài)等因素的影響較大。一個語音識別系統(tǒng)主要包含三個部分:語音信號的分割,特征提取和說話人識別。語音識別首先將語音信號從混有背景噪聲的聲音信號中分離處理,再為人的發(fā)聲部位建立一個由寬帶信號激勵的時變?yōu)V波器模型,大部分的語音特征都與模型的激勵源和濾波器的參數(shù)有關,在進行說話人的識別時,主要采用參數(shù)模型和非參數(shù)模型來進行匹配[4]。
耳紋識別[5]:耳廓識別技術是近年來發(fā)展起來的一項新的生物識別技術,它主要通過對人的耳廓與外界客體接觸所留痕跡的檢驗鑒定來識別人體和認定人身,有著可信的科學依據(jù)。人體耳廓是個體形態(tài)的組成部分,耳廓上的耳輪、耳屏、耳垂等多個部位的寬度、弧度、位置、形態(tài)、形狀及其相互關系,構(gòu)成了個體耳廓所固有的相對穩(wěn)定的特征,成為此耳廓區(qū)別于他耳廓的重要標記。耳紋識別主要應用于刑事案件的偵破工作中。在某些盜竊、殺人、搶劫等案件中,作案者因偷聽、撕扯、躺壓等行為,往往將耳廓印痕留在門、窗、地面等物體上,技術人員經(jīng)過技術處理和鑒定,便可根據(jù)現(xiàn)場耳廓印痕識別認定留痕者。
掌紋識別[6]:利用手腕和手指之間的手掌內(nèi)側(cè)紋理進行身份鑒別的生物特征識別技術。掌紋是指手掌中的主線、褶皺和脊線。在識別過程中,目前應用最多的是主線特征和褶皺特征。其他可應用的信息還包括手掌的長度、寬度和面積,三角區(qū)域特征、細節(jié)特征等等。人們對掌紋識別的研究歷史并不長,但這種生物特征識別技術極具發(fā)展?jié)摿Α?br>指紋識別:指紋識別是生物識別技術中應用得最早的。每個人都有自己唯一的、持久不變的指紋。指紋識別技術正是利用指紋這種唯一性和穩(wěn)定性,通過對在線提取的指紋與預先保存的指紋進行比較,從而進行身份識別。目前指紋識別、面部識別、語音識別等多種生物識別技術,都己經(jīng)成熟并得以應用,在所有生物識別技術中,指紋識別是目前對人體最不構(gòu)成侵犯,而又方便、實用、可靠、價格適中、最具有代表性和應用前景的一種技術。
生物特征識別技術作為基于個人獨特的生理和行為特征進行自動身份鑒別的技術,它為信息社會日益加劇的安全需求提供了一個很好的解決方案,必將有非常好的發(fā)展前景[7]。
1.2 自動指紋識別技術簡介
人類的手掌及其手指、腳、腳趾內(nèi)側(cè)表面的皮膚凸凹不平產(chǎn)生的紋路會形成各種各樣的圖案。人手指內(nèi)側(cè)表面的紋路就是指紋,19世紀20年代,科學研究發(fā)現(xiàn)了指紋的兩個重要特征:一是唯一性,人人的指紋不同,一個人的十個手指的指紋也不相同。二是穩(wěn)定性,指紋的圖案永遠不會改變,它不會隨著人的年齡而改變指紋,也不會和主體分離。
自動指紋識別技術主要有兩種:一種是基于指紋圖像統(tǒng)計信息的方法,一種是基于指紋本身所固有的特征點結(jié)構(gòu)的方法。基于圖像統(tǒng)計匹配方法的自動指紋識別主要是通過直接或間接地比較兩幅原始指紋圖像的統(tǒng)計相似程度,從而達到判斷兩枚指紋是否是屬于同一個人的目的。基于特征點匹配識別的指紋識別系統(tǒng)主要是通過比較兩幅指紋圖的結(jié)構(gòu)特征信息來達到識別的目的,指紋的特征包括兩類:全局特征和局部特征。
全局特征是指那些用人眼可直接觀察到的特征,可以依照全局特征對指紋進行分類,Galton分類法是較著名的分類法,其將指紋分為三類:環(huán)形,弓形,螺旋型。圖1.1為這三類紋型示例。
(1)環(huán)形 (2)弓形 (3)螺旋型
圖1.1 指紋紋型示例
指紋是由脊線和谷線交替出現(xiàn)的模式構(gòu)成的,指紋的脊線并不是連續(xù)的、平滑筆直的,而是經(jīng)常出現(xiàn)中斷、分叉和打折,這些斷點、分叉點和轉(zhuǎn)折點就稱為局部特征,又稱為細節(jié)特征點,就是這些特征點提供了指紋唯一性的確認信息,一枚指紋可能有十幾種類型的特征點,在其中出現(xiàn)頻率較高的細節(jié)特征點有五種:
紋線端點(ending):指一條紋線在此點終結(jié);
分叉點(bifurcation):指一條紋線在此點分成兩條紋線;
小橋(bridge):指兩條平行的紋線在此處連接了;
雙叉(crossing):指兩條紋線在此點相互交錯;
孔形(hole):指一條紋線一分為二后,又合并而一條紋線所形成的孔洞。
如圖1.2為一個典型的自動指紋識別系統(tǒng)(Automatic Fingerprint Identification System,AFIS)方框圖。它包含兩個模塊:訓練模塊和鑒別模塊。訓練模塊完成注冊指紋的功能,鑒別模塊完成識別指紋的功能。由于隱私和節(jié)約儲存量的原因,所以在數(shù)據(jù)庫中儲存的數(shù)據(jù)是指紋的特征點信息,而不是指紋圖像,訓練模塊和鑒別模塊由同一套特征提取算法提取出特征信息,兩個模塊其實對應指紋識別的兩個階段,即注冊階段和識別階段。
圖1.2 自動指紋識別系統(tǒng)方框圖
指紋圖像采集位于指紋識別系統(tǒng)的前端,一般有兩種方法來采集指紋:一種是使用墨水和紙的方法,將手指浸入墨水中,然后按在紙上,再通過照相機拍攝下來處理,由于墨水會使全部或部分指紋圖像模糊不清,所以這種方法并不可靠。另一種方法是利用專用指紋傳感器,大體可以分為光學傳感器、晶體傳感器和超聲波傳感器。光學傳感器由于耐用性好、價格低,所以自動指紋識別系統(tǒng)大都是采用光學傳感器來作為指紋采集器,其原理是:光線照到壓有指紋的玻璃表面,反射光由電荷耦合器件獲得,通過反射光的強度及分布獲得壓在玻璃表面指紋的脊線和谷線的深度等,從而得到指紋信息。
指紋采集進來后,在指紋圖像中往往含有大量噪聲,為了提高特征提取的效率,還必須對圖像進行預處理。圖1.3為自動指紋識別預處理的一般過程圖。圖像分割是把指紋圖像從背景區(qū)域中分離出來,以使圖像處理集中在指紋區(qū)域中進行,提高處理的效率;圖像增強用以濾除指紋圖像中的噪聲,在視覺上體現(xiàn)為得到一幅紋路清晰的指紋圖;二值化用以二值化增強了的指紋圖,方便細化處理;細化則是為了便于提取特征點和得到精確的特征點信息。預處理是指紋識別系統(tǒng)中比較占用時間的處理過程,所以有人提出了一些不用預處理就直接從原始指紋圖像中提取特征點的方法,但總得看來,這種方法對圖像質(zhì)量較差的指紋圖的識別率是較低的。
圖1.3 自動指紋識別預處理一般過程圖
特征提取就是指在經(jīng)過預處理后的指紋圖中提取出指紋的特征點信息,一般地,提取特征點的三種信息:特征點位置、特征點類型和特征點的方向。特征點的位置是指特征點在指紋圖像中的絕對坐標;特征點類型是指該特征點是端點還是分叉點;特征點的方向是指該特征點所在脊線的方向,端點的方向就是所在脊線的走向,而分叉點的方向是三條脊線中與另外兩條脊線所成角為鈍角的脊線的反方向。圖1.4是端點和分叉的方向示例,其中(x,y)表示特征點的坐標, 就是特征點的方向,它是脊線和水平線所成的方向,取值范圍為 。
(x,y) (x,y)
圖1.4 指紋端點和分叉的方向示例
指紋的特征匹配就是比較兩幅指紋圖像的特征點信息,從而得出兩幅指紋是否來自同一個人的識別結(jié)果,現(xiàn)在己經(jīng)提出了很多指紋特征匹配的方法,其根本思想是比較兩幅指紋圖的特征點有多少對是相同的,通常只要有13對特征點重合,就可以認為兩幅指紋來自同一個人。
1.3 指紋識別系統(tǒng)發(fā)展現(xiàn)狀
1.3.1 硬件技術
自動指紋識別系統(tǒng)技術的進步依賴于指紋傳感器技術的進步。指紋傳感器主要有三類:光學傳感器、晶體傳感器,超聲波傳感器。
光學傳感器有最悠久的歷史,可以追溯到20世紀70年代。當時,這種傳感器結(jié)構(gòu)復雜,價格昂貴,體積龐大,所以AFIS價格通常非常昂貴。這時的AFIS僅僅在公安,銀行等特殊部門應用。隨著光電技術的發(fā)展,光學傳感器的價格和體積逐漸下降,AFIS開始進入民用領域。
晶體傳感器的歷史并不長,但是其價格低廉,體積小,耗電低等優(yōu)點獲得了人們的喜愛。這些含有微型晶體的平面通過多種技術來繪制指紋圖象。晶體電容式傳感器能結(jié)合大約100,000個金屬導體電容陣列,其外面是絕緣的表面,當用戶的手指放在上面時,皮膚組成了電容陣列的另一面。電容器的電容值由于金屬間的距離而變化,這里指的是脊(近的)和谷(遠的)之間的距離。晶體壓感式傳感器的表面是具有彈性的壓感介質(zhì)材料,能將指紋的外表地形(凹凸)轉(zhuǎn)化為相應的電子信號。晶體溫度感應傳感器被設計為感應壓在設備上的脊和遠離設備的谷溫度的不同。
超聲波傳感器是以上三種傳感器中成像效果最好的一種。超聲波掃描指紋的表面。緊接著,接收設備獲取了其反射信號,測量他的范圍,得到脊的深度。不象光學掃描,積累在皮膚上的臟物和油脂對超音速獲得的圖象影響不大,所以這樣的圖像是實際脊地形(凹凸)的真實反映[8]。
目前,基于PC進行指紋識別的技術己經(jīng)很成熟,并且己經(jīng)開始大規(guī)模推廣。 許多大公司都致力于該項技術的開發(fā)和研究。基于WINDOWS操作系統(tǒng)的指紋識別軟件和通過USB接口與PC機相連的指紋采集器已經(jīng)非常普遍。然而,基于嵌入式系統(tǒng)特別是DSP系統(tǒng)的指紋識別技術才剛剛起步,在識別性能上還難以令人滿意。隨著移動通信蓬勃發(fā)展和便攜式設備的推陳出新,指紋識別技術在今后將被更多的應用于嵌入式設備。因此,基于DSP平臺的指紋識別系統(tǒng)是現(xiàn)在新的研究熱點。
1.3.2 軟件技術
指紋識別算法是AFIS系統(tǒng)的核心,這方面的研究早在19世紀初就開始了,但直到上個世紀60年代才隨著計算機技術的發(fā)展而引起人們的興趣。早期的算法都是在高性能計算機上實現(xiàn)的,主要用于離線的指紋圖像研究。20世紀80年代到九十年代的指紋識別算法是建立在光學傳感器的。研究的方向也由離線指紋圖像處理轉(zhuǎn)向聯(lián)機處理。由于光學傳感器價格昂貴,所以這時的AFIS系統(tǒng)主要用于銀行,公安等特殊部門。90年代末,隨著半導體傳感器的出現(xiàn),AFIS系統(tǒng)逐漸民用化,許多個人電腦,手機,掌上電腦等都集成了AFIS系統(tǒng)。指紋識別算法的重點從基于光學傳感器轉(zhuǎn)向了基于半導體傳感器。
在應用方面,從70年代末開始,一些實用系統(tǒng)已經(jīng)出現(xiàn)。70年代末加拿大警方首次應用激光進行指紋檢驗;日本立石電機公司80年代研制出了指紋核對機;美國聯(lián)邦調(diào)查局1975年就通過羅克韋爾國際公司進行自動指紋識別系統(tǒng)的研制生產(chǎn),其產(chǎn)品先后被加拿大、巴西、美國邁阿密、休斯頓等地的警察機構(gòu)采用。日本NEC公司在1982年首次向警方提供了AFIS系統(tǒng),目前日本NEC公司的AFIS系統(tǒng)銷售量世界排名第一,該系統(tǒng)使用了眾多的專用硬件設備來提高速度,但體積龐大,價格昂貴。法國1985年研制成功的Morpho系統(tǒng)也被美國紐約、密蘇里州、新澤西州和夏威夷的警察部門采用。
我國80年初才開始進行AFIS系統(tǒng)的研究,目前已取得了很大的進展。北京大學、清華大學、北京市刑偵所、公安部二所、哈爾濱工業(yè)大學、浙江大學以及中國科學院自動研究所等單位在AFIS系統(tǒng)的研究方面作出了很大的貢獻。北京大學在七五科技攻關項目中研制成功了實用化的指紋自動鑒定系統(tǒng)Delta-s,用于公安刑偵破案,并將此系統(tǒng)在美國市場出售。
近年來,IBM,Compaq,Sony等著名公司都投入了指紋自動識別系統(tǒng)的研制與開發(fā),從而大大推動了指紋識別的民用化。在英國政府的重要部門已廣泛使用了指紋識別系統(tǒng);在澳大利亞,ATM機上普遍使用了AFIS系統(tǒng);在美國,除了軍事設施外,五角大樓、政府實驗室、銀行、監(jiān)獄和商業(yè)部門也廣泛采用了自動指紋識別系統(tǒng);在我國,指紋識別系統(tǒng)也已經(jīng)迅速地進入了民用化,如廣東省的社會養(yǎng)老金的發(fā)放已經(jīng)采用了指紋識別作為身份鑒別;湖南省社會保障卡項目采用了中控科技提供的自主知識產(chǎn)權的指紋識別技術及設備。盡管指紋信息技術在社會保障卡中的應用目前雖然尚有局限性,但是隨著中國社會保障體系改革的大面積推廣,指紋信息有望成為中國國民社會保障中的基本信息之一。在安全保衛(wèi)領域內(nèi),指紋門禁、指紋汽車鎖己經(jīng)逐步步入大眾社會之中;在公司管理及其他部門管理方面,指紋考勤系統(tǒng)、血庫獻血身份確認等也開始得到應用。
可以看出,自動指紋識別技術從誕生開始就充滿著活力。在不久的將來,AFIS系統(tǒng)將得到更加廣泛的應用。
1.4 本論文主要工作和內(nèi)容安排
目前,自動指紋識別的預處理技術仍然是一個技術難點。本文重點研究了指圖像預處理過程中的各種算法,針對低質(zhì)量的指紋圖像,采用一種基于Gabor濾波器的預處理系統(tǒng),該系統(tǒng)主要包含以下幾個部分:(1)指紋圖像增強;(2)指紋圖像二值化;(3)指紋圖像細化;(4)指紋圖像細化后處理。
全文共由五章組成。
第一章首先介紹了生物識別的概況,然后引出自動指紋識別技術原理,研究意義及發(fā)展。
第二章研究了指紋圖像預處理的一些常用算法,比較了這些預處理算法各自的優(yōu)缺點。
第三章利用指紋圖像的方向特點,設計了一種基于Gabor濾波器的指紋識別預處理系統(tǒng)。
第四章對系統(tǒng)進行了一系列測試,并給出了實驗結(jié)果及分析。
第五章是對全文工作的總結(jié)及展望。
第二章 指紋圖像預處理技術
在指紋識別過程中,由于采集設備探頭處有污物或手指上有污物、手指有刀傷或局部紋理被磨平等因素的影響,采集到的指紋圖像通常是含有較多噪音的灰度圖像。同時,這種灰度圖像的數(shù)據(jù)量很大,不利于自動指紋識別系統(tǒng)的實時性處理。為了消除這些噪聲,減小指紋圖像的數(shù)據(jù)量,應該先對指紋圖像進行預處理,然后提取出指紋的特征數(shù)據(jù),通過特征數(shù)據(jù)的比對來實現(xiàn)自動指紋識別。本章主要介紹了一些常用的指紋預處理算法。
2.1 圖像平滑增強處理
圖像增強是指按照特定的需要突出一幅圖像中的某些信息,同時削弱或去除某些不需要的信息的處理方法。通過圖像增強可以使圖像更符合人的視覺特性或機器的識別。圖像增強技術主要包括圖像灰度變換方法,直方圖修整方法,圖像平滑處理,圖像銳化,以及彩色處理技術等。在實際應用中可以采用其中的一種或多種技術。
圖像增強技術可以分為兩類:頻域處理法和空域處理法。
頻域處理法的基本思想是:先將圖像通過傅里葉變換轉(zhuǎn)換到頻率域,再進行增強處理。由卷積定理可知,如果原始圖像是 ,處理后的圖像是 , 是處理系統(tǒng)的沖擊響應,那么處理過程為:
公式(2.1)
公式(2.1)中 “*”表示卷積。如果G(u,v), ,F(xiàn)(u,v)分別表示 , , 的傅里葉變換,那么,上面的卷積關系可以變成頻域的乘積關系:
公式(2.2)
公式(2.2)中, 為傳遞參數(shù)。選擇合適的 ,使得:
公式(2.3)
得到的 比 在某些性能上更鮮明,突出。
空域法就是直接對圖像的像素進行處理,基本上以灰度映射變換為基礎的。所用的映射變換取決于增強的目的。例如增加圖像對比度,改善圖像的灰度層次等處理均屬于空域法處理。圖像的質(zhì)量好壞主要由人的視覺來評定,有一定的主觀因素,所以很難對各種處理定出一個通用標準。
一幅圖像在傳輸或量化等處理過程中會產(chǎn)生寄生效應,圖像平滑增強處理的目的就是為了削弱或消除這些寄生效應。在空域處理中,圖像平滑主要有鄰域平均法,低通濾波法,多圖像平均法[9]。
2.1.1 鄰域平均法
鄰域平均法是一種最簡單的圖像平滑處理方法。該方法利用幾個像素的灰度平均值代替每個像素的灰度。對于一幅有N N個像素的圖像 ,平滑處理后得到圖像 。 由公式(2.4)決定:
x=0,1,2,…..N-1 公式(2.4)
公式(2.4)中S是以 為中心點鄰域的集合,但其中不包括 點。M是集合內(nèi)坐標點的總數(shù)。公式(2.4)說明,平滑圖像 中每個像素的灰度值均由包含在 的預定鄰域中的 的幾個像素的灰度平均值來決定。
例如半徑為1的鄰域可以表示為
公式(2.5)
且M=4。
而半徑為 的鄰域可以表示為
公式(2.6)
且M=8。
鄰域平均法可以有效的消除麻點狀噪聲,但是經(jīng)過平滑處理后的圖像會出現(xiàn)一定程度的模糊效應。由于指紋圖像具有脊線和谷線交替的特點,在脊線邊緣灰度變化劇烈,當對這些紋線邊緣像素取鄰域平均時不可避免會造成脊線邊緣模糊,從而削弱了脊線,故此方法不適合處理指紋圖像。
2.1.2 低通濾波法
這是一種頻域處理方法。在分析圖像信號的頻域特性時,一幅圖像的邊緣,跳躍部分以及顆粒噪聲代表著圖像信號的高頻分量,而大面積的背景區(qū)域則代表圖像信號低頻分量。用濾波方法濾掉高頻分量就能去除噪聲,使圖像得到平滑。根據(jù)卷積定理:
公式(2.7)
公式(2.7)中 是含有噪聲的圖像傅里葉變換, 是平滑后的圖像傅立葉變換, 是傳遞參數(shù)。顯然 應當具有低通特性,得到 后再進行傅立葉反變換,就能得到平滑后的圖像 。
常用的低通濾波器有:理想低通濾波器,巴特沃斯低通濾波器,指數(shù)低通濾波器,梯形低通濾波器。
低通濾波器雖然能有效濾除指紋圖像脊線中的小孔洞和背景噪聲,濾波后脊線邊緣清晰,但卻不能對紋線的斷裂點進行連接。
2.1.3 中值濾波
對受到噪聲污染的圖像復原可以采用線性濾波,但多數(shù)線性濾波在去除噪聲的同時也使圖像邊緣模糊了。中值濾波可以在一定條件下既去除噪聲又保護圖像邊緣清晰度。中值濾波是一種非線性濾波,其基本原理是數(shù)字圖像或數(shù)字序列中一點的值用該點的一個鄰域中各點值的中值代替。
中值的定義如下:
一組數(shù) ,把這n個數(shù)按值的大小順序排列:
公式 (2.8)
y稱為序列 的中值。把一個點的鄰域作為窗口,在一維情況下,中值濾波器是一個含有奇數(shù)個像素的滑動窗口。窗口正中間像素的值由窗口內(nèi)各像素的中值決定。
將中值濾波的概念推廣到二維,設 表示數(shù)字圖像各點的灰度值,濾波窗口為A的二維中值濾波可以定義為:
公式(2.9)
二維中值濾波的窗口可以取方形,也可以取近似圓形或十字形。如果要強調(diào)中間點或距離中間點最近的幾個點的作用,還可以增加這些點的權值。
中值濾波可以去除脈沖型噪聲,保護圖像邊緣。但它也存在一些缺陷,如果使用不當,會丟失很多圖像細節(jié)。在處理指紋圖像時,必須根據(jù)指紋紋線的寬度選取合適的濾波窗口,根據(jù)指紋圖像灰度分布選擇權值,這樣才能避免脊線邊緣模糊。
2.1.4 直方圖修整法
圖像直方圖是圖像處理中一種十分重要的圖像分析工具,它描述了一幅圖像的灰度級內(nèi)容,任何一幅圖像的直方圖都包含了豐富的信息。從數(shù)學統(tǒng)計學上講圖像直方圖統(tǒng)計了一幅圖像中各個灰度級出現(xiàn)的次數(shù)或概率。
假設圖像f的灰度范圍為 ,P(Z)表示 內(nèi)所有灰度級出現(xiàn)的相對頻率,顯然P(Z)是Z的函數(shù),通常稱P(Z)的圖形為圖像f的直方圖。從圖形上來看,它是一個二維圖,橫坐標表示圖像中各個像素點的灰度級,縱坐標為各個灰度級上圖像像素點出現(xiàn)的次數(shù)或概率。圖2.1所示即為圖像灰度直方圖示意圖。
P(Z)
Z
圖2.1 圖像灰度直方圖示意圖
為了研究的方便,先將直方圖歸一化,即將源圖像灰度范圍 歸一化為[0,1].設其中任一灰度級Z歸一化為r,變換后的圖像的任一灰度級Z,歸一化為s,顯然r,s應當滿足: , 。
因此直方圖修整就是對公式(2.10)或公式(2.11)的計算過程:
公式(2.10)
公式(2.11)
公式(2.10)中T(r)為變換函數(shù),它必須滿足下列兩個條件:
(1)T(r)在 區(qū)域內(nèi)是單值函數(shù),且單調(diào)增加;
(2)T(r)在 區(qū)域內(nèi)滿足 。
條件(1)保證了灰度級從黑到白的次序,條件(2)保證變換的像素灰度級仍在允許的灰度級范圍內(nèi)。
公式(2.11)中 為逆變換函數(shù),也需要滿足上述兩個條件。
假定用 和 分別表示源圖像和變換后圖像的灰度級概率密度函數(shù),則 可由公式(2.12)求出:
公式(2.12)
可見,使用直方圖修整法進行圖像增強技術的實質(zhì)就是選用合適的變換函數(shù) 來修整圖像灰度級概率密度函數(shù) ,從而得到灰度級按 分布的新圖像。
直方圖均衡化是直方圖修整法中一種最常用的方法。一張灰度圖像,在因?qū)Ρ榷炔桓叨鴮е聢D像效果不清晰,甚至難以辨別的情況下,可以采用直方圖均衡化技術,把原始圖像的直方圖變換為均勻分布的形式,這樣就增加了像素灰度值的動態(tài)范圍,從而達到增強圖像整體對比度的效果,提高圖像質(zhì)量。為了對圖像進行直方圖均衡化,常常要求 =1。對于一幅數(shù)字圖像而言,其變換函數(shù)通常為:
公式(2.13)
公式(2.13)中L是圖像灰度級數(shù); 是第j個灰度級出現(xiàn)的概率; 是圖中第j個灰度級的像素數(shù);n是圖像總像素數(shù)。
對于某些灰度級集中在暗區(qū)的指紋圖像,其許多圖像細節(jié)往往無法看清。直方圖修整法能通過修正灰度級別分布在人眼合適的亮度區(qū)域使這些細節(jié)清晰可見。雖然這種方法能很好的增強指紋圖像的細節(jié)信息,但卻很難消除圖像的背景噪聲,因此還需要配合其他方法才能獲得較好的圖像增強效果。
2.2 圖像的數(shù)學形態(tài)學運算
數(shù)學形態(tài)學是一門新興的圖像分析學科。這門學科在計算機文字識別,計算機顯微圖像分析,醫(yī)學圖像處理,圖像壓縮編碼,工業(yè)檢測,材料科學等方面都取得了非常成功的應用。它的基本思想是用具有一定形態(tài)的結(jié)構(gòu)元素去度量和提取圖像中對應形狀以達到對圖象分析和認識的目的。數(shù)學形態(tài)學是在集合論的基礎上發(fā)展起來的,它的運算都由集合運算來定義,所有的圖像都必須以合理的方式轉(zhuǎn)換為集合。
2.2.1 數(shù)學形態(tài)學的基本符號和術語
數(shù)學形態(tài)學中常用的基本符號和關系術語主要包括元素、包含、擊中、不擊中、補集、對稱集、結(jié)構(gòu)元素、平移等。
1.元素:設有一幅圖像X,若點a在X的區(qū)域以內(nèi),則稱a為X的元素,記作 。
2.包含于:設有兩幅圖像A,X。對于A中所有元素 ,都有 ,則稱A包含于X,記作 。
3.擊中:設有兩幅圖像A,X。若存在一個這樣的點,它既是A的元素,又是X的元素,則稱A擊中(hit)X,記作 。
4.不擊中:設有兩幅圖像A,X。若不存在任何一點,它既是A的元素,又是X的元素,即A和X的交集是空,則稱A不擊中(miss)X,記作 。
5.補集:設有一幅圖像X,所有X區(qū)域以外的點構(gòu)成的集合稱為X的補集,記作 。
6.結(jié)構(gòu)元素:設有兩幅圖像A,X。若 X是被處理的圖像,而A是用來處理X的,則稱A為結(jié)構(gòu)元素(也叫刷子)。結(jié)構(gòu)元素通常為一些較小的圖像。
7.對稱集:設有一幅圖像A,將A中所有元素坐標取反,即令(x,y)變成(-x,-y),所有這些點構(gòu)成的新集合稱為A的對稱集,記作 。
8.平移:設有一幅圖像A,有一個點 ,將B平移a后的結(jié)果是把A中所有元素的橫坐標加 ,縱坐標加 ,即令(x,y)變成 ,所有這些點構(gòu)成的新的集合稱為A的平移,記作 。
2.2.2 數(shù)學形態(tài)學基本運算
數(shù)學形態(tài)學的基本運算有四個:膨脹(或擴張),腐蝕(或侵蝕),開啟和閉合。
1.腐蝕
腐蝕的運算符為 ,A用B來腐蝕寫作 ,其定義為:
公式(2.14)
公式(2.14)表示把結(jié)構(gòu)元素B平移a后得到 ,若 包含于A,就記下這個A點,那么所有滿足上述條件的a點組成的集合稱為A被B腐蝕的結(jié)果。其過程如圖2.2所示。
Y
Y
X
B
X
(1) 被處理元素A (2) 結(jié)構(gòu)元素B
Y
A
B X
(3)腐蝕運算
圖2.2 腐蝕運算示意圖
圖2.2中A是被處理對象,B是結(jié)構(gòu)元素,原點指定為B的圓心位置。對于任意一個在陰影位置的點a, 包含與A,所以A被腐蝕的結(jié)果就是那個陰影部分。陰影部分在A區(qū)域之內(nèi),且比A小,所以腐蝕具有收縮圖像的作用。
2.膨脹
膨脹的運算符為 ,A用B來膨脹寫作 ,其定義為:
公式(2.15)
公式(2.15)表示把結(jié)構(gòu)元素B平移a后得到 ,若 擊中A,記下這個a點。所有滿足上述條件的a點組成的集合稱做A被B膨脹的結(jié)果。圖2.3是膨脹運算示意圖,A表示的大長方形是被處理對象,小正方形B是結(jié)構(gòu)元素,原點指定為B的中心。不難看出,對任意一個在陰影部分的點a, 擊中A,所以A被B膨脹的結(jié)果就是那個陰影部分。膨脹具有擴大圖像的作用。
Y Y
X
X
(1) 被處理元素A (2) 結(jié)構(gòu)元素B
Y
A
X
(3)膨脹運算
圖2.3 膨脹運算示意圖
3.開運算和閉運算
開運算的運算符為 ,A用B來作開運算寫作 ,其定義為:
公式(2.16)
閉運算的運算符為 ,A用B來作閉運算寫作 ,其定義為:
公式(2.17)
開運算能平滑圖像的輪廓,削弱狹窄部分,去掉細的突出;閉運算也能平滑圖像輪廓,與開運算相反,它能融合窄的缺口和細長的彎口,去掉小洞,填補輪廓上的縫隙。
基于膨脹,腐蝕,開啟和閉合這四個基本運算可以推導和組合成各種數(shù)學形態(tài)學算法,用他們可以進行圖像形狀和結(jié)構(gòu)的分析處理,包括圖像分割,特征提取,邊緣檢測,圖像濾波,圖像增強和恢復等等。
2.3 二值化
指紋圖像是一種只包含脊線和谷線的灰度圖像,自動指紋識別系統(tǒng)在處理指紋圖像時只關心當前被處理點是在脊線上還是谷線上。所以可以將在脊線上的點值置為0,而谷線上的點值為255,即將指紋圖像從灰度圖象變成了二值圖象。二值化并不改變指紋圖像所包含的脊線和谷線這種特征。
對指紋圖像二值化的好處在于使得圖像的幾何性質(zhì)只與0和1的位置有關,不再涉及像素的灰度值,使處理變得簡單,而且能夠壓縮數(shù)據(jù)量。對于我們的指紋傳感器采集到的圖像而言,二值化以后的數(shù)據(jù)量只有原始數(shù)據(jù)量的1/8。圖像二值化過程中的閾值選擇是關鍵。
2.3.1 指紋圖像二值化的要求
目前,己有不少圖像的二值化算法,一個針對指紋特點的二值化算法需要滿足以下幾點要求:
a.脊線中不出現(xiàn)空白;
b.二值化后的脊線基本保持原來指紋的特征;
c.指紋的紋線不應有太多的間斷和粘連;
d.指紋紋線間的間距應大致相同;
e.由于指紋識別系統(tǒng)的特性,二值化算法的速度也應是一個評價指標。
2.3.2 幾種二值化方法
1.整體閾值二值化
整體閾值二值化是由灰度級直方圖或者經(jīng)驗函數(shù)法給出一個針對整幅圖像的閾值T,指紋圖像中,所有大于T的像素點都被二值化為1,小于T的像素點都被二值化為0。算法步驟為:
a.計算出整幅指紋圖像的灰度直方圖。
b.求出灰度直方圖的峰值,由于錄入的指紋圖像脊線和谷線的數(shù)目接近相等,因此,理論上,指紋灰度直方圖應有兩個峰值。
c.以所求出的兩個峰值中間的灰度值作為整體閾值進行二值化:即將指紋圖像中所有灰度值大于閾值T的像素點置為1,小于等于T的像素點置為0。
但大多數(shù)指紋圖像的原始灰度直方圖(即使錄入質(zhì)量好的指紋圖像)并不是一條平滑的曲線,用肉眼觀察不能看出其峰值和谷值的分界線,這樣直接在直方圖中尋找谷值是難以求出閾值的。
2.局部閾值二值化
由像素點灰度值和該點鄰域內(nèi)其他點的局部灰度特性來確定閾值從而進行二值化的方法叫做局部閾值二值化。顯然,在一幅二值指紋圖像中,如果在一個區(qū)域內(nèi)為”1″的像素的總數(shù)多于為”0″的像素的總數(shù),那么二值指紋圖像的脊線就容易相連:如果為”0″的像素的總數(shù)多于為”l”像素的總數(shù),那么二值指紋圖像的脊線就容易斷開;如果為” l”像素的總數(shù)等于為” 0″像素的總數(shù)那么就可兼顧兩方面,二值指紋圖像的脊線既不容易相連,又不容易斷開。
該算法步驟為:
a. 如公式(2.18)采取 (n為奇數(shù))的窗口作為小區(qū)域,求出窗口內(nèi)所有像素的灰度值均值m:
公式(2.18)
公式(2.18)中 為像素點 的灰度值,n為窗口的寬度。
b. 設窗口中心的灰度值為p,比較窗口中心像素的灰度值p與所求出的窗口的灰度值均值m,如果p大于或等于 m,則將該像素二值化為”0″(即背景像素);否則將該像素二值化為”1″(即前景像素)。
窗口寬度的選擇是這樣考慮的:如果寬度選擇的很大,不僅窗口邊緣的像素點與窗口中心的關系不大,而且計算量也很大;如果寬度選擇的很小,則窗口可能完全落在指紋的脊線或谷線上,會引起脊線的中斷或粘連。
3.快速方向圖二值化
方向圖是用每一個像素點的方向來表示指紋圖像,像素點的方向是指其灰度值保持連續(xù)性的方向,可以根據(jù)像素點鄰域的灰度分布來判斷,我們設定了8個方向,各方向之間夾角為 。
利用指紋圖像每一個像素的灰度值分布確定方向,其基本原理如圖2.3所示,用 表示方向待求的像素(圖2.4中用11表示第一個方向的第一個像素值,12表示第一個方向的第二個像素值,……,86表示第八個方向的第六個像素值,依此類推來),以 為中心選取13×13的窗口,通過鄰域像素的值可以求得 各方向上的灰度值和,首先計算標號為i 的方向上的6個像素的灰度和 , i=1,…,8。令
公式(2.19)
公式(2.20)
公式(2.21)
當滿足公式(2.22)時, 點處于脊線上,賦值為0(即黑色);否則為背景點,賦值為255(即白色)。
公式(2.22)
73 83 13 26 36
72 82 12 25 35
63 46
62 71 81 11 24 34 45
61 44
53 52 51
54 55 56
41 64
42 31 21 14 84 74 65
43 66
32 22 15 85 75
33 23 16 86 76
圖2.4 13×13的窗口方向示意圖
2.4 細化
指紋圖像二值化后,紋線仍具有一定的寬度,平均寬度為6~8個像素。由于人們關心的是指紋紋線的走向與結(jié)構(gòu),而不是它的粗細,所以可以通過細化將紋線變?yōu)閱蜗袼貙挾鹊摹秉c線”。細化能去除不必要的紋線粗細信息,節(jié)省內(nèi)存,便于從指紋中提取細節(jié)特征,從而提高指紋圖像的處理速度。一種好的細化算法應該滿足下列條件:
a.迭代必須收斂(收斂性);
b.不破壞紋線的連接(連通性);
c.不引起紋線的逐步吞食(拓撲性);
d.保護指紋的細節(jié)特征(保持性);
e.骨架紋線的寬度為1個像素(細化性);
f.骨架盡可能接近條紋中心線(中軸性);
g.算法簡單、速度快(快速性)。
細化算法的種類很多,按細化處理過程可分為串行細化、并行細化和串并行混合細化。串行細化一次只能處理一個像素,下次操作由上次的操作結(jié)果決定。并行細化算法是同時對滿足給定條件的像素進行處理,即一次處理所有像素的一個子集。按細化后圖像的連通性可將細化算法分為4連通細化、8連通細化和混合連通細化。4連通指的是細化后圖像在水平垂直4個方向上的連通,8連通是細化后圖像在水平垂直4個方向再加上正反45度共8個方向上的連通,混合連通是指細化后圖像既有4連通也有8連通。其它常用于指紋細化的算法還有方向圖中心掃描細化算法 、紋線跟蹤細化算法等。
這里預先給出幾個定義:
目標點和背景點:目標點指像素值為1的點,與此對應,背景點像素值為0。8鄰點和4鄰點:如圖2.5所示,設有任意像素點P,P的8鄰點即為以P為中心的3×3區(qū)域中除了P點以外的8個點P1、P2、P3、P4、P5、P6、P7、P8,其中P2、P4、P6、P8 為其4鄰點。
P1 P2 P3
P8 P P4
P7 P6 P5
圖2.5 點P的鄰點分布示意圖
單像素寬:考察紋線上每一點的8鄰點,紋線端點的8鄰點中只有1個目標點,紋線連續(xù)點的8鄰點有兩個目標點,紋線分叉點有3個目標點,且每點8鄰點最多只有3個目標點。符合上述條件即為單像素寬。
邊界點:屬于目標點,且其4鄰點中至少有一個為背景點。
端點:屬于邊界點,且其8鄰點中只有一個屬于目標點。
關鍵點:刪除該點后會引起紋線的不連通,又叫做斷點。
2.4.1 快速并行細化算法
快速細化的算法描述如下:
a.遍歷整個指紋圖像,找出紋線的邊界點。
b.判斷該邊界點是否應刪除。對邊界點P定義兩個特征量nsum和tsum。
公式(2.23)
公式(2.24)
公式(2.23)和公式(2.24)中 。如果P點同時滿足: 且 , ,則可將其刪除。
c.繼續(xù)尋找下一個邊界點,直到?jīng)]有可刪除的點為止。
快速細化算法的運行速度很快,但存在一個嚴重的缺陷,由于該算法是4連通算法,因此由該算法得出的細化結(jié)果圖像很多不是單像素寬,細化不徹底。
2.4.2 串行OPTA串行算法
OPTA細化算法從圖像的左上角元素開始進行,每個像素均抽取如圖2.6所示的10個相鄰像素,并且與圖2.7所示的8個模板相比較,如果8個鄰域像素( 、 、 、 、 、 、 、 )與細化模板中的一個匹配(模板中非” “處的元素與此元素所對應的8鄰域中的像素值都相等時成為匹配,下同),則去除 ,否則保留。
圖2.6 OPTA算法中抽取的像素
0 1
0 1 1
0 1
1
1 1 1
0 0 0
1 0
1 1 0
1 0
0 0 0
1 1 1
1
0 0
0 1 1
1
1
0 1 1
0 0
(1) (2) (3) (4)
0 0
1 1 0
1
1
1 1 0
0 0
(5) (6) (7) (8)
圖2.7 8個刪除模板(” “處可取0或1)
為了保持連通性,抽取的元素再和圖2.8的兩個保留模板進行比較,若與其中一個匹配,則 仍保留,只有當與兩個模板都不匹配的時候, 才真正刪去。
0
1
1
0
0 1 1 0
(1) (2)
圖2.8 2個保留模板(” “處可取0或1)
算法按從左上角到右下角的順序進行,處理完以上過程為一次迭代,將迭代反復進行,直到?jīng)]有一個像素值改變?yōu)橹埂PTA算法能滿足收斂性、連接性、拓撲性和保持性,能得到較好的細化效果。但該算法得到的細化骨架在分叉點處細化不徹底,細化后的紋線不光滑,紋線有較多毛刺,且紋線扭曲不在紋線中心。因此不滿足細化的中軸性和細化性,并且因為使用多個模板,算法速度也比較慢。
2.4.3 串并行混合細化
該算法中將既不是關鍵點也不是端點的點稱為可刪除點。圖2.6為串并行細化用到的模板。
1
1
0
1 1 0
0 1 1
0
1
1
(1) (2) (3) (4)
圖2.9 串并行混合細化算法中用到的模板
圖2.9中各個模版具體表示為:
(1) ;(2) ;
(3) ;(4) ;
算法只對滿足4個模板其中之一的點進行處理。對應上述4個模板分別給出關鍵點的判斷條件如下:
(1)對匹配模板的像素,若滿足( )||( ),則P為關鍵點。
(2)對匹配模板的像素,若滿足( )||( ),則P為關鍵點。
(3)對匹配模板的像素,若滿足( )||( ),則P為關鍵點。
(4)對匹配模板的像素,若滿足( )||( ),則P為關鍵點。
對滿足某個模板的目標像素,使用上述判斷條件判斷此點是否為關鍵點,若為關鍵點,則不可刪除,若此點不是關鍵點,則再判斷此點是否為端點,若是端點則將P點保留,否則將P點刪除。
算法分為4次迭代,每次迭代對應一個模板,先使用圖2.9中模板(1)對圖像中滿足(1)模板的像素的進行處理,刪除可刪除的點。將輸出圖像再使用圖2.9中模板 (2),對滿足模板(2)的像素進行處理,刪除可刪除點。依此類推。直至第4次迭代輸出即為細化圖像。算法每次迭代內(nèi)部處理是并行的,各迭代之間是串行的,因此叫做串并行混合算法。
串并行細化算法執(zhí)行速度快,跟快速細化差不多,能滿足收斂性、連接性、拓撲性、中軸性和保持性,能得到較好的細化效果。但該算法得到的細化骨架在分叉點處細化不徹底,使后續(xù)步驟不能正確地提取細節(jié)點。
2.5 小結(jié)
指紋圖像由交替出現(xiàn)的脊和谷組成。對于一幅灰度指紋圖像,脊和谷形成一個正弦面,從頻域角度來看,指紋圖像中的有用信息包含在一定的通帶內(nèi)。指紋圖像的脊線有方向性,該方向在局部區(qū)域具有連續(xù)性,在某個尺寸的局部區(qū)域中,可以認為脊線方向是不變的。指紋圖像處理的方法應該利用指紋圖像的特點,脫離指紋的特點進行處理是很難得到較好的處理效果的。本章首先探討了一些圖像平滑增強方法,由于這些方法沒有考慮到指紋圖像自身的特點,所以處理效果都不夠理想。本章還介紹了數(shù)學形態(tài)學的一些基本概念和運算,它是一種新興的被廣泛用于圖像分析和處理的數(shù)學工具。最后研究了指紋圖像常用的二值化及細化算法,并就這些算法的優(yōu)缺點進行了簡單的比較。
第三章 指紋圖像預處理系統(tǒng)設計和實現(xiàn)
在指紋自動識別過程中,首先要對指紋圖像進行特征提取,然后根據(jù)這些特征集在指紋檔案庫中進行匹配,從而檢索有關信息。在預處理過程中,必須盡量保證既不出現(xiàn)偽特征又不損失真實特征。預處理是指紋自動識別過程中關鍵的一步。
3.1 指紋圖像預處理總體設計
在指紋圖像采集過程中,由于采集設備的參數(shù)設置不理想,周圍環(huán)境變化,皮膚干燥等影響,大約10%的指紋圖像是含噪音較多的低質(zhì)量灰度圖像。這些噪音嚴重影響了細節(jié)特征的提取,并有可能產(chǎn)生一些偽特征。
通過指紋圖像預處理,可以削弱這些噪聲。通過對指紋圖像進行增強,二值化及細化,將原始指紋圖像變成一幅清晰的”點線”圖,可以使特征提取的精確度得到提高,為特征匹配提供更加可靠的特征數(shù)據(jù),從而提高指紋識別的準確率。好的指紋預處理算法必須兼顧運算效率與準確性,使系統(tǒng)響應時間和正確識辨率控制在人們允許的范圍內(nèi)。指紋圖像預處理過程如圖3.1所示。
圖3.1 指紋圖像預處理過程圖
普通灰度圖像處理方法由于沒有考慮到指紋圖像的方向性,因此并不適合用于處理指紋圖像。本文采用了一套基于Gabor濾波的組合算法,并在VC++6.0上實現(xiàn)。此算法較好的利用了指紋的方向性,實驗證明,該算法對低質(zhì)量指紋圖像也十分有效。圖3.2為本文采用的指紋預處理系統(tǒng)框圖。
圖3.2 本文采用的指紋預處理系統(tǒng)框圖
3.1.1 界面設計
圖3.3為進入系統(tǒng)時的歡迎界面。左上角為四個操作菜單按鈕:打開圖像、圖像增強、圖像恢復、保存圖像。
圖3.3 系統(tǒng)的歡迎界面
打開圖像:當用戶點擊”打開圖像”按鈕時,程序會彈出一個對話框,詢問用戶打開哪一幅指紋圖像。用戶作出選擇后在該界面的左邊顯示所選擇的指紋圖像。
圖像預處理:如圖3.4所示,點擊”圖像預處理”按鈕后,程序出現(xiàn)一個下拉菜單,菜單選項從上至下分別為:直方圖均衡化、鄰域平均、方向濾波、二值化、細化、細化后去噪、組合算法。用戶點擊相應選項就對所選擇的指紋圖像進行相應的處理。其中,”組合算法”就是本文提出的一整套算法的組合,包括:基于Gabor的方向濾波、二值化、細化和細化后處理四個過程。
圖3.4 點擊”圖像預處理”后的下拉菜單
圖像恢復:當用戶要取消對圖像進行的操作時,點擊此按鈕,圖像恢復為原始指紋圖像。
保存圖像:點擊此按鈕將保存指紋圖像處理結(jié)果。
圖3.5是對一幅指紋圖像進行操作時的界面,其中左邊顯示的是原始指紋圖像,右邊顯示了對其進行二值化處理后的效果。
圖3.5 系統(tǒng)操作界面
3.1.2 模塊設計
預處理系統(tǒng)由直方圖均衡模塊、鄰域平均模塊、歸一化模塊、方向濾波模塊、二值化模塊、細化模塊組成。各個模塊功能相對獨立,單獨編寫和調(diào)試,最后將其中某些模塊組合成預處理系統(tǒng),剩下的模塊用以進行對比實驗。
a.直方圖均衡模塊:由ZhiFangtu_Junhenghua()函數(shù)構(gòu)成,該模塊完成對指紋的直方圖均衡化處理。
b.鄰域平均模塊:由函數(shù)RouHua()組成,利用鄰域平均算法完成對圖像的平滑處理。
c.方向濾波模塊:由函數(shù)fang_xiang_tu()組成,用于對指紋圖像進行Gabor濾波,包括方向圖的求取和Gabor濾波兩個步驟。該模塊為本系統(tǒng)最重要的模塊,并且由于該模塊存在復雜的卷積運算,所以系統(tǒng)大部分處理時間花費在這一模塊上。
d.二值化模塊:由w_b_hua()和Enforce_BMP()兩個函數(shù)組成。函數(shù)w_b_hua()用于指紋圖像二值化處理;函數(shù)Enforce_BMP()用于二值化后小孔的填充。
e.細化模塊:由Thin_BMP(),lian_jie(),gen_zong(),xihua_quzao_1()四個函數(shù)組成。Thin_BMP()函數(shù)完成指紋圖像的細化,lian_jie()函數(shù)用于由于細化或其它原因引起的斷裂紋線的連接。在此基礎上,函數(shù)gen_zong()將過短的紋線以及毛刺刪除,函數(shù)xihua_quzao_1()用于孤立點的刪除。
采用不同的模塊組合方式會產(chǎn)生不同的預處理效果,通過對比這些效果就能找出一套最佳的預處理組合算法。
3.2 預處理組合算法過程
本文在VC++6.0上實現(xiàn)了一系列算法,并對這些算法進行了不同的組合,根據(jù)實驗得到了一套較好的預處理組合算法,該套算法步驟如下:
a.將圖像分為若干個9x9大小的子塊,分別計算各個子塊方向;
b.建立Gabor濾波器,利用提取的塊方向?qū)Ω鱾€子塊進行濾波;
c.采用改進的局部閾值二值化法對圖像進行二值化;
d.采用Zhang和Suen的細化算法得到細化圖;
e.對細化后圖像去除短線和毛刺等,進一步減少圖像偽特征;
以下是本文提出的這套算法的詳細過程。
3.2.1 方向圖的提取
本文采用的Gabor濾波器是一種方向濾波器,在對子塊進行濾波之前必須求出其方向圖。
圖3.6是某一指紋的局部紋線結(jié)構(gòu)。指紋圖像最重要的特征之一就是具有明顯的方向性,指紋由脊線和谷線排列而成,在局部區(qū)域內(nèi)成平行結(jié)構(gòu)。因此,在每一個局部區(qū)域內(nèi)指紋有確定的方向。這種方向性反應了指紋的本質(zhì)特征。正確的方向圖的提取有利于獲得好的圖像增強效果,去除噪聲;而錯誤的方向圖最終將導致錯誤的圖像增強。目前指紋方向圖已被廣泛應用于指紋圖像增強、紋線特征的提取、指紋的自動分類、方向模板匹配、編碼重構(gòu)等許多關鍵處理環(huán)節(jié)[10]。
圖3.6 指紋局部紋線結(jié)構(gòu)
指紋像素點灰度值的分布具有一定的規(guī)律性,脊線上的點具有較大的灰度值,而谷線上的點具有相對較小的灰度值。如果作一條垂至于脊線的直線,用直線上的點的灰度值作灰度分布曲線,那么隨著脊線和谷線的交替,曲線上也表現(xiàn)出波峰波谷的交替。如果所作的直線方向與脊線方向相同,灰度分布曲線則近似是一條波動極小的直線。這表明,垂直于脊線方向的直線上的點的灰度值方差大,平行脊線方向的直線上的點的灰度值方差小。換言之,方差最小的方向就是脊線方向。詳細算法如下:
a.圖像分塊。將原始指紋圖像分成若干大小為wxw的子塊。w一般為1~1.5個脊線寬度,實驗中取w=9。
b.塊方向估計。預先定義8個方向(范圍從0~ ,每個方向角度相差 /8),如圖3.7所示。
圖3.7 指紋方向圖的8個預定方向
c.對像素點 分別沿8個方向跟蹤,跟蹤長度為8個像素寬度,計算其方差 (即沿 d 方向的灰度變化), 的大小由公式(3.1)決定:
, 公式(3.1)
公式(3.1)中 是點 的灰度值, 是d方向上第k個點,N是所取方向的方向數(shù),n是所取的鄰點數(shù)。本系統(tǒng)中N=8,n=8,即對每個點分別在8個預定方向上取8個鄰點計算其灰度方差。
d.比較這8個方向的灰度方差 ,使 最小的方向d就是點 方向。
e.對每個小塊內(nèi)點的方向進行統(tǒng)計,小塊中較多點同時具有的方向即為該塊的塊方向。
經(jīng)實驗測試,這種提取塊方向的方法在處理指紋紋線較模糊的區(qū)域時誤差較大。這是因為公式(3.1)在運算中反復用到了點 ,當該點為噪音點時就可能錯誤估計該點的方向,進而影響塊方向圖的提取。
為了獲得較為準確的塊方向圖,系統(tǒng)對上述算法進行了改進。該改進算法并不計算點方向圖而是直接計算塊方向圖:
a.與上述方法相同,仍然將圖像分為若干9x9大小的子塊,并且預先定義8個方向。
b.直接計算各個子塊方差 (即沿 d 方向的灰度變化)。對于子塊A, 的大小由公式(3.2)決定:
公式(3.2)
公式(3.2)中 和 是子塊A中的點, 和 是點 和 灰度值,并且 和 是d方向上的相鄰的兩點。即對某一方向K,計算子塊A內(nèi)所有在K方向上相鄰兩點的灰度方差,并將該方差累加。
c.使 最小的方向d即為該塊的塊方向。
例如,對于如圖3.8所示的一個9x9大小的子塊(圖中方框內(nèi)的標注為點的坐標),按照公式(3.2),則以點(x,y)為中心的子塊在0度方向的灰度方差 為:
公式(3.3)
而該子塊在45度方向上的灰度方差 為:
公式(3.4)
公式(3.3)和公式(3.4)中 為點 的灰度值。
實驗結(jié)果表明,該改進算法能更為準確的提取塊方向圖。
圖3.8 9x9子塊坐標
3.2.2 Gabor濾波
早期的指紋增強算法是在細化的指紋圖像上進行的。這種算法首先采用簡單的圖像處理技術,如低通濾波或中值濾波等對灰度圖像進行處理,再二值化及細化指紋圖像,然后通過對拓撲結(jié)構(gòu)的分析,結(jié)合紋線方向、距離等特征進行修正。這種方法基本上沒有圖像增強環(huán)節(jié),真實信息的損失以及虛假信息的引入非常嚴重,效果比較差。
1985年,Daugman提出了二維Gabor濾波器理論,并指出二維Gabor濾波器可以同時在空域、頻域和方向上獲得最佳的分辨率。二維Gabor濾波器可以很好的模擬人的視覺神經(jīng)細胞的感受視野輪廓。二維Gabor函數(shù)的數(shù)學表達式如公式(3.5):
公式(3.5)
公式(3.5)中 、 為高斯包絡面常數(shù);f為紋線頻率。Gabor濾波器是一種在x方向上帶通,y方向上低通的濾波器[11]。在對指紋圖像進行濾波時,只需對濾波器進行旋轉(zhuǎn),使其與指紋方向一致,就可以使沿著指紋紋線的信息得以很大程度地增強,垂直于紋線方向的信息則相對減弱。
根據(jù)歐拉公式:
公式(3.6)
公式(3.6)可以轉(zhuǎn)化為:
公式(3.7)
公式(3.7)中:
公式(3.8)
公式(3.9)
分析公式(3.8)與公式(3.9),不難看出公式(3.8)為偶函數(shù),而公式(3.9)為奇函數(shù)。當使用公式(3.8)時,由于其偶對稱性,在作用區(qū)域為以當前點(x,y)中心對稱時,當前點信息將得到增強,而如果使用公式(3.9),則效果相反。由此,可以使用簡化了的Gabor濾波器對指紋圖像進行增強。其數(shù)學表達式如下:
公式(3.10)
將公式(3.10)所增強的方向旋轉(zhuǎn)到與指紋方向一致。圖3.8為Gabor濾波器沿指紋方向旋轉(zhuǎn)示意圖,圖中 為當前操作點指紋方向,旋轉(zhuǎn)前的Gabor濾波器主要增強x軸方向上的信息,為了對當前操作點指紋方向進行濾波增強,必須將Gabor濾波器的坐標旋轉(zhuǎn) ,X,Y分別為旋轉(zhuǎn)前的坐標橫軸,縱軸; , 為旋轉(zhuǎn)后的坐標橫軸,縱軸。
根據(jù)圖3.9則有:
公式(3.11)
公式(3.11)中 , 為當前操作點指紋方向,然后利用公式(3.12)對輸入指紋圖像進行處理。
公式(3.12)
公式(3.12)中Input為輸入原始指紋圖像;Output為增強后的指紋圖像灰度值; 為分塊大小。
Y
(i,j)
y 紋線方向
o x X
圖3.9 Gabor濾波器沿指紋方向旋轉(zhuǎn)示意圖
當用Gabor濾波器完成濾波之后,像素的灰度值可能超出了[0,255]的范圍,所以還應該對濾波后結(jié)果進行歸一化處理,使像素灰度值介于0與255之間。具體做法是對Output(x,y)乘上某個常系數(shù)C。
實驗中,取 =9, = =4,f=0.1,C=6時效果最好。Gabor濾波流程圖如圖3.10。
圖3.10 Gabor濾波流程圖
3.2.3 二值化
通常計算機很難直接從灰度圖像中提取特征點,而且灰度圖像占用較大的存貯空間。二值化的目的就是將灰度指紋圖像變成只有0和1的取值的二值圖像。通過指紋二值化處理,可以進一步對圖像信息進行壓縮,便于計算機存貯和處理,為特征提取和匹配做好準備。例如,一幅300x300x8Bit的灰度圖像,二值化以后的數(shù)據(jù)量只有300x300x1Bit,這給存儲和處理都帶來了很大的方便,同時也提高了系統(tǒng)的經(jīng)濟實用性。二值化應盡量去除圖像中的噪聲。
二值化的難點在于閾值的選取。傳統(tǒng)的整體閾值法二值化在處理高質(zhì)量指紋圖像時效果較好,速度很快,但是對于低質(zhì)量指紋圖像效果往往較差。本系統(tǒng)設計并實現(xiàn)了改進的局部閾值自適應二值化算法,取得了很好的二值化效果。
本文采用的改進局部閾值自適應二值化算法首先利用了傳統(tǒng)局部閾值自適應二值化算法的思想,即根據(jù)指紋圖像中每一部分的明暗度來調(diào)整閾值,每一塊根據(jù)自己的閾值進行二值化,并在此基礎上引入了局部灰度方差用以判斷前景與背景區(qū)域。圖3.11為改進的局部閾值自適應二值化算法流程圖。具體算法如下:
a.將經(jīng)過Gabor濾波后的圖像劃分成 的塊;
b.計算第K塊中各個像素點的灰度值總和 ,則這一塊的灰度均值 為
公式(3.13)
c.計算第K塊中的灰度方差 :
公式(3.14)
d.第K塊的每個點(設坐標為(x,y))作以下處理:
公式(3.15)
其中 為點 的原始灰度值, 為點 新的灰度值。實驗中 =9時效果最好。
N
Y
圖3.11 改進的局部閾值自適應二值化算法流程圖
3.2.4 二值圖去噪
從二值圖中可以發(fā)現(xiàn)脊線中有許多小孔,如不填充的話,細化后將會出現(xiàn)許多假特征點信息(如圖3.12所示),因此必須填充小孔,使之變?yōu)榧咕€。其處理步驟為:
a.如圖3.13所示,設P1為當前處理點,若P1=0,則執(zhí)行步驟c;若P1=255,則令Sum=P2+P3+P4+P5+P6+P7+P8+P9,執(zhí)行步驟b;
b.若Sum=0,則令P1=0,執(zhí)行步驟c;否則P1不處理。執(zhí)行步驟c。
c.將處理窗口移向下一個點,判斷圖像所有點是否都已處理過。如果每個點都處理過,則結(jié)束程序;否則執(zhí)行步驟a。
(1)端點 (2)叉點 (3)斷點形成假端點 (4)小孔形成假叉點
圖3.12 小孔形成假特征點示意圖
P9 P2
P3
P8 P1 P4
P7 P6 P5
圖3.13 3 3窗口內(nèi)像素點編號
通過這個算法,脊線當中的小孔得到有效消除,這為指紋圖像的細化創(chuàng)造了良好的條件。
3.2.5 細化
經(jīng)過二值化的指紋圖像,紋線都具有一定的寬度,而系統(tǒng)處理時關心的只是線條的有無,紋線的粗細可以作為冗余信息通過細化去除掉。經(jīng)過細化處理后的指紋圖像將變成點線圖,即紋線都是由一個象素寬的”點線”組成。細化的主要作用是去除不必要的紋線粗細信息節(jié)省內(nèi)存,便于從指紋圖像中提取細節(jié)特征。從而提高指紋圖像的處理速度和效率。
細化時應保證紋線的連接性、方向性和特征點不變及紋線的中心基本不變。
傳統(tǒng)的細化算法有Hilditch細化算法[12],Pavlidis細化算法,Posenfeld細化算法等。細化方法不同,細化結(jié)果就有差異。文獻[13]中提到的紋線跟蹤算法在細化速度和細化效果上較傳統(tǒng)算法都有很大提高,但仍需花費較多的時間(對一幅512×512象素點的指紋圖像進行細化需要25秒時間)。本文采用了Zhang和Suen的方法來細化指紋圖像[14],該方法以3 3的圖像塊來進行細化處理,對每個像素都進行兩步處理,從而決定是保留還是刪除中間的點。如圖3.13所示,P1為中心像素,P2,……,P9為周圍的像素。對P1作如下處理:
第一步,如果滿足以下條件,就刪除中間的點:
(a)
(b)
(c)
(d) ;
其中 ,即P1周圍不為0的像素點個數(shù)。
S(P1)是按{ }的順序從0到1變化的次數(shù)。
第二步,條件(a)和(b)保持第一步中的不變,條件(c)和(d)修改如下:
第一步中的條件(c)和(d)用于去除不是輪廓像素的東南像素邊界點和西北拐角像素點;第二步中的條件 和 用于去除西北邊界像素點和東南拐角像素點。上述兩個步驟重復執(zhí)行,直到?jīng)]有再能刪除的點為止。
為了得到較高質(zhì)量的細化圖像,本系統(tǒng)共進行了四個方向的子細化過程:從左到右,從上到下,從右到左,從下到上。程序流程圖如圖3.14所示。
N
Y
N
Y
N
Y
圖3.14 細化流程圖
3.2.6 細化后處理
由于圖像采集和預處理過程中不可避免的會引入一些噪聲,細化后的圖像會出現(xiàn)一些毛刺和短線,孤立點等偽特征。如果不刪除這些偽特征,將給后續(xù)的特征提取和匹配產(chǎn)生不利的影響[15]。本文在3x3窗口上采用紋線跟蹤技術,跟蹤記錄指紋上某一局域的結(jié)構(gòu),然后根據(jù)記錄的像素數(shù)據(jù)對該局域指紋結(jié)構(gòu)做出判斷,決定是否進行濾除處理。
1.毛刺的刪除
毛刺:一端為端點,另一端為三叉點或端點,通常毛刺是很短的。根據(jù)毛刺的這種特點,可以設計這樣的處理算法:對細化后的圖像逐點掃描,如果該點是紋線的端點,則從該端點出發(fā),沿著細化后的紋線跟蹤,若在距離step(實驗中step=5)內(nèi)遇到了另一個端點或三叉點,則可以判斷所跟蹤的紋線是毛刺,將此紋線刪除。圖3.15為毛刺刪除算法流程圖。
N
Y
搜索擋墻
Y N
Y
N
Y
圖3.15 毛刺刪除算法流程圖
2.斷點的連接
對細化后的圖像逐點掃描,對某個像素點P,若P灰度值為零且與P的8個鄰點中有且僅有7個點灰度值為255時,可以判斷P點為紋線端點,則對以P為中心,三個象素點長度為半徑的區(qū)域進行搜索,如果在此區(qū)域搜索到另一個端點 ,就將從P到 的直線上點的灰度值置零。否則不對P做任何處理,并搜索下一個象素點,直到圖像中所有點都被掃描過為止。圖3.16為斷點連接的流程圖。
N
Y
N
N Y
Y
圖3.16 斷點連接流程圖
3.短線的刪除
短線刪除算法與毛刺刪除算法相類似,在此不再贅述。只是紋線跟蹤最大距離Step變?yōu)?3,即長度小于13的紋線都視為短線刪除。
4.孤立點的刪除
對細化后的圖像逐點掃描,設當前處理點為P,P1~P8為其相鄰的8個點,若P=0且P1=P2=P3=P4=P5=P6=P7=P8=1(”0″表示該點為黑點,”1″表示為白點),則刪除P,否則不對P作處理,掃描下一個點,重復執(zhí)行以上步驟直到所有點都被掃描過為止。
通過上述操作步驟,細化后指紋圖像的偽特征可以得到有效的去除。
第四章 實驗結(jié)果分析
4.1 預處理算法小結(jié)
對于指紋圖像的預處理一直是指紋識別系統(tǒng)的難點技術之一。從原理上分析,指紋圖像是脊線和谷線組成的線條狀圖像,因此其灰度直方圖應表現(xiàn)明顯的雙峰性質(zhì),但是由于指紋采集時受到各種噪聲的影響,使得實際得到的灰度直方圖往往并不呈現(xiàn)雙峰性質(zhì),因此一般的基于灰度的圖像增強方法如直方圖修整、中值濾波等很難取得明顯的效果。對于指紋圖像,局部區(qū)域的紋線分布具有較穩(wěn)定的方向和頻率,根據(jù)這些方向和頻率數(shù)值,設計出相應的帶通濾波器就能有效地在局部區(qū)域?qū)χ讣y進行修正和濾波。Gabor濾波器可以同時在空域和頻域上獲得最佳的分辨率,具有良好的帶通性和方向選擇性。因此,本文采用了基于Gabor濾波的指紋識別預處理算法,對輸入的含有較多噪音的指紋圖像進行濾波、二值化、細化及細化后處理等操作,有效的改善了指紋圖像的質(zhì)量,獲得了較好的預處理效果。
在方向圖的提取上,將脊線方向量化為8個方向,并對塊方向圖的求取方法進行了改進,獲得了較為準確的塊方向圖;接著利用Gabor濾波器在8個方向上進行濾波。采用平滑閾值自適應二值化算法把灰度圖像轉(zhuǎn)變?yōu)槎祱D像,并對獲得的二值圖像進行了簡單的去噪,包括脊線中的小孔洞的填充和邊緣毛刺的刪除。然后利用細化算法將指紋脊線細化到一個像素寬度,去除大部分噪聲之后獲得了較為清晰的點線圖。
在該預處理系統(tǒng)中還存在著一定的問題。一個是系統(tǒng)優(yōu)化問題,盡管對程序做了許多優(yōu)化工作,但仍然存在程序重復執(zhí)行的現(xiàn)象。還需要對程序的結(jié)構(gòu)進行一定的改進。二是算法有待改進。Gabor濾波器雖然能獲得較好的濾波效果,但是該算法存在卷積運算,會花費較長時間。采用簡化的Gabor濾波器以后,處理時間得到了一定的減小,但仍然需要較長的處理時間。當系統(tǒng)對實時性要求較高時,Gabor濾波就很難滿足要求了。Gabor濾波器一共包含四個可變參數(shù):高斯包絡面常數(shù) 、 、紋線頻率f、塊方向 ,在進行Gabor濾波時,系統(tǒng)只是求出了塊方向 ,而其他參數(shù)采用的都是經(jīng)驗值( = =4,f=0.1)。這樣處理的好處是能夠大大減小系統(tǒng)處理的時間;缺點是這些經(jīng)驗值都是對有限的指紋庫中的數(shù)據(jù)進行處理時總結(jié)得到的,但對于千變?nèi)f化的指紋圖像而言,其適用性不高。為了讓系統(tǒng)具有更好的魯棒特性,可以在系統(tǒng)中加入求取高斯包絡面常數(shù) 、 、紋線頻率f的程序,但這樣會增加系統(tǒng)處理時間。
4.2 實驗結(jié)果比較
4.2.1 方向濾波結(jié)果分析
系統(tǒng)對幾種濾波效果作了對比。執(zhí)行程序,打開任意一幅未經(jīng)處理的指紋圖像,分別用鄰域平均濾波算法,頻域濾波算法和Gabor濾波算法處理該圖象。圖4.1為濾波效果的對比,其中圖(1)是質(zhì)量較好的原始指紋圖像;圖(2)是采用鄰域平均濾波以后的圖像,濾波窗口大小為7 7;圖(3)是通過頻域濾波以后的結(jié)果,頻域濾波算法是在Matlab 6.5平臺上實現(xiàn)的,濾波器為理想低通濾波器,濾波半徑為50;圖(4)是Gabor濾波的效果,濾波窗口大小為9 9。
從圖中可以看出采用鄰域平均法濾波會使脊線的邊緣變得模糊,有的地方會發(fā)生粘連,這給后續(xù)的二值化閾值選取帶來了一定的困難,而頻域濾波能較好的去除噪音,并且脊線邊緣清晰,但是未能將斷裂的紋線很好的連接起來。采用Gabor濾波能很好去掉噪音,脊線與谷線邊緣都較清晰,同時一些小的斷點也被連接起來了。可見,Gabor濾波器能起到很好的濾波效果。
(1)原始指紋圖像 (2)鄰域平均濾波效果
(3)頻域濾波效果 (4) Gabor濾波效果
圖4.1 濾波效果對比
4.2.2 二值化結(jié)果分析
選擇圖4.1的圖(2),分別采用整體閾值二值化算法和改進的局部閾值自適應二值化算法對其進行處理。圖4.2為這兩種二值化算法處理效果對比,其中圖(1)為整體閾值二值化后的效果,圖(2)為改進的局部閾值自適應二值化后的效果。
從處理時間上看,兩種二值化算法都很快,但整體閾值二值化算法略快于局部閾值自適應二值化算法,后者多出的那部分處理時間主要用于計算子塊灰度均值和方差。從處理效果上看,整體閾值二值化法很難找到適合的閾值,灰度分布不均勻的指紋圖像極易出現(xiàn)斷點和粘連,從圖(1)明顯可以看出,部分區(qū)域脊線和谷線之間粘連十分嚴重;而改進的局部閾值自適應二值化使脊線和谷線清晰的分離開來,處理效果顯著優(yōu)于整體閾值法。
綜上,當系統(tǒng)對實時性要求不高而對圖像處理效果要求較高時,應當首選改進的局部閾值自適應二值化算法。
(1)整體閾值二值化效果 (2)改進的局部閾值自適應二值化效果
圖4.2 二值化效果對比
4.2.3 細化結(jié)果分析
對于圖4.1中圖(4),選擇程序中”指紋預處理”菜單中的”二值化”按鈕,即通過改進的局部閾值自適應二值化算法對其進行二值化處理;再選擇”指紋預處理”菜單中的”細化”按鈕,得到如圖4.3所示的細化處理效果圖。細化處理后紋線基本都是一個像素寬度,且紋線位于原來脊線的中心位置。該細化算法處理速度(對一幅512×512像素點的指紋圖像進行細化約1秒左右)比文獻[13]中提到的紋線跟蹤算法(對一幅512×512象素點的指紋圖像進行細化需要25秒時間)快很多。本系統(tǒng)的細化是令人滿意的。
細化后的圖像仍存在著一些短線和毛刺,有必要對細化后的圖像進行后處理。
圖4.3 細化處理結(jié)果圖
4.2.4 細化后處理結(jié)果分析
細化處理后的圖像仍然存在著毛刺,短線和一些孤立點,嚴重影響了特征的提取和比對。為此,系統(tǒng)設計了細化后處理模塊。針對圖4.3,點擊程序中”圖像預處理”菜單內(nèi)”細化后處理”按鈕,程序?qū)⒁来螆?zhí)行斷點的連接,毛刺的刪除,短線的刪除,孤立點的刪除四個步驟。圖4.4是得到的細化后處理的結(jié)果圖。可以看出,短線和毛刺基本都被刪除掉了。至此,系統(tǒng)預處理全部完成,我們也獲得了較為清晰的點線圖。
圖4.4 細化后處理結(jié)果圖
4.2.5 另一組實驗結(jié)果分析
為了進一步觀察該系統(tǒng)對低質(zhì)量指紋圖像的預處理效果,實驗還另外選擇了一幅指紋圖像。圖4.5為低質(zhì)量指紋圖像預處理效果圖。其中圖(1)為質(zhì)量較差的原始指紋圖像,圖像中有較多的斷點和孔洞;圖(2)為Gabor濾波后效果,濾波后一些斷點得到了連接,且孔洞被很好的過濾掉了,圖(3)為二值化處理效果,圖(4)是細化效果,圖(5)是細化后處理效果;從圖(5)可以看出,該系統(tǒng)對低質(zhì)量指紋圖像也能獲得較好的預處理效果。
(1)原始指紋圖像 (2)Gabor濾波后效果
(3)二值化處理效果 (4)細化效果
(5)細化后處理效果
圖4.5 低質(zhì)量指紋圖像預處理效果圖
第五章 總結(jié)與展望
5.1 總結(jié)
指紋圖像預處理是自動指紋識別系統(tǒng)中一項艱巨而又極關鍵的任務。其處理時間大約為整個系統(tǒng)運行時間的95%以上,而后續(xù)的指紋特征提取和比對的準確性也依賴于預處理的結(jié)果。指紋圖像預處理的研究對提高AFIS系統(tǒng)的性能有著重要的意義。
本文簡單闡述了生物識別技術和AFIS系統(tǒng)的概貌,著重介紹了指紋圖像預處理的一些基本概念和算法,對針對這些算法進行了比較。利用指紋圖像的方向性,采用了一套基于Gabor濾波器的指紋預處理算法。該預處理算法主要包括方向圖的提取、Gabor濾波、二值化、細化等步驟。
1.在方向圖的提取中,將指紋方向離散到8個預先設定的方向,在9 9窗口上利用改進的方向提取方法獲得了較為準確的塊方向。
2.建立了簡化的Gabor濾波器,大大縮短了濾波時間;此外,為了進行比較,還編程實現(xiàn)了另外幾種傳統(tǒng)濾波算法,通過對多幅指紋圖像濾波的比較,證明了Gabor濾波算法效果明顯優(yōu)于傳統(tǒng)的濾波算法。
3.在二值化過程中采用了改進的局部閾值自適應二值化算法。編程實現(xiàn)了整體閾值二值化算法用于效果的比較,實驗證明,改進的局部閾值自適應二值化算法效果最優(yōu)。
4.采用了Zhang和Suen提出的細化算法對圖像進行細化,得到了令人滿意的細化效果。對細化后的圖像進行了去噪處理,包括斷點的連接,毛刺和短線的刪除,孤立點的刪除。通過這些處理,去除了大部分的偽特征,得到了較為清晰的二值點線圖。
總之,本文通過大量的研究和實驗,給出了一套有效的指紋預處理系統(tǒng)軟件實現(xiàn)部分。
5.2 展望
本文所提出的指紋預處理算法雖然取得了一定的效果,但還存在著許多需要改進的地方。
必須指出,改進的方向圖提取方法在指紋圖像紋線太模糊或斷裂太多時會使方向圖提取不準確,進而影響后續(xù)的Gabor濾波效果。由于紋線方向在局部區(qū)域的連續(xù)性,可以在獲得方向圖之后加入方向圖平滑的步驟,這樣可以在一定程度上校正錯誤的紋線方向。
另外,Gabor濾波器的參數(shù)選擇上也存在著尚未解決的問題。本文中Gabor函數(shù)的參數(shù)除了濾波方向 外,全部都使用的是經(jīng)驗值。這些經(jīng)驗值是對有限的指紋庫中的數(shù)據(jù)進行處理時總結(jié)得到的,但對于千變?nèi)f化的指紋圖像而言,其適用范圍還有待商榷。可以在系統(tǒng)中加入Gabor參數(shù)測定模塊,針對所處理的圖像,通過一
定的算法求得紋線頻率 和高斯包絡面常數(shù) , ,這樣濾波效果將更好。
評論
查看更多