《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 一種利用Hough變換和先驗知識的車牌識別新方法

一種利用Hough變換和先驗知識的車牌識別新方法

2009-10-14
作者:林 俊,楊 峰,林 凱

  摘 要:車牌定位上,針對當前實際中存在的一些困難,結(jié)合先驗知識,提出了一種Hough變換多線檢測的由粗到精的定位算法。在字符分割中,通過合理改進,使投影法的準確性進一步得到提升。并在大量實驗的基礎(chǔ)上,將BP神經(jīng)網(wǎng)絡(luò)反復(fù)修正,使得系統(tǒng)理論識別率達到了91.00%,結(jié)果表明此方法是行之有效的。
??? 關(guān)鍵詞: 先驗知識;Hough變換;車牌識別;多線檢測;投影法;BP

?

?? 隨著交通管理系統(tǒng)的日趨現(xiàn)代化,車牌自動識別系統(tǒng)成為智能交通系統(tǒng)的重要組成部分。通過對當前車牌識別的基本原理和主要方法的研究,分析比較各種識別方法的優(yōu)缺點,針對車牌定位、字符分割和字符識別,本文提出一套實用可靠的算法。
??? 車牌定位作為整個算法步驟的第一步,定位錯誤將直接導(dǎo)致最終識別錯誤,定位不精確將提升分割難度。實際中不同車牌圖像在拍攝距離和角度、拍攝手法、光照強弱等方面不盡相同,有時甚至差異很大,使得一些傳統(tǒng)方法在圖像群品質(zhì)的差異存在較大跨度下其定位準確率低下,缺失普遍性。其中,利用水平灰度跳變特征的分步驟法即先粗略定位再精確定位是相對比較穩(wěn)定的一種方法,但其缺點也很明顯,就是精確定位不夠精。為了改善這種情況,本文嘗試性地提出了一種利用Hough變換多線檢測實現(xiàn)精確定位的方法, 同時結(jié)合先驗知識,改進了水平搜索方式,有效地提升了車牌定位精準率,使得這一算法具有較強的適應(yīng)性,并且速度快、魯棒性好。
  在字符分割中,得益于定位的良好效果,通過合理地二值化與濾波處理,提出了一種改進的投影法。該算法克服了車牌群光照變化跨度大以及邊框、鉚釘?shù)瘸R娨蛩馗蓴_,使投影法字符分割的準確率得到了一定的提升。
  車牌字符識別是車牌識別系統(tǒng)的核心部分,本文構(gòu)造了BP神經(jīng)網(wǎng)絡(luò)進行車牌識別。通過反復(fù)修正各個參數(shù)使該識別算法快速準確,并且具有良好的穩(wěn)定性,能滿足車牌實時識別的要求。
1 車牌定位
1.1 圖像預(yù)處理

  (1)尺寸歸一化:車牌圖像的尺寸對算法中相關(guān)閾值的選取有較大影響。本系統(tǒng)中車牌圖像尺寸均已歸一化到400×300像素。
?  (2)圖像平滑:為了更好地提取水平灰度跳變特征(與算法有關(guān)),有必要先對圖像進行水平平滑處理。實驗表明,使用[1/2 1/2]這樣一種掩膜的效果最好。
1.2 算法
  (1)特征提取[1]:提取水平灰度跳變特征。對經(jīng)過了水平平滑的灰度圖像,選取適當閾值T,將每一行各像素與其前一像素比較,若灰度差絕對值超過T,則記為1,否則記為0,從而完成對灰度圖像進行水平方向灰度跳變特征的提取。實驗證明,此方法與傳統(tǒng)邊緣檢測相比,特征提取效果更顯著、噪音更小。以水平方向為對象是因為車牌在水平方向較垂直方向灰度跳變特征更為明顯。
