摘 要: 在車牌定位上,,針對(duì)當(dāng)前實(shí)際中存在的一些困難,,結(jié)合先驗(yàn)知識(shí),提出了一種Hough變換多線檢測(cè)的由粗到精的定位算法,。在字符分割中,,通過(guò)合理改進(jìn),使投影法的準(zhǔn)確性進(jìn)一步得到提升,。并在大量實(shí)驗(yàn)的基礎(chǔ)上,,將BP神經(jīng)網(wǎng)絡(luò)反復(fù)修正,使得系統(tǒng)理論識(shí)別率達(dá)到了91.00%,,結(jié)果表明此方法是行之有效的,。
??? 關(guān)鍵詞: 先驗(yàn)知識(shí);Hough變換,;車牌識(shí)別,;多線檢測(cè);投影法,;BP
?
?? 隨著交通管理系統(tǒng)的日趨現(xiàn)代化,,車牌自動(dòng)識(shí)別系統(tǒng)成為智能交通系統(tǒng)的重要組成部分。通過(guò)對(duì)當(dāng)前車牌識(shí)別的基本原理和主要方法的研究,,分析比較各種識(shí)別方法的優(yōu)缺點(diǎn),,針對(duì)車牌定位、字符分割和字符識(shí)別,,本文提出一套實(shí)用可靠的算法,。
??? 車牌定位作為整個(gè)算法步驟的第一步,定位錯(cuò)誤將直接導(dǎo)致最終識(shí)別錯(cuò)誤,,定位不精確將提升分割難度,。實(shí)際中不同車牌圖像在拍攝距離和角度、拍攝手法,、光照強(qiáng)弱等方面不盡相同,,有時(shí)甚至差異很大,,使得一些傳統(tǒng)方法在圖像群品質(zhì)的差異存在較大跨度下其定位準(zhǔn)確率低下,缺失普遍性,。其中,,利用水平灰度跳變特征的分步驟法即先粗略定位再精確定位是相對(duì)比較穩(wěn)定的一種方法,但其缺點(diǎn)也很明顯,,就是精確定位不夠精,。為了改善這種情況,本文嘗試性地提出了一種利用Hough變換多線檢測(cè)實(shí)現(xiàn)精確定位的方法,, 同時(shí)結(jié)合先驗(yàn)知識(shí),,改進(jìn)了水平搜索方式,有效地提升了車牌定位精準(zhǔn)率,,使得這一算法具有較強(qiáng)的適應(yīng)性,,并且速度快、魯棒性好,。
在字符分割中,,得益于定位的良好效果,通過(guò)合理地二值化與濾波處理,,提出了一種改進(jìn)的投影法,。該算法克服了車牌群光照變化跨度大以及邊框、鉚釘?shù)瘸R娨蛩馗蓴_,,使投影法字符分割的準(zhǔn)確率得到了一定的提升,。
車牌字符識(shí)別是車牌識(shí)別系統(tǒng)的核心部分,本文構(gòu)造了BP神經(jīng)網(wǎng)絡(luò)進(jìn)行車牌識(shí)別,。通過(guò)反復(fù)修正各個(gè)參數(shù)使該識(shí)別算法快速準(zhǔn)確,,并且具有良好的穩(wěn)定性,能滿足車牌實(shí)時(shí)識(shí)別的要求,。
1 車牌定位
1.1 圖像預(yù)處理
(1)尺寸歸一化:車牌圖像的尺寸對(duì)算法中相關(guān)閾值的選取有較大影響,。本系統(tǒng)中車牌圖像尺寸均已歸一化到400×300像素。
? (2)圖像平滑:為了更好地提取水平灰度跳變特征(與算法有關(guān)),,有必要先對(duì)圖像進(jìn)行水平平滑處理,。實(shí)驗(yàn)表明,使用[1/2 1/2]這樣一種掩膜的效果最好,。
1.2 算法
(1)特征提取[1]:提取水平灰度跳變特征,。對(duì)經(jīng)過(guò)了水平平滑的灰度圖像,選取適當(dāng)閾值T,,將每一行各像素與其前一像素比較,,若灰度差絕對(duì)值超過(guò)T,則記為1,否則記為0,,從而完成對(duì)灰度圖像進(jìn)行水平方向灰度跳變特征的提取。實(shí)驗(yàn)證明,,此方法與傳統(tǒng)邊緣檢測(cè)相比,,特征提取效果更顯著、噪音更小,。以水平方向?yàn)閷?duì)象是因?yàn)檐嚺圃谒椒较蜉^垂直方向灰度跳變特征更為明顯,。
??? (2)水平方向粗定位:對(duì)由(1)生成的二值圖像,結(jié)合先驗(yàn)知識(shí),,即圖像中車牌位置以下的部分與車牌以上的部分相比干擾要小很多,,采取由下至上的行搜索方法。當(dāng)某1行的1個(gè)值個(gè)數(shù)與整行像素之比值大于一定閾值時(shí),,便記下行位置x1,,繼續(xù)逐行上移搜索,當(dāng)比值小于閾值時(shí)記下行位置x2,,x1與x2形成坐標(biāo)對(duì),若x1與x2距離超過(guò)較小的高度(以400×300為例,,車牌高度應(yīng)大于10,,所以選擇10)時(shí),,即確定其為車牌水平方向切割位置(為了防止少切,分別對(duì)x1和x2進(jìn)行向下和向上的適當(dāng)延伸),;否則,排除此x1和x2,,并繼續(xù)向上搜索尋找x1,、x2坐標(biāo)對(duì),,直到確定x1,、x2為止,,并對(duì)二值圖像切割,。為了增強(qiáng)穩(wěn)定性,,可以用雙行比值代替單行比值,此時(shí)應(yīng)縮小判定閾值,。
(3)垂直方向粗定位[2]:設(shè)由(2)切割出來(lái)的圖像為A,,對(duì)A進(jìn)行除噪處理后,,先用1個(gè)與A等高度,、寬度與高度相同的矩形框體B對(duì)A從左至右遍歷搜索[3],,若B中1值像素之和與B中全部像素之比大于一定閾值時(shí),,記錄此時(shí)列位置為y1,,然后用同樣方式從右之左搜索,,獲得列位置y2。用y1與y2對(duì)A切割,,完成垂直方向的粗定位。
(4)精確定位:在以往的車牌識(shí)別方法中,,Hough變換線檢測(cè)一般只用于車牌矯正,,實(shí)際上Hough變換線檢測(cè)更可用來(lái)做車牌定位。本文中將利用此對(duì)車牌做最后的精確定位,。
??? Hough變換提取直線的原理[4]:
??? 對(duì)于圖像空間中的任意一點(diǎn)(x0,,y0),,將其變換為參數(shù)空間(θ,,r)中的1條曲線r=x0 cos θ+y0 sinθ,,對(duì)位于同一直線l上的n個(gè)點(diǎn)逐一進(jìn)行上述變換,,則在參數(shù)空間(θ,,r)中對(duì)應(yīng)得到n條曲線,,由變換公式可知,這n條曲線必定經(jīng)過(guò) 同一點(diǎn)(θ0,,r0)。找到參數(shù)空間中的這個(gè)點(diǎn)就知道了圖像空間中的對(duì)應(yīng)直線l,,因此,,Hough變換可以用來(lái)在二值圖像中檢測(cè)直線,。
??? 設(shè)由算法(3)粗切割得到的圖像為C,利用Hough變換對(duì)C進(jìn)行多條直線檢測(cè)(至少10條以上),。取直線中端點(diǎn)行坐標(biāo)最小值和最大值分別為車牌上下邊界精定位值,取直線左端點(diǎn)列坐標(biāo)平均值或中值為車牌左邊界精定位值,,取直線右端點(diǎn)列坐標(biāo)平均值或中值為車牌右邊界精定位值(經(jīng)過(guò)反復(fù)實(shí)驗(yàn)論證,,使用平均值時(shí)穩(wěn)定性優(yōu)于使用中值),。由此確定的車牌定位結(jié)果為最終定位結(jié)果,。
??? 圖1~圖7是選取了3幅不同方位角度車牌圖像的詳細(xì)定位過(guò)程,。從圖2可以看出,圖像中車牌位置以下的信息干擾明顯比以上部分的干擾弱小,,這是因?yàn)檐嚺频南路街饕锹访姹尘埃嚺频纳戏絽s包含了車燈,、中網(wǎng)等敏感信息。由下至上的搜索法充分地利用了這一特征,。同時(shí)由于車牌多處在圖像下半部,從而也減少了搜索時(shí)間,。用多直線檢測(cè),,精確度高,,魯棒性好,。
?
2 字符分割
字符分割之前,有必要對(duì)傾斜的車牌進(jìn)行校正,。用Hough變換進(jìn)行傾斜角檢測(cè)是一種常用的有效途徑。
由于實(shí)現(xiàn)了車牌定位,,可以用全局閾值法對(duì)定位結(jié)果圖像重新二值化,,以得到更理想的二值圖像。圖8是用Otsu法[5]得到的二值圖,。
字符切割最常用的方法是投影法,。如果二值化后車牌圖像的字符中粘連和斷裂情況不那么嚴(yán)重,只需要垂直投影就可以很好地完成字符切割的任務(wù),。但是水平邊框,、鉚釘有時(shí)會(huì)把一些“谷”填平,使得難以精確確定分割點(diǎn),。盡管如此,,垂直投影仍然是字符分割中的一個(gè)非常重要的方法。本文對(duì)垂直投影法加以改進(jìn),,基本上克服了邊框和鉚釘帶來(lái)的影響,。
對(duì)于二值化后可能存在的水平邊框干擾如圖8(a)所示(垂直邊框?qū)Υ怪蓖队胺](méi)有影響),,根據(jù)先驗(yàn)知識(shí):不管車牌整體的大小如何,單個(gè)字符的寬度不會(huì)超過(guò)整個(gè)圖像寬度的1/8,。因而可將寬度超過(guò)1/8或更多一點(diǎn)的白線像素置0,。這樣既去除了大部分干擾又無(wú)字符信息的丟失。
??? 下面將進(jìn)行校正,。選取圖9每1列如圖10所示的最下方的1值像素,,經(jīng)過(guò)Hough變換后如圖11所示的可檢測(cè)到邊緣直線,此直線傾角(即車牌傾角θ)根據(jù)公式:
對(duì)圖9進(jìn)行坐標(biāo)轉(zhuǎn)換便實(shí)現(xiàn)了車牌傾斜校正,,如圖12所示,。其中x0、y0為原坐標(biāo),,x,、y為轉(zhuǎn)換后坐標(biāo)。
??? 對(duì)矯正后的車牌采用垂直投影法進(jìn)行字符分割,,結(jié)果如圖13所示,。
?
??? 圖13(a)中有2個(gè)連續(xù)的“0”字符粘連在一起,未能被分離,,原因是鉚釘剛好處在它們中間的位置,。用圖像處理的手段消除鉚釘而又不影響字符信息其難度很大。對(duì)于這種情況,,針對(duì)性的解決辦法是直接將包含2個(gè)字符的分割板塊對(duì)等中切,。1個(gè)字符的寬度不會(huì)超過(guò)整塊車牌寬度的1/5,連續(xù)2個(gè)字符的寬度肯定超過(guò)整塊車牌寬度的1/5,,根據(jù)此先驗(yàn)知識(shí),,以寬度大于車牌1/5且小于車牌2/5為條件,可以方便地確定是否存在粘連塊,。圖13(b)與圖13(c)沒(méi)有受到鉚釘干擾,,因而能1次性分割成功。圖14是將粘連板塊對(duì)等中切后的結(jié)果,。
?
3 字符識(shí)別
??? 在分類器的選取上,,既要求其要有良好的容錯(cuò),又要求其具有良好的自適應(yīng)的能力,。神經(jīng)網(wǎng)絡(luò)具有與人腦相似的高度并行性,、良好的容錯(cuò)性和聯(lián)想記憶功能、自適應(yīng),、自學(xué)習(xí)能力和容錯(cuò)等特點(diǎn),,特別是以改進(jìn)型BP網(wǎng)絡(luò)為代表的神經(jīng)網(wǎng)絡(luò)具有良好的自學(xué)習(xí)能力、強(qiáng)大的分類能力,、容錯(cuò)能力或魯棒性,,可以實(shí)現(xiàn)輸入到輸出的非線性映射,。因此本文選擇BP神經(jīng)網(wǎng)絡(luò)作為字符進(jìn)行分類、識(shí)別的主要方法,。
3.1 字符預(yù)處理
對(duì)切割出來(lái)的車牌字符很有必要進(jìn)行預(yù)處理,,預(yù)處理包括:
??? (1)大小歸一化
??? 為了便于訓(xùn)練和識(shí)別,需要對(duì)字符圖像進(jìn)行規(guī)范化處理,,使它們變成統(tǒng)一尺寸的圖像,,本文中將字符片段歸一化為24×14大小。
??? (2)特征提取
??? 即由歸一化得到的字符確定網(wǎng)絡(luò)輸入向量,。本文是將24×14網(wǎng)格轉(zhuǎn)換為單一向量輸入,。
3.2 BP神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)
??? 大多數(shù)實(shí)際的神經(jīng)網(wǎng)絡(luò)只需要2~3層神經(jīng)元[6],本文設(shè)計(jì)的BP神經(jīng)網(wǎng)絡(luò)包含2個(gè)隱含層,。對(duì)于神經(jīng)網(wǎng)絡(luò)中隱含層節(jié)點(diǎn)數(shù)目的確定,,沒(méi)有一個(gè)固定的規(guī)律可遵循。本文中對(duì)隱含層內(nèi)節(jié)點(diǎn)數(shù)的確定,,是以找到1個(gè)經(jīng)過(guò)樣本訓(xùn)練后,,其網(wǎng)絡(luò)輸出與實(shí)際結(jié)果最近似的網(wǎng)絡(luò),這是一個(gè)搜索的過(guò)程,。參考相關(guān)隱含層確定的準(zhǔn)則[7],,通過(guò)逐個(gè)比試最終確定,第1個(gè)隱含層節(jié)點(diǎn)數(shù)為15個(gè),,第2個(gè)隱含層節(jié)點(diǎn)數(shù)為10個(gè),學(xué)習(xí)速度為0.01,。
??? 實(shí)驗(yàn)中選取了300幅實(shí)際的車牌,。這些車牌圖像的大小和拍攝的角度有所不同,有些車牌圖像比較清楚,,有些則有缺陷,。然后在Matlab7.0環(huán)境下對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練樣本由200個(gè)車牌的1 400個(gè)字符組成,。剩下的100幅車牌圖像用于識(shí)別試驗(yàn),。試驗(yàn)結(jié)果:正確識(shí)別91幅,誤識(shí)6幅,,不能識(shí)別3幅,,平均識(shí)別速率0.94 s/幅。在實(shí)驗(yàn)過(guò)程中數(shù)字識(shí)別率最高,,字母次之,,漢字識(shí)別率最低。
??? 本文系統(tǒng)地研究了一套車牌識(shí)別算法,,包含了車牌定位,、字符分割,、字符識(shí)別3個(gè)環(huán)節(jié)。其前后銜接緊密,,互補(bǔ)性好,,整體準(zhǔn)確性高,穩(wěn)定性好,,具有較強(qiáng)的實(shí)用性,。但仍存在一些問(wèn)題需要進(jìn)一步改進(jìn),如車牌定位時(shí),,距離伸縮性不夠,,字符傾斜校正存在一些失真,字符特征提取還需要更有效的方法,。
參考文獻(xiàn)
[1] 劉麗新,,劉京剛.行掃描進(jìn)行車牌上下邊界定位的研究[J].儀器儀表學(xué)報(bào),2005,,26(8).
[2] 洪健,,陳繼榮.基于修正思想的車牌圖像定位與二值化處理[J].計(jì)算機(jī)工程,2007,,33(8).
[3] HUANG R,, TAWFIK H, NAGAR A K. Clonal selection for licence plate character recognition[C]. In:Applications and Innovations in Intelligent Systems XV,, London,,UK,2007:309-314.
[4] 王國(guó)宏.Hough變換及其在信息處理中的應(yīng)用[M].北京:兵器工業(yè)出版社,,2005.
[5] 張?jiān)苿?,張長(zhǎng)水.利用Hough變換和先驗(yàn)知識(shí)的車牌字符分割算法[J].計(jì)算機(jī)學(xué)報(bào),2004,,27(1).
[6] HAGAN M T,, DEMUTH H B, BEALE M H.神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,,2002.
[7] 高大文,,王鵬.人工神經(jīng)網(wǎng)絡(luò)中隱含層節(jié)點(diǎn)與訓(xùn)練次數(shù)的優(yōu)化[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2003,,35(2):207-209.