林國(guó)聰 王冬青 薛斌強(qiáng) 劉金燕



摘要:針對(duì)汽車(chē)牌照自動(dòng)識(shí)別技術(shù)在現(xiàn)代社會(huì)車(chē)輛管理中的應(yīng)用,本文研究了一種基于Matlab軟件的車(chē)牌識(shí)別系統(tǒng)。該系統(tǒng)包括圖像預(yù)處理、車(chē)牌定位、字符分割及字符識(shí)別幾部分。對(duì)采集好的車(chē)牌圖像進(jìn)行圖像預(yù)處理,采用統(tǒng)計(jì)像素法對(duì)車(chē)牌圖像進(jìn)行定位,二值化已定位好的車(chē)牌圖像,對(duì)處理過(guò)的車(chē)牌圖像字符進(jìn)行分割,并采用模板匹配法對(duì)分割好的車(chē)牌字符進(jìn)行識(shí)別,同時(shí)選用100張不同場(chǎng)景、不同省份、不同品牌的汽車(chē)牌照,采用Matlab軟件進(jìn)行仿真實(shí)驗(yàn)。仿真結(jié)果表明,有79張汽車(chē)牌照識(shí)別正確,說(shuō)明本文可以實(shí)現(xiàn)較為準(zhǔn)確的車(chē)牌識(shí)別。該研究具有一定的實(shí)際應(yīng)用參考價(jià)值。
關(guān)鍵詞:車(chē)牌識(shí)別; 車(chē)牌定位; 字符切割; 字符識(shí)別
汽車(chē)牌照自動(dòng)識(shí)別技術(shù)是實(shí)現(xiàn)智能交通管理的關(guān)鍵技術(shù)之一,廣泛應(yīng)用于停車(chē)場(chǎng)及小區(qū)入口等地方。它以數(shù)字圖像處理和模式識(shí)別技術(shù)為基礎(chǔ),對(duì)攝像頭采集到的車(chē)輛圖像或視頻進(jìn)行處理分析,得到通過(guò)車(chē)輛的牌照號(hào)碼,完成汽車(chē)牌照的自動(dòng)識(shí)別過(guò)程。隨著經(jīng)濟(jì)的發(fā)展,私家車(chē)數(shù)量越來(lái)越多,車(chē)牌自動(dòng)識(shí)別問(wèn)題引起了許多學(xué)者的關(guān)注。車(chē)牌定位是車(chē)牌識(shí)別的第一步,也是實(shí)現(xiàn)車(chē)牌識(shí)別最重要的一步,國(guó)內(nèi)外眾多學(xué)者提出了許多車(chē)牌定位算法。劉永俊等人[1]采用基于幾何和顏色綜合特征的車(chē)牌自動(dòng)定位方法,通過(guò)檢測(cè)車(chē)牌顏色和車(chē)牌垂直邊緣實(shí)現(xiàn)定位,但當(dāng)背景顏色和車(chē)牌顏色一致時(shí),容易造成車(chē)牌的誤定位;王艷等人[2]針對(duì)基于顏色或邊緣的車(chē)牌定位算法常出現(xiàn)誤定位的問(wèn)題,使用最大穩(wěn)定極值區(qū)域(maximally stable extremal regions,MSER)算法進(jìn)行連通域分析獲取車(chē)牌位置;在字符分割方面,朱麟[3]提出了一種基于幾何形態(tài)學(xué)的車(chē)牌字符分割算法;賴(lài)道亮等人[4]提出一種灰度拉伸的車(chē)牌字符分割方法。字符識(shí)別是從多個(gè)字符分割后的圖像識(shí)別車(chē)牌號(hào)碼;王曉華等人[5]采用基于脈沖耦合神經(jīng)網(wǎng)絡(luò)和模板匹配方法實(shí)現(xiàn)車(chē)牌識(shí)別過(guò)程;D.Menotti等人[6]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的光學(xué)字符識(shí)別(optical character recognition,OCR)特征提取方法,提取車(chē)牌號(hào)碼特征并進(jìn)行識(shí)別。基于此,本文對(duì)系統(tǒng)的車(chē)牌定位、字符分割和字符識(shí)別進(jìn)行研究,并對(duì)部分環(huán)節(jié)進(jìn)行改進(jìn),使其在車(chē)牌定位時(shí)不受背景顏色影響,并可以快速準(zhǔn)確的識(shí)別車(chē)牌號(hào)碼。該研究具有一定的應(yīng)用價(jià)值。
1 系統(tǒng)總體方案設(shè)計(jì)
本文主要對(duì)車(chē)牌自動(dòng)識(shí)別系統(tǒng)進(jìn)行研究,采用Matlab自帶的函數(shù)庫(kù)進(jìn)行仿真實(shí)驗(yàn)。首先對(duì)采集到的車(chē)牌圖像灰度化增加對(duì)比度,用Canny算子進(jìn)行邊緣檢測(cè),采用形態(tài)學(xué)處理圖像,篩選查找矩形輪廓,確定車(chē)牌的大體位置[7],然后統(tǒng)計(jì)車(chē)牌輪廓的白色像素點(diǎn),粗定位車(chē)牌輪廓的行列起始位置和終止位置,灰度化二值化上述處理過(guò)的車(chē)牌圖像,設(shè)置閾值,裁剪低于閾值的圖像,實(shí)現(xiàn)車(chē)牌的精確定位[8]。對(duì)精確定位的車(chē)牌圖像進(jìn)行灰度化二值化形態(tài)學(xué)濾波,當(dāng)列累積像素低于設(shè)置的閾值時(shí),該處即為車(chē)牌字符的間隔,由此從右向左切割字符[9]。提前建立各個(gè)省份的簡(jiǎn)稱(chēng)、數(shù)字0~9、字母A~Z的模板庫(kù),將切割好的字符歸一化后與模板庫(kù)里預(yù)存的字符逐一像素點(diǎn)進(jìn)行比較[10],相同則加1,數(shù)值最大即為匹配度最高。
2 車(chē)牌圖像預(yù)處理
3) 對(duì)梯度幅值進(jìn)行非極大值抑制,排除非邊緣像素,保留細(xì)線(xiàn)條。
4) 設(shè)置高閾值和低閾值2個(gè)閾值,若某處像素值高于高閾值,保留為邊緣像素,低于低閾值則排除,介于兩者之間,僅在連接到一個(gè)高閾值時(shí)像素保留[13]。Canny邊緣檢測(cè)后圖像如圖3所示。
2.3 形態(tài)學(xué)處理圖像
數(shù)學(xué)形態(tài)學(xué)的基本運(yùn)算主要包括腐蝕、膨脹、開(kāi)運(yùn)算和閉運(yùn)算,本操作調(diào)用腐蝕函數(shù)imerode,該函數(shù)主要對(duì)圖像的白色(高亮)部分進(jìn)行處理,使其擁有更小的高亮區(qū)域。
對(duì)邊緣檢測(cè)后的圖像進(jìn)行腐蝕操作,腐蝕后的邊緣檢測(cè)圖像如圖4所示。填充操作可實(shí)現(xiàn)二值化圖像空洞區(qū)域的填充,調(diào)用Matlab軟件中的imfill函數(shù),對(duì)腐蝕后的圖像進(jìn)行填充操作,腐蝕后的填充圖像如圖5所示。
2.4 移除小目標(biāo)
由圖5可以看出,該圖像中還存在其他多余部分需要去除,調(diào)用Matlab軟件中的bwareaopen函數(shù),從二值圖像中移除面積小于閾值的連通區(qū)域。經(jīng)過(guò)多次實(shí)驗(yàn),把閾值設(shè)置為2 000時(shí),移除效果最佳,移除小目標(biāo)后的圖像如圖6所示。
3 車(chē)牌定位
國(guó)內(nèi)車(chē)牌定位算法很多,如基于彩色圖像信息的算法、基于紋理特征的算法、基于邊緣檢測(cè)的算法等。基于彩色圖像信息的算法雖然識(shí)別準(zhǔn)確率高,但是運(yùn)算量太大,不能滿(mǎn)足系統(tǒng)的實(shí)時(shí)性;基于紋理特征的算法雖應(yīng)用廣泛,
但抗干擾能力較弱,無(wú)法解決復(fù)雜背景的車(chē)牌定位。本系統(tǒng)采用基于邊緣檢測(cè)的算法,較好的克服了以上缺點(diǎn)。
3.1 矩形輪廓查找與篩選
車(chē)牌區(qū)域具有下面2個(gè)特征:
1) 一個(gè)矩形區(qū)域內(nèi)包含多個(gè)字符。
2) 矩形區(qū)域長(zhǎng)度和寬度成固定比例[14]。
經(jīng)過(guò)圖像的腐蝕填充操作后,車(chē)牌上的字符連成一個(gè)矩形區(qū)域,再根據(jù)上述車(chē)牌特點(diǎn)進(jìn)行進(jìn)一步篩選[15],最終定位車(chē)牌所在的矩形區(qū)域。
3.2 車(chē)牌的粗定位
從左往右統(tǒng)計(jì)車(chē)牌所在矩形區(qū)域白色像素點(diǎn),高于閾值即為車(chē)牌區(qū)域的行起始位置,同理可得車(chē)牌區(qū)域的行終止位置;從上往下統(tǒng)計(jì)車(chē)牌所在矩形區(qū)域白色像素點(diǎn),高于閾值即為車(chē)牌區(qū)域的列起始位置,同理可得車(chē)牌區(qū)域的列終止位置。粗定位后的彩色車(chē)牌圖像如圖7所示,原圖行方向像素點(diǎn)累積和如圖8所示,原圖列方向像素點(diǎn)累積和如圖9所示。
3.3 車(chē)牌的精確定位
對(duì)粗定位后的車(chē)牌圖像進(jìn)行精確定位之前,先對(duì)其進(jìn)行二值化,二值化是將圖像上像素點(diǎn)的灰度值設(shè)置為0或255,使圖像只有黑白兩種顏色。粗定位車(chē)牌二值化后的圖像如圖10所示,粗定位車(chē)牌圖像列方向像素點(diǎn)值累計(jì)和如圖11所示[16]。
由于粗定位之后的車(chē)牌區(qū)域包含車(chē)牌邊框,因此需要去掉車(chē)牌區(qū)域的邊框。去邊框處理方法是從左向右、從上往下統(tǒng)計(jì)行(列)中白色像素點(diǎn)數(shù),當(dāng)出現(xiàn)白色像素點(diǎn)時(shí)即為出現(xiàn)字符時(shí),裁剪未出現(xiàn)白色字符區(qū)域[17]。去除左側(cè)邊框的二值車(chē)牌圖像如圖12所示,精確定位的車(chē)牌二值圖像如圖13所示。
4 字符分割與識(shí)別
4.1 車(chē)牌字符分割
車(chē)牌字符分割最快的方法是模板匹配法,在確定精確定位的車(chē)牌二值圖像后,采用車(chē)牌切割模板(其中H為車(chē)牌字符高度),車(chē)牌切割模板如圖14所示。從左向右掃描精確定位的車(chē)牌二值圖像,可將車(chē)牌字符快速分割出來(lái)。該方法解決了二值車(chē)牌字符黏連和鉚釘?shù)膯?wèn)題,但極度依賴(lài)車(chē)牌二值圖像的精確和規(guī)范性,會(huì)使車(chē)牌出現(xiàn)變形,車(chē)牌分割失敗。
車(chē)牌字符在垂直方向上的投影必然在字符間或字符內(nèi)的間隙處取得局部最小值的附近,利用垂直投影法,車(chē)牌圖像中的字符分割效果[18]較好。首先將精確定位好的車(chē)牌灰度化二值化,設(shè)置閾值T,范圍在0~1之間,在低于閾值的地方裁剪圖像,裁剪后的車(chē)牌圖像如圖15所示。
4.2 車(chē)牌字符識(shí)別
車(chē)牌字符識(shí)別方法主要有神經(jīng)網(wǎng)絡(luò)法和模板匹配法,由于神經(jīng)網(wǎng)絡(luò)法需要多個(gè)樣本進(jìn)行多次訓(xùn)練,并且我國(guó)汽車(chē)牌照字符比較工整規(guī)范,所以本文系統(tǒng)選擇了簡(jiǎn)單快速的模板匹配法。
分割后的車(chē)牌圖像跟模板庫(kù)里的圖像在大小方面有所差距,所以需要改變分割后的車(chē)牌圖像大小,才能與模板庫(kù)里的圖像進(jìn)行比較。調(diào)用Matlab軟件中的imresize函數(shù)改變分割后車(chē)牌圖像的大小[19],對(duì)改變大小之后的圖像和模板庫(kù)中的圖像逐一像素點(diǎn)進(jìn)行比較,相同則加1,數(shù)值最大即為匹配度最高[20]。
4.3 實(shí)驗(yàn)與結(jié)果
在Matlab仿真實(shí)驗(yàn)平臺(tái)下,對(duì)車(chē)牌識(shí)別系統(tǒng)進(jìn)行仿真實(shí)驗(yàn),采用100張不同場(chǎng)景、不同省份、不同品牌的汽車(chē)牌照進(jìn)行測(cè)試。車(chē)牌原圖像如圖16所示,識(shí)別結(jié)果如圖17所示。
統(tǒng)計(jì)結(jié)果顯示,汽車(chē)牌照識(shí)別正確的有79張。由統(tǒng)計(jì)結(jié)果可以看出,本文可以實(shí)現(xiàn)較為準(zhǔn)確的車(chē)牌識(shí)別。
5 結(jié)束語(yǔ)
本文主要基于Matlab軟件對(duì)車(chē)牌自動(dòng)識(shí)別系統(tǒng)進(jìn)行研究。該研究通過(guò)對(duì)采集好的車(chē)牌圖像進(jìn)行圖像預(yù)處理,采用統(tǒng)計(jì)像素法對(duì)車(chē)牌圖像進(jìn)行定位,二值化定位好的車(chē)牌圖像,對(duì)處理過(guò)的車(chē)牌圖像字符分割,采用模板匹配法對(duì)分割好的車(chē)牌字符進(jìn)行識(shí)別,最后采用Matlab軟件進(jìn)行仿真實(shí)驗(yàn)。仿真結(jié)果表明,該系統(tǒng)可有效識(shí)別汽車(chē)牌照,具有一定的實(shí)際意義。但本系統(tǒng)還具有一定的不足,車(chē)牌上的陰影、傾斜和污物、光照強(qiáng)度及天氣條件的變化、攝像機(jī)與車(chē)輛之間的距離變化以及車(chē)牌的旋轉(zhuǎn)等問(wèn)題,都可能造成車(chē)牌識(shí)別不準(zhǔn)確,因此需要進(jìn)一步改進(jìn)。
參考文獻(xiàn):
[1] 劉永俊, 秦立浩, 徐亮. 基于幾何和顏色綜合特征的車(chē)牌自動(dòng)定位及識(shí)別[J]. 常熟理工學(xué)院學(xué)報(bào), 2019, 33(2): 37-42.
[2] 王艷, 謝廣蘇, 沈曉宇. 一種基于MSER和SWT的新型車(chē)牌檢測(cè)識(shí)別方法研究[J]. 計(jì)量學(xué)報(bào), 2019, 40(1): 82-90.
[3] 朱麟. 車(chē)牌字符分割算法的研究比較[J]. 內(nèi)燃機(jī)與配件, 2018(22): 231-233.
[4] 賴(lài)道亮, 趙平, 鐘昆, 等. 面向車(chē)牌字符分割的圖像預(yù)處理方法研究[J]. 計(jì)算機(jī)測(cè)量與控制, 2018, 26(9): 250-254.
[5]? Wang X H, Yu J J, Miao Z H, 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.
[6] Jain A, Sharma J. Classification and interpretation of characters in multiapplication OCR system[C]∥2014 International Conference on Data Mining and Intelligent Computing (ICDMIC). New Delhi, China: IEEE, 2014.
[7] 胡浩, 李俊峰, 沈軍民. 基于機(jī)器視覺(jué)的小磁瓦表面微缺陷檢測(cè)方法研究[J]. 機(jī)電工程, 2019, 36(2): 117-123, 184.
[8] 楊鼎鼎. 汽車(chē)牌照自動(dòng)化識(shí)別若干關(guān)鍵技術(shù)研究[D]. 恩施: 湖北民族學(xué)院, 2018.
[9] 莫文英. 基于圖像處理與機(jī)器學(xué)習(xí)的車(chē)標(biāo)及安全帶識(shí)別研究[D]. 廣州: 廣州大學(xué), 2018.
[10] 趙逸群, 劉富, 康冰. 基于車(chē)牌檢測(cè)的前方車(chē)輛識(shí)別方法[J]. 吉林大學(xué)學(xué)報(bào): 信息科學(xué)版, 2019, 37(2): 168-173.
[11] 洪傳豪, 丁兵兵, 靳偉. 基于OpenCv的車(chē)牌識(shí)別研究[J]. 福建電腦, 2018, 34(12): 5-8.
[12] 楊鼎鼎, 陳世強(qiáng), 劉靜漪. 基于車(chē)牌背景和字符顏色特征的車(chē)牌定位算法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2018, 35(12): 216-221.
[13] 楊文文, 楊國(guó)為, 張魯波, 等. 基于Laws模板濾波的車(chē)標(biāo)定位算法[J]. 青島大學(xué)學(xué)報(bào): 工程技術(shù)版, 2012, 27(3): 46-50.
[14] 陳鼎. 基于Matlab的車(chē)牌識(shí)別系統(tǒng)的研究[D]. 南昌: 南昌大學(xué), 2018.
[15] 李宇琦. 低質(zhì)量監(jiān)控視頻中的車(chē)牌識(shí)別技術(shù)研究與實(shí)現(xiàn)[D]. 南京: 南京郵電大學(xué), 2018.
[16] 黃曉蘭. 基于改進(jìn)極限學(xué)習(xí)機(jī)的車(chē)牌字符識(shí)別方法[D]. 杭州: 中國(guó)計(jì)量學(xué)院, 2014.
[17] 畢波, 邵永謙, 孫冬軍, 等. 基于OpenCV的車(chē)牌識(shí)別[J]. 電子設(shè)計(jì)工程, 2019, 27(1): 37-41.
[18] 張浩. 多信息融合圖像邊緣特征提取及圖像配準(zhǔn)研究與應(yīng)用[D]. 杭州: 浙江大學(xué), 2008.
[19] 駱雪超, 劉桂雄, 馮云慶, 等. 一種基于車(chē)牌特征信息的車(chē)牌識(shí)別方法[J]. 華南理工大學(xué)學(xué)報(bào): 自然科學(xué)版, 2003, 31(4): 70-73.
[20] 黃雨. 基于數(shù)字的模式識(shí)別算法研究[D]. 四平: 吉林師范大學(xué), 2017.