(北京理工大學(xué)電子工程系 北京 100081)
摘 要:支持向量機(jī)(SVM)是20世紀(jì)90年代初由Vapnik等人提出的一類新型機(jī)器學(xué)習(xí)方法,此方法能夠在訓(xùn)練樣本很少的情況下達(dá)到很好的分類推廣能力。本文應(yīng)用SVM算法對(duì)車牌中的漢字字符進(jìn)行識(shí)別,無(wú)字符特征提取提高了識(shí)別速度,并且可得到較高的識(shí)別率。實(shí)驗(yàn)討論了SVM算法用于字符識(shí)別時(shí),不同的核函數(shù)對(duì)識(shí)別率的影響。實(shí)驗(yàn)結(jié)果表明,用SVM算法進(jìn)行車牌字符識(shí)別具有較高的識(shí)別率。
關(guān)鍵詞:支持矢量機(jī)(SVM);車牌字符識(shí)別;最優(yōu)分類面;核函數(shù)
車牌自動(dòng)識(shí)別技術(shù)是智能交通系統(tǒng)的一個(gè)重要的領(lǐng)域。車牌字符識(shí)別的準(zhǔn)確性和識(shí)別速度直接關(guān)系到該技術(shù)是否能夠得到實(shí)際應(yīng)用。傳統(tǒng)的字符識(shí)別方法,如模板匹配、神經(jīng)網(wǎng)絡(luò)等,在進(jìn)行車牌字符識(shí)別時(shí)其識(shí)別率很大程度上依賴于訓(xùn)練樣本的數(shù)量,且在無(wú)特征提取的情況下,識(shí)別的正確率相對(duì)較低。 支持矢量機(jī)(SupportVector
Machines,SVM)是由Vapnik等人于1995年提出的一類新型機(jī)器學(xué)習(xí)方法,能夠較好的解決小樣本、非線性及高維數(shù)等模式識(shí)別問(wèn)題。近年來(lái)SVM已在臉像識(shí)別[1]、函數(shù)逼近以及概率密度估計(jì)等眾多領(lǐng)域[2]得到了廣泛的應(yīng)用。利用該方法進(jìn)行車牌漢字識(shí)別,在訓(xùn)練樣本相對(duì)較少且無(wú)字符特征提取的情況下,仍可得到較高的識(shí)別率。
1 支持矢量機(jī)基本原理[3] SVM是統(tǒng)計(jì)學(xué)習(xí)理論中最年輕的部分,主要用于解決有限樣本情況下的模式識(shí)別問(wèn)題。 1.1 線性可分情況 SVM方法是從線性可分情況下的最優(yōu)分類面(OptimalHyperplane)提出的。所謂最優(yōu)分類面就是要求
分類線不但能將兩類樣本無(wú)錯(cuò)誤的分開,而且要使兩類之間的距離最大。 設(shè)線性可分樣本集為(xi,yi),i=1,2,…,n,x∈Rd,y∈{+1,-1}是類別標(biāo)號(hào)。d維空間中線性判別函數(shù)的一般形式為:g(x)=w.x+b,分類面方程為: 將判別函數(shù)進(jìn)行歸一化,使兩類所有樣本都滿足|g(x)|≥1,即使離分類面最近的樣本的|g(x)|=1,這樣分類間隔就等于2/‖w‖,因此間隔最大等價(jià)于使‖w‖(或‖w‖2)最?。欢蠓诸惥€對(duì)所有樣本正確分類,就是要求其滿足: 因此,滿足上述條件且使‖w‖2最小的分類面就是最優(yōu)分類面。過(guò)兩類樣本中離分類面最近的點(diǎn)且平行于最優(yōu)分類面的超平面上的訓(xùn)練樣本就是使式(2)中等號(hào)成立的那些樣本,他們叫做支持向量(SupportVectors)。
根據(jù)上面的討論,最優(yōu)分類面問(wèn)題可以表示成如下的約束優(yōu)化問(wèn)題,即在式(2)的約束下,求函數(shù): 的最小值。這是一個(gè)二次規(guī)劃問(wèn)題,可定義以下的Lagrange函數(shù): 其中:ai>0為L(zhǎng)agrange系數(shù)。求式(3)的極小值就是對(duì)w和b求L氏函數(shù)的極小值。求L對(duì)w和b的偏微分并令他
們等于0,可轉(zhuǎn)化為對(duì)偶問(wèn)題: 顯然,只有支持向量的系數(shù)ai不為0,即只有支持向量影響最終的劃分結(jié)果。于是w可表示為: 其中:sgn()為符號(hào)函數(shù),b*是分類的閾值,可以由任意一個(gè)支持向量用式(7)求得,或通過(guò)2類中任意一對(duì)支持向量取中值求得。對(duì)于給定的未知樣本x,只需計(jì)算sgn(wx+b),即可判定x所屬的分類。 1.2 線性不可分情況 對(duì)于線性不可分的樣本,希望使誤分類的點(diǎn)數(shù)最小,為此在式(2)中引入松弛變量ξi≥0: 取極小值的w,b,這一優(yōu)化問(wèn)題同樣需要變換為用拉格朗日乘子表示的對(duì)偶問(wèn)題,變換的過(guò)程與前面線性可分樣本的對(duì)偶問(wèn)題類似,結(jié)果也幾乎完全相同,只是約束條件略有變化: 其中:C是實(shí)現(xiàn)選定的,他反映了在復(fù)雜性和不可分樣本所占比例之間的折中。 1.3 支持向量機(jī) 如果用內(nèi)積K(x,x′)代替最優(yōu)分類面中的點(diǎn)積,就相當(dāng)于把原特征空間變換到了某一新的特征空間,此時(shí)優(yōu)化函數(shù)變?yōu)椋?br> 相應(yīng)的判別函數(shù)也應(yīng)變?yōu)椋?br> 算法的其他條件均不變。這就是支持向量機(jī)。 支持向量機(jī)的基本思想可以概括為:首先通過(guò)非線性變換將輸入空間變換到一個(gè)高維空間,然后在這個(gè)新空間中求取最優(yōu)線性分類面,而這種非線性變換是通過(guò)定義適當(dāng)?shù)膬?nèi)積函數(shù)實(shí)現(xiàn)的。統(tǒng)計(jì)學(xué)習(xí)理論指出,根據(jù)HilbertSchmidt原理,只要一種運(yùn)算滿足Mercer條件,就可以作為這里的內(nèi)積使用。常用的核函數(shù)有以下幾種:
2 基于SVM的車牌漢字識(shí)別 2.1 字符圖像預(yù)處理 本文采用移差掃描和窗口搜索的方法[4]找出車牌區(qū),利用直方圖變換法[5]對(duì)采集的車牌灰度圖像進(jìn)行二值化。二值化后的車牌圖像利用直方圖投影分割出單個(gè)字符,經(jīng)過(guò)歸一化變?yōu)?6×16象素的字符點(diǎn)陣。實(shí)驗(yàn)結(jié)果表明,16×16的字符點(diǎn)陣在保持車牌漢字的基本特征的情況下,減少了計(jì)算量,加快了識(shí)別速度。 2.2 字符識(shí)別的SVM算法實(shí)現(xiàn) SVM分類器是二分類器,因此本文采用多個(gè)二分類器組合的one-against-the-others算法,將多類識(shí)別問(wèn)題轉(zhuǎn)化為二類識(shí)別問(wèn)題來(lái)解決。每個(gè)分類器只將一個(gè)漢字與其余漢字區(qū)分開,訓(xùn)練樣本中該漢字對(duì)應(yīng)的y值為+1,其余樣本對(duì)應(yīng)的y值為-1。首先確定使用的核函數(shù)K,將訓(xùn)練樣本值帶入優(yōu)化函數(shù)式(12)中,求出最優(yōu)解a*i及其非零值對(duì)應(yīng)的支持向量,并根據(jù)任一訓(xùn)練樣本值求出閾值b。將求出的所有參數(shù)值帶入式(13)即得到判別函數(shù)f(x)。依此類推,分別求出所有漢字對(duì)應(yīng)的判別函數(shù)。進(jìn)行字符識(shí)別時(shí)將輸入信號(hào)送到每一個(gè)分類器,然后循環(huán)檢查所有的分類器輸出。若某一分類器的輸出值為“1”,則認(rèn)為輸入的車牌字符為該類對(duì)應(yīng)的漢字字符;否則,若所有輸出值均不為“1”,則拒絕識(shí)別該字符。由于識(shí)別存在一定的誤差,可能同時(shí)有多個(gè)分類器的輸出值為“1”,此時(shí)則判斷為第一個(gè)輸出值為“1”的字符類。
3 實(shí)驗(yàn)結(jié)果與分析 3.1 訓(xùn)練樣本的選取 車牌中的漢字約為50個(gè),分別為全國(guó)各省和直轄市的簡(jiǎn)稱,以及軍種、領(lǐng)事館和警車等的名稱縮寫。本文中只對(duì)標(biāo)準(zhǔn)的車輛牌照進(jìn)行識(shí)別,車牌中的漢字為各省及直轄市的簡(jiǎn)稱,共34個(gè)漢字字符。由于條件的限制,只有少量的字符取自實(shí)拍的車牌灰度圖像,其余為在字庫(kù)中選取的相近字體的漢字字符。所有的字符圖像均經(jīng)過(guò)預(yù)處理歸一化為16×16的黑白二值化圖像,如圖1所示。
由于實(shí)驗(yàn)樣本較少,在字符樣本上加上不同的噪聲處理來(lái)進(jìn)行樣本集的擴(kuò)充。最后,待識(shí)別的漢字字符樣本共16套,每套樣本均有34個(gè)不同的漢字字符。從字符樣本中選取6套作為訓(xùn)練樣本對(duì)SVM進(jìn)行訓(xùn)練,余下的10套作為測(cè)試樣本,進(jìn)行識(shí)別。 本文的識(shí)別系統(tǒng)識(shí)別34個(gè)漢字需要建立34個(gè)二分類器,為提高識(shí)別速度,降低識(shí)別系統(tǒng)的復(fù)雜度,輸入字符不進(jìn)行特征提取,將16×16的字符矩陣轉(zhuǎn)換成256維的向量,作為每個(gè)分類器的輸入。 3.2 核函數(shù)的選擇 本文系統(tǒng)分別用4種不同核函數(shù)的SVM算法進(jìn)行了實(shí)驗(yàn),結(jié)果如表1~表4所示。
實(shí)驗(yàn)結(jié)果表明,選用不同的核函數(shù)對(duì)識(shí)別率的影響不大。核函數(shù)的參數(shù)變化時(shí),識(shí)別率會(huì)略有不同,故需要根據(jù)實(shí)驗(yàn)來(lái)選擇合適的參數(shù)。為了提高系統(tǒng)的識(shí)別速度,本文最終選擇徑向基函數(shù)作為核函數(shù)。
4 結(jié)語(yǔ) 應(yīng)用SVM算法對(duì)車牌中的漢字字符進(jìn)行識(shí)別,在沒(méi)有字符特征提取的情況下,獲得了較高的識(shí)別率和識(shí)別速度。實(shí)驗(yàn)結(jié)果表明,在訓(xùn)練樣本較少的情況下,該系統(tǒng)的識(shí)別率較高,并具有算法簡(jiǎn)單,無(wú)需先驗(yàn)知識(shí),容易控制和穩(wěn)定性好等優(yōu)點(diǎn)。 文中對(duì)不同的核函數(shù)進(jìn)行了對(duì)比,結(jié)果表明識(shí)別率相差不大,識(shí)別時(shí)間稍有差別。核函數(shù)的選擇很重要,但到目前為止,還沒(méi)有一個(gè)公認(rèn)的比較好的選擇標(biāo)準(zhǔn)。如何確定適當(dāng)?shù)暮撕瘮?shù)及其參數(shù)還有待進(jìn)一步研究。
[1]EOsuna,RFreund,F(xiàn)Girosi,etal.Trainingsupport vector machines:an
application to facedetection[A].Proc IEEEconference on computer vision and
pattern recognition[C].Puerto Rico:[sn],1997:17-19. [2]VladimirNVapnik.統(tǒng)計(jì)學(xué)習(xí)理論的本質(zhì)[M].張學(xué)工譯.北京:清華大學(xué)出版社,2000. [3]邊肇祺,張學(xué)工.模式識(shí)別(第2版)[M].北京:清華大學(xué)出版社,2000. [4]袁寶民.基于移差掃描和窗口搜索的車牌定位方法[J].計(jì)算機(jī)工程,2003,29(14):103-105. [5]鄒曉濤,陳學(xué)全.汽車牌照自動(dòng)識(shí)別系統(tǒng)的設(shè)計(jì)與研制[J].紅外與激光工程,2002,31(5):415-418.
來(lái)源:電源技術(shù)應(yīng)用
|