喻曉,李慕龍,張礽婧,周曉思
(武漢大學電子信息學院,湖北武漢430079)
隨著我國城市規(guī)模的急劇擴大,對智能交通系統(tǒng)(ITS)的需求越來越迫切。車牌照自動識別技術(shù)廣泛應用于闖紅燈車輛監(jiān)控、停車場管理、電子收費系統(tǒng)等領(lǐng)域[1]。完整的車牌識別系統(tǒng)一般分為3部分:車牌定位、字符分割和字符識別,其中車牌定位技術(shù)是整個車牌識別系統(tǒng)的核心,直接影響整個識別系統(tǒng)的速度和準確率。
目前已有的車牌定位算法眾多,包括邊緣檢測、數(shù)學形態(tài)學[2]、小波分析[3]、投影法、顏色特征提取和神經(jīng)網(wǎng)絡(luò)[4]等。基于邊緣檢測、數(shù)學形態(tài)學及小波分析的方法,定位較準確,但在背景信息復雜或車牌上方有引擎散熱孔的圖像中容易產(chǎn)生錯誤定位。而投影法速度較快,很難區(qū)分車牌文字與車燈區(qū)域,因而準確率低?;陬伾卣骱蜕窠?jīng)網(wǎng)絡(luò)的方法定位準確,但是運算速度慢,并且受天氣、光照及車牌磨損等情況的影響較大。
由于以上各種單一方法的明顯局限性,提出了一種綜合邊緣檢測、數(shù)學形態(tài)學、彩色特征和投影法的算法,通過質(zhì)心排序去除了引擎散熱孔及其他邊緣豐富區(qū)域的干擾,并通過谷值分析補全車牌區(qū)域。實驗結(jié)果表明該方法克服了以往各種定位方法的缺點,既提高了定位的準確性,也保證了定位的實時性和魯棒性。
由于彩色的車牌中富含的信息量太大,干擾強,故不適合做直接分析。因此,往往將彩色的RGB圖像轉(zhuǎn)成灰度圖再進行處理。待定位的車牌區(qū)域含有較多字符,邊緣量豐富。而車身背景中的邊緣量較少,并不密集。因此,可以用邊緣檢測的方法對灰度圖做預處理。
由于邊緣是圖像上灰度變化較為劇烈的地方,在灰度突變處進行微分則會得到突起值,因此,在數(shù)學上可用灰度的導數(shù)來表示邊緣。而在實際應用中往往采用的是邊緣檢測算子,通常使用的邊緣檢測算子有:Sobel算子、Prewitt算子、Roberts算子和Canny算子等。本實驗采用的是Sobel算子,對水平邊緣分量和垂直邊緣分量同時進行檢測。
數(shù)學形態(tài)學的基本思想是利用“結(jié)構(gòu)元素”來收集圖像信息[5]。結(jié)構(gòu)元素可被當成探針,當探針在圖像中移動時,便可考察圖像各部分之間的相互關(guān)系,從而了解圖像的結(jié)構(gòu)特征。其算法為:
1)先進行數(shù)學形態(tài)學閉運算:其可簡單定義為先膨脹再腐蝕。閉運算一般會將狹窄的缺口連接起來形成細長的彎口,并填充比結(jié)構(gòu)元素小的洞。這樣便可以連接鄰近物體,在不明顯改變物體面積的情況下起到平滑邊界的作用。
閉運算定義為:
實驗結(jié)構(gòu)如圖1、圖2所示。
圖1 車輛原圖Fig.1 Original drawing of vehicles
圖2 形態(tài)學閉運算Fig.2 Morphological closing
2)再進行數(shù)學形態(tài)學開運算,可簡單定義為先腐蝕再膨脹。開運算后完全刪除了不能包含結(jié)構(gòu)元素的對象區(qū)域,平滑了對象輪廓,斷開了狹窄的連接,去掉了細小突出部分。
開運算定義為:
實驗結(jié)構(gòu)如圖3所示。
圖3 形態(tài)學開運算Fig.3 Morphological opening
對待選區(qū)域的傳統(tǒng)處理方法有多種,其中包括面積排序,長寬比排序和顏色識別。
1)面積排序由于無法保證車牌區(qū)域的邊緣分量最豐富。當車體上圖案較多,或車燈紋理較為明顯時,對定位準確率的干擾很大。
2)長寬比排序數(shù)學形態(tài)學處理后,常常引入了較多符合車牌長寬比特性的區(qū)域。而且當車牌角度出現(xiàn)偏差時,長寬比判定的準確率明顯下降。
3)顏色識別在多數(shù)情況下可以識別車牌,但是當車體上有較為豐富的圖案且顏色與車牌顏色相近時,顏色識別的準確率便大大下滑。
對于絕大多數(shù)汽車來說,車牌基本位于車輛的最底部,而車牌下部不像車身那樣擁有大量文字或圖案,給識別帶來干擾,它形式較為單一,這給識別帶來極大方便。同時,地面因為樣式單一,干擾量更是微小。因此,可采用對候選區(qū)域進行自下而上檢測的方式。
然而,還需注意的是,車燈往往與車牌區(qū)域平行,其邊緣量也很豐富,故其干擾相對較大??紤]到車燈多數(shù)為紅色,白色或透明,和車牌顏色相差較大,因此可以用顏色識別來區(qū)分車牌區(qū)域和車燈區(qū)域。故本實驗采用質(zhì)心檢測與顏色識別相結(jié)合的方法。先對待選區(qū)域質(zhì)心的縱坐標進行排序,并由圖像最底部向上進行檢測。
首先,將候選區(qū)域內(nèi)各像素點由RGB模型轉(zhuǎn)為HSV模型,即色度(Hue)、飽和度(Saturation)和強度(Value)[6]。由于直接轉(zhuǎn)成HSV模型后,均勻量化的結(jié)果導致量化數(shù)據(jù)量巨大。而在車牌識別中只需要對特定的幾種顏色進行識別,不需要將各種顏色詳細區(qū)分開來,量化過細反而會造成顏色判斷的歧義,導致結(jié)果失真。因此,可采用非均勻量化的方法來減少量化級別,提高計算效率。同時,非均勻量化還可將相似的顏色歸為同一顏色,大大減小了算法的復雜度。將色度分為16個等級,飽和度和強度各分3個等級。其算法過程為:
1)對候選區(qū)域各個像素點的H、S、V值進行統(tǒng)計;
2)找到H、S、V 3個變量的最大值點H_max、S_max、V_max,這幾個特征值便能代表整個區(qū)域的顏色特征信息;
3)顏色判斷的算法為
if(V_max==2&&S_max==0)
{
Color=0;//車牌為白底黑字
break;//跳出判別候選區(qū)域是否為車牌的循環(huán)
}
if(H_max==2)
{
Color=1;//車牌為黃底黑字
break;//跳出判別候選區(qū)域是否為車牌的循環(huán)
}
if(H_max==9||H_max==10)
{
Color=2;//車牌為藍底白字
break;//跳出判別候選區(qū)域是否為車牌的循環(huán)
}
else
{
由質(zhì)心檢測排序查找下一候選區(qū)域,再做如上判定循環(huán)。
}
實驗結(jié)果證明,該算法識別準確率比傳統(tǒng)算法高,能對車身有大量圖案干擾的車輛進行準確識別。質(zhì)心位置檢測可以排除顏色與車牌相近的車身圖案、標志的干擾。顏色識別則可以排除位于車牌附近車燈、保險杠等干擾。
在粗定位的候選區(qū)域里,常會存在錯誤和誤差。錯誤大多是因為在車牌下部還附帶有文字廣告,警示語等。而誤差的產(chǎn)生大多是由于圖像清晰度低或曝光不足等因素導致的車牌識別中字符間斷裂等情況。
為解決此類問題,采用豎直分量投影[7]的方法。選取能包含待選區(qū)域且與原圖像等寬的最小區(qū)域的灰度圖,利用以下公式將相鄰2個像素點兩兩進行相減再求和,即可求得該列上邊緣信息的變化情況。
將每一列的投影值均計算出來后,即可作出候選區(qū)域的投影圖,如圖4,5,6,7所示。
圖4 圖1中左車投影前Fig.4 Original of the left car in Fig.1
圖5 圖4的投影圖Fig.5 Projection of Fig.4
圖6 圖1中右車投影前Fig.6 Original of the right car in Fig.1
圖7 圖6的投影圖Fig.7 Projection of Fig.6
由投影圖可以看出,有字符的區(qū)域有明顯峰值,而字符之間均為谷值。通過該峰谷的交替變換,即可判斷字符的位置和數(shù)量。
在實際操作過程中,有時選區(qū)域是由其他字符組成,如廣告或字符圖案,其特征與車牌特征過于相似,導致一般方法很難將其區(qū)分開來。此時,可采用谷值數(shù)量檢測的方法判斷字符數(shù)目來區(qū)分車牌與字符圖案。另外由于圖像曝光等原因,導致字符處出現(xiàn)斷裂,使車牌區(qū)域變成兩個候選區(qū)域。因此,在最終輸出時往往只能輸出車牌的一部分,而不是全部。為了解決字符斷裂的問題,采用谷值跟蹤技術(shù)。即由質(zhì)心點分別向左右兩側(cè)檢測谷值處,并統(tǒng)計谷值的個數(shù)。對于普通車牌,即7個字符,應有6個谷值點。當檢測到確實為6個谷值點時,則找到車牌,當檢測谷值點小于6個時,放寬閾值,繼續(xù)檢測,直到谷值點為6個為止。具體操作過程為:
1)找到投影圖像的峰值peak,并將整個投影圖像二值化。即:
if(投影點處數(shù)值>0.6*peak)
{投影點處數(shù)值賦值為1;
}
else
{投影點處數(shù)值賦值為0;
}
這樣便可得到二值化的投影圖如圖8所示。
圖8 投影二值化Fig.8 Binary of the projection
2)由質(zhì)心處分別向兩邊進行檢測。1值作為起點,當檢測到下個點也為1時,再繼續(xù)檢測下個點;當檢測到下個點為0時,num_zero=num_zero+1,再繼續(xù)檢測下len個點,若len個點中有一個為1,則把這個點當作起點繼續(xù)檢測。若len個點均為0,則最后的1值處即為車牌的端點處。
3)若num_zero=6,則車牌區(qū)域完整,跳出循環(huán)。若num_zero<6,放寬閾值len_new=1.2*len,再進行檢測。直到len_new=2*len時,若還未跳出循環(huán),則說明該區(qū)域不是車牌區(qū)域,轉(zhuǎn)入上層循環(huán),查找下一候選區(qū)域。
結(jié)果表明,在該細定位的算法下,車牌識別較為準確,只有少數(shù)車牌出現(xiàn)字符斷裂的情況。出現(xiàn)斷裂的車牌圖像是因為車牌尾字符為數(shù)字1,在做差分投影時,其顯示為谷值,故漏檢一位字符。針對此種情況,將最終定位的車牌邊緣值與初始候選區(qū)域的邊緣值相比較,若投影后的邊緣值小于候選區(qū)域1個字符長度以上,則認為其尾字符在差分投影中被減掉,可將其補上。最終輸出車牌圖像如圖9所示:
圖9 最終輸出車牌Fig.9 Ultimate output of the license-plate
實驗所采用的圖像為640×480像素256級灰度圖像,其中車牌包括小型民用車牌照(藍底白字)、大型民用車牌照(黃底黑字)、軍用牌照(白底黑字)。圖像中車牌所占的大小比例各異,背景不同,其中部分車輛車身有明顯的字符圖案和粘貼的警示語。在集中檢測的80幅圖中正確檢測了77幅,漏檢1幅,誤檢2幅。漏檢圖像由于車牌掉色過于嚴重,導致最后幾位字符無法檢測;而誤檢的兩幅圖是因為車牌底部有顏色、字符均與車牌相近的廣告語,無法將其與車牌區(qū)分開來。該問題可以在車牌定位之后的字符識別環(huán)節(jié)中可以得到解決。
本文提出的算法綜合了質(zhì)心檢測排序,顏色判別和投影法字符跟蹤檢測的方法。該算法通過質(zhì)心檢測排序的方法解決了車身上部文字花紋和廣告語、警示語對車牌識別的干擾;通過顏色識別排除了類似車燈區(qū)域等有著高邊緣特性區(qū)域?qū)嚺茀^(qū)域的干擾;而投影法字符跟蹤檢測算法解決了在精確車牌字符定位中字符斷裂、缺損等情況的發(fā)生。該算法定位檢測準確率高,且抗干擾能力強,在實際應用過程中是可行有效的。
[1]李偉,朱偉良,孔祥杰,等.一種新型的基于數(shù)學形態(tài)學和顏色特征車牌定位算法[J].科技通報,2009,25(2):214-219.
LI Wei,ZHU Wei-liang,KONG Xiang-jie,et al.A new fast vehicle license plate location algorithm on mathematical morphology and color feature[J].Bulletin of Science and Technology,2009,25(2):214-219.
[2]王文濤,馬啟新,杜鵬飛.基于邊緣檢測和數(shù)學形態(tài)學的車牌定位[J].中南民族大學學報:自然科學版,2008,27(4):83-87.
WANG Wen-tao,MA Qi-xin,DU Peng-fei.Based on edge detection and mathematical morphology of license plate location[J].Journal of South-Central University for Nationalities:Natural Science Edition,2008,27(4):83-87.
[3]張國才,王召巴.小波變換在車牌定位中的應用[J].機械管理開發(fā),2010,25(1):199-200.
ZHANG Guo-cai,WANG Zhao-ba.The application of wavelet transformation in vehicle plate location[J].Mechanical Management and Development,2010,25(1):199-200.
[4]周科偉.Matlab環(huán)境下基于神經(jīng)網(wǎng)絡(luò)的車牌識別[D].西安:西安電子科技大學,2009.
[5]岡薩雷斯,伍茲,埃丁斯,等.數(shù)字圖像處理:MATLAB版[M].北京:電子工業(yè)出版社,2005:250-284.
[6]郭大波.彩色汽車圖像車牌定位技術(shù)分析[J].山西大學學報:自然科學版,2005,28(1):40-43.
GUO Da-bo.License plate location of colored car image[J].Journal of Shanxi Universtiy:Natural Science Edition,2005,28(1):40-43.
[7]陳利.車牌識別系統(tǒng)中的字符分割技術(shù)研究[J].電腦知識與技術(shù),2008,4(7):1693-1694.
CHEN Li.Research of characters segmentation technology in VLPRS[J].Computer Knowledge and Technology,2008,4(7):1693-1694.