梅 ,
(南京信息工程大學 a.江蘇省網絡監控中心;b.江蘇省大氣環境與裝備技術協同創新中心; c.計算機與軟件學院,南京 210044)
鑒于指紋皮膚干濕、清潔度、破損及傳感器噪聲等因素,往往會造成較大比例采集到的指紋圖像中存在低質量區域。為了確保低質量區域特征提取的準確性,需要對指紋進行增強,其目的是提升指紋脊、谷紋路的清晰度。
宏觀上講,常用的指紋圖像增強方法主要分為空域增強和頻域增強,其基本思想都是利用指紋圖像在局部所呈現的方向性信息及脊、谷線交替的頻率信息來設計濾波器以達到增強目的。
1)空域增強主要的代表工作有方向濾波[1-3]、Gabor濾波[4-7]等。方向濾波預先設計一組具有固定方向的濾波模板,通過選擇與當前待增強區域方向一致的濾波模板來實現增強。Gabor濾波器具有天然的頻率和方向雙重選擇性質,該方法沿脊線方向實施低通濾波以連接斷開的脊線,在脊線垂直方向實施帶通濾波以分離粘連的脊、谷線。
2)頻域增強將指紋圖像從空域轉換到頻域下,依據頻譜特征設計濾波器以實現指紋增強。文獻[8]給出了一種基于傅里葉變換的增強算法,其主要步驟為:對原指紋圖像做傅里葉變換獲得頻譜圖像;使用0-n個方向帶通濾波器分別對頻譜圖像濾波,得到一組濾波后頻譜圖PF0-PFn;對濾波后頻譜圖做傅里葉逆變換獲得一組預濾波圖像pf0-pfn;依據每個像素點方向,從方向一致的預濾波圖像中選取該像素來組成濾波后圖像;設置閾值對濾波后圖像進行二值化,得到增強圖像。該算法需要對整幅頻譜圖像進行n+1次方向濾波和傅里葉逆變換,因此,運算復雜度較高。
區別于上述工作,文獻[9-11]在指紋局部塊上進行傅里葉變換,其主要思路為:將指紋圖像劃分為一系列互不重疊的塊;對每個塊做二維離散傅里葉變換得到局部頻譜圖像;設計濾波器對頻譜圖像濾波;逆變換之后得到濾波后圖像;重復上述步驟直到遍歷所有塊,重新組合獲得增強結果。該類算法只需對指紋圖像的每個局部區域做一次傅里葉變換、濾波和傅里葉逆變換,運算復雜度明顯降低,但該類工作[12-13]也存在2個問題:對非平緩區域增強效果較差;由于塊窗口尺度引起塊效應問題。
為此,本文提出一種傅里葉頻域下基于曲面變換的指紋增強算法,以改善非平緩區域的增強效果,解決塊窗口尺度問題。為了便于描述,以下將基于局部塊的增強算法稱為基于非曲面的指紋增強算法。
基于非曲面的指紋增強算法存在以下問題:
1)平緩區域與非平緩區域問題
對于指紋方向變化較小的平緩區域,其頻譜圖呈現出中心對稱的2個亮斑:亮斑連線與水平軸之間的夾角即脊線梯度方向;亮斑與中心點之間距離代表頻率大小。平緩區域頻譜圖像能量集中在沿脊線梯度方向中心對稱的兩點,增強所用濾波器方向與待增強區域脊線梯度方向一致時,可以有效地濾除噪聲,保留重要的指紋頻率信息。方向變化范圍較大的非平緩區域的頻譜圖,其頻譜圖像能量集中區域近似為一個圓環,增強時無法確定主要的濾波方向,取某一特定方向會丟失圓環上其他方向所保留的指紋信息,使得方向濾波的增強效果較差。指紋局部區域的頻譜圖如圖1所示。

