車牌識別是智能交通系統(tǒng)的一個重要研究課題,存在巨大的市場需求。車牌識別系統(tǒng)分車輛圖像的獲取、車牌的定位與字符分割、車牌字符識別3大部分。對于車牌字符識別,目前最常用的方法是基于模板匹配的方法和基于神經(jīng)網(wǎng)絡(luò)的方法兩大類。前者多利用了字符的輪廓、網(wǎng)格、投影等統(tǒng)計特征,相似字符區(qū)分能力差,且因特征數(shù)據(jù)維數(shù)過大會導(dǎo)致識別速度慢;而后者則存在網(wǎng)絡(luò)輸入數(shù)據(jù)的選擇和網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計等問題。
目前,普遍采用3類方法來提高字符的識別性能:第1類是尋找更好的分類識別算法;第2類是將幾種分類器結(jié)合起來,相互補充,根據(jù)不同方面的特征分類,如文獻;第3類是抽取具有更強描述能力的特征,結(jié)合其它輔助特征來進行分類,如文獻。
本文采用支持向量機(SVM,support vector machine)的方法解決車牌字符識別問題,屬于第1類方法。SVM可以自動尋找對分類有較好區(qū)分能力的支持向量,由此構(gòu)成的分類器可以最大化類間間隔,達到正確區(qū)分類別的目的;在解決有限樣本、非線性及高維模式識別問題中表現(xiàn)出了許多特有的優(yōu)越性能,且具有適應(yīng)性強和效率高的特點。
2 支持向量機簡介
支持向量機(SVM)是Vapnik及其研究小組提出的針對二類別的分類問題而提出的一種分類技術(shù),是一種新的非常有發(fā)展前景的分類技術(shù)。支持向量機的基本思想是在樣本空間或特征空間,構(gòu)造出最優(yōu)超平面使超平面與不同類樣本集之間的距離最大,從而達到最大的泛化能力,其算法的詳細敘述可參考文獻。
支持向量機方法根據(jù)Vapnik的結(jié)構(gòu)風(fēng)險最小化原則,盡量提高學(xué)習(xí)機的泛化能力,使有限少量訓(xùn)練樣本得到的決策規(guī)則對獨立的測試集仍能得到小的誤差。這樣只需有限的少量樣本參與訓(xùn)練,就可以保證訓(xùn)練產(chǎn)生的分類器具有很小的誤差。而車牌字符識別時,相對于預(yù)測的樣本,只能有有限的少量樣本參與訓(xùn)練,支持向量機的方法可以使訓(xùn)練產(chǎn)生的分類器在識別車牌字符時只有小的誤差,并且大幅減少訓(xùn)練的時間。
對于數(shù)據(jù)分類問題,通用的神經(jīng)網(wǎng)絡(luò)方法的機理可以簡單地描述為:系統(tǒng)隨機產(chǎn)生一個超平面并移動它,直到訓(xùn)練集中屬于不同類別的點正好位于平面的不同側(cè)面。這種處理機制決定了神經(jīng)網(wǎng)絡(luò)方法最終獲得的分割平面并不是一個最優(yōu)超平面,只是一個局部的次優(yōu)超平面。而SVM將最優(yōu)超平面的求解問題轉(zhuǎn)換為一個不等式約束下的二次函數(shù)尋優(yōu)問題,這是一個凸二次優(yōu)化問題,存在唯一解,能保證找到的極值解就是全局最優(yōu)解。
SVM通過一個非線性函數(shù)將輸入數(shù)據(jù)映射到具有高維甚至為無窮維的特征空間,并在這個高維特征空間進行線性分類,構(gòu)造最優(yōu)分類超平面,但在求解最優(yōu)化問題和計算判別函數(shù)時并不需要顯式計算該非線性函數(shù),而只需計算核函數(shù),從而避免特征空間維數(shù)災(zāi)難問題。
車牌字符識別問題中每個樣本為一個字符圖像,每個字符圖像由許多像素組成,具有高維的特點。SVM通過核函數(shù)的計算,避免了神經(jīng)網(wǎng)絡(luò)解決樣本空間的高維問題帶來的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計問題,使訓(xùn)練模型與輸入數(shù)據(jù)的維數(shù)無關(guān);并且每個字符的整幅圖像作為一個樣本輸入,不需要進行特征提取,節(jié)省了識別時間。
3 車牌字符分類器的構(gòu)造
我國標準車牌格式是:X1X2.X3X4X5X6X7,其中X1是各省、直轄市和自治區(qū)的簡稱,X2是英文字母,X3X4是英文字母或阿拉伯?dāng)?shù)字,X5X6X7是阿拉伯?dāng)?shù)字,并且對于不同的Xl,X2的取值范圍是不一樣的。X2和X3之間有一小圓點。
針對車牌字符的排列特征,為了提高車牌整體的識別率,可以設(shè)計4個分類器來進行車牌字符的識別,即漢字分類器、數(shù)字分類器、英文字母分類器、數(shù)字+字母分類器。根據(jù)車牌中字符的序號,選擇對應(yīng)的分類器進行識別,然后將識別結(jié)果按字符序號進行組合,就得到了整個車牌的識別結(jié)果。4個分類器如圖l所示。
字符集中漢字有50多個,其中31個為各省、直轄市和自治區(qū)的簡稱;英文字母全部為大寫字母,不含字母“I”,字母“o”歸為數(shù)字“0”,故英文字母集由24個大寫字母組成;數(shù)字為0~9的阿拉伯?dāng)?shù)字。
支持向量機是針對二類別的分類而提出的,但車牌字符識別是多類別的分類問題,需要將二類別分類方法擴展到多類別分類,本文采用了一一區(qū)分法實現(xiàn)。一一區(qū)分法(one—against—one method)是分別選取2個不同類別構(gòu)成一個SVM子分類器,這樣對于k類問題,共有k(k一1)/2個SVM子分類器。在構(gòu)造類別i和類別j的SVM子分類器時,在樣本數(shù)據(jù)集中選取屬于類別i和類別j的樣本數(shù)據(jù)作為訓(xùn)練樣本數(shù)據(jù),并將屬于類別i的數(shù)據(jù)標記為正,將屬于類別j的數(shù)據(jù)標記為負。測試時,將測試數(shù)據(jù)對k(k一1)/2個SVM子分類器分別進行測試,并累計各類別的得分,選擇得分最高者所對應(yīng)的類別為測試數(shù)據(jù)的類別。
4 最佳參數(shù)模型的選擇
本文從某一實際卡口系統(tǒng)采集到的768×576像素的汽車牌照圖片進行車牌定位和字符分割后,將分割的每個車牌字符進行二值化操作,字符筆劃對應(yīng)的像素置為l,背景像素置為0,再將每個字符歸一化到13x24像素,并根據(jù)每個字符在車牌中的位置,編上序號l~7。
本文所選汽車牌照圖片共計132張,包括晚上、逆光、字符磨損厲害、牌照傾斜和牌照旁掛其它牌子等情況;有129張圖片可以實現(xiàn)車牌正確定位,車牌定位率為97.73%;120張圖片可以實現(xiàn)所有字符正確分割,字符分割完全正確率為93.02%。
本文將每個字符作為一個樣本,每個樣本維數(shù)為312(13x24),根據(jù)其序號分成4類樣本。每類樣本分成兩部分,60%的樣本訓(xùn)練產(chǎn)生模型,另40%用于測試,核函數(shù)采用徑向基函數(shù)K(xi,x)=exp(-||x-xi||2/σ2),分別訓(xùn)練生成4類分類器,從中選擇最優(yōu)參數(shù)模型組成4類最佳分類器,用來進行車牌字符的整體識別。
為了求解最佳的分類器參數(shù)(C,σ2),本文選擇雙線性法來求解最佳參數(shù),對每類分類器模型采用以下步驟:
第一步:根據(jù)識別正確率確定最佳參數(shù)C。首先假設(shè)C=10,取σ2=10-1,100,101,102,103,得到最高的識別正確率對應(yīng)的σ2,然后固定σ2,改變C的值,得到這時最高的識別正確率對應(yīng)的C值,作為最佳參數(shù)C。
4類分類器的最高識別正確率對應(yīng)的(C,σ2)都為(10,100),確定最佳C=10。
第二步:確定最佳參數(shù)(C,σ2)。固定最佳參數(shù)C,取σ2=l,10,100,200,300,400,500,600,700,800,900,1000,取最高識別正確率對應(yīng)的(C,σ2)為分類器模型的最佳參數(shù)。
觀察發(fā)現(xiàn),4類分類器模型在σ2的值變?yōu)?00以下時,對應(yīng)的識別正確率都逐漸減?。沪?的值變?yōu)?00以上時,對應(yīng)的識別正確率先增大后減小,出現(xiàn)“峰值”,取“峰值”對應(yīng)的模型參數(shù)為最佳參數(shù)。4類最佳分類器如下表1所示。
實驗觀察分析,分類器識別時具有一定的偏向性,即參與訓(xùn)練的某類樣本數(shù)目多,預(yù)測樣本識別為該類的概率就大,如訓(xùn)練樣本中“浙”字較多,漢字分類器將預(yù)測樣本識別為“浙”的可能性較大,而實際上預(yù)測樣本中“浙”字數(shù)目較多,這樣無形中就提高了識別正確率。
5 實驗及結(jié)果
本文用以上4類最佳分類器的組合分類器對所有車牌字符進行整體識別,識別結(jié)果如表2所示。
在實際運用中,車牌字符正確數(shù)目在5個以上就能滿足要求,本文與相關(guān)文獻的車牌字符識別結(jié)果如表3所示。
觀察分析發(fā)現(xiàn),影響識別效果的主要原因是相似字符的誤識,如字符“D”和“0”、“B”和“8”等;還有漢字筆劃多,二值化操作易造成筆劃模糊,使?jié)h字誤識。
6 結(jié)論
本文將SVM的方法引入車牌字符識別中,在詳細分析了車牌字符的排列特征的基礎(chǔ)上,構(gòu)造了用4個不同類別的SVM字符分類器;根據(jù)車牌字符的序號分別對應(yīng)識別,再將識別結(jié)果組合,就得到了整幅車牌的號碼。
SVM方法采用核函數(shù)解決了高維樣本識別問題,不需要進行模型網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,并且不需進行特征提取,只需要有限的樣本參入訓(xùn)練,節(jié)省了識別時間,這些都非常符合車牌字符識別的要求。本文采用一一區(qū)分法將SVM方法從二類別識別擴展到了多類別識別,并取得了滿意的識別效果;但一一區(qū)分法需要保證訓(xùn)練樣本的充分性,需要所有類別的樣本都參加訓(xùn)練。
試驗結(jié)果表明,本方法有較好的實用性,而進一步減少相似字符和漢字誤識是本工作以后努力的方向,其關(guān)鍵是加強圖像的預(yù)處理,改進字符分割方法和二值化方法,使字符筆劃更清楚。