《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 嵌入式指紋識別系統(tǒng)開發(fā)

嵌入式指紋識別系統(tǒng)開發(fā)

2008-09-18
作者:王侃偉 方宗德

  摘? 要: 介紹了指紋識別技術(shù)" title="識別技術(shù)">識別技術(shù)的基本原理,嵌入式操作系統(tǒng)" title="嵌入式操作系統(tǒng)">嵌入式操作系統(tǒng)的選擇及定制。計算機控制單元的軟件及硬件設(shè)計包括:指紋并口采集板設(shè)計及初始化程序,前臺指紋建檔,、比對程序,,局域網(wǎng)通訊程序,,數(shù)據(jù)處理程序等。

  關(guān)鍵詞: 指紋識別? 嵌入式? 通訊? 操作系統(tǒng)

?

  生物測定技術(shù)是當(dāng)前研究的熱點之一。目前,有很多技術(shù)等生物測定技術(shù)可用于身份認(rèn)證,包括:虹膜識別,、視網(wǎng)膜識別、面部識別,、簽名識別,、聲音識別技術(shù)、指紋識別技術(shù)等,。其中指紋因具有終生不變性及穩(wěn)定性,是目前應(yīng)用前景較好的生物識別系統(tǒng),。但指紋識別目前在國內(nèi)乃至世界仍未普及的主要原因是:(1)速度慢:目前一般系統(tǒng)辨別需要數(shù)秒鐘甚至更長;(2)性能差:錯誤拒識率(FRR)和錯誤接受率(FAR)過高,目前市場上出現(xiàn)的系統(tǒng)一般FRR<3%,,F(xiàn)AR<1/106;(3)價格高:由于目前國內(nèi)主要引用國外成熟的指紋識別技術(shù),,并且比對系統(tǒng)采用PC機處理,體積龐大,不便移動。本系統(tǒng)在對指紋識別技術(shù)優(yōu)化的基礎(chǔ)上,與嵌入式技術(shù)相結(jié)合,可較好地解決上述問題,。

1 指紋識別原理

  指紋識別的基本原理為:采用細(xì)節(jié)點坐標(biāo)模型來做細(xì)節(jié)匹配,即對指紋的脊線末梢和指紋的脊線分支點提取特征點來鑒定指紋。具體的自動指紋識別系統(tǒng)框圖見圖1,。

?

?

  指紋圖像" title="指紋圖像">指紋圖像的預(yù)處理:目的是去除指紋圖像中的噪音,將其轉(zhuǎn)化為一幅清晰的點線圖,便于提取正確的指紋特征,。預(yù)處理影響指紋識別的效果,具有重要的意義。它分四步進(jìn)行,即灰度濾波、二值化,、二值去噪,、細(xì)化。

  對圖像細(xì)化后,采用細(xì)節(jié)點模板提取出指紋圖像的脊線末梢和脊線分支點的位置,將指紋認(rèn)證問題轉(zhuǎn)化成為點模式匹配問題,。建檔時將特征位置點坐標(biāo)轉(zhuǎn)化為極坐標(biāo)后存入數(shù)據(jù)庫,作為建檔模板,。指紋比對時,采用同樣的方法,得到比對模板。由于要考慮指紋的平移和旋轉(zhuǎn)(對極坐標(biāo)只考慮旋轉(zhuǎn)),對每個關(guān)鍵點A,在指紋圖像上尋找兩個與其最近的關(guān)鍵點R,、S,,把A、R,、S點的類型(末梢或分支點)分別紀(jì)錄為nType1,、nType2、nType3;把連接點A與點R,、點A與點S,、點R與點S的3條虛擬線段所跨越的脊線數(shù)分別記為nCrossNum1、nCrossNum2,、nCrossNum3,。如果這兩點滿足一定匹配條件,則認(rèn)為點A與點B初匹配成功,如此可選擇出最好的3組對應(yīng)點,計算出比對模板相對建檔模板的旋轉(zhuǎn)角度,將比對模板矯正后,再進(jìn)行細(xì)節(jié)點的精細(xì)匹配,根據(jù)隸屬函數(shù)可計算兩個指紋的相似度。如大于某個閾值,則認(rèn)為是同一指紋,。

2 系統(tǒng)的定制

