呂 新 鄭士富
(大連交通大學(xué)電氣信息學(xué)院,遼寧 大連 116028)
·計算機技術(shù)及應(yīng)用·
一種BP神經(jīng)網(wǎng)絡(luò)紙幣圖像識別方法的研究
呂 新 鄭士富
(大連交通大學(xué)電氣信息學(xué)院,遼寧 大連 116028)
介紹了BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)特點與原理,基于此種方法,對幾種紙幣的面額與方向進(jìn)行了識別,其中權(quán)值的修改算法采用LM算法,并對算法的基本思路作了闡述,識別仿真結(jié)果表明,BP神經(jīng)網(wǎng)絡(luò)具有較高的準(zhǔn)確性。
BP神經(jīng)網(wǎng)絡(luò),紙幣,圖像識別
傳統(tǒng)的紙幣識別采用人工識別的方法,有準(zhǔn)確性高的特點,但卻存在識別過程中人們?nèi)菀灼?,識別效率低下的特點。隨著科學(xué)技術(shù)的發(fā)展,人工識別方法已經(jīng)進(jìn)入了歷史的舞臺。目前,很多行業(yè)都出現(xiàn)了基于人民幣紙幣識別技術(shù)的智能化無人收費系統(tǒng),節(jié)省了大量的人力資源[1]。
就現(xiàn)在正在使用的識別方法來說,較常用的有尺寸比較法、模板匹配、人工神經(jīng)網(wǎng)絡(luò)[1]等。在神經(jīng)網(wǎng)絡(luò)系統(tǒng)中,BP神經(jīng)網(wǎng)絡(luò)是較常見的一種,它是一種以誤差反向傳播為基礎(chǔ)的前向網(wǎng)絡(luò),具有非常強的非線性映射能力[2]。將神經(jīng)網(wǎng)絡(luò)應(yīng)用于非線性系統(tǒng)的辨識,可以不受非線性模型的限制,達(dá)到較理想的實際結(jié)果。據(jù)統(tǒng)計,80%~90%的神經(jīng)網(wǎng)絡(luò)模型采用了BP神經(jīng)網(wǎng)絡(luò)或者它的變化形式[3]。在MATLAB軟件系統(tǒng)中提供了神經(jīng)網(wǎng)絡(luò)工具箱,方便用戶學(xué)習(xí)與實際驗證。
1.1 BP神經(jīng)網(wǎng)絡(luò)的特點
BP神經(jīng)網(wǎng)絡(luò)一般有以下特點:
1)一般是多層的,有一個輸入層,一個輸出層,還有若干的隱含層。
3)采用誤差反向傳播算法(Back-Propagation),在BP網(wǎng)絡(luò)中,數(shù)據(jù)從輸入層經(jīng)隱含層逐層向后傳播,訓(xùn)練網(wǎng)絡(luò)權(quán)值時,沿著減少誤差的方向,從輸出層經(jīng)過中間各層逐層向前修改網(wǎng)絡(luò)的連接權(quán)值。
含一層隱含層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
1.2LM算法
BP的修正算法最常使用標(biāo)準(zhǔn)的是最速下降法,根據(jù)實際情況可以選用其他幾種改進(jìn)算法。根據(jù)實際運用中神經(jīng)元數(shù)目較多,要獲得較快的收斂速度,選用LM算法。
w(n)為第n次迭代的權(quán)值向量,則w(n+1)次權(quán)值迭代向量可由式(1)計算。H為誤差性能函數(shù)Hessian矩陣,其中包含了誤差函數(shù)的倒數(shù)信息。當(dāng)誤差性能函數(shù)具有如式(3)所示的形式時,其中,ti為第i個向量的理想輸出值,oi為第i個向量實際輸出。因而有H=JTJ。那么,梯度可表示為式(5),其中J為雅可比矩陣,e的計算如式(4)所示。根據(jù)式(6)牛頓法的迭代公式可得式(7)LM算法。定義式(7)為LM算法網(wǎng)絡(luò)權(quán)值修訂公式。如果求得的-[JTJ+μI]-1JTe能使誤差指標(biāo)函數(shù)降低,則μ降低,反之,則μ增加[4]。當(dāng)μ=0時,LM算法轉(zhuǎn)換為擬牛頓法。 當(dāng)μ很大時,式(6)相當(dāng)于步長值較小的梯度下降法,由于雅可比矩陣計算量較Hessian矩陣較小,所以收斂速度相對較快。但LM實際運算中占用內(nèi)存量過大,因而盡量減少迭代次數(shù)[5]。
w(n+1)=w(n)+▽w(n)
(1)
(2)
(3)
(4)
▽E=JTe
(5)
w(n+1)=w(n)-H-1(n)▽E(n)
(6)
w(n+1)=w(n)-[JTJ+μI]-1JTe
(7)
w(n+1)=w(n)+▽w(n+1)
(8)
1.3 算法的基本思路
在研究之前,首先考慮的是理想狀況下,是用處理軟件把4種幣樣縮放為相同的大小,保證紙幣特征的完整性。轉(zhuǎn)化為已經(jīng)處理好的圖像,也就是已經(jīng)對噪聲等干擾信號處理完全后的圖像。判別四種幣樣的面值與方向,共有16種情況。在進(jìn)行識別算法時,首先要把紙幣平均分塊,如圖2所示,分塊的目的是為了使紙幣圖像便于數(shù)字化。
在應(yīng)用神經(jīng)網(wǎng)絡(luò)時,需要模式向量確定實際的輸入層的大小。通過計算確定出每一塊的平均灰度值。在MATLAB軟件中,運算公式為y=mean(mean())。以圖2為例,平均分成類16小塊。通過計算可得到圖1的平均灰度向量為x0=[216,200,207,227,206,193,198,235,209,203,188,235,208,206,209,218]。在神經(jīng)網(wǎng)絡(luò)中,一般是要歸一化才處理,具體的方法為數(shù)據(jù)全部除以灰度最大值255,同時設(shè)置閾值x=0.75完成圖像的數(shù)字化。
1.4 圖像識別BP神經(jīng)網(wǎng)絡(luò)設(shè)計結(jié)構(gòu)
前人通過LVQ網(wǎng)絡(luò)進(jìn)行紙幣圖像鑒別[6]中,競爭層數(shù)目過多,而且不能達(dá)到100%的準(zhǔn)確率。
在前述分割與圖像處理技術(shù)不變的情況下,采用LVQ網(wǎng)絡(luò)中用于模式識別的newlvq函數(shù)訓(xùn)練一個神經(jīng)網(wǎng)絡(luò),如圖6所示,當(dāng)競爭層神經(jīng)元達(dá)到150個時,誤差率仍然很大,且曲線下降斜率較小,訓(xùn)練速率很慢。同時通過圖4中也可以看出識別率準(zhǔn)確率低于60%,且實際測試訓(xùn)練時間大于10 s。修改識別系統(tǒng),提高識別性能,這對確定該系統(tǒng)的性能是非常重要的。在本次試驗中采用BP神經(jīng)網(wǎng)絡(luò),樣本數(shù)為16個,輸入神經(jīng)元16個。設(shè)計輸出神經(jīng)元4個。隱含層設(shè)計為兩層,第一層為23個神經(jīng)元,第二層為46個神經(jīng)元。設(shè)定目標(biāo)值T為[0000;0001;…;1111]。每個向量值對應(yīng)于實際的一種輸出結(jié)果。 BP神經(jīng)網(wǎng)絡(luò)設(shè)計為一層輸出層,兩個隱含層,一層輸入層。通過MATLAB工具箱進(jìn)行分析訓(xùn)練,部分程序如下所示:
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];
net=newff(threshold,[23,46,4],{′tansig′,′logsig′,′purelin′},′trainlm′);
net.trainParam.epochs=1000;
net.trainParam.goal=0.0005;
net.trainParam.lr=0.15;
net=train(net,p,t);
通過round 函數(shù)與abs函數(shù)處理向量中的每個值,可以得到較高的準(zhǔn)確率。如圖3第3列經(jīng)過處理后得到表示y2=[0 01 0],表示本樣本屬于第3個類別。實驗達(dá)到了100%的準(zhǔn)確率。圖5可以看出達(dá)到規(guī)定的目標(biāo)精度,且訓(xùn)練速率很快,實際測試訓(xùn)練時間為3 s左右。在實際軟件測試中y3,y4分別為BP神經(jīng)網(wǎng)絡(luò)與LVQ神經(jīng)網(wǎng)絡(luò)的驗證函數(shù)。
BP,LVQ神經(jīng)網(wǎng)絡(luò)訓(xùn)練效果圖分別見圖5,圖6。
BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對模式識別有較好的效果。本文中運用BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計了一種識別網(wǎng)絡(luò),達(dá)到了較高的識別效果。通過與LVQ神經(jīng)網(wǎng)絡(luò)識別系統(tǒng)的比較,發(fā)現(xiàn)有識別訓(xùn)練時間短,結(jié)構(gòu)簡單,識別準(zhǔn)確率高等特點。仿真結(jié)果表明,能夠很好完成識別要求。
在本文試驗中,數(shù)據(jù)的樣本值還不夠充足,還可以加入舊幣與破損幣樣本。另外一點是要減少權(quán)值修訂的迭代次數(shù),從而減少網(wǎng)絡(luò)的訓(xùn)練時間。為應(yīng)用于實際的系統(tǒng)做好準(zhǔn)備。
[1] 金 曦,張 健,邵 妍.基于數(shù)字圖像處理的人民幣紙幣面值識別[J].黑龍江科技信息,2010(3):68-69.
[2] 陳 明.Matlab神經(jīng)網(wǎng)絡(luò)原理與實例精解[M].北京:清華大學(xué)出版社,2012.
[3] 李 萍,曾令可,稅安澤.基于MATLAB的BP神經(jīng)網(wǎng)絡(luò)預(yù)測系統(tǒng)的設(shè)計[J].計算機應(yīng)用與軟件,2008(4):149-151.
[4] 王建梅,覃文忠.基于LM算法的BP神經(jīng)網(wǎng)絡(luò)分類器[J].武漢大學(xué)學(xué)報,2005(10):928-931.
[5] 張德豐.Matlab神經(jīng)網(wǎng)絡(luò)仿真及應(yīng)用[M].北京:電子工業(yè)出版社,2009.
[6] 蔣雁飛.光電紙幣清分系統(tǒng)的圖像處理[D].成都:電子科技大學(xué)碩士論文,2006.
[7] Hirohito Shintani,Masatake Akutagawa.Optimization of MLP/BP for character recognition using a modified alopex algorithm[J].Knowledge-based and Intelligent Engineering Systems,2007(11):371-379.
Research on a BP neural network image recognition method of banknote
LV Xin ZHENG Shi-fu
(SchoolofElectricalInformation,DalianJiaotongUniversity,Dalian116028,China)
The paper introduces the structural features and principles of BP neural network, undertakes the recognition of denomination and orientation of some currencies, adopts the LM calculation method in the modification method of weight value, illustrates the basic idea of the calculation method and proves by the recognition simulation that BP neural network has higher accuracy.
BP neural network, currency, image recognition
1009-6825(2014)30-0286-02
2014-08-18
呂 新(1987- ),男,在讀碩士; 鄭士富(1964- ),男,碩士生導(dǎo)師,副教授
TP183
A