指紋以其唯一性、穩(wěn)定性及非遺失性而成為個(gè)人身份識(shí)別的有效手段,。計(jì)算機(jī)圖像處理和模式識(shí)別技術(shù)的發(fā)展使指紋自動(dòng)識(shí)別技術(shù)更加成熟,。指紋識(shí)別技術(shù)主要是通過分析指紋的局部特征,從中抽取詳盡的特征點(diǎn),,從而可靠地確認(rèn)個(gè)人身份,。目前的多數(shù)指紋識(shí)別系統(tǒng)是將指紋圖像采集到計(jì)算機(jī)中,然后利用計(jì)算機(jī)進(jìn)行識(shí)別,。但該方法不但占用了主機(jī)系統(tǒng)的資源,,同時(shí)也限制了指紋圖像處理的速度。而本文介紹的基于DSP的指紋識(shí)別系統(tǒng)不但可脫機(jī)工作,,也可通過接口進(jìn)行二次開發(fā),,并可快捷地整合到其它系統(tǒng)中。該系統(tǒng)采用TI公司生產(chǎn)的DSP芯片TMS320VC5416(以下簡稱:C5416)作為核心處理器,,同時(shí)選擇Veridicom公司的固態(tài)指紋傳感器件FPS200,。
1 指紋識(shí)別原理
1.1 指紋識(shí)別系統(tǒng)的組成
指紋識(shí)別是用取像設(shè)備讀取指紋圖像,并通過識(shí)別軟件提取指紋圖像中的特征數(shù)據(jù),,然后根據(jù)匹配算法得到的結(jié)果來鑒別指紋所有人的身份,,這種生物特征識(shí)別技術(shù)主要涉及指紋圖像采集、圖像預(yù)處理,、特征提取,、特征匹配等過程。識(shí)別時(shí),,可由計(jì)算機(jī)對(duì)預(yù)存的模板與當(dāng)前獲得的特征數(shù)據(jù)進(jìn)行比較,,以計(jì)算出它們的相似程度,從而得到兩幅指紋圖像的匹配結(jié)果,。指紋自動(dòng)識(shí)別系統(tǒng)(AFIS)的簡單流程如圖1所示,。
1.2 指紋采集的操作原理
FPS200指紋傳感器由256×300個(gè)電容傳感陣列組成,其分辨率高達(dá)500 dpi,,工作電壓范圍為3.3~5 V,,傳感器內(nèi)部有8位ADC,并具有兩組采樣保持電路,。FPS200的結(jié)構(gòu)框圖如圖2所示,。
FPS200是一種基于電容充放電原理的觸摸式CMOS傳感器,其外面是絕緣表面,,傳感器陣列的每一點(diǎn)都是一個(gè)金屬電極,,手指則充當(dāng)電容器的另一極,而兩者之間的傳感面形成電容兩極之間的介電層。由于指紋的脊和谷相對(duì)于另一極之間的距離不同,,導(dǎo)致硅表面電容陣列的各個(gè)電容值不同,,這樣,電容陣列值就描述了一幅指紋圖像,。FPS200的每一列都有兩組采樣保持電路,。紋采集按行實(shí)現(xiàn),選定一行,,對(duì)該行所有電容充電,并用采樣保持電路保存電壓值,;然后放電,,再用另一組采樣保持電路保存剩余電壓值。兩組電壓值通過內(nèi)置的8位模數(shù)轉(zhuǎn)換器,,便可以獲得具有灰度等級(jí)的指紋圖像,。
2 系統(tǒng)硬件設(shè)計(jì)
本指紋識(shí)別系統(tǒng)中的特征匹配和數(shù)據(jù)庫模塊可在主機(jī)上通過軟件實(shí)現(xiàn),指紋采集,、圖像的預(yù)處理以及特征提取部分則可由DSP+CPLD完成,。系統(tǒng)的硬件結(jié)構(gòu)如圖3所示。
該指紋自動(dòng)識(shí)別系統(tǒng)由DSP,、CPLD,、FPS200指紋傳感器、SRAM,、FLASH和USB接口等硬件組成,。圖3中的CPLD可作為系統(tǒng)中的接口和邏輯控制器件,控制著整個(gè)系統(tǒng)的邏輯,,同時(shí)負(fù)責(zé)協(xié)調(diào)取指器,、DSP和USB三部分之間的工作;FPS200指紋傳感器負(fù)責(zé)現(xiàn)場(chǎng)采集用戶的指紋,,CPLD則可將指紋圖像存儲(chǔ)到SRAM中,,并在采集完一幅圖像后通知DSP數(shù)據(jù)已準(zhǔn)備好。進(jìn)行數(shù)據(jù)處理時(shí),,由DSP將SRAM中的數(shù)據(jù)分塊取到其內(nèi)部的128 KB RAM中,,以進(jìn)行指紋圖像預(yù)處理及特征提取,再由DSP將指紋模板經(jīng)USB接口上傳給PC,,然后與指紋庫中的特征指紋進(jìn)行匹配,,最后顯示匹配結(jié)果。
2.1 系統(tǒng)存儲(chǔ)空間的分配
指紋圖像的數(shù)據(jù)量大(FPS200采集的指紋圖像為256×300象素),,因此,,運(yùn)行指紋識(shí)別算法和存儲(chǔ)特征模板均需大量存儲(chǔ)空問。本系統(tǒng)對(duì)存儲(chǔ)資源進(jìn)行了合理的分配管理。系統(tǒng)外部存儲(chǔ)器包括256 KB的FLASH和256 KB的SRAM,。程序代碼放在FLASH中,;算法運(yùn)行過程中的臨時(shí)指紋圖像數(shù)據(jù)則存放于片外SRAM,最后的指紋特征模板則存儲(chǔ)于FLASHEEPROM中,。
TMS320VC5416有23根地址線可以用來對(duì)程序空間進(jìn)行尋址,,并可直接對(duì)8 MB空間進(jìn)行尋址,本系統(tǒng)只需512 KB的尋址空間,,所以只需使用其中19根地址線,。設(shè)計(jì)時(shí)可利用高位地址A19來區(qū)分FLASH和SRAM,可將DSP地址線中低15位直接與FLASH中的A0~A14相連,,地址高3位通過CPLD來控制尋址,。為了對(duì)存儲(chǔ)器進(jìn)行統(tǒng)一的邏輯控制,本系統(tǒng)由CPLD并完成片選,、中斷,、復(fù)位、讀寫使能等功能
2.2 CPLD電路的設(shè)計(jì)
CPLD作為接口和邏輯控制器件,,其內(nèi)部集成有地址發(fā)生器和與DSP的握手控制電路,,可用于完成整個(gè)系統(tǒng)的片選、中斷,、通用I/O的配置等功能,,同時(shí)可將指紋圖像直接存儲(chǔ)到SRAM中,并在采集完一幅圖像后通知DSP數(shù)據(jù)已準(zhǔn)備好,。本設(shè)計(jì)中的CPLD選用美國Altera公司的MAX3000系列EPM3128ATC100-10,。
2.3 鍵盤與LCD電路的設(shè)計(jì)
LCD模塊采用FM12864I作為指紋圖形和處理結(jié)果顯示的用戶界面。FM12864I是一種圖形點(diǎn)陣液晶顯示器,,它主要由行驅(qū)動(dòng)器/列驅(qū)動(dòng)器及128×64全點(diǎn)陣液晶顯示器組成,,可完成圖形顯示,也可以顯示8×4個(gè)(16×16點(diǎn)陣)漢字,。本設(shè)計(jì)為了便于調(diào)試,,將DSP輸出與LCD連接的控制引腳一起連人CPLD,便以靈活地調(diào)整時(shí)序,。鍵盤上有12個(gè)按鍵,,可用10 kΩ電阻拉高組成3×4鍵盤,輸出的邏輯電平與CPLD的I/O相連,,并通過VHDL程序來控制鍵值的讀入,。
2.4 USB接口電路
USB接口芯片選用Cypress公司EZ-USB FX2系列USB芯片CY7C68013。該芯片集USB2.0收發(fā)器,、串行接口引擎SIE,、增強(qiáng)的8051內(nèi)核,、I2C總線接口以及通用可編程接口GPIF于一體,該電路既能完成USB事務(wù)處理,,又具備微處理器的控制功能,,還可用作USB外設(shè)的主控制芯片,其最高傳輸速率可達(dá)480 Mbps,。
3 軟件設(shè)計(jì)
指紋圖像預(yù)處理是指紋自動(dòng)識(shí)別過程中的第一步,,它的好壞直接影響著指紋自動(dòng)識(shí)別系統(tǒng)的效果。圖像預(yù)處理包括濾波,、銳化,、二值化、細(xì)化和去噪,。由于在局部范圍內(nèi),,指紋圖中的紋線具有方向性一致、寬度基本相等,、間距基本相同等特性,,所以可采用方向圖濾波來對(duì)指紋圖像進(jìn)行處理,。
銳化就是指示強(qiáng)化指紋紋線間的界線,,以便突出邊緣信息,增強(qiáng)脊和谷間的對(duì)比度,,以利于二值化,。設(shè)計(jì)時(shí)可采用拉普拉斯單一掩模算法來實(shí)現(xiàn)銳化。
二值化處理是指整幅圖像處理成僅黑(灰度值為0)和白(灰度值為1)的過程,。二值化的方法很多,,關(guān)鍵在于閾值T的選取。采用以邊緣強(qiáng)度為權(quán)值的灰度平均法可直接得到分割閾值,,其具體實(shí)現(xiàn)步驟如下:
(1)將指紋圖像分為w×w子塊,,然后根據(jù)圖像的邊沿強(qiáng)度算子公式分別計(jì)算每一子塊的邊緣強(qiáng)度;其圖像的邊緣強(qiáng)度算子可以定義為:
細(xì)化是將紋線粗細(xì)不均勻的指紋圖像轉(zhuǎn)化為線寬僅為1個(gè)像素的條紋中心線圖像的過程,。細(xì)化可以減少冗余信息,,突出紋線的主要特征,以便于后續(xù)處理,。采用快速細(xì)化算法對(duì)二值化圖像進(jìn)行處理,,可得到一幅指紋圖像的骨架。
特征提取與匹配主要是選擇脊線端點(diǎn)和分歧點(diǎn)作為特征點(diǎn),,來記錄每一特征點(diǎn)的類別,、位置和方向信息,從而得到特征點(diǎn)集(特征模板),??刹捎?鄰域法來抽取二值化后的指紋圖像特征點(diǎn),,同時(shí)提取分叉點(diǎn)和端點(diǎn),并去除偽特征點(diǎn),??梢灾讣y最內(nèi)層弧的頂點(diǎn)作為中心點(diǎn),也就是紋線上曲率最大之處,。若最內(nèi)層弧頂點(diǎn)處有分叉線存在,,且此分叉線走向與兩旁紋線走向一致,則定義分叉點(diǎn)為中心點(diǎn),,并進(jìn)一步確定各特征點(diǎn)相對(duì)于中心點(diǎn)的方向,。本系統(tǒng)中就是用特征點(diǎn)的類型、特征點(diǎn)與中心點(diǎn)的方向,、特征點(diǎn)與中心點(diǎn)的紋線數(shù)這三個(gè)參量來表征一個(gè)特征點(diǎn)的特征信息,。兩個(gè)指紋圖像的匹配實(shí)際就是兩幅圖像特征點(diǎn)信息(3個(gè)參量)的比對(duì)。若兩幅指紋有12個(gè)以上的特征點(diǎn)匹配即可基本判定兩幅指紋屬同一個(gè)指紋,。
本文選用的是TI公司的DSP集成開發(fā)工具CCS2.0集成開發(fā)環(huán)境,,調(diào)試工具選用JTAG仿真器。指紋圖像的預(yù)處理和匹配程序先用軟件仿真,,仿真環(huán)境為Simulator,;應(yīng)當(dāng)說明的是通常應(yīng)當(dāng)在算法正確的情況下,再進(jìn)行硬件仿真,。
4 結(jié)束語
本文給出了DSP+FPS200指紋傳感器的指紋識(shí)別系統(tǒng)設(shè)計(jì)方案,,實(shí)驗(yàn)證明,該系統(tǒng)能實(shí)現(xiàn)快速的指紋采集,,并可利用USB接口方便地與計(jì)算機(jī)進(jìn)行通信,。本系統(tǒng)既能脫機(jī)工作,又可以通過接口進(jìn)行二次開發(fā),,因而可拓寬指紋識(shí)別系統(tǒng)的應(yīng)用范圍,。