向 榮 周慧娟
(浙江大學數字技術及儀器研究所 杭州 310027)
機動車牌照作為機動車車輛的惟一標識,在車輛標識、車輛管理中發揮著關鍵作用.因而車牌識別系統(license plate recognition,LPR)作為智能交通系統的核心組成部分在停車場管理系統、高速公路超速自動化管理系統、公路布控、電子警察和小區車輛門禁系統等領域有著極其廣泛的應用前景[1].從車牌識別系統進入中國以來,國內有大量的學者在從事這方面的研究,提出了很多新穎快速的算法.但就目前實際商用以及實驗室的識別率來看,目前中國車牌識別系統的準確性還有待提高.因此,本文基于大量的實際車牌圖像的測試,提出了一種高識別率的車牌識別系統.該系統中在定位以及傾斜校正中提出了若干新算法,最后的實驗結果表明,這些算法效果顯著,整個系統對隨機背景下車牌的正確識別率達到了90%以上.
車牌識別技術主要利用每一輛汽車牌照的惟一性和互異性2個特點,將采集到的車輛圖像經過一系列的處理,識別出車牌號碼.按照模塊設計原則,該識別系統分為車牌定位、傾斜校正、字符分割以及字符識別4個模塊.各個模塊之間功能相對獨立,依次串聯成整個識別系統,整體框圖見圖1.

圖1 車牌識別系統總體框圖
車牌定位之前,要首先將彩色圖像灰度化,考慮到我國車牌的背景顏色與字符顏色的對比特點,本系統采用了獨創的區分度更大的灰度化公式

本系統采用3級定位,逐步求精,現分述如下.
1)粗定位 在粗定位階段,依次進行Gauss-Laplace邊緣檢測,閾值二值化,連通域濾波處理,最后利用車牌區域的邊緣信息進行粗定位,粗定位算法過程如下:(1)搜索水平方向跳變數與每行字符點總數;(2)跳變數差分,搜索車牌上下邊;(3)將取間隔大于車牌高度的相鄰兩邊為上下邊候選組;(4)將過于接近的上下邊組從候選車牌可能組中剔除;(5)掃描可能的車牌上下邊的車牌字符垂直投影并進行鄰域3列均值濾波;(6)用一個寬度為60像素,高度為候選車牌上下邊距的抽樣框進行垂直投影值掃描,得出左右邊界;(7)利用牌寬高比的先驗知識將候選組中車牌寬高比不符合一定范圍內的比例關系的組進行濾除.
2)二次定位 在二次定位階段,依次進行水平頂帽變換,去噪處理,力圖將車牌的準確位置確定出來.二次定位算法過程如下:(1)逐行掃描并統計處跳變數;(2)對跳變數矩陣進行鄰域平均,使用[-3,2,1]模板對每行跳變數進行卷積操作,再用[1,2,-3]模板對每行跳變數進行卷積操作,檢測出該車牌候選組的上下邊;(3)再從左往右掃描,將每列的水平跳變點數累加.然后再次從左向右掃描,將跳變數進行左右鄰域均值處理,取出大于某個閾值的列為該車牌候選組的左邊界,同樣的方式得到右邊界[2].
3)最終定位 最終定位是在傾斜校正后完成,它的作用是獲取精確的車牌信息,力求將所有字符區域識別出來而不帶來任何其他的干擾.在傾斜校正后,對其進行改進的Otsu二值化處理.最終定位過程如下:(1)求出每行背景像素所占的百分比;(2)求出每行水平跳變數以及相鄰上下行間的跳變數的差;(3)按照17×1的模板進行水平腐蝕,求出相鄰兩行的前景像素值的特征;(4)再次進行水平頂帽變換,并求出上下兩行的跳變數,采用[-3,2,1]與[1,2,-3]模板進行鄰域跳變數卷積操作;(5)對(1),(2),(3),(4)步中求得的特征值進行融合,從而求出車牌的精確上下邊界;(6)掃描以車牌既定高度的1/3為寬,車牌高度為高的抽樣框內的垂直投影,確定最終車牌左右邊界.最終定位完畢.結果參見圖2.

圖2 二次定位
在車牌水平的情況下,車牌的水平投影具有2個明顯的波谷,這是由車牌字符與邊框中間的間隙形成.本文考慮采用水平投影方差為判斷依據,求出傾斜角度并進行校正.該算法的具體過程如下:(1)將車牌以1°為單位,以逆時針方向為正,依次傾斜-15°~15°;(2)求出每次傾斜后每行的投影點數;(3)求出每行投影點數的均值和方差;(4)搜索方差最大時的傾斜角度;(5)調用C#的函數RotateTransform來對圖形對象進行旋轉進行傾斜校正,處理效果見圖3.