2.1 選擇嵌入式操作系統(tǒng)

  隨著微電子技術(shù)的進(jìn)步,芯片的制造成本和銷售價格都大大降低了,而功能和內(nèi)部支持的端口卻大大擴(kuò)展了,16位和32位嵌入式處理器逐漸成為電子產(chǎn)品設(shè)計的主流,。為了縮短產(chǎn)品設(shè)計周期和運行時間,使工作更穩(wěn)定、更可靠和更高效并實現(xiàn)需要的復(fù)雜功能,需要運行于嵌入式處理器上的嵌入式操作系統(tǒng),才能形成完整的系統(tǒng)平臺,。當(dāng)前嵌入式操作系統(tǒng)包括Microsoft Embedded NT 4.0,、Microsoft Windows CE、Nucleus PLUS,、pSOSystem等,。由于指紋識別對系統(tǒng)計算能力要求較高,需要具有強大的管理功能,并不需要硬實時功能,在實際開發(fā)中選用Microsoft Embedded NT 4.0嵌入式操作系統(tǒng),它具有操作系統(tǒng)的完善功能和強大的TCP/IP網(wǎng)絡(luò)功能;開發(fā)環(huán)境可選用Visual C++ 6.0并支持組件對象模型、MFC,、ATL等,。經(jīng)過實驗驗證,可滿足設(shè)計要求,。

2.2 系統(tǒng)硬件選擇及開發(fā)

  系統(tǒng)硬件框圖見圖2,。

?

?

????(1)工控" title="工控">工控主板選用研祥PI6584V工控主板,并配如下部件:CPU(AMD K6-2)、內(nèi)存(168線 64MB),、PC 104以太網(wǎng)卡,、32MB DOM。該部分采用5V供電,靜態(tài)耗電50μA,峰值耗電量50mA,。體積為50mm×80mm×20mm,。工控主板在系統(tǒng)中所起作用:搭載系統(tǒng)應(yīng)用軟件;使用EPP1.9模式,通過并口從并口板讀取指紋圖像數(shù)據(jù);將指紋圖像數(shù)據(jù)通過指紋建檔算法轉(zhuǎn)化為指紋特征值存入DOM中;實時采集指紋與DOM中指紋特征值進(jìn)行比對;接收鍵盤輸入鍵值并根據(jù)按鍵功能定義進(jìn)行相應(yīng)操作;系統(tǒng)狀態(tài)信息通過串口" title="串口">串口輸出到控制板中,完成人機操作界面顯示,。

  (2)指紋采集頭組件(COMS板)。COMS板的主要功能為:實時通過光學(xué)指紋采集儀將指紋圖像折射到采像芯片上,由采像芯片完成模擬量到數(shù)字量的轉(zhuǎn)換,并送往并口板存儲器中暫存,。COMS板的核心器件為OV7120和指紋采集儀,。OV7120為黑白單片COMS VGA采像器件。指紋采集儀為光學(xué)采像頭,型號為ZYZ202A,。該型號采像頭為長春方圓定型產(chǎn)品,主要技術(shù)參數(shù):手指接觸面: 光學(xué)玻璃;采像有效面積:22mm×22mm;成像方式:棱鏡折射式;圖像分辨率:450dpi,。

  (3)并口板主要功能為:通過I2C總線對COMS板中采像芯片OV7120設(shè)置有關(guān)參數(shù);從COMS板提取指紋采像數(shù)據(jù)并暫存于存儲器中;每存取一幀圖像數(shù)據(jù)即通過并口(EPP模式)向工控主板發(fā)出請求信號;根據(jù)工控主板發(fā)出的數(shù)據(jù)提取信號將指紋圖像數(shù)據(jù)輸入系統(tǒng)進(jìn)行有關(guān)處理;實時檢測整機內(nèi)部環(huán)境溫度并控制相關(guān)排風(fēng)扇的工作。并口板的核心器件為EPM7032,、AT89C2051,、IS61C1024L。EPM7032為FPGA,其主要作用是完成COMS板指紋圖像數(shù)據(jù)到工控主板的數(shù)據(jù)傳遞,。AT89C2051是通用8位單片機,。IS61C1024L為128K×8bit高速COMS靜態(tài)存儲器,與并口板之間采用IDC-20P雙排針接口,。

  (4)控制板主要功能為:接受外部命令并將對應(yīng)鍵值輸入工控主板以完成相關(guān)操作,,通過串口從工控主板獲取顯示內(nèi)容并轉(zhuǎn)化為液晶屏顯示所需格式??刂瓢搴?5個按鍵,為導(dǎo)電膠方式,。按鍵包括:Menu、Cancel,、OK,、0~9、<,、>共15個鍵,。控制板的核心器件為鍵盤掃描芯片EM83050和標(biāo)準(zhǔn)8位單片機AT89C2051,。與工控主板之間采用TJC3-3P插座;與液晶屏之間采用TJC3-9P插座,。

  (5)液晶屏主要用來顯示系統(tǒng)所處狀態(tài)。液晶屏型號為WGM12232H,點陣大小122×32,。

  串口LED顯示采用RS232/485接口與計算機通信,通信方式:RS232接口,、波特率115200bps、異步8位,、1位起始位,、8位數(shù)據(jù)位、1位停止位,。

  發(fā)送數(shù)據(jù)格式如下:

  55H AAH XX顯示數(shù)據(jù)

