孫庭強(qiáng),鄭 彥
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210003)
車牌識(shí)別技術(shù)是智能交通系統(tǒng)的重要組成部分,其在超速檢測(cè)、高速公路收費(fèi)管理、車流量檢測(cè)、小區(qū)車輛管理、電子警察等方面應(yīng)用廣泛[1]。現(xiàn)有的車牌檢測(cè)方法大致可以分為兩個(gè)類別:第一類方法基于圖像分割,其一般檢測(cè)過程分為分割圖像、抽取特征以及目標(biāo)匹配三個(gè)部分;另一類方法則基于滑動(dòng)窗口,其檢測(cè)過程是用特定尺寸的窗口以一定步長(zhǎng)在待測(cè)圖像中滑動(dòng)并進(jìn)行目標(biāo)匹配。其中,基于圖像分割的車牌檢測(cè)方法是一種自底向上的方法,分割與檢測(cè)依賴于圖像的底層特征,包括顏色、邊緣、紋理、形狀、幾何等等。檢測(cè)對(duì)分割的依賴性以及特征選取的盲目性是圖像檢測(cè)中的經(jīng)典難題,特別是在復(fù)雜環(huán)境下,大量不確定的噪聲將嚴(yán)重影響分割與檢測(cè)的準(zhǔn)確性。關(guān)于如何增加車牌分割的準(zhǔn)確性以及字符的識(shí)別率,國(guó)內(nèi)外學(xué)者進(jìn)行了大量研究。而基于滑動(dòng)窗口的車牌檢測(cè)方法則是一種自上向下的方法,依賴于各種先驗(yàn)知識(shí),其中較為經(jīng)典的算法包括模板匹配算法[2]以及形態(tài)學(xué)檢測(cè)算法[3]等。該算法更加適合特定環(huán)境下以及平穩(wěn)環(huán)境下的車牌檢測(cè),而復(fù)雜環(huán)境下,這類算法所依賴的先驗(yàn)知識(shí)適應(yīng)性不強(qiáng),容易導(dǎo)致漏檢和誤檢。
在實(shí)際應(yīng)用中,由于場(chǎng)景和需求的變化產(chǎn)生了兩種基于圖像分割的車牌檢測(cè)與識(shí)別方法:基于車牌定位的方法[4]以及基于字符組合的方法[5]。其中,基于車牌定位的檢測(cè)與識(shí)別方法需要經(jīng)過圖像分割、車牌定位、字符分割以及字符識(shí)別四個(gè)步驟,而基于字符組合的檢測(cè)與識(shí)別方法只需要經(jīng)過圖像分割、字符定位、字符識(shí)別三個(gè)步驟,省略了分割定位車牌的過程。受復(fù)雜背景、光照強(qiáng)度等因素影響,基于車牌定位的檢測(cè)與識(shí)別方法車牌定位困難,定位的準(zhǔn)確性決定了車牌識(shí)別率,定位失敗必然導(dǎo)致識(shí)別失敗[6]。基于字符組合的檢測(cè)與識(shí)別方法直接定位字符,規(guī)避了車牌定位困難的問題,因此具有較好的魯棒性。然而該方法同時(shí)也存在著字符分割的可靠性不高,對(duì)于字符顏色變化和形狀變化的魯棒性差等問題。
在基于字符組合的車牌檢測(cè)與識(shí)別方法的基礎(chǔ)上,文中綜合考慮復(fù)雜環(huán)境下的光照、天氣、角度、距離、背景等變化因素,提出了一種基于多粒度區(qū)域生長(zhǎng)的字符分割算法和一種基于多特征聚類的字符組合檢測(cè)算法。在基于區(qū)域生長(zhǎng)的分割算法中,根據(jù)灰度值對(duì)目標(biāo)圖像采用多個(gè)粒度進(jìn)行生長(zhǎng)分割,借鑒MSER穩(wěn)定極致的思想,將區(qū)域生長(zhǎng)分割與聚類分析進(jìn)行交互,通過不斷學(xué)習(xí)最終得到一個(gè)穩(wěn)定的字符組合及其分割粒度區(qū)間,從而有效應(yīng)對(duì)光照強(qiáng)度變化以及天氣等原因?qū)е碌姆指畈粶?zhǔn)確等問題。在基于多特征聚類的字符組合檢測(cè)方法中,相似性度量的計(jì)算包含顏色、幾何以及位置關(guān)系這三種特征,無監(jiān)督學(xué)習(xí)的聚類算法可以應(yīng)對(duì)復(fù)雜背景下檢測(cè)多個(gè)車牌的場(chǎng)景,而字符位置關(guān)系特征的引入可有效適應(yīng)對(duì)拍攝角度和距離變化的情況,同時(shí)采用特征子集以應(yīng)對(duì)部分字符遮擋、字符顏色變化等問題,增強(qiáng)魯棒性。
圖像分割是提取圖像中感興趣目標(biāo)的過程,常用的圖像分割方法包括基于閾值的分割方法、基于區(qū)域的分割方法、基于邊緣的分割方法、基于直方圖的分割方法,以及基于特定理論的分割方法,如基于聚類分析的分割方法[7]、基于SVM的分割方法[8]、基于模糊熵的分割方法[9]、基于小波分析的分割方法[10]、MSER方法[11]等等。復(fù)雜環(huán)境下,車牌圖像分割受環(huán)境因素和場(chǎng)景因素影響較大。固定的單一閾值或多閾值分割,單一粒度的區(qū)域或邊緣分割在光照強(qiáng)度和天氣變化較大的情況下都無法保證分割的準(zhǔn)確性,因?yàn)樵谳^強(qiáng)和較低光照環(huán)境下,區(qū)域間界限相對(duì)模糊,難以確定分割閾值。
MSER(最穩(wěn)定極值區(qū)域)方法使用不同的灰度閾值對(duì)圖像進(jìn)行二值化,得到一個(gè)最穩(wěn)定的區(qū)域,對(duì)于圖像灰度的仿射變化具有不變性,且區(qū)域的支持集相對(duì)灰度變化穩(wěn)定,可以檢測(cè)不同精細(xì)程度的圖像區(qū)域。然而,對(duì)復(fù)雜圖像進(jìn)行分割時(shí),MSER方法卻容易導(dǎo)致過分割,從而導(dǎo)致目標(biāo)提取失敗。
借鑒MSER方法求穩(wěn)定極值區(qū)域的思想,同時(shí)為了防止過分割,文中提出了一種基于多粒度區(qū)域生長(zhǎng)的車牌字符分割方法,從求解單個(gè)字符區(qū)域的穩(wěn)定性轉(zhuǎn)為求解目標(biāo)字符組合的穩(wěn)定性。區(qū)域生長(zhǎng)圖像分割方法是直接根據(jù)底層像素的相似性與連通性進(jìn)行聚類的方法[12],生長(zhǎng)的粒度即像素間的相似性度量,多粒度的區(qū)域生長(zhǎng)方法,以多個(gè)不同的粒度分別進(jìn)行生長(zhǎng)分割,得到同一幅圖像在不同粒度下的分割區(qū)域。對(duì)于目標(biāo)區(qū)域集合,存在一個(gè)粒度區(qū)間,在該區(qū)間內(nèi)目標(biāo)區(qū)域穩(wěn)定滿足字符判別條件,這一粒度區(qū)間即為該區(qū)域集合的穩(wěn)定分割粒度區(qū)間。區(qū)間最小值為最細(xì)分割粒度,區(qū)間最大值為最粗分割粒度。
對(duì)于原始輸入的車牌圖像P,初始以較小的生長(zhǎng)粒度g0進(jìn)行生長(zhǎng)分割,輸出初次分割后的區(qū)域集合E(A0,A1,…,An),將區(qū)域集合E作為聚類算法的輸入,輸出候選區(qū)域子集{D1(A0,A1),D2(A2,A3),…,Dm(Ai,Aj,…,An)}。若{D1,D2,…,Dm}中不存在目標(biāo)子集,則增大粒度繼續(xù)分割;若{D1,D2,…,Dm}中存在目標(biāo)子集Dk(目標(biāo)子集可以有多個(gè)),即Dk中包含疑似車牌字符,則增大生長(zhǎng)粒度g1=g0+△g重復(fù)分割,得到目標(biāo)車牌字符組合R及其穩(wěn)定分割粒度區(qū)間{g1,g2,…,gk}。
圖像分割得到了大量候選區(qū)域,在對(duì)候選區(qū)域進(jìn)行字符組合檢測(cè)時(shí),常用的方法有馬爾可夫鏈[13]和條件隨機(jī)場(chǎng)[14]等,但其算法時(shí)間復(fù)雜度較高。因此,文中采用AGNES聚類算法以及字符位置關(guān)系判別進(jìn)行字符組合檢測(cè),通過聚類分析算法和位置關(guān)系判別對(duì)候選區(qū)進(jìn)行分析、選擇合并策略、剔除假車牌,實(shí)現(xiàn)準(zhǔn)確、快速的多車牌區(qū)域分割,在一定限度內(nèi)自適應(yīng)車牌的類型、大小、數(shù)量和方向[15]。同時(shí)為了增強(qiáng)字符組合檢測(cè)對(duì)于字符形變的魯棒性,采用特征子集優(yōu)化聚類效果。為了降低算法的復(fù)雜度,加快檢測(cè)速率,采用主成分分析方法,在聚類分析時(shí)選取最主要的灰度值、長(zhǎng)度以及寬度三個(gè)特征進(jìn)行相似性度量,為了彌補(bǔ)特征維數(shù)不足容易導(dǎo)致車牌字符誤檢的情況,對(duì)聚類結(jié)果進(jìn)行基于字符位置關(guān)系的判別。
聚類是將數(shù)據(jù)分類到不同的類或者簇的一個(gè)過程,最大化類內(nèi)對(duì)象的相似性以及類間對(duì)象的相異性。聚類大致上可分為劃分聚類、層次聚類、模糊聚類以及基于密度的聚類,常見的聚類算法包括K-MEANS算法[16]、K-MEDOIDS算法[17]、AGNES算法[18]、DIANA算法、EM算法、OPTICS算法等。
AGNES(agglomerative nesting)是凝聚的層次聚類算法,一個(gè)簇中的對(duì)象和另一個(gè)簇中的對(duì)象之間的距離是所有屬于不同簇的對(duì)象間歐氏距離中最小的。這是一種單連接方法,其每個(gè)簇可以被簇中的所有對(duì)象代表,兩個(gè)簇之間的相似度由這兩個(gè)簇中距離最近的數(shù)據(jù)點(diǎn)對(duì)的相似度來確定。該算法實(shí)現(xiàn)簡(jiǎn)單,適合小規(guī)模的數(shù)據(jù)運(yùn)算,與K-MEANS、K-MEDOIDS相比,具有對(duì)噪聲不敏感且不需要預(yù)先選擇聚類質(zhì)心點(diǎn)等優(yōu)點(diǎn)。
AGNES算法描述如下:
輸入:包含n個(gè)對(duì)象的數(shù)據(jù)集合,終止條件簇的數(shù)目k
輸出:k個(gè)簇
(1)將每個(gè)對(duì)象當(dāng)成一個(gè)初始簇
(2)Repeat
(3)根據(jù)兩個(gè)簇中最近的對(duì)象找到最近的兩個(gè)簇
(4)合并兩個(gè)簇,生成新的簇的集合
(5)Until簇的數(shù)目等于k
其中,兩個(gè)簇相似度的計(jì)算公式為:
D1={A1,A2},D2={A3,A4};
Distance(D1,D2)=min{Distance(A1,A3),
Distance(A1,A4),Distance(A2,A3),Distance(A2,A4)}
相似性的度量方法是聚類分析的關(guān)鍵,以不同特征進(jìn)行聚類得到的結(jié)果往往不同。在實(shí)際監(jiān)控場(chǎng)景中,存在部分車牌字符被遮擋和車牌字符具有多種顏色導(dǎo)致漏檢等情況,從特征的角度看,即某個(gè)特征的突變影響了聚類分析的結(jié)果。在聚類分析過程中,為了削弱某個(gè)特征的影響力,通常采用降低特征權(quán)重的方式實(shí)現(xiàn)。特征子集是改變特征權(quán)重的特殊形式,將某個(gè)特征的權(quán)值設(shè)置為0,即完全忽略該特征。
文中在對(duì)圖像分割區(qū)域用AGNES算法進(jìn)行聚類分析的過程中,采用原特征集、特征子集分別進(jìn)行區(qū)域間相似性計(jì)算,以適應(yīng)復(fù)雜環(huán)境下字符產(chǎn)生顏色、長(zhǎng)度、寬度等形變的情況。原特征集F(gValue,xLength,yLength),其中g(shù)Value為區(qū)域平均灰度值,xLength為區(qū)域水平方向長(zhǎng)度,yLength為區(qū)域垂直方向長(zhǎng)度。F-1(gValue,xLength),F-2(gValue,yLength),F-3(xLength,yLength)分別為缺省區(qū)域垂直方向長(zhǎng)度、區(qū)域水平方向長(zhǎng)度、區(qū)域平均灰度值后的特征子集。
采用原特征集與特征子集分別進(jìn)行聚類,兩個(gè)對(duì)象的相似度計(jì)算公式分別為:
F:Distance(A1,A2)=sqrt(Wg*(A1.gValue-A2.gValue)2+Wx*(A1.xLength-A2.xLength)2+Wy*(A1.yLength-A2.yLength)2)
F-1:Distance(A1,A2)=sqrt(Wg*(A1.gValue-
A2.gValue)2+Wx*(A1.xLength-A2.xLength)2)
F-2:Distance(A1,A2)=sqrt(Wg*(A1.gValue-
A2.gValue)2+Wy*(A1.yLength-A2.yLength)2)
F-3:Distance(A1,A2)=sqrt(Wx*(A1.xLength-A2.xLength)2+Wy*(A1.yLength-A2.yLength)2)
初始以原特征集F(gValue,xLength,yLength)對(duì)分割區(qū)域E(A0,A1,…,An)進(jìn)行聚類分析,經(jīng)過車牌字符判別與多粒度的重復(fù)分割過程,得到目標(biāo)區(qū)域集合及其穩(wěn)定粒度區(qū)間。若目標(biāo)區(qū)域集合的數(shù)量為0,即不存在任何區(qū)域集合符合車牌字符判別條件,則以特征子集F-1、F-2、F-3分別對(duì)分割區(qū)域進(jìn)行再次聚類與判別。
在復(fù)雜場(chǎng)景下,監(jiān)控拍攝的角度與距離具有多樣性,文中采用基于字符區(qū)域間位置關(guān)系的字符判別算法,在任意角度和距離上,各字符區(qū)域始終近似保持在同一條直線上。
算法描述如下:
輸入:具有n個(gè)對(duì)象的聚類簇,目標(biāo)對(duì)象個(gè)數(shù)k
輸出:k個(gè)目標(biāo)對(duì)象
Repeat
選取兩個(gè)對(duì)象為一個(gè)候選集合
依次判斷剩余對(duì)象是否與集合中對(duì)象的中心點(diǎn)在同一直線上,是則加入候選集合,否則丟棄
Until候選集合中對(duì)象個(gè)數(shù)為k
其中,判斷三個(gè)點(diǎn)是否在同一直線的公式為:
A(x1,y1),B(x2,y2),C(x3,y3);
|cosA|=|(x1-x3)2+(y1-y3)2+(x1-x2)2+(y1-y2)2-(x2-x3)2+(y2-y3)2|/2*sqrt((x1-x3)2+(y1-y3)2)*sqrt((x1-x2)2+(y1-y2)2)≥t,t為夾角余弦閾值。
為了驗(yàn)證文中多粒度區(qū)域生長(zhǎng)算法的有效性,首先從圖像庫中挑選包含較低光照、較強(qiáng)光照、正常光照下已標(biāo)記的訓(xùn)練圖像進(jìn)行分割檢測(cè),輸出結(jié)果包括穩(wěn)定分割粒度區(qū)間和對(duì)應(yīng)粒度下的分割區(qū)域集合。實(shí)驗(yàn)結(jié)果表明,在不同粒度下進(jìn)行分割,得到的字符區(qū)域細(xì)節(jié)有所改變。
如圖1~3所示,圖1為車牌字符經(jīng)過多粒度生長(zhǎng)分割以及聚類分析后得到的穩(wěn)定目標(biāo)字符組合,圖2的分割粒度為穩(wěn)定粒度區(qū)間中的較小值,圖3的分割粒度為穩(wěn)定粒度區(qū)間中的較大值,兩個(gè)粒度下得到的字符形狀具有較大差別。
圖1 原始車牌字符圖像
圖2 細(xì)粒度分割結(jié)果
圖3 粗粒度分割結(jié)果
將不同粒度下的分割字符區(qū)域輸入到基于模板匹配的識(shí)別算法中,位于穩(wěn)定區(qū)間低位和高位粒度的識(shí)別率較低,中間粒度識(shí)別率較高。融合三個(gè)粒度下的識(shí)別結(jié)果,識(shí)別率比單一粒度有所提高,如表1所示。
表1 穩(wěn)定粒度區(qū)間三種粒度下的識(shí)別率比較 %
為了驗(yàn)證文中多特征聚類算法的有效性,從圖像庫中挑選車牌字符具有兩種顏色的訓(xùn)練圖像進(jìn)行實(shí)驗(yàn)。對(duì)于圖4中左邊的車牌,初始以完整特征集合F(gValue,xLength,yLength)進(jìn)行聚類,提取目標(biāo)字符失敗。再以特征子集F-1(gValue,xLength),F-2(gValue,yLength),F-3(xLength,yLength)分別重新聚類,子集F-3成功提取目標(biāo)字符。
圖4 原特征集合與特征子集聚類結(jié)果對(duì)比
最后,通過實(shí)驗(yàn)將基于梯度算子的邊緣檢測(cè)算法以及MSER方法與文中算法進(jìn)行比較,采用三種算法分別進(jìn)行車牌字符分割與檢測(cè),分析車牌字符的檢測(cè)準(zhǔn)確率以及檢測(cè)速率,以及最終車牌字符的識(shí)別率。從表2可以看出,從檢測(cè)準(zhǔn)確率以及識(shí)別率上看,文中算法比邊緣檢測(cè)算法更有優(yōu)勢(shì),從檢測(cè)速率上看,文中算法的平均檢測(cè)時(shí)間遠(yuǎn)小于MSER方法。
表2 三種字符檢測(cè)算法對(duì)比
在基于字符定位的車牌檢測(cè)與識(shí)別方法的基礎(chǔ)上,結(jié)合區(qū)域生長(zhǎng)、MSER方法、決策融合和聚類分析,提出了一種基于多粒度區(qū)域生長(zhǎng)和多特征聚類的復(fù)雜環(huán)境車牌字符分割與檢測(cè)方法。用穩(wěn)定分割粒度區(qū)間代替單一分割粒度,融合多個(gè)粒度下的識(shí)別結(jié)果,提高了字符識(shí)別率。聚類分析中以多個(gè)特征子集代替單一特征集合進(jìn)行字符組合檢測(cè),增強(qiáng)了算法魯棒性,有效降低了漏檢率。