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