賴特LAI Te(北京航空航天大學(xué)實驗學(xué)校中學(xué)部)(Middle School Department of Experimental School of Beihang University)
基于模板匹配及人工神經(jīng)網(wǎng)絡(luò)算法的圖像識別應(yīng)用
——MATLAB實現(xiàn)機動車牌號碼辨識
賴特
LAI Te
(北京航空航天大學(xué)實驗學(xué)校中學(xué)部)
(Middle School Department of Experimental School of Beihang University)
用于識別車輛牌照的技術(shù)將模式識別和計算機視覺引入到交通領(lǐng)域,該領(lǐng)域?qū)崿F(xiàn)了智能化可協(xié)助規(guī)范與強化交通管理。文章介紹了車牌照自動識別技術(shù)的相關(guān)概念,闡明了車牌圖像處理的具體方法,還詳細(xì)的論述了字符識別與字符分割對車牌字符串提取的作用。同時,還指出加強預(yù)處理、識別算法與識別技術(shù),能夠增強系統(tǒng)的識別能力,從而有效的對拍照識別與分割,這樣有助于車輛拍照自動識別技術(shù)的實際運用,從而為其他自動識別技術(shù)提供參考。
模板匹配;車牌識別;人工神經(jīng)網(wǎng)絡(luò);圖像識別;Matlab
識別的核心是對識別對象的特征進(jìn)行提取,并選擇合適的分類器。首先對其字符大小實施歸一化處理,在全面提取其字符特征時,要與字符的實際結(jié)構(gòu)特征相結(jié)合。在識別字符的過程中以最近鄰法最為常用,這種識別方式的識別效果較好,且具有良好的時效性。經(jīng)過實驗發(fā)現(xiàn),所采取的算法在對牌照展開分割識別時,識別結(jié)果準(zhǔn)確。多種預(yù)處理與識別技術(shù)的運用令系統(tǒng)識別能力大大提升,這對車輛牌照自動識別的實踐應(yīng)用具有良好的借鑒意義。
牌照自動識別具體是指:通過獲取的車輛動態(tài)視頻、靜態(tài)圖像進(jìn)行掃描與識別,利用多種不同的識別技術(shù)確定車牌號碼、牌照顏色。在牌照的自動識別系統(tǒng)中,必須要滿足一定的硬件基礎(chǔ),比如觸發(fā)設(shè)備、照明設(shè)備、識別處理機等;在識別的過程中經(jīng)常采用的算法有多種,其中具有代表性的有:車牌定位算法、車牌字符分割算法、光學(xué)字符識別算法等?,F(xiàn)階段一些技術(shù)還能夠通過視頻圖像對駛?cè)腌R頭的車輛進(jìn)行確認(rèn),也就是理論界所說的視頻車輛檢測的功能。
一般來說,牌照識別系統(tǒng)是有多個組件組合在一起構(gòu)成的,其中包括:圖像截取、車輛檢測、信息識別等。當(dāng)檢測組件感應(yīng)到有車輛接近,就會向圖像截取組件發(fā)送信號截取車輛圖像,并發(fā)送到信息識別組件,對圖片進(jìn)行處理對牌照位置定位,然后利用字符分割逐個識別,最后把識別后的字符組合成完整的車牌號。
2.1 設(shè)計步驟
按照以下步驟操作,就可順利識別牌照
a.定位,在圖片中定位牌照的位置;
b.分割車牌中的字符;
c. 識別分割后的字符,并將識別出來的字符組合成完整的車牌信息。
在牌照識別的各個環(huán)節(jié)中,用于識別牌照顏色的算法也有很多種,不同的算法,所在的環(huán)節(jié)也有所區(qū)別,顏色識別和號碼識別都是必要的存在,兩者相互補充,相互驗證,保障車牌識別結(jié)果更加準(zhǔn)確。
1)牌照定位:
由于自然環(huán)境中存在的很多外在因素,會使采集的車輛圖片處于一個較為復(fù)雜的背景之中,而且容易受到光的影響,因此,需要利用牌照識別來定位牌照在圖片中的具體位置,這是整個系統(tǒng)的核心環(huán)節(jié)之一。具體識別中,第一步就是對車輛的圖片進(jìn)行大面積的搜索,確定幾個候選區(qū)域,對這幾個候選區(qū)域進(jìn)行篩選,最終選擇最佳區(qū)域確定為牌照區(qū)域,并對其進(jìn)行分割處理。
2)牌照字符分割 :
實現(xiàn)對牌照區(qū)域的定位之后,需要對牌照中的字符進(jìn)行分割,將其分割成多個單字符,才能對單字符展開識別。在分割字符時,最常采取垂直投影法以方便后期識別:先進(jìn)行計算以獲得車牌區(qū)域垂直向二值投影圖,在圖中找到波谷點位置,驗證該位置同時符合字符、格式、尺寸等多種條件, 從而根據(jù)這些來對整個車牌字符進(jìn)行分割,并且去除掉字符與字符之間的信息,進(jìn)一步去粗取精。在復(fù)雜環(huán)境下的車牌照字符分割,此法是目前效果較佳的方式之一。
3)牌照字符識別 :
目前常用字符識別方法有兩種: 其一為基于人工神經(jīng)網(wǎng)絡(luò);其二為基于模板匹配。后者在使用時,要先對已經(jīng)分割完成的字符二值化,并根據(jù)模板字符縮放到合適的大小,然后和數(shù)據(jù)庫中留存的模板進(jìn)行匹配,找出匹配度最大的數(shù)據(jù)信息。前者在計算時,又有兩種方法,其一,確定需要識別的字符,并從中歸納出有用特征等待識別,訓(xùn)練神經(jīng)網(wǎng)絡(luò)分配器適應(yīng)和熟悉此類特征即可進(jìn)行識別;其二,直接把需要處理的圖像信息傳到網(wǎng)絡(luò)上,由網(wǎng)絡(luò)自動完成特征提取和識別并得出結(jié)果。在我們?nèi)粘I钪校普兆R別系統(tǒng)越來越普及,識別效果還取決于拍攝和牌照自身質(zhì)量。其中字體褪色、剝落油漆、生銹、假牌照、多牌照或者被遮檔等等都會影響牌照質(zhì)量。而車輛的速度、拍攝亮度、環(huán)境等各方面的因素也會干擾實際拍攝。上述這些因素均會影響牌照識別效果,這也是制約牌照識別系統(tǒng)發(fā)展的主要因素之所在?;诖?,需要進(jìn)一步優(yōu)化識別算法,攻克上述可能影響的因素,促進(jìn)圖像識別率的提高。
2.2 實現(xiàn)各模塊
1)輸入待處理的原始圖像(見圖1):
圖1 待處理的原始圖像
2)圖像的灰度化:
彩色圖像中含有各種與顏色有關(guān)的信息,其需要花費大量的存儲空間,影響系統(tǒng)執(zhí)行效率。所以在處理圖像時,為了提高處理效率,通常將彩色圖像轉(zhuǎn)變?yōu)榛叶葓D像,即灰度化處理,通過灰度變換,擴(kuò)大像素動態(tài)區(qū)域,使圖像對比度得到擴(kuò)展,得到更加清晰的圖像,使圖像識別更加方便準(zhǔn)確(見圖2)。
圖2 圖像的灰度化
3)開操作并獲取圖像背景圖像(見圖 3):
圖3 獲取的圖像背景圖像
4)取得最佳閾值,二值化圖像:
所謂二值圖像一般指一幅完整的圖像中圖像僅有黑、白二值(見圖4),其關(guān)鍵在于合理確定閥值,分離背景、字符。經(jīng)系統(tǒng)處理過的圖像保形性佳,不會形成空缺或者丟掉有用的形狀信息。車牌識別系統(tǒng)需要具有處理速度快,成本低,信息全等特點,借助于二值圖像法,基本能夠滿足這些特點要求,使處理效率得到提高。閾值處理的關(guān)鍵是生成閾值,閾值可由計算法生成,也可由用戶指定,假設(shè)閾值大于圖的像素灰度,則需把該像素的灰度設(shè)置為0或255,如果像素的灰度值大于閾值,則設(shè)置成255或0(見圖5、圖6、圖7)。
圖4 車牌二值圖像
圖5 均值濾波后
圖6 膨脹或腐蝕處理后
圖7 目標(biāo)車牌區(qū)域
5)邊緣檢測:
由于灰度值不連續(xù),所以相鄰區(qū)域間不同灰度值,會形成邊緣。邊緣是提取圖像分析的前提條件,比如分割圖像、提取形狀、紋理特征等等。分類有意義的邊緣點,就需要在該點的背景上有效地區(qū)分出與該點有關(guān)的灰度?;诖?,可結(jié)合門限法,判定其值是否有效。假設(shè)相較指定的門限,點的二維一階導(dǎo)數(shù)較大,即可初步認(rèn)為該點為邊緣點。提前設(shè)定好標(biāo)準(zhǔn),再連接符合標(biāo)準(zhǔn)的邊緣點,即形成邊緣。接著對一階邊緣導(dǎo)數(shù)進(jìn)行檢測 ,所得到的導(dǎo)數(shù)高過閾值,就可確定為邊緣點,通過此法,可檢測出很多邊緣點。再結(jié)合梯度局部最大值對應(yīng)點,去除非局部最大值對應(yīng)點,進(jìn)一步認(rèn)定邊緣點,最后,若二階導(dǎo)數(shù)的零交叉點剛好對應(yīng)于一階導(dǎo)數(shù)局部最大值,這樣一來,即可通過零交叉點(圖像強度大的)精準(zhǔn)確定邊緣點.(見圖8)
圖8 canny算子邊緣檢測精確確定邊緣點
6)對得到圖像作開操作進(jìn)行濾波
數(shù)學(xué)形態(tài)非線性濾波有著超乎想像的功能,如提取特征、分割圖像、檢測邊緣以及抑制噪聲污染等??梢詫崿F(xiàn)邊界點消除的腐蝕操作有縮小目標(biāo),增大孔洞的作用,所以在實際運用中,可以極大的減少干擾;膨脹就是把和目標(biāo)接觸的所有背景點合并在一起的過程;也可以說是把全部的背景點和物體全并到一起,達(dá)到縮小孔洞,增大目標(biāo)的結(jié)果,通過該方法,使目標(biāo)物體中的空洞得到彌補,形成連通域。
開運算,也就是先腐蝕,而后膨脹的過程,這一過程可消除細(xì)小的物體,同時可形成邊界,區(qū)分纖細(xì)分離物體、平滑較大的物體;閉運算,則剛好相反,指的是先膨脹而后腐蝕的一個過程,這一過程能夠把物體內(nèi)的細(xì)小空洞填充起來,通過連接平滑邊界以及鄰近物體,使它的主要作用得到體現(xiàn)。對圖像先后應(yīng)用了開運算和閉運算,在閉運算中圖像的輪廓更加光滑,具有消除長細(xì)的鴻溝、狹窄的間斷、小孔洞等作用,同時還可避免輪廓線發(fā)生斷裂的情況。(見圖9、圖10、圖 11)
圖9 腐蝕后圖像
圖10 平滑圖像的輪廓
圖11 從對象中移除小對象
7)提取二值圖像,計算可表示區(qū)域特征的參數(shù),對比分析,最終提取車牌區(qū)域(見圖12)。
(1) 標(biāo)記各區(qū)域的圖像,并通過計算得出如下可反映圖像特征的參數(shù):其一面積;其二最小包含矩形;其三區(qū)域中心位置。
(2)通過計算得到標(biāo)記范圍內(nèi)的最小高、寬等,結(jié)合先驗知識,同實際車牌(主要比較高寬)對比,對比標(biāo)記中哪個區(qū)域的值更加符合實際,提取更接近于實際車牌的值。分析其峰谷、水平投影,并在此基礎(chǔ)上分別計算出車牌字符投影、邊框以及車牌下邊框的如下參數(shù):其一是波形峰上升點;其二是峰下降點;其三上峰中收位置參數(shù);其四是峰寬;其五是谷寬;其六是峰間距離
8)車牌旋轉(zhuǎn)角度的計算方法
(1)車牌投影效果峰股谷不顯著,這與車牌傾斜有關(guān),因而有必要矯正車牌。為矯正車牌主要運用了線性擬合法,通過計算可以得出水平X軸與擬合直線的夾角,該線由上、下邊圖像值為1的點構(gòu)成(見圖13)。
①擬合直線,計算其與X夾角
②旋轉(zhuǎn)車牌圖像
(2)計算字符、車牌的寬度,在此之前需通過計算得出車牌垂直投影,同時將車牌垂直邊框去掉。
圖12 標(biāo)記范圍內(nèi)列方向像素點灰度值和灰度值累計
圖13 用線性擬合法矯正車牌
9)去水平(上下)邊框, 獲取字符高度:
(1)分析計算上述垂直投影、水平投影,得出字符首行、尾行、高度、寬度,以及所有字符的中心位置等。
(2)計算字符、車牌的寬度,在此之前需要求出車牌垂直投影,并去掉車牌垂直邊框。
(3)挨個計算車牌各字符的中心位置以及最大字符寬度maxwidth
(4) 找出分割字符,轉(zhuǎn)化成標(biāo)準(zhǔn)子圖,采取的標(biāo)準(zhǔn)為22行*14列標(biāo)
10)自動識別字符代碼,匹配樣本庫與通過計算所獲得的字符圖像(見圖14)
通過樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò),在此基礎(chǔ)上識別車牌號。其具體流程如下,首先訓(xùn)練四個子網(wǎng)絡(luò):其一漢字;其二字母;其三字母數(shù)字;其四數(shù)字,并得出相應(yīng)的權(quán)值、節(jié)點數(shù)。預(yù)處理那些已經(jīng)明確的車牌圖像,依次提取圖像特征,并讀取文件中的權(quán)值、節(jié)點數(shù),最后將車牌字符數(shù)送入網(wǎng)絡(luò)識別,最終輸出結(jié)果,完成識別。
圖14 自助識別字符代碼
圍繞車牌識別系統(tǒng)展開分析研究,重點研究了其軟件部件,較為系統(tǒng)的分析了如下幾方面:其一預(yù)處理圖像;其二定位車牌位;其三分割字符;其四識別字符,并在此基礎(chǔ)上分析了國內(nèi)外關(guān)于這一領(lǐng)域的部分研究成果,歸納了我國車牌子識別的特點、固有特征。在定位車牌這一個問題上,較為創(chuàng)新的引用了灰度跳度定位法,預(yù)處理了圖像,在此基礎(chǔ)上展開二值化操作。通過實驗驗證,該方法一方面可較為完全的保留與車牌區(qū)域有關(guān)的信息,另外一方面在此過程中所形成的干擾是最小的,精確了二值化處理效果,這對于后續(xù)的處理具有很大的裨益。在定位中還采用了基于彩色分量的定位法,在定位藍(lán)色的車牌時,運用了藍(lán)色象素點統(tǒng)計特征,通過實驗,最后驗證,本法可較為準(zhǔn)確的定位車牌。采用MATLAB編程運行結(jié)果,分析本實驗中所采取的定位車牌的方法均有一定優(yōu)勢,其包括:開閉運算子、CANNY邊緣檢測、圖像預(yù)處理以及結(jié)合車牌特征處理識別等等。另外本實驗在精準(zhǔn)分割車牌字符方面也有一定創(chuàng)新處,比如通過測算旋轉(zhuǎn)角度、邊框的方法,這其中使用了閾值技術(shù)以及二次水平投影分析等方法。最后雖說設(shè)計僅分割識別了藍(lán)底白字車牌,原則上可直接適用于黑底白字車牌的,而在調(diào)整車牌定位算法的基礎(chǔ)上,還可定位黃底黑字、白底黑字車牌,反轉(zhuǎn)圖像,其分割算法仍有效。
[1]張云剛,張長水.利用Hough變換和先驗知識的車牌圖像的檢測與定位算法[J].計算機學(xué)報,2004,27(1):130.
[2]吳進(jìn)軍,杜樹新.車牌圖像的檢測與定位新方法[J].工業(yè)控制計算機,2005,18(4):69-70.
[3]遲曉君,孟慶春.基于投影特征值的車牌圖像的檢測與定位算法[J].計算機應(yīng)用研究,2006,7(1):256-257.
[4]王興玲,最大類間方差車牌圖像的檢測與定位的模板匹配算法[J],計算機工程,2006,32(19):193-195.
[5]楊高波,杜青松.MATLAB圖像、視頻處理應(yīng)用及實例[M].北京:電子工業(yè)出版社,2010.
[6]劉衛(wèi)國,MATLAB程序設(shè)計教程[M].北京:中國水利水電出版社,2010.
[7]李云,車牌定位與字符分割算法的研究及實現(xiàn)[M].成都:電子科技大學(xué),2010:21-23.
[8]馬婉婕,車牌識別系統(tǒng)中字符分割的研究與實現(xiàn)[D].復(fù)旦大學(xué),2009.
[9]白建華,車牌圖像的檢測與定位及識別算法研究[D].西安電子科技大學(xué),2010.
[10]ICS 43.040.60.GA36—2007中華人民共和國公共安全行業(yè)標(biāo)準(zhǔn).
Implementation of Image Recognition Based on Template Matching and Artificial Neural Network Algorithm——Image Recognition of Motor Vehicle License Plate By Using Matlab
The vehicle license plate automatic recognition technology pattern recognition and computer vision gradually applied in the field of intelligent transportation, to standardize and strengthen the traffic management. This paper introduces the related concepts of automatic lic ense plate recognition technology, expounds the concrete method of license plate image processing, and detailed discusses the character reco gnition and the role of character segmentation of license plate string extraction. At the same time, this article also points out that strengthen p retreatment, recognition algorithm and recognition technology, can enhance the ability to identify the system effectively for photo identificati on and segmentation, this helps the vehicle photos practical application of the automatic identification technology, so as to provide reference for other automatic identification technology.
template matching; license plate recognition; artificial neural network; image recognition; Matlab