基于ARM的手指靜脈識別系統(tǒng)
1 嵌入式系統(tǒng)總體結(jié)構(gòu)
比較完整的手指靜脈識別系統(tǒng)應(yīng)具備采集和識別這兩個基本的功能。首先通過嵌入式采集裝置獲取使用者的相關(guān)信息,并將該使用者的手指靜脈特征添加到手指靜脈特征數(shù)據(jù)庫;然后根據(jù)數(shù)據(jù)庫中使用者信息與采集的手指靜脈圖像比對,判定其身份是否正確。為此,將該嵌入式手指靜脈識別系統(tǒng)分為硬件平臺、嵌入式操作系統(tǒng)和應(yīng)用軟件三部分。
嵌入式系統(tǒng)硬件主要由嵌入式微處理器S3C6410及其外圍擴(kuò)展電路組成。其中,S3C6410是一款基于ARM11內(nèi)核的微控制器,其主頻達(dá)667 MHz,具有豐富的外圍接口控制器,可以滿足圖像識別所需性能要求。嵌入式操作系統(tǒng)采用 WinCE6.0,其模塊化設(shè)計使得嵌入式系統(tǒng)和應(yīng)用程序開發(fā)者能夠方便地根據(jù)需求定制產(chǎn)品,同時還具有100%開放WinCE 6.0內(nèi)核源代碼。采用微軟的多媒體DirectShow技術(shù),在Visual Studio 2005環(huán)境下開發(fā)圖像采集應(yīng)用程序,在PC機(jī)上調(diào)試成功后移植到嵌入式系統(tǒng)平臺下運(yùn)行并實現(xiàn)身份識別。
2 嵌入式系統(tǒng)硬件設(shè)計
系統(tǒng)硬件設(shè)計采用模塊化設(shè)計原則,把嵌入式系統(tǒng)硬件平臺分為微處理器核心模塊、手指靜脈成像模塊、自動調(diào)光控制模塊和輔助操作模塊。其硬件結(jié)構(gòu)如圖1所示。
本設(shè)計選取S3C6410作為嵌入式微處理器,其上外接DRAM接口、Nand Flash接口以及豐富的總線接口電路。同時S3C6410還集成了電源電路、復(fù)位電路、RS232接口電路和USB接口電路等部分。其中,DRAM接口用于連接動態(tài)存儲器,本設(shè)計采用Mobile DDR存儲器,用于運(yùn)行操作系統(tǒng)及存取應(yīng)用程序。Nand Flash則用于固化嵌入式操作系統(tǒng)Windows CE內(nèi)核、手指靜脈識別軟件等,以及儲存采集的圖像等數(shù)據(jù)資料。
手指靜脈成像模塊包括紅外光源、紅外濾光片和圖像傳感器。本設(shè)計選用微型OV9650圖像傳感器模組,它由30針的CMOS圖像傳感器和手動微調(diào)鏡頭組成,需要為其提供必須的電源。攝像頭電源電路如圖2所示。通過S3C6410的攝像頭接口從S3C6410獲取+5 V電源,分別轉(zhuǎn)換為3路電壓值為攝像頭電路供電。
本文通過轉(zhuǎn)接板來實現(xiàn)攝像頭模組與S3C6410的連接,其接口電路如圖3所示。其中,J1用于 S3C6410攝像頭接口與轉(zhuǎn)接板的連接,U10則是攝像頭模組與轉(zhuǎn)接板的接口。
對于近紅外光源,選用波長為850 nm、型號為TSHG5210的高速紅外發(fā)光二極管,設(shè)計中排成直線形陣列。由于環(huán)境不同,可見光對手指靜脈成像影響也有所不同,因此,在鏡頭前放置型號為IR780的近紅外濾光片來濾除可見光。
自動調(diào)光控制模塊使紅外光源能夠根據(jù)被采集對象手指的不同粗細(xì)進(jìn)行自動調(diào)光,使攝像頭接收到的光強(qiáng)不變,采集到的圖像亮度適中。本設(shè)計在原來研制的積分調(diào)節(jié)電路[2]基礎(chǔ)上改進(jìn)為帶PID控制器的紅外光強(qiáng)自動調(diào)節(jié)電路。當(dāng)采用PID電路進(jìn)行串聯(lián)校正時,可以使得系統(tǒng)型別提高一級;同時還為系統(tǒng)提供兩個負(fù)實零點(diǎn),進(jìn)行調(diào)節(jié)時,可進(jìn)一步提高系統(tǒng)穩(wěn)定性,改善系統(tǒng)動態(tài)性能。PID控制器電路圖如圖4所示。
輔助操作模塊包括LCD、USB鼠標(biāo)和8×8矩陣鍵盤等,用于對嵌入式系統(tǒng)進(jìn)行控制。
3 嵌入式識別系統(tǒng)應(yīng)用軟件開發(fā)
本文采用多媒體DirectShow技術(shù)來設(shè)計攝像頭圖像采集應(yīng)用程序。為了完成對圖像數(shù)據(jù)的處理,創(chuàng)建多個過濾器并連接,數(shù)據(jù)流從源過濾器經(jīng)過中間過濾器移動到渲染過濾器,最終提供給用戶。在這個過程中完成對數(shù)據(jù)的讀取、解碼、將數(shù)據(jù)輸出到相應(yīng)設(shè)備上。本文將視頻預(yù)覽和視頻捕捉封裝成視頻采集過濾器,如圖5所示。其中,“智能Tee”是為了調(diào)節(jié)PCI總線分流數(shù)據(jù)。
通過Visual Studio 2005開發(fā)環(huán)境的MFC智能設(shè)備應(yīng)用程序向?qū)?chuàng)建一個基于對話框的應(yīng)用程序;然后創(chuàng)建類、設(shè)計采集界面以及編寫程序,實現(xiàn)視頻采集與預(yù)覽、圖像保存等功能。所用到的主要函數(shù)如下:
GetFirstCameraDriver():獲取系統(tǒng)中注冊的第一個視頻捕捉設(shè)備名。
FreeDShow():釋放創(chuàng)建DirectShow接口對象。
PreviewCamera():用于預(yù)覽視頻,同時負(fù)責(zé)DirectShow接口的初始化工作。
SnapPicture():抓拍視頻中的一幅圖片,并以文件形式保存。
此外,把手指靜脈識別算法加入到應(yīng)用程序中,并移植到WinCE 6.0操作系統(tǒng)下。該軟件功能包括:錄入手指靜脈圖像并保存所有相關(guān)信息至數(shù)據(jù)庫中,測試當(dāng)前采集手指靜脈圖像與數(shù)據(jù)庫中圖像是否匹配;調(diào)取數(shù)據(jù)庫中手指靜脈圖像進(jìn)行算法研究。
當(dāng)需要用本系統(tǒng)進(jìn)行手指靜脈識別時,先啟動操作系統(tǒng),用戶從可視化界面輸入相應(yīng)信息,開始采集圖像。
4 手指靜脈識別算法
手指靜脈識別算法是本系統(tǒng)軟件的核心部分,目前該算法在計算機(jī)上已達(dá)到較高水平。但將其移植到嵌入式系統(tǒng)時,由于受嵌入式處理器硬件性能的限制,達(dá)不到預(yù)期的效果。因此,本文采用了一種適合于嵌入式系統(tǒng)的手指靜脈識別算法。
4.1 圖像預(yù)處理
(1)格式轉(zhuǎn)換與灰度歸一化。本文中通過圖像采集裝置采集的手指靜脈圖像是24 bit JPG格式的真彩圖像,采用Imaging技術(shù)[3]循環(huán)解碼將其轉(zhuǎn)化為24 bit BMP格式的圖像。
通過改變各個分量(R,G,B)的權(quán)重,把三個點(diǎn)合成一個點(diǎn)就可以將24 bit BMP圖像轉(zhuǎn)換成256色的灰度圖像。本設(shè)計采用加權(quán)平均值法可以得到較合理的灰度圖像,即:
(4)濾波與去噪。在經(jīng)過前面圖像分割后的特征圖像中存在許多孤立點(diǎn)、塊狀噪聲以及一些細(xì)小空洞。為了便于以后處理,必須填充這些細(xì)小空洞和除去噪聲。首先采用中值濾波法,消除圖像中的高斯噪聲和脈沖干擾信號,接著進(jìn)行面積去噪,以消去孤立的噪聲。
(5)紋路細(xì)化。經(jīng)過一系列處理后的圖像靜脈紋路很粗,所以采用改進(jìn)的條件細(xì)化算法進(jìn)行處理,即在條件細(xì)化后的靜脈圖像上,加入模板算法去掉分叉點(diǎn)處冗余的像素。目的是通過連續(xù)剝離圖像最外層元素直到獲得單像素的連通線,去掉冗余信息,且保留紋路的拓?fù)?/strong>連接關(guān)系,以利于后續(xù)的特征提取。
其中,Np為點(diǎn)集P中元素的個數(shù)。
5 實驗結(jié)果
把在PC機(jī)開發(fā)的應(yīng)用軟件移植到ARM11板,上電開啟操作系統(tǒng)運(yùn)行該軟件,開始采集和測試手指靜脈圖像的效果圖如圖7所示。
本軟件把圖像采集、預(yù)處理等一系列過程合成到一起進(jìn)行操作,實現(xiàn)一鍵完成,使其更加接近產(chǎn)品化。錄入用戶圖像信息時,圖像處理達(dá)到了每次約0.5 s的速度,令人滿意。實驗測試中,采集50個手指的靜脈圖像,每個手指采集4次,一共采集了200幅靜脈圖像,構(gòu)成手指靜脈數(shù)據(jù)庫。根據(jù)本文的方法,來驗證算法的匹配識別效果。測試1:1匹配識別,將每個手指的1個樣本分別與其他3個樣本進(jìn)行比對完成識別,每次識別過程達(dá)到約0.4 s的速度,得到的結(jié)果如表1所示,達(dá)到了預(yù)期的效果。
本文構(gòu)建了一種基于ARM技術(shù)的嵌入式手指靜脈識別系統(tǒng)。設(shè)計的硬件平臺穩(wěn)定性好、集成度高;采用的WinCE 6.0界面友好、畫面清晰;開發(fā)的識別應(yīng)用軟件可以開機(jī)啟動,便于操作,使本識別系統(tǒng)具有很好的人機(jī)交互特性。同時針對嵌入式系統(tǒng)采用一套合適的手指靜脈識別算法。實驗表明,該手指靜脈識別系統(tǒng)可以實現(xiàn)快速圖像處理和識別,與基于PC機(jī)的識別系統(tǒng)相比,具有體積小、重量輕、易于移動與操作、易于集成等優(yōu)點(diǎn)。
評論