廖 宇
(湖北民族學(xué)院 信息工程學(xué)院,湖北 恩施 445000)
車牌定位識(shí)別系統(tǒng)是在軟、硬件的結(jié)構(gòu)上,利用先進(jìn)的圖像處理、模式識(shí)別等技術(shù),對(duì)采集到的汽車圖像進(jìn)行處理,進(jìn)而得到相應(yīng)的車牌圖像,以完成車牌的自動(dòng)識(shí)別功能[1],如圖1所示,其主要的兩個(gè)子系統(tǒng)是車牌的精確定位、分割系統(tǒng),車牌字符的分割、識(shí)別系統(tǒng).如能實(shí)時(shí)識(shí)別交通網(wǎng)上所有正在運(yùn)行的汽車車牌并將其匯總,就可以為智能交通系統(tǒng)提供最詳盡的信息.
車牌的準(zhǔn)確定位是識(shí)別的關(guān)鍵,當(dāng)利用攝像機(jī)等采集圖像時(shí),由于要受到角度、天氣、光照等影響,采集到的圖像信息往往很復(fù)雜,質(zhì)量不高,為了精確的實(shí)現(xiàn)定位,就必須對(duì)圖像進(jìn)行預(yù)處理.汽車圖像預(yù)處理包括:彩色圖像的灰度化、二值化,其目的是為是減少原始圖像中的復(fù)雜信息,使得車牌定位算法更為簡(jiǎn)單,速度更快.同進(jìn)還要利用圖像平滑去掉各種干擾,利用圖像銳化使得圖像中的細(xì)節(jié)變得更為清晰.總體處理流程如圖2所示.
圖2 圖像預(yù)處理過(guò)程Fig.2 Image preprocessing
圖3 迭代法Fig.3 Iteration
由于采集的各類車輛圖像,來(lái)自的環(huán)境不同,所以它的背景往往是千姿百態(tài)的.盡管背景的變化是多樣的,可是車牌卻具有它自身的固有特征,在車牌區(qū)域里有呈水平排列的字符,而且這些字符與字符之間,字符和車牌底色之間都存在著灰度的變化,所以在車牌區(qū)域里就會(huì)存在著豐富的邊緣特征,明顯區(qū)別于圖像的其它區(qū)域.所以可對(duì)圖像進(jìn)行邊緣提取以突出車牌.
邊緣檢測(cè)的方法有很多種,大致分為經(jīng)典算子、最優(yōu)算子、多尺度方法及自適應(yīng)平滑濾波方法[2-3].針對(duì)這么多的邊緣檢測(cè)法并不是每一個(gè)都適合于車牌識(shí)別系統(tǒng)之中,比如傳統(tǒng)的Sobel算子和Prewitt算子都是通過(guò)差分運(yùn)算對(duì)圖像進(jìn)行處理,對(duì)噪聲具有很強(qiáng)的抑制能力,但是它們的計(jì)算量都較大,在應(yīng)對(duì)采集的汽車圖像時(shí),由于圖像的背景很復(fù)雜,所以這兩種算法都不具有實(shí)時(shí)性,而且處理結(jié)果也容易出現(xiàn)一些偽邊緣.為了達(dá)到即有效地抑制噪聲,又能相應(yīng)的減小計(jì)算量,以適應(yīng)車牌識(shí)別的實(shí)際需求,本文采用的是一階水平差分算子來(lái)對(duì)圖像的灰度邊緣進(jìn)行檢測(cè),同時(shí)在閾值的處理上采用自適應(yīng)迭代法.
一階水平差分算子[4-5]的實(shí)質(zhì)還是利用窗口來(lái)對(duì)灰度圖像進(jìn)行二值化處理,只不過(guò)這時(shí)的窗口主要是對(duì)車牌中的字符進(jìn)行處理,所以窗口的大小被限定在形如[-1,0,1]、[1,0,-1]這樣步長(zhǎng)為2的差分窗口,對(duì)車牌中的字符從左到右進(jìn)行掃描,同樣首先要設(shè)定相應(yīng)的閾值T,這個(gè)閾值的設(shè)定采用的是自適應(yīng)動(dòng)態(tài)法,它的大小隨著圖像的實(shí)際明暗、內(nèi)容的不同發(fā)生變化.
(1)
而對(duì)應(yīng)的最佳閾值的T是采用迭代法求取的,其求取步驟如下:在這里,選用迭代法求圖像最佳分割閾值T0,代法是基于逼近的思想.
其中原始圖像的灰度最大值為Zmax,灰度最小值為求Zmin,而閾值的初始值為T(mén)0=(Zmax+Zmin)/2.利用初始的閾值可將原始灰度圖分割成兩塊,目標(biāo)區(qū)ZO和背景區(qū)ZB.
(2)
再根據(jù)得到的新灰度值求出新的閾值Tk+1=(ZO+ZB)/2.通過(guò)對(duì)不同邊緣檢測(cè)法的對(duì)比,利用一階水平差分算法對(duì)車牌進(jìn)行邊緣檢測(cè)后,得到的二值化圖像效果較好,不僅有效地抑制了原始圖像中的噪聲,而且能較好的保留原始圖像中的邊緣信息.
在實(shí)際應(yīng)用中,需要的是車牌號(hào)碼的圖像和信息而不是整輛車的圖像,可以利用圖像剪切把車牌號(hào)碼這一部分從原圖像中剪切出來(lái).本文提出優(yōu)化投影法來(lái)對(duì)車牌進(jìn)行分割,具體流程如下:
1)車牌內(nèi)部具有7個(gè)水平排列的字符,這些字符的顏色與背景顏色存在灰度的變化,而且這種灰度的變化對(duì)二值圖來(lái)說(shuō)就是“1”、“0”的變化,車牌內(nèi)部的這種跳變的次數(shù)是非常頻繁的.所以可以利用這個(gè)特點(diǎn)從車下部開(kāi)始向上進(jìn)行水平行掃描,并將每行得到的灰度跳變次數(shù)進(jìn)行統(tǒng)計(jì)記為K,并與預(yù)先設(shè)定的閾值T進(jìn)行比較,若K≥T,則說(shuō)明已進(jìn)入車牌所在的區(qū)域,并把第一個(gè)滿足要求的行定義為車牌的最低行.然后接著向上掃描,將最后滿足要求的行定義為車牌的最高行.然后將這個(gè)最高行和最低行所在的位置進(jìn)行比較,如果差值滿足車牌本身的高度,則實(shí)現(xiàn)了車牌的上、下范圍的定位.
2)雖說(shuō)已經(jīng)確定了車牌所在的上下邊界確定的區(qū)域,下面要利用垂直投影法來(lái)進(jìn)行車牌左右邊界的確定,從而實(shí)現(xiàn)車牌的精確定位.這時(shí)對(duì)上面已得到的上下邊界確定的車牌圖片進(jìn)行自左至右的垂直掃描,當(dāng)然事先要設(shè)定相應(yīng)的閾值,把掃描時(shí)遇到的投影變化最早出現(xiàn)的那一列作為車牌的左邊界,繼續(xù)向右掃描,然后再記錄出現(xiàn)的最大投影變化的一列作為右邊界,當(dāng)然得到這兩列之后還得要求出相應(yīng)的差值,將這個(gè)差值與與車牌的實(shí)際寬度(155 mm)進(jìn)行對(duì)比,如果這個(gè)差值大于或等于這個(gè)寬度,則可認(rèn)為找到了車牌的左右邊界,通過(guò)上述步驟便實(shí)現(xiàn)了車牌號(hào)碼的剪切.
采集到的汽車圖像經(jīng)過(guò)這些調(diào)整和變化,不僅從復(fù)雜的背景中將汽車分離出來(lái),而且將車牌從汽車上分離出來(lái),而且對(duì)車牌上的字符進(jìn)行了角度調(diào)整,歸一化處理(大小、位置),最后得到的就是位于同一水平線上,大小統(tǒng)一的字符.這樣前期的工作就都準(zhǔn)備好了,下面要做的工作就是將這些字符通過(guò)特征提取分離出來(lái)進(jìn)行識(shí)別,然后將識(shí)別的字符構(gòu)成字符串,這樣就完成了車牌的識(shí)別.當(dāng)然特征提取的方法也有很多,在這里主要介紹15特征點(diǎn)提取法[6].具體過(guò)程如下:
1)首先將一個(gè)字符在其區(qū)域里平均分成8個(gè)等份,這時(shí)統(tǒng)計(jì)這8個(gè)等份中的黑色素的多少,作為該字符的8個(gè)特征.這里以字符“3”為例來(lái)介紹.如圖4所示.
圖4 特征點(diǎn)圖 圖5 豎直、水平、對(duì)角線6特征點(diǎn)圖Fig.4 4 feature points graph Fig.5 Vertical, Horizontal, Diagonal 6 feature points graph
2)然后從上下方向、水平方向、對(duì)角線方向?qū)υ撟址髯鲀蓷l對(duì)稱的線,統(tǒng)計(jì)這兩條線經(jīng)過(guò)的黑色像素點(diǎn)的個(gè)數(shù),各作為2個(gè)特征,共6個(gè)特征點(diǎn).如圖5所示.
3)最后統(tǒng)計(jì)所有黑色像素點(diǎn)的個(gè)數(shù),即第15個(gè)特征點(diǎn).
這樣對(duì)該字符就找到了共15個(gè)特征點(diǎn),利用這些特征點(diǎn)就可以有效地識(shí)別出這個(gè)字符來(lái).
在邊緣檢測(cè)中,傳統(tǒng)的sobel算子和canny算子與一階水平差分算子都對(duì)同一幅汽車圖像進(jìn)行了邊緣檢測(cè),結(jié)果如圖6、圖7和圖8所示:
圖6 一階水平差分算子邊緣檢測(cè) 圖7 sobel算子邊緣檢測(cè) 圖8 canny算子邊緣檢測(cè)Fig. .6 Level first order differential operator edge detection Fig. .7 Sobel operator edge detection Fig. .8 Canny operator edge detection
通過(guò)上面的實(shí)驗(yàn)結(jié)果可以看出,一階水平差分算子對(duì)原始圖像的處理比較理想,不僅有效地抑制了噪聲,而且較好地保留原始圖像中的邊緣信息,sobel算子的處理結(jié)果也很好,但是這兩種算法用時(shí)較長(zhǎng).而canny算子對(duì)圖像進(jìn)行處理后的效果就不理想,其原因是這種算法對(duì)噪聲相當(dāng)敏感,所以原始圖像中的許多邊緣信息都被當(dāng)做噪聲處理掉了.
優(yōu)化投影法在對(duì)車牌進(jìn)行分割時(shí)分成兩步,先是利用水平投影將車牌所在區(qū)域整個(gè)分割下來(lái),如圖9所示,再利用垂直投影進(jìn)行細(xì)分割,最終將車牌精確分割如圖10所示.最后利用15特征點(diǎn)提取法進(jìn)行字符識(shí)別,得到該車牌的字符輸出,如圖11所示.
圖9 水平投影剪切 圖10 垂直投影剪切 圖11 車牌字符輸出Fig.9 The sheared result of horizontal projection Fig.10 The sheared result of vertical projection Fig.11 License Plate Output
該文對(duì)100幅高速公路收費(fèi)站入口處采集的車輛圖像進(jìn)行測(cè)試,定位準(zhǔn)確率高于92%,字符和背景的對(duì)比度強(qiáng),車牌識(shí)別準(zhǔn)確率高于80%.
本文針對(duì)實(shí)際智能車牌識(shí)別系統(tǒng)中由于分割不準(zhǔn)確而造成識(shí)別率低的問(wèn)題,提出一種基于一階水平差分算子的自適應(yīng)邊緣檢測(cè)的分割方法,以便更好的將汽車圖像從復(fù)雜的背景里分割出來(lái),同時(shí)用優(yōu)化投影法對(duì)車牌進(jìn)行定位,很好的解決字符粘連對(duì)分割的干擾,同時(shí)消除了車牌圖像中的噪聲.在字符分割中利用改進(jìn)15特征點(diǎn)提取法實(shí)現(xiàn)了車牌字符的識(shí)別.在AMD2,2GHz的電腦中實(shí)現(xiàn)車牌識(shí)別所需時(shí)間在2 s以內(nèi),具有較高的實(shí)用性,但該算法在利用邊緣處的方向特性上還有所欠缺,需進(jìn)一步完善.
[1] 牛欣,沈蘭蓀.基于特征的車輛牌照定位算法[J].交通與計(jì)機(jī),2000,18(1):31-33.
[2] 劉直芳,游志勝,徐欣,等.基于遺傳算法的車窗定位[J].計(jì)算機(jī)應(yīng)用研究,2002(11):72-75.
[3] Roger Y Tsai.An Efficient and Accurate Camera Calibration Technique for 3-D Machine Vision[J].IEEE Journal of Robotics and Automation,1987,3(4):323-344.
[4] 童念念,段澆輝,王道憲,等.車輛自動(dòng)盜控系統(tǒng)的捕捉算法研究[D].北京:北京大學(xué),2001.
[5] 郭黎,基于改進(jìn)SIFT的視頻超分辨率重建快速配準(zhǔn)算法研究[J].湖北民族學(xué)院學(xué)報(bào):自然科學(xué)版,2010,28(2):177-180.
[6] Alhichri H S,Kamel M.Multi-resolution image registration using multi-class Hausdorff fraction[J].Pattem Recognition Letters,2002,23(3):279-286.