摘要:人臉識別技術是計算機模式識別研究領域的重要課題,有著非常廣泛的應用價值。而人臉識別的關鍵就是人臉的檢測與人臉特征的提取。該文利用BP神經網絡進行特征的提取和識別,提出了隱層神經元個數的選取原理,討論了網絡初始權值的設置原則等。并對BP算法進行了改進,提高了識別的正確率,減少了訓練時間和計算量。
關鍵詞:人臉識別;人臉檢測;神經網絡
中圖分類號:TP18文獻標識碼:A 文章編號:1009-3044(2011)04-0862-02
The Research and Improvement of the Face Recognition Method Based on the BP Neural Network
FANG Xu
(PLA Chongqing Communication College, Chongqing 400035, China)
Abstract: The recognition of human faces is an important subject in the area of the computer pattern recognition, which has a wide range of applications. And the key is face detection and feature extraction. In this paper, we use BP neural network for the feature extraction and recognition, the choosing principle of the number of hiding layer cells are proposed, the initial values setting principle are also discussed. And the BP algorithm is improved. It improves the precision, reduces the training time and the calculation.
Key words: face recognition; face detection; neural networks
近年來,在計算機視覺和模式識別領域中,對人臉識別系統的研究變得非常活躍。作為人類幾個重要外在鑒別特征之一,人臉識別對自動鑒別和人類自動分辨有著重要的意義。相對于指紋識別和虹膜識別來說,人臉識別有著其特殊性,即人臉圖象受其成象角度、光照條件等外界因素的影響較大,所以人臉識別起來難度也較大。
現階段的人臉自動識別系統包括兩個主要技術環節:一是人臉的檢測與定位,即判斷一幅圖像中是否有人臉。如果有,定位每張人臉具體位置。二是人臉特征的提取與識別。包括對人的眼睛,鼻子,嘴部區域的定位以及對人臉圖像輪廓線的提取。研究表明,用BP神經網絡進行特征的提取和識別,由于其良好的速度,識別率,容錯能力和并行計算能力,得到了廣泛的應用。
1 BP神經網絡
BP神經網絡是一種按反向傳輸算法(Back Propagation)訓練的多層前饋網絡,是目前應用最廣泛的神經網絡模型之一。它是一種能向著滿足給定的輸入輸出關系方向進行自組織的神經網絡。當輸出層上的實際輸出與給定的輸入不一致時,用最速下降法修正各層之間舊的結合強度,直到最終滿足給定的輸出輸入關系為止。由于誤差傳播的方向與信號傳播的方向正好相反而稱為誤差反向傳播神經網絡。
識別過程就是根據特征向量進行分類的過程,識別器實際上就是分類器。針對人臉圖像識別問題,選用BP網絡模型來設計分類器。理由如下:第一,人臉模式輸入向量的維數經過特征提取之后已經不是很高。第二,BP算法成熟簡單,可選擇的余地比較大。最后輸入樣本空間經過特征提取后其聚類性能已經有所改善,對BP算法進行適當改進,則會使得訓練時間不長。
2 BP算法
2.1 BP網絡的輸入與輸出
BP 網絡由輸入層,隱含層和輸出層構成,相鄰層之間用神經元權互聯,同一層內的神經元無連接。
對于輸入層來說,輸出與輸入相同,即Oi= Xj。隱含層和輸入層的輸入輸出關系特征為:
Netj = ∑WjiOi
Oj = f(Netj)
其中,Wji表示前一層的神經元i到本層的神經元j的連接權值,Oj為神經元j的輸出,Netj表示神經元j接收到的總輸入,在函數f的作用下產生輸出Oj,f常取sigmoid函數:f(x)=1/(1+e-x)
2.2 隱含層神經元數的選擇
通過輸入層與隱含層之間的連接權值的“自組織化”,隱含層起到對輸入模式進行特征提取的作用,然后將提取的特征傳給輸出層。隱含層神經元數目過少不能使得網絡建立復雜的判斷界,過多則使得學習時間過長,影響效率,所以采用如公式(1)求出隱含層神經元數:
(1)
其中m為輸出神經元數,n為輸入神經元數,a為1—10之間的常數。
2.3 BP網絡的學習算法
BP網絡的學習算法為:
1)初始化權值,每個權值的初始化值設置為為(0,1)之間的隨機數。
2)輸入訓練樣本及期望輸出值。
3)逐層計算各層的輸出。
4)從輸出層開始,調整權值,并反向傳播誤差值。
5)如果誤差小于設定的值,則算法結束。如果大于所設定的值,則轉向3, 繼續學習。網絡訓練結束達到穩定狀態后,保存網絡的連接權值,以用于后面的識別。
其中,學習速率決定每一次循環訓練中所產生的權值變化量。大的學習速率有可能會導致系統的不穩定,但是小的學習速率導致較長的訓練時間,可能收斂很慢,不過這樣能保證網絡的誤差值不跳出誤差表面低谷而趨于誤差最小值。所以一般情況下傾向于選擇較小的學習速率以保證系統的穩定性。學習速率的范圍是0.01-0.8。
3 BP算法的改進
雖然BP網絡得到了廣泛的應用,但是它并不是十分完美的網絡,主要包含以下一些缺陷:
1)由于學習速率是固定的,因此網絡的收斂速度慢,需要較長的訓練時間。而這種長時間和不確定的訓練過程,對于一個比較簡單的問題,有的時候需要幾百甚至上千次的學習才能收斂。對于復雜的問題,可能需要更長的時間來訓練這個網絡。
2)BP算法可以使權值收斂到某個值,不能保證收斂到全局最小值,容易陷入局部極小值。
3)網絡麻痹現象。在訓練過程中,加權調得較大時,可能迫使所有的或大部分節點的加權和輸出較大,從而工作在S型激發函數的飽和區,此時激發函數的導數處于非常小的區域。由于在計算權值修正量的公式中,各層誤差正比于激發函數的導數,當導數趨于0時,各層誤差趨向于0,相當于調節過程停滯。容易造成網絡達不到指定的誤差,訓練不出來 。
4)網絡隱含層的層數及每層的節點數的選取尚無理論上的指導,而是根據經驗 確定。因此,網絡往往有很大的冗余,無形中增加了網絡學習時間。
5)網絡的學習、記憶具有不穩定性。一個訓練結束的BP網絡,當給它提供新的記憶模式時,將使已有的連接權打亂,導致已經記憶的學習模式的信息消失。要避免這種現象,必須將原來的學習模式連同加入的新模式一起重新進行訓練,而且要求新加入的模式的特征數目與原模式特征數目相同。
為了擬制迭代過程的振蕩,可以在每次對連接權進行校正時,按一定比例加上前一次學習時的校正量,即增加附加動量項。這樣連接權變為:
Wij(N+1)=Wij(N)+ β*ejk*αik+η*ΔWij(N)
式中β為學習速率,η為動量因子,ΔWij(N)為第N次迭代時權值變化量。由上式可知,N+1次迭代時,權值的調整量與第N次迭代相關,由于樣本群的各樣本間相關性很強,前一個樣本的學習結果為下一個樣本所用,這樣可以加快收斂速度。
連接權校正量與中間層的輸出有關。因此,當中間層的輸出為0或1時,連接權校正量為0,不起校正作用。中間層的輸出是由S函數的輸出所決定的,由S函數的飽和非線性輸出特性可知,當其輸入小于或大于某一數值后,其輸出接近于0或1。因而在相當次數的學習過程中,真正的校正量很小,校正速度十分緩慢。為此,要限制S函數的輸出,當S函數的實際輸出小于0.01或大于0.99時,將其輸出值直接取為0.01或0.99。這樣保證了每次學習都能進行有效的校正,從而加快收斂速度,可以很大程度避免網絡的麻痹現象。
4 結論
人臉識別是一個困難的研究課題, 目前還處于探索階段。本文利用BP神經網絡學習能力強、分類能力強的優點, 實現了人臉特征提取和識別。雖然BP網絡在實際應用過程中存在一定的缺陷,但是對BP算法的改進則進一步加快了收斂速度,提高了識別的正確率。
參考文獻:
[1] 周志華,曹存根.神經網絡及其應用[M].北京:清華大學出版社,2004.
[2] Bledsoe W W.The Model Method in Facial Recognition[C].Tech. Rep. PRI:15,Panoramic Research Inc.,Palo Alto,CA,1964.
[3] Simon Haykin.神經網絡原理[M].北京:機械工業出版社,2004.
[4] 山世光.面部特征檢測與識別的研究與實現[D].哈爾濱:哈爾濱工業大學,1999.