山東青年政治學院 高 強
基于BP神經網絡的圖像識別方法
山東青年政治學院 高 強
神經網絡是近年來受到國內外廣泛關注的高新技術,不同科學的科技人員對其進行了深入的研究,并取得了許多有價值的研究成果,利用BP網絡實現圖像質量評價,選取圖像的幾個特征向量作為BP網絡的輸入。一般BP的輸入都是數值組成的。文中提出的用BP神經網絡作圖像識別的方法,不對圖像作特征提取,直接把圖像數據作為神經網絡識別器的輸入。文章最后用Python完成了網絡的訓練與測試,并給出了試驗結果。結果表明,不作特征提取的神經網絡圖像識別系統具有很強的抗干擾能力。
人工神經網絡(ANN);BP網絡;Python;圖像識別
人工神經網絡(Artif i cial Neural Networks)(簡稱ANN)系統誕生于20世紀40年代末,已有半個多世紀的發展,從一開始的簡單邏輯運算、推理,到現階段發展成具有復雜模式和記憶、聯想、推理、的功能,已成為解決某些傳統方法所無法解決的問題的有力工具。神經網絡所表現出的這些特點使它日益受到學者的重視,1986年,Romelhart和Mcclelland在傳統神經網絡的基礎上,提出了誤差反向傳播算法(Error Back Propagation Algorithm),簡稱BP算法,與神經網絡結合,發展成為機器學習的熱門方向。BP神經網絡包含了前向和反向兩個過程,線性變換和非線性激活函數兩個運算,運用激活函數的連續、可導特性,以逐次逼近的方式,迭代尋找最優解,并確定線性參數的范圍,最后達到識別、分類的功能。而圖像的識別正是分辨圖像邊緣,通常以梯度方向作為逼近方向,不斷調整速率,達到分類目的,因此BP神經網絡在圖像分類,模式識別方面有極大的應用價值。
在BP神經網絡中,輸入層和輸出層的節點個數都是確定的,如果用于分類,則節點激活函數一般選用S型函數或者可導函數,如果用BP網絡去逼近,則輸出層節點用線性函數,即 f(x)=x。
BP神經網絡在訓練數據時可以采用增量學習或者批量學習。從感如器的學習算法可知,不論哪種學習,目的都是在反向傳播過程中修改網絡節點中的權重系數,從而使誤差精度最小,一旦確定節點的線性權重系數,網絡就能多維向量客體對象正確識別、分類。當訓練結束時,誤差小于精度閾值,網絡中各個節點權重系數其實就是結點本身所提取的外部環境的變化特征,也就是說,權重系數是存儲了外部環境多特征映射模式。分布在節點的線性映射函數,結合激勵函數,從而具有實現任何復雜非線性映射的功能,這使得它特別適合于求解內部機制復雜的問題。
任意的有輸入端到輸出端的非線性映射,都可以交給對于含有一個隱含層的三層BP神經網絡實現。如果增加BP神經網絡隱含層的數量,可以降低誤差,提高精度,但同時也使BP網絡學習收斂時間變慢,使學習效率下降。因此更多的時候,提高誤差精度,是通過增加隱含層結點數來實現,而不是增減隱含層的層數。一般情況下,我們應優先考慮增加隱含層的結點數。
BP算法改進的主要目標是既能加快訓練速度和網絡收斂速率,又能使程序避免陷入局部極小值,常見的改進方法有帶動量因子算法、自適應學習速率、變化的學習速率以及作用函數后縮法等。動量因子法的基本思想是在誤差反向傳播的過程中,在每一個權值的變化上加上一項偏置,該項與權值變化的值成正比,從而在反向傳播過程中能運用梯度下降的方法使權重發生變化。而自適應學習速率的方法則是針對一些特定的問題的。改變學習速率的方法的原則是,在連續幾次迭代中,若目標函數對某個權倒數的符號相同,則這個權的學習速率增加,反之若符號相反則減小它的學習速率。而作用函數后縮法則是將作用函數進行平移,即加上一個常數。我們通常把網絡中的節點比擬成人腦神經元,如同人記實際事物一樣,BP神經網絡在樣本數據學習中,節點系數權值的改變就像是人腦神經元軸突與樹突連接閾值的改變,神經網絡會把權系數調整到最佳,從而使分類做到最好。作為一個整體結構,BP神經網絡按整個對象的特征向量來記憶圖像的,只要大多數特征值符合曾學習過的訓練樣本數據特征,就可識別為同一類別,所以當樣本存在較大噪聲時神經網絡分類器仍可正確識別。在圖像識別領域,只要將圖像的點矩陣向量作為神經網絡的輸入,經過網絡的計算,BP神經網絡就能輸出識別結果。
本實驗用python完成了對神經網絡的訓練和圖像識別模擬。從數據樣本庫中選擇0~9這十個數字的BMP格式的圖像,圖像分辨率為16×8像素,每個目標圖像分別加5%、15%、25%、35%、45%大小的隨機噪聲,共產生60個圖像樣本。將樣本分為兩個部分,一部分用于訓練,另一部分用于測試。實驗中用于訓練的樣本為40個,用于測試的樣本為20個。函數randn(m,n)負責產生隨機噪聲數據。
設置訓練參數

B為測試樣本向量集,128×20的點陣。D為網絡對訓練樣本的識別結果,A為測試樣本的網絡識別結果。實驗結果表明:網絡對訓練樣本和對測試樣本的識別率均為100%。
由實驗可知,運用BP神經網絡反向傳播算法識別圖像是切實可行的,由于數據集容量的關系,該實驗只是用Python進行了簡單的數字圖像識別,下一步的工作是在不增加網絡規模的情況下,識別復雜的目標圖像。
[1]焦李成著.神經網絡系統理論[M].西安:西安電子科技大學出版社,1990.
[2]黃德雙著.神經網絡模式識別系統理論[N].北京:電子工業出版社,1996.
[3]Demuth H d,Beale M.Neural network toolbox user’s guide Version 4.The Mathworks Inc,2001.
[4]許東,吳錚.基于Matlab6.X的系統分析與設計——神經網絡[M].西安:西安電子科技大學出版社,2002.
[5]顧陽,王慶林,許立新.基于Wiener濾波,K-L變換和BP網絡的數字識別[J].北京理工大學學報,2002,22(1):113-116.
[6]許延發,張敏.改進的BP算法在多目標識別中的應用[J].光學精密工程,2003,11(5):513-515.
高強,男,山東大學計算機科學與技術學院碩士,山東青年政治學院信息工程學院講師,研究領域包括數據庫、數據挖掘、大數據的分布式存儲等。