圖1 指紋局部區域的頻譜圖
2)塊窗口尺度問題
當窗口較大時,其間包含多條脊、谷線,頻率信息較為明顯,但相鄰塊之間方向差異較大,從而導致增強后相鄰塊之間不能很好地連接在一起,本文將該現象稱為塊效應;當窗口較小時,頻率信息不明顯,不適合進行頻域濾波增強。
綜上所述,非平緩區域方向范圍較大,濾波增強時無法確定主要的濾波方向,增強效果較差。受文獻[6]的曲面Gabor濾波和文獻[7]的正交雙曲線Gabor濾波的啟發,本文將曲面變換用于頻域增強,解決非平緩區域的增強問題。
文獻[6]提出的曲面如圖2所示,曲面區域為一個包含2p+1條平行曲線的區域,且每條曲線均包含2q+1個點。定位像素點(i,j)處曲面區域Ci,j的大致過程如下:
1)定位平行曲線的中點
把像素點(i,j)作為曲面中心,從中心點出發,沿著垂直脊線的2個方向初始化平行曲線的中點(如圖2中的豎直方向點所示),每一個方向拓展p個像素單元即可得到2p+1個曲線中點。在每一次拓展中,所取方向始終正交于局部脊線方向。
2)尋找平行曲線
從每一個曲線中點出發,沿著脊線方向θ和脊線相反方向θ+π分別拓展q個像素單元即可得到2p+1條長為2q+1的曲線。由此得到了一個大小為(2p+1)×(2q+1)的曲面區域Ci,j。

圖2 曲面區域Ci,j
本文將定位曲面區域并將其映射到二維數組的過程稱為曲面變換。在曲面變換過程中,記錄二維數組中每一個元素在原指紋圖像中的對應坐標,這些坐標值用于將二維數組映射回曲面區域,該過程稱為逆曲面變換。
在非平緩區域使用曲面變換得到二維數組(如圖1(c))所示),其頻譜圖(如圖1(f))呈現出沿豎直方向中心對稱的2個亮斑,這表明頻譜能量集中在豎直方向,因此,增強時濾波方向選為豎直方向可以達到較好的增強效果。
由于曲面變換比較耗時,為了提高執行效率,本文只在非平緩區域執行曲面變換,為此需要區分平緩區域與非平緩區域。
本文借鑒文獻[14]定義的變化度來解決該區分問題,變化度反映當前塊與8個相鄰塊之間的方向差異,其定義如下:
其中:
α=|θB(m,n)-θB(i,j)|
β=π-|θB(m,n)-θB(i,j)|
其中,θB(i,j)表示當前塊的方向,θB(m,n)表示8個相鄰塊的方向。設置一個閾值,當塊的變化度小于閾值時,該塊被標記為平緩區域;否則,被標記為非平緩區域。圖3展示了一個指紋圖像標記平緩區域和非平緩區域后的結果,窗口大小為11×11,其中,灰色區域為非平緩區域,其他區域為平緩區域。

圖3 標記非平緩區域
文獻[15]引入復合窗口模板解決在方向場計算過程中由于窗口尺寸引起的準確性與抗噪性的矛盾。受其啟發,本文引入復合窗口模板來解決塊窗口尺度問題。復合窗口模板[15](如圖4所示)將窗口分為內層窗口和外層窗口,且外層窗口大于內層窗口,將較小的內層窗口作為當前需要增強的窗口。由于較大窗口指紋圖像包含足夠多的脊線,頻率信息較為明顯,因此先在較大的外層窗口上實現濾波增強得到增強后圖像,然后將內層窗口在外層窗口中的對應區域作為該內層窗口的增強結果,以減小增強后圖像的塊效應。

圖4 復合窗口模板
本文提出一種傅里葉頻域下基于曲面變換的指紋增強算法,以克服基于非曲面算法在非平緩區域增強效果較差的問題,同時解決非曲面增強所產生的塊效應問題。其流程如圖5所示。

