周彬彬++周之平++賈杰
摘要:為了提高車牌檢測(cè)系統(tǒng)中車牌定位的效率,文章利用HSV和RGB雙重顏色模型對(duì)藍(lán)白像素點(diǎn)建立定性描述模型,基于該模型提出一種結(jié)合藍(lán)白有色點(diǎn)對(duì)搜索和區(qū)域統(tǒng)計(jì)特征信息的車牌定位方法。該方法首先通過(guò)搜索有色點(diǎn)對(duì)并結(jié)合角點(diǎn)和車牌紋理等特征確定車牌的粗略區(qū)域,然后利用垂直/水平投影、霍夫直線檢測(cè)以及顏色提取方法實(shí)現(xiàn)車牌精確定位。測(cè)試結(jié)果表明,針對(duì)復(fù)雜環(huán)境和不同光照條件下的車牌,新方法能夠?qū)崿F(xiàn)車牌的快速精確定位。
關(guān)鍵詞:車牌定位;有色點(diǎn)對(duì);區(qū)域統(tǒng)計(jì)特征
車牌識(shí)別是智能交通系統(tǒng)的重要組成部分,而車牌定位作為車牌識(shí)別的關(guān)鍵步驟之一,直接影響著車牌識(shí)別系統(tǒng)的性能。由于光照、視點(diǎn)和距離、背景的復(fù)雜性等因素的影響使得車牌定位準(zhǔn)確率不高。因此,如何找到一種方法能夠?qū)崿F(xiàn)在不同環(huán)境下車牌的快速、精確定位是研究的重點(diǎn)。目前的車牌定位算法可分為:基于邊緣信息的定位方法、基于Hough變換的定位方法和基于顏色特征的定位方法。
文獻(xiàn)通過(guò)統(tǒng)計(jì)邊緣密度信息和車牌字符分布進(jìn)行精確定位,該方法需要提取字符特征并對(duì)字符進(jìn)行識(shí)別,其實(shí)現(xiàn)復(fù)雜性較高。文獻(xiàn)結(jié)合車牌形狀及其在Hough空間的特征,通過(guò)Hough反變換重建車牌區(qū)域,若不能提取到明顯的車牌直線邊框,則無(wú)法定位。文獻(xiàn)把輸入的RGB圖轉(zhuǎn)換到HSV空間上,利用車牌區(qū)域的固定底色特征及紋理特征定位車牌,算法中涉及的車牌底色的顏色選擇環(huán)節(jié)有待改進(jìn)。文獻(xiàn)通過(guò)選取適當(dāng)?shù)念伾P吞崛≤嚺疲撃P筒荒苓m應(yīng)于不同顏色明亮程度和不同環(huán)境下的車牌。
為此,本文在文獻(xiàn)的研究基礎(chǔ)上提出一種改進(jìn)的車牌定位算法。該方法對(duì)文中的RGB顏色空間中的藍(lán)白像素點(diǎn)描述方法進(jìn)行改進(jìn),通過(guò)搜索RGB和HSV兩個(gè)顏色空間中滿足一致性約束的像素來(lái)確定車牌字符的邊緣像素點(diǎn),最后利用車牌區(qū)域的紋理特征,結(jié)合連通域分析、角點(diǎn)/直線特征檢測(cè)以及水平垂直投影方法進(jìn)行車牌精確定位。
1 有色點(diǎn)對(duì)搜索方法改進(jìn)
文獻(xiàn)以藍(lán)底白字的車牌為例,利用車牌區(qū)域?yàn)樗{(lán)色背景和白色字符的特征,通過(guò)搜索有色點(diǎn)對(duì)確定車牌內(nèi)的白色字符區(qū)域。其中像素點(diǎn)對(duì)(A,B)的有色點(diǎn)對(duì)定義為:A點(diǎn),其左側(cè)為藍(lán)色像素點(diǎn),右側(cè)為白色像素點(diǎn);B點(diǎn),其左側(cè)為白色像素點(diǎn),右側(cè)為藍(lán)色像素點(diǎn)。對(duì)于點(diǎn)A(或者B)裉據(jù)其顏色分量Cr,CR,Cb,通過(guò)如下模糊判斷來(lái)確定所屬顏色:
(l)當(dāng)滿足Cb>f1*Cr,g且Cb>T1時(shí),即認(rèn)為該像素點(diǎn)為藍(lán)色點(diǎn)。
(2)當(dāng)某一點(diǎn)的顏色滿足i Cr,g,b
通過(guò)對(duì)大量的車牌圖像進(jìn)行測(cè)試發(fā)現(xiàn),上述關(guān)于藍(lán)白像素點(diǎn)的定義不夠準(zhǔn)確,例如對(duì)于淺藍(lán)色的車牌,因?yàn)榇蠖鄶?shù)白色字符周圍的藍(lán)色點(diǎn)Cb/Cg∈(1.2,1.4),f1取為1.4時(shí)只能得到很少的字符像素,如圖l(d)所示。此外,對(duì)于顏色鮮艷的藍(lán)色車牌,由于受到藍(lán)色背景的色差影響,f2取為0.4也無(wú)法實(shí)現(xiàn)定位,如圖1 (e)所示。統(tǒng)計(jì)分析表明,車牌圖像中的白色字符Cb/s取值為《0.4,0.45)。若減小f1或增大f2,可以有效檢測(cè)出圖l(a)和圖l(b)中的有色點(diǎn)對(duì),但對(duì)于淡藍(lán)色車牌(見(jiàn)圖1(c》,會(huì)將藍(lán)色的車牌背景誤判為白色,導(dǎo)致字符搜索不出來(lái)或產(chǎn)生粘連(見(jiàn)圖l(f))。
選擇不同顏色鮮艷程度、不同光照強(qiáng)度下車牌作為測(cè)試圖像,統(tǒng)計(jì)分析其HSV三個(gè)通道的分布規(guī)律,從而給出藍(lán)白像素點(diǎn)的判定規(guī)則。
規(guī)則1:HSV顏色空間藍(lán)白點(diǎn)判定規(guī)則
(1)若h∈(95,130),S∈[51,255],V∈[25,255],則判定該像素點(diǎn)為藍(lán)色點(diǎn)。
(2)若h∈(10,163),S∈(O,120],V∈[70, 255],則判定該像素點(diǎn)為白色點(diǎn)。
同理,通過(guò)統(tǒng)計(jì)分析的方法得出RGB顏色空間上藍(lán)白像素點(diǎn)的定義規(guī)則。
規(guī)則2:RGB顏色空間藍(lán)白點(diǎn)判定規(guī)則
(l)若Cb√Cr>1.20,Cb/Cg>1.1O時(shí)判定該像素點(diǎn)為藍(lán)色點(diǎn)。
(2)若Cr/s<0.43.Cg/S<0.4時(shí)則判定該像素點(diǎn)為白色點(diǎn)。 但是在HSV顏色模型中,對(duì)s∈[51,120]的像素進(jìn)行顏色界定時(shí)存在模糊性,而通過(guò)大量的對(duì)比分析發(fā)現(xiàn),同一張車牌圖像中大多數(shù)藍(lán)色點(diǎn)的s分量要大于白色點(diǎn),如圖2所示。為此,利用規(guī)則1來(lái)判斷白色點(diǎn)時(shí),不僅要求s分量滿足s≤120,而且還應(yīng)小于鄰域內(nèi)藍(lán)色點(diǎn)的s分量。
綜合上述判定規(guī)則,給出藍(lán)白點(diǎn)的判定條件:
(l)對(duì)于二值邊緣圖像中的邊緣點(diǎn)P,其在HSV圖像中各分量滿足hp∈(95,130).sp∈[51,255],vp∈[25.255],并且RGB彩色圖像中對(duì)應(yīng)像素滿足
時(shí),則判定P為藍(lán)色像素點(diǎn)。
(2)對(duì)于二值邊緣圖像中的邊緣點(diǎn)B,其在HSV圖像中各分量滿足hB∈(10,163),sB∈(0,120],vB∈[70,255],并且RGB彩色圖像中對(duì)應(yīng)像素滿足 時(shí),同時(shí)SB小于鄰域內(nèi)藍(lán)色像素的s分量時(shí),則判定像素點(diǎn)B為白色像素。
針對(duì)圖1(a)~(c),采用新的判定條件進(jìn)行有色點(diǎn)對(duì)搜索的效果如圖l(g)~(i)所示。與文獻(xiàn)的方法相比,它提供了車牌區(qū)域更為豐富的信息,有利于后續(xù)的車牌定位。
2 車牌定位算法
2.1 車牌區(qū)域的粗定位
經(jīng)過(guò)有色點(diǎn)對(duì)搜索后的圖像中會(huì)包含一些干擾的黑色區(qū)域,因此可先利用形態(tài)學(xué)運(yùn)算消除干擾區(qū)域,并對(duì)相距較近的區(qū)域進(jìn)行合并。然后對(duì)于候選連通域,采用車牌區(qū)域的紋理特征,如寬高比、車牌區(qū)域的面積和質(zhì)心以及黑白像素跳變的平均次數(shù),提取包含車牌的區(qū)域。
但是,如果車身背景是藍(lán)色,車牌區(qū)域和車身區(qū)域可能會(huì)粘連在一起,導(dǎo)致無(wú)法定位。為此,首先提取區(qū)域的Harris角點(diǎn)特征,然后對(duì)角點(diǎn)所限定的矩形區(qū)域進(jìn)行逐一測(cè)試,判斷該區(qū)域內(nèi)是否含有車牌紋理特征進(jìn)而確定車牌所在的區(qū)域。其實(shí)現(xiàn)過(guò)程如下所述:
算法A1:車牌區(qū)域粗定位算法
(b)車牌“京AOOOOI”
Stepl:首先對(duì)圖像進(jìn)行腐蝕和膨脹運(yùn)算以消除干擾區(qū)域,再進(jìn)行連通分量標(biāo)記,并構(gòu)造各個(gè)連通域的最小矩形包圍盒 。轉(zhuǎn)Step2。
Step2:判斷ri是否僅包含單個(gè)連通成分。若是,記 ,轉(zhuǎn)Step6;否則,選擇面積最大的連通域 ,記為 ,轉(zhuǎn)Step3。
Step3:分別統(tǒng)計(jì) 中黑白像素的面積 和 。如果 ,則判定其不包含大量的干擾區(qū)域,轉(zhuǎn)Step6;否則,轉(zhuǎn)Step4。
Step4:對(duì)連通域 檢測(cè)Harris角點(diǎn),并根據(jù)坐標(biāo)值對(duì)角點(diǎn)排序(先按橫坐標(biāo)升序再按縱坐標(biāo)降序排列),記作 。轉(zhuǎn)Step5。
Step5:對(duì)于角點(diǎn) ,確定其右下角的所有角點(diǎn) 。利用紋理特征判斷由 和 構(gòu)成的矩形是否包含車牌區(qū)域。如果包含車牌區(qū)域,表明找到車牌區(qū)域,退出循環(huán);否則, ,判斷下一個(gè)點(diǎn)是否滿足。當(dāng)k=n,且未找到時(shí), ,繼續(xù)上述搜索過(guò)程,直至找到一個(gè)包含車牌區(qū)域的矩形為止。
Step6:利用車牌紋理特征直接判斷候選區(qū)域。
對(duì)藍(lán)色車身的車牌圖像進(jìn)行連通域分析,車牌區(qū)域粗定位的過(guò)程如圖3所示,其中圖3(b)~(d)對(duì)應(yīng)于包含車牌的連通域(為了便于顯示,對(duì)局部圖像進(jìn)行了放大)。
2.2 車牌區(qū)域精定位
為提高后續(xù)字符分割精度和識(shí)別效率,提取粗定位區(qū)域中的邊緣特征,并根據(jù)像素跳變次數(shù)和彩色圖上白色點(diǎn)數(shù)目確定字符區(qū)的水平和垂直邊界,以實(shí)現(xiàn)車牌的精確定位。
2.2.1 水平方向精定位
Hough直線變換可以檢測(cè)到位于車框和字符的鄰近區(qū)域內(nèi)的一些直線段,可利用這些線段來(lái)確定車牌字符區(qū)的上下邊界,如圖4所示。
可引入如圖5所示的坐標(biāo)系,外面的矩形框表示車牌粗定位區(qū)域。通過(guò)提取那些與區(qū)域Rl(和R2)交集不為空的直線段并根據(jù)像素跳變次數(shù)來(lái)確定車牌字符的上下邊界,具體過(guò)程如下:
算法A2:車牌區(qū)域水平邊界定位算法
Stepl:選擇與區(qū)域Rl交集不為空的直線段(如圖5中l(wèi)1,l2),將其存入集合S1中;同樣選擇與區(qū)域R2交集不為空的直線段(如圖5中l(wèi)3,l4),將其存入集合S2中。轉(zhuǎn)Step2。
Step2:根據(jù)直線段中點(diǎn)y坐標(biāo)分別對(duì)集合S1和S2中元素進(jìn)行降序和升序排列。記, 。轉(zhuǎn)Step3。
Step3:選擇 中的第i個(gè)元素(i初始值為1) 進(jìn)行測(cè)試。在二值圖像上作通過(guò) 兩個(gè)端點(diǎn)P1,p2的水平線并統(tǒng)計(jì)線上像素跳變次數(shù)n1,n2。轉(zhuǎn)Step4。
Step4:先判斷n1是否小于閾值τ2。若是,則取P的y坐標(biāo)作為上邊界U,轉(zhuǎn)Step6;否則,轉(zhuǎn)Step5。
Step5:判斷ψ2是否小于閾值τ2。若是,則取p2的y坐標(biāo)作為上邊界U,轉(zhuǎn)Step6;否則,選擇下一個(gè)元素,轉(zhuǎn)Step3。
Step6:同理對(duì)集合S2中元素按照Step3-Step6過(guò)程確定下邊界B。記錄(U'B)作為水平方向上下邊界。
針對(duì)圖4中的3幅圖像,水平邊界的精確定位效果如圖6所示。
2.2.2 垂直方向精定位
對(duì)應(yīng)于圖6所示的定位結(jié)果,可抽取到其有色點(diǎn)對(duì)圖像,如圖7所示。
當(dāng)粗定位區(qū)域的有色點(diǎn)對(duì)圖包含較完整的車牌字符時(shí)(見(jiàn)圖7(a)),利用水平投影法可實(shí)現(xiàn)字符左右邊界的精確定位。但是,若首末字符與車牌左右邊框間隙很小或發(fā)生粘連,通過(guò)有色點(diǎn)對(duì)搜索無(wú)法得到完整的首末字符時(shí)(見(jiàn)圖7(c)),會(huì)導(dǎo)致定位失敗。結(jié)合白色像素點(diǎn)定義和水平精定位所確定的區(qū)域,可從原始圖像中提取白色像素圖,如圖8所示。比較圖7和圖8發(fā)現(xiàn):(l)白色像素圖包含了完整車牌字符的信息。(2)有色點(diǎn)對(duì)圖像的首字符一般在白色邊框的右邊,末字符一般在白色邊框的左邊。
為此,首先在有色點(diǎn)對(duì)圖上通過(guò)水平投影得到一個(gè)包含部分字符區(qū)域的初始邊界,再對(duì)照車牌白色像素圖,結(jié)合水平投影方法和水平區(qū)間延伸檢測(cè)來(lái)實(shí)現(xiàn)左右邊界的精確定位。具體算法實(shí)現(xiàn)如下所述。
算法A3:車牌區(qū)域垂直邊界定位算法
Stepl:在有色點(diǎn)對(duì)圖上從第一列開(kāi)始,按從左到右方向依次掃描,搜索白色像素?cái)?shù)nww>τ4的首列。并記錄其列索引col left。轉(zhuǎn)Step2。
Step2:在白色點(diǎn)圖上從第col left開(kāi)始,按從右到左方向依次掃描,搜索白色像素點(diǎn)數(shù)目mw>τ5的首列j1。記錄左邊界L=j1。轉(zhuǎn)Step3。
Step3:在有色點(diǎn)對(duì)圖上從最后一列開(kāi)始,按從右到左方向依次掃描,搜索白色像素?cái)?shù)nww>τ4的首列。并記錄其列索引col right。轉(zhuǎn)Step4。
Step4:從白色點(diǎn)圖中第col right列開(kāi)始,按從左到右方向依次掃描,搜索白色像素點(diǎn)數(shù)目mw>τ5的首列j2。記錄右邊界R=j2。
一旦確定了車牌字符的上下邊界(U,B)和左右邊界(L,R),則可從原始圖像中提取對(duì)應(yīng)區(qū)域的車牌字符圖像,效果如圖9所示。
3 實(shí)驗(yàn)結(jié)果及分析
為了驗(yàn)證算法性能,選取不同尺寸、光照和顏色明亮程度的276張車牌進(jìn)行測(cè)試。統(tǒng)計(jì)結(jié)果表1不同背景環(huán)境和光照條件下的部分測(cè)試結(jié)果表明,文獻(xiàn)定位成功率為88.3%,本文算法的定位成功率為94.2%,相比之下本文方法在定位準(zhǔn)確率上有了較大提高。表1列出了部分實(shí)驗(yàn)測(cè)試結(jié)果,其中樣例1是底色為淺藍(lán)色的車牌,樣例2是顏色較為鮮艷的車牌,樣例3是傍晚時(shí)刻拍攝的車牌,樣例4是車身為藍(lán)色的車牌。從表l可以看出,新算法能夠適用于不同環(huán)境下采集到的不同質(zhì)量的車牌圖像,因而具有較強(qiáng)的魯棒性。
4 結(jié)語(yǔ)
為了提高復(fù)雜環(huán)境下車牌定位的效率,本文提出一種基于有色點(diǎn)對(duì)搜索和區(qū)域統(tǒng)計(jì)特征的車牌定位算法。該方法將HSV和RGB雙重顏色空間與邊緣圖像相結(jié)合對(duì)藍(lán)白顏色點(diǎn)進(jìn)行定性描述,增強(qiáng)了有色點(diǎn)對(duì)搜索的效率;利用角點(diǎn)特征進(jìn)行局部區(qū)域紋理匹配,消除了車身顏色對(duì)定位的影響;通過(guò)水平/垂直邊界精確定位,有效地界定了車牌字符區(qū)域。測(cè)試結(jié)果表明,針對(duì)復(fù)雜環(huán)境和不同光照條件下的車牌圖像,該方法能夠?qū)崿F(xiàn)快速、精確定位。而如何將該算法推廣到不同類型的車牌,使其更具有一般性,將是下一步研究的內(nèi)容。