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