摘 要: 為了提高對車牌字符的準確識別能力,提出了一種基于權系數標識符矩陣的模板匹配車牌字符識別方法。具體方法是在進行字符識別前為每一個車牌字符制定一個標準化的模板,再將每一個模板字符的像素依據像素區域、像素邊緣區域和非像素及非像素邊緣區域等標記成不同的區域,并依此為基準生成一個模板矩陣。根據車牌字符閉合區域個數及字符二值圖像中間行、中間列黑白跳變次數,可將字符分為10類。進行字符識別時,首先判定待識別字符屬于哪一類,然后與所在類的每一個字符的標準模板進行匹配,統計待識別字符落在每一個標準模板矩陣的不同區域的像素數,并根據不同區域的不同權值計算相似度值,相似度值最大的即為識別結果。該方法采用兩級分類法對車牌字符圖像進行分類,再采用基于權系數標識符矩陣的模板匹配法對車牌字符進行識別。實驗結果表明,該方法提高了識別結果的準確度,對于存在字符斷裂以及形狀相似而容易混淆的字符有較好的識別效果。
關鍵詞: 車牌字符識別; 權系數標識符矩陣; 模板匹配; 閉合區域檢測; 像素值跳變特征
中圖分類號: TN919?34; TP391.41 文獻標識碼: A 文章編號: 1004?373X(2013)24?0001?04
License plate character recognition based on weight coefficient identifier matrix
LI Zhi?min1, JI Mei?ping1, XUE Ping2, DAI Gao2, XIE Xian?bao2
(1. Chongqing University, Chongqing 400044, China; 2. Chongqing Yibo Digital Technology Co., Ltd., Chongqing 400060, China)
Abstract: In order to improve the accuracy of license plate recognition, a license plate character recognition method matching with a template based on weight coefficient identifier matrix is proposed. The specific method is to develop a standardized template for each license plate character before character recognition. Each standard template character is divided into three parts: pixel area, pixel edge region, non pixel and non?pixel edge region, which is taken as a criterion to generate a template matrix. According to the black?to?white jump times of number and character binary image in the middle row and middle line, the quantity of pixles which drops down on different areas of each standardized template matrix from characters under recognition is counted. The similarity value depends on the weights on the area is calculated. The maximum value is the recognition result. The method adopts secondary classification and is based on weight coefficient identifier matrix. The experiment results indicate that the algorithm is able to improve the accuracy of recognition result and has better recognition effect for the characters in which the fractures and shape similarity characters exist.
Keywords: license plate character recognition; weight coefficient identifier matrix; template matching; closed region detection; pixel value jump characteristic
車牌識別技術是智能交通系統(ITS)的重要組成部分,廣泛應用于交通管理與控制、移動稽查、停車場管理、高速路口信息記錄等方面。車牌識別大致分為車牌定位、字符分割、字符識別三個部分,字符識別是車牌識別中的重要步驟,識別的好壞將直接影響到整個系統的性能。
我國的車牌由漢字字符、阿拉伯數字及英文字符這三種字符組成,然而應用得最多的是阿拉伯數字及英文字符,所以本文將重點研究阿拉伯數字及英文字符的識別。眾多學者對字符識別方法進行了廣泛的研究,并且找出了多種有效的車牌字符識別方法。基于模板匹配的字符識別算法[1?3],該方法算法簡單,對于二值圖像的處理速度較快,但對于字符斷點及污染較為敏感,且模板匹配時需要與標準模板進行對比,使得運行速度較慢;基于BP神經網絡的字符識別算法[4?6]具有較好的適應能力及容錯能力,但神經網絡權系數的初始值設置不當會導致在學習的過程中收斂遲緩或無法根本無法收斂,使得學習的時間增加;基于特征匹配的字符識別算法[7?9],由于會受到外界多種因素的干擾而出現字符傾斜、粘連及斷裂,使識別率難以提高,且魯棒性也不高。本文針對以上方法的不足,提出了基于權系數標識符矩陣的模板匹配車牌字符識別方法,它能有效地識別受污染、斷裂的字符,以及形狀相似而容易混淆的字符。
1 字符分類
1.1 待識別字符的歸一化
在字符分割之后得到的單個字符,其長寬并不統一,所以有必要對其進行歸一化[10]處理,將每個字符的比例歸一化至20×40(單位:像素)的大小,同時將字符邊緣1個像素寬度的行列對應像素值置為0,其作用是方便在模板匹配時的處理。
1.2 字符分類
當使用模板匹配法進行字符識別時,若直接對每個待識別字符進行模板匹配,運算量太大會導致系統速度下降。本文在模板匹配前對字符進行分類,既可以提高識別率也可以提高識別速度。車牌中阿拉伯數字和英文字符的標準模板如圖1所示。
圖1 車牌字符標準模板
標準模板中圖片大小為20×40(單位:像素),字符的邊緣像素為0,與待識別字符的格式相對應。
本文對字符分類時,首先采用了查找字符閉合區域來進行第一級分類;然后再根據統計像素值跳變特征進行第二級分類。
通過統計字符的閉合區域可將字符分為三類:
第一類:不包含閉合區域的車牌字符有22個,分別為:“2”,“3”,“5”,“7”,“C”,“E”,“F”,“G”,“H”,“J”,“K”,“L”,“M”,“N”,“S”,“T”,“U”,“V”,“W”,“X”,“Y”,“Z”;
第二類:包含一個閉合區域的車牌字符有9個,分別為:“0”,“4”,“6”,“A”,“D”,“P”,“Q”,“R”;
第三類:包含兩個閉合區域的車牌字符有2個,分別為:“8”,“B”。
通過第一級分類后,將33個車牌字符分為了三類。此時第一類中含22個字符,較分類之前雖然有所減少,但在進行模板匹配時,運算量仍然很大。所以,還需對第一類中的22個車牌字符進行第二級分類。
在第二級分類時,采用對車牌字符圖像固定位置及固定方向的像素值跳變次數這一顯著特征進行統計,然后根據統計的結果來進行分類。由于所有字符圖像都歸一化為20×40(單位:像素),則分別統計第10列像素值的跳變次數及第20行像素值的跳變次數。以車牌字符圖像“2”為例,第10列像素值的跳變次數為6次,在第20行的像素值跳變次數為2次,則可以得出字符“2”的跳變特征為行方向2次、列方向6次。如圖2所示。
圖2 字符圖像“2”行列跳變特征
采用了車牌字符圖像的像素值跳變特征進行分類后,可大大提高模板匹配的運行速度和系統的容錯率,同時也提高了系統的魯棒性,增強了對污染、斷裂字符的識別性能。使用上述方法進行分類后,將第一類的22個車牌字符細分為了7類,每一類包含的車牌字符如表1所示。
表1 二級分類結果
由于第二類與第三類的字符個數分別為9個與2個,字符數量不多,對模板匹配的運算量影響不大,所以不用進行再次分類,這樣即可避免再次分類造成的誤分情況,也可節省計算時間。根據以上分類將第一級分類中的三類分為了9類,最多的一類中字符個數有10個,與分類前33個相比大大減少。
2 模板匹配
傳統的模板匹配法[10]最大的局限性在于對受到污染而發生偏移與斷點的字符識別率較低。然而實際獲得的車牌字符圖像往往不會十分理想,為了消除字符偏移及斷點對識別的影響,本文提出了一種基于權系數標識符矩陣的模板匹配方法,對受到污染而發生偏移及斷點的字符有較好的效果。所謂權系數標識符矩陣就是以標準模板為基準生成一個矩陣,矩陣的大小與標準模板像素大小相同。本文采用的標準模板比例為40×20,所以矩陣的大小為40行、20列。矩陣中的值對應該標準模板中不同的像素類型,矩陣的生成規則如下:
將標準模板中的像素分為三種類型:
(1)字符像素區域:指待識別字符圖像中字符所在的像素點,即灰度值為255的像素點的集合,把這類區域給定標識符為A;
(2)字符像素邊緣區域:指距離字符像素水平與垂直方向2個像素、對角線方向1個像素點的集合,把這類區域給定標識符為B;
(3)非字符像素及非字符像素邊緣區域:指除上述兩類區域以外的區域,把這類區域給定標識符為C。
這樣就將不同類型的標識符對應到矩陣后,便生成了一個標識符矩陣。矩陣中不同類型的元素都有其對應的權系數與權值。
在模板匹配的過程中,每個像素點有匹配與不匹配兩種情況,即待識別字符圖像的像素點會與模板圖像中對應像素點的像素值有相同或不相同兩種情況。為了計算待識別字符的相似度,規定當像素點匹配時將該點的權值置為1,不匹配時將該點的權值置為-1。而不同的權值對應了不同的權系數,權系數的設置如表2所示。
表2 權系數設置
相似度則由式(1)計算得出:
[S=i=1nQ?X] (1)
式中:n為待識別圖像像素點總數,本文中n為800;Q為該點的權值;X為該點的權系數。
設置表2中權系數的根據如下:
(1)在進行模板匹配過程中,若待識別字符與模板字符相同時,待識別字符圖像中的字符像素點應該大部分落在模板的區域A之內。考慮到實際情況可能存在偏移,但誤差不會大于兩個像素,所以待識別字符圖像中的字符像素點應該大部分落在區域A內。區域B內會有少量待識別字符圖像中的字符像素點,而待識別字符圖像中非字符像素點應大部分落在區域C之內。根據權系數計算公式,待識別字符的字符像素點大多落在區域A中,且與模板字符中對應像素點是相匹配的,其權系數為3,權值為1即相似度值為3;落在區域B中的字符像素點較少且與模板字符對應像素點不匹配,其權系數為1,權值為-1,即相似度值為-1;落在區域C中的字符像素點幾乎沒有即落在C區域內的待識別字符的像素點為非字符像素點,與模板字符中區域C的像素點相匹配,其權系數為1,權值為0,即相似度值為0。由此最終得到的相似度值較高。
(2)若待識別字符與字符模板不同時,在該字符模板區域C中肯定存在大量不匹配的像素點,即待識別字符圖像中的字符像素點會大量落在模板中的C區域。由于區域C的權系數為5,不匹配時對應點的權值為-1,根據式(1)計算可得單個像素點的相似度值,由該點的權系數與權值的乘積即-5。由于存在大量不匹配像素點,所以最終計算所得相似度則會大大降低。
通過判斷該待識別字符所對應類中每個字符模板相似度的值,便可得到識別結果。通過以上權系數設置可以很好地識別出包括“2”與“Z”,“V”與“U”在內的30個形狀相似而容易混淆的字符,但“0”與“D”及“8”與“B”的特征過于接近,使用上述權系數設置并不能很好地將其區分開來,所以需要對其字符模板的權系數進行單獨設置。如圖3所示。
圖3 “0”與“D”,“8”與“B”字符模板
由于 “0”和“D”屬于同一分類的字符共有9個,所以不能直接設置“0”和“D”的標示符矩陣,只能先使用前面所述的標示符矩陣進行識別,當待識別字符的識別結果為“0”或“D”時,需重新設置標識符矩陣,然后再進行第二次識別。而“8”與“B”這一類中就只有這兩個字符,所以可以直接設置其標識符矩陣進行識別。
針對“0”與“D”及“8”與“B”各自的特征,要區分這兩類字符的關鍵在于字符的左上角與左下角的兩個3×3區域內,“0”與“8”的字符像素點都不會出現在這兩個區域之類,而“D”與“8”在這兩個區域內都會出現字符像素點。在第二次識別中,將字符“D”與“B”模板標識符矩陣的這兩個區域標識為d,而“0”與“8”的標識符矩陣保持不變。由于經過歸一化后,待識別字符與字符模板的邊緣像素為0,所以沒必要將邊緣納入區域D內,即區域d所包含范圍是離邊緣1個像素的2×2的區域。將“D”與“B”字符模板中d區域匹配時,權值為1權系數設為600,不匹配時權值為-1權系數為30。根據相似度計算公式,當匹配時區域d中對應點相似度為600,不匹配時對應點相似度為-30。這樣設置的目的在于:
(1)當待識別字符為“D”(或“B”)時,只要有一個像素落在字符模板“D”(或“B”)的區域d內,即可將其與模板“0”(或“8”)的相似度大幅增加;
(2)當待識別字符為“0”(或“8”)時,不可能會有字符像素點落在字符模板“D”(或“B”)的區域d內,即與字符模板“D”(或“B”)進行模板匹配時相似度值會比字符模板“0”(或“8”)的相似度值要少。
因此便能很好地將“0”與“D”及“8”與“B”區分開來。為了驗證該方法的可行性,將一副車牌圖像進行預處理后,并提取出該車牌圖像中的字符“0”,如圖4所示。
圖4 待識別字符“0”
待識別字符“0”與字符模板“0”及“D”進行模板匹配的數據如表3所示。
表3 模板匹配數據
表3中的數字表示待識別字符的字符像素點落在該區域中的數量。
該待識別字符與“0”的字符模板進行模板匹配時,待識別字符的字符像素點在字符模板“D”區域d中的像素點總數為0,即待識別字符落在區域d中的像素點為非字符像素點,則該區域中對應像素點的像素值為0,而字符模板中“D”區域d的像素值為255,則說明待識別字符與模板字符在區域d中是不匹配的,由于區域d包含2個2×2區域,共有8個像素點,所以在區域d中與模板“D”的相似度值為-30×8=-240。
根據相似度計算式(1)得出的相似度S為:
[S0=222×3+63×1+0×(-5)=729SD=217×3+67×1+0×(-5)+(-30)×8= 478 ]
在識別過程中,應選擇相似度較大的字符模板作為最后的識別結果。字符識別流程如圖5所示。
3 實驗結果及分析
為了驗證提出方法的可靠性,采用Visual C++ 6.0編程,在CPU 1.6 GHz,RAM 1.0 GB的運行環境下,對600副車牌字符圖像進行識別,識別結果如表4所示。
4 結 語
本文采用了兩級分類法對車牌字符圖像進行分類,再采用基于權系數標識符矩陣的模板匹配法對車牌字符識別。通過實驗驗證,表明該方法能很好地解決模板匹配時,對有斷點及形狀相似而容易混淆的字符識別率低的缺點,且識別速度較快,能滿足實際應用需求,具有較高的實用價值及廣泛的應用前景。
圖5 字符識別流程圖
表4 識別結果
參考文獻
[1] 鄒明明,盧迪.基于改進模板匹配的車牌字符識別算法實現[J].國外電子測量技術,2010,29(1):59?61.
[2] 鄒星.一種基于模板庫的車牌字符識別算法[J].計算機技術與發展,2010,20(4):28?131.
[3] WANG Ping, ZHANG Wei. Research and realization of improved pattern matching in license plate recognition [C]// 2nd 2008 International Symposium on Intelligent Information Technology Application Workshop. Shanghai, China: Institute of Elec. and Elec. Engineering, 2008: 1089?1092.
[4] LIU Yi?Qing, WEI Dong, ZHAO Min?Zhe, et al. Vehicle?license?plate recognition based on neural network [C]// 2011 International Conference on Information and Automation. Shenzhen, China: IEEE Computer Society, 2011: 363?366.
[5] 王力,王小華,王莉.神經網絡在車牌識別中的應用[J].微型機與應用,2011(5):43?45.
[6] 劉志軍.基于神經網絡的車牌識別技術研究[D].南京:南京郵電大學,2011.
[7] NEGRI P, TEPPER M, ACEVEDO D, et al. Multiple clues for license plate detection and recognition [C]// 2010 15th Iberoamerican Congress on Pattern Recognition. Sao Paulo, Brazil: Springer Verlag, 2010: 269?276.
[8] 何兆成,佘錫偉,余文進,等.字符多特征提取方法及其在車牌識別中的應用[J].計算機工程與應用,2011,47(23):228?231.
[9] 孔超,高玨,陳開云,等.基于多特征的車輛一致性檢測的研究與應用[J].計算機技術與發展,2012,22(3):31?34.
[10] 張宏林.數字圖像模式識別技術及工程實踐[M].2版.北京:人民郵電出版社,2008.