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