本發(fā)明涉及車輛技術(shù)領(lǐng)域,特別涉及一種車牌識別方法及系統(tǒng)。
背景技術(shù):
目前,關(guān)于車輛的車牌識別,存在一種基于多特征融合的車牌字符識別方法,步驟為:對視頻中的車輛進行檢測并對車輛中的車牌進行定位與分割;對分割出的車牌進行投影分析,分割并提取出車牌中7個有效字符;對分割出的字符圖片進行形態(tài)學處理,并提取出車牌字符的三種特征進行有效融合;利用支持向量機對融合特征進行訓練生成車牌字符分類器,對實時視頻中的車輛車牌字符進行有效識別。
然而,上述方法中的字符分割算法主要基于垂直投影分割算法,由于車牌區(qū)域的字符和底色有著強烈的對比度,以及字符之間有著明顯的間隙,所有車牌圖像的垂直投影呈現(xiàn)字符為波峰,字符間隙為波谷的現(xiàn)象,找到這些波谷即找到字符的分割點。但是,由于拍攝的圖像受到各種環(huán)境因素的影響,車牌圖像中會有較大的噪聲干擾,圖像二值化過程中會有部分信息丟失,常常引起字符粘連和字符斷裂,而垂直投影法通常只能分割理想環(huán)境中的車牌字符,無法準確地分割字符粘連和字符斷裂的情況,對復雜環(huán)境的適應性差,從而導致該方法提取的車牌字符特征的經(jīng)驗性成分偏高,車牌識別效果不好。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。為此,本發(fā)明的一個目的在于提出一種車牌識別方法,該方法能夠精確對車牌字符的定位和分割,提高車牌字符識別率。
本發(fā)明的另一個目的在于提出一種車牌識別系統(tǒng)。
為達到上述目的,本發(fā)明一方面實施例提出了一種車牌識別方法,包括以下步驟:S1:采集車輛圖像;S2:對所述車輛圖像進行濾波,并通過Canny算子對所述車輛圖像進行邊緣檢測以將所述車輛圖像轉(zhuǎn)換為邊緣二值圖像;S3:掃描所述邊緣二值圖像,以根據(jù)邊緣間距和邊緣跳變得到車牌候選區(qū)域;S4:根據(jù)車牌的垂直邊緣特征和形態(tài)學膨脹從所述車牌候選區(qū)域中定位車牌;S5:根據(jù)單個字符的輪廓特征從所述車牌中搜索多個字符,并根據(jù)車牌模板去除所述多個字符中的偽字符;S6:利用SVM分類器對所述多個字符進行識 別,并根據(jù)識別結(jié)果確定車輛的車牌號碼。
根據(jù)本發(fā)明實施例提出的車牌識別方法,對采集的車輛圖像進行濾波及邊緣檢測后得到邊緣二值圖像,然后據(jù)此得到車牌候選區(qū)域,并在車牌候選區(qū)域中定位車牌,并對車牌字符進行篩選,去除偽字符,最后利用SVM分類器對剩余的字符進行識別,最終確定車牌號碼。該方法能夠在復雜環(huán)境中精確地對車牌進行定位和字符分割,提高車牌識別的識別率、識別速度、適應性和穩(wěn)定性。
為達到上述目的,本發(fā)明另一方面實施例提出了一種車牌識別系統(tǒng),包括:采集模塊,所述采集模塊用于采集車輛圖像;濾波模塊,所述濾波模塊用于對所述車輛圖像進行濾波,并通過Canny算子對所述車輛圖像進行邊緣檢測以將所述車輛圖像轉(zhuǎn)換為邊緣二值圖像;掃描模塊,所述掃描模塊用于掃描所述邊緣二值圖像,以根據(jù)邊緣間距和邊緣跳變得到車牌候選區(qū)域;定位模塊,所述定位模塊用于根據(jù)車牌的垂直邊緣特征和形態(tài)學膨脹從所述車牌候選區(qū)域中定位車牌;篩選模塊,所述篩選模塊用于根據(jù)單個字符的輪廓特征從所述車牌中搜索多個字符,并根據(jù)車牌模板去除所述多個字符中的偽字符;識別模塊,所述識別模塊用于利用SVM分類器對所述多個字符進行識別,并根據(jù)識別結(jié)果確定車輛的車牌號碼。
根據(jù)本發(fā)明實施例提出的車牌識別系統(tǒng),對采集的車輛圖像進行濾波及邊緣檢測后得到邊緣二值圖像,然后據(jù)此得到車牌候選區(qū)域,并在車牌候選區(qū)域中定位車牌,并對車牌字符進行篩選,去除偽字符,最后利用SVM分類器對剩余的字符進行識別,最終確定車牌號碼。該系統(tǒng)能夠在復雜環(huán)境中精確地對車牌進行定位和字符分割,提高車牌識別的識別率、識別速度、適應性和穩(wěn)定性。
本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
圖1是根據(jù)本發(fā)明一個實施例的車牌識別方法的流程圖;
圖2是根據(jù)本發(fā)明一個實施例的灰度拉伸前后的灰度圖;
圖3是根據(jù)本發(fā)明一個實施例的邊緣檢測和二值化后的圖像;
圖4是根據(jù)本發(fā)明一個實施例的字符分類示意圖;
圖5是根據(jù)本發(fā)明一個具體實施例的適用于小型汽車、大型汽車前牌、領(lǐng)館汽車、軍用汽車、教練車港澳出入境車車牌示意圖;
圖6是根據(jù)本發(fā)明一個具體實施例的適用于大型汽車后牌、掛車車牌示意圖;
圖7是根據(jù)本發(fā)明一個具體實施例的適用于使館汽車車牌示意圖;
圖8是根據(jù)本發(fā)明一個具體實施例的適用于公安汽車車牌示意圖;
圖9是根據(jù)本發(fā)明一個實施例的字符訓練與識別流程框圖;
圖10是根據(jù)本發(fā)明一個實施例的分類器組合示意圖;以及
圖11是根據(jù)本發(fā)明一個實施例的車牌識別系統(tǒng)的結(jié)構(gòu)框圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面參考附圖來描述本發(fā)明實施例提出的車牌識別方法及系統(tǒng)。
圖1是根據(jù)本發(fā)明一個實施例的車牌識別方法的流程圖。如圖1所示,該剎車片磨損預警方法,包括以下步驟:
步驟S1:采集車輛圖像。在具體示例中,例如通過攝像頭拍攝得到車輛圖像。
步驟S2:對車輛圖像進行濾波,并通過Canny算子對車輛圖像進行邊緣檢測以將車輛圖像轉(zhuǎn)換為邊緣二值圖像。
步驟S3:掃描邊緣二值圖像,以根據(jù)邊緣間距和邊緣跳變得到車牌候選區(qū)域。
步驟S4:根據(jù)車牌的垂直邊緣特征和形態(tài)學膨脹從車牌候選區(qū)域中定位車牌。
步驟S5:根據(jù)單個字符的輪廓特征從車牌中搜索多個字符,并根據(jù)車牌模板去除多個字符中的偽字符。
步驟S6:利用SVM分類器對多個字符進行識別,并根據(jù)識別結(jié)果確定車輛的車牌號碼。
換言之,本發(fā)明實施例的車牌識別方法,即基于字符邊緣特征的車牌定位方法,采用粗細結(jié)合的定位方式,以快速簡單方法確認車牌候選區(qū)域,以復雜精確方法定位車牌區(qū)域,采用灰度圖像處理方式,與顏色無關(guān),適用于多種顏色組合的車牌情況,可以快速有效地定位車牌,該方法主要包括:車牌粗定位和車牌精細定位兩部分。
1.對于車牌的粗定位,兼顧車牌定位的性能和運算速度、車牌區(qū)域具有明顯的字符特征、車牌顏色容易受自然環(huán)境光變化影響等因素,因此,本發(fā)明的實施例采用簡單的車牌粗定位方法獲取邊緣密集的車牌候選區(qū)域。
在本發(fā)明的一個實施例中,上述步驟S1進一步包括:對車輛圖像進行高斯濾波,得到車輛圖像的梯度幅值和梯度方向;對梯度幅值進行非極大值抑制,以確定車輛圖像的邊緣;利用雙閾值檢測方法對車輛圖像進行二值化邊緣提取,以得到第一邊緣圖像和第二邊緣圖像,并根據(jù)第一邊緣圖像和第二邊緣圖像進行邊緣連接。作為具體的示例,更為詳細的描 述即對圖像進行邊緣檢測,例如采用Canny算子邊緣檢測,可以檢測出豐富的邊緣細節(jié),又可以有效地減速噪聲的干擾,基本原理如下:
首先,用高斯濾波器平滑圖像。因為任何邊緣檢測算法都無法在未經(jīng)處理的原始圖像上得到比較理想的效果,所以第一步是對原始圖像做高斯濾波,高斯濾波函數(shù)如下:
G(x,y)=f(x,y)*H(x,y) (2)
進一步地,用一階差分來計算梯度的幅值和方向,一階差分卷積模板為選擇對噪聲有抑制作用的Sobel算子,如下:
則梯度的幅值為:
梯度的方向為:
對梯度幅值進行“非極大值抑制”。因為即使得到的幅度也無法確定邊緣,邊緣是局部梯度極大值,因此需要對梯度的幅值進行“非極大值抑制”,使檢測到的實際邊緣的中心,并且生成細化的邊緣。非極大值抑制是指在梯度方向上只保留梯度幅值為極大值的點,抑制所有非極大值的點。首先將梯度角的變化范圍縮小到只有四個方向,標號0到3.對梯度圖像的每個像素點使用一個3x3的模板,將模板的中心像素X的梯度值與沿著梯度方向的兩個相鄰像素的梯度值比較,如果X的梯度值均小于沿梯度方向的兩個像素的梯度值,則將X處的灰度值置零。對梯度圖像進行“非極大值抑制”處理后,檢測到的邊緣只有一個像素的寬度,提高算法的處理效率。
進一步地,進行雙閾值檢測和邊緣連接。具體地,非極大值抑制后,需要對梯度圖像進行二值化邊緣提取。如果用單閾值來處理,選擇合適的閾值是很困難的,因此,本發(fā)明的實施例選擇比較有效的方法是選用兩個閾值,高閾值為T1,低閾值為T2。利用高閾值T1對梯度圖像進行二值化,得到強邊緣圖像EdgeImg1(即第一邊緣圖像);利用低閾值T2對梯度圖像進行二值化,得到弱邊緣二值化圖像EdgeImg2(即第二邊緣圖像)。由于圖像EdgeImg1使用高閾值得到,所以它包含有較少的假邊緣,但是損失了一些有用的邊緣信息;而圖像EdgeImg2使用低閾值得到,保留了更多的邊緣信息,包括更多的假邊緣信息。因此,以邊緣圖像EdgeImg1為基礎(chǔ),以邊緣圖像EdgeImg2為補充來連接邊緣。首先,在邊緣圖像EdgeImg1中掃描,當遇到一個非零灰度的像素A時,跟蹤以A為開始點的輪廓線,直 到改線的終點B,接著在邊緣圖像EdgeImg2中比較與邊緣圖像EdgeImg1中B點位置對應的B’點,如果B’點的8鄰域區(qū)域有非零像素C’存在,則在圖像EdgeImg1中對應的C點位置設為邊緣點。同理,繼續(xù)在邊緣圖像EdgeImg2中尋找并跟蹤以R為起點的邊緣線,如此循環(huán)直到在邊緣圖像EdgeImg1和邊緣圖像EdgeImg2中都沒有可以相互連接的邊緣點。這樣完成了包含A點的邊緣圖像的連接,并標記為已訪問過。然后依次重復尋找圖像EdgeImg1中的每一個邊緣線,并且直到在圖像EdgeImg2中再也找不到新的邊緣線為止。
在本發(fā)明的一個實施例中,上述步驟S3進一步包括:根據(jù)車牌實際大小確定車牌寬度范圍;根據(jù)最小車牌寬度得到最小邊緣間距;對邊緣二值圖像進行逐行掃描,將邊緣二值圖像中同時滿足最小邊緣間距和邊緣跳變達到預設次數(shù)的邊緣點進行連接,以得到連通域;對連通域進行分析以得到車牌候選區(qū)域。作為具體的示例,更為詳細的描述即記性水平跳變檢測邊緣密集區(qū)域。具體地,經(jīng)過上述的Canny邊緣檢測,已經(jīng)把采集到的圖像轉(zhuǎn)換為黑白的邊緣二值圖像,而且Canny算子檢測到的邊緣非常豐富。由于車牌區(qū)域含有多個字符,每個字符具有豐富的邊緣信息,字符與字符之間存在車牌底色背景,整體有著鮮明可見的字符區(qū)域和非字符區(qū)域的強烈對比度,因此對車牌邊緣圖像進行逐行掃描時,會發(fā)現(xiàn)車牌區(qū)域的灰度值跳變非常劇烈,而且邊緣之間水平距離很小很密集。因此,本發(fā)明的實施例根據(jù)車牌實際大小設定車牌寬度范圍,記最小車牌寬度為minPlateWidth,最大車牌寬度為maxPlateWidth。由最小車牌寬度可以計算出最小字符間距,表示字符邊緣的最小距離要求。為了兼容處理單排車牌和雙排車牌,本發(fā)明的實施例至少要找到五個字符,因此一個車牌寬度內(nèi)至少有十次(即預設次數(shù))跳變。進一步地,對二值邊緣圖的每一行進行掃描,將同時滿足邊緣間距和邊緣跳變的邊緣點連接起來,得到連通域。這樣可以快速檢測出車牌可能存在的區(qū)域。
進一步地,對連通域進行分析以獲得車牌候選區(qū)域。其中,首先獲得連通域的最小外接矩形,由車牌的先驗知識提取可能的車牌候選區(qū)域,本發(fā)明的實施例通過去除Blob內(nèi)部點的方式提取候選區(qū)域輪廓。Blob內(nèi)部點通常滿足3x3的鄰域內(nèi)都有白點。用車牌的幾何特征粗略篩選出候選區(qū)域,例如圖2所示。
其中,車牌候選區(qū)域?qū)饨泳匦蔚膶挾壤鐬閃idth:inPlateWidth/2≤Width≤MaxPlateHeight*2;
車牌候選區(qū)域?qū)饨泳匦蔚母叨壤鐬镠eight:MinPlateHeight/2≤Height≤MaxPlateheight*2;
車牌候選區(qū)域?qū)饨泳匦蔚膶捀弑壤鐬镽atio:Ratio>1。
2.對于車牌的精確定位。車牌精細定位采用相對復雜的圖像處理方法,主要利用車牌的垂直邊緣特征和形態(tài)學膨脹定位車牌。
在發(fā)明的一個實施例中,步驟S3進一步包括:對車牌候選區(qū)域進行自適應灰度拉伸,以調(diào)整車牌候選區(qū)域的對比度;檢測車牌候選區(qū)域的車牌字符的垂直邊緣,以得到車牌的垂直邊緣特征。作為具體的示例,更為詳細的描述即本發(fā)明實施例通過自適應灰度拉伸實現(xiàn)對圖像的增強,使車牌區(qū)域的對比度合適,避免在自然環(huán)境中有強弱不同的光照引起車牌字符和底色的對比度變差,難以提取車牌的紋理現(xiàn)象。需要說明的是,如果圖像已經(jīng)有合適的對比度,則可進一步增加其對比對;如果圖像的對比度非常差,則圖像的拉伸范圍不宜設置過大,以免造成拉伸過度。其中,灰度拉伸公式如下:
其中a,b的第一次取值如下:
這里的c(i)為圖像的積累直方圖。根據(jù)(b-a)的取值,設置拉伸區(qū)域范圍為:
p=(b-a)/255
a=a+(b-a)*q
b=b-(b-a)*q
q根據(jù)動態(tài)范圍p進行自適應設置:
進一步地,使用垂直Sobel算子檢測車牌字符的垂直邊緣,得到車牌的垂直邊緣特征。
進一步地,在本發(fā)明的一個實施例中,步驟S5進一步包括:通過最大類間方差法對邊緣二值化圖像進行自適應二值化處理;對自適應二值化處理的邊緣二值化圖像進行三次掃描,并分別記錄邊緣二值化圖像的邊緣長度,根據(jù)邊緣長度去除圖像中的噪聲,其中,第一次掃描記錄從邊緣左上點開始計數(shù)的邊緣長度,第二次掃描記錄從邊緣右下點開始計數(shù)的邊緣長度,第三次掃描將第一次和第二次掃描的數(shù)據(jù)相加得到邊緣二值化圖像的邊緣長度。作為具體的示例,更為詳細的描述即進行圖像進行自適應二值化,其目的是通過一個合適的閾值把圖像分為前景和背景兩部分。具體地,本發(fā)明的實施例例如采用最大類間方差法,其基本思想是:將圖像分為兩部分,一部分為像素灰度值大于等于閾值T的部分,另一部分為像素灰度值小于閾值T的部分,然后計算這兩部分的平均值方差σ2,也即類間方差,通過迭代求出使類間方差σ2最大的閾值T,該閾值即為二值化效果最好的閾值。具體過程例如為:假設圖像具有R級灰度,1,2,3,…,R,設二值化閾值為T,把灰度值小于 T的像素分為一類C1=(0,1,2,…,T),把灰度值大于T的像素分為另一類C2=(T+1,T+2,…,R-1)。類C1中的像素總數(shù)占圖像的比例為W1,平均灰度為M1(T);類C2中的像素圖像的比例為W2,平均灰度為M2(T),所有圖像像素的平均灰度為M。
其中,類間方差σ2的計算公式如下:
σ2=W1(M1-M)2+W2(M2-M)2,
由于直接運用以上公式求取最大類間方差法的閾值的計算量龐大,因此本發(fā)明的實施例在實現(xiàn)時需要簡化以上公式,得到其等價的公式:
σ2=W1W2(M1-M2)2,
該算法具體步驟如下:
(a)令T=0;
(b)求出大于T和小于T的這兩類的像素總數(shù)占圖像的比例和平均灰度值;
(c)計算類間方差σ2最大值對應的T;
(d)T=T+1,循環(huán)(a)到(d);
(e)找到類間方差σ2最大值對應的T,即為二值化閾值。
進一步地,去除噪聲。由于二值化圖像中含有噪聲,影響車牌的精確定位。因此,本發(fā)明的實施例采用的去噪方法需要對邊緣圖像掃描三次,第一次掃描記錄從邊緣左上點開始計數(shù)的邊緣長度,第二次掃描記錄從邊緣右下點開始計數(shù)的邊緣長度,第三次掃描將前兩次的數(shù)據(jù)相加得到邊緣圖像的真實長度,然后根據(jù)邊緣長度除去噪聲。
其中,需要說明的是,本發(fā)明上述示例中描述的水平跳變檢測過程,不僅可以去除部分偽車牌,而且還可以估計車牌區(qū)域已經(jīng)車牌高度,為后續(xù)步驟做好準備。
進一步地,利用幾何特征對定位結(jié)果進行篩選:
(1)車牌候選區(qū)域的Blob面積Area;
(2)車牌候選區(qū)域的Blob外接矩形的寬度Width;
(3)車牌候選區(qū)域的Blob外接矩形的高度Height;
(4)車牌候選區(qū)域的Blob外接矩形的寬高比Ratio;
對應以上幾何特征,當拍攝車牌的場景確定時,車牌的幾何特征值在一定范圍內(nèi):
MinPlateArea≤Area≤MaxPlateArea;
MinPlateWidth≤Width≤MaxPlateWidth;
MinPlateHeight≤Height≤MaxPlateHeight;
MinPlateRatio≤Ratio≤MaxPlateRatio;
作為具體的示例,以下結(jié)合附圖對本發(fā)明上述實施例中的車牌精確定位過程進行詳細描述。具體地說,本發(fā)明的實施例例如采用基于字符輪廓和模板匹配的字符分割方法來對 字符進行分割。該方法利用輪廓的空間擴展性可以方便地提取各種粘連和斷裂的字符,然后在找到大部分字符的基礎(chǔ)上,利用字符寬度、字符高度和字符間距組成的模板進行自適應匹配,找到匹配度最佳的模板,利用模板補充缺失字符和去除偽字符,完成字符分割。該字符分割方法具體包括:
針對復雜環(huán)境中的車牌易出現(xiàn)粘連的字符、斷裂的字符和模糊的字符,本發(fā)明的實施例例如利用單個字符的輪廓特征來尋找和確認字符,由于輪廓具有空間擴展性,對輪廓的局部區(qū)域搜索,可以對各種類型的粘連和斷裂進行估計,以達到去除干擾部分,補充字符缺少部分;最后利用字符排列布局的整體特征,用自適應模板去除偽字符,補充模糊字符。
其中,車牌字符特征例如包括輪廓特征和幾何特征。一般來說輪廓特征中,漢字的筆畫繁多,結(jié)構(gòu)復雜,輪廓不連續(xù),輪廓多而密,但也有個別漢字筆畫少,輪廓間距較大。對漢字進行分割提取的時候,往往需要對漢字的輪廓進行聚集,把漢字分散的筆畫集中起來,形成一個整體;英文字母和數(shù)字結(jié)構(gòu)簡單,輪廓連續(xù),根據(jù)輪廓的一些相似性,將其分為兩類:普通字符和類“1”字符。車牌字符的幾何特征是固定的,車牌字符有固定的寬高比,字符之間有固定的距離。我國車牌有單排號碼和雙排號碼兩種排列方式,每種排列方式有其自身的幾何特征:單排號碼含有七個字符,字符的寬高比為1:2,第二個字符和第三個字符間距為34mm,其余相鄰字符之間的間距為12mm;雙排號碼中,上層含有兩個字符,字符的寬高比為1.33:1,字符間距為60mm,下層含有五個字符,字符的寬高比為1:1.83,相鄰字符間距為15mm。
綜上,該基于字符輪廓和模板匹配的字符分割方法,綜合分析復雜的自然環(huán)境中車牌可能出現(xiàn)的各種情況,如背光的車牌對比度很差、強烈光照下的車牌有些過曝、部分污損車牌的字符斷裂或粘連、速度較快的車輛的車牌有些模糊、很多車牌含有金屬邊框易引起字符與金屬邊框粘連等,可以很好的處理以上常見的不利情況。
進一步地,作為具體的例子,以下結(jié)合附圖對本發(fā)明各個處理過程得到的結(jié)果示意圖進行展示。
例如,本發(fā)明實施例采用車牌精細定位中的自適應灰度拉伸方法,自適應灰度拉伸可以有效地增強車牌區(qū)域的對比度例如圖2所示,提高邊緣檢測的準確率。
進一步地,在一些示例中,需要估計車牌顏色。車牌顏色包括車牌字符顏色和車牌底色。我國的車牌顏色主要有:藍底白字、黃底黑字、白底黑字、白底紅字。不同顏色組合的車牌在二值化后,將會出現(xiàn)白色字符與黑色底色和黑色字符與白色底色兩種二值化結(jié)果,因此,必須首先估計出車牌的顏色,然后才能將車牌的二值化圖像統(tǒng)一為黑色底色與白色字符。本發(fā)明基于HSV顏色空間判斷車牌顏色。
基于HSV顏色空間的車牌顏色判斷的原理例如為:首先將RGB圖像轉(zhuǎn)換為HSV圖像, 然后對圖像上的每個像素的顏色進行判斷,統(tǒng)計整個車牌圖像的顏色分布,然后估計出車牌顏色。在HSV空間中,利用V分量可以識別黑色,用V、S分量可以識別白色,利用H、S、V分量可以識別藍色、黃色和紅色,由于我國各個區(qū)域的車牌顏色深淺并不一致,況且同一個車牌在不同的光照條件下,會有不同的色度和飽和度,因此必須采集各種環(huán)境下的車牌樣本,對車牌顏色進行采樣估計,以確定黑色、白色、藍色、紅色、黃色在HSV三分量的閾值,本發(fā)明的實施例通過采樣估計,獲取閾值表1所示。
表1
在本發(fā)明的實施例中,在完成車牌顏色判斷后,需要將黃底黑字、白底黑字、白底紅字的灰度車牌圖像進行反色;對灰暗的車牌圖像附表1的閾值無法進行正確的判斷,本發(fā)明的實施例同時對其進行不反色和反色的處理,通過最后的字符分割結(jié)果來判斷。
在另一些示例中,例如還包括拉普拉斯邊緣檢測。由于拉普拉斯邊緣檢測方法是一個與邊緣方向無關(guān)的邊緣算子,本發(fā)明使用拉普拉斯邊緣檢測可以完整地檢測出字符邊緣,例如圖3所示。需要說明的是,由于拉普拉斯邊緣檢測只能檢測黑底白字的灰度圖像的字符邊緣,所以在使用拉普拉斯邊緣檢測前必須警醒車牌顏色估計,這樣才能處理所有類型的車牌。
在進行二值化時,將邊緣圖像檢測后的車牌灰度圖進行二值化,把邊緣處置為前景,飛邊緣處置為背景。本發(fā)明的實施例采用經(jīng)典的全局動態(tài)二值化方法:OTSU(最大類間方差法)算法,即使圖像對比度比較差,直方圖上的雙峰難以確定,OTSU二值化方法仍然可以取得好的效果,二值化后的車牌圖例如圖3所示。
在估計字符高度時,估計車牌字符的尺寸是精確提取字符的關(guān)鍵步驟,由于可以方便地利用車牌區(qū)域整體字符的橫向跳變特征估計出字符高度,進而根據(jù)字符高寬比估計出字符的寬度。同時,此步驟還能去除車牌的部分上下邊框。
在提取字符時,在黑底白字的車牌邊緣圖像中,存在完整的獨立字符、粘連的字符和斷裂的字符,本發(fā)明實施例采用分布提取字符的方法,每一步提取后去除相應的字符。其中,字符的輪廓蘊藏很多信息,每個字符都有自己獨特的輪廓,從輪廓的最小外接矩形來看,字符的尺寸大體可以分為兩類,普通字符和類“1”字符。
在提取邊緣完整的獨立普通字符時,將高度接近估計的字符高度,并且高寬比接近標 準字符高寬比(2:1)的字符提取到普通字符類別中,例如圖5所示。
在分離粘連的字符時,通常字符的粘連情況有:字符與字符的粘連,字符與上下邊框的粘連,字符與左右邊框的粘連。
對字符的最小外接矩形寬度是字符估計寬度的1.5倍以上的情況進行處理。具體如下:
A.優(yōu)先處理字符與上下邊框的粘連:這種粘連可能是多個字符與邊框的粘連,而字符與字符之間存在明顯的間隙,字符的間隙在二值化圖像的垂直方向上為連續(xù)的黑色,其長度接近或大于字符估計的高度,找到字符間隙即可分離出字符,例如圖5所示。
B.然后處理字符與字符的粘連,這種情況通常不存在字符之間的空隙,所以只能強行分割。
C.最后處理字符與左右邊框的粘連,左右邊框在二值化圖像的垂直方向上為連續(xù)的白色,去除一部分,降低其影響即可,避免傷及字體部分。
在提取斷裂的字符時,有些模糊的字符在邊緣檢測后,部分邊緣是斷裂的,需要對斷裂的邊緣之間進行小范圍區(qū)域生長,邊緣之間連接成功后,提取滿足普通字符尺寸的字符。
例如,提取“1”、“J”、“T”、“L”。首先提取“1”字符,但是字符“1”可能是字符“J”、“L”、“T”斷裂而產(chǎn)生,因此需要對“1”字符進行空間擴展,頂部和底部進行區(qū)域生長搜索,如果滿足“J”、“L”、“T”中的輪廓形狀,將其提取為普通字符;如果滿足“1”輪廓,將其提取為“1”字符,例如圖4所示。
在進行二次確認時,在車牌定位不精確的情況中,車牌左右的車體上也許會出現(xiàn)輪廓尺寸滿足普通字符尺寸的干擾區(qū)域,由于車牌字符筆畫較細,具有在邊緣檢測再二值化與直接局部二值化的效果相似的特征,這里先將“1”字符外接矩形擴展到普通字符大小,對提取的字符在外接矩形框中做局部的OTSU二值化,并與邊緣二值化圖比較,若相似,則為字符。
由于字符具有鮮明的邊緣輪廓特征,輪廓周圍很有可能存在字符,所以這個部分盡可能地從輪廓周圍尋找和確認字符,為后續(xù)模板匹配打好基礎(chǔ)。
在進行模板匹配時,在提取字符的步驟中,可能存在部分模糊的字符沒有被提取出來,也可能存在提取的字符是偽字符,因此需要利用字符排列的整體特性,尋找沒有提取的字符以及去除偽字符。
作為具體的示例,以下介紹四種常見的車牌模板,模板主要由字符高度、字符寬度和字符間距組成,例如圖5、圖6、圖7和圖8所示。本發(fā)明的十四號里利用車牌的顏色判斷使用哪一種模板,本示例中,僅以第一種模板為例介紹模板匹配的過程。
在模板匹配中,首先要獲取車牌模板的大小,車牌模板有字符寬度、字符高度、字符間距組成,只需要知道其中一個值就能通過三者的比例求取其他兩個值,本發(fā)明采用由字 符寬度求取字符模板的方式。字符模板匹配僅對提取到5個以上字符的情況作處理。由提取到的字符的平均寬度作為基礎(chǔ),在此基礎(chǔ)上減2,減1,加1,加2,用5個字符寬度可以得出5個不同大小的模板,用這5個不同大小的字符模板在提取到的字符上移動作匹配,求出匹配度最大的模板。匹配度最大即為在多種匹配情況中,提取到的字符中心位置與所用模板中對應字符的中心位置偏移總量最小。
最佳匹配度例如為:
σ=MIN(∑j≤7|C1(i)-C2(i)|),
上述公式中C1(i)為提取字符對應的模板字符的中心X坐標,C2(i)為提取字符的中心X坐標。
以下詳細描述本方面實施的基于SVM分類器進行字符識別的過程,包括SVM的原理、核函數(shù)及其參數(shù)的選擇方法、兩類分類推廣到多類分類的方法。選擇區(qū)分效果好的統(tǒng)計特征和結(jié)構(gòu)特征作為訓練和識別的字符特征,對于相似字符容易識別錯的問題,利用特殊特征進行二次識別,提高整個系統(tǒng)的字符識別率。
車牌識別的目的就是識別出車牌圖像中的字符,經(jīng)過上述車牌定位和字符分割后,可以提取車牌區(qū)域中每個字符的圖像,本發(fā)明的實施例基于SVM的字符識別的三個基本環(huán)節(jié)是字符預處理、特征提取、分類匹配判決,車牌字符訓練與識別的基本結(jié)構(gòu)例如如圖9所示。
在進行字符歸一化與二值化時,由于圖像中定位的車牌大小不一,因此分割處理后的字符大小也不統(tǒng)一,為了便于提取特征,需要把車牌字符統(tǒng)一成一個模板大小,由于絕大多數(shù)車牌字符的高度比是1:2,因此設定的統(tǒng)一后的字符模板寬20像素,高40像素。通過對每個字符圖像進行數(shù)值插值處理,得到歸一化的字符圖像后,本發(fā)明的實施例采用OTSU二值化方法對字符圖像進行二值化。
在進行特征提取時,字符的特征提取和SVM的模型訓練是字符識別中最重要、最核心的兩個步驟。本發(fā)明的實施例提取的特征滿足三個條件:一是有很強的區(qū)分本類別和其他類別的能力,也就是要獲得盡量大的類間間距;二是對同類別有很好的穩(wěn)定性,也就是要獲得盡量小的類內(nèi)距離;三是特征的維數(shù)要盡量小以及提取特征的算法要容易實現(xiàn)。本發(fā)明選用的特征有:投影特征、網(wǎng)格特征、內(nèi)外輪廓特征、拓撲特征、幾何矩特征、占空比特征和跳變特征。
在進行分類器組合時,在車牌字符的排列布局中,第一個字符一般為漢字,第二個字符一般為英文,其余五個字符為英文或數(shù)字。為了提高字符識別準確率,本發(fā)明使用三種分類器,分別為漢字分類器,英文分類器和英文和數(shù)字分類器,例如圖10所示。
在選擇多分類方法時,SVM本質(zhì)上只是一個兩分類分類器,而車牌字符有幾十個,車 牌的字符識別屬于一個多分類的問題,因此本發(fā)明的實施例把SVM兩分類方法推廣到多分類方法。本發(fā)明的實施例為每個可能的分類組合構(gòu)造一個二值分類器,使用一對多的方法通過組合多個二值分類器來構(gòu)造多值分類網(wǎng)絡。
例如,把K類訓練樣本構(gòu)造出K個兩類分類器,第i個SVM分類器的正樣本為第i類樣本,負樣本為其他所有的樣本,然后求得所有兩類分類器的判決函數(shù)。最終分類結(jié)果為判決函數(shù)處處的最大的那個類別。
本發(fā)明的實施例采用徑向基RBF核函數(shù),RBF可以將樣本映射到一個更高維數(shù)的空間,與線性和函數(shù)不同,他可以處理類別標簽和特征之間的關(guān)系是非線性的樣本,并且線性核函數(shù)只是RBF的一個特例,Keerthi等證明一個具有懲罰參數(shù)C的線性核函數(shù)與參數(shù)(C,σ)的RBF具有相同的性能。RBF比多項式核函數(shù)需要更少的參數(shù),減少模型的復雜度,另外,隨著多項式核函數(shù)的階數(shù)的增大,數(shù)值計算的復雜度遠遠大于RBF。
徑向基(RBF)核函數(shù)主要確定懲罰因子C和參數(shù)σ。其中C控制著使間隔margin最大且錯誤率最小的折中,就是在確定的特征空間中調(diào)節(jié)學習機器的置信范圍和經(jīng)驗風險的比例;而σ2是RBF核函數(shù)參數(shù),主要影響樣本數(shù)據(jù)在高維特征空間中分布的復雜程度。因此分類器的好壞取決于參數(shù)C、σ的確定。參數(shù)選擇的好壞直接影響到分類器性能的好壞,但這方面目前缺乏理論指導,沒有合適的方法,傳統(tǒng)的參數(shù)選取都是通過反復的試驗,人工選取令人滿意的解。這種方法需要技術(shù)人員的經(jīng)驗指導,并且需要付出較高的時間代價。本發(fā)明的實施例通過網(wǎng)格法選擇參數(shù),具體如下:
選取U個C和V個σ2,就會有UxV的組合狀態(tài),每種組合狀態(tài)對應一種SVM分類器,通過測試對比,找出推廣識別率最高的C和σ2組合。一般選取U=V=15,C取值分別為[2-2,2-1,…,211,212],σ2取值分別為[2-5,2-4,…,28,29],共255個C、σ2組合。
綜上,本發(fā)明的實施例通過基于字符輪廓和模板匹配的字符分割方法,利用輪廓的空間擴展性可以方便的提取各種粘連和斷裂的字符,然后在找到大部分字符的基礎(chǔ)上,利用字符寬度、字符高度和字符間距組成的模板進行自適應匹配,找到匹配度最佳的模板,利用模板補充缺失字符和去除偽字符,更高效精確地完成字符分割;另外,采用SVM分類器進行字符識別,選取更合理的核函數(shù)和參數(shù),將兩類分類推廣到多類分類。選擇區(qū)分效果好的統(tǒng)計特征和結(jié)構(gòu)特征作為訓練和識別的字符特征,對于相似字符容易識別錯的問題,利用特殊特征進行二次識別,提高整個系統(tǒng)的字符識別率。
根據(jù)本發(fā)明實施例提出的車牌識別方法,對采集的車輛圖像進行濾波及邊緣檢測后得到邊緣二值圖像,然后據(jù)此得到車牌候選區(qū)域,并在車牌候選區(qū)域中定位車牌,并對車牌字符進行篩選,去除偽字符,最后利用SVM分類器對剩余的字符進行識別,最終確定車牌 號碼。該方法能夠在復雜環(huán)境中精確地對車牌進行定位和字符分割,提高車牌識別的識別率、識別速度、適應性和穩(wěn)定性。
本發(fā)明的進一步實施例還提供了一種車牌識別系統(tǒng)。
圖11是根據(jù)本發(fā)明一個實施例的車牌識別系統(tǒng)的結(jié)構(gòu)框圖。如圖11所示,該系統(tǒng)100包括:采集模塊110、濾波模塊120、掃描模塊130、定位模塊140、篩選模塊150和識別模塊160。
其中,采集模塊110用于采集車輛圖像。濾波模塊120用于對車輛圖像進行濾波,并通過Canny算子對車輛圖像進行邊緣檢測以將車輛圖像轉(zhuǎn)換為邊緣二值圖像。掃描模塊130用于掃描邊緣二值圖像,以根據(jù)邊緣間距和邊緣跳變得到車牌候選區(qū)域。定位模塊140用于根據(jù)車牌的垂直邊緣特征和形態(tài)學膨脹從車牌候選區(qū)域中定位車牌。篩選模塊150用于根據(jù)單個字符的輪廓特征從車牌中搜索多個字符,并根據(jù)車牌模板去除多個字符中的偽字符。識別模塊160用于利用SVM分類器對多個字符進行識別,并根據(jù)識別結(jié)果確定車輛的車牌號碼。因此,該系統(tǒng)100能夠精確對車牌進行定位和字符分割,提高車牌字符識別率。
在本發(fā)明的一個實施例中,濾波模塊120例如用于對車輛圖像進行高斯濾波,得到車輛圖像的梯度幅值和梯度方向,并對梯度幅值進行非極大值抑制,以確定車輛圖像的邊緣,并利用雙閾值檢測方法對車輛圖像進行二值化邊緣提取,以得到第一邊緣圖像和第二邊緣圖像,并根據(jù)第一邊緣圖像和第二邊緣圖像進行邊緣連接。
在本發(fā)明的一個實施例中,掃描模塊130例如用于根據(jù)車牌實際大小確定車牌寬度范圍,并根據(jù)最小車牌寬度得到最小邊緣間距,并對邊緣二值圖像進行逐行掃描,將邊緣二值圖像中同時滿足最小邊緣間距和邊緣跳變達到預設次數(shù)的邊緣點進行連接,以得到連通域,并對連通域進行分析以得到車牌候選區(qū)域。
在本發(fā)明的一個實施例中,定位模塊140例如用于對車牌候選區(qū)域進行自適應灰度拉伸,以調(diào)整車牌候選區(qū)域的對比度,并檢測車牌候選區(qū)域的車牌字符的垂直邊緣,以得到車牌的垂直邊緣特征。
在本發(fā)明的一個實施例中,篩選模塊150例如用于通過最大類間方差法對邊緣二值化圖像進行自適應二值化處理,并對自適應二值化處理的邊緣二值化圖像進行三次掃描,并分別記錄邊緣二值化圖像的邊緣長度,根據(jù)邊緣長度去除圖像中的噪聲,其中,第一次掃描記錄從邊緣左上點開始計數(shù)的邊緣長度,第二次掃描記錄從邊緣右下點開始計數(shù)的邊緣長度,第三次掃描將第一次和第二次掃描的數(shù)據(jù)相加得到邊緣二值化圖像的邊緣長度。
需要說明的是,本發(fā)明實施例的車牌識別系統(tǒng)的具體實現(xiàn)方式與本發(fā)明實施例的車牌識別方法的具體實現(xiàn)方式類似,具體請參見方法部分的描述,為了減少冗余,此處不做贅述。
綜上,根據(jù)本發(fā)明實施例提出的車牌識別系統(tǒng),對采集的車輛圖像進行濾波及邊緣檢測后得到邊緣二值圖像,然后據(jù)此得到車牌候選區(qū)域,并在車牌候選區(qū)域中定位車牌,并對車牌字符進行篩選,去除偽字符,最后利用SVM分類器對剩余的字符進行識別,最終確定車牌號碼。該系統(tǒng)能夠在復雜環(huán)境中精確地對車牌進行定位和字符分割,提高車牌識別的識別率、識別速度、適應性和穩(wěn)定性。
在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“長度”、“寬度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”“內(nèi)”、“外”、“順時針”、“逆時針”、“軸向”、“徑向”、“周向”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。
此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”、“固定”等術(shù)語應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或成一體;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通或兩個元件的相互作用關(guān)系,除非另有明確的限定。對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
在本發(fā)明中,除非另有明確的規(guī)定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接觸,或第一和第二特征通過中間媒介間接接觸。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或僅僅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或僅僅表示第一特征水平高度小于第二特征。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。