摘 要:主要利用人工神經網絡的理論知識研究在圖像識別中的應用為目的,研究圖像識別中圖像分割的技術,同時詳細分析了多層前饋神經網絡的描述及 BP算法工作過程。介紹隱層的選擇及隱層神經元數選擇的一些經驗方法。針對BP算法存在的問題,提出加可變動量因子的 BP 算法,通過對網絡訓練過程參數調整以及增加可變動量因子等方面進行優化改進,實驗證明加快了訓練速度,改善了BP網絡的學習效果。
關鍵詞:人工神經網絡;BP神經網絡;圖像分割
中圖分類號:TP183文獻標識碼:A
文章編號:1004-373X(2008)08-127-04
Research on Image Recognition Based on Artificial Neural Network
LEI Jianfeng,SUN Junyi
(School of Computer,Hubei University of Technology,Wuhan,430068,China)
Abstract:By using the knowledge of artificial neural network,the application and image segmentation im image recognition are researched,the multilayer feedforward neural network and process of BP algorithm are analysed in a detail.Sorne methods of hidden tier and hidden tier neuron chosen are introduced.Aiming at Problems of BP,variable factor BP algorithm is proposed.By adjusting network training process parameter and optimizing variable factor,the experiment proves that training speed is incteased,study effect of BP network is improved.
Keywords:artificial neural network;BP neural network;image segmentation
1 前 言
如今在圖像識別的發展中,出現了幾類有代表性的理論和方法:
(1) 匹配的圖像識別方法;
(2) 句法圖像識別方法;
(3) 模糊圖像識別方法;
(4) 神經網絡圖像識別方法。
本文主要講述神經網絡在圖像識別中的應用與研究。由于人工神經網絡具有信息分布式存儲、大規模自適應并行處理、高度的容錯性等優點[1,2],特別是其學習能力和容錯性對處理圖像識別問題具有獨到之處。神經網絡目標識別,一般需要兩個過程:訓練過程和實際識別過程。在訓練過程通過有指導或無指導學習方式對大量有代表性樣本學習,把通過學習得到的經驗存儲在網絡結構中,學習完畢即找到一組合適的網絡連接權值。在識別過程中當把未知模式輸入到網絡中時能根據學習到的知識對未知模式進行判斷。對于網絡識別結果是否為目標或為何種目標,常用0,1組合的形式表示。當然有時也采用最大或最小準則,即當神經網絡輸出層中輸出最大(或最小)的節點對應的圖像屬性為輸入圖像的屬性。常用于識別的神經網絡有 BP神經網絡與 Kohonen 神經網絡,本文以BP神經網絡為研究對象。人工神經網絡進行目標識別的優勢在于通過對有代表性的樣本進行學習,能識別帶有噪聲或形變的輸入模式,能把識別處理和若干預處理融合成一體進行,此外經過學習后的神經網絡具有較高的容錯性、推理能力和魯棒性。圖1給出了神經網絡應用于圖像識別的一般模型。
圖1 神經網絡目標識別框圖
2 圖像識別技術
2.1 簡介
圖像技術在廣義上是各種與圖像有關的技術總稱,目前人們主要研究的是數字圖像,應用的是計算機圖像技術。圖像技術的內容非常豐富,根據抽象程度和研究方法等的不同可分為3個層次:圖像處理、圖像分析、圖像理解。他是一門系統地研究各種圖像理論、技術和應用的交叉學科,他與數學、物理學、生物學、電子學計算機科學等許多學科互相借鑒,他與模式識別、計算機視覺、計算機圖形學等多個學科互相交叉。另外圖像技術的研究與人工智能、神經網絡、遺傳算法、模糊邏輯等理論進一步密切聯系。
2.2 圖像處理、圖像分析與圖像理解的關系
圖像處理 [HTSS]圖像處理包括圖像編碼、圖像增強、圖像壓縮、圖像復原、圖像分割等。處理的目的,主要在于解決2個問題:一是判斷圖像中有無需要的信息;另一是確定這些信息是什么。
圖像識別 [HTSS]圖像識別是對上述處理后的圖像進行分類,確定類別名稱,他可在分割的基礎上選擇需要提取的特征,并對某些參數進行測量,再提取這些特征;最后根據測量結果作分類。所以圖像識別是在上述分割后的每個部分中,找出他的形狀及紋理等特征,即特征抽取(有時也包括圖像分割),以便對圖像進行分類,并對整個圖像做結構上的分析。
圖像理解 [HTSS]他是在圖像處理及圖像識別的基礎上,再根據分類作結構句法分析,去描述圖像和解釋圖像。因而圖像理解包括圖像處理、圖像識別和結構分析。對理解部分來說,輸入是圖像,輸出則是圖像的描述與解釋。
2.3 人工神經網絡
人工神經網絡(Artificial Neural Networks,ANN)并不是一個十分嚴格的概念,現在,人們傾向于把那些具有大量(或多個)簡單計算單元、單元之間具有廣泛的連接、且連接的強度(有時還包括單元的計算特性)可根據輸入輸出數據調節的算法或結構模型稱為一種人工神經網絡。不同的單元計算特性(神經元類型)、單元間的連接方式(網絡結構)和連接強度調節的規律(學習算法)形成了不同的人工神經網絡模型。從誕生至今僅短短半個多世紀,由于他具有信息的分布存儲、并行處理以及自學習能力等優點,已經在信息處理、模式識別、智能控制及系統建模等領域得到越來越廣泛的應用。尤其是基于誤差反向傳播(Error Back Propagation)算法的多層前饋網絡BP網絡(MultipleLayer Feedforward Network),可以以任意精度逼近任意的連續函數,所以廣泛應用于非線性建模、函數逼近、模式分類等方面。這里討論的是將要識別的目標物體用成像頭(紅外或可見光等)攝入后形成的圖像信號序列送入計算機,用神經網絡識別圖像的問題。
3 BP神經網絡
3.1 BP網絡算法
BP網絡是采用WidrowHoff學習算法和非線性可微轉移函數的多層網絡。一個典型的BP網絡采用的是梯度下降算法,也就是WidrowHoff算法所規定的。backpropagation就是指的為非線性多層網絡計算梯度的方法。
BP網絡結構算法描述:
(1) 初始化網絡參數;學習參數,如設置網絡初始權矩陣、學習因子等。
(2) 提供訓練模式,訓練網絡,直到滿足學習要求。
(3) 前向傳播過程:對給定訓練模式輸入,計算網絡的輸出模式,并與期望模式比較,若有誤差,則執行(4);否則,返回(2)。
(4) 后向傳播過程:計算同一層單元的誤差;修正權值和閾值;返(2)。
3.2 BP網絡隱層個數的選擇
對于含有一個隱層的三層BP網絡可以實現輸入到輸出的任何非線性映射。增加網絡隱層數可以降低誤差,提高精度,但同時也使網絡復雜化,增加網絡的訓練時間。誤差精度的提高也可以通過增加隱層結點數實現。一般情況下,應優先考慮增加隱含層的結點數。
3.3 隱含層神經元個數的選擇
當用神經網絡實現網絡映射時,隱含層神經元個數直接影響著神經網絡的學習能力和歸納能力。隱含層神經元數目較少時,網絡每次學習的時間較短,但有可能因為學習不足導致網絡無法記住全部學習內容;隱含層神經元數目較大時,學習能力增強,網絡每次學習的時間較長,網絡的存儲容量隨之變大,導致網絡對未知輸入的歸納能力下降,因為對隱含層神經元個數的選擇尚無理論上的指導,一般綜合考慮,憑經驗確定。
3.4 關于BP網絡優缺點的討論
多層前向BP網絡是目前應用最多的一種神經網絡形式,但他也不是非常完美,為了更好地理解應用神經網絡進行問題求解如下。
3.4.1 BP網絡優點
(1) 網絡實質上實現了一個從輸入到輸出的映射功能,數學理論證明他具有實現任何復雜非線性映射的功能,適合求解于內部機制復雜的問題。
(2) 網絡通過實例可自動提取合理的求解規則,即有自學能力。
(3) 具有推廣、概括能力。
3.4.2 BP網絡存在問題
(1) BP算法慢,前面曾提到BP算法是梯度下降法但他所要優化的目標函數是復雜的,所以出現鋸齒形現象,算法也就低效果。
(2) 存在麻痹現象,優化的目標函數復雜導致神經元輸出接近0或1時,出現平坦區,權值誤差改變小,使得過程顯得趨于停頓。
(3) 為了使網絡執行BP算法,不能用傳統的一維搜索法求每次迭代的步長,而必須把步長的更新規則預先賦予網絡,這樣將引起算法低效。
4 利用BP神經網絡進行圖像分割
圖像分割是一種經典的目標檢測技術,他依據圖像的灰度、顏色或幾何性質將圖像中具有特殊含義的不同區域區分開來,這些區域是互不相交的,每一個區域都滿足特定區域的一致性的要求,而任意兩個相鄰部分的合并都會破壞這種一致性[3]。比如對含有目標物體的圖像,不僅需要將圖像中屬于該物體的像素(或16物體特征像素點)從背景中分割出來,而且還要將屬于不同物體的像素點分離開。一般分割出來的區域應該同時滿足:
(1) 分割出來的圖像區域具有均勻性和連通性。其中,均勻性指的是該區域中的所有像素點都滿足基于灰度、紋理、色彩等特征的某種相似性準則;連通性是指該區域內存在連接任意兩點的路徑。
(2) 相鄰分割區域之間針對選定的某種差異具有顯著性。
(3) 分割區域邊界應該規整,同時保證邊緣的空間定位精度。
借助集合概念對圖像分割可給出如下比較正式的定義[4]:
令集合R代表整個圖像區域,對R的分割可看作將R分成N個滿足下列5個條件的非空子集(子區域)R1,R2,…,RN;
① ∪Ni=1Ri=R;
② 對所有的i和j,有Ri∩Rj=;(i≠j);
③ 對i=1,2,…,N,有P(Ri)=true;
④ 對i≠j,有P(Ri∪Rj)=1;
⑤ 對i=1,2,…,N,Ri是連通區域。
其中P(R)是對所有在集合R中元素的邏輯謂詞,代表空集。
傳統的圖像分割方法是基于R ,G,B閾值法來判斷該點是否為目標像素點。由于噪聲和背景的干擾,往往不能取得質量良好的目標圖像。利用BP網絡解決類似問題時,首先是對BP網絡進行訓練,然后將網絡應用于圖像分割。BP網絡在分割圖像時,本質上是將待處理圖像中的各點聚類為目標像素和非目標像素。正確聚類后去除非目標像素,從而得到目標圖像。
BP網絡的訓練過程就是修正各層神經元間的連接權系數的過程:輸入模式由輸入層節點直接傳送到隱藏層各節點上。在隱藏層,經過各單元的特性為S型函數轉換后,作為下一層的輸入信息。該信息經過同樣的轉換,一直進行前傳,直到從輸出層輸出響應信號。該過程可以描述如下[5]:
設一個具有Q層的BP人工神經網絡(Artificial NeuralNetwork,ANN),如圖2所示。其中第1層為輸入層,第Q層為輸出層,中間各層為隱藏層。又設第q(q=1,2,3,…,Q)層的節點個數為nq,第q層的第i個神經元與第q-1層各神經元連接的各連接權系數為ωij。那么節點i的輸入為:
xi(q)=∑nq-1j=1ωij(q)yj(q-1)(1)
設輸入輸出樣本的個數為P組,其中p=(1,2,3,…,P);x(0)p=\\[x(0)p1,x(0)p1,…,x(0)pn0\\]T為系統輸入激活樣本,dp=\\[ d(0)p1,d(0)p1,…,d(0)pnQ\\]T為系統輸出響應的目標值。輸出響應就與期望響應進行比較,得到誤差信號Ep ,該信號作為學習信號沿與前向路徑相反的方向回傳,同時逐層修改連接權系數,直到修正完所有層間的連接權系數,從而完成一個學習過程。即:
E=12∑PP=1∑nQi=1dpi-y(Q)pi2=∑PP=1EP(2)
那么:
EP=12∑PP=1di-y(Q)pi2(3)
權系數矩陣的修正是基于以下公式進行迭代的:
[WTHX]w[WTBX](q)ij(t+1)=[WTHX]w[WTBX](q)ij(t)+ηE[WTHX]w[WTBX]qij(4)
η為系統的“學習效率”;E為系統響應誤差。
圖2 BP人工神經網絡結構圖
5 前饋神經網絡的設計
5.1 BP算法的改進
從上面描述的BP算法的缺點中,可以知道BP算法不能夠快速收斂到全局最小。所以必須靠BP本身的優化和改進。以往對 BP 算法的改進多是對學習步長進行改進[610]。的確在實際應用中,步長η的選擇相當重要,η大則收斂快,但過大則可能引起不穩定;η小可避免振蕩,但收斂速度變慢,為解決這一矛盾,這里提出在權值修改公式中加入動量項,即權值公式改寫為:
Δ[WTHX]w[WTBX]ji(n)=aΔwji(n-1)+ηδj(n)yj(n)(5)
η=2λ(λ=δ(n-1)y(n-1)δ(n)y(n))(6)
式中第二項是常規BP算法的修正量,第一項稱為動量項。當順序加入訓練樣本時,上式可寫成以t為變量的時間序列,t由0到n,因此上式可看作是Δωji一階差分方程,對Δωji(n)求解,可得:
Δwji(n)=η∑nt=0an-1δj(t)y(t)
=-η∑an-1E(t)wji(t)(7)
當本次的E(t)wji(t)與前一次同符號時,其加權求和值增大,使Δωji(n)放大,從而在穩定調節時增加ω的調節速度;E(t)wji(t)前一次符號相反時,說明有一定振蕩,此時指數加權和結果使Δωji(n)減小,起到穩定作用。為了加快網絡學習速度,本文提出在學習過程中加入可變動量項,因為在訓練初期實際輸出與理論輸出差距較大,可使網絡權值調整范圍大一些,因此可使動量項系數α較大,隨著學習過程的進行實際輸出與理論輸出的差距變小,可使α 值減小。實際應用中α分階段取3個值,設E為理論輸出與實際輸出的均方差。則根據E的不同α可寫為如下形式:
a=0.9E≥1
a=0.51>E>0.5
a=0.2E≤0.5[JB)](8)
5.2 實驗仿真討論
本文選擇2類實際采集的圖像用來驗證方法有效性。圖像大小為128×128,每類共100 幅,圖像如圖3和圖4。
圖3 樣本1
圖4 樣本2
圖像中的目標存在尺度、角度、位置的變化,需要特別說明的是,圖像尺度變化時,最小不能小于整幅圖像的三分之一。這里使用的神經網絡為雙隱層網絡。這主要是從識別性能及收斂速度考慮。其中第1隱層和輸入特征向量維數相同,第2隱層采用m=n+o2+a,其中a為零。網絡結構如圖5所示。
圖5 識別網絡結構圖
以圖3中圖像的物體為目標,圖4中的物體為干擾目標,各取50幅為訓練樣本,其余各50幅為測試樣本。分2種情況訓練網絡,第一種情況用隨機函數產生的[-1,+1]之間的隨機數為初始權值,訓練算法采用普通的BP算法;第二種情況采用優化過的權值為初始權值,加可變動量因子的 BP 算法。當網絡收斂到0.005停止網絡訓練。實驗結果如圖6,圖7所示,從動態誤差與學習次數關系曲線可以看出,本文提出改進的BP算法有利于加快網絡的收斂。即改進的BP算法有利于加快圖像識別的速度。
圖6 普通BP算法
圖7 改進BP算法
6 結 語
由于人工神經網絡技術以其獨特的非線性、并行處理方式、自學習能力和強魯棒性的特點已經在圖像識別領域得到廣泛的應用。本文在已有的神經網絡識別理論基礎上,對基于神經網絡的圖像識別進行有益探索。利用BP神經網絡對圖像中某類或某幾類顏色進行聚類,可以獲得良好的圖像分割效果。同時應用BP神經網絡進行圖像識別時,就BP算法易使網絡陷入局部最小的缺陷,提出必須改進BP神經網絡算法,利用改進的BP神經網絡算法使網絡的訓練從一個相對接近全局最小的起始點開始訓練,并且在學習過程中加入可變動量因子,減少了網絡學習次數,加快了收斂速度。在實際工程應用中具有一定的實用價值。
參 考 文 獻
[1]Yuan C,Niemann H.Neural Networks for Appearancebased 3D Object Recognition[J].Neuro Computing,2003,51:249264.
[2]Miller M I.Conditional Mean Estimation via Jumpdiffusion Processes in Ultiple Target Tracking/Recognition[J].IEEE Transactions on Signal Processing,1995,43(11):2 6782 690.
[3]王新成.高級圖像處理技術[M].北京:中國科學技術出版社,2001.
[4]宋錦萍,職占江.圖像分割方法研究\\[J\\].現代電子技術,2006,28(6):5960.
[5]袁曾任.人工神經元網絡及其應用\\[M\\].北京:清華大學出版社,1999.
[6]飛思科技產品研發中心.神經網絡理論與 Matlab 7 實現[M].北京:電子工業出版社,2005.
[7]Raffaele Parisi.A Generalized Learning Paradigm Exploiting the Structure of Feedforward Neural Networks[J].IEEE Transactions on Neural Networks,1996,7(6):1 4501 459.
[8]Hu Xiao,Guo Anchen.Efficient Backpropagetion Learning Using Optimal Learning Rate and Momentum[J].Neural Networks,1997,10(3):517527.
[9]穆文全.基于遺傳算法和 BP 算法的多層感知機雜交訓練算法[J].電子科學學刊,1997,19(2):190194.
[10]John J,Mckeown.Some Numerical Aspects of the Training Networks[J].Proceedings IEEE,1996,84(10):1 5621 568.[HJ0]
作者簡介
雷建鋒 男,1975年出生,山西大同人,在讀碩士。主要研究方向為計算機控制。
孫俊逸 男,1947年出生,湖北武漢人,教授,博士。主要研究方向為計算機控制。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文