引言
指紋以其唯一性、穩(wěn)定性及非遺失性而成為個(gè)人身份識(shí)別的有效手段。計(jì)算機(jī)圖像處理和模式識(shí)別技術(shù)的發(fā)展使指紋自動(dòng)識(shí)別技術(shù)更加成熟。指紋識(shí)別技術(shù)主要是通過(guò)分析指紋的局部特征,從中抽取詳盡的特征點(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ī)工作,也可通過(guò)接口進(jìn)行二次開(kāi)發(fā),并可快捷地整合到其它系統(tǒng)中。該系統(tǒng)采用TI公司生產(chǎn)的DSP芯片TMS320VC5416(以下簡(jiǎn)稱:C5416)作為核心處理器,同時(shí)選擇Veridicom公司的固態(tài)指紋傳感器件FPS200。
1、指紋識(shí)別原理
1.1 指紋識(shí)別系統(tǒng)的組成
指紋識(shí)別是用取像設(shè)備讀取指紋圖像,并通過(guò)識(shí)別軟件提取指紋圖像中的特征數(shù)據(jù),然后根據(jù)匹配算法得到的結(jié)果來(lái)鑒別指紋所有人的身份,這種生物特征識(shí)別技術(shù)主要涉及指紋圖像采集、圖像預(yù)處理、特征提取、特征匹配等過(guò)程。識(shí)別時(shí),可由計(jì)算機(jī)對(duì)預(yù)存的模板與當(dāng)前獲得的特征數(shù)據(jù)進(jìn)行比較,以計(jì)算出它們的相似程度,從而得到兩幅指紋圖像的匹配結(jié)果。指紋自動(dòng)識(shí)別系統(tǒng)(AFIS)的簡(jiǎn)單流程如圖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ì)該行所有電容充電,并用采樣保持電路保存電壓值;然后放電,再用另一組采樣保持電路保存剩余電壓值。兩組電壓值通過(guò)內(nèi)置的8位模數(shù)轉(zhuǎn)換器,便可以獲得具有灰度等級(jí)的指紋圖像。
2、系統(tǒng)硬件設(shè)計(jì)
本指紋識(shí)別系統(tǒng)中的特征匹配和數(shù)據(jù)庫(kù)模塊可在主機(jī)上通過(guò)軟件實(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,然后與指紋庫(kù)中的特征指紋進(jìn)行匹配,最后顯示匹配結(jié)果。
2.1 系統(tǒng)存儲(chǔ)空間的分配
指紋圖像的數(shù)據(jù)量大(FPS200采集的指紋圖像為256×300象素),因此,運(yùn)行指紋識(shí)別算法和存儲(chǔ)特征模板均需大量存儲(chǔ)空問(wèn)。本系統(tǒng)對(duì)存儲(chǔ)資源進(jìn)行了合理的分配管理。系統(tǒng)外部存儲(chǔ)器包括256 KB的FLASH和256 KB的SRAM。程序代碼放在FLASH中;算法運(yùn)行過(guò)程中的臨時(shí)指紋圖像數(shù)據(jù)則存放于片外SRAM,最后的指紋特征模板則存儲(chǔ)于FLASHEEPROM中。
TMS320VC5416有23根地址線可以用來(lái)對(duì)程序空間進(jìn)行尋址,并可直接對(duì)8 MB空間進(jìn)行尋址,本系統(tǒng)只需512 KB的尋址空間,所以只需使用其中19根地址線。設(shè)計(jì)時(shí)可利用高位地址A19來(lái)區(qū)分FLASH和SRAM,可將DSP地址線中低15位直接與FLASH中的A0~A14相連,地址高3位通過(guò)CPLD來(lái)控制尋址。為了對(duì)存儲(chǔ)器進(jìn)行統(tǒng)一的邏輯控制,本系統(tǒng)由CPLD并完成片選、中斷、復(fù)位、讀寫(xiě)使能等功能。
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選用美國(guó)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相連,并通過(guò)VHDL程序來(lái)控制鍵值的讀入。
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í)別過(guò)程中的第一步,它的好壞直接影響著指紋自動(dòng)識(shí)別系統(tǒng)的效果。圖像預(yù)處理包括濾波、銳化、二值化、細(xì)化和去噪。由于在局部范圍內(nèi),指紋圖中的紋線具有方向性一致、寬度基本相等、間距基本相同等特性,所以可采用方向圖濾波來(lái)對(duì)指紋圖像進(jìn)行處理。
銳化就是指示強(qiáng)化指紋紋線間的界線,以便突出邊緣信息,增強(qiáng)脊和谷間的對(duì)比度,以利于二值化。設(shè)計(jì)時(shí)可采用拉普拉斯單一掩模算法來(lái)實(shí)現(xiàn)銳化。
二值化處理是指整幅圖像處理成僅黑(灰度值為0)和白(灰度值為1)的過(guò)程。二值化的方法很多,關(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è)像素的條紋中心線圖像的過(guò)程。細(xì)化可以減少冗余信息,突出紋線的主要特征,以便于后續(xù)處理。采用快速細(xì)化算法對(duì)二值化圖像進(jìn)行處理,可得到一幅指紋圖像的骨架。
特征提取與匹配主要是選擇脊線端點(diǎn)和分歧點(diǎn)作為特征點(diǎn),來(lái)記錄每一特征點(diǎn)的類別、位置和方向信息,從而得到特征點(diǎn)集(特征模板)。可采用8鄰域法來(lái)抽取二值化后的指紋圖像特征點(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è)參量來(lái)表征一個(gè)特征點(diǎn)的特征信息。兩個(gè)指紋圖像的匹配實(shí)際就是兩幅圖像特征點(diǎn)信息(3個(gè)參量)的比對(duì)。若兩幅指紋有12個(gè)以上的特征點(diǎn)匹配即可基本判定兩幅指紋屬同一個(gè)指紋。
本文選用的是TI公司的DSP集成開(kāi)發(fā)工具CCS2.0集成開(kāi)發(fā)環(huán)境,調(diào)試工具選用JTAG仿真器。指紋圖像的預(yù)處理和匹配程序先用軟件仿真,仿真環(huán)境為Simulator;應(yīng)當(dāng)說(shuō)明的是通常應(yīng)當(dāng)在算法正確的情況下,再進(jìn)行硬件仿真。
4、結(jié)束語(yǔ)
本文給出了DSP+FPS200指紋傳感器的指紋識(shí)別系統(tǒng)設(shè)計(jì)方案,實(shí)驗(yàn)證明,該系統(tǒng)能實(shí)現(xiàn)快速的指紋采集,并可利用USB接口方便地與計(jì)算機(jī)進(jìn)行通信。本系統(tǒng)既能脫機(jī)工作,又可以通過(guò)接口進(jìn)行二次開(kāi)發(fā),因而可拓寬指紋識(shí)別系統(tǒng)的應(yīng)用范圍。