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