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