摘 要: 介紹了基于USB接口的指紋傳感器MBF200的工作原理、硬件電路,、基于指紋傳感器的指紋識(shí)別系統(tǒng)的選擇和定制以及采用極坐標(biāo)的指紋識(shí)別算法。
關(guān)鍵詞: 指紋識(shí)別 MBF200 識(shí)別算法
指紋識(shí)別技術(shù)是近年來發(fā)展迅速的一種高新技術(shù),。該技術(shù)利用人類指紋的惟一性和不變性這一生理特征進(jìn)行身份鑒定,。由于自動(dòng)指紋識(shí)別系統(tǒng)(Automated Fingerprint Identification System,,AFIS)具有難以偽造等優(yōu)點(diǎn),因而在金融,、電子商務(wù),、以及安全性要求較高的行業(yè)如公安案例分析、戶籍管理,、考勤,、門禁等系統(tǒng)都有相當(dāng)廣泛的應(yīng)用前景。
在指紋身份識(shí)別應(yīng)用領(lǐng)域中,,指紋采集是十分關(guān)鍵的環(huán)節(jié),。目前,常用于指紋采集的光學(xué)傳感器,、半導(dǎo)體傳感器和超聲波傳感器中,,技術(shù)成熟、性價(jià)比高,、誤識(shí)率(FAR)和拒識(shí)率(FRR)低的當(dāng)屬半導(dǎo)體型的硅芯片錄入技術(shù),。本設(shè)計(jì)中采用的是電容式半導(dǎo)體指紋傳感器。
1 基于USB的指紋采集系統(tǒng)
1.1 指紋傳感器
Fujitsu公司的電容式半導(dǎo)體指紋傳感器MBF200是一款高性能,、低功耗,、低成本的接觸式指紋獲取器件。MBF200采用標(biāo)準(zhǔn)CMOS技術(shù),,80引腳VSPA封裝(其中40個(gè)腳為NC),;片內(nèi)集成有8位A/D轉(zhuǎn)換器,提供了8位?滋P,、USB1.1和SPI三種總線接口(它們所允許的最高采樣率分別為30fps,、13fps、10fps),;工作電壓3.3~5V,,功耗低于70mW,待機(jī)電流僅20?滋A,;片內(nèi)有手指自動(dòng)檢測(cè)電路(AFD),,在手指接觸傳感面時(shí),,AFD電路將自動(dòng)喚醒主機(jī)進(jìn)行處理,,從而大大降低了系統(tǒng)功耗;芯片集成了一個(gè)面積為1.50cm×1.28cm的300×256傳感陣列(每個(gè)傳感單元間距50?滋m),,具有500dpi的分辨率,,傳感面具有超硬、耐磨和抗腐蝕的保護(hù)外殼,,并能承受高達(dá)8kV的靜電放電,。MBF200傳感器的結(jié)構(gòu)框圖如圖1所示,。
MBF200的工作原理:芯片背部的傳感部件由按行列排布的金屬電極陣列組成,工作時(shí),,每個(gè)金屬電極充當(dāng)電容的一個(gè)極,,而觸到傳感器的手指作為電容的另一個(gè)電極,器件表面的一層鈍化物質(zhì)充當(dāng)電容的電介質(zhì),。手指皮膚紋路(溝/脊)對(duì)整個(gè)傳感陣列呈現(xiàn)出不同的電容值,,讀出每個(gè)傳感單元(電容)充放電值的變化就形成了指紋的圖像。傳感陣列由排成300行×256列的電極組成,,片內(nèi)2組采樣-保持電路連到每1行傳感電極上,。指紋圖像按行采集,1次1行,。每1行采集分2相完成,,第1相期間所選行的電極被預(yù)充電至Vdd電平,此時(shí),,內(nèi)部控制電路使能第1組采樣-保持電路保存該行電極預(yù)充電的電壓值,;第2相期間1個(gè)片內(nèi)電流源對(duì)該行電極進(jìn)行放電(反向充電),每1個(gè)傳感單元的放電速率正比于其放電電流,,經(jīng)歷一小段固定時(shí)長(zhǎng)的放電后,,內(nèi)部控制電路又使能第2組采樣-保持電路并存儲(chǔ)下電極電壓的終值。各個(gè)傳感單元充/放電前后的電壓差值反映了相應(yīng)位置的指紋信息,,經(jīng)A/D轉(zhuǎn)換后即得指紋的8位數(shù)字值,。
1.2 USB接口設(shè)計(jì)
本設(shè)計(jì)方案中采用芯片自帶的USB1.1接口與PC機(jī)通信,并從外部E2PROM器件對(duì)MBF200進(jìn)行配置,。MBF200與外圍電路的連接如圖2所示,。圖中,AT25640是具有SPI接口的8KB串行Flash存儲(chǔ)器,。
MBF200的USB接口有3個(gè)端點(diǎn):端點(diǎn)0為控制傳輸端點(diǎn),,用于系統(tǒng)枚舉和設(shè)置;端點(diǎn)1用于批量傳輸讀入指紋數(shù)據(jù),;端點(diǎn)2用于中斷傳輸,。當(dāng)產(chǎn)生中斷事件時(shí),中斷狀態(tài)寄存器的內(nèi)容就會(huì)傳到端點(diǎn)0,。
系統(tǒng)軟件由設(shè)備驅(qū)動(dòng)程序,、固件程序和應(yīng)用程序組成。設(shè)備驅(qū)動(dòng)程序采用WDM模式,;固件程序主要完成對(duì)指紋采集的控制,,其流程圖如圖3所示;應(yīng)用程序通過設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)對(duì)指紋采集器的控制,、數(shù)據(jù)的傳輸以及指紋識(shí)別的實(shí)現(xiàn)(用VC++編寫),。
2 指紋識(shí)別處理系統(tǒng)
指紋識(shí)別的基本原理是:采用細(xì)節(jié)點(diǎn)坐標(biāo)模型來做細(xì)節(jié)匹配,。它利用指紋脊末梢與脊線分支點(diǎn)這2種關(guān)鍵點(diǎn)來鑒定指紋,最終決定二幅指紋圖像是否來自同一個(gè)手指,。
本識(shí)別系統(tǒng)主要由指紋采集,、圖像增強(qiáng)、特征值提取,、匹配識(shí)別四部分組成,。指紋識(shí)別系統(tǒng)框圖如圖4所示。由于采用1:N的模式,,所以加入了指紋細(xì)節(jié)點(diǎn)數(shù)據(jù)庫(kù),,由離線和在線二部分構(gòu)成。離線部分將采集指紋進(jìn)行圖像增強(qiáng),,特征值提取后將細(xì)節(jié)點(diǎn)保存到數(shù)據(jù)庫(kù)中,。在線部分將最后得到的細(xì)節(jié)點(diǎn)與數(shù)據(jù)庫(kù)中的細(xì)節(jié)點(diǎn)進(jìn)行匹配,判斷采集到的指紋是否與數(shù)據(jù)庫(kù)中的某一指紋相同,,最后輸出結(jié)果,。
2.1 圖像增強(qiáng)
輸入指紋圖像的質(zhì)量將影響到下一步指紋細(xì)節(jié)特征提取算法的性能。然而通過指紋傳感器直接得到的指紋圖像往往質(zhì)量不高,,主要是由于采集過程中一些人為的不一致接觸和不均勻接觸以及設(shè)備本身的噪聲干擾等因素造成,。這就需要在細(xì)節(jié)特征提取之前對(duì)采集到的指紋圖像進(jìn)行處理。其目的是使指紋圖像清晰,,輪廓更加明顯,。指紋圖像處理分為3步:平滑、二值化和細(xì)化,。平滑處理主要是去除干擾噪聲,,而又不使圖像失真。二值化處理是使圖像畫面為黑白二值的圖像,,不呈現(xiàn)灰度的變化,。二值化處理前后的圖像如圖5所示。細(xì)化是把紋線粗細(xì)不均勻的指紋圖像轉(zhuǎn)化成線寬僅為1個(gè)象素的條紋中心線圖像,。圖像通過以上3步處理就可以得到清晰的指紋點(diǎn)線圖,,便于下一步的指紋細(xì)節(jié)匹配。
2.2 特征值提取及細(xì)節(jié)匹配
其中L是記錄的脊線中的點(diǎn)個(gè)數(shù),,R(di)和r(di)分別表示從脊線R與r上的點(diǎn)i到對(duì)應(yīng)的細(xì)節(jié)點(diǎn)的距離,,R(αi)和r(αi)分別表示連接脊線R與r上的點(diǎn)i與對(duì)應(yīng)的細(xì)節(jié)點(diǎn)的直線同對(duì)應(yīng)細(xì)節(jié)點(diǎn)方向的夾角。輸入脊線與模板脊線的校準(zhǔn)如圖6所示,。如果2條脊線的差異distance和angle小于預(yù)先設(shè)定的某個(gè)閾值,,則認(rèn)為是2個(gè)指紋設(shè)定的某個(gè)閾值,且認(rèn)為2個(gè)指紋的這條脊線相似,。當(dāng)所采集的脊線都相似時(shí)就認(rèn)為是同一個(gè)指紋,。
2.3 指紋數(shù)據(jù)庫(kù)的建立、查詢,、讀寫
本系統(tǒng)應(yīng)用Access數(shù)據(jù)庫(kù)來建立指紋特征值庫(kù),。特征值庫(kù)中除了指紋特征值以外還包括與之相關(guān)的信息:num、姓名,、性別,、登錄時(shí)間等,如圖7所示,。
(1)數(shù)據(jù)庫(kù)的建立,。數(shù)據(jù)庫(kù)建立并打開:
hr=m_pConnection.CreateInstance(″ADODB.Connection″);
//創(chuàng)建conenction連接
hr=m_pConnection->Open(″Provider=Microsoft.Jet.OLEDB.4.0,;\
Data Source=TestDB.mdb″,,″″,″″,,adModeUnknown),;
//創(chuàng)建打開數(shù)據(jù)庫(kù)
(2)數(shù)據(jù)庫(kù)查詢。向數(shù)據(jù)庫(kù)中插入新信息:當(dāng)系統(tǒng)工作在離線狀態(tài)時(shí),,需要向數(shù)據(jù)庫(kù)中添加新的指紋信息及相關(guān)信息,。
void CDBDlgDlg∷Insert( );//插入函數(shù)
m_pRecordset->AddNew( ),;m_pRecordset->GetFields( )->
GetItem(″Data″)->AppendChunk(varBLOB),;//添加記錄
(3)數(shù)據(jù)庫(kù)讀寫。從指紋數(shù)據(jù)庫(kù)中讀取特征值:
void CDBDlgDlg∷GetData( ),;//從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)
登錄時(shí)間顯示:
m_sTine.Format(″%d:%d:%d″,,curTime.GetHour( ),curTime.GetMinute( ),,curTime.GetSecond( )),;
3 結(jié) 論
本系統(tǒng)采用基于USB接口的指紋傳感器實(shí)現(xiàn)了整個(gè)指紋識(shí)別系統(tǒng),在實(shí)驗(yàn)中取得了滿意的結(jié)果,。該系統(tǒng)的優(yōu)點(diǎn)是比對(duì)速度快,,識(shí)別率高。系統(tǒng)可應(yīng)用于考勤管理等諸多領(lǐng)域,。
參考文獻(xiàn)
1 Fujitsu Microelectronics America Inc.MBF200 Solid State Fingerprint Sensor DataSheet.2003
2 Jain A,,Hong L,Bolle R.On—Line Fingerprint Verification. IEEE Trans on patten Analysis and Machine Intelligence,,1997,;19(4)
3 阮秋琦.數(shù)字圖像處理.北京:電子工業(yè)出版社,2001
4 王侃偉,方宗德.嵌入式指紋識(shí)別系統(tǒng)開發(fā).電子技術(shù)應(yīng)用,,2003,;29(4)