趙 洋,閔升鋒,李大舟
(沈陽化工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院, 遼寧 沈陽 110142)
智能交通系統(tǒng)在車輛追蹤、交通監(jiān)控、限速執(zhí)法、自動停車等方面發(fā)揮著重要作用[1].車牌識別技術(shù)的難點(diǎn)包括車牌定位[2]及其字符的識別.目前,車牌定位常用的是基于特征提取的方法.該方法分為基于顏色特征的方法和基于紋理特征的方法.在一般情況下,基于顏色特征的方法可以在復(fù)雜的背景中直接定位到車牌區(qū)域.甘勝軍[3]提出利用 HSV 色彩空間進(jìn)行車牌識別;孫紅等[4]提出基于復(fù)雜背景下,通過融合字符紋理特征與 RGB 顏色特征的定位算法進(jìn)行車牌定位.利用車牌區(qū)域背景底色與字符顏色互補(bǔ)的特性,通過尋找圖像車牌區(qū)域顏色點(diǎn)對,結(jié)合字符紋理特征反饋校驗(yàn),能快速準(zhǔn)確定位車牌,即將圖像顏色空間從RGB轉(zhuǎn)換到HSV,在HSV顏色空間中將亮度獨(dú)立分割出來.但是當(dāng)圖片中的背景及車身顏色與車牌區(qū)域顏色相似時,這一方法效果不佳.基于紋理特征的方法[5-8]雖然可以解決顏色相似問題,但容易受到周邊復(fù)雜背景中紋理特征的影響,導(dǎo)致誤檢率高.因而,對于復(fù)雜背景下的車牌定位還亟需進(jìn)一步的研究.
本文以車牌區(qū)域?yàn)槎ㄎ粚ο?,提出一種基于HSV空間和紋理特征融合的車牌定位算法.該算法首先通過RGB到HSV空間[9]的轉(zhuǎn)換,從復(fù)雜背景中初步定位車牌區(qū)域;然后,以車牌的紋理特征為依據(jù),統(tǒng)計字符像素跳變的次數(shù),通過設(shè)置閾值,從而精確定位車牌區(qū)域;最后,通過建立BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練識別車牌字符來驗(yàn)證車牌定位的準(zhǔn)確性、有效性.
RGB和HSV色彩空間應(yīng)用各有不同.RGB顏色空間是面向電子顯示設(shè)備的顏色空間,一幅圖像分別由紅(R)、綠(G)和藍(lán)(B)3個通道組成,并且一幅圖像的顏色形成與3個分量高度相關(guān),改變顏色,需要同時對3個分量進(jìn)行調(diào)整.HSV顏色空間在圖像處理中更多地應(yīng)用于顏色分割,由色相(hue)、飽和度(saturation)和透明度(value)組成.RGB和HSV之間的轉(zhuǎn)化來自硬件實(shí)現(xiàn)與顯示效果調(diào)整兩方面的需求.前者滿足具體處理過程中簡便高效實(shí)現(xiàn),后者按照人眼識別特點(diǎn)進(jìn)行調(diào)整,更容易達(dá)到人眼預(yù)期的顯示效果.HSV色彩模型[10-11]可以表示成一個倒立圓錐,如圖1所示.
圖1 HSV色彩模型
由于電子設(shè)備上的顯示圖像都是RGB類型,在做圖像處理時為了方便進(jìn)行顏色的對比,通常需要格式轉(zhuǎn)換,RGB和HSV各分量的關(guān)系如下[12]:
R′=R/255,G′=G/255,B′=B/255,
(1)
Imax=max{R′,G′,B′},Imin=min{R′,G′,B′},
(2)
δ=Imax-Imin,
(3)
(4)
V=Imax,
(5)
(6)
其中:H代表色相,用來表示顏色的種類,對應(yīng)取值0°~360°,紅色0°,綠色120°,藍(lán)色240°;S表示飽和度,用來表示顏色的鮮艷程度,對應(yīng)取值范圍是0~100%;V表示亮度,用來表示顏色的明暗程度,對應(yīng)取值范圍是0~100%.
中國的車牌區(qū)域的字符顏色和底色顏色辨別度很高,因此,可以基于HSV顏色模型,根據(jù)車牌底色,利用顏色空間距離及相似度計算,初步找到待篩選目標(biāo)顏色區(qū)域,再采用直方圖統(tǒng)計法來找到目標(biāo)顏色區(qū)域.下面以車牌區(qū)域顏色與背景相同和不同的情況為例,其算法流程如下:
(1) 將圖像色彩空間從RGB轉(zhuǎn)換到HSV.
(2) 利用顏色空間距離及相似度計算,通過設(shè)置閾值進(jìn)行二值化處理.
(3) 通過直方圖統(tǒng)計法繪出水平和垂直方向?qū)?yīng)位置的像素個數(shù)和,分析定位出車牌區(qū)域.
在一般情況下,基于顏色特征的方法也能準(zhǔn)確定位到車牌區(qū)域,但存在車牌底色與車身以及周圍環(huán)境相似的情況,故車牌區(qū)域分割不能一步完成,留下大片待檢測區(qū)域.當(dāng)車輛圖片中只有車牌區(qū)域?yàn)樗{(lán)色時,可以依據(jù)顏色特征成功分割出車牌,其過程如圖2(a)所示.當(dāng)整個車身與車牌都為藍(lán)色時,使用基于顏色特征的方法無法成功分割出車牌,其過程如圖2(b)所示.針對上述現(xiàn)象,需要結(jié)合車牌區(qū)域獨(dú)有的紋理特征進(jìn)一步分析,以便定位出車牌區(qū)域.
圖2 顏色分割示意圖
車牌目標(biāo)區(qū)域富有紋理特征,其邊緣信息非常豐富.車牌邊框、底色、字符共同構(gòu)成車牌,其中車牌字符的顏色為白色,灰度化后的車牌區(qū)域車牌字符部分的像素值最高.車牌字符比較集中,且字符與字符之間有固定間隔,像素值相差很大.基于紋理特征的方法也可直接應(yīng)用于車牌定位,但是在復(fù)雜的背景中,這種方法的效果不明顯,因此要結(jié)合顏色特征進(jìn)行車牌區(qū)域的定位.
(1) 對顏色特征篩選后的目標(biāo)區(qū)域進(jìn)行灰度化處理.
(2) 對灰度化的待驗(yàn)證車牌區(qū)域進(jìn)行二值化處理(車牌底色為背景,字符為前景).
(3) 通過分析車牌字符間像素值跳變的特征,設(shè)置跳變次數(shù)閾值,對二值化后的圖像區(qū)域按行遍歷統(tǒng)計像素值跳變次數(shù),定位車牌區(qū)域上下界.
(4) 按照垂直投影法確定車牌區(qū)域左右邊界.通過按列遍歷統(tǒng)計每列白色像素點(diǎn)的個數(shù)繪制二值化直方圖.車牌字符區(qū)域的特點(diǎn),使得直方圖出現(xiàn)明顯的數(shù)個波峰波谷區(qū)域,分別從左側(cè)和右側(cè)尋找明顯的波谷,記錄坐標(biāo)點(diǎn),最后完成左右邊界定位.
在HSV空間顏色初步定位車牌的基礎(chǔ)上,結(jié)合紋理特征分割,分割后的效果如圖3所示.
圖3 紋理分割示意圖
字符分割是車牌矯正后的一個處理過程,也是車牌識別前的最后一項準(zhǔn)備工作.文中算法適用于無傾斜的情況,因此采取的樣本基本無傾斜.對樣本只需要去除一些邊框、鉚釘,最后再進(jìn)行字符分割,其流程如圖4所示.
圖4 車牌字符分割流程
根據(jù)車牌字符與字符邊緣之間跳變的特征,設(shè)置跳變次數(shù)閾值:首先采用水平投影計數(shù)的方法濾去上下邊框和鉚釘;然后采用垂直投影法,利用車牌字符與背景的梯度跳變,通過尋找梯度邊界點(diǎn)去掉左右邊框并分割出字符.其分割效果如圖5所示.
圖5 字符分割效果
將分割后的車牌字符進(jìn)行歸一化處理,統(tǒng)一將大小設(shè)置為12×12.BP神經(jīng)網(wǎng)絡(luò)[13-15]具有自組織、自適應(yīng)、分布式,及非線性映射等優(yōu)點(diǎn),廣泛應(yīng)用于需要分類識別的領(lǐng)域.理論和試驗(yàn)證明,3層的神經(jīng)網(wǎng)絡(luò)能夠很好地替代任何非線性函數(shù).為此,采用3層BP神經(jīng)網(wǎng)絡(luò)建立車牌字符識別模型.通過變換12×12的圖像扁平化為144×1的輸入向量[x1,x2,…,x144],144個特征作為輸入節(jié)點(diǎn).把對字符的判斷結(jié)果作為輸出矢量.由于車牌字符由漢字、字母、數(shù)字組成,將車牌字符識別分兩類.單獨(dú)識別漢字,漢字由各省市簡稱組成,分別建立字符庫,對漢字的識別輸出矢量為[y1,y2,…,y34].同理,對字母和數(shù)字建立字符庫,數(shù)字包含0~9,字母有26個,但字母I和O與數(shù)字1和0相似,易造成錯誤識別,一般不會出現(xiàn)在車牌中,所以這一類輸出矢量為[y1,y2,…,y34].最終的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為n×n×10,分別為:輸入層的n個樣本,每個樣本144個特征,組成n×144的二維矩陣;中間層為隱藏層,節(jié)點(diǎn)數(shù)根據(jù)經(jīng)驗(yàn)所得;輸出層節(jié)點(diǎn)為10,表示10分類,編碼格式為one-hot編碼.其大致結(jié)構(gòu)如圖6所示.
圖6 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
實(shí)驗(yàn)環(huán)境:聯(lián)想G510AM,CPU是intel酷睿i3 4000M;操作系統(tǒng)為Windows 8中文版;處理器為雙核四線程.實(shí)驗(yàn)所處理的圖片都經(jīng)過預(yù)處理,按比例縮小,故對計算機(jī)配置要求不高,運(yùn)行時間短.實(shí)驗(yàn)所使用的1356張圖片來源于網(wǎng)絡(luò)公開的數(shù)據(jù)庫,其中車牌底色與車身和背景顏色相似的有356張.以此建立本實(shí)驗(yàn)所要使用的圖庫.
(1) 預(yù)處理,灰度轉(zhuǎn)換、圖像增強(qiáng)、邊緣提取.
(2) 將圖像色彩空間轉(zhuǎn)化到HSV.
(3) 在HSV顏色空間中,通過對顏色空間距離及相似性計算,對圖像二值化處理.
(4) 對候選的目標(biāo)區(qū)域進(jìn)行特征及紋理分析.依據(jù)車牌區(qū)域字符像素跳變特征,統(tǒng)計跳變次數(shù),再通過閾值設(shè)置定位車牌區(qū)域.
(5) 分割車牌字符,歸一化,建立BP神經(jīng)網(wǎng)絡(luò),使用訓(xùn)練樣本訓(xùn)練網(wǎng)絡(luò).
(6) 利用訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)對車牌字符進(jìn)行識別.
對車身顏色以及周邊顏色與車牌顏色相似和復(fù)雜背景下的車牌圖像進(jìn)行定位.通過后續(xù)的字符分割和BP神經(jīng)網(wǎng)絡(luò)的建立、訓(xùn)練和識別字符來驗(yàn)證車牌定位的有效性.
為充分驗(yàn)證本文算法對復(fù)雜背景下車牌定位的有效性,在圖庫中選取了1356張車牌圖片,其中:車牌區(qū)域與車身及周邊顏色相似的圖片有356張;背景非常復(fù)雜,包括商店招牌等的車輛圖片有1000張.用三種方法分別對車牌圖片進(jìn)行定位,然后通過字符的分割,BP神經(jīng)網(wǎng)絡(luò)的建立、訓(xùn)練來識別車牌,驗(yàn)證車牌定位的有效性.從圖庫中選出1216個訓(xùn)練樣本和140個測試樣本,對比結(jié)果如表1所示.
表1 三種方法的效果對比
在特征融合的方法中,需要設(shè)置字符跳變閾值,通過對1356張圖片的實(shí)驗(yàn)可以得出:閾值設(shè)置在9~13區(qū)間內(nèi),其正確檢測出車量數(shù)最多.數(shù)據(jù)如表2所示.
表2 不同閾值設(shè)置下的效果對比
圖7是通過閾值設(shè)置來定位出的車牌區(qū)域的效果對比圖.(a)圖片的閾值設(shè)置為9~13,但定位出的車牌區(qū)域上下邊框凸顯出來,效果不佳;(b)圖片的閾值設(shè)置為13~16,其上下邊界剛好完全顯示出來,沒有任何邊框;(c)圖片的閾值設(shè)置為16~20,此時圖片中的車牌區(qū)域出現(xiàn)過分割的情況,這對后面的字符識別造成很大的困難.因此,實(shí)驗(yàn)選擇在閾值13~16的條件下進(jìn)行.
圖7 閾值設(shè)置定位效果
通過上述結(jié)果的對比,體現(xiàn)了文中算法的優(yōu)越性.但該算法仍存在車牌漏檢的情況,原因是車牌的攝像存在傾斜現(xiàn)象.車牌區(qū)域首先通過顏色分割,然后結(jié)合車牌字符紋理跳變特征定位出字符,如果車牌發(fā)生傾斜,車牌的字符跳變特征篩選車牌區(qū)域的效果就不佳.所以,在今后的研究中著重解決這一問題.
針對復(fù)雜背景下的車牌定位問題,首先用基于顏色特征的方法,篩選出車牌候選區(qū)域;然后采用基于紋理特征的方法,利用車牌區(qū)域字符跳變的特征,最終定位出車牌區(qū)域.利用BP神經(jīng)網(wǎng)絡(luò)驗(yàn)證車牌定位的有效性.實(shí)驗(yàn)表明:基于顏色和紋理特征結(jié)合的方法定位出的車牌,車牌字符識別率達(dá)95.06%,對比于只基于顏色特征和只基于紋理特征的車牌定位方法,識別率有明顯提高.
文中方法主要通過車牌的特征分析來對車牌進(jìn)行檢測.但對于發(fā)生不同程度傾斜的車牌圖片,定位效果不佳,不能更好地通過BP神經(jīng)網(wǎng)絡(luò)來驗(yàn)證車牌定位的有效性.因此,下一步的研究工作重點(diǎn)是解決傾斜狀態(tài)下對車牌的定位,從而提高車牌字符識別率,提高車牌定位的有效性.