蘇志剛,馬永斌,楊金鋒
(中國民航大學(xué)天津市智能信號與圖像處理重點(diǎn)實驗室,天津 300300)
嵌入式手指靜脈識別系統(tǒng)設(shè)計
蘇志剛,馬永斌,楊金鋒
(中國民航大學(xué)天津市智能信號與圖像處理重點(diǎn)實驗室,天津 300300)
研究嵌入式手指靜脈識別系統(tǒng)有利于手指靜脈識別設(shè)備應(yīng)用推廣。設(shè)計并實現(xiàn)一種基于嵌入式Linux平臺的手指靜脈識別系統(tǒng),并詳細(xì)討論了系統(tǒng)硬件平臺的搭建和軟件開發(fā)。主要貢獻(xiàn)如下:①優(yōu)化系統(tǒng)結(jié)構(gòu);②嵌入手指靜脈圖像預(yù)處理、特征提取與識別等核心算法;③實現(xiàn)系統(tǒng)動態(tài)注冊功能;④改進(jìn)傳統(tǒng)的特征數(shù)據(jù)存儲模式,采用新的嵌入式數(shù)據(jù)庫技術(shù)。實驗結(jié)果表明該系統(tǒng)性能穩(wěn)定可靠、識別效率更高。
嵌入式系統(tǒng);手指靜脈識別算法;嵌入式數(shù)據(jù)庫技術(shù)
隨著信息技術(shù)不斷發(fā)展,人們對個人信息安全越來越重視,傳統(tǒng)的密碼鎖、指紋鎖、人臉識別等原有身份鑒別技術(shù)已不能保證信息安全。手指靜脈作為人身體內(nèi)部的活體特征,與傳統(tǒng)的生物特征相比,具有不易磨損、不會丟失、難以偽造的優(yōu)點(diǎn)[1-2],可廣泛應(yīng)用于身份鑒別、安防、民航安全等領(lǐng)域,因此手指靜脈識別技術(shù)在身份鑒別領(lǐng)域具有廣闊發(fā)展前景。近些年,課題組長期關(guān)注并研究手指生物特征識別技術(shù)的發(fā)展,逐步建立手指靜脈識別系統(tǒng)研發(fā)平臺。
現(xiàn)階段,手指靜脈識別技術(shù)雖應(yīng)用廣泛,但也尚未普及。研究小型化、低成本的嵌入式手指靜脈識別設(shè)備既有利于手指靜脈識別技術(shù)的研究,又能促進(jìn)手指靜脈識別設(shè)備的推廣。針對現(xiàn)有嵌入式手指靜脈識別系統(tǒng)性能低下、識別速度慢的缺陷,本文提出的嵌入式手指靜脈識別系統(tǒng),主要從硬件和軟件兩方面做出改進(jìn)。在硬件系統(tǒng)上,采用最新的ARM微處理器和嵌入式Linux系統(tǒng)開發(fā)平臺。嵌入式Linux系統(tǒng)對硬件支持更好,穩(wěn)定性更高[3]。在軟件設(shè)計上,采用多線程編程技術(shù),嵌入了適合ARM平臺上運(yùn)行的手指靜脈識別算法。通過以上改進(jìn),系統(tǒng)的性能更加穩(wěn)定,識別效率更高。本文通過詳細(xì)的實驗,驗證了設(shè)計的可行性。
手指靜脈圖像獲取通常采用近紅外光透射成像模式。醫(yī)學(xué)研究表明,手指中不同組織對近紅外光的吸收情況不同,手指靜脈中的脫氧血紅蛋白對紅外光有較強(qiáng)的吸收作用。利用近紅外光在一側(cè)透射手指,會在另一側(cè)形成清晰的指靜脈血管影像,然后用CMOS圖像傳感器采集即可獲得手指靜脈圖像[4]。
本文手指靜脈成像方式,如圖1所示。手指靜脈成像的近紅外光光源采用紅外激光。激光具有亮度大、不易發(fā)散的優(yōu)點(diǎn),經(jīng)實驗證明850 nm紅外激光成像效果最佳。攝像頭模塊采用130萬像素CMOS攝像頭,通過USB接口與嵌入式板相連。為避免可見光對攝像頭成像造成干擾,需對攝像頭進(jìn)行改進(jìn),鏡頭前增加850 nm帶通濾光片,成像效果良好。
圖1 系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Schematic diagram of system structure
嵌入式微處理器采用恩智浦公司的i.MX6Q處理器。整個系統(tǒng)工作流程如下:首先嵌入式微處理器初始化系統(tǒng),驅(qū)動CMOS攝像頭采集手指靜脈圖像;其次對采集到的手指靜脈圖像進(jìn)行預(yù)處理和特征提取,得到手指靜脈特征數(shù)據(jù)并保存到數(shù)據(jù)庫中;最后根據(jù)特征匹配算法,把待識別的手指靜脈特征與數(shù)據(jù)庫中的注冊特征進(jìn)行匹配,最終實現(xiàn)靜脈識別[5]。
2.1 嵌入式硬件平臺
系統(tǒng)硬件主要包括嵌入式微處理器、USB攝像頭、LCD顯示屏和外圍接口等部分。整個硬件系統(tǒng)的結(jié)構(gòu)示意圖,如圖2所示。i.MX6Q處理器采用基于Cortex-A9的四核架構(gòu)模式,主頻為4×1 GHz,支持2 G的DDR3運(yùn)行內(nèi)存和8 G存儲空間。該處理器性能強(qiáng)勁、浮點(diǎn)運(yùn)算能力強(qiáng)、圖像處理速度快,集成了豐富的外圍接口電路,能夠滿足圖像實時采集、存儲和成像顯示的要求。
為得到更好的交互效果,LCD部分采用5寸電容觸屏。該屏幕顯示清晰、觸控靈敏,大大提高了系統(tǒng)的易用性。上位機(jī)通過串口與嵌入式平臺連接,通過發(fā)送操控命令實現(xiàn)對程序的調(diào)試。嵌入式端通過網(wǎng)口與PC機(jī)建立網(wǎng)絡(luò)連接,實現(xiàn)數(shù)據(jù)傳輸。
圖2 系統(tǒng)硬件結(jié)構(gòu)圖Fig.2 System hardware structure
2.2 嵌入式操作系統(tǒng)
文獻(xiàn)[4]中采用的嵌入式WinCE系統(tǒng)存在一些不足。一方面,嵌入式WinCE對高性能硬件缺乏完善的支持;另一方面,嵌入式WinCE對大部分USB攝像頭驅(qū)動支持都不是很好,圖像采集效率也不高,因此本文采用全新的嵌入式Linux開發(fā)平臺。嵌入式Linux操作系統(tǒng)是一種開源的、可移植、可剪裁的小型操作系統(tǒng),該系統(tǒng)占用內(nèi)存空間小、穩(wěn)定性好,并且支持多任務(wù)、多線程開發(fā)。本文采用Qt/Embedded搭建嵌入式Linux系統(tǒng)的GUI。Qt是一個跨平臺的C++圖形用戶界面應(yīng)用程序框架,能夠提供搭建圖形用戶界面所需的所用功能[6]。利用Qt搭建用戶交互界面,實現(xiàn)了從成像顯示、用戶注冊到識別結(jié)果顯示等全部功能。
2.3 開發(fā)環(huán)境的搭建
開發(fā)環(huán)境搭建同時使用Windows平臺和Linux平臺[2]。Windows平臺做上位機(jī)使用,負(fù)責(zé)發(fā)送操控命令。Linux平臺用于搭建軟件開發(fā)環(huán)境,負(fù)責(zé)完成嵌入式軟件平臺搭建和驅(qū)動移植以及軟件開發(fā)等工作。由于嵌入式微處理器為專用處理器,不能完成編譯工作,因此需采用交叉編譯方式[7]。交叉編譯環(huán)境搭建在Linux系統(tǒng)上完成。Linux系統(tǒng)下,程序通過Qt Creator編輯完成并仿真測試,然后通過交叉編譯生成可執(zhí)行文件下載到ARM平臺上運(yùn)行,完成整個開發(fā)過程。
軟件設(shè)計主要包括圖像采集、信息注冊和識別算法3個部分。為充分發(fā)揮四核處理器的性能,并保證整個識別系統(tǒng)穩(wěn)定高效的運(yùn)行,程序采用多線程技術(shù)。程序的主要框架由1個主線程和2個子線程組成。主線程是成像顯示線程,保證成像顯示的穩(wěn)定性,子線程1為注冊線程,子線程2為識別線程。下面從采集、注冊、識別對整個軟件系統(tǒng)進(jìn)行論述。
3.1 靜脈圖像采集
OpenCV是一個跨平臺計算機(jī)視覺庫,利用OpenCV的庫函數(shù)進(jìn)行圖像處理,大大降低開發(fā)難度[8]。通過交叉編譯可得到在嵌入式系統(tǒng)內(nèi)運(yùn)行的OpenCV庫。首先初始化硬件設(shè)備,成像主線程開啟,驅(qū)動攝像頭循環(huán)獲取視頻幀并在屏幕上顯示。攝像頭的打開是通過Video4Linux2(V4L2)驅(qū)動實現(xiàn)的,具體流程如圖3所示。其次圖像采集,通過調(diào)用OpenCV庫函數(shù)處理當(dāng)前視頻幀,得到8位BMP格式灰度圖像,然后以注冊用戶信息命名圖像并保存到本地。采集完成后,通過網(wǎng)絡(luò)將原始圖像數(shù)據(jù)上傳到PC機(jī)保存。
圖3 靜脈采集工作流程圖Fig.3 Flowchart of finger-vein acquistion
3.2 圖像預(yù)處理和特征提取
準(zhǔn)確定位并提取手指靜脈圖像的感興趣區(qū)域(ROI)是手指靜脈識別過程中的關(guān)鍵步驟。因為不同的手指擺放姿勢對手指靜脈特征的提取造成不同影響,為盡可能消除這個影響,一般做法是在設(shè)備的外殼上面做一個凹槽來固定手指,但這種方法簡單卻精度不高。本文采用一種新的手指靜脈定位與ROI提取方法:①采用梯度法從當(dāng)前靜脈圖像中提取單像素的手指輪廓線,這樣就可以基本上確定手指靜脈形態(tài);②根據(jù)手指的生理特征,在紅外光透射的條件下,指關(guān)節(jié)腔位置具有較高的透光強(qiáng)度,采集到的手指靜脈圖像在指關(guān)節(jié)處有更高的亮度[9]。根據(jù)以上兩個步驟可以快速確定手指靜脈的ROI區(qū)域。圖4為ROI提取的示意圖,曲線是用于檢測手指的輪廓,方框表示檢測到的手指ROI區(qū)域。
采用文獻(xiàn)[10]的方式對圖像進(jìn)行預(yù)處理和特征提取。通過上一步驟得到100×180像素的手指靜脈ROI圖像。首先對該圖像進(jìn)行濾波和增強(qiáng),得到特征圖像;其次對圖像進(jìn)行區(qū)域劃分,得到10×18的區(qū)域塊;然后通過該區(qū)域塊進(jìn)行特征變換,得到特征數(shù)據(jù);最后將此特征數(shù)據(jù)作為注冊特征保存到SQLite數(shù)據(jù)庫中。
3.3 靜脈信息注冊
手指靜脈信息注冊采用SQLite數(shù)據(jù)庫。SQLite是一種輕量級數(shù)據(jù)庫,常用在嵌入式開發(fā)之中[11]。把注冊信息和手指靜脈特征信息保存到SQLite之中,方便數(shù)據(jù)的存儲和查詢,提高了識別速度。Qt本身自帶SQLite數(shù)據(jù)庫,不需要再做移植。SQLite數(shù)據(jù)庫為每個用戶建立兩個數(shù)據(jù)表,一個用于記錄注冊用戶的身份信息,另一個用于記錄手指靜脈特征信息,如表1所示。為實現(xiàn)系統(tǒng)的動態(tài)注冊功能,系統(tǒng)移植了嵌入式輸入法。點(diǎn)擊LCD屏幕上的注冊按鈕時,彈出注冊界面,然后注冊用戶的姓名,選擇左右手的手指。注冊完畢后,系統(tǒng)更新數(shù)據(jù)表,保存靜脈注冊信息。
圖4 手指靜脈ROI提取Fig.4 ROI extraction of finger-vein
表1 用戶信息數(shù)據(jù)表Tab.1 User’s information data
當(dāng)完成個人信息注冊后,注冊線程開啟,根據(jù)上一步驟的方法,獲取注冊用戶的手指靜脈特征,并保存在SQLite數(shù)據(jù)庫中。
3.4 靜脈識別
手指靜脈識別是一個特征匹配的過程。點(diǎn)擊屏幕上識別按鈕,識別線程開啟。系統(tǒng)會根據(jù)當(dāng)前用戶手指靜脈的ROI區(qū)域提取手指靜脈特征,并與數(shù)據(jù)庫注冊特征進(jìn)行匹配。本文采用文獻(xiàn)[12]使用的相似度量方法,在此給定一個合適的閾值,若相似度量值在此閾值之內(nèi),則識別成功,輸出用戶注冊信息,否則,識別失敗。另外,為了提高識別速率,當(dāng)識別成功后,會把本次匹配成功的特征數(shù)據(jù)作為注冊特征保存到數(shù)據(jù)庫中,這樣會消除每次因擺放姿勢差異帶來識別速度上的差別。
本文以嵌入式技術(shù)以及靜脈識別技術(shù)為基礎(chǔ),實現(xiàn)了了基于嵌入式的手指靜脈識別系統(tǒng)的設(shè)計。本文提出的嵌入式手指靜脈識別系統(tǒng)具有許多優(yōu)點(diǎn)。首先具有良好的手指靜脈采集效果;其次能夠?qū)崿F(xiàn)用戶信息的動態(tài)注冊;最后采用嵌入式數(shù)據(jù)庫技術(shù),提高了識別速度。圖5為整個系統(tǒng)的顯示界面。圖6為手指靜脈采集樣張,圖6(a)為較為粗大的男性手指靜脈圖像,圖6(b)為較為細(xì)小的女性手指靜脈圖像。
圖5 手指靜脈識別系統(tǒng)界面Fig.5 Finger-vein recognition platform
圖6 采集樣本部分Fig.6 Partial finger-vein image samples
實驗測試中,采集30個用戶左右手的食指、中指和無名指,每個手指采集10幅圖像,共1 800幅手指靜脈圖像,構(gòu)成手指靜脈數(shù)據(jù)庫。根據(jù)本文的方法來驗證系統(tǒng)的有效性。本文采用1∶N的匹配方法[13],經(jīng)過200次識別測試,成功191次,成功率高達(dá)94.5%,達(dá)到了良好效果。如果手指位置擺放合適,每次的識別需要大約1 s,系統(tǒng)各項性能指標(biāo)如表2所示。
表2 系統(tǒng)性能參數(shù)Tab.2 System performance parameters
從實驗中可以看出本文研制的手指靜脈識別系統(tǒng)識別速度快,識別率較高,可見該系統(tǒng)具有一定的使用價值和推廣價值。
本文研究有兩項重要目的:一是研究如何提高嵌入式識別設(shè)備的性能,系統(tǒng)采用最新的ARM微處理器和嵌入式Linux系統(tǒng),運(yùn)行速度快,對硬件兼容好;二是如何提高嵌入式靜脈識別系統(tǒng)的識別效率,通過嵌入式數(shù)據(jù)庫技術(shù)和手指靜脈識別算法,使識別更加快速準(zhǔn)確。本文為嵌入式設(shè)備向小型化和產(chǎn)品化方向發(fā)展奠定了基礎(chǔ),并提供了參考方案。
當(dāng)然本課題的成果仍有不足之處。一方面移植的嵌入式輸入法還不支持中文,在注冊用戶姓名時還不能輸入中文字符;另一方面近紅外光源亮度還不可調(diào)節(jié),成像沒有達(dá)到最佳效果,需做進(jìn)一步改進(jìn)。
[1]FRISCHHOLZ R W,DIECKMANN U.BioID:A multimodal biometric identification system[J].Computer,2009,33(32):64-68.
[2]JAIN A K,ROSS A.Multibiometric systems[J].Communication of the ACM,2004,47(1):34-40.
[3]弓 雷.ARM嵌入式Linux系統(tǒng)開發(fā)詳解[M].北京:清華大學(xué)出版社,2014.
[4]閆鋒欣,曾泉人,張志強(qiáng).C++GUI Qt4編程[M].2版.北京:電子工業(yè)出版社,2008.
[5]楊金鋒,張海金.手指靜脈圖像感興趣區(qū)域提取方法研究[J].山東大學(xué)學(xué)報,2012,42(3):7-13.
[6]楊金鋒,賈超云.嵌入式手指靜脈采集系統(tǒng)的研制[J].中國民航大學(xué)學(xué)報,2015,33(1):50-53.
[7]管鳳旭,楊慶國,王科俊,等.基于ARM的手指靜脈識別系統(tǒng)的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2011,37(9):39-42.
[8]YANG Jinfeng,YANG Jinli.Multi-Channel Gabor Filter Design for Finger-vein Image Enhancement[C]//2009 5th International Conference on Image and Graphics,2009:87-91.
[9]YANG Jinfeng,SHI Yihua,WU Renbiao.Finger-Vein Recognition Based on Gabor Features[M]//RIAZ Z.Biometric Systems,Design and Applications.Rijeka:InTech,2011:17-32.
[10]劉瑞禎,于仕琪.OpenCV教程[M].北京:北京航空航天大學(xué)出版社, 2007.
[11]余成波,秦華鋒.生物特征識別技術(shù):手指靜脈識別技術(shù)[M].北京:清華大學(xué)出版社,2008.
[12]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.
[13]邱 鐵,周 玉,張民壘.Linux環(huán)境下Qt4圖形界面與MySQL編程[M].北京:機(jī)械工業(yè)出版社,2012.
(責(zé)任編輯:劉智勇)
Design of embedded finger vein recognition system
SU Zhigang,MA Yongbin,YANG Jinfeng
(Intelligent Signal and Image Processing Key Lab of Tianjin,CAUC,Tianjin 300300,China)
The research of embedded finger-vein recognition system is beneficial to the application and popularization of finger-vein recognition device.A finger-vein recognition system based on embedded Linux platform is designed and implemented,the construction of system hardware platform and the software development are discussed in details.The main contributions are as follows:a.the system structure is optimized;b.finger-vein image preprocessing,feature extraction and recognition algorithm are embedded in the system;c.system dynamic register function is realized;d.the traditional feature data storage mode is improved,and the new embedded database technology is adopted.Experimental results show that the system is stable and reliable,and has a higher recognition efficiency.
embedded system;finger-vein recognition algorithm;embedded database technology
TP391.41
A
1674-5590(2017)02-0051-04
2016-06-14;
2016-08-31
國家自然科學(xué)基金項目(61379102,U1433120)
蘇志剛(1972—),男,黑龍江尚志人,教授,博士,研究方向為信號與信息處理、譜估計等.