????其中,, 55H AAH為數(shù)據(jù)頭標(biāo)志,XX為背光控制字:48H點亮背光,其余不點亮背光,。

  通信說明:通信主動方為PC,被動方為LCD,。首先PC發(fā)送數(shù)據(jù)頭命令55H,、AAH,LCD接收到數(shù)據(jù)頭后,判斷是否正確。若正確則開始接收背光控制字并顯示數(shù)據(jù);否則退出接收狀態(tài),。傳輸數(shù)據(jù)中,當(dāng)LCD端檢測到傳輸中斷超時,即退出接收狀態(tài)。LCD值守狀態(tài)時處于背光熄滅狀態(tài),當(dāng)檢測有鍵按下或有指紋時,上位機發(fā)送背光控制字(48H)使背光點亮,。

  完成硬件設(shè)計,通過編寫測試軟件在PC平臺上進(jìn)行測試,基本可滿足系統(tǒng)要求,。

3 軟件及驅(qū)動編寫

3.1 嵌入式NT系統(tǒng)定制

  硬件測試完成后,根據(jù)硬件的中斷號,、插槽及系統(tǒng)要求的性能,需要對嵌入式NT進(jìn)行定制,。在NT系統(tǒng)裁減器中,主要選擇如下:

????(1)選擇 Minimal With Network Copy至 Minimal With Network;

  (2)System中Devices選擇Display-NullVga,Serial Ports-com1/com2(中斷號:5/6),Parallel Ports-LPT1;

  (3)Networks:Network adapters-Novel NE2000 Compatile Adapts,Network Protocol-TCP/IP,Network Services-LAN Manage Workstations,、Simple TCP Service,、DHCP client、Winsock;

  (4)Share System Component中選擇Display Common,、Keyboard driver common,、Network Common、Virtual memory mamage;

  (5)Applications中選擇Shell-command Shell,Utilities-Windows NT Command Prompt,。

??? 生成操作系統(tǒng)后,做一張嵌入式NT啟動盤,用啟動盤格式化DOM,鍵入NTBoot>后將操作系統(tǒng)拷貝至DOM,NT操作系統(tǒng)即可運行,。

3.2 軟件編寫

  系統(tǒng)流程圖見圖3。

?

?

??? 系統(tǒng)啟動部分主要功能:初始化指紋識別模塊InitFp();初始化串口和刷新液晶LCDInit(int(hWnd));初始化字庫IniFontLib();初始化鍵盤響應(yīng)InitKeySys();初始化并口采像設(shè)備InitParrel();初始化液晶顯示 InitDispay();將指紋庫,密碼庫裝入內(nèi)存LoadAll(),。系統(tǒng)啟動完成后開始線程ThreadMain(),在線程中進(jìn)入程序死循環(huán),在循環(huán)中主要響應(yīng)按鍵和采集圖像進(jìn)行指紋比對,。其中按鍵響應(yīng)分三部分:

  (1)當(dāng)輸入的按鍵個數(shù)等于設(shè)定個數(shù)(人員代碼長度+密碼長度)時,進(jìn)行密碼考勤;

  (2)指紋考勤分為分組考勤(即輸入按鍵的數(shù)字鍵數(shù)目為1時進(jìn)行)、1:1考勤(即輸入按鍵數(shù)目等于人員代碼長度時進(jìn)行);

