薛 丹,孫萬蓉,李京京,賈海龍,楊子峰,王 政
(西安電子科技大學 電子工程學院,陜西 西安710071)
汽車牌照識別(LPR)系統(tǒng)是智能交通系統(tǒng)的核心部分,也是目前計算機與圖像模式識別領域的一個重要課題。該系統(tǒng)一般包括車牌定位、字符分割、字符識別3種技術(shù),其中字符識別技術(shù)是整個系統(tǒng)的難點。目前常用的字符識別方法主要有兩類:(1)模板匹配法[1];(2)神經(jīng)網(wǎng)絡法[2]。方法(1)識別速度快,但抗干擾能力較弱,受光照、噪聲等因素影響較大,且準確率較低。方法(2)一般具有良好的適應性,抗干擾能力強、準確率高,但識別速度較慢,且識別過程中容易產(chǎn)生過學習的現(xiàn)象。目前,SVM方法已被廣泛應用于模式識別等領域,針對車牌字符識別的問題,文中提出特征提取時運用網(wǎng)格、水平投影與垂直投影密度相結(jié)合,在充分降低特征向量維數(shù)的基礎上,利用C-SVM進行車牌識別,最終獲得了較高的識別率。
為提高識別正確率,首先,需對分割好的字符進行歸一化處理,使每個字符大小均為48×24。對歸一化的字符進行細化處理,使之成為筆畫只有一個像素的圖片。然后對圖片進行特征提取,提取圖片的網(wǎng)格特征、水平投影特征與垂直投影密度特征,將這3種方法提取的特征組成特征向量集,該特征向量集的維數(shù)為144。最后利用得到的特征向量集進行SVM初次識別,識別結(jié)果中若含有易混淆的字符,則根據(jù)字符特有的像素特征進行二次識別,得出字符最終識別結(jié)果[3]。具體算法的流程如圖1所示。
車牌分割得到的字符通常大小不一,差別較大,為了提高識別率,減少誤差,通常對字符做預處理操作。文中算法字符預處理包括字符歸一化處理和細化處理[4-5]。其中字符歸一化包括大小歸一化和質(zhì)心歸一化。質(zhì)心歸一化算法復雜,且處理之后字符形狀變化較大,在此僅進行字符大小歸一化處理。首先統(tǒng)計字符的垂直投影和水平投影,分別從上、下、左、右4個邊框位置向內(nèi)掃描,記錄初次出現(xiàn)投影值≥1的位置,并將該位置作為新的邊框,邊框之外的部分進行裁剪,這便沒有多余的邊框存在,減小了后續(xù)特征提取的誤差。然后對空隙點采用最近鄰插值算法,將字符大小統(tǒng)一為48×24。
圖1 字符識別流程圖
細化即經(jīng)過每層的剝離,從圖像中去掉一些點,但仍保持原來的形狀,最終使每個筆畫只含有一個像素的過程,類似于圖像骨架化。在識別過程中,字符筆畫粗細不同會影響字符的識別率。為提高識別率,消除冗余點,本算法對歸一化后的字符采用形態(tài)學細化方法將字符筆畫寬度細化成只有一個像素。便可大幅減少筆畫粗細不一所帶來的誤差。采用Matlab自帶的函數(shù),BW2=bwmorph(BW,operation,n)命令。BW2是細化之后的圖像,BW為待細化圖像,operation選擇thin,n選擇Inf。由此完成了對字符的細化處理。
常用的統(tǒng)計字符特征的方法有網(wǎng)格特征法、全像素特征法、13點特征法、投影特征法和外圍輪廓特征法等。網(wǎng)格特征法是將整個字符圖像分割成多個小的圖像塊,然后統(tǒng)計每個小圖像塊的有效像素值之和,最終將這些小圖像的有效像素值之和進行排列生成特征向量。其中,全像素特征和13點特征均是網(wǎng)格特征的變異,本質(zhì)是相同的。網(wǎng)格法的精確度取決于所分割的小圖像塊的大小,若過小造成字符特征向量維數(shù)過高,過大(如13點特征法),則無法有效提取字符的細節(jié)信息。網(wǎng)格法反映字符整體特征的能力較弱,在識別過程中,特征提取僅使用網(wǎng)格法準確率較低。外圍輪廓特征法是掃描整幅圖像,分別記錄上、下、左、右4個方向上像素值不為0的第一個點所在位置,這些位置信息組成的特征向量集便是字符的外圍輪廓特征向量集。輪廓法中特征向量集的維數(shù)是2×(m+n),m表示字符二值圖像的行數(shù),n表示字符二值圖像的列數(shù)。輪廓法對內(nèi)部細節(jié)特征的提取較少,對于內(nèi)部筆畫復雜的字符識別率不高。投影方法計算簡單、速度快,但細化能力弱。為此文中采用網(wǎng)格、水平投影與垂直投影密度3種特征提取法提取特征。因此既有字符的整體輪廓特征,又有內(nèi)部細節(jié)特征,且特征向量維數(shù)充分低。
首先,對預處理后的字符統(tǒng)計像素值,分別計算垂直投影和水平投影。在垂直方向上,將每列的投影值除以字符總的像素值得到垂直投影密度,該密度特征反映的是每一列像素值所占整個字符像素值的比例,比起單純的垂直投影,更能反映每列像素在整幅圖像中的分布情況。將水平投影值依次排成一列,共48維。垂直投影密度排成一列,共24維。然后將字符分為72個小網(wǎng)格,每個網(wǎng)格的大小為4×4。統(tǒng)計每個網(wǎng)格的像素值之和,共得到(48×24)/(4×4)個值,即72個,將這72個值依次排成一列組成72維向量。將網(wǎng)格法、水平投影和垂直投影密度這3種方法得到的向量依次連接組成一列。由此,垂直投影密度與水平投影共48+24=72維,加上網(wǎng)格法得到的72維總共形成72×2=144維的特征向量集。由此可見文中所得到的特征向量集的維數(shù)是全像素特征提取法維數(shù)(48×24)的1/8,在保證字符特征的同時充分降低了特征向量的維數(shù)。若僅使用輪廓提取法得到的特征向量維數(shù)為2×(48+24)=144,與本算法維數(shù)相同。但輪廓法反映的信息不夠全面,不能較好地反映字符尤其是漢字字符的內(nèi)部細節(jié)特征。
支持向量機[6-9](Support Vector Machine,SVM)是Corinna Cortes和Vapnik8等在20世紀90年代提出的一種機器學習方法,在解決小樣本、非線性及高維模式識別問題上有著明顯優(yōu)勢。SVM通過構(gòu)造函數(shù)將輸入空間映射到高維特征空間,在高維特征空間中基于結(jié)構(gòu)風險最小化原則得到最優(yōu)超平面,使分類的期望誤差最小。
文中采用C-SVM算法。假設對于訓練向量xi∈R,i=1,2,…,l,yi表示xi所屬類別,即yi∈{1,-1},i=φ(xi)表示xi的映射。分類面:(·)+=0。即該算法可描述為
其中,s.t.表示約束條件。
上述問題是一個二次規(guī)劃問題,其最優(yōu)解可根據(jù)拉格朗日函數(shù)求出,故可轉(zhuǎn)換為如式(2)所示的對偶問題
其中,K(xi,xj)=φ(xi)Tφ(xj)是核函數(shù)。
其中,xi表示訓練得到的支持向量;yi為xi所對應的分類取值。K(xi,x)表示訓練時所用的核函數(shù),此處仍然選擇徑向基函數(shù)。通過匹配計算得出待測數(shù)據(jù)x的決策值,匹配計算完所有的分類器,累計各類別的得分,選擇得分最高者為x的所屬類別。最后將該類別作為初次識別的決策結(jié)果。
在初次識別中,數(shù)字2與字母Z,數(shù)字0與字母D容易混淆。其內(nèi)外部特征均極其相似。目前多數(shù)算法均未專門針對這一問題提出解決辦法。通過觀察2與Z的細化圖可發(fā)現(xiàn),其最大不同在于上半部分,Z有一行像素連續(xù),像素值達到了峰值,而2則沒有,2的行峰值在下部,根據(jù)該判斷條件,可較容易的將2與Z分開。而0與D的區(qū)別則在于左半部分,D中一列連續(xù)像素的頂點距離弧度頂點像素的距離<5,而0則>5,根據(jù)這一特點便可將0與D分開。在其他大部分算法中,Q與D,Q與0容易混淆,而在文中的算法,其卻并不容被混淆,故不屬于易混淆字符,無需二次識別。但需注意,在實際車牌識別中,車牌第二位確定是字母,不需要二次識別,二次識別只需在后5位進行。二次識別算法的具體流程如圖2所示,從流程圖可看出,本算法根據(jù)各自的像素特征區(qū)分易混淆字符。最終識別的結(jié)果如圖3所示,其中圖3(a)表示為定位后的彩色車牌圖片,圖3(b)為圖3(a)中車牌運用本算法得到的對應識別結(jié)果。從圖3可知,運用文中提出的算法,易混淆字符也可被準確識別[11]。
圖2 二次識別的流程圖
圖3 最終識別結(jié)果
本算法在Intel(R)Pentium(R)4 CPU 2.8 GHz,512 MB RAM的機器上用Matlab7.1仿真,平均每個字符的識別時間約為1.08 s,能夠滿足實時性要求。在訓練樣本中漢字字符186幅,字母與數(shù)字共204幅,已訓練的字符識別正確率達到100%。未經(jīng)訓練的字符1 545幅,識別正確率約為98.10%。其中,漢字字符的測試樣本165幅,識別正確157幅,正確率約為95.15%。數(shù)字字符測試樣本602幅,識別正確597幅,正確率約為99.34%。字母字符測試樣本388幅,識別正確379幅,正確率約為97.68%。具體測試字符的識別結(jié)果如表1所示。
表1 測試字符識別結(jié)果
表2 本文方法與其他特征提取方法效果對比
表2給出了文中提出的算法與其他文獻同類算法的效果對比。從表2可看出,單獨使用網(wǎng)格提取、粗像素提取、輪廓提取中的任意一種進行特征提取時正確率均不理想,而本算法正確率較高,效果優(yōu)于文獻中其他4種算法。
實驗結(jié)果表明,本算法識別率高,魯棒性好。對于模糊圖片的抗干擾能力較強,有較好的實用價值。但識別時間仍需縮短,且漢字筆畫多,外圍輪廓與細節(jié)信息均較為豐富,故識別率略低于字母和數(shù)字。因此縮短識別時間,提高漢字字符的識別率將是下一步研究的重點。
針對車牌識別問題,提出利用SVM方法,結(jié)合有效的特征提取方法提取特征,以提高字符識別的正確率。本算法的創(chuàng)新點分為兩處:一是對歸一化和細化之后的字符采用網(wǎng)格、投影與投影密度方法提取特征,并將這3種方法提取的特征組成特征向量集;二是對易混淆字符進行二次識別。經(jīng)實驗結(jié)果表明,文中算法正確率高,具有較好的實用價值。
[1]ZHU Youqing,LI Cuihua.A recognition method of car license plate characters based on template matching using modified hausdorff distance[C].2010 International Conference on Computer,Mechatronics,Control and Electronic Engineering(CMCE),2010:25-28.
[2] 王力,王小華,王莉.神經(jīng)網(wǎng)絡在車牌識別中的應用[J].圖形、圖像與多媒體,2011,30(5):38-40.
[3]Milan Sonka,Vaclav Hlavac,Roger Boyle.圖像處理、分析與機器視覺[M].3版.艾海舟,蘇延超,譯.北京:清華大學出版社,2011.
[4]LI Yuchen,TIAN Zhen,YOU Jia.Character feature extraction method and its effectiveness evaluation[C].International Conference on Intelligent System Design and Engineering Application,2012:197-200.
[5] 何兆成,佘錫偉,余文進,等.字符多特征提取方法及其在車牌識別中的應用[J].計算機工程與應用,2011,47(23):228-231.
[6]WU Jinjun,DU Shuxin.SVM in character recognition of vehicles'license plates[J].Journal of circuits and systems,2008,13(1):84-87.
[7] 吳進軍,杜樹新.SVM在車牌字符識別中的應用[J].電路與系統(tǒng)學報,2008,13(1):84-87.
[8] 王偉,馬永強,彭強.SVM多類分類器在車牌字符識別中的應用[J].計算機工程與設計,2011,32(9):3166-3169.
[9] 郭來德,張燕,曹楊,等.機動車車牌識別中SVM的應用[J].計算機與數(shù)字工程,2012,40(4):105-119.
[10?吳進軍.車牌識別技術(shù)的研究[D].杭州:浙江大學,2005.
[11?王建偉.基于嵌入式系統(tǒng)的在線訓練軟測量平臺[D].杭州:浙江大學,2010.