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