圖5 指紋增強算法流程
本文算法所用濾波器包括徑向濾波器Hρ和方向濾波器Ho,公式如下:
H(ρ,θ)=Hρ(ρ)Ho(θ)
(2)
其中,ρ、θ分別代表頻率和方向,DL和DH為截斷頻率,θbp是濾波器的角度帶寬,θc是濾波方向。
在本文算法中,若窗口為平緩區域,則用Wplane_in、Wplane_out分別表示內層窗口和外層窗口,用Eplane_in、Eplane_out分別表示內層窗口和外層窗口增強后圖像。若窗口為非平緩區域,則用Wcurve_in、Wcurve_out、Warray_out分別表示內曲面窗口、外曲面窗口和外曲面窗口映射得到的二維數組,Ecurve_in、Ecurve_out、Earray_out分別表示內曲面窗口、外曲面窗口和外曲面窗口映射得到的二維數組的增強后圖像。
以下將依據圖5所示流程,詳細闡述每個步驟的具體內容。
步驟1將原始指紋圖像劃分成一系列互不重疊的小塊,作為圖4中復合窗口模板的內層窗口。
步驟2依據式(1)定義的變化度來判斷內層窗口是平緩區域還是非平緩區域。
步驟3如果該窗口是平緩區域,用Wplane_in來表示,首先找到復合模板的外層窗口Wplane_out;在外層窗口上進行離散傅里葉變換(DFT)得到頻譜圖F;然后采用式(2)的濾波器H(ρ,θ)對頻譜圖F進行濾波,此時濾波器方向為窗口中心點處梯度方向;逆傅里葉變換(IDFT)得到增強后的外層窗口Eplane_out;將內層窗口Wplane_in在外層窗口Eplane_out中對應區域作為該內層窗口的增強后圖像Eplane_in。
步驟4如果該窗口是非平緩區域,用Wcurve_in來表示,首先使用曲面變換定位外曲面窗口Wcurve_out并映射得到二維數組Warray_out;對得到的二維數組Warray_out進行DFT得到相應的頻譜圖F;然后采用豎直方向的濾波器H(ρ,θ)對F進行濾波;經過IDFT得到二維數組的增強結果Earray_out;逆曲面變換將結果Earray_out映射到外曲面窗口,得到增強后的曲面Ecurve_out;將內曲面窗口Wcurve_in在Ecurve_out中的對應區域Ecurve_in填充到新圖像對應區域。
步驟5重復上述步驟2~步驟4直到遍歷完所有內層窗口,重新組合即可得到增強后指紋圖像g。
為了驗證提出的基于曲面變換的指紋增強算法的增強效果,將本文算法與文獻[6]曲面Gabor增強算法、文獻[9]傅里葉頻域下基于非曲面的指紋增強算法進行對比。實驗從增強效果、指紋匹配結果和時間復雜度3個角度進行算法性能評估。實驗在FVC2002的DB1和DB2指紋庫上進行,DB1與DB2各包含100個不同的手指,每個手指保存了8幅指紋圖像。
為了盡可能地提高對比性,本文在實驗設計時做了以下3點工作:
1)在實現對比時,單窗口應與復合窗口的外層窗口大小一致。在實驗中,復合窗口的外層窗口大小選為31×31,內層窗口大小為11×11,復合窗口大小的選擇采用文獻[15]推薦的參數值。
2)曲面Gabor算法及非曲面算法均采用了與本文算法一致的方向場。
3)算法采用文獻[14]推薦的參數值作為變化度的閾值以實現平緩區域與非平緩區域的區分。
在指紋庫FVC2002上,分別實現曲面Gabor算法、非曲面算法和本文算法,以驗證本文算法中的復合窗口、曲面變換的有效性。抽取庫中一幅指紋圖像,其增強效果對比圖如圖6所示,從圖6(d)、圖6(h)、圖6(l)與圖6(b)、圖6(f)、圖6(j)的對比可以看出,本文算法相比于非曲面算法具有更好的增強效果,可以有效解決非曲面算法存在的塊效應問題和在非平緩區域增強效果差的問題。從圖6(d)、圖6(h)、圖6(l)與圖6(c)、圖6(g)、圖6(k)的對比可看出,視覺上本文算法與經典的曲面Gabor算法的增強效果相當。

