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