車永剛 (中海油田服務(wù)股份有限公司船舶事業(yè)部,北京 101149)
肖春雨 (龍鳳熱電廠,黑龍江 大慶 163711)
雷 聲 (中國石油天然氣管道局天津設(shè)計(jì)院,天津 300457)
孫 巍 (哈爾濱工程大學(xué)船舶工程學(xué)院,黑龍江 哈爾濱 150001)
基于環(huán)形BP神經(jīng)網(wǎng)絡(luò)的指紋匹配算法
車永剛 (中海油田服務(wù)股份有限公司船舶事業(yè)部,北京 101149)
肖春雨 (龍鳳熱電廠,黑龍江 大慶 163711)
雷 聲 (中國石油天然氣管道局天津設(shè)計(jì)院,天津 300457)
孫 巍 (哈爾濱工程大學(xué)船舶工程學(xué)院,黑龍江 哈爾濱 150001)
針對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法收斂慢、抗旋轉(zhuǎn)畸變效果差的問題,設(shè)計(jì)了一種多輸入、單輸出的三層前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的輸入層呈n層環(huán)狀結(jié)構(gòu),隱層中的第n個(gè)神經(jīng)元接受輸入層第n環(huán)所有神經(jīng)元的數(shù)據(jù),對(duì)于每個(gè)輸入層的神經(jīng)元,僅采用一個(gè)權(quán)值連接至對(duì)應(yīng)的隱層神經(jīng)元;輸出層的唯一一個(gè)神經(jīng)元接受隱層中所有神經(jīng)元的數(shù)據(jù),對(duì)于每個(gè)隱層神經(jīng)元,僅采用一個(gè)權(quán)值連接至輸出層神經(jīng)元。試驗(yàn)結(jié)果表明,單權(quán)值連接方式提高了網(wǎng)絡(luò)的收斂速度,環(huán)狀結(jié)構(gòu)的設(shè)計(jì)具有較好的抗旋轉(zhuǎn)畸變的性能,使得匹配速度和匹配精度均有所提高。
指紋匹配;圖像處理;BP神經(jīng)網(wǎng)絡(luò)
目前的基于神經(jīng)網(wǎng)絡(luò)的指紋匹配算法,主要的思想是在整幅指紋圖像的灰度數(shù)據(jù)基礎(chǔ)上,以灰度差的絕對(duì)平均值(MAD)[1]作為匹配準(zhǔn)則。對(duì)于2幅指紋圖像來說,設(shè)待識(shí)指紋圖像A的大小為M×N,那么對(duì)于同樣大小的模板指紋圖像B,2幅圖像間的偏移量為:
(1)
式(1)中d的極小值即為匹配成功的特征點(diǎn)。由式(1)可見,如果待識(shí)指紋在二維空間內(nèi)產(chǎn)生了旋轉(zhuǎn)畸變,則d值會(huì)增大。這個(gè)特點(diǎn)說明了在指紋識(shí)別的應(yīng)用中,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)只具有平移不變性,并不具備旋轉(zhuǎn)不變性,在處理旋轉(zhuǎn)畸變較嚴(yán)重的圖像時(shí),會(huì)出現(xiàn)較大的誤差;另外,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)在輸入層中的節(jié)點(diǎn)和隱層中的節(jié)點(diǎn)通常采用2個(gè)以上的權(quán)值連接[2],這種結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)只有當(dāng)每個(gè)輸入空間都恰好包圍各自的樣本時(shí),輸出層的輸出數(shù)據(jù)才能接近期望數(shù)值,如果樣本中的噪聲影響比較嚴(yán)重,容易造成權(quán)值的誤差調(diào)整值不穩(wěn)定,使系統(tǒng)不能很快收斂甚至收斂失敗。樣本訓(xùn)練中由于迭代次數(shù)較多,使得收斂速度慢,學(xué)習(xí)效率低。
根據(jù)傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)算法的缺陷,筆者設(shè)計(jì)了一種多輸入、單輸出的三層前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的輸入層呈n層環(huán)狀結(jié)構(gòu),隱層中的第n個(gè)神經(jīng)元接受輸入層第n環(huán)所有神經(jīng)元的數(shù)據(jù),對(duì)于每個(gè)輸入層的神經(jīng)元,僅采用一個(gè)權(quán)值連接至對(duì)應(yīng)的隱層神經(jīng)元;輸出層的唯一一個(gè)神經(jīng)元接受隱層中所有神經(jīng)元的數(shù)據(jù),對(duì)于每個(gè)隱層神經(jīng)元,僅采用一個(gè)權(quán)值連接至輸出層神經(jīng)元。輸入層的環(huán)形結(jié)構(gòu)劃分規(guī)則為:根據(jù)圖像尺寸選定大小為N×K窗口,以指紋中心點(diǎn)為中心的N×K的矩形區(qū)域?yàn)榈?環(huán),3N×3K大小的矩形區(qū)域?yàn)榈?環(huán),5N×5K大小的矩形區(qū)域?yàn)榈?環(huán),依此類推。圖1給出了在3×3大小的模板下神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖。
對(duì)于一個(gè)n環(huán)網(wǎng)絡(luò),則需要具有n環(huán)的輸入層和n個(gè)隱層神經(jīng)元,其方程可表示為:
圖1 改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)示意圖
由于外環(huán)比內(nèi)環(huán)的數(shù)據(jù)量更多,所以噪聲對(duì)數(shù)據(jù)的影響也不同,所以隱層中激勵(lì)函數(shù)的參數(shù)ai可以不同,i值較大的情況下則可以選擇較大的ai值。輸入層到隱層之間,以及隱層到輸出層之間僅采用一個(gè)權(quán)值連接,權(quán)值為1或0,這樣可以減少算法的計(jì)算量,使計(jì)算速度提高。以指紋的中心點(diǎn)為匹配中心,將待識(shí)指紋的分叉點(diǎn)特征模板在數(shù)據(jù)庫中已有的指紋模板中滑動(dòng),滑動(dòng)路線即為搜索線路,計(jì)算每次滑動(dòng)得到的待識(shí)特征點(diǎn)的匹配結(jié)果,最優(yōu)解即為待識(shí)圖像的目標(biāo)點(diǎn)。從而將匹配搜索問題轉(zhuǎn)化為函數(shù)的優(yōu)化問題。輸入層的數(shù)據(jù)提取中,以指紋中心點(diǎn)為圓心,將指紋圖像分割為多個(gè)環(huán)形區(qū)域,每個(gè)環(huán)形區(qū)域內(nèi)的特征點(diǎn)數(shù)據(jù)采用多對(duì)一映射的方式傳遞至隱層進(jìn)行處理,在每一環(huán)的數(shù)據(jù)進(jìn)行加權(quán)平均后,可以對(duì)噪聲影響進(jìn)行一定程度的平滑處理,由于環(huán)形結(jié)構(gòu)的設(shè)計(jì),使得算法具有很好的抗旋轉(zhuǎn)畸變的性能。
根據(jù)指紋圖像的頻率場得出指紋紋線的平均寬度,特征點(diǎn)坐標(biāo)取為模板圖像的中心點(diǎn)坐標(biāo),選取大小為M×L的模板圖像,滑動(dòng)窗的大小為N×K?;瑒?dòng)窗中參與匹配運(yùn)算的區(qū)域?yàn)棣?n,k),n∈[2,N-1],k∈[2,K-1],由模板大小確定。
將指紋圖像模板在滑動(dòng)窗中的待匹配區(qū)域內(nèi)的所有分叉點(diǎn)數(shù)據(jù)看成以該窗中心點(diǎn)為圓心的隱層神經(jīng)元的輸出數(shù)據(jù),并將其輸入到輸入層的神經(jīng)元中,得到的結(jié)果為該滑動(dòng)窗中心點(diǎn)的匹配值。匹配中心點(diǎn)定為在匹配結(jié)果中選取匹配值最大的點(diǎn)。算法流程如下:
步1 將神經(jīng)網(wǎng)絡(luò)的輸入層、隱層、輸出層的節(jié)點(diǎn)數(shù)輸入;輸入模板圖像的分叉點(diǎn)數(shù)據(jù);
步2 計(jì)算模板的θ1,θ2,θ3,θ4;
步3 以指紋中心點(diǎn)作為滑動(dòng)窗的初始目標(biāo)中心,計(jì)算y1,y2,y3,y4,xout;
步4 滑動(dòng)窗移至下一目標(biāo)中心,重復(fù)步2和步3,直至遍歷所有目標(biāo)中心;
步5 遍歷結(jié)束后,將求得的xout進(jìn)行加和并設(shè)定閾值,大于該閾值則認(rèn)為匹配成功,小于該閾值則判為匹配失敗。
筆者改進(jìn)的算法實(shí)際上是一個(gè)3層前饋神經(jīng)網(wǎng)絡(luò),輸入層分為n環(huán),第n(n=1,2,3,…)環(huán)中的所有神經(jīng)元與隱層中第n個(gè)神經(jīng)元之間采用一個(gè)權(quán)值連接,權(quán)值為0或1;隱層中的所有神經(jīng)元與輸出層的唯一一個(gè)神經(jīng)元之間采用一個(gè)權(quán)值連接,權(quán)值為0或1,是簡化了的3層前饋神經(jīng)網(wǎng)絡(luò),可以使收斂速度提高,減少樣本訓(xùn)練的時(shí)間。
為了測試改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)的收斂速度,筆者使用文獻(xiàn)[3]中所使用的傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)和筆者的改進(jìn)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了對(duì)比測試。網(wǎng)絡(luò)訓(xùn)練中提取了來自國際指紋競賽數(shù)據(jù)庫(FVC2000)[4]中的100枚指紋對(duì)文中所述的改進(jìn)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了訓(xùn)練,使用的BP網(wǎng)絡(luò)輸入層含有25個(gè)神經(jīng)元,隱層含有3個(gè)神經(jīng)元,輸出層含有1個(gè)神經(jīng)元,精度要求為10-6,訓(xùn)練結(jié)果如圖2所示。
圖2 算法收斂速度比較
表1 算法提取分叉點(diǎn)的結(jié)果
由圖2(a)和圖2(b)的比較可得,傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練次數(shù)為198次,改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練次數(shù)為135次,在調(diào)整權(quán)值后,收斂速率得到了較大提升。
針對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)匹配算法訓(xùn)練時(shí)間長,抗旋轉(zhuǎn)畸變效果差的不足,在網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)值上進(jìn)行了改進(jìn),改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)輸入層采用了環(huán)狀結(jié)構(gòu),權(quán)值的連接方式也被簡化,這種算法在訓(xùn)練時(shí)收斂速度較快,而且可以極大的降低指紋圖像旋轉(zhuǎn)造成的影響,能夠進(jìn)一步有效地降低誤識(shí)率。試驗(yàn)結(jié)果驗(yàn)證了算法的有效性。
[1]毛雁明,楊慧玲.一種新的立體匹配算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(3):105-108,104.
[2] Lin H,Wang Y,Jain A K. Fingerprint Image Enhancement:Algorithms and Performance Evaluation [J].IEEE Trans Pattern Analysis and Machine Intelligence,1998,20(8):777-789.
[3]尹義龍,寧新寶.改進(jìn)的指紋細(xì)節(jié)特征提取算法 [J].中國圖像圖形學(xué)報(bào),2002,7(12):1302-1306.
[4]何正友,錢清泉.BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及其學(xué)習(xí)算法[J].西南交通大學(xué)學(xué)報(bào),1999,34(4):436-440.
2012-10-26
車永剛(1963-),男,高級(jí)工程師,現(xiàn)主要從事自動(dòng)控制系統(tǒng)設(shè)計(jì)及應(yīng)用方面的研究工作。
TP183
A
1673-1409(2013)01-0022-03
[編輯] 洪云飛