基于支持向量機的車牌定位方法
圖3顯示了一些用于訓(xùn)練的樣本。
最后,用訓(xùn)練好的SVM分類器掃描全圖,根據(jù)輸出類別,對每個N×N小窗口的中心像素做出判斷。如果輸出+1就認(rèn)為他是牌照區(qū)域,賦值為255;否則,則認(rèn)為他不是牌照區(qū)域,賦值為0。如圖4(a)所示。
SVM通過訓(xùn)練選擇對分類超平面起決定作用的支持向量,就像選擇了一組特定的濾波器,突出了牌照區(qū)域。在SVM分類器中濾波器的數(shù)目和系數(shù)是在訓(xùn)練中自動獲得的。
3.3 分割牌照區(qū)域
對每個像素做出分類判斷后,得到一個二值圖像,還必須進行一些處理,其目的是合并感興趣區(qū)域和去除噪聲。本文采用數(shù)學(xué)形態(tài)學(xué)對二值圖像進行處理,在此基礎(chǔ)之上再做水平和垂直兩個方向的投影,最后,根據(jù)投影并結(jié)合車牌自身的一些先驗知識,如長寬比、車牌的字符數(shù)、字符間距,實現(xiàn)牌照區(qū)域的定位。分割過程主要包括以下幾個步驟:
(1)首先訓(xùn)練SVM分類器,用他掃描圖像,對像素進行分類,獲得分類后的二值圖像。
(2)應(yīng)用數(shù)學(xué)形態(tài)學(xué)方法對分類結(jié)果所得圖像進行處理、去除噪聲。
(3)再對圖像做水平投影和高斯迭代平滑處理。
(4)確定牌照水平區(qū)域:在平滑處理后的水平投影圖中,獲取峰值點以及與這些峰值點最接近的左右側(cè)谷值點,由左右側(cè)谷值點確定一個水平區(qū)域的高度g,峰值大于車牌最小寬度F時,該區(qū)域是車牌可能所在的水平區(qū)域。其中:F=Rmin×g,Rmin為標(biāo)準(zhǔn)車牌寬高比的最小值。
(5)確定牌照垂直區(qū)域:對于車牌可能所在的水平區(qū)域進行垂直投影(同樣采取高斯疊代平滑),由垂直投影圖將水平區(qū)域分成一塊塊較小的區(qū)域,計算出最大字符間距D,將間距小于等于D的區(qū)域合并。其中:D=Tmax×Rmax×g,Rmax為標(biāo)準(zhǔn)車牌寬高比的最大值,Tmax為標(biāo)準(zhǔn)車牌最大字符間距與車牌寬度之比。合并后區(qū)域的寬高比大于Rmin的為車牌可能所在的區(qū)域。
(6)牌照的確定與分割:根據(jù)標(biāo)準(zhǔn)車牌的字符個數(shù)和筆劃數(shù)的范圍,檢測各區(qū)域水平方向上的跳變化次數(shù),若在該范圍內(nèi)則認(rèn)為該區(qū)域為車牌所在的區(qū)域,然后在含有牌照的原圖中切出與(4)中相應(yīng)的區(qū)域。
4 實驗結(jié)果分析
實驗收集了200幅車牌圖像,任意選取100幅作為訓(xùn)練樣本,還收集了一些不包含車牌的圖像作為自舉訓(xùn)練方法的樣本。
程序使用Microsoft VC++6.0編寫。訓(xùn)練和識別所用的圖像子塊尺寸N取15,特征數(shù)據(jù)歸一化在0~1之間。核函數(shù)多項式的次數(shù)d的值取5,SVM的懲罰因子C取100,訓(xùn)練SVM的算法采用的是JohnC.Platt提出的序列最小優(yōu)化算法。剩余100幅圖像作為測試樣本,其中能正確定位的有93幅,有7幅沒有正確定位。引起錯誤的原因主要有圖像中相似的字符區(qū)域過多或者圖像本身過于模糊,相似區(qū)域過多干擾了牌照區(qū)域,而圖像模糊則損失了牌照區(qū)域有用的紋理信息。實驗結(jié)果表明,SVM在小樣本下可以獲得較好的識別效果。
圖4給出了圖3(b)中示例圖像車牌定位過程,圖4(a)為經(jīng)過SVM分類輸出的二值圖,圖4(b)為數(shù)學(xué)形態(tài)學(xué)濾波處理后的結(jié)果,圖4(c)為最終車牌定位結(jié)果。
5 結(jié) 語
車牌定位是一種非線性可分問題,牌照區(qū)域包含了豐富的紋理信息,利用這個特征可以實現(xiàn)牌照區(qū)域的定位。本文使用SVM對含牌照的汽車圖像中像素進行分類,再經(jīng)過數(shù)學(xué)形態(tài)學(xué)處理并結(jié)合牌照先驗知識實現(xiàn)定位。實驗表明該方法取得了較好的定位效果。
評論