基于DSP CCS2.2實現(xiàn)指紋識別預處理系統(tǒng)
利用生物認證技術取代傳統(tǒng)的使用鑰匙、身份證、密碼等方法進行個人身份鑒定,可廣泛應用于銀行、機場、公安等領域的出入管理。將信息技術與生物技術相結合的生物認證技術是本世紀最有發(fā)展?jié)摿Φ募夹g之一,而指紋識別技術則是其中非常有前景的一種。
數(shù)字信號處理器(DSP)是指以數(shù)值計算的方法對數(shù)字信號進行處理的芯片。它具有處理速度快、靈活、精確、抗干擾能力強、體積小、使用方便等優(yōu)點。DSP應用于指紋識別已經成為一個新的科技領域和獨立的學科體系,當前已形成了有潛力的產業(yè)和市場。
本文選定100MHz DSP TMS320VC5402作為指紋信號的處理器,利用其流水線編碼的操作特點,并結合指紋識別技術,實現(xiàn)基于DSP CCS2.2的指紋識別預處理系統(tǒng)。CCS 2.2(Code Composer Studio)是一種針對標準TMS320調試接口的集成開發(fā)環(huán)境(IDE),由TI公司于1999年推出。指紋識別的處理流程
圖1 指紋識別流程圖
指紋處理過程可分為三個階段:
(1) 獲取原始指紋圖像,進行預處理;
(2) 提取指紋特征點;
(3) 指紋識別分析判斷。
在上述三個階段中,指紋圖像的預處理階段尤為重要,該階段對圖像處理的好壞直接關系到后面兩個階段工作的開展。本文結合TMS320VC5402的特點,重點研究指紋識別的預處理算法及其DSP實現(xiàn)問題,其中包括指紋的極值濾波、平滑濾波、拉普拉斯銳化、迭代二值化和該算法在DSP開發(fā)平臺CCS2.2的C5000上的仿真實現(xiàn)。這一問題的解決,可為未來指紋識別系統(tǒng)的脫機應用提供很有價值的參考。
1 指紋識別預處理算法
指紋識別預處理的目的是使指紋圖像更清晰,邊緣更明顯,以便提取指紋的特征點進行識別。本文采取極值濾波和改進的平滑濾波進行噪聲消除,使圖像不失真;采取拉普拉斯銳化對指紋進行紋線增強,突出邊緣信息,為自適應閥值的迭代二值化提供方便。
1.1 極值濾波
解梅、馬爭[1]認為極值濾波器的設計是基于這樣一種理念:在指紋圖像的采集過程中,指紋圖像所受到的沖擊性噪聲表現(xiàn)為一些斑點或亮點。在一般情況下,可以認為絕大數(shù)沖擊性噪聲是被真實的灰度值所包圍。同時噪聲污染的像素要遠遠小于真實灰度值的像素。因此在噪聲的消除過程中,無需對大多數(shù)沒有被噪聲污染的像素進行改變處理,只需對那些被污染的像素進行“真實值”代替處理,而這些值的確定可通過圖像像素鄰域的相關性來確定。
設有一待處理器像素為s0,其周圍8鄰域像素排列為
取鄰域相關像素的均值為Ai,i∈{1,2,...8},并以四個像素為一組處理單元,則改進的極值濾波[1]算法可表述如下:
如果A0>max(Ai),i∈{1,2,...8},則
如果A0 < min(Ai), i∈{1,2,...8}, 則
s1=s2=s4=s0=min(A1,A2,A4)
s2=s3=s5=s0=min(A2,A3,A5)
s4=s6=s7=s0=min(A4,A6,A7) (3)
s5=s7=s8=s0=min(A5,A7,A8)
如果min(Ai)≤Ai≤max(Ai),i∈{1,2,...8},則將像素原值輸出,不作處理。
實驗結果表明,該方法能得到與中值濾波類似的效果,達到了初步去除噪聲的目的。
1.2 平滑濾波
經過上面的極值濾波處理之后,圖像傳輸過程中所形成的大多數(shù)沖擊性噪聲均被除去,但指紋圖像中還存在著隨機噪聲,需進一步對圖像進行平滑處理。本文采取兩次平滑濾波,一次是在極值濾波之后,一次是在銳化濾波之后。改進的平滑卷積核為
系數(shù)取1/15而非原來的1/17的原因在于提高圖像的對比度;而卷積核中心像素加權系數(shù)取為5是為了突出該點像素。實驗結果表明,該改進是可行的,有利于突出中心像素并有效去除隨機噪聲。
1.3 銳化濾波
對于由于積分運算所造成的模糊圖像,有必要對其模糊進行校正,進而增強指紋圖像的邊界。具體做法為增強指紋脊線與谷的對比度。這種增強指紋圖像的高頻成分,使其邊緣清晰的方法稱為銳化。因此,銳化的目的在于使經過平均或積分運算后變得模糊的圖像的邊緣和輪廓變得清晰,并使細節(jié)清晰[2]。在本文中,銳化卷積核采用拉普拉斯算子[3]:
通過該卷積核對圖像進行卷積預算,能實現(xiàn)高通濾波,進而得到銳化后的指紋脊線。
1.4 迭代閥值二值化
指紋圖像經過極值濾波、平滑濾波、拉普拉斯銳化濾波、平滑濾波后,大多數(shù)噪聲都已被消除,這就為特征點提取提供了基礎。為了提取特征點,需對指紋圖像進行分割。本文采取迭代閥值的方法對指紋圖像進行閥值分割。在圖像處理中,反復地用一種運算直至條件滿足而得到輸出圖像的方法稱為迭代。迭代閥值方法如下:
①設定初始灰度閥值T(如令T=127),把指紋圖像的灰度值分為兩組R1和R2。
②計算兩組的平均灰度值u1和u2。
③重新設定新的灰度閥值T。新的T定義為:T=(u1+u2)/2。
④依據(jù)新的T對指紋圖像進行閥值分割。
這種方法是以自適應的閥值對指紋圖像進行二值化處理。實驗結果表明,該方法比設定固定閥值進行處理更有普遍意義,且行之有效。
2 指紋圖像在CCS 2.2上的輸入與輸出
在設計中,采用DSP集成開發(fā)環(huán)境CCS2.2對指紋識別算法進行模擬驗證。用指紋成像系統(tǒng)采集一幅*bmp格式指紋圖像,如finger.bmp指紋圖像。在該指紋圖像的數(shù)據(jù)上面添加一個COFF文件的文件頭。以文件名finger.out保存。*.out文件為TI的公共目標文件。利用CCS中的File-Load Data 可以將finger.out的指紋圖像放到DSP的相應內存中去,本次設計中將finger.out存放于DSP的數(shù)據(jù)存儲空間。利用CCS中的Image菜單,通過設置相關選項可以觀察處理前的圖像與處理后的圖像。
3 實際指紋圖像預處理效果
依據(jù)上述指紋識別預處理算法,通過CCS2.2的模擬功能,實現(xiàn)了指紋識別預處理的DSP處理,達到了DSP處理指紋圖像的應用目的。結果如圖2所示。
圖2 實際指紋預處理結果
本文針對TMS320VC5402 DSP的快速、高效的特點,采取了DSP集成開發(fā)環(huán)境CCS2.2對指紋圖像進行預處理。在指紋的預處理中,由于DSP具有10ns指令周期,使采用改進的極值濾波和改進的卷積核平滑濾波對指紋圖像進行一次、二次平滑實時處理成為可能。實驗結果表明,該方法能有效地處理指紋圖像的沖擊性噪聲和隨機噪聲。而迭代二值化的運算充分利用了DSP 五級流水線操作,達到了利用DSP對指紋圖像進行預處理的應用目的。