????(3)值守狀態(tài)下,按MENU鍵,輸入正確系統(tǒng)密碼進(jìn)入管理狀態(tài),。?

  系統(tǒng)菜單包括:值守,,指紋建檔,1:1建檔,,密碼建檔,,指紋刪除,密碼刪除,,指紋查詢,,指紋分組查詢,密碼查詢,,系統(tǒng)日期,,系統(tǒng)時間,默認(rèn)組設(shè)置,,修改IP地址,,語言設(shè)置,代碼長度設(shè)置,,系統(tǒng)密碼,。

  采集圖像進(jìn)行指紋比對:在大循環(huán)中,先讀圖像:ReadImg(Img,,50);如果讀圖像成功,進(jìn)行比對:SysMatch(Img);比對成功后,顯示人員代碼、姓名,。

3.3 數(shù)據(jù)傳輸部分

  定義流水帳結(jié)構(gòu)為:考勤時間:_SYSTEMTIME T;人員代碼:char Code[16];出入標(biāo)志:Byte Inout,。網(wǎng)絡(luò)傳輸采用標(biāo)準(zhǔn)TFTP和UDP協(xié)議進(jìn)行通信,詳細(xì)通信協(xié)議如下:

  上傳下載采用TFTP協(xié)議,主要完成的功能包括:上載人員名單、備份,、下傳流水帳,、備份數(shù)據(jù)至主機。UDP主要負(fù)責(zé)打開,、關(guān)閉TFTP服務(wù),。網(wǎng)絡(luò)通信模塊采用標(biāo)準(zhǔn)

  TFTP協(xié)議:

  報頭==0x81?? 下載

  報頭==0x82?? 上載

  傳遞文件只能為流水賬、配置表,、指紋數(shù)據(jù),、密碼數(shù)據(jù)。

4 實驗及測試結(jié)果

  系統(tǒng)設(shè)計完成后,可脫機值守工作,。122×32點陣LCD實時顯示時鐘,、操作狀態(tài),并具有15鍵操作鍵盤,可獨立完成建檔及查詢等功能。系統(tǒng)核查指紋1:N,、1:1兩種方式兼容,體積小巧,支持桌面及壁掛放置(外形尺寸:255mm×176mm×100mm),提供RS232/R485,、RJ45接口,支持局域網(wǎng)連接。提供識別記錄的標(biāo)準(zhǔn)數(shù)據(jù)格式,可用于二次開發(fā)或與人事工資等管理軟件掛接,。指紋登記個數(shù)≥3000枚,數(shù)據(jù)存儲容量≥50萬條記錄,。

  為驗證系統(tǒng)性能,選取1000枚指紋作實驗,其中每300枚指紋為一組,實驗結(jié)果如下:

  (1)指紋核查通過時間:<2s;

  (2)誤識率(FAR):<0.001%;

  (3)拒識率(FRR):<1%;

  (4)功耗:<60W;

  (5)分辨率:450dpi。

  上述指紋管理系統(tǒng)已初步通過實驗檢測,運行正常,并通過了有關(guān)部門初步驗證,。本系統(tǒng)將指紋識別與嵌入式技術(shù)結(jié)合在一起,降低了系統(tǒng)成本,可廣泛用于生活小區(qū)物業(yè)管理,,學(xué)校的考場管理,軍事,、政府部門的身份鑒別,。應(yīng)用前景廣闊。

  但是,該系統(tǒng)還存在兩個問題:(1)對指紋質(zhì)量比較差的指紋存在建檔較難的問題(FFR過高);(2)算法過于復(fù)雜,影響系統(tǒng)性能,。還應(yīng)對算法和操作系統(tǒng)性能進(jìn)一步優(yōu)化,。

?

參考文獻(xiàn)

1 劉小華.指紋識別技術(shù)的發(fā)展. [J].光學(xué)技術(shù),1998;(7)

2 李凡長.動態(tài)模糊邏輯及其應(yīng)用.[M].昆明:云南科技出版社,1997

3 Dario Maio,, Davide Maltoni. Direct Gray-Scale Minutiae?Detection In Fingerprints. [J]. On Pattern Analysis And?Machine Intelligence,1997;19(1)

4 D.C. D. hung,, Enhancement and Feature Purification of?Fingerprint Images. [J]. Pattern Recognition,1993;26(11)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]