王劍雄 王玉蘭
(河北建筑工程學(xué)院,河北 張家口 075000)
目前,一些發(fā)達(dá)國家已經(jīng)將車牌識別技術(shù)應(yīng)用在停車收費系統(tǒng)和交通監(jiān)控系統(tǒng)的實際系統(tǒng)中,在全天候的條件下識別精度超過95%;國內(nèi)車牌識別技術(shù)發(fā)展較慢,雖然取得了一些成果,但仍停留在實驗驗證階段,目前的實驗室識別精度為90%,而在全天候條件下識別精度低于85%,遠(yuǎn)遠(yuǎn)低于實際應(yīng)用的要求.目前,車牌識別主要有以下幾種識別方法:模板匹配法、特征統(tǒng)計匹配法和神經(jīng)網(wǎng)絡(luò)識別法.模板匹配法對規(guī)整字符的識別率比較高,但在字符變形等情況下,識別能力有限;特征統(tǒng)計匹配法在實際應(yīng)用中,當(dāng)字符出現(xiàn)缺失、模糊時,識別效果不理想;神經(jīng)網(wǎng)絡(luò)識別能有效識別解析度較高的車牌,具有強大的分類能力、容錯性和魯棒性,汽車牌照中的字符識別很多都是采用神經(jīng)網(wǎng)絡(luò)來實現(xiàn),其中BP神經(jīng)網(wǎng)絡(luò)是應(yīng)用最為廣泛的網(wǎng)絡(luò)算法[1].
由于BP神經(jīng)網(wǎng)絡(luò)算法自身存在一些不足,如收斂速度慢、局部最優(yōu)、難以確定隱含層節(jié)點數(shù)和訓(xùn)練過程中常發(fā)生振蕩等.針對以上情況,本文在動量因子的選取、學(xué)習(xí)速率的改進(jìn)和網(wǎng)絡(luò)權(quán)值的修改等方面做了一定的改進(jìn),有效避免網(wǎng)絡(luò)可能陷入局部最小值,并且能自適應(yīng)調(diào)整學(xué)習(xí)速率,加快收斂速度,防止振蕩現(xiàn)象發(fā)生.
車牌識別系統(tǒng)主要包括視頻輸入、圖像的預(yù)處理、車牌粗定位、車牌精確定位、字符分割、字符識別等幾個部分.由于在自然的環(huán)境下采集到車輛的圖像質(zhì)量并不是很好,所以必須先對圖像進(jìn)行去噪、邊界增強等一系列的圖像預(yù)處理.在車牌定位過程中,可能對車牌角度進(jìn)行一定的旋轉(zhuǎn),使得它的位置平行于X軸,最后對它的位置與大小進(jìn)行歸一化處理.定位出車牌的位置后,就要對車牌進(jìn)行字符分割了,把車牌區(qū)域中的所有字符分割出來,然后對分割出來字符進(jìn)行識別,最后把識別出的字符交給決策和管理算法.本文主要闡述如何改進(jìn)BP算法,以便更好地識別字符.
BP網(wǎng)絡(luò)模型處理信息的基本原理是:輸入信號Xi通過中間節(jié)點(隱層點)作用于輸出節(jié)點,經(jīng)過非線形變換,產(chǎn)生輸出信號Yk,網(wǎng)絡(luò)訓(xùn)練的每個樣本包括輸入向量X和期望輸出量t,網(wǎng)絡(luò)輸出值Y與期望輸出值t之間的偏差,通過調(diào)整輸入節(jié)點與隱層節(jié)點的權(quán)值Wij和隱層節(jié)點與輸出節(jié)點之間的權(quán)值Tjk以及閾值,使誤差沿梯度方向下降,經(jīng)過反復(fù)學(xué)習(xí)訓(xùn)練,確定與最小誤差相對應(yīng)的網(wǎng)絡(luò)參數(shù)(權(quán)值和閾值),訓(xùn)練即告停止[2].BP網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示:
圖1 BP網(wǎng)絡(luò)結(jié)構(gòu)
BP網(wǎng)絡(luò)模型包括其輸入輸出模型、作用函數(shù)模型、誤差計算模型和自學(xué)習(xí)模型.隱層節(jié)點輸出模型如公式(1),輸出節(jié)點輸出模型如公式(2)
Oj=f(∑Wij×Xi-qj)
(1)
Yk=f(∑Tjk×Oj-qk)
(2)
其中f-非線形作用函數(shù);q-神經(jīng)單元閾值.
作用函數(shù)是反映下層輸入對上層節(jié)點刺激脈沖強度的函數(shù)又稱刺激函數(shù),一般取值(0,1),作用函數(shù)模型公式如(3)
f(x)=1/(1+e-x)
(3)
誤差計算模型是反映神經(jīng)網(wǎng)絡(luò)期望輸出與計算輸出之間誤差大小的函數(shù),如公式(4):
Ep=1/2×∑(tpi-Opi)2
(4)
tpi節(jié)點的期望輸出值;Opi節(jié)點計算輸出值.
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程,即連接下層節(jié)點和上層節(jié)點之間的權(quán)重矩陣Wij的設(shè)定和誤差修正過程,學(xué)習(xí)模型如公式(5)
△Wij(n+1)=h×Фi×Oj+a×△Wij(n)
(5)
h-學(xué)習(xí)因子;Фi-輸出節(jié)點i的計算誤差;Oj-輸出節(jié)點j的計算輸出;a-動量因子.
(1)學(xué)習(xí)因子h優(yōu)化公式如(6),采用變步長法根據(jù)輸出誤差大小自動調(diào)整學(xué)習(xí)因子,來減少迭代次數(shù)和加快收斂速度,a為調(diào)整步長,在0~1之間取值.
h=h+a×(Ep(n)-Ep(n-1))/Ep(n)
(6)
(2)隱層節(jié)點數(shù)的多少對網(wǎng)絡(luò)性能的影響較大,當(dāng)隱層節(jié)點數(shù)太多時,會導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)時間過長,甚至不能收斂;而當(dāng)隱節(jié)點數(shù)過小時,網(wǎng)絡(luò)的容錯能力差.利用逐步回歸分析法并進(jìn)行參數(shù)的顯著性檢驗來動態(tài)刪除一些線形相關(guān)的隱節(jié)點,當(dāng)由該節(jié)點出發(fā)指向下一層節(jié)點的所有權(quán)值和閾值均落于某個區(qū)域中(通常取±0.1、±0.05等區(qū)間),則該節(jié)點可刪除.最佳隱節(jié)點數(shù)L可參考公式(7):
L=(m+n)1/2+c
(7)
m-輸入節(jié)點數(shù);n-輸出節(jié)點數(shù);c-介于1~10的常數(shù).
(3)利用多元回歸分析法對神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù)和輸出參數(shù)進(jìn)行處理,刪除相關(guān)性強的輸入和輸出參數(shù),來減少輸入和輸出節(jié)點數(shù).本文字符歸一化成32×16大小,輸出只有10個數(shù)字,26個字符,34個漢字,故輸入層節(jié)點個數(shù)為512,輸出層結(jié)點個數(shù)是70.
(4)算法優(yōu)化.由于BP算法采用的是剃度下降法,因而易陷于局部最小并且訓(xùn)練時間較長.用基于生物免疫機制既能全局搜索又能避免未成熟收斂的免疫遺傳算法IGA取代傳統(tǒng)BP算法來克服此缺點[3].
在該神經(jīng)網(wǎng)絡(luò)算法投運前,從道路拍攝到大量車牌數(shù)據(jù),包括正常運行的、不正常運行的,作為其訓(xùn)練內(nèi)容,以一定的輸入和期望的輸出通過BP算法去不斷修改網(wǎng)絡(luò)的權(quán)值.在投運后,也可根據(jù)現(xiàn)場的特定情況進(jìn)行現(xiàn)場學(xué)習(xí),以擴充ANN內(nèi)存知識量.