本發(fā)明涉及計(jì)算機(jī)視覺(jué)領(lǐng)域,特指一種基于混合特征與灰度投影的車牌識(shí)別方法。
背景技術(shù):
隨著現(xiàn)代化交通的發(fā)展,車輛牌照自動(dòng)識(shí)別技術(shù)越來(lái)越受到人們的重視,是近年來(lái)計(jì)算機(jī)視覺(jué)與模式識(shí)別技術(shù)在智能交通領(lǐng)域的重要研究課題之一。車輛牌照自動(dòng)識(shí)別系統(tǒng)可用于公路收費(fèi)站、停車場(chǎng)、十字路口等場(chǎng)所的車輛管理,對(duì)于道路交通和停車場(chǎng)車輛管理具有重要的促進(jìn)作用。
車牌識(shí)別技術(shù)包括車牌定位、字符分割和字符識(shí)別3個(gè)基本環(huán)節(jié),其中車牌定位是字符分割和字符識(shí)別的前提,而車牌字符分割是車牌識(shí)別的基礎(chǔ)。
車牌識(shí)別系統(tǒng)在國(guó)內(nèi)外研究都有一段時(shí)間了,國(guó)外的車牌識(shí)別系統(tǒng)有一定的應(yīng)用,但是國(guó)內(nèi)的車牌識(shí)別系統(tǒng)總體上來(lái)說(shuō)還處于實(shí)驗(yàn)室階段,離實(shí)際的工程應(yīng)用還有一段距離。其原因是因?yàn)閲?guó)內(nèi)的車牌不統(tǒng)一、漢字識(shí)別難度大等因素。但車牌其自身的特點(diǎn)為我們研究車牌識(shí)別系統(tǒng)提供了突破口。
現(xiàn)實(shí)中,在實(shí)際路口采集所得的圖片與停車場(chǎng)和小區(qū)中采集的圖片有很大的不同。小區(qū)中的圖片背景單一,光照均勻,分辨率高。與此不同的是,在十字路口采集的圖片背景復(fù)雜、光照不均、分辨率低、車牌舊、車牌臟等,這些都給車牌識(shí)別帶來(lái)了很大的困難,針對(duì)這些實(shí)際的特定問(wèn)題,本發(fā)明提出了一種車牌自動(dòng)定位、分割以及識(shí)別方法。
本系統(tǒng)算法車牌字符讀取可靠性高,識(shí)別度好,魯棒性好,同時(shí)步驟計(jì)算簡(jiǎn)單,能保持高效率,實(shí)時(shí)性也能滿足需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題在于:針對(duì)現(xiàn)行車牌識(shí)別系統(tǒng)存在的這些特定難點(diǎn)問(wèn)題,為了提高監(jiān)控系統(tǒng)的車牌識(shí)別的準(zhǔn)確程度,并使其滿足實(shí)時(shí)性需求,提出一種基于混合特征和灰度投影的車牌識(shí)別方法。
包括如下步驟:
S1)車牌定位;
S1.1)獲取車牌彩色圖像,所述車牌彩色圖像的顏色空間轉(zhuǎn)換為HSV顏色空間;
S1.2)實(shí)現(xiàn)車牌區(qū)域粗定位,實(shí)現(xiàn)彩色圖像的二值化;
S1.3)實(shí)現(xiàn)車牌區(qū)域精確定位,獲取車牌的水平坐標(biāo)和垂直坐標(biāo)位置;
S1.4)將精確定位后輸出的圖像進(jìn)行非極大值抑制處理,將處理結(jié)果進(jìn)行基于霍夫變換的傾斜校正得到二次定位后的車牌圖像;
S2)車牌字符分割;
S2.1)去除輸入車牌區(qū)域圖像的車牌邊框;
S2.2)先對(duì)去除邊框后的車牌圖像進(jìn)行字符的對(duì)比度增強(qiáng)和濾波,再基于灰度投影算法進(jìn)行車牌字符分割;
S3)車牌字符分割后的字符識(shí)別并輸出。
作為本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn),所述步驟S3)采用基于聯(lián)合HOG特征的車牌字符識(shí)別方法對(duì)車牌字符分割后的字符進(jìn)行識(shí)別,具體包括以下步驟:
S3.1)首先確定字符的分類器;
S3.2)分別提取漢字、數(shù)字字母的灰度方向梯度直方圖HOG特征、二值HOG特征、16值HOG特征,將它們組合成聯(lián)合HOG特征,將得到的聯(lián)合HOG特征用核主成分分析法進(jìn)行降維;
S3.3)將漢字和數(shù)字字母的聯(lián)合HOG特征送入所述分類器進(jìn)行訓(xùn)練和預(yù)測(cè),將漢字和數(shù)字字母的識(shí)別結(jié)果進(jìn)行組合,得到最終的車牌字符識(shí)別結(jié)果并輸出。
作為本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn),所述步驟S1.4)中,所述(1)將初始檢測(cè)窗口按照檢測(cè)分?jǐn)?shù)從高到低排序;
(2)將第1個(gè)初始檢測(cè)窗口作為當(dāng)前的抑制窗口;
(3)非極大值抑制。將所有檢測(cè)分?jǐn)?shù)比當(dāng)前抑制窗口低的初始窗口作為被抑制窗口。計(jì)算當(dāng)前抑制窗口與被抑制窗口的重合面積比率:面積的交集/面積的并集。剔除重合面積比率高于設(shè)定閾值的窗口;
(4)如果只剩最后一個(gè)初始檢測(cè)窗口則結(jié)束,否則按照排好的順序,取下一個(gè)未被抑制的窗口作為抑制窗口,轉(zhuǎn)到步驟(3)。
作為本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn),所述步驟S2.1)包括:
S2.1.1)上下邊框的去除:
獲得車牌候選區(qū)域的二值化閾值,得到候選區(qū)域的二值圖像,求取該二值圖像中間部分的行和,然后將行和處理如下:
從中間向兩端開始尋找rowsum的上下方向上有一段距離為零的邊界,采用該距離為0.75×height,從而得到車牌的上下邊界;
S2.1.2)左右邊框的去除:
用去除上下邊框相同的方法來(lái)找到一個(gè)左右邊框的邊界:left1,right1;
重新構(gòu)建一個(gè)二值圖像,再用去除上下邊框相同的方法來(lái)找到另一個(gè)左右邊框的邊界left2,right2;
最后確定的邊界可以用下面式子表示:
left=max(left1,left2),
right=min(right1,right2)。
作為本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn),所述步驟S2.2)中對(duì)比度增強(qiáng)步驟如下:
步驟1:統(tǒng)計(jì)整個(gè)車牌區(qū)域內(nèi)像素點(diǎn)的最大像素值和最小像素值maxvalue,minvalue;
步驟2:設(shè)置需要增強(qiáng)的像素點(diǎn)數(shù)占全部像素點(diǎn)數(shù)的比例系數(shù)coef,比例系數(shù)范圍在0-1之間;
步驟3:統(tǒng)計(jì)0-255像素值上對(duì)應(yīng)出現(xiàn)的像素點(diǎn)的個(gè)數(shù),并存儲(chǔ)在1×255的數(shù)組count(1,i)里面;
步驟4:從count(1,i),i=255開始往下統(tǒng)計(jì)像素點(diǎn)的個(gè)數(shù),如果統(tǒng)計(jì)的像素點(diǎn)pixelnum<width*height*coef則將i-1繼續(xù)統(tǒng)計(jì),否則停止統(tǒng)計(jì)并記下當(dāng)前的像素值index;
步驟5:車牌區(qū)域每一點(diǎn)按下面的方法進(jìn)行增強(qiáng):
作為本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn),所述步驟S2.2)中基于灰度投影算法進(jìn)行車牌字符分割方法步驟如下:
步驟1:根據(jù)車牌的灰度投影曲線圖可得,車牌后面最多出現(xiàn)五個(gè)雙峰結(jié)構(gòu),故搜索出前五個(gè)最大波谷點(diǎn),然后判斷這些點(diǎn)是否為雙峰結(jié)構(gòu)中的波谷點(diǎn),如果是,則將該雙峰結(jié)構(gòu)的起止位置記下。
步驟2:確定車牌字符寬度characterwidth。如果步驟1檢測(cè)到了雙峰結(jié)構(gòu),則字符寬度就取為檢測(cè)到的所有雙峰結(jié)構(gòu)的平均值,否則字符寬度就取前3個(gè)單峰寬度中的最大值。
步驟3:設(shè)置字符起始點(diǎn)為第二字符和第三字符的分割點(diǎn),設(shè)置結(jié)束點(diǎn)為車牌最后一個(gè)波谷點(diǎn)。如果在步驟1中檢測(cè)到了雙峰結(jié)構(gòu)則進(jìn)行步驟4,否則進(jìn)行步驟5。
步驟4:設(shè)置字符臨時(shí)分割段起始點(diǎn)為字符起始點(diǎn),字符臨時(shí)分割段終點(diǎn)為一個(gè)雙峰結(jié)構(gòu)起始位置,然后在字符臨時(shí)分割段里進(jìn)行檢測(cè),如果該字符臨時(shí)分割段里有一個(gè)峰結(jié)構(gòu),則該峰結(jié)構(gòu)就單獨(dú)為一個(gè)字符,如果該字符臨時(shí)分割段里有兩個(gè)峰結(jié)構(gòu),則先判斷這兩個(gè)峰結(jié)構(gòu)是一個(gè)雙峰字符還是兩個(gè)單峰字符,具體判斷規(guī)則就利用這兩個(gè)峰結(jié)構(gòu)的寬度,以及該兩個(gè)峰結(jié)構(gòu)的寬度和字符寬度進(jìn)行比較。如果這兩個(gè)峰結(jié)構(gòu)的寬度之和小于字符寬度的1.2倍且這兩個(gè)峰結(jié)構(gòu)的寬度相差很小。否則這兩個(gè)峰結(jié)構(gòu)就不是一個(gè)雙峰字符的投影,且可以肯定前面一個(gè)峰結(jié)構(gòu)就是一個(gè)字符,所以可以將這兩個(gè)峰結(jié)構(gòu)前面的一個(gè)峰結(jié)構(gòu)分割出來(lái),然后更新字符臨時(shí)分割段如下:將字符臨時(shí)分割段的起點(diǎn)更新到被分割出來(lái)的峰后面,字符臨時(shí)分割段終點(diǎn)不變,但是如果此時(shí)字符臨時(shí)分割段的起點(diǎn)等于終點(diǎn)時(shí)則將字符臨時(shí)分割段起點(diǎn)更新到先前的雙峰結(jié)構(gòu)的終止位置,并將臨時(shí)分割段的終點(diǎn)更新到下一個(gè)雙峰結(jié)構(gòu)的起點(diǎn),如果后面沒(méi)有雙峰結(jié)構(gòu)了則將臨時(shí)分割段的終點(diǎn)更新為字符結(jié)束點(diǎn),然后重復(fù)步驟4直到分割到字符結(jié)束點(diǎn)為止。
步驟5:進(jìn)行到步驟5說(shuō)明在檢測(cè)雙峰結(jié)構(gòu)時(shí)并未檢測(cè)到,但是并不代表該車牌內(nèi)不存在雙峰結(jié)構(gòu)的字符,并不能排除存在有雙峰結(jié)構(gòu)的字符。此時(shí)分割就直接從字符起始點(diǎn)開始分割直到分割出5個(gè)字符。在分割中需要檢測(cè)的就是檢測(cè)相鄰的兩個(gè)峰結(jié)構(gòu)是不是一個(gè)字符的雙峰曲線。檢測(cè)所利用的方法和步驟4中雙峰結(jié)構(gòu)檢測(cè)方法相同,利用兩個(gè)峰結(jié)構(gòu)的寬度和該兩個(gè)峰結(jié)構(gòu)的寬度與字符寬度之間的關(guān)系進(jìn)行判斷。
步驟6:根據(jù)分割出的后面五個(gè)字符來(lái)分割前面兩個(gè)字符。首先將分割出來(lái)的后面五個(gè)字符中的最大寬度作為前面兩個(gè)字符的寬度。前面兩個(gè)字符為字母或者漢字,而字符也為雙峰結(jié)構(gòu)的,所以用后面五個(gè)字符中的最大寬度作為前面字符的寬度是合理的。分割前面兩個(gè)字符的方法為:從第二字符和第三字符的分割點(diǎn)向前移動(dòng)字符寬度個(gè)像素,然后將離該向前移動(dòng)后的分割點(diǎn)的最近一個(gè)波谷值作為車牌第一字符和第二字符的分割點(diǎn)。利用同樣方法也可以確定第一個(gè)字符的開始位置。
步驟7:對(duì)分割出來(lái)的字符序列進(jìn)行檢測(cè),看該字符序列是否符合車牌字符序列的特征。車牌字符序列的特征可以用下面表達(dá)式來(lái)表示,假設(shè)dis1為前面兩個(gè)字符的寬度向量,dis2為后面五個(gè)字符的寬度向量,width為車牌寬度,height為車牌高度,則一個(gè)合理的車牌字符序列必須滿足下面的表達(dá)式:
min(min(dis1),min(dis2))>width/10
max(dis2)>width/5
height/min(dis1)<3
根據(jù)上述車牌字符分割方法步驟1-7從車牌區(qū)域中分割出字符序列。
作為本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn),所述步驟S3)中所述訓(xùn)練器為SVM訓(xùn)練器,在車牌字符樣本中選擇訓(xùn)練樣本集和測(cè)試樣本集,分別對(duì)訓(xùn)練集和測(cè)試集進(jìn)行預(yù)處理,并提取HOG等特征,然后利用交叉驗(yàn)證法選擇最優(yōu)參數(shù)c和g,最后利用最佳參數(shù)訓(xùn)練SVM,獲得訓(xùn)練模型,利用訓(xùn)練模型對(duì)測(cè)試集進(jìn)行預(yù)測(cè),得到預(yù)測(cè)分類準(zhǔn)確率,在提取特征以后,利用SVM進(jìn)行訓(xùn)練分類;訓(xùn)練分類后,將分割好的字符輸入訓(xùn)練器中,輸出識(shí)別的車牌字符。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
1、本發(fā)明采用字符豎直紋理的分割方法,能夠?qū)Ω黝愜嚺茍D像實(shí)現(xiàn)很好的分割效果。
2、本發(fā)明在車牌定位中對(duì)二值化圖像選用了的線形結(jié)構(gòu)元素,進(jìn)行了運(yùn)算,填充了空洞和刪除了噪聲點(diǎn)并且可以去除汽車牌照的邊框部分,使得定位更加準(zhǔn)確。
3、本發(fā)明所采用的字符分割方法是基于灰度投影的算法,由于原本字符對(duì)比度不明顯,其灰度投影圖的波峰、波谷特征也不是很明顯,但是經(jīng)過(guò)圖像增強(qiáng)后,其灰度投影圖就能夠很好的表現(xiàn)其波峰波谷特征,有利用對(duì)字符的精確分割。
4、本發(fā)明提出了聯(lián)合方向梯度直方圖和核主成分分析法的特征,它綜合了二值圖、灰度圖、16值圖的方向梯度直方圖特征的優(yōu)點(diǎn),能夠較好提取漢字結(jié)構(gòu)特征。方向梯度直方圖特征進(jìn)行聯(lián)合后,HOG特征維數(shù)增加,此時(shí)為了縮短特征提取時(shí)間,本系統(tǒng)用核主成分分析法方法進(jìn)行降維。字符識(shí)別方法采用的是對(duì)小樣本問(wèn)題有較好分類效果的支持向量機(jī)。
附圖說(shuō)明
圖1是本實(shí)施例所述整體算法流程圖;
圖2是本實(shí)施例所述霍夫變換傾斜校正的車牌圖像;
圖3是本實(shí)施例所述車牌圖像增強(qiáng)算法效果圖;
圖4是本實(shí)施例所述車牌分割算法流程圖;
圖5是本實(shí)施例所述車牌投影曲線的濾波前后的效果圖;
圖6是本實(shí)施例所述基于聯(lián)合HOG的車牌識(shí)別流程圖。
具體實(shí)施方式
以基于混合特征和灰度投影的車牌識(shí)別系統(tǒng)為例,結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。
本實(shí)施例為一種基于混合特征和灰度投影的車牌識(shí)別方法,其具體包括以下步驟S1至S3。
S1.車牌定位;
S1.1顏色空間轉(zhuǎn)換
一般通過(guò)CCD攝像機(jī)或數(shù)碼相機(jī)獲得的彩色圖像都是基于RGB模型,它將紅(R)、綠(G)、藍(lán)(B)3種顏色按照加法混合得到人眼能看到的大部分色彩。但是RGB模型并不適合人們對(duì)彩色信息的肉眼直觀鑒別判斷,計(jì)算機(jī)處理也比較困難。而HSI色彩模型是從人的視覺(jué)出發(fā),用色調(diào)(H),飽和度(S)和亮度(I)來(lái)描述色彩。它把圖像的顏色信息與亮度信息分離開來(lái),3個(gè)分量之間的相關(guān)性較RGB空間3分量要小的多,因此更加適合于顏色特征的表達(dá)。從RGB模型轉(zhuǎn)化為HSI模型的基本方法為:
Imax=max(R,G,B)
Imin=min(R,G,B)
V=Imax
if H<0then H=H+360
式中:Hmax——色調(diào)的個(gè)數(shù),通常取值60。H取值在0~360之間,S在0~1之間,V在0~1之間。
S1.2車牌區(qū)域粗定位
根據(jù)已知的我國(guó)車牌主要顏色,我們可以很好的利用車牌的彩色信息對(duì)車牌位置進(jìn)行粗定位。定義HSV色彩空間中兩色彩C1(H1,S1,V1)與C2(H2,S2,V2)之間的距離為:
兩種色彩之間的相似度定義為:
通常來(lái)說(shuō),藍(lán)色車牌的HSV色彩空間取值為:
H=240,S=0.8,V=0.6
白色車牌取值通常為:
H=0,S=0,V=0.6
根據(jù)給出的標(biāo)準(zhǔn)值以及計(jì)算色彩距離和相似度的公式可以得到一組色彩距離圖譜,相似度閾值Th通常為根據(jù)已知環(huán)境給定,為一個(gè)常數(shù)。小于閾值Th的設(shè)置為背景,大于閾值Th的預(yù)設(shè)為車牌區(qū)域,從而實(shí)現(xiàn)彩色圖像的二值化。
隨后對(duì)二值化后包含車牌區(qū)域的圖像采用數(shù)學(xué)形態(tài)學(xué)的方法進(jìn)行處理,數(shù)學(xué)形態(tài)學(xué)的開運(yùn)算能濾除較小的區(qū)域,同時(shí)平滑區(qū)域的輪廓、閉運(yùn)算能填充區(qū)域的空洞,同時(shí)平滑區(qū)域的輪廓。在本發(fā)明中選用了的線形結(jié)構(gòu)元素,進(jìn)行了運(yùn)算,填充了空洞和刪除了噪聲點(diǎn)并且可以去除汽車牌照的邊框部分,使得定位更加準(zhǔn)確。
S1.3車牌區(qū)域精確定位
我國(guó)車牌的一個(gè)顯著紋理特征是車牌區(qū)域垂直邊緣比水平邊緣密集,且車牌一般來(lái)說(shuō)大都懸掛在車身較低的位置,其下方?jīng)]有明顯的邊緣密集區(qū)域。從紋理特征看,車牌字符間隔有一定的規(guī)則性,采用字符豎直紋理的分割方法,能夠?qū)Ω黝愜嚺茍D像實(shí)現(xiàn)很好的分割效果。本發(fā)明使用Soble垂直算子實(shí)現(xiàn)圖像的邊緣增強(qiáng)。
對(duì)邊緣增強(qiáng)的圖像沿水平方向進(jìn)行投影,確定車牌的水平位置,得到統(tǒng)計(jì)圖像。水平定位算法具體實(shí)現(xiàn)時(shí)在水平投影圖中從下向上搜索直到找到一個(gè)較大的投影值(約為最小值的10倍)的行號(hào),并儲(chǔ)存為L(zhǎng)(0),繼續(xù)搜索直到找到離L(0)最近的一個(gè)小于較大投影值的行號(hào),并儲(chǔ)存到L(1)。若L(0)-L(1)>d,d位為預(yù)設(shè)的車牌高度,則判定為車牌的水平位置,停止搜索,否則將L(0)、L(1)清空,依照此法繼續(xù)搜索。
確定車牌的垂直位置,基于水平定位圖像,采用1×3的線性結(jié)構(gòu)元素對(duì)圖像進(jìn)行膨脹處理,目的是使得車牌底色和字符的顏色在較小的范圍內(nèi)變化頻繁且對(duì)比強(qiáng)烈這一特點(diǎn)得到充分的利用。而后對(duì)其在豎直方向上進(jìn)行累加得到垂直投影圖。依照水平投影的方法,并根據(jù)車牌的幾何特征,已知車牌的寬高比大約為3.14左右,搜索一個(gè)大于預(yù)定車牌寬度約3.1倍的區(qū)域,即可得到垂直坐標(biāo)位置,結(jié)合己獲取的水平坐標(biāo)即可在原圖像中得到車牌的準(zhǔn)確定位。
最后,將精確定位后的車牌圖像進(jìn)行截取,并輸出。
S1.4將精確定位后輸出的圖像進(jìn)行非極大值抑制處理后的結(jié)果進(jìn)行基于霍夫變換的傾斜校正得到二次定位后的車牌圖像;
非極大值抑制在物體檢測(cè)中應(yīng)用十分廣泛,主要目的是為了消除多余干擾因素,找到最佳的物體檢測(cè)的位置。非極大值抑制是檢測(cè)的后處理過(guò)程,是關(guān)鍵環(huán)節(jié)之一。
啟發(fā)式窗口融合算法對(duì)非重合目標(biāo)檢測(cè)效果很好,但對(duì)于車輛車牌檢測(cè)并不適合。啟發(fā)式窗口融合算法,將初始檢測(cè)窗口劃分為若干個(gè)不重合的子集,然后計(jì)算每個(gè)子集的中心,最后每個(gè)子集只保留一個(gè)檢測(cè)窗口,顯然該算法容易造成大量漏檢。
Dalal等提出了均值漂移非極大值抑制,這種方法不僅計(jì)算復(fù)雜,需要將檢測(cè)窗口在3維空間(橫坐標(biāo),縱坐標(biāo),尺度)表示,檢測(cè)分?jǐn)?shù)轉(zhuǎn)換,計(jì)算不確定性矩陣,迭代優(yōu)化,而且還需要調(diào)整很多與檢測(cè)器的步長(zhǎng)等相關(guān)聯(lián)的參數(shù),因此,目前較少使用。
當(dāng)前,大多數(shù)的目標(biāo)檢測(cè)普遍使用基于貪心策略的非極大值抑制算法,因?yàn)樗?jiǎn)單高效,主要步驟如下:
(1)將初始檢測(cè)窗口按照檢測(cè)分?jǐn)?shù)從高到低排序;
(2)將第1個(gè)初始檢測(cè)窗口作為當(dāng)前的抑制窗口;
(3)非極大值抑制。將所有檢測(cè)分?jǐn)?shù)比當(dāng)前抑制窗口低的初始窗口作為被抑制窗口。計(jì)算當(dāng)前抑制窗口與被抑制窗口的重合面積比率:面積的交集/面積的并集。剔除重合面積比率高于設(shè)定閾值的窗口;
(4)如果只剩最后一個(gè)初始檢測(cè)窗口則結(jié)束,否則按照排好的順序,取下一個(gè)未被抑制的窗口作為抑制窗口,轉(zhuǎn)到步驟(3)。
本發(fā)明同樣使用的是簡(jiǎn)單高效的基于貪心策略的非極大值抑制算法。經(jīng)過(guò)非極大值抑制處理后的車牌圖像再進(jìn)行基于霍夫變換的傾斜校正。
霍夫變換是一種強(qiáng)有力的特征提取方法,它利用局部圖像信息有效的積累所有可能的模型實(shí)例的依據(jù),這使得它既能方便的從外部數(shù)據(jù)中獲得額外的信息,又能敏銳的從只有一部分的實(shí)例中呈現(xiàn)出有效信息?;舴蜃儞Q普遍應(yīng)用在計(jì)算機(jī)視覺(jué)中形狀,位置,幾何變換參數(shù)的判斷中。自霍夫變換提出以來(lái),其得到了廣泛的應(yīng)用。近些年,專家學(xué)者們對(duì)霍夫變換的理論性質(zhì)與應(yīng)用方法又進(jìn)行了進(jìn)一步的探討。霍夫變換作為一種有效的識(shí)別直線的算法,具有良好的抗干擾性及魯棒性。
霍夫變換方法包含一個(gè)從圖像空間中的特征到參數(shù)空間中點(diǎn)的集合的映射。每一個(gè)參數(shù)空間中的點(diǎn)表征著圖像空間中模型的一個(gè)實(shí)例,圖像特征利用一個(gè)函數(shù)被映射到參數(shù)空間當(dāng)中去,這個(gè)函數(shù)產(chǎn)生能夠兼容觀察到的圖像特征與假設(shè)的模型的所有的參數(shù)組合。每一個(gè)圖像特征將在多維的參數(shù)空間中產(chǎn)生一個(gè)不同的平面,但是由所有圖像特征產(chǎn)生的屬于同一個(gè)模型的實(shí)例的一切平面都會(huì)相交在描繪共同的實(shí)例的點(diǎn)?;舴蜃儞Q的根本是產(chǎn)生這些平面并且識(shí)別與之相交的參數(shù)點(diǎn)。
經(jīng)過(guò)基于霍夫變換的傾斜校正后的車牌圖像為系統(tǒng)二次定位后的圖像?;舴蜃儞Q傾斜校正的車牌圖像示例如圖2所示。
S2車牌字符分割;
S2.1.去除輸入車牌區(qū)域圖像的車牌邊框;
對(duì)于車牌圖像來(lái)說(shuō),在定位出來(lái)后的車牌圖像有兩種,一種是有邊框的車牌,而另一種是沒(méi)有邊框的車牌。我們將車牌候選區(qū)域旋轉(zhuǎn)至水平后就可以對(duì)車牌進(jìn)行精確定位了,也就是對(duì)車牌邊框的去除。對(duì)測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析可以得出:經(jīng)過(guò)定位旋轉(zhuǎn)后的車牌候選區(qū)域邊框有兩種,一種是車牌本身的邊框,而另一種是車牌周圍的白色背景與車牌一起被當(dāng)作候選車牌區(qū)域,此時(shí)該白色背景也可以被看作是車牌的邊框。
車牌邊框的處理分為車牌上下邊框的處理和車牌左右邊框的處理。車牌的上下邊框的處理比較簡(jiǎn)單,車牌的上下邊框分為兩種:一種是車牌本身的白色邊框,另一種是車牌上下位置的白色背景。而車牌的左右邊界也可以歸為這兩類,不過(guò)由于圖像本身的特征,一般來(lái)說(shuō)車牌的上下邊框要寬于左右邊框,并且車牌左右邊框要復(fù)雜一些。
對(duì)于車牌的上下邊框的去除,本發(fā)明采取了下面步驟來(lái)處理:
S2.1.1上下邊框的去除;
S2.1.1.1用OTSU(大津算法)方法獲得車牌候選區(qū)域的二值化閾值,從而得到候選區(qū)域的二值圖像,為了排除車牌傾斜角度的影響我們求取該二值圖像中間部分的行和,然后將行和處理如下:
S2.1.1.2從中間向兩端開始尋找rowsum的上下方向上有一段距離為零的邊界,本發(fā)明算法中采用該距離為0.75×height,因?yàn)橐话丬嚺频纳舷逻吙蛉コ谋容^準(zhǔn)確,故我們采用圖形高度來(lái)做參考距離。此時(shí)我們得到的邊界就是最后所需要的車牌上下邊界。
經(jīng)過(guò)上面處理后,對(duì)于大多數(shù)圖片我們就可以將其上下邊框進(jìn)行處理掉,然后我們就可以對(duì)該車牌區(qū)域進(jìn)行去除左右邊框了。
對(duì)于車牌的左右邊框的去除,本發(fā)明采取了下面步驟來(lái)處理:
S2.1.2左右邊框的去除;
S2.1.2.1用去除上下邊框相同的方法來(lái)找到一個(gè)左右邊框的邊界:left1,right1。
S2.1.2.2重新構(gòu)建一個(gè)二值圖像,再用和第一步相同的方法來(lái)尋找邊界left2,right2。此時(shí)構(gòu)建的二值圖像根據(jù)車牌區(qū)域HSV模型的H值來(lái)二值化圖像。首先對(duì)車牌區(qū)域的中間區(qū)域來(lái)統(tǒng)計(jì)其H值的范圍,然后根據(jù)該H值的范圍對(duì)全部車牌區(qū)域進(jìn)行二值化,就得到了我們需要的二值化圖像。
S2.1.2.3根據(jù)S2.1.2.1和S2.1.2.2得到的兩個(gè)邊界信息來(lái)確定最后的邊界。最后確定的邊界可以用下面式子表示:
left=max(left1,left2)
right=min(right1,right2)
按照上述步驟去邊框處理后,得到的車牌區(qū)域比原來(lái)定位出來(lái)原始車牌區(qū)域精確了些,但是并不是絕對(duì)的精確,我們可以將其看作是邊框去除過(guò)程中引入的誤差。本發(fā)明采用的分割算法能夠容忍在車牌邊框去除時(shí)存在的少許誤差。也就是說(shuō)在去除車牌左右邊框時(shí),邊框沒(méi)有完全去除并不影響我們隊(duì)字符的正確分割。
S2.2.車牌字符分割;
在進(jìn)行分割字符前,必須要注意一個(gè)問(wèn)題,那就是由于不同光照、和車牌臟舊等原因使得車牌的灰度圖像中背景和字符對(duì)比度不強(qiáng),這對(duì)于后一步用投影法來(lái)進(jìn)行字符分割會(huì)帶來(lái)一定的難度,故而在分割前需要先對(duì)車牌圖像進(jìn)行字符的對(duì)比度增強(qiáng)。
一個(gè)完整的車牌區(qū)域字符像素占整個(gè)車牌區(qū)域像素的20%,對(duì)于某些圖片來(lái)說(shuō),雖然由于其他原因使得車牌中字符和背景的差異不是很大,但是總體上來(lái)說(shuō)字符的像素值也比背景像素值高一些。故可以利用該特點(diǎn)來(lái)對(duì)車牌區(qū)域中前20%像素進(jìn)行增強(qiáng)而對(duì)其他的像素進(jìn)行抑制,從而到達(dá)增強(qiáng)目標(biāo)字符抑制背景的目的。對(duì)此本發(fā)明采用車牌增強(qiáng)算法如下:
步驟1:統(tǒng)計(jì)整個(gè)車牌區(qū)域內(nèi)像素點(diǎn)的最大像素值和最小像素值maxvalue,minvalue。
步驟2:設(shè)置需要增強(qiáng)的像素點(diǎn)數(shù)占全部像素點(diǎn)數(shù)的比例系數(shù)coef,比例系數(shù)范圍在0-1之間,根據(jù)實(shí)際需要調(diào)整,通常原始車牌圖像較清晰,比例系數(shù)就較小,原始車牌圖像模糊,比例系數(shù)就大。
步驟3:統(tǒng)計(jì)0-255像素值上對(duì)應(yīng)出現(xiàn)的像素點(diǎn)的個(gè)數(shù),并存儲(chǔ)在1×255的數(shù)組count(1,i)里面。
步驟4:從count(1,i),i=255開始往下統(tǒng)計(jì)像素點(diǎn)的個(gè)數(shù),如果統(tǒng)計(jì)的像素點(diǎn)pixelnum<width*height*coef則將i-1繼續(xù)統(tǒng)計(jì),否則停止統(tǒng)計(jì)并記下當(dāng)前的像素值index。
步驟5:車牌區(qū)域每一點(diǎn)按下面的方法進(jìn)行增強(qiáng):
經(jīng)過(guò)上面的變換后,就可以將圖像進(jìn)行增強(qiáng),如果原圖已有很好的對(duì)比度,經(jīng)過(guò)以上的變換也不會(huì)使圖像的效果變差,其效果圖如圖3所示。
從圖5的效果可以看出,前兩幅由RGB直接轉(zhuǎn)換為灰度圖像的車牌區(qū)域其對(duì)比度不是很明顯,經(jīng)過(guò)增強(qiáng)后背景和字符的對(duì)比度明顯好轉(zhuǎn),而原本對(duì)比度一般的車牌區(qū)域經(jīng)過(guò)增強(qiáng)后其效果也變得更好了。這樣的增強(qiáng)對(duì)下一步分割字符有利。因?yàn)楸景l(fā)明所采用的字符分割方法是基于灰度投影的算法,由于原本字符對(duì)比度不明顯,其灰度投影圖的波峰、波谷特征也不是很明顯,但是經(jīng)過(guò)圖像增強(qiáng)后,其灰度投影圖就能夠很好的表現(xiàn)其波峰波谷特征,有利用對(duì)字符的精確分割。
本發(fā)明所用的灰度投影分割字符充分利用了車牌字符的特點(diǎn),與一般的投影分割相比有很大的優(yōu)越性。普通的投影分割就是利用灰度投影曲線的波谷點(diǎn)來(lái)對(duì)字符進(jìn)行分割。本發(fā)明對(duì)這種普通的投影算法進(jìn)行了改進(jìn),大大提高了字符分割正確率。由車牌字符投影曲線可以看出,車牌圓點(diǎn)右邊的五個(gè)字符中除了字符就是數(shù)字,當(dāng)然還有少數(shù)車牌為漢字。對(duì)于字符和數(shù)字來(lái)說(shuō),其投影曲線不是雙峰結(jié)構(gòu)就是單峰結(jié)構(gòu)。所以本發(fā)明在對(duì)字符進(jìn)行分割充分利用該特征改進(jìn)了投影分割算法。本發(fā)明字符分割算法流程圖如圖4所示。
進(jìn)行字符分割前,對(duì)前面增強(qiáng)的車牌圖像,按列累加圖像的像素值,就可以得到車牌的投影曲線,但是得到的投影曲線有很多噪聲使其并不平滑,這影響系對(duì)字符的分割,所以首先需要將投影曲線進(jìn)行平滑,在本算法中采用高斯濾波來(lái)平滑投影曲線,用于濾波的核為[0.25,0.5,1,0.5,0.25]。圖5為車牌投影曲線的濾波前后的效果圖。從圖5中可以很明顯的看出經(jīng)過(guò)濾波后的投影曲線比原曲線平滑了很多,且原曲線中的一些由噪聲引起的峰值也在濾波后消失了,這樣在檢測(cè)波峰波谷時(shí)就不會(huì)檢測(cè)出因噪聲產(chǎn)生的波峰波谷點(diǎn)。
由濾波后的車牌灰度投影圖,就可以根據(jù)該投影曲線來(lái)進(jìn)行字符分割。本發(fā)明采用的是改進(jìn)的投影法來(lái)進(jìn)行字符分割。一般的投影法分割字符是直接利用波谷點(diǎn)來(lái)對(duì)字符進(jìn)行分割,而本發(fā)明的投影法在分割字符時(shí)充分考慮了車牌字符的投影特征,具體步驟如下:
步驟1:根據(jù)車牌的灰度投影曲線圖可得,車牌后面最多出現(xiàn)五個(gè)雙峰結(jié)構(gòu),故搜索出前五個(gè)最大波谷點(diǎn),然后判斷這些點(diǎn)是否為雙峰結(jié)構(gòu)中的波谷點(diǎn),如果是,則將該雙峰結(jié)構(gòu)的起止位置記下。
步驟2:確定車牌字符寬度characterwidth。如果步驟1檢測(cè)到了雙峰結(jié)構(gòu),則字符寬度就取為檢測(cè)到的所有雙峰結(jié)構(gòu)的平均值,否則字符寬度就取前3個(gè)單峰寬度中的最大值。
步驟3:設(shè)置字符起始點(diǎn)為第二字符和第三字符的分割點(diǎn),設(shè)置結(jié)束點(diǎn)為車牌最后一個(gè)波谷點(diǎn)。如果在步驟1中檢測(cè)到了雙峰結(jié)構(gòu)則進(jìn)行步驟4,否則進(jìn)行步驟5。
步驟4:設(shè)置字符臨時(shí)分割段起始點(diǎn)為字符起始點(diǎn),字符臨時(shí)分割段終點(diǎn)為一個(gè)雙峰結(jié)構(gòu)起始位置,然后在字符臨時(shí)分割段里進(jìn)行檢測(cè),如果該字符臨時(shí)分割段里有一個(gè)峰結(jié)構(gòu),則該峰結(jié)構(gòu)就單獨(dú)為一個(gè)字符,如果該字符臨時(shí)分割段里有兩個(gè)峰結(jié)構(gòu),則先判斷這兩個(gè)峰結(jié)構(gòu)是一個(gè)雙峰字符還是兩個(gè)單峰字符,具體判斷規(guī)則就利用這兩個(gè)峰結(jié)構(gòu)的寬度,以及該兩個(gè)峰結(jié)構(gòu)的寬度和字符寬度進(jìn)行比較。如果這兩個(gè)峰結(jié)構(gòu)的寬度之和小于字符寬度的1.2倍且這兩個(gè)峰結(jié)構(gòu)的寬度相差很小。否則這兩個(gè)峰結(jié)構(gòu)就不是一個(gè)雙峰字符的投影,且可以肯定前面一個(gè)峰結(jié)構(gòu)就是一個(gè)字符,所以可以將這兩個(gè)峰結(jié)構(gòu)前面的一個(gè)峰結(jié)構(gòu)分割出來(lái),然后更新字符臨時(shí)分割段如下:將字符臨時(shí)分割段的起點(diǎn)更新到被分割出來(lái)的峰后面,字符臨時(shí)分割段終點(diǎn)不變,但是如果此時(shí)字符臨時(shí)分割段的起點(diǎn)等于終點(diǎn)時(shí)則將字符臨時(shí)分割段起點(diǎn)更新到先前的雙峰結(jié)構(gòu)的終止位置,并將臨時(shí)分割段的終點(diǎn)更新到下一個(gè)雙峰結(jié)構(gòu)的起點(diǎn),如果后面沒(méi)有雙峰結(jié)構(gòu)了則將臨時(shí)分割段的終點(diǎn)更新為字符結(jié)束點(diǎn),然后重復(fù)步驟4直到分割到字符結(jié)束點(diǎn)為止。
步驟5:進(jìn)行到步驟5說(shuō)明在檢測(cè)雙峰結(jié)構(gòu)時(shí)并未檢測(cè)到,但是并不代表該車牌內(nèi)不存在雙峰結(jié)構(gòu)的字符,并不能排除存在有雙峰結(jié)構(gòu)的字符。此時(shí)分割就直接從字符起始點(diǎn)開始分割直到分割出5個(gè)字符。在分割中需要檢測(cè)的就是檢測(cè)相鄰的兩個(gè)峰結(jié)構(gòu)是不是一個(gè)字符的雙峰曲線。檢測(cè)所利用的方法和步驟4中雙峰結(jié)構(gòu)檢測(cè)方法相同,利用兩個(gè)峰結(jié)構(gòu)的寬度和該兩個(gè)峰結(jié)構(gòu)的寬度與字符寬度之間的關(guān)系進(jìn)行判斷。
步驟6:根據(jù)分割出的后面五個(gè)字符來(lái)分割前面兩個(gè)字符。首先將分割出來(lái)的后面五個(gè)字符中的最大寬度作為前面兩個(gè)字符的寬度。前面兩個(gè)字符為字母或者漢字,而字符也為雙峰結(jié)構(gòu)的,所以用后面五個(gè)字符中的最大寬度作為前面字符的寬度是合理的。分割前面兩個(gè)字符的方法為:從第二字符和第三字符的分割點(diǎn)向前移動(dòng)字符寬度個(gè)像素,然后將離該向前移動(dòng)后的分割點(diǎn)的最近一個(gè)波谷值作為車牌第一字符和第二字符的分割點(diǎn)。利用同樣方法也可以確定第一個(gè)字符的開始位置。
步驟7:對(duì)分割出來(lái)的字符序列進(jìn)行檢測(cè),看該字符序列是否符合車牌字符序列的特征。車牌字符序列的特征可以用下面表達(dá)式來(lái)表示,假設(shè)dis1為前面兩個(gè)字符的寬度向量,dis2為后面五個(gè)字符的寬度向量,width為車牌寬度,height為車牌高度,則一個(gè)合理的車牌字符序列必須滿足下面的表達(dá)式:
min(min(dis1),min(dis2))>width/10
max(dis2)>width/5
height/min(dis1)<3
這樣就可以從車牌區(qū)域中分割出字符序列,從上面的算法步驟中可以看出,對(duì)于還有部分左右邊框的車牌,本發(fā)明的分割算法對(duì)其有很高的魯棒性。
S3車牌分割字符識(shí)別;
對(duì)于已經(jīng)分割好的車牌字符,需要進(jìn)行識(shí)別才能輸出,本發(fā)明提出了聯(lián)合方向梯度直方圖和核主成分分析法的特征,它綜合了二值圖、灰度圖、16值圖的方向梯度直方圖特征的優(yōu)點(diǎn),能夠較好提取漢字結(jié)構(gòu)特征。方向梯度直方圖特征進(jìn)行聯(lián)合后,HOG特征維數(shù)增加,此時(shí)為了縮短特征提取時(shí)間,本系統(tǒng)用核主成分分析法方法進(jìn)行降維。字符識(shí)別方法采用的是對(duì)小樣本問(wèn)題有較好分類效果的支持向量機(jī)。
本實(shí)施例采用基于聯(lián)合HOG特征的車牌字符識(shí)別算法來(lái)對(duì)車牌分割字符進(jìn)行識(shí)別;
常見車牌有7個(gè)字符,文中是將分割下來(lái)的7個(gè)字符進(jìn)行識(shí)別。車牌字符由英文字母、漢字和數(shù)字組成,中文和英文數(shù)字的特點(diǎn)不一樣:中文漢字筆畫稠密、輪廓復(fù)雜;數(shù)字和英文則輪廓清晰,結(jié)構(gòu)簡(jiǎn)單。因此文中對(duì)漢字和英文數(shù)字采用不同的分類器,對(duì)它們分別提取特征。
本發(fā)明車牌識(shí)別過(guò)程是:
S3.1首先確定字符的分類器。
S3.2然后分別提取漢字、數(shù)字字母的灰度方向梯度直方圖(HOG)特征、二值HOG特征、16值HOG特征,將它們組合成聯(lián)合HOG特征,將得到的聯(lián)合HOG特征用核主成分分析法進(jìn)行降維。
S3.3最后將漢字和數(shù)字字母的聯(lián)合HOG特征送入支持向量機(jī)進(jìn)行訓(xùn)練和預(yù)測(cè),將漢字和數(shù)字字母的識(shí)別結(jié)果進(jìn)行組合,得到最終的車牌字符識(shí)別結(jié)果。
基于聯(lián)合HOG的車牌識(shí)別流程如圖6所示。
方向梯度直方圖:
方向梯度直方圖的核心思想是計(jì)算圖像中被檢測(cè)目標(biāo)的局部梯度的統(tǒng)計(jì)信息。由于梯度是針對(duì)邊緣輪廓,因此,目標(biāo)的外形輪廓可以由梯度分布所描述。因此,HOG特征就是通過(guò)將分割下來(lái)的單個(gè)字符分割成小的連通區(qū)域,成為細(xì)胞單元,每個(gè)細(xì)胞單元中的每個(gè)像素生成一個(gè)梯度直方圖,這些直方圖的串聯(lián)就可表示出所檢測(cè)目標(biāo)的特征。為了提高光照變化的適應(yīng)性,將這些直方圖在分割下來(lái)的單個(gè)字符中的一個(gè)較大區(qū)域內(nèi)進(jìn)行對(duì)比度歸一化,具體來(lái)說(shuō)就是計(jì)算每個(gè)局部直方圖在塊中的密度,所述塊為整個(gè)分割下來(lái)的較大區(qū)域圖像塊,根據(jù)密度來(lái)對(duì)這個(gè)塊中的每個(gè)細(xì)胞單元進(jìn)行歸一化。經(jīng)過(guò)歸一化后,HOG特征對(duì)光照變化和陰影可以獲得更好的適應(yīng)能力。
HOG具體實(shí)現(xiàn)過(guò)程如下:
(1)計(jì)算圖像梯度:先用模板[-1,0,1]對(duì)分割下來(lái)的單個(gè)字符做卷積運(yùn)算,得到水平方向梯度分量Gh(x,y),如式(1)所示;再用模板[-1,0,1]對(duì)分割下來(lái)的單個(gè)字符做卷積運(yùn)算,得到豎值方向梯度分量Gv(x,y),如式(2)所示;最后,計(jì)算分割下來(lái)的單個(gè)字符所表示的像素點(diǎn)的梯度幅值M(x,y)和θ(x,y)梯度方向,如式(3)、式(4)所示,f(x,y)表示該點(diǎn)的像素值,計(jì)算公式為:
Gh(x,y)=f(x+1,y)-f(x-1,y) (1)
Gv(x,y)=f(x,y+1)-f(x,y-1) (2)
M(x,y)≈|Gh(x,y)|+|Gv(x,y)| (3)
(2)構(gòu)建梯度方向直方圖:在細(xì)胞單元中的每個(gè)像素點(diǎn)都要為基于某個(gè)梯度方向的直方柱投票,梯度方向可取0~180°或者0~360°,在以往的實(shí)驗(yàn)證明0~180°效果較好。單個(gè)字符圖像被分為若干個(gè)細(xì)胞單元,每個(gè)細(xì)胞單元包括8*8個(gè)像素,將梯度范圍分為9個(gè)方向角度,因此利用9個(gè)方向角度對(duì)8*8個(gè)像素的梯度信息進(jìn)行投票。特別指出,直方圖投票采取加權(quán)投票,即每個(gè)像素的梯度幅值作為投票權(quán)重。
(3)將細(xì)胞單元組合成塊:塊的結(jié)構(gòu)有兩種,矩形塊(R-HOG)和環(huán)形塊(C-HOG)。本發(fā)明采用矩形塊來(lái)進(jìn)行目標(biāo)檢測(cè),矩形塊一般包含3個(gè)參數(shù):每個(gè)塊中細(xì)胞單元的數(shù)目,每個(gè)細(xì)胞單元中像素點(diǎn)的數(shù)目以及每個(gè)細(xì)胞單元的方向角數(shù)目。
(4)塊內(nèi)歸一化計(jì)算公式如下所示:
L2_hys:先計(jì)算L2_norm,然后將v的最大值限定為0.2,再進(jìn)行歸一化。
其中,v表示包含給定塊統(tǒng)計(jì)直方圖信息的未歸一化向量;δ是一個(gè)很小的常數(shù),作用是為了避免分母為0;||v||k是v的k階范數(shù)。在Dalal的實(shí)驗(yàn)中發(fā)現(xiàn)L2_hys,L2_norm,L1_sqrt效果差不多,L1_norm字符識(shí)別效果要差一些,但這4個(gè)歸一化方法在識(shí)別性能上對(duì)比未歸一化都有明顯提高。本發(fā)明中采用的是L2_norm進(jìn)行歸一化。
假設(shè)將車牌字符歸一化到64*128,每8*8個(gè)像素組成一個(gè)細(xì)胞單元,每2*2個(gè)細(xì)胞單元組成一個(gè)塊,當(dāng)塊的滑動(dòng)步長(zhǎng)為8時(shí),掃描垂直方向可以滑動(dòng)15次,水平方向可以滑動(dòng)7次,因此可以得到36*7*15=3780位的特征算子。單個(gè)車牌字符處理效果如圖4所示,車牌字符灰度圖的梯度幅值圖和梯度角度圖包含的細(xì)節(jié)信息多,但缺點(diǎn)在于角度圖中的字符輪廓不明顯,影響了車牌字符識(shí)別率。為了克服上述缺點(diǎn),提出了聯(lián)合HOG特征,將灰度圖的HOG特征、二值圖的HOG特征和16值圖的HOG特征聯(lián)合起來(lái)。
聯(lián)合方向梯度直方圖:
聯(lián)合HOG方法,即將灰度圖和二值圖分別計(jì)算HOG并組合成聯(lián)合特征,如下所示:Ht代表是得到的聯(lián)合特征,hi表示灰度圖和二值圖的HOG特征,ωi代表的是灰度圖和二值圖HOG的權(quán)重值,權(quán)重之和為1。權(quán)重分布的不同對(duì)后來(lái)的識(shí)別結(jié)果有很大影響。經(jīng)實(shí)驗(yàn)證明,權(quán)重值都為0.5時(shí),識(shí)別效果是最好的,并且對(duì)比單獨(dú)的灰度圖或二值圖的識(shí)別效果好:
其中∑ωi=1
同時(shí)將16值圖的HOG特征加入聯(lián)合HOG特征,即分別進(jìn)行車牌字符的灰度圖、二值圖和16值圖的HOG計(jì)算,將結(jié)果以某種關(guān)系線性組合起來(lái)得到的聯(lián)合HOG特征,組合如下式所示:
Ht=ωgrayhgray+ω2h2+ω16h16
Ht代表最終的聯(lián)合HOG特征,hgray,h2,h16分別代表車牌字符灰度圖、二值圖和16值圖的HOG特征,ωi代表權(quán)重。
聯(lián)合HOG將灰度圖、二值圖和16值圖的特點(diǎn)結(jié)合起來(lái),能夠一定程度的彌補(bǔ)單獨(dú)進(jìn)行灰度圖或者二值圖的HOG運(yùn)算造成的不足,對(duì)識(shí)別率有也有一定程度的提高。
車牌字符特征分類:
車牌字符分類主要是指將待識(shí)別的字符特征與經(jīng)過(guò)學(xué)習(xí)的訓(xùn)練字符特征通過(guò)某一算法進(jìn)行對(duì)比來(lái)進(jìn)行識(shí)別。常用的分類器主要包括最小距離分類器、k-最近鄰分類器、貝葉斯分類器、決策樹、Adaboost級(jí)聯(lián)分類器、人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)(SVM)。根據(jù)需要訓(xùn)練分類的車牌字符特性及不同分類器的特點(diǎn),本發(fā)明主要采用支持向量機(jī)進(jìn)行分類。支持向量機(jī)的核心思想在于利用一個(gè)分類超平面當(dāng)作決策的曲面,來(lái)最大化正類和負(fù)類兩者的邊緣距離??紤]到本文中車牌字符識(shí)別中訓(xùn)練樣本的數(shù)量有限,而且生成的HOG維數(shù)較多,因此本發(fā)明采用的對(duì)小樣本問(wèn)題有較好分類效果的支持向量機(jī)。針對(duì)多分類的問(wèn)題,本文采用的“一對(duì)一”的方式進(jìn)行劃分。SVM在處理樣本并進(jìn)行訓(xùn)練預(yù)測(cè)識(shí)別的過(guò)程大致為以下幾步:在車牌字符樣本中選擇訓(xùn)練樣本集和測(cè)試樣本集,分別對(duì)訓(xùn)練集和測(cè)試集進(jìn)行預(yù)處理,并提取HOG等特征,然后利用交叉驗(yàn)證法選擇最優(yōu)參數(shù)c和g,最后利用最佳參數(shù)訓(xùn)練SVM,獲得訓(xùn)練模型,利用訓(xùn)練模型對(duì)測(cè)試集進(jìn)行預(yù)測(cè),得到預(yù)測(cè)分類準(zhǔn)確率。SVM中常用的核函數(shù)包括線性核函數(shù),徑向基核函數(shù),多項(xiàng)式核函數(shù),sigmoid核函數(shù)。對(duì)于不同的核函數(shù)測(cè)試集的分類準(zhǔn)確率也會(huì)不同,車牌字符識(shí)別中采用徑向基核函數(shù)的分類準(zhǔn)確率最高。因此,本發(fā)明SVM的核函數(shù)采用的是RBF核函數(shù)。
綜上所述,在提取特征以后,利用SVM進(jìn)行訓(xùn)練分類。訓(xùn)練分類后,將分割好的字符輸入訓(xùn)練器中,輸出識(shí)別的車牌字符。
本發(fā)明中提出的方法實(shí)際上可嵌入FPGA實(shí)現(xiàn),運(yùn)用于具有實(shí)時(shí)輸出圖像功能的車牌識(shí)別功能的相機(jī)或攝像機(jī)監(jiān)控系統(tǒng)中。
本領(lǐng)域技術(shù)人員將清楚本發(fā)明的范圍不限制于以上討論的示例,有可能對(duì)其進(jìn)行若干改變和修改,而不脫離所附權(quán)利要求書限定的本發(fā)明的范圍。盡管己經(jīng)在附圖和說(shuō)明書中詳細(xì)圖示和描述了本發(fā)明,但這樣的說(shuō)明和描述僅是說(shuō)明或示意性的,而非限制性的。本發(fā)明并不限于所公開的實(shí)施例。
通過(guò)對(duì)本發(fā)明的研究,在實(shí)施本發(fā)明時(shí)本領(lǐng)域技術(shù)人員可以理解和實(shí)現(xiàn)所公開的實(shí)施例的變形。在本發(fā)明中,術(shù)語(yǔ)“包括”不排除其他步驟或元素,而不定冠詞“一個(gè)”或“一種”不排除多個(gè)。在彼此不同的從屬權(quán)利要求中引用的某些措施的事實(shí)不意味著這些措施的組合不能被有利地使用。權(quán)利要求書中的任何參考標(biāo)記不構(gòu)成對(duì)本發(fā)明的范圍的限制。