馬晨


摘要:智能交通系統廣泛應用在控制服務、制造車輛、道路交通等領域。而在智能交通系統中最關鍵的技術之一就是車牌字符識別技術。文中采用神經網絡技術來實現車牌字符識別。人工神經網絡,可較好的自組織自學習能力、較大規模并行處理、分布式信息存儲等。BP算法是人工神經網絡中的一種監督式的學習算法,是非線性變化單元構成的,并且非線性映射能力十分強,在理論上能逼近任意函數,可以依據實際情況設定網絡的學習系數、網絡的中間層數以及各層的處理單元等參數。
關鍵詞:車牌字符識別;MATLAB;神經網絡
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1007-9416(2017)09-0121-03
1 引言
智能交通系統將先進的信息技術、傳感器技術、數據傳輸通信技術、計算機技術以及電子控制技術等高效率地應用其中,覆蓋范圍廣、準確性高、實時性好。而圖像處理和模式識別技術也是現今研究熱點,在公共安全、交通管理及軍事部門有著極其重要的應用價值。車輛牌照識別技術,要求通過車牌提取、圖像預處理、特征提取、車牌字符識別等技術,辨別車輛牌號、顏色等信息,能夠將汽車牌照從復雜的背景中并且是在運動狀態中提取并識別出來。由于我國車牌種類繁多,拍攝時所處的環境條件各異,使得車牌字符識別的過程存在一定的困難。
典型的車牌自動識別主要由圖像采集、圖像預處理、圖像二值化、車牌定位、字符定位、字符分割、字符識別等部分組成,本文主要就字符識別技術進行研究,基于MATLAB數據處理平臺,采用BP神經網絡對漢字、字母、數字進行識別,最終實現車牌字符識別目標。
2 人工神經網絡
人工神經網絡[2](Artificial Neural Networks,簡寫為ANN)也簡稱為神經網絡(NN)或稱作連接模型,是一種高度模仿生物伸進網絡行為特點,能處理分布式并行信息的一種數學模型算法,一般分為生物的神經網絡和人工的神經網絡這兩類。在人臉識別,汽車的自動駕駛,光學字符識別(OCR)等很多實際問題中取得了驚人的成功。其工作原理是可根據系統復雜的程度來調整內部多數節點間互相接連的關系。人工神經網絡在順利工作之前要先按照事先規定好的一系列學習準則進行學習,一般來說人工神經網絡有兩種學習訓練的方法,一種是利用已經給好的樣本標準來模仿或是學習,被稱為有導師或者有監督的學習;還有一種就是光指定好某些規則或學習的方法,但是具體的內容要根據系統的所在環境的不同而改變,系統能憑借自身主動探索環境的規律和特點,這樣的訓練方法與人腦的功能更加相似,被稱為無導師或者無監督的學習。
3 BP神經網絡
3.1 BP神經網絡[3]概念
BP神經網絡是現在最普遍運用的一種神經網絡模型,它是能按照誤差反向傳播算法學習的一種多層前饋網絡。BP神經網絡不用提前準備敘述表示映射關系的數學方程式,它本身就能通過訓練兵儲存非常多的輸入—輸出的映射關系,能通過逆向傳播一直根據需要改變網絡的閾值和權值,因此網絡的誤差平方和就能達到最低,也即是BP神經網絡的訓練規則——梯度下降法[8]。
3.2 BP神經網絡[4]算法的計算過程
一個單層網絡和單元,含有的隱層為1。網絡共有6個單元,0用于表示閾值,1、2為輸入層,3、4為第一隱層,也是唯一隱層,5為輸出層單元。網絡接收兩個輸入,發送一個輸出。每個單元接收一組輸入,發送一個輸出。為權值,為當前層單元,為上一層單元,為下一層單元。為0時,權值為閾值。其具體計算過程如下:
(1)初始化。
選擇網絡拓撲結構。權值和閾值置為均勻分布的較小值。選擇學習因子。
(2)前向計算。
(4)權值修正。
設為上述過程的計算次數,那么權值修正公式為:
(5)判定計算是否完成。
令,取新樣本,返回第二步。對樣本集合中,每個樣本學習一次,稱為一個。BP神經網絡算法的完成標準:對樣本集合中,每個樣本學習一次、計算一次期望輸出和實際輸出的2-范數,并將其累計到累積范數,如下:
一個完成后,每個樣本都進行了一次學習,同時累積范數也計算完成。此時可對進行判定,如果小于可接受的最大誤差,那么計算完成。或者可對次數進行判定,如果大于可接受的最少次數,那么計算完成。
4 神經網絡算法的實現
4.1 神經網絡算法的設計思路
采用人工神經網絡應用于車牌字符識別的分類任務[5]時,需完成以下設計:
第一:輸入編碼,即待識別的圖像中的字符圖像,包括:漢字、數字、英文字母,并提取特征,可對圖像進行處理,分解出邊緣、區域等局部圖像特征,然后把這些特征作為ANN的輸入。
第二:圖像的重新采樣。特征向量編碼是圖像的高與寬像素的乘積,高維度特征也意味著大量的輸入權值,原始圖像將增加處理難度,為了降低處理復雜度、提高計算速度和識別率,需重新采樣圖像。
第三:數據歸一化[7]處理,目的是將輸入特征的個屬性縮放至一個統一的區間[0,1]內從而使各個屬性在分類中的具有相同的貢獻。
第四:輸出編碼。使用同類別數目n相等的輸出單元數目,每個輸出對應于1種類別標號,訓練時對于第i個輸出單元置一個高值,而其他單元置低值作為目標輸出,測試時取具有最高值的輸出單元編號作為網絡的預測值,這就是常說的n取1輸出編碼。
第五:確定隱藏層單元數目,由于在解一般問題時1個隱藏層就可以解決問題,因此設計過程中是分別采用1個、2個隱藏層,通過實驗發現,更多隱藏單元數目意味著更多的權值,在訓練時收斂更快。但是,隱藏層數目的增加在大大增加訓練時間時并不會顯著地提高泛化精度。
第六:網絡其他參數的設定,迭代次數epochs設置為5000,訓練模式采用的是RProp。endprint
4.2 神經網絡的車牌字符識別[6]的軟件設計
本文中,根據車牌上不同信息的特征,把分類器分為漢字網絡、英文字母網絡、數字和字母混合網絡這三種,該設計可以使計算時間大幅減少,是神經網絡結構的設計更加簡單,識別的準確率與效率也會大幅提高。以MATLAB R2010b 為實驗平臺,根據所研究的基于神經網絡的車牌字符識別方法,將流程圖設計如圖1。
5 實驗結果與分析
在MATLAB[1]測試環境下,其中一幅圖像的神經網絡車牌字符識別過程如圖2。
該圖像的字符識別結果如圖3。
實驗結果表明,隨著迭代次數的增加,訓練越來越接近目標所需要的數據,這就要求設置適當的參數才能滿足較好的要求。對于字符相近的情況,如“8”、“B”在識別的過程中有可能出現錯誤,也表明,神經網絡在小樣本的情況下,會影響字符識別率。神經網絡的優點是自學能力,隨著樣本不斷增加,識別率逐步提高,通過對樣本的識別和學習,調整網絡中的參數,從而達到優化網絡的效果。然而神經網絡也存在一定問題,在開始時必須對網絡進行訓練,在沒有初始訓練時,網絡無法進行識別,另外,訓練也增加了額外的識別時間,所以該方法的識別時間略長。
參考文獻
[1]劉衛國.MATLAB程序設計教程[M].北京:中國水利水電出版社,2010.10:100-120.
[2]郭榮艷,胡雪惠.BP神經網絡在車牌字符識別中的應用研究[J].計算仿真,2010,(09):72-75.
[3]劉濱.基于神經網絡的車牌字符識別研究[D].武漢大學,2004:10-12.
[4]梁曉龍.基于BP神經網絡的車牌字符識別算法研究[D].西安電子科技大學,2010:20-21.
[5]劉紅艷,高麗清,王連明.基于宇符組合特征及BP神經網絡的車牌漢宇識別田東北師大學報(自然科學版),2012,44(09):60-64.
[6]陳學保.車牌字符識別算法的研究[D].重慶大學,2013:7-9.
[7]蘇澤.基于彩色數字圖像的車牌識別系統的設計與實現[D].吉林大學,2014:11-13.
[8]王健.基于Matlab的車牌識別系統[D].吉林大學,2015:8-10.endprint