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