??? (2)水平方向粗定位:對由(1)生成的二值圖像,結(jié)合先驗知識,即圖像中車牌位置以下的部分與車牌以上的部分相比干擾要小很多,采取由下至上的行搜索方法。當某1行的1個值個數(shù)與整行像素之比值大于一定閾值時,便記下行位置x1,繼續(xù)逐行上移搜索,當比值小于閾值時記下行位置x2,x1與x2形成坐標對,若x1與x2距離超過較小的高度(以400×300為例,車牌高度應(yīng)大于10,所以選擇10)時,即確定其為車牌水平方向切割位置(為了防止少切,分別對x1和x2進行向下和向上的適當延伸);否則,排除此x1和x2,并繼續(xù)向上搜索尋找x1、x2坐標對,直到確定x1、x2為止,并對二值圖像切割。為了增強穩(wěn)定性,可以用雙行比值代替單行比值,此時應(yīng)縮小判定閾值。
  (3)垂直方向粗定位[2]:設(shè)由(2)切割出來的圖像為A,對A進行除噪處理后,先用1個與A等高度、寬度與高度相同的矩形框體B對A從左至右遍歷搜索[3],若B中1值像素之和與B中全部像素之比大于一定閾值時,記錄此時列位置為y1,然后用同樣方式從右之左搜索,獲得列位置y2。用y1與y2對A切割,完成垂直方向的粗定位。
  (4)精確定位:在以往的車牌識別方法中,Hough變換線檢測一般只用于車牌矯正,實際上Hough變換線檢測更可用來做車牌定位。本文中將利用此對車牌做最后的精確定位。
??? Hough變換提取直線的原理[4]:
??? 對于圖像空間中的任意一點(x0,y0),將其變換為參數(shù)空間(θ,r)中的1條曲線r=x0 cos θ+y0 sinθ,對位于同一直線l上的n個點逐一進行上述變換,則在參數(shù)空間(θ,r)中對應(yīng)得到n條曲線,由變換公式可知,這n條曲線必定經(jīng)過 同一點(θ0,r0)。找到參數(shù)空間中的這個點就知道了圖像空間中的對應(yīng)直線l,因此,Hough變換可以用來在二值圖像中檢測直線。
??? 設(shè)由算法(3)粗切割得到的圖像為C,利用Hough變換對C進行多條直線檢測(至少10條以上)。取直線中端點行坐標最小值和最大值分別為車牌上下邊界精定位值,取直線左端點列坐標平均值或中值為車牌左邊界精定位值,取直線右端點列坐標平均值或中值為車牌右邊界精定位值(經(jīng)過反復(fù)實驗論證,使用平均值時穩(wěn)定性優(yōu)于使用中值)。由此確定的車牌定位結(jié)果為最終定位結(jié)果。
??? 圖1~圖7是選取了3幅不同方位角度車牌圖像的詳細定位過程。從圖2可以看出,圖像中車牌位置以下的信息干擾明顯比以上部分的干擾弱小,這是因為車牌的下方主要是路面背景,而車牌的上方卻包含了車燈、中網(wǎng)等敏感信息。由下至上的搜索法充分地利用了這一特征。同時由于車牌多處在圖像下半部,從而也減少了搜索時間。用多直線檢測,精確度高,魯棒性好。

?

2 字符分割
  字符分割之前,有必要對傾斜的車牌進行校正。用Hough變換進行傾斜角檢測是一種常用的有效途徑。
  由于實現(xiàn)了車牌定位,可以用全局閾值法對定位結(jié)果圖像重新二值化,以得到更理想的二值圖像。圖8是用Otsu法[5]得到的二值圖。

  字符切割最常用的方法是投影法。如果二值化后車牌圖像的字符中粘連和斷裂情況不那么嚴重,只需要垂直投影就可以很好地完成字符切割的任務(wù)。但是水平邊框、鉚釘有時會把一些“谷”填平,使得難以精確確定分割點。盡管如此,垂直投影仍然是字符分割中的一個非常重要的方法。本文對垂直投影法加以改進,基本上克服了邊框和鉚釘帶來的影響。

  對于二值化后可能存在的水平邊框干擾如圖8(a)所示(垂直邊框?qū)Υ怪蓖队胺]有影響),根據(jù)先驗知識:不管車牌整體的大小如何,單個字符的寬度不會超過整個圖像寬度的1/8。因而可將寬度超過1/8或更多一點的白線像素置0。這樣既去除了大部分干擾又無字符信息的丟失。
??? 下面將進行校正。選取圖9每1列如圖10所示的最下方的1值像素,經(jīng)過Hough變換后如圖11所示的可檢測到邊緣直線,此直線傾角(即車牌傾角θ)根據(jù)公式:
  

  對圖9進行坐標轉(zhuǎn)換便實現(xiàn)了車牌傾斜校正,如圖12所示。其中x0、y0為原坐標,x、y為轉(zhuǎn)換后坐標。
??? 對矯正后的車牌采用垂直投影法進行字符分割,結(jié)果如圖13所示。

?


