姚文鳳 甄彤 呂宗旺 祝玉華 李智慧 桂便 郭平飛
摘? 要: 由于在車牌識(shí)別過(guò)程中傳統(tǒng)的垂直投影分割算法存在對(duì)字符的誤分割問(wèn)題,于是提出一種基于圖像垂直投影特征分析和幾何特征的字符分割算法,該算法通過(guò)字符的寬度以及字符間的間隔寬度,對(duì)傳統(tǒng)垂直投影分割算法的分割過(guò)程進(jìn)行限制,可有效解決對(duì)左右結(jié)構(gòu)漢字的錯(cuò)誤分割。實(shí)驗(yàn)結(jié)果表明,該分割算法可有效提升字符分割的準(zhǔn)確率,對(duì)車牌的正確識(shí)別具有重要作用。
關(guān)鍵詞: 車牌定位; 車牌矯正; 字符分割; 字符識(shí)別; Radon變換; 垂直投影
中圖分類號(hào): TN911.73?34? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2020)19?0065?05
Abstract: In view that the traditional vertical projection segmentation algorithm has the problem of character mis?segmentation in the process of license plate recognition, a character segmentation algorithm based on the analysis of image vertical projection features and geometric features is proposed. In the algorithm, the segmentation process of the traditional vertical projection segmentation algorithm is regulated by the width of characters and the interval width between characters, which effectively eliminates the wrong segmentation of the Chinese characters with left and right structure. The experimental results show that the segmentation algorithm can effectively improve the accuracy of character segmentation. Therefore, it plays an important role in the recognition of license plates.
Keywords: license plate location; license plate correction; character segmentation; character recognition; Radon transform; vertical projection
0? 引? 言
隨著中國(guó)的飛速發(fā)展,汽車數(shù)量也在巨增,除交通管理外,車輛管理也在各種場(chǎng)合得到加強(qiáng),作為車輛“身份證”的車牌,成為車輛管理的關(guān)鍵。目前車牌識(shí)別的技術(shù)核心主要包括:對(duì)于車型眾多的車輛,如何在汽車圖像中準(zhǔn)確、快速地對(duì)車牌位置進(jìn)行定位,并進(jìn)行保存;獲得車牌以后,如何對(duì)有傾斜的車牌進(jìn)行準(zhǔn)確的矯正,以保證下一步字符分割的正常進(jìn)行;車牌矯正以后,如何對(duì)車牌中的字符進(jìn)行準(zhǔn)確分割,得到完整的字符;字符得到以后,如何對(duì)其進(jìn)行識(shí)別,得到車牌號(hào)碼進(jìn)行顯示出來(lái)。
1? 車牌定位與矯正
車牌定位是車牌識(shí)別的第一步,決定了后續(xù)工作是否能順利進(jìn)行。因此必須選擇準(zhǔn)確性高、適應(yīng)性強(qiáng)的算法,而目前比較受到學(xué)者認(rèn)可的車牌定位方法主要有:圖像邊緣檢測(cè)、車牌顏色信息[1]、機(jī)器學(xué)習(xí)、形態(tài)學(xué)[2]等算法,本文采用基于形態(tài)學(xué)和車牌顏色信息的車牌定位算法。
基于形態(tài)學(xué)的車牌定位方法是一種常用的方法,它對(duì)車牌的紋理信息進(jìn)行分析處理,對(duì)于圖片的質(zhì)量要求比較高,該算法的檢測(cè)速度相對(duì)來(lái)說(shuō)更加優(yōu)秀,但是對(duì)車牌圖像的要求比較高,對(duì)于復(fù)雜的應(yīng)用場(chǎng)景往往存在一定的誤檢率。
為了彌補(bǔ)該定位方法的不足,本文采用融合形態(tài)學(xué)和車牌顏色信息的車牌定位方法,其主要步驟如下:
1) 對(duì)車輛圖像進(jìn)行灰度化,并繪制灰度直方圖,如圖1a)所示;
2) 采用roberts算子對(duì)車輛灰度圖邊緣進(jìn)行檢測(cè),以獲取圖像的邊緣信息,如圖1b)所示;
3) 對(duì)圖像的邊緣信息進(jìn)行腐蝕、閉合等操作,對(duì)車牌進(jìn)行粗定位,如圖2a)所示;
4) 對(duì)粗定位的車牌,掃描藍(lán)色區(qū)域以進(jìn)行進(jìn)一步精確定位,如圖2c)所示。
2? 車牌的字符分割
對(duì)車牌進(jìn)行矯正后,要對(duì)車牌中的字符進(jìn)行分割,分割的效果會(huì)直接影響到下一步的識(shí)別,目前常用的分割算法有:基于連通域標(biāo)記的分割算法、基于字符幾何特征的分割算法、基于圖像垂直投影的分割算法[3],其主要原理是車牌每個(gè)字符之間都存在一定距離的間隙,當(dāng)對(duì)二值化的車牌進(jìn)行垂直投影時(shí),對(duì)應(yīng)的曲線中波谷部分都是字符之間的間隙存在的位置,根據(jù)波谷對(duì)字符進(jìn)行分割。
基于投影的字符分割算法易于實(shí)現(xiàn),分割速度較高,目前得到廣泛應(yīng)用,但由于中國(guó)車牌的第一個(gè)字符是每個(gè)省的簡(jiǎn)稱,漢字并不是每一個(gè)都是完全連通的,比如四川的簡(jiǎn)稱“川”,浙江的簡(jiǎn)稱“浙”等,鑒于這些不連通漢字的存在,這種方法在應(yīng)用時(shí)有可能會(huì)出現(xiàn)誤分割。
為了彌補(bǔ)基于垂直投影的字符分割算法的弊端,本文提出基于圖像垂直投影特征分析和幾何特征的字符分割算法。
根據(jù)國(guó)家規(guī)定,我國(guó)的車牌具有標(biāo)準(zhǔn)的幾何構(gòu)造,字符的長(zhǎng)度、寬度、字符間的間距都有固定長(zhǎng)度,標(biāo)準(zhǔn)車牌的長(zhǎng)度為440 mm,寬度為140 mm,其中每個(gè)字符寬度為45 mm,高度為90 mm,寬高比為1∶2,每個(gè)字符之間的間距為12 mm,其中第二個(gè)字符和第三個(gè)字符之間的字符“[·]”,占據(jù)10 mm。
可以得到字符寬度和字符間距分別為:
由此可知,正常的字符寬度及左右兩邊間距應(yīng)滿足下式。
在傳統(tǒng)的垂直投影字符分割算法的基礎(chǔ)上,增加了車牌自身的幾何特征進(jìn)行限制,以改進(jìn)基于垂直投影的字符分割算法。
在最大間隔Maxgap處,右邊有5個(gè)字符,左邊有2個(gè)字符,分別向左向右分割,分割過(guò)程中,對(duì)于分割出的字符[i]寬度[char[i].width<0.1n],計(jì)算其左右兩邊的間距:[Gapleft[i]],[Gapright[i]]。
1) 若兩邊間距[Gapleft[i]>0.03n, Gapright[i]>0.03n],則認(rèn)為該字符為數(shù)字“1”,對(duì)其進(jìn)行分割;
2)若兩邊間距[Gapleft[i]<0.03n,Gapright[i]<0.03n],認(rèn)為該字符是不完整字符,不進(jìn)行分割,并認(rèn)為此處有可能出現(xiàn)字符斷裂現(xiàn)象,繼續(xù)尋找下一個(gè)投影像素為0的值,直到找到完整的字符為止。
本算法字符分割主要包括以下幾個(gè)主要步驟:
1) 將車牌圖像進(jìn)行預(yù)處理,其中包括:二值化、均值濾波、腐蝕或膨脹;
2) 找到車牌中最大間隔值Maxgap;
3) 以最大間隔值處為起點(diǎn),分別向左分割前面的2個(gè)字符,和向右分割后面5個(gè)字符;
4) 所有字符分割結(jié)束以后,對(duì)其進(jìn)行歸一化,歸一化大小為[M×N=47×26]。
2.1? 車牌圖像預(yù)處理
車牌圖像二值化后,小型汽車的藍(lán)底白字車牌圖像會(huì)變成白底黑字。二值化操作可以使車牌上的字符信息更加明顯,而且會(huì)把圖像的彩色信息去除,大大減少計(jì)算量。在二值化的過(guò)程中,貨車的黃底黑字車牌圖像會(huì)變成黑底白字,與小型汽車二值化后完全相反,需要將這兩種不同的情況進(jìn)行統(tǒng)一。
本文采取的操作是,將車牌圖像進(jìn)行二值化以后,對(duì)圖像的像素點(diǎn)進(jìn)行求和[sum(d)],當(dāng)[sum(sum(c))/m/n*9>0.5 ]時(shí),認(rèn)為此車牌為貨車車牌,對(duì)該二值化圖像進(jìn)行取反操作,然后再進(jìn)行處理。
小汽車藍(lán)底白字車牌處理后圖像如圖3所示;貨車黃底黑字車牌處理后圖像如圖4所示。
圖像均值濾波對(duì)于二值化以后的車牌圖像,在二值化的過(guò)程中會(huì)混入很多噪聲,本文采用均值濾波對(duì)噪聲進(jìn)行過(guò)濾,采用[3×3]的模板,均值濾波的公式為:
對(duì)二值化后的圖像進(jìn)行均值濾波以后如圖5所示。
濾波以后的車牌圖像有可能存在兩種情況:一是字符存在粘連和細(xì)長(zhǎng)的溝壑;二是字符有可能存在較窄的間斷和小的孔洞。這一步要做的是對(duì)濾波后的圖像進(jìn)行腐蝕或膨脹處理。
圖像中字符對(duì)象的面積與總面積的比值大于0.365時(shí),對(duì)圖像進(jìn)行腐蝕處理;如果比值小于0.235,則對(duì)圖像進(jìn)行膨脹處理,處理后如圖6所示。
2.2? 最大間隔值
中國(guó)車牌中第二個(gè)字符和第三個(gè)字符之間有一個(gè)分隔符“[·]”,將車牌進(jìn)行投影后,可繪出波形圖,在圖中可以看到它存在一個(gè)小峰,如圖7所示。
計(jì)算圖中每個(gè)波形的寬度,對(duì)于寬度處于2~5個(gè)像素值,波峰值小于5個(gè)像素的波形,則認(rèn)為此處為分隔符的所在位置并把它去除,如圖8所示,第二個(gè)字符和第三個(gè)字符間的間隔就是要找的最大間隔值Maxgap。
2.3? 分割車牌字符
傳統(tǒng)的基于投影的字符分割算法,對(duì)一些不連通漢字會(huì)出現(xiàn)誤分割,如圖9所示,“豫”字會(huì)被分割成兩個(gè)字符。本文在傳統(tǒng)投影分割算法上,加以車牌自身的幾何特征進(jìn)行限制,可有效避免這種誤分割,圖9中,本文提出的算法最終分割結(jié)果如圖10所示。
傳統(tǒng)的基于圖像垂直投影的字符分割算法易于實(shí)現(xiàn),分割速度較快,但對(duì)于車牌中左右結(jié)構(gòu)的漢字會(huì)出現(xiàn)誤分割。本文提出的基于圖像垂直投影特征分析和幾何特征的字符分割算法,通過(guò)字符的寬度以及字符間的間隔寬度,對(duì)分割加以限制,可有效減小誤分割。
3? 車牌的字符識(shí)別
對(duì)車牌圖像完成字符分割處理后,進(jìn)入到字符識(shí)別階段,目前比較常用的字符分割算法包括:基于神經(jīng)網(wǎng)絡(luò)[4?5]、基于SVM[6]、基于模板匹配[7]。
基于模板匹配的算法復(fù)雜度低、識(shí)別速度較高,基本能滿足實(shí)時(shí)性的要求。本文采用基于模板匹配的字符識(shí)別算法,該算法需要提前建立標(biāo)準(zhǔn)的字符模板庫(kù),其中數(shù)字包括:0~9;字母包括:[A~H],[J~N],[P~Z]。需注意的是英文字母I和O,為避免與數(shù)字中的1和0識(shí)別混亂,并沒(méi)有使用,因此字符I和O不予考慮;漢字包括:京、津、滬、渝、甘、陜、豫等,對(duì)建立的各模板大小歸一化、規(guī)范化處理后,并且上一步中字符分割后的歸一化過(guò)程,尺寸需要與模板相同。
本文使用字符與模板的異或值表示兩者的相似度,字符與模板二者異或操作后得到一個(gè)新的矩陣。由于異或操作中,不同為1,相同為0,則該矩陣中為0的位置即為二者相同的點(diǎn),為1的位置即為二者相異的點(diǎn)。計(jì)算新矩陣中所有為1點(diǎn)的總和[Dfg],最終比較字符與各模板運(yùn)算之后[Dfg]的大小,[Dfg]值最小則說(shuō)明字符與該模板差異最小,即為要找的模板。
字符識(shí)別過(guò)程如下:
1) 建立自動(dòng)識(shí)別字符串,字符串中1~10位存放0~9十個(gè)數(shù)字,11~34位存放除去I和O后的24個(gè)英文字母,35位以后存放各個(gè)省份的簡(jiǎn)稱。
2) 讀取字符并與模板庫(kù)中的字符逐個(gè)進(jìn)行匹配,將字符與模板進(jìn)行異或,然后比較字符與各模板運(yùn)算之后[Dfg]的大小,值最小的即為契合度最高的,即為該字符要找的模板。
3) 其中讀取第一和第二個(gè)字符時(shí),由于第一個(gè)字符是漢字,第二個(gè)字符是字母,直接令其與對(duì)應(yīng)的漢字模板或字母模板匹配即可,可以省去與其他類型模板匹配的時(shí)間。
4) 讀取后5個(gè)字符時(shí),由于后5個(gè)字符只可能是數(shù)字或者字母,直接將其與數(shù)字和字母模板匹配即可,可省去與漢字模板匹配的時(shí)間。
部分字符模板如圖11所示,識(shí)別結(jié)果如圖12所示。
該算法復(fù)雜度低、識(shí)別速度快,基本滿足實(shí)時(shí)性要求,而且選取高質(zhì)量的圖片建立模板庫(kù)以及進(jìn)行多模板匹配都可以提高匹配的成功率。該算法對(duì)于車牌的前期預(yù)處理的依賴性較高,如果預(yù)處理取得較好的效果,但如果車牌字符有模糊、形變等情況,模板匹配的準(zhǔn)確率會(huì)有所降低,該算法總體來(lái)說(shuō),對(duì)于固定的環(huán)境比較適用。
4? 結(jié)? 語(yǔ)
本文主要實(shí)現(xiàn)了車牌圖像從定位、矯正、分割到識(shí)別的一系列過(guò)程,分析了每個(gè)過(guò)程中常用的算法,詳細(xì)分析了本文所采用的算法。在字符分割階段,本文提出了一種基于圖像垂直投影特征分析和幾何特征的字符分割算法,優(yōu)化了傳統(tǒng)的垂直投影特征分割算法,減少了左右結(jié)構(gòu)漢字的錯(cuò)誤分割。
參考文獻(xiàn)
[1] 陳宏照,謝正光,盧海倫.顏色與邊緣紋理相結(jié)合的車牌定位方法[J].現(xiàn)代電子技術(shù),2018,41(21):67?70.
[2] 李輝.基于形態(tài)學(xué)的車牌定位方法研究[J].梧州學(xué)院學(xué)報(bào),2010,20(3):29?35.
[3] XIA Huadong, LIAO Dongchu. The study of license plate character segmentation algorithm based on vertical projection [C]// 2011 International Conference on Consumer Electronics, Communications and Networks. Xianning, China: IEEE, 2011: 4583?4586.
[4] WANG Xiaohua, YU Juanjuan, MIAO Zhonghua, et al. License plate recognition based on pulse coupled neural networks and template matching [C]// Proceedings of the 33rd Chinese Control Conference. Nanjing, China: IEEE, 2014: 5086?5090.
[5] LIN T Y, ROYCHOWDHURY A, MAJI S. Bilinear CNN models for fine?grained visual recognition [C]// 2015 IEEE International Conference on Computer Vision. Santiago, Chile: IEEE, 2015: 1449?1457.
[6] KIM J B. MSER and SVM?based vehicle license plate detection and recognition system [C]// ICHIT 2012: Convergence and Hybrid Information Technology. Daejeon, Korea: Springer, 2012: 529?535.
[7] 凌翔,賴錕,王昔鵬.基于模板匹配方法的不均勻照度車牌圖像識(shí)別[J].重慶交通大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,37(8):102?106.
[8] 賈曉丹,李文舉,王海姣.一種新的基于Radon變換的車牌傾斜校正方法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(3):245?248.
[9] 胡仁偉,張希仁,楊立峰,等.基于傅里葉變換和Hough變換的商標(biāo)圖案傾斜校正[J].輕工機(jī)械,2018,36(1):62?65.
[10] 王博.車輛多特征識(shí)別方法研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2017.