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