??? 摘? 要: 介紹了用硬件實現(xiàn)的獨立指紋識別系統(tǒng)" title="識別系統(tǒng)">識別系統(tǒng)。討論了指紋識別的算法概述、設計方法及其在DSP板上的實現(xiàn)。
??? 關鍵詞: 指紋識別? 特征匹配 DSP
?
??? 隨著指紋識別技術(shù)的不斷發(fā)展和成熟,高度的精確性使其已應用到身份認證的各個領域。與其他生物統(tǒng)計學特征相比,指紋特征更容易提取、更可信,且特征尺寸也很小。這些特點使指紋識別系統(tǒng)在有限資源平臺上實現(xiàn)并維持一定性能(FAR、FRR及匹配時間等)成為可能。?
??? 本文討論了指紋識別系統(tǒng)的設計和實現(xiàn)方法。介紹運用細節(jié)的脊線形狀特征作為本算法的基礎;基于這種思想,建立了指紋識別算法流程。該算法很容易在任何平臺上實現(xiàn)。筆者選擇了高效的DSP平臺,設計了一個專業(yè)的用來單獨實現(xiàn)指紋模塊的DSP板。最后,討論了這種指紋識別系統(tǒng)的現(xiàn)狀和未來的發(fā)展。?
1 細節(jié)脊線的形狀特征?
??? 指紋圖像" title="指紋圖像">指紋圖像上各種各樣的線條被稱為脊線,脊線之間的空白稱為谷。指紋的細節(jié)特征是指紋識別的依據(jù),最常用的細節(jié)特征是脊線的端點和分叉點。圖1顯示了端點和分叉兩個細節(jié)特征。端點就是脊線的終點,分叉表示一條脊線從一條路徑在Y型結(jié)合點變?yōu)閮蓷l路徑。細節(jié)比較運用細節(jié)類、坐標(x,y)以及方向作為比較的特征。?
??? 一種運用細節(jié)脊線形狀特征進行指紋識別的新思想在文獻[1]中已提出。細節(jié)脊線形狀是指脊線與作為指紋圖像相關特征的細節(jié)進行關聯(lián)后所得的形狀。當一個細節(jié)在被提取和記錄時,可以得到其關聯(lián)脊線分割后的跡線點。這些細節(jié)和跡線點能夠描述脊線,特別是其對應的細節(jié)位置。這種新方法是基于跡線點的相對距離來描述脊線的形狀。這種描述方法更為精確,因為這種相對距離不會因指紋在獲取中的位移和旋轉(zhuǎn)而改變。這也是該方法相對其他特征點求取方法的優(yōu)勢。?
??? 如圖2所示,細節(jié)和其軌跡點能夠用來描述脊線,特別是連接到具體的細節(jié)位置。脊線上軌跡點的采樣間隔被設定為一固定值D,如果5個點被采樣作為1個細節(jié)點和4個軌跡點,用3個相對參數(shù)d1、d2、d3對脊線形狀進行描述。
?
?
??? 對于固定的采樣間隔D,為了增加精確度,使用內(nèi)插法定義正確的軌跡點位置。因而,指紋圖像的重要數(shù)據(jù)(脊線形狀數(shù)據(jù))能通過一種獨立于位移和旋轉(zhuǎn)的簡單途徑獲得。每一個參數(shù)能夠以6bit的數(shù)據(jù)表示。因此一個有25個細節(jié)脊線形狀的指紋圖形能夠以6×3×25位=56.25字節(jié)存儲。?
2 識別流程?
??? 指紋識別系統(tǒng)如圖3所示,可以分為存儲和匹配兩部分。記錄的目的是提取指紋特征(模板)。在比較處理過程中,將輸入的指紋圖像特征與模板進行匹配,通過比較決定匹配結(jié)果。?
?
?
??? 圖4顯示了該指紋識系統(tǒng)的算法處理過程,主要過程包括:?
??? ·圖像處理" title="圖像處理">圖像處理——獲得高質(zhì)量的二值圖像" title="二值圖像">二值圖像;?
??? ·紋路細化——獲得細化后的二值圖像;?
??? ·細節(jié)提取——提取端點和交叉點形狀;?
??? ·細節(jié)比較——比較模板和輸入圖像的細節(jié)。?
?
?
??? 圖像處理的目的是把輸入的灰度圖像轉(zhuǎn)化為高質(zhì)量的二值圖像。指紋圖像是一種噪聲較大的圖像,因此需要圖像增強減少這些噪音,并增強脊線。?
??? 第一步,使用高通濾波器和低通濾波器預濾波進行平滑處理。通過第一次二值化" title="二值化">二值化處理,過濾后的灰度圖像轉(zhuǎn)化為二值圖像。第一次二值化處理后,每個二值圖像塊的方向被提取,并且最大方向被計算出來。然后,過濾后的灰度圖像沿著已經(jīng)查明的方向通過方向濾波器進行平滑處理。最終的二值圖像通過對最后的灰度圖像進行第二次二值化處理后得到。?
??? 經(jīng)過圖像預處理,指紋二值圖像被細化以便脊線圖案成為一個像素寬的連接線段。圖5中a、b、c分別為原始輸入灰度指紋圖像,以及細化前和細化后的二值圖像。?
?
?
??? 詳細的細節(jié)是從細化后的二值圖像中提取的。詳細的分支被發(fā)現(xiàn)后,就從分叉點或終點開始描繪軌跡。包括細節(jié)點的至多五個點被作為完好的細節(jié)標準提取。然后,通過這些點,細節(jié)的形狀數(shù)據(jù)被計算出來。這種形狀數(shù)據(jù)作為特征數(shù)據(jù)和細節(jié)類型以及它們的位置都被記錄下來。?
??? 兩個指紋的匹配指數(shù)是基于細節(jié)形狀的相似程度、細節(jié)的類型和它們的位置計算出來的。位移和旋轉(zhuǎn)作為評估兩個指紋匹配指數(shù)的考慮因素。?
3 DSP平臺的優(yōu)化?
??? 為了達到快速識別的目的,圖像處理通過對指紋輸入圖形進行塊處理取得。這種方法同時可以減少對內(nèi)存的要求。由實驗得知:16×16像素高通濾波和4×4像素的低通濾波可以得到最好的預濾波效果。為了計算一塊16×16像素的最大方向,方向濾波器被屏蔽在塊圖像上。然后,用5×5的方向濾波器屏蔽灰度級圖像。?
??? 表1給出了DSP平臺實現(xiàn)的內(nèi)存要求。內(nèi)存優(yōu)化主要集中在達到最小運行內(nèi)存(圖像輸入緩沖、預濾波中間結(jié)果和輸出二值圖像)的要求。對于當前應用,從傳感器接收的圖像大小為224像素×288行。圖像被傳感器逐行掃描,在緩沖區(qū)滿了以后,進行塊處理并得到一行二值圖像。這個處理過程不斷循環(huán)重復。?
?
?
??? 表2給出了DSP的處理時間。某些部分的編碼進行了匯編語言級的優(yōu)化,特別是對接口(傳感器和Flash EEPROM)的匹配處理和細化。一個重要的性能衡量是匹配時間。匹配時間可以用公式表示為:t=p+f+c×u(t:匹配時間,i:圖像處理時間,f:提取時間,c:比較時間u:總的用戶個數(shù))。在100MHz的DSP上實現(xiàn)一對一的全旋轉(zhuǎn)匹配,時間大約為:t=558+64+42×1=664ms。?
?
?
??? 本算法提供兩種選擇:全旋和1/4旋。全旋轉(zhuǎn)使得算法對指紋輸入處理更加強健。通過1/4旋轉(zhuǎn),可以縮短匹配時間,但是,這限制了指紋輸入的旋轉(zhuǎn)在±45°。表3給出了這兩種選擇的比較結(jié)果。?
?
?
4 硬件實現(xiàn)?
??? 圖6顯示了指紋模塊的方框圖。板上有作為主要處理器和控制器的DSP、FPGA,以及作為外圍設備的指紋傳感器、閃存、RS-232以及LED接口。這個板最高可以100MHz工作,以5MHz的速率從指紋傳感器上采集數(shù)據(jù)。?
?
?
??? 這塊板最初設計集中于高性能和穩(wěn)定性。在確立了穩(wěn)定模塊之后,致力于減少板子占用的空間以降低制造成本。?
??? 本文對指紋識別算法進行了發(fā)展,優(yōu)化了DSP平臺的設計實現(xiàn),并在此基礎上設計出了一個用于指紋識別的完整系統(tǒng)。該系統(tǒng)可以實現(xiàn)高性能的獨立指紋識別。當然,仍有許多地方可以改進。例如,還可以進行指紋分級算法來提高匹配處理的速度。這種指紋驗證在電子商務等領域的應用也在不斷發(fā)展,并且這種算法可以被嵌入到單片LSI中。?
參考文獻?
1 Abd. Allah Mohamed Mostafa,Dongju Li, Hiroaki Kunieda.?Minutia Ridge Shape Algorithm For Fast On Line Fingerprint Identification system. ISPACS 2000 Proceeding?
2 Texas Instrument. TMS320C54x DSP Reference.