??? 圖13(a)中有2個連續(xù)的“0”字符粘連在一起,未能被分離,原因是鉚釘剛好處在它們中間的位置。用圖像處理的手段消除鉚釘而又不影響字符信息其難度很大。對于這種情況,針對性的解決辦法是直接將包含2個字符的分割板塊對等中切。1個字符的寬度不會超過整塊車牌寬度的1/5,連續(xù)2個字符的寬度肯定超過整塊車牌寬度的1/5,根據(jù)此先驗知識,以寬度大于車牌1/5且小于車牌2/5為條件,可以方便地確定是否存在粘連塊。圖13(b)與圖13(c)沒有受到鉚釘干擾,因而能1次性分割成功。圖14是將粘連板塊對等中切后的結(jié)果。

?


3 字符識別
??? 在分類器的選取上,既要求其要有良好的容錯,又要求其具有良好的自適應(yīng)的能力。神經(jīng)網(wǎng)絡(luò)具有與人腦相似的高度并行性、良好的容錯性和聯(lián)想記憶功能、自適應(yīng)、自學(xué)習(xí)能力和容錯等特點,特別是以改進型BP網(wǎng)絡(luò)為代表的神經(jīng)網(wǎng)絡(luò)具有良好的自學(xué)習(xí)能力、強大的分類能力、容錯能力或魯棒性,可以實現(xiàn)輸入到輸出的非線性映射。因此本文選擇BP神經(jīng)網(wǎng)絡(luò)作為字符進行分類、識別的主要方法。
3.1 字符預(yù)處理
  對切割出來的車牌字符很有必要進行預(yù)處理,預(yù)處理包括:
??? (1)大小歸一化
??? 為了便于訓(xù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è)計
??? 大多數(shù)實際的神經(jīng)網(wǎng)絡(luò)只需要2~3層神經(jīng)元[6],本文設(shè)計的BP神經(jīng)網(wǎng)絡(luò)包含2個隱含層。對于神經(jīng)網(wǎng)絡(luò)中隱含層節(jié)點數(shù)目的確定,沒有一個固定的規(guī)律可遵循。本文中對隱含層內(nèi)節(jié)點數(shù)的確定,是以找到1個經(jīng)過樣本訓(xùn)練后,其網(wǎng)絡(luò)輸出與實際結(jié)果最近似的網(wǎng)絡(luò),這是一個搜索的過程。參考相關(guān)隱含層確定的準則[7],通過逐個比試最終確定,第1個隱含層節(jié)點數(shù)為15個,第2個隱含層節(jié)點數(shù)為10個,學(xué)習(xí)速度為0.01。
??? 實驗中選取了300幅實際的車牌。這些車牌圖像的大小和拍攝的角度有所不同,有些車牌圖像比較清楚,有些則有缺陷。然后在Matlab7.0環(huán)境下對網(wǎng)絡(luò)進行訓(xùn)練,訓(xùn)練樣本由200個車牌的1 400個字符組成。剩下的100幅車牌圖像用于識別試驗。試驗結(jié)果:正確識別91幅,誤識6幅,不能識別3幅,平均識別速率0.94 s/幅。在實驗過程中數(shù)字識別率最高,字母次之,漢字識別率最低。
??? 本文系統(tǒng)地研究了一套車牌識別算法,包含了車牌定位、字符分割、字符識別3個環(huán)節(jié)。其前后銜接緊密,互補性好,整體準確性高,穩(wěn)定性好,具有較強的實用性。但仍存在一些問題需要進一步改進,如車牌定位時,距離伸縮性不夠,字符傾斜校正存在一些失真,字符特征提取還需要更有效的方法。
參考文獻
[1] 劉麗新,劉京剛.行掃描進行車牌上下邊界定位的研究[J].儀器儀表學(xué)報,2005,26(8).
[2] 洪健,陳繼榮.基于修正思想的車牌圖像定位與二值化處理[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] 王國宏.Hough變換及其在信息處理中的應(yīng)用[M].北京:兵器工業(yè)出版社,2005.
[5] 張云剛,張長水.利用Hough變換和先驗知識的車牌字符分割算法[J].計算機學(xué)報,2004,27(1).
[6] HAGAN M T, DEMUTH H B, BEALE M H.神經(jīng)網(wǎng)絡(luò)設(shè)計[M].北京:機械工業(yè)出版社,2002.
[7] 高大文,王鵬.人工神經(jīng)網(wǎng)絡(luò)中隱含層節(jié)點與訓(xùn)練次數(shù)的優(yōu)化[J].哈爾濱工業(yè)大學(xué)學(xué)報,2003,35(2):207-209.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。