文獻標識碼: A
相對于人體其他的生物特征而言,指紋在唯一性、永久性方面有著明顯優(yōu)勢,即使皮膚受傷磨損,只要不傷及真皮,也能重新長出。另外,ticle/index.aspx?id=20636">指紋識別應(yīng)用起來方便可靠,不會對人體構(gòu)成損傷?;谶@些特征,指紋識別技術(shù)受到了普遍重視,一系列帶有身份識別和防偽功能的產(chǎn)品被開發(fā),如指紋身份證、準考證、社會保障卡、銀行儲蓄卡等。隨著計算機集成技術(shù)的提高,指紋識別設(shè)備已向小型化、自動化、嵌入式方向發(fā)展,并顯示出旺盛的市場需求。
本系統(tǒng)采用高性能、低功耗的DSP芯片TMS320VC5501作為核心處理器,擴展了SDRAM和FLASH存儲器,集成了CMOS圖像采集器、LCD、鍵盤、JTAG仿真接口USB等外設(shè),設(shè)計緊湊、布局合理;充分利用了片上資源,僅用一片DSP芯片完成了從指紋圖像獲取、預(yù)處理、指紋匹配及結(jié)果顯示等功能。系統(tǒng)既可以脫機工作,也可以通過接口進行二次開發(fā),整合到其他系統(tǒng)中去。
1 指紋識別基本原理
指紋識別主要涉及指紋采集、圖像預(yù)處理、特征提取、特征匹配等過程。首先,通過指紋采集設(shè)備獲取指紋的數(shù)字圖像,并對原始圖像進行預(yù)處理,提高圖像質(zhì)量。然后,指紋識別算法從指紋圖像中提取出所需的特征數(shù)據(jù),根據(jù)需要將特征信息存入指紋數(shù)據(jù)庫中。最后,用當前獲得的特征數(shù)據(jù)與預(yù)存在特征庫中數(shù)指紋模板進行比對,通過匹配算法計算出它們的相似程度,從而得到兩幅指紋圖像的匹配結(jié)果。指紋識別原理框圖如圖1所示,指紋圖像預(yù)處理、特征提取、指紋匹配是整個系統(tǒng)的核心。
2 系統(tǒng)硬件設(shè)計與研究
指紋識別系統(tǒng)硬件平臺是應(yīng)用程序與指紋識別算法運行的物理平臺。綜合考慮器件選型、結(jié)構(gòu)簡單、低功耗、低成本、工作穩(wěn)定、可擴展接口與調(diào)試方便等方面的因素,確定了系統(tǒng)硬件設(shè)計方案,其組成部分為:核心處理器(DSP)、系統(tǒng)電源管理、存儲設(shè)備(SDRAM和FLASH)、指紋采集頭、人機交互模塊(鍵盤和LCD)、在線仿真接口(JTAG)。整個系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
2.1 系統(tǒng)核心處理器
TMS320VC5501是美國德州儀器(TI)公司生產(chǎn)的一款高性能、低功耗的16 bit定點DSP芯片[1]。該芯片時鐘頻率最高可達300 MHz,配以雙乘加結(jié)構(gòu),每秒最高可以完成600萬次乘加運算。采用改進的哈佛結(jié)構(gòu),芯片內(nèi)部有1組程序總線、3組數(shù)據(jù)讀總線和2組數(shù)據(jù)寫總線,使得系統(tǒng)在一個時鐘周期內(nèi)能完成3次讀和2次寫的操作,并且提供了專用的匯編指令,極大地提高了數(shù)據(jù)處理能力。
2.2 存儲器擴展
TMS320VC5501的內(nèi)部存儲空間僅有32 KB,無法滿足系統(tǒng)程序的需要,因此需要通過外部存儲器接口(EMIF)擴展存儲空間[2]。本系統(tǒng)同時擴展了SDRAM和FLASH。其中,SDRAM采用了Hynix公司的HY57V161610D,用于運行程序與指紋圖像處理數(shù)據(jù)的暫存。針對圖像的算法在片內(nèi)DARAM上實現(xiàn)的效率要遠遠高于外擴存儲器的情況,將指紋采集器輸出的圖像大小設(shè)置為280×280,并經(jīng)過圖像壓縮成大小140×140,再采用高低位分開放置圖像數(shù)據(jù),整個圖像數(shù)據(jù)就不到20 KB。同時,指紋圖像處理算法的程序也不超過8 KB。這樣,圖像識別過程中的程序和數(shù)據(jù)都在片內(nèi)DARAM上完成,可以緩解EMIF總線接口的壓力并提高系統(tǒng)的數(shù)據(jù)處理能力。
本系統(tǒng)中FLASH主要有2個作用:(1)用于存放程序代碼,上電以后,F(xiàn)LASH中的各段程序代碼被裝入SDRAM或DSP內(nèi)部DARAM中,系統(tǒng)開始正常工作;(2)存放指紋處理程序處理完指紋后所獲得的指紋特征以及一些相關(guān)的信息數(shù)據(jù)等。本系統(tǒng)采用FLASH芯片為SST39VF3201,存儲容量為2M字。但是,DSP片上僅有20根地址線,最多可以擴展到1M字。設(shè)計中將GPIO7直接連接到SST39VF3201的A22管腳,使用GPIO7模擬地址線訪問FLASH空間。高地址位存儲指紋模板,低地址位存儲引導(dǎo)程序,可以有效地利用FLASH空間資源。
2.3 圖像采集電路設(shè)計
系統(tǒng)采用MagnaChip Semiconductor公司的HV7131R彩色CMOS圖像傳感器作為指紋采集頭的核心器件[3]。該芯片有很強的實用性,可在復(fù)雜環(huán)境中工作。其支持VGA模式,有效像素640×480,帶有可編程自動曝光、增益控制及白平衡控制功能,可通過編程設(shè)定成像窗口和幀傳輸速率。芯片集成I2C總線接口,10 bit A/D輸出。但是,一般只用高8 bit傳輸像素點灰度值。最大幀速度30幀/s,最高工作頻率25 MHz。
芯片采用Bayer濾光陣列把輸入光信號分解成RGB三原色,每一像素點僅保留一種原色。由于綠色像素對亮度影響最大,所以保留最多,占1/2;紅色像素和藍色像素各占1/4。在實際處理時,每個像素的R、G、B信號由像素本身輸出的某種顏色信號和相鄰像素輸出的其他顏色信號構(gòu)成,這種采樣方式,在基本上不降低圖像質(zhì)量的同時,可以將采樣頻率降低60%左右。本系統(tǒng)中,DSP的8 bit主機接口HPI.HD[7:0]配置為GPIO,通過讀寫HGPIODAT1寄存器實現(xiàn)數(shù)據(jù)傳輸。如圖3所示,HV7131R外接25MHz時鐘,A/D轉(zhuǎn)換輸出的高8 bit DATA[9:2]接HPI.HD[7:0]作為數(shù)據(jù)輸入;幀同步信號(VSYNC)和行同步信號(HSYNC)作為外部中斷源分別接到TIM0和TIM1引腳;SDA和SCL與DSP片上集成的I2C引腳連接,用以訪問或者修改傳感器的寄存器值。整個系統(tǒng)運行過程中,DSP只需讀取指紋采集頭的數(shù)據(jù),但是,LCD作為輸出顯示,僅寫入數(shù)據(jù)即可。LCD采用并口連接方式設(shè)計,通過6 800時序接收DSP數(shù)據(jù),與指紋采集模塊復(fù)用HPI.HD[7:0]管腳。實驗證明,這種連接方式不僅可以節(jié)約核心處理器片上管腳資源,而且編程緊湊,易于移植。
3 指紋識別算法
指紋處理和識別算法是整個系統(tǒng)的核心,且都在DSP上實現(xiàn)。整個流程如圖4所示,主要包括圖像預(yù)處理、特征提取和指紋匹配3部分。預(yù)處理又可分為圖像分割、歸一化、圖像增強、二值化以及圖像細化等。
傳統(tǒng)的圖像分割算法主要有2類:一類是基于指紋圖像方向信息分割的方向法;另一類是基于圖像灰度特征分割的方差法。系統(tǒng)采用了一種基于特征融合的分割算法,對梯度、方向一致性進行2次分割。實驗表明,該算法能夠精確地對不同類型的指紋圖像進行分割,分割效果比較理想。
圖像歸一化是為了對不同的指紋圖像進行統(tǒng)一處理,將源圖像的對比度和灰度調(diào)整到一個固定的級別上,為后續(xù)處理提供一個統(tǒng)一的基礎(chǔ)[4]。方向圖計算、背景分離到頻率提取,所有算法都可以在互補重疊的小區(qū)域內(nèi)單獨進行。所以本文采用分塊規(guī)一化的方法,將圖像分為14×14大小的子區(qū)域,再對子圖像進行規(guī)一化,保證了各個小區(qū)域內(nèi)均值和方差的一致性。
筆者實現(xiàn)了基于非線性擴散濾波的指紋圖像增強新算法。該算法利用指紋圖像的結(jié)構(gòu)張量構(gòu)造擴散張量,使得濾波沿著指紋脊線方向擴散。該算法屬迭代算法,比Gabor濾波算法能量聚集慢,可以有效地連接斷裂脊線,而不會改變指紋脊線的連續(xù)性和奇異性。經(jīng)過測試,該算法能提高細節(jié)點提取的性能,增強指紋匹配的效率。
圖像二值化的關(guān)鍵問題是選取一個合適的閾值,經(jīng)過在系統(tǒng)中實測,選擇閾值To=180。圖像細化處理是指為了減少所需處理的信息量,便于提取指紋特征[5]。算法中采用了一種最近鄰點方式來抽取紋線骨架。既可以消除短枝和斷線等噪聲,還能滿足指紋細化的保持性、連接性、中軸性和快速性要求。
細化之后的指紋圖像就會呈現(xiàn)出特征信息。研究表明,中斷點和分支點這2類特征點就可以描述指紋的唯一性。所以,本文采用一種基于8連通域判斷法的特征點提取方法。該方法是在細化后的二值圖像上,對于細化圖像的任意點P計算其交叉數(shù)和8連通紋線點數(shù),然后遍歷細化圖像中的每一個像素點,即可得到所有的端點和分支點。圖5給出了指紋圖像識別過程中的部分結(jié)果圖像,很好地保持了原指紋圖像的特性。
圖像匹配就是判斷2次輸入指紋的特征集合(模板)是否屬于同一枚指紋[6]。本系統(tǒng)采用基于點模式匹配算法進行指紋識別,有效地解決了數(shù)量和位置都不盡相同的2幅指紋細節(jié)圖像進行最優(yōu)匹配的問題。在系統(tǒng)硬件平臺上,通過HV7131R采集到的指紋圖像作為測試樣本,每一枚指紋分別測試100次來評價FRR(錯誤拒絕率)與FAR(錯誤接受率)。實驗顯示:FRR為3.5%,F(xiàn)AR為0%,比對結(jié)果令人滿意。
本文提出了一種基于TMS320VC5501 DSP的新型指紋識別系統(tǒng)。僅用一片DSP芯片,實現(xiàn)了存儲器擴展、指紋圖像采集、人機交互模塊等的設(shè)計,既可以獨立運行,又可以進行二次開發(fā)。指紋圖像識別算法是系統(tǒng)的核心,經(jīng)過在系統(tǒng)硬件平臺上的實際測試,算法體現(xiàn)出了運算速度快、識別效率高等優(yōu)點。目前該系統(tǒng)的二次開發(fā)產(chǎn)品已經(jīng)進入商用階段并得到用戶好評,從而充分證明了其適用性和可靠性。
參考文獻
[1] 彭啟宗,武樂琴,張艦.TMS320VC55x系列DSP的CPU與外設(shè).北京:清華大學出版社,2005.
[2] Texas Instruments.TMS320VC5501/5502 DSP external memory interface reference guide.2005.
[3] MagnaChip Semiconductor Ltd.CMOS image sensor HV7131R,Version1.7,2004.
[4] 劉少聰.新指紋學[M].安徽:安徽人民出版社,1984.
[5] 王崇文,李見為.指紋細節(jié)特征提取與剪枝.光電工程,2002(4):68-71.
[6] 張?zhí)幂x,田捷,劉旭.基于DSP指紋識別核心算法的設(shè)計與實現(xiàn).計算機工程與應(yīng)用,2003(16):25-27.