山東青年政治學(xué)院 高 強(qiáng)
基于BP神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別方法
山東青年政治學(xué)院 高 強(qiáng)
神經(jīng)網(wǎng)絡(luò)是近年來(lái)受到國(guó)內(nèi)外廣泛關(guān)注的高新技術(shù),不同科學(xué)的科技人員對(duì)其進(jìn)行了深入的研究,并取得了許多有價(jià)值的研究成果,利用BP網(wǎng)絡(luò)實(shí)現(xiàn)圖像質(zhì)量評(píng)價(jià),選取圖像的幾個(gè)特征向量作為BP網(wǎng)絡(luò)的輸入。一般BP的輸入都是數(shù)值組成的。文中提出的用BP神經(jīng)網(wǎng)絡(luò)作圖像識(shí)別的方法,不對(duì)圖像作特征提取,直接把圖像數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)識(shí)別器的輸入。文章最后用Python完成了網(wǎng)絡(luò)的訓(xùn)練與測(cè)試,并給出了試驗(yàn)結(jié)果。結(jié)果表明,不作特征提取的神經(jīng)網(wǎng)絡(luò)圖像識(shí)別系統(tǒng)具有很強(qiáng)的抗干擾能力。
人工神經(jīng)網(wǎng)絡(luò)(ANN);BP網(wǎng)絡(luò);Python;圖像識(shí)別
人工神經(jīng)網(wǎng)絡(luò)(Artif i cial Neural Networks)(簡(jiǎn)稱ANN)系統(tǒng)誕生于20世紀(jì)40年代末,已有半個(gè)多世紀(jì)的發(fā)展,從一開始的簡(jiǎn)單邏輯運(yùn)算、推理,到現(xiàn)階段發(fā)展成具有復(fù)雜模式和記憶、聯(lián)想、推理、的功能,已成為解決某些傳統(tǒng)方法所無(wú)法解決的問(wèn)題的有力工具。神經(jīng)網(wǎng)絡(luò)所表現(xiàn)出的這些特點(diǎn)使它日益受到學(xué)者的重視,1986年,Romelhart和Mcclelland在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,提出了誤差反向傳播算法(Error Back Propagation Algorithm),簡(jiǎn)稱BP算法,與神經(jīng)網(wǎng)絡(luò)結(jié)合,發(fā)展成為機(jī)器學(xué)習(xí)的熱門方向。BP神經(jīng)網(wǎng)絡(luò)包含了前向和反向兩個(gè)過(guò)程,線性變換和非線性激活函數(shù)兩個(gè)運(yùn)算,運(yùn)用激活函數(shù)的連續(xù)、可導(dǎo)特性,以逐次逼近的方式,迭代尋找最優(yōu)解,并確定線性參數(shù)的范圍,最后達(dá)到識(shí)別、分類的功能。而圖像的識(shí)別正是分辨圖像邊緣,通常以梯度方向作為逼近方向,不斷調(diào)整速率,達(dá)到分類目的,因此BP神經(jīng)網(wǎng)絡(luò)在圖像分類,模式識(shí)別方面有極大的應(yīng)用價(jià)值。
在BP神經(jīng)網(wǎng)絡(luò)中,輸入層和輸出層的節(jié)點(diǎn)個(gè)數(shù)都是確定的,如果用于分類,則節(jié)點(diǎn)激活函數(shù)一般選用S型函數(shù)或者可導(dǎo)函數(shù),如果用BP網(wǎng)絡(luò)去逼近,則輸出層節(jié)點(diǎn)用線性函數(shù),即 f(x)=x。
BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練數(shù)據(jù)時(shí)可以采用增量學(xué)習(xí)或者批量學(xué)習(xí)。從感如器的學(xué)習(xí)算法可知,不論哪種學(xué)習(xí),目的都是在反向傳播過(guò)程中修改網(wǎng)絡(luò)節(jié)點(diǎn)中的權(quán)重系數(shù),從而使誤差精度最小,一旦確定節(jié)點(diǎn)的線性權(quán)重系數(shù),網(wǎng)絡(luò)就能多維向量客體對(duì)象正確識(shí)別、分類。當(dāng)訓(xùn)練結(jié)束時(shí),誤差小于精度閾值,網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)權(quán)重系數(shù)其實(shí)就是結(jié)點(diǎn)本身所提取的外部環(huán)境的變化特征,也就是說(shuō),權(quán)重系數(shù)是存儲(chǔ)了外部環(huán)境多特征映射模式。分布在節(jié)點(diǎn)的線性映射函數(shù),結(jié)合激勵(lì)函數(shù),從而具有實(shí)現(xiàn)任何復(fù)雜非線性映射的功能,這使得它特別適合于求解內(nèi)部機(jī)制復(fù)雜的問(wèn)題。
任意的有輸入端到輸出端的非線性映射,都可以交給對(duì)于含有一個(gè)隱含層的三層BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)。如果增加BP神經(jīng)網(wǎng)絡(luò)隱含層的數(shù)量,可以降低誤差,提高精度,但同時(shí)也使BP網(wǎng)絡(luò)學(xué)習(xí)收斂時(shí)間變慢,使學(xué)習(xí)效率下降。因此更多的時(shí)候,提高誤差精度,是通過(guò)增加隱含層結(jié)點(diǎn)數(shù)來(lái)實(shí)現(xiàn),而不是增減隱含層的層數(shù)。一般情況下,我們應(yīng)優(yōu)先考慮增加隱含層的結(jié)點(diǎn)數(shù)。
BP算法改進(jìn)的主要目標(biāo)是既能加快訓(xùn)練速度和網(wǎng)絡(luò)收斂速率,又能使程序避免陷入局部極小值,常見的改進(jìn)方法有帶動(dòng)量因子算法、自適應(yīng)學(xué)習(xí)速率、變化的學(xué)習(xí)速率以及作用函數(shù)后縮法等。動(dòng)量因子法的基本思想是在誤差反向傳播的過(guò)程中,在每一個(gè)權(quán)值的變化上加上一項(xiàng)偏置,該項(xiàng)與權(quán)值變化的值成正比,從而在反向傳播過(guò)程中能運(yùn)用梯度下降的方法使權(quán)重發(fā)生變化。而自適應(yīng)學(xué)習(xí)速率的方法則是針對(duì)一些特定的問(wèn)題的。改變學(xué)習(xí)速率的方法的原則是,在連續(xù)幾次迭代中,若目標(biāo)函數(shù)對(duì)某個(gè)權(quán)倒數(shù)的符號(hào)相同,則這個(gè)權(quán)的學(xué)習(xí)速率增加,反之若符號(hào)相反則減小它的學(xué)習(xí)速率。而作用函數(shù)后縮法則是將作用函數(shù)進(jìn)行平移,即加上一個(gè)常數(shù)。我們通常把網(wǎng)絡(luò)中的節(jié)點(diǎn)比擬成人腦神經(jīng)元,如同人記實(shí)際事物一樣,BP神經(jīng)網(wǎng)絡(luò)在樣本數(shù)據(jù)學(xué)習(xí)中,節(jié)點(diǎn)系數(shù)權(quán)值的改變就像是人腦神經(jīng)元軸突與樹突連接閾值的改變,神經(jīng)網(wǎng)絡(luò)會(huì)把權(quán)系數(shù)調(diào)整到最佳,從而使分類做到最好。作為一個(gè)整體結(jié)構(gòu),BP神經(jīng)網(wǎng)絡(luò)按整個(gè)對(duì)象的特征向量來(lái)記憶圖像的,只要大多數(shù)特征值符合曾學(xué)習(xí)過(guò)的訓(xùn)練樣本數(shù)據(jù)特征,就可識(shí)別為同一類別,所以當(dāng)樣本存在較大噪聲時(shí)神經(jīng)網(wǎng)絡(luò)分類器仍可正確識(shí)別。在圖像識(shí)別領(lǐng)域,只要將圖像的點(diǎn)矩陣向量作為神經(jīng)網(wǎng)絡(luò)的輸入,經(jīng)過(guò)網(wǎng)絡(luò)的計(jì)算,BP神經(jīng)網(wǎng)絡(luò)就能輸出識(shí)別結(jié)果。
本實(shí)驗(yàn)用python完成了對(duì)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和圖像識(shí)別模擬。從數(shù)據(jù)樣本庫(kù)中選擇0~9這十個(gè)數(shù)字的BMP格式的圖像,圖像分辨率為16×8像素,每個(gè)目標(biāo)圖像分別加5%、15%、25%、35%、45%大小的隨機(jī)噪聲,共產(chǎn)生60個(gè)圖像樣本。將樣本分為兩個(gè)部分,一部分用于訓(xùn)練,另一部分用于測(cè)試。實(shí)驗(yàn)中用于訓(xùn)練的樣本為40個(gè),用于測(cè)試的樣本為20個(gè)。函數(shù)randn(m,n)負(fù)責(zé)產(chǎn)生隨機(jī)噪聲數(shù)據(jù)。
設(shè)置訓(xùn)練參數(shù)
B為測(cè)試樣本向量集,128×20的點(diǎn)陣。D為網(wǎng)絡(luò)對(duì)訓(xùn)練樣本的識(shí)別結(jié)果,A為測(cè)試樣本的網(wǎng)絡(luò)識(shí)別結(jié)果。實(shí)驗(yàn)結(jié)果表明:網(wǎng)絡(luò)對(duì)訓(xùn)練樣本和對(duì)測(cè)試樣本的識(shí)別率均為100%。
由實(shí)驗(yàn)可知,運(yùn)用BP神經(jīng)網(wǎng)絡(luò)反向傳播算法識(shí)別圖像是切實(shí)可行的,由于數(shù)據(jù)集容量的關(guān)系,該實(shí)驗(yàn)只是用Python進(jìn)行了簡(jiǎn)單的數(shù)字圖像識(shí)別,下一步的工作是在不增加網(wǎng)絡(luò)規(guī)模的情況下,識(shí)別復(fù)雜的目標(biāo)圖像。
[1]焦李成著.神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論[M].西安:西安電子科技大學(xué)出版社,1990.
[2]黃德雙著.神經(jīng)網(wǎng)絡(luò)模式識(shí)別系統(tǒng)理論[N].北京:電子工業(yè)出版社,1996.
[3]Demuth H d,Beale M.Neural network toolbox user’s guide Version 4.The Mathworks Inc,2001.
[4]許東,吳錚.基于Matlab6.X的系統(tǒng)分析與設(shè)計(jì)——神經(jīng)網(wǎng)絡(luò)[M].西安:西安電子科技大學(xué)出版社,2002.
[5]顧陽(yáng),王慶林,許立新.基于Wiener濾波,K-L變換和BP網(wǎng)絡(luò)的數(shù)字識(shí)別[J].北京理工大學(xué)學(xué)報(bào),2002,22(1):113-116.
[6]許延發(fā),張敏.改進(jìn)的BP算法在多目標(biāo)識(shí)別中的應(yīng)用[J].光學(xué)精密工程,2003,11(5):513-515.
高強(qiáng),男,山東大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院碩士,山東青年政治學(xué)院信息工程學(xué)院講師,研究領(lǐng)域包括數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘、大數(shù)據(jù)的分布式存儲(chǔ)等。