圖3 傾斜校正
本文提出一種將車牌標準尺寸的先驗知識與車牌垂直投影特征的后驗知識相結合的分割思想.具體步驟如下:(1)根據車牌標準尺寸,計算每一個字符的列標與車牌寬度的比例;(2)將比例系數乘以定位車牌子圖像的寬,求出車牌中的字符邊界大致位置,以該位置在某一鄰域內進行搜索.根據車牌字符的垂直投影,判斷精確的車牌字符邊界,同時還要驗證車牌中是否存在“1”;(3)依據所求車牌字符邊界,將車牌字符分割成為7個字符子圖像;(4)將子圖像歸一化為35×70的尺寸[3-5].
本文采用了多種統計模式識別綜合法,首先采用了模板匹配的方法,計算字符與模板中最為相似的即為識別結果.匹配過程的數學描述為

由于模板匹配對相似的字符之間的識別率很差,如“8”和“B”,“O”和“Q”,“5”和“S”,“Z”和“2”,等等.仔細比對這些相似的車牌字符可以發現,雖然從形狀上很難區分這些相似字,但是英文字符的4個角通常與數字有著很大的不同.利用這一點,本系統使用4個角的小區域相似度來對模板匹配進行修正.整個識別過程如下:(1)利用上述計算公式算出車牌字符與每一個模板的相似百分比;(2)同時計算車牌字符與每個模板的4個角的相似度,將加權后的角相似度加上相似百分比作為判定依據,將最大的相似百分比作為識別結果.
測試樣本為隨機背景含車牌的圖片200張,其中圖片的分辨率從5萬~80萬像素不等,車牌傾斜角度各異,光線明暗程度有別,圖4為經過定位和分割的部分車牌識別結果.

圖4 定位及分割結果
由圖4可見,本系統提出的3級定位策略有效降低了定位的虛警率,最終定位的大多數區域為精確的車牌區域.另外,粗定位以后的略微放大車牌定位區域,也在一定程度上降低了第一次定位中的偏差,而在后續定位中達到將車牌區域準確的切分出來.在保留字符完整的同時,切分到字符的邊緣,這樣的定位結果為之后的分割提供了十分有利的處理目標,定位準確率為93.5%.
從圖4還可以發現,本系統的分割結果相較于其他系統無疑精確很多.特別要指出的是,對于“1”字符的分割一直是個易錯點,圖4充分證明了本系統的分割策略行之有效,分割效果良好.
圖5是從本系統的結果顯示區截取的圖像.前19幅均識別無誤,但最后一幅出現了識別錯誤.在這些錯誤中,大部分是相似字的識別錯誤,在最后一幅圖中,漢字二值化的結果不夠清晰,結果也發生了很大的偏差,這是由二值化閾值不當造成.最終識別準確率為91%.

圖5 識別結果
本文以Visual Studio為開發工具,C#為開發語言完成了一套完整的車牌識別系統的設計開發,并對車牌識別中傳統算法中存在的不足進行了分析,提出了一些新的識別方法.實驗證明,整個系統可識別的圖像分辨率從5萬~80萬像素不等,車牌傾斜角度各異,光線明暗程度有別,單幅圖像識別時間在0.7~2s以內.該算法滿足實際需要,具有一定可靠性與可用性.在接下來的研究工作中,本課題還可在以下幾個方面進行深入的研究.考慮與圖像采集端進行綜合設計,以便更好的發揮先驗知識的定位效果,最終有利于形成算法產品化,實用化.優化現有的識別算法,使得系統的準確率更高,魯棒性更好.在系統實時性方面,盡量簡化冗余步驟,使速度更快,更具實用化.
[1]白晶心.車牌識別系統的實現[D].北京:北京郵電大學,2009.
[2]王 葉.車牌識別系統中字符切分和識別技術的研究[D].北京:北京郵電大學,2009.
[3]ACONCI J A,CARVALHO E R,RAUBER T R.A complete system for vehicle plate localization,Segmentation and recognition in real life scene[J].IEEE Latin America Transactions,2009,7(5):110-119.
[4]何鐵軍,張 寧,黃 衛.車牌識別算法的研究與實現[J].公路交通科技,2006,23(8):147-149.
[5]劉 興,蔣天發.智能車牌識別系統中消除圖像干擾的方法[J].武漢理工大學學報:交通科學與工程版,2005,29(5):805-806.