圖6 增強實驗結果對比1
圖7展示了FVC2002指紋庫幾幅質量較差指紋的增強效果對比圖。可以看出,本文算法的增強效果明顯優于非曲面算法,相比于曲面Gabor算法,本文算法在連接斷開脊線、增強非平緩區域等方面的效果更好。

圖7 增強實驗結果對比2
實驗利用匹配性能來評估算法的增強效果.采用文獻[15]的匹配系統,該匹配系統主要包括指紋圖像分割、方向場計算、指紋增強、二值化與細化、細節點提取和匹配等部分。實驗中使用曲面Gabor算法、非曲面算法和本文算法來替代原系統中的指紋增強方法。本文實驗將不同閾值(細節點匹配數目)下的正確率作為性能評價指標,如果指紋A、B來自同一個手指且結果是匹配,或者指紋A、B來自不同的手指且結果是不匹配,那么這樣的匹配結果是正確的,反之則為錯誤結果,正確的匹配結果數與總的匹配次數的比值即為正確率。在統計每個指紋庫的正確率時,抽取50個手指,每個手指取6幅指紋圖像,共300幅指紋圖像。將每個手指的第1張圖像注冊入庫,然后將剩下的250幅指紋與庫中所有圖像進行匹配,因此共計進行50×250=12 500次匹配。
表1、表2分別為曲面Gabor算法、非曲面算法和本文算法在FVC2002 DBA的DB1、DB2上的匹配實驗對比結果。

表1 曲面Gabor算法、非曲面算法、本文算法在DB1的匹配實驗結果對比

表2 曲面Gabor算法、非曲面算法、本文算法在DB2的匹配實驗結果對比
實驗結果表明:
1)本文算法的匹配正確率明顯高于非曲面算法。該結果表明曲面變換和復合窗口的使用可以有效解決塊窗口尺度問題,以及非曲面算法在非平緩區域增強效果較差的問題,從而改善算法增強效果,提高匹配正確率。
2)本文算法的匹配正確率高于經典的曲面Gabor算法。說明本文算法的增強效果優于曲面Gabor算法。
綜上可得,曲面變換和復合窗口的引入使得本文算法具有很好的增強效果。
本文將算法在FVC2002指紋庫的DB1和DB2上的平均運行時間作為時間復雜度評價指標。硬件環境為2.93 GHz CPU、2 GB RAM,軟件環境為Windows操作系統,編程語言為Matlab。表3展示了曲面Gabor算法、非曲面算法和本文算法在時間復雜度方面的對比結果。

表3 在DB1、DB2上的平均運行時間對比 s
實驗結果顯示:
1)本文算法的時間復雜度高于非曲面算法。原因在于:本文算法使用復合窗口,在外層窗口上實現濾波增強后,把內層窗口的結果作為最終圖像的一部分,而非曲面算法使用的是單層窗口,直接把較大外層窗口的增強結果作為最終圖像的一部分,故復合窗口算法的時間復雜度是單窗口算法的(Wout×Wout)/(Win×Win)倍;本文算法需要對非平緩區域的每個內層窗口進行曲面變換,找到其對應的曲面區域后再實現濾波增強,相比于非曲面算法,本文算法增加了曲面變換的時間消耗。
2)本文算法的時間復雜度明顯低于曲面Gabor算法。曲面Gabor算法在空域實現指紋增強,比本文算法更加耗時,運行時間是本文算法的近55倍。
基于曲面變換和復合模板,本文提出一種傅里葉頻域下基于曲面變換的指紋增強算法。實驗結果表明,與非曲面算法相比,對于指紋非平緩區域,該算法能取得更好的增強效果,引入的復合窗口模板可以有效解決非曲面算法存在的塊效應問題。與曲面Gabor算法相比,運行時間明顯降低。本文算法將曲面變換用于傅里葉頻域下的指紋增強,下一步將對曲面變換在其他頻域下的應用進行研究。