王 偉,李春明
(內蒙古工業(yè)大學 內蒙古 呼和浩特 010080)
生物識別技術在我們的生活中扮演越來越重要的角色,在很多場合已經取代了傳統(tǒng)的認證識別方式[1]。其中指紋識別技術的發(fā)展尤為突出,成為目前最廣泛的應用之一,比如在門禁系統(tǒng)、考勤系統(tǒng)、刑偵破案以及“社?!毕到y(tǒng)等。目前的產品大部分以嵌入式軟硬件為核心,發(fā)展趨勢是小型化,低成本,低功耗,高可靠性,快速穩(wěn)定高效的指紋識別算法實現(xiàn)等方面。
本系統(tǒng)的整體結構如圖1所示,首先構建以ARM9處理器為核心的硬件平臺,移植了Linux內核,在嵌入式Linux系統(tǒng)上進行指紋識別系統(tǒng)的應用程序開發(fā)。在指紋分割和增強算法方面根據(jù)指紋儀采集指紋的特點進行優(yōu)化處理。實驗表明,設計的指紋識別系統(tǒng)取得了令人滿意的效果。的ARM920T,該處理器主頻為400 MHz,最高可達533MHz。
圖1 系統(tǒng)總體結構Fig.1 Overall system structure
電源為外接5 V直流電源,通過電壓轉換電路形成系統(tǒng)所需要的 3.3 V 和 1.25 V 電壓。
采集模塊為U.are.U4000B指紋采集儀,該采集儀是目前體積最小的光學采集儀,厚度不到1cm,采集的指紋圖象分辨率等于500 DPI,最高可達700 DPI。采用通用的USB接口與上位機連接,自身集成了A/D轉換電路。該指紋儀的優(yōu)點是采集圖像質量好;受指紋干濕度影響較??;采集的指紋圖像為灰度8-bit,不用轉換可以直接進行預處理。
顯示模塊為3.5寸LCD觸摸顯示屏,供電電壓為5 V,系統(tǒng)獨立工作時可以滿足。在系統(tǒng)調試時為觀看方便,可用PC機顯示器作為終端登陸。
FLASH為Nand型,掉電非易失??紤]后期的系統(tǒng)升級和擴容,大小選用256M。
SDRAM我們通常稱為內存,大小為64M,文中采用兩塊32M并接而成,這樣形成32位數(shù)據(jù)線,可以提高數(shù)據(jù)傳輸速度。
本系統(tǒng)的硬件平臺如圖2所示,各個模塊接口功能介紹如下。
處理器為三星公司的S3C2440,其核心架構為ARM公司
圖2 系統(tǒng)硬件組成Fig.2 Block diagram of platform structure
JTAG接口用來燒寫Linux引導程序Bootloader;串口用來移植內核,編譯調試程序等;USB接口用于連接指紋采集儀;以太網(wǎng)口為備用端口,可以作為整個系統(tǒng)工作后與遠程PC機進行通信。
Linux移植硬件連接如圖3所示。首先通過JTAG接口將Bootloader燒寫到FLASH的起始地址,通過串口操作Bootloader將編譯好的Linux內核下載到FLASH。
圖3 PC機與ARM的通信方式Fig.3 PC and ARM communicationmode
Bootloader是操作系統(tǒng)啟動之前運行的一小段引導程序,它也是啟動Linux內核的必備條件。目前的版本很多[9],比如韓國ZIMI公司設計的vivi,美國紅帽公司設計的Redboot,德國DENX公司設計的Das U-boot和國內友善之臂公司的supervivi等。它們的使用根據(jù)硬件架構選擇的差別略有不同。通過功能應用和通用性兩個方面比較,最后選擇U-boot作為Bootloader。
U-boot即 Universal Boot Loader, 它是由 Das U-boot發(fā)展而來。通過交叉編譯環(huán)境將編譯好的U-boot通過JTAG接口燒寫到FLASH的前4 K范圍內。因為硬件系統(tǒng)在上電后,首先執(zhí)行的命令是將FLASH中前4 K內容讀入內存,這樣就可以進行下面的操作。FLASH中文件存儲的順序如圖4所示。
圖4 Flash中文件存儲順序示意圖Fig.4 Schematic of files storage order in Flash
文中選擇的 Linux內核版本為 2.6.29。 移植分為 5步[3]:1)獲取內核源文件;2)修改部分源代碼以支持S3C2440處理器 ;3) 修 改 MTD(Memory Technology Device) 分 區(qū) ;4) 移 植YAFFS(Yet Another Flash File System);5)進行編譯、燒寫、啟動并測試內核。
指紋識別算法的總體結構分為4大部分[4]:指紋圖像采集,預處理,特征提取和特征匹配等。其中預處理部分又分為指紋圖像分割,指紋圖像增強,二值化,細化等過程。算法的詳細處理過程如圖5所示。
下面對指紋識別算法的幾個關鍵步驟進行介紹說明。
圖5 指紋識別算法總體結構Fig.5 Overall process of the fingerprint image processin
指紋圖像場的概念是依據(jù)人眼對圖像的識別判斷功能進行的數(shù)學模型化描述。其中,梯度場描述了紋線脊骨的變化,方向場描述了紋線的走向。圖6是指紋圖像和其梯度場、方向場效果圖。
圖6 指紋圖像與其梯度場、方向場圖Fig.6 Fingerprint image, gradient field value drawing and orientation field drawin
通過梯度場圖可以很容易選取閾值將指紋圖像前景與背景分割開來;通過方向場,容易找到指紋圖像的中心,根據(jù)紋線走勢,可以很好的對圖像進行增強,形象地稱之為“智能”增強。分割和增強后的效果如圖7所示。
圖7 分割和增強Fig.7 Segmentation and enhancement
二值化是在指紋圖像增強之后,選取一個閾值,將指紋圖像變成只有黑(0)和白(255)兩種像素,閾值的選取是關鍵。
細化過程是將二值化后的指紋紋線進行骨架化,變成只有一個像素組成的紋線線路。細化采用快速的細化算法,細化后會有毛子,短線等偽特征,需要進行去除。二值化細化后的效果圖如圖8所示。
在特征點提取上,以端點、分叉點和奇異點為細節(jié)特征,其中,奇異點分為中心點和三角點。特征點描述如圖9和圖10所示。
圖8 二值化和細化Fig.8 Binary drawing and thinning drawing
圖9 端點和分叉點Fig.9 Ending and bifurcation point
圖10 中心點和三角Fig.10 Center of the fingerprint and triangular point
通過算法提取,標記的特征點示意如圖11所示。
圖11 特征點提取Fig.11 Feature point extraction drawing
在匹配過程之前,首先要找一個基準點。通過獲取指紋特征點拓撲結構數(shù)據(jù),首先查找是否有中心點,如果有通過中心點配準,否則查找三角點,如果都沒有,則通過其它特征點配準。匹配算法使用全局匹配算法[5,11],此算法速度較快,但對圖像質量要求較高,采集儀獲取的指紋質量可以滿足要求。
系統(tǒng)內部結構如圖12所示,工作原理:應用程序通過指紋傳感器控制模塊控制傳感器采集指紋圖像,采集的圖像經過傳感器內部A/D轉換電路變?yōu)閿?shù)字圖像,數(shù)據(jù)被識別算法調用進行預處理,特征提取,最后根據(jù)需要進行識別。
圖12 系統(tǒng)內部結構圖Fig.12 Within the system structure diagram
系統(tǒng)上電后,啟動內核,自動加載應用程序,并進行初始化。整個系統(tǒng)工作方式如圖13所示。
圖13 系統(tǒng)工作方式流程圖Fig.13 Flow chart of system work
指紋匹配是否成功是根據(jù)相似度來判定,相似度值是0到100。首先進行同一枚指紋特征提取的相似度實驗。因為同一種算法,對不同的采集儀的要求不一樣,如果采集的指紋圖像質量好,相似度會偏高;如果采集的指紋質量不好,相似度就會偏低,這樣如果閾值設置過高,就增加了拒識率。如果盲目降低閾值,會提升誤判率的風險。表1是本系統(tǒng)外接U.are.U4000B指紋采集儀對兩枚指紋保存模板后,分別進行的十次采集對比試驗,得到的相似度。
由表1相似度分析,兩輪匹配相似度最小值是10,最大值33,對于同一枚指紋,相似度很好的穩(wěn)定在相似度10以上,由表1設定相似度閾值為10。當相似度大于等于10,認為比對成功,否則失敗。
其中人員管理模式可以用1:1指紋比對模擬,在進行的20對不同指紋的錄入比對實驗如表2所示。
表1 相似度值Tab.1 Sim ilarity values
表2 1:1模式實驗結果Tab.2 1:1m ode experim ental results
正常工作模式可以用1:M比對來模擬,指紋庫指紋數(shù)M=500(模擬中小公司的人數(shù)范圍),實驗結果如表3所示。
表3 1:M模式實驗結果Tab.3 1:Mmode experimental results
1:1主要目標是高的通過率和相對高的準確率;1:M主要目標是高的比對速度和相對高的準確率.。指紋比對受到多方面因素影響,比如指紋采集部位,采集的質量以及指紋本身有無損壞等,最終的實驗結果較為滿意?;贏RM9的嵌入式指紋識別系統(tǒng)穩(wěn)定性良好,功耗低;指紋圖像分割和智能增強算法根據(jù)采集儀采集指紋圖像特點進行選取和優(yōu)化,縮短了預處理時間,提高了算法的準確性,對于從事生物識別技術的嵌入式應用開發(fā),有一定的參考價值。
[1]吳作好.幾種人體生物特征的生物識別技術比較[J].現(xiàn)代電子技術,2007,253(14):121-124
WU Zuo-hao.Several biometric biometric technology[J].Modern Electronic Technology,2007,253(14):121-124.
[2]LIU Dan.Fingerprint Identification Simulation System[C]//DCABES, 2010, 9th:533-538
[3]韋東山.嵌入式Linux應用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.
[4]FU Qingqing.Fingerprint Identification System Based on SOPC[C]//WiCOM, 2011,7th:1-4.
[5]李昊.傅曦,指紋識別系統(tǒng)算法及實現(xiàn)[M].北京:人民郵電出版社,2011.
[6]CHEN Chao, ZHANG David.Segmentation of Fingerprint Image by Using Polarimetric Feature[J].IEEE,2010.
[7]FENG Jian-jiang,Jain A K.Fingerprint Reconstruction:From Minutiae to Phase[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2011,33(2):209-223.
[8]田澤.嵌入式系統(tǒng)開發(fā)與應用教程[M].北京:北京航空航天大學,2010.
[9]友善之臂.U-boot使用及移植詳細手冊 [EB/OL].2010.http://www.armq.net.
[10]徐誠,高瑩婷.Linux環(huán)境C程序設計[M].北京:清華大學出版社,2010.
[11]Anil K.Jain, Salil Prabhakar.Filter bank-Based Fingerprint Matching[J].IEEE Transactions on Image Processing,2000.