劉德方,陳海燕,王戴木,鄧 明
指紋識(shí)別技術(shù)[1]是一項(xiàng)高新技術(shù)。指紋識(shí)別是利用人體指紋的唯一性與不變性生理特征,將指紋作為人的一種“活的身份證”或一個(gè)隨身攜帶的特殊印章來進(jìn)行身份識(shí)別的一種技術(shù)。
數(shù)字信號(hào)處理器[2](Digital Signal Processor,DSP)是一種專門為實(shí)時(shí)、快速實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法而設(shè)計(jì)的具有特殊結(jié)構(gòu)的微處理器。DSP芯片的發(fā)展突飛猛進(jìn),其功能日益強(qiáng)大,性能價(jià)格比不斷上升,開發(fā)手段不斷改進(jìn)。DSP芯片已成為集成電路中發(fā)展最快的電子產(chǎn)品之一。DSP芯片迅速成為眾多電子產(chǎn)品的核心器件,DSP系統(tǒng)也被廣泛地應(yīng)用于當(dāng)今技術(shù)革命的各個(gè)領(lǐng)域——通信電子、信號(hào)處理、自動(dòng)控制、雷達(dá)、軍事、航空航天、醫(yī)療、家用電器、電力電子,而且新的應(yīng)用領(lǐng)域還在不斷地被發(fā)現(xiàn)、拓展。可以說,基于DSP技術(shù)的開發(fā)應(yīng)用正在成為數(shù)字時(shí)代應(yīng)用技術(shù)領(lǐng)域的潮流。
本課題提出了一種基于DSP TMS320VC5509A和指紋傳感器 MBF310的自動(dòng)指紋識(shí)別系統(tǒng)[3],指紋傳感器芯片集成了A/D轉(zhuǎn)換、順序流程控制、通信等功能于單一封裝內(nèi),具有自動(dòng)指紋檢測(cè)功能,可支持多種接口模式,設(shè)計(jì)方便。該系統(tǒng)可用于便攜式指紋數(shù)據(jù)采集系統(tǒng)、智能卡系統(tǒng)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)和當(dāng)?shù)卮鎯?chǔ)的安全進(jìn)入系統(tǒng),以及其它安全訪問控制系統(tǒng)。
TMS320VC5509A是TI公司生產(chǎn)的高性能、低功耗16位定點(diǎn)數(shù)字信號(hào)處理器。其處理速度400MIPS,最高工作頻率200MHz;雙核結(jié)構(gòu);片上RAM256KB、ROM64KB;RAM存儲(chǔ)區(qū)又分為SARAM192KB和DARAM64KB;豐富的片上外設(shè):時(shí)鐘發(fā)生器、通用定時(shí)器、通用I/O口、外部存儲(chǔ)器接口EMIF、多通道緩沖串口 McBSP、摸/數(shù)轉(zhuǎn)換器ADC、看門狗定時(shí)器、I2C模塊;其中EMIF可以和外擴(kuò)的SDRAM、FLASH實(shí)現(xiàn)無縫連接。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。系統(tǒng)的硬件功能模塊主要包括指紋采集模塊、DSP指紋圖像處理識(shí)別模塊、存儲(chǔ)模塊、以及電源模塊。
圖1 硬件系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)工作原理:DSP 5509A通過SPI接口實(shí)現(xiàn)對(duì)指紋采集傳感器MBF310的控制,MBF310將采集的模擬指紋圖像信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)后,由DSP 5509A的多通道緩沖串口 McBSP傳送給DSP 5509A進(jìn)行處理識(shí)別,最后將匹配識(shí)別成功的指紋圖像上傳到5509A的集成開發(fā)環(huán)境CCS中顯示。
系統(tǒng)的軟件設(shè)計(jì)如圖2所示。系統(tǒng)上電以后,DSP在程序的引導(dǎo)下完成指紋的獲取,并按照算法執(zhí)行獲得特征點(diǎn),然后存儲(chǔ)起來,最后在DSP程序控制下實(shí)現(xiàn)指紋圖像的匹配,從而完成指紋的識(shí)別。
圖2 指紋特征值得提取及匹配過程
指紋傳感器MBF310有多種接口方式及多種圖像獲取形式,這些都是通過內(nèi)部功能寄存器的設(shè)置來完成的。
首先要對(duì)傳感器進(jìn)行初始化:主要是啟動(dòng)內(nèi)部ADC并對(duì)特殊功能寄存器CTRLB的第2位置位,以確定ADC后的地址是否自動(dòng)增加,同時(shí)設(shè)置芯片時(shí)鐘源并使能傳感器。
其次是調(diào)整參數(shù),設(shè)置放電時(shí)間寄存器(DTR),設(shè)置放電電流速率的寄存器(DCR),設(shè)置可編程增益控制寄存器(PGC),主要用來設(shè)置放大器的增益。
最后就是獲取指紋圖象數(shù)據(jù)。芯片內(nèi)部提供有6個(gè)寄存器,可用來設(shè)置圖像數(shù)據(jù)捕獲的位置。其中RAL是行地址低位,RAH是行地址高位,CAL是列地址,REL是行末地址低位,REH是行末地址高位,CEL是列末地址。按照這個(gè)流程在完成指紋參數(shù)的設(shè)置后即可實(shí)現(xiàn)對(duì)指紋的圖像采集操作。DSP與指紋傳感器的通信采用SPI模式,其流程圖如圖3所示:
圖3 DSP與MBF310通信及傳感器使能和參數(shù)調(diào)整流程圖
指紋圖像的識(shí)別過程如圖4所示,首先通過指紋傳感器獲取圖像,然后對(duì)圖像進(jìn)行預(yù)處理(分割、增強(qiáng)、二值化、細(xì)化)并進(jìn)行指紋圖像的特征點(diǎn)提取和匹配,最后輸出匹配結(jié)果。下面詳細(xì)說明特征點(diǎn)的提取和匹配實(shí)現(xiàn)過程。
圖4 指紋圖像的識(shí)別過程
常見的指紋特征點(diǎn)類型如下:
端點(diǎn):一條紋路在此終結(jié)。
分叉點(diǎn):指紋紋線在某一處分開成兩條或更多的紋路。
孤立點(diǎn):指紋紋線很短以至看做一個(gè)點(diǎn)。
3.1.1 指紋特征點(diǎn)判斷算法
指紋特征點(diǎn)的提取是經(jīng)過指紋圖像預(yù)處理后,經(jīng)過細(xì)化處理,最后得到單像素指紋紋線,通過指紋特征判斷算法將一些指紋紋線某些位置的特征值提取出來。
指紋特征值的判斷方法[4],O表示指紋脊線上的點(diǎn),X1,,X8是它的八個(gè)鄰域點(diǎn)。
3.1.2 指紋圖像的奇異點(diǎn)檢測(cè)[5]
指紋奇異點(diǎn)的提取是為了提高指紋匹配速度,奇異點(diǎn)檢測(cè)算法種類很多,但是較常用的是基于Poincare index[6]算法。該算法是通過計(jì)算圍繞一個(gè)點(diǎn)的封閉曲線上的方向變化累計(jì)量來確定該點(diǎn)的Poincare index值,當(dāng)值為1/2、-1/2時(shí)分別對(duì)應(yīng)于core點(diǎn)和delta點(diǎn)。core點(diǎn)為最內(nèi)部彎曲紋線處的最高點(diǎn)或最低點(diǎn),delta點(diǎn)為三條不同紋線匯合形成的三角區(qū)域。方法如下:
(xk,yk)是以給定點(diǎn)(i,j)為中心的具有 N 個(gè)像素的封閉曲線L上沿第k個(gè)點(diǎn)的坐標(biāo),k=0,1,2,…N-1,在L上沿順時(shí)針遞增。若Poincare index值為1/2,則給定點(diǎn)(i,j)為core點(diǎn),若值為-1/2,則給定點(diǎn)(i,j)為delta點(diǎn)。
指紋匹配主要是通過比對(duì)指紋特征點(diǎn)的特征值。若配對(duì)成功,則說明是同一個(gè)人的指紋。指紋匹配先通過指紋特征值數(shù)進(jìn)行匹配,若不相同,則直接進(jìn)行判斷處理。若特征值數(shù)相同,則依次對(duì)特征值進(jìn)行匹配。本文采用基于指紋基線差異度的匹配算法,它具有良好的穩(wěn)健性。
指紋脊線差異度檢測(cè)算法[6]主要是根據(jù)其原指紋和輸入指紋進(jìn)行指紋的相似性匹配,如果它們通過角度旋轉(zhuǎn),能夠找到在一個(gè)角度下,它們紋線間走向誤差很小,則說明指紋識(shí)別可能是同一個(gè)指紋;否則認(rèn)為不是同一個(gè)人的指紋。R表示特征點(diǎn)Mi對(duì)應(yīng)脊線,r表示特征點(diǎn)Nj對(duì)應(yīng)脊線,則兩個(gè)脊線的差異度的計(jì)算方法如下:
其中,L表示采樣點(diǎn)數(shù);(x,y)是被跟蹤的坐標(biāo)點(diǎn);(xi,yi)是跟蹤點(diǎn);R(di)是脊線上點(diǎn)與輸入指紋特征點(diǎn)Mi差值,r(di)是脊線r上點(diǎn)與輸入指紋特征點(diǎn)Nj差值;R(ai)是表示連接脊線R上采樣點(diǎn)i與特征點(diǎn)Mi的直線同該特征點(diǎn)的方向的夾角;r(ai)表示連接脊線r上采樣i與特征點(diǎn)Ni的直線同該特征點(diǎn)的方向的夾角。當(dāng)間距Dd很小且夾角Da很小,說明兩條脊線相似,則它們可作為特征點(diǎn)對(duì),否則就有理由說明這兩條脊線彼此不相似,不能作為特征點(diǎn)對(duì)。
系統(tǒng)的實(shí)驗(yàn)結(jié)果如圖5所示。算法主要由DSP和MBF310協(xié)同工作實(shí)現(xiàn)的。實(shí)驗(yàn)過程如下:首先,搭建實(shí)驗(yàn)環(huán)境:將自動(dòng)指紋識(shí)別系統(tǒng)板卡通過仿真器和PC機(jī)連接并建立正常的通信;其次,設(shè)置CCS硬件仿真環(huán)境并進(jìn)行初始化操作,如:初始化DSP 5509A時(shí)鐘(設(shè)置5509A主頻100MHz)、EMIF及相關(guān)控制寄存器;設(shè)置McBSP控制寄存器;初始化中斷向量和定時(shí)器;初始化指紋采集傳感器MBF310;最后,運(yùn)行指紋脊線差異度檢測(cè)算法??删幊讨讣y傳感器芯片MBF310完成對(duì)指紋的A/D采集,形成8位的圖象,供順序讀取使用。DSP通過總線可以多次連續(xù)讀取指紋傳感芯片中的圖象數(shù)據(jù)。程序開始運(yùn)行后在指紋檢測(cè)傳感器上自上至下緩緩移動(dòng)手指,當(dāng)程序采集完320行指紋數(shù)據(jù)后會(huì)自動(dòng)停止。此時(shí)需要稍等片刻讓匹配成功的指紋數(shù)據(jù)從DSP傳到CCS中顯示。數(shù)據(jù)傳輸結(jié)束后可以在觀察窗中看到指紋圖像。
圖5 CCS中顯示的指紋圖像
本文采用了先進(jìn)的DSP 5509A技術(shù)和指紋脊線差異度檢測(cè)算法相結(jié)合的設(shè)計(jì)方案,實(shí)現(xiàn)了自動(dòng)指紋識(shí)別系統(tǒng),該系統(tǒng)可應(yīng)用在便攜式指紋數(shù)據(jù)采集系統(tǒng)、智能卡系統(tǒng)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)和當(dāng)?shù)卮鎯?chǔ)的安全進(jìn)入系統(tǒng),以及其它安全訪問控制系統(tǒng)。不足之處在于,被移植到DSP中的算法還可以進(jìn)一步優(yōu)化來提高算法的效率并降低DSP 5509A存儲(chǔ)空間的開銷,進(jìn)而提高系統(tǒng)的實(shí)時(shí)性,這將是后續(xù)的科研工作內(nèi)容。實(shí)驗(yàn)表明,該系統(tǒng)具有良好的穩(wěn)定性和魯棒性,具有廣闊的應(yīng)用前景。
[1] 田啟川,張潤(rùn)生.生物特征識(shí)別綜述[J].計(jì)算機(jī)應(yīng)用研究,2009(26):4401-4410.
[2] 趙洪亮,卜凡亮.TMS320C55xDSP應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京航空航天大學(xué)出版社,2008.
[3] 魏先明.自動(dòng)指紋識(shí)別算法在嵌入式系統(tǒng)上的優(yōu)化實(shí)現(xiàn)[J].信息工程,2006(5).
[4] 時(shí) 鵬,田 捷,蘇 琪.基于奇異點(diǎn)鄰近結(jié)構(gòu)的快速指紋識(shí)別[J],軟件學(xué)報(bào),2008,19(12):3134-3146.
[5] 聶貴軍,吳 陳,葉錫君,等.基于連續(xù)分布方向圖和改進(jìn)的Pofncarehidex的指紋分類[J].電子學(xué)報(bào),2006,34(5):947-952.
[6] 詹小四,孟祥旭,尹義龍.基于紋理分析的指紋圖像分割算法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(21).