王 越,黃龍超,李 琴
(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 400054)
基于區(qū)域劃分和霍夫變換的車牌傾斜校正
王 越,黃龍超,李 琴
(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 400054)
針對車牌傾斜會(huì)降低字符分割和識(shí)別準(zhǔn)確率的問題,提出了基于區(qū)域劃分和霍夫變換的傾斜校正方法。定位后的車牌在垂直方向根據(jù)閾值劃分成高度相同的等分域,然后通過霍夫變換取得所有區(qū)域的最大角度值為水平角度值,同樣在水平方向從兩側(cè)往中間劃分等分域,通過霍夫變換取兩側(cè)最大角度值為垂直傾斜角度,對水平傾斜進(jìn)行雙線性插值旋轉(zhuǎn)校正,對垂直傾斜進(jìn)行錯(cuò)位偏移校正。通過區(qū)域劃分的方法,可以有效降低霍夫變換搜索的區(qū)域,從而提高校正速度。實(shí)驗(yàn)結(jié)果表明:該算法簡單、正確率高、魯棒性好。
車牌識(shí)別;傾斜校正; 霍夫變換; 區(qū)域劃分
車牌識(shí)別在現(xiàn)代交通中顯得越來越重要,被廣泛應(yīng)用在停車場、機(jī)場等車輛頻繁出入的場所中。車牌識(shí)別主要由車牌定位、字符校正、字符分割和字符識(shí)別4部分組成。由于車牌字符的傾斜常常為字符分割和字符識(shí)別帶來困難,因此在字符分割之前,通常需要對車牌字符進(jìn)行傾斜校正。
車牌的傾斜通常是由于拍攝位置和車牌位置存在一定角度所導(dǎo)致。車牌的傾斜往往會(huì)對后續(xù)操作產(chǎn)生影響,因此車牌傾斜校正是字符分割和識(shí)別成功率提高的關(guān)鍵所在。
車牌的傾斜主要有3種:水平方向、垂直方向、混合方向(水平和垂直方向)?,F(xiàn)在主要的傾斜校正方法有Radon變換法[1-3]、霍夫變換法(Hough)[4]、旋轉(zhuǎn)投影法[6]、線性擬合法[8]、K-L變換[8]。這些單一的方法都存在不足。Radon變換法對邊框不敏感,但是計(jì)算量大。霍夫變換對邊框敏感,若邊框缺失,會(huì)造成檢測到的角度與正確的傾斜角度誤差很大。旋轉(zhuǎn)投影法通過窮舉法,給定一個(gè)角度閾值范圍,然后在每個(gè)角度進(jìn)行垂直方向的旋轉(zhuǎn),最后統(tǒng)計(jì)落在水平方向最少白色像素點(diǎn)的角度為垂直傾斜角度。雖然該方法傾斜校正的角度比較準(zhǔn)確,但是運(yùn)算量巨大,花費(fèi)時(shí)間較長,不滿足車牌識(shí)別的實(shí)時(shí)性要求。K-L變換也稱為主成分分析法,要求車牌的定位精準(zhǔn),不包含噪聲,并且受二值化效果的影響,因此該方法容錯(cuò)率低。
針對以上問題,本文提出了基于區(qū)域劃分和霍夫變換相結(jié)合的方法。該方法主要解決了Hough變換對邊框的敏感性,并且通過區(qū)域劃分和邊緣檢測算子減少Hough變換搜索的區(qū)域,從而提高搜索速度。針對Hough變換對邊框的敏感性,本文算法在實(shí)現(xiàn)精確定位的基礎(chǔ)上,首先在定位圖像的垂直方向和水平方向的上下增加一個(gè)閾值高度,可以解決Hough變換無邊框的情況。再通過邊緣檢測算子對二值圖像進(jìn)行水平和垂直方向的邊緣檢測,然后將經(jīng)過邊緣檢測的二值圖像在垂直方向劃分成等區(qū)域的高度。在水平方向的區(qū)域劃分的寬度小于高度。這樣通過Hough變換檢測到最長的直線是有一定角度的傾斜的線條(車牌邊框二值線)。通過Hough變換得到水平和垂直方向的角度,先對水平方向進(jìn)行校正,再在垂直方向上對每行元素進(jìn)行錯(cuò)位糾正。
定位后車牌的圖像預(yù)處理是進(jìn)行車牌傾斜校正前必不可少的工作,也是提高傾斜校正算法成功率的關(guān)鍵之一。本文的圖像預(yù)處理主要由4部分組成:圖像灰度化、圖像歸一化、圖像去噪、圖像邊緣檢測。
1.1 圖像灰度化
獲取圖像一般是彩色圖像,由RGB彩色元素構(gòu)成的三維矩陣。一般可以對彩色圖像進(jìn)行加權(quán)處理來得到灰度圖像。本文選擇R、G、B的權(quán)值系數(shù)分別為:0.229、0.587和0.114[7]。
1.2 圖像歸一化
由于灰度處理后的圖像每個(gè)像素點(diǎn)的值在0~255,采取歸一化的方法把每個(gè)像素點(diǎn)的值變換到0~1。假設(shè)得到的灰度圖像為A,其歸一化原理如下:
delta=1/(max(A)-min(A))
(1)
B=(A-min(A))*delta
(2)
式中:max(A)是矩陣A中所有元素最大值;min(A)為矩陣A中所有元素的最小值;B是歸一化后的矩陣。
1.3 圖像去噪
由于車牌圖像存在著圖像光照不均勻以及車牌污染、圖像模糊等情況,本算法采用非平滑技術(shù)中的中值濾波方法,它能有效消除孤立點(diǎn),達(dá)到去噪的效果。由于直方圖反映了圖像的清晰程度,當(dāng)直方圖分布均勻時(shí),圖像達(dá)到最清晰,并且該方法對于背景和前景都太亮或者太暗的圖像非常有用,可以解決光照不均的情況,因此本文在濾波后采取直方圖均衡化方法。
1.4 圖像邊緣檢測
由于車牌的邊框的內(nèi)外含有明顯的邊緣變化,因此可以明顯檢測到車牌邊框的邊緣?,F(xiàn)在常用的邊緣檢測算子有sobel、canny。本文在車牌水平方向上選取了sobel算子,在垂直方向上選擇了canny算子。下面以sobel算子為例進(jìn)行介紹。
Sobel算子的的卷積核:
(3)
式中,Gx和Gy分別代表經(jīng)橫向及縱向邊緣檢測的一個(gè)卷積模板,Gx可由Gy旋轉(zhuǎn)90°得到。
分別將式(3)中的卷積核與式(2)中的灰度矩陣B做卷積:
(4)
對式(3)和式(4)進(jìn)行運(yùn)算。令B(a,b)表示圖像在矩陣B的(a,b)點(diǎn)的灰度值,運(yùn)算結(jié)果如下:
GBx=(-1)*B(x-1,y-1)+ 0*B(x,y-1)+1*B(x+1,y-1)+ (-2)*B(x-1,y)+0*B(x,y)+ 2*B(x+1,y)+(-1)*B(x-1,y+1)+ 0*B(x,y+1)+1*B(x+1,y+1)
(5)
GBy=1*B(x-1,y-1)+2*B(x,y-1)+ 1*B(x+1,y-1)+0*B(x-1,y)+ 0*B(x,y)+0*B(x+1,y)+ (-1)*B(x-1,y+1)+ (-2)*B(x,y+1)+ (-1)*B(x+1,y+1)
(6)
由式(5)和式(6)化簡可得:
GBx=[B(x+1,y-1)+2*B(x+1,y)+B(x+1,y+1)]-[B(x-1,y-1)+ 2*B(x-1,y)+B(x-1,y+1)]
(7)
GBy=[B(x-1,y-1)+2B(x,y-1)+B(x+1,y-1)]-[B(x-1,y+1)+ 2B(x,y+1)+B(x+1,y+1)]
(8)
圖像在該點(diǎn)的灰度值為
(9)
當(dāng)GB大于某個(gè)閾值時(shí),即認(rèn)為該點(diǎn)是邊緣點(diǎn),然后把該點(diǎn)的值設(shè)置為1,小于閾值時(shí)就把該點(diǎn)的值設(shè)置為0,這樣就產(chǎn)生一個(gè)具有邊緣的二值圖像。
車牌定位圖像的預(yù)處理是為了使車牌邊框的直線凸顯,讓車牌的水平和垂直方向的傾斜角度更加準(zhǔn)確。如圖1(a)和圖1(b)所示,首先得到定位后的車牌圖像,在水平方向和垂直方向進(jìn)行閾值的長度擴(kuò)張,然后通過sobel算子得到水平方向的二值化圖像,通過canny算子得到垂直方向的二值化,見圖1(c)和圖1(d)。由于車牌的固定特征為長度約為高度的2倍,所以車牌的水平方向的直線足夠長,因此在水平方向通過sobel算子盡可能保存直線的形狀,并減少白色像素點(diǎn)的數(shù)量,加快檢測的速度。圖1(e)和圖1(f)是圖1(b)中進(jìn)行水平旋轉(zhuǎn)后的邊緣檢測情況。比較圖1(e)和圖1(f),由于車牌的寬度較小圖1(f)中sobel算子在垂直邊緣的處理情況不理想,邊緣幾乎沒有了,圖1(e)canny算子對弱邊緣的檢測效果好,邊緣明顯。因此,在水平方向和垂直方向分別選擇了sobel、canny算子。圖1是在水平方向和水平校正后的垂直方向預(yù)處理的兩種情況對比。

圖1 車牌水平方向和垂直方向水平校正后的預(yù)處理結(jié)果
車牌傾斜主要分為水平方向、垂直方向和兩種方向相結(jié)合的情況??紤]到Hough變換對車牌的邊框敏感,因此本文算法在實(shí)現(xiàn)車牌精確定位的前提下,分別在水平方向和垂直方向增加了一個(gè)閾值來使車牌的邊框顯示出來。在進(jìn)行垂直角度檢測時(shí),由于水平線的長度要大于垂直、傾斜線的長度,因此通過Hough變換檢測不到邊框的垂直角度傾斜線,需要對水平方向和垂直方向進(jìn)行區(qū)域的劃分。因此,本文提出了基于區(qū)域劃分和霍夫變換的車牌傾斜校正算法。圖2是車牌傾斜校正算法的處理流程。
2.1 區(qū)域劃分
區(qū)域劃分是在預(yù)處理之后的步驟,圖3(a)和圖3(b)分別對圖1(d)和圖1(e)中的圖像進(jìn)行垂直方向和水平方向的區(qū)域劃分。為了盡最大限度保留水平方向的直線,便于Hough變換檢測到的直線是最長的水平傾斜直線,對圖1(d)的劃分閾值選取的是車牌高度的1/4,便于Hough變換檢測到的直線是最長的垂直傾斜的直線。為了使水平方向的直線長度小于垂直方向的直線長度,對圖1(e)的區(qū)域劃分采取的是從兩端到中間的劃分方法。圖3是對車牌圖像的區(qū)域劃分。

圖2 車牌傾斜校正算法處理流程
2.1 Hough變換
由Hough變換可知:直線上任何一點(diǎn)都可以轉(zhuǎn)換為直線到原點(diǎn)的距離和角度θ之間的關(guān)系。因此,x-O-y平面內(nèi)直線問題可轉(zhuǎn)化為s-O-θ平面內(nèi)點(diǎn)的問題。由于在一條直線上的點(diǎn)在s-O-θ內(nèi)會(huì)相交于一點(diǎn),因此只需統(tǒng)計(jì)s-o-θ內(nèi)點(diǎn)的個(gè)數(shù),取點(diǎn)個(gè)數(shù)最多的即為x-o-y平面內(nèi)最長的直線。圖4為車牌水平傾斜情況。

圖4 車牌水平傾斜
2.2 水平傾斜校正
首先在數(shù)據(jù)的第1行第1列的點(diǎn)建立如圖4所示的坐標(biāo)系。設(shè)A是圖4直線L上任意一點(diǎn),其坐標(biāo)為(x1,y1),其中直線L到原點(diǎn)的距離是d,并且與x軸的角度為θ。因此,由Hough變換可得
(10)
水平傾斜算法的步驟:
1) 如圖3(a)所示,把預(yù)處理后的圖像在垂直方向進(jìn)行區(qū)域劃分,閾值選取為高度的1/4。
2) 從圖像的第1行開始做遞增循環(huán),然后在對第1列開始做遞增循環(huán),對圖3(a)中每個(gè)劃分區(qū)域的點(diǎn)在1°~180°每個(gè)方向上統(tǒng)計(jì)(d,θ)的數(shù)量,取其中3個(gè)區(qū)域中(d,θ)數(shù)量最大的θ為水平方向的角度。
由于車牌的水平傾斜方向有兩種情況,其中θ的角度分別小于90°和大于90°,因此對圖4(a)類型車牌進(jìn)行順時(shí)針旋轉(zhuǎn)θ,對圖4(b)類型車牌進(jìn)行逆時(shí)針旋轉(zhuǎn)180°-θ。圖5是本文算法水平校正后的車牌二值圖像:

圖5 車牌的水平傾斜校正二值圖像
2.3 垂直傾斜校正
由圖6可知:車牌在水平校正后會(huì)產(chǎn)生黑色的區(qū)域。由于在進(jìn)行垂直角度的檢測時(shí),會(huì)對圖像進(jìn)行二值化操作,因此黑色的區(qū)域會(huì)對Hough變換的結(jié)果產(chǎn)生影響,所以在圖6的基礎(chǔ)上對車牌的上下邊框減去了一個(gè)h值。通常車牌的垂直傾斜可以看成一個(gè)平行四邊形,其中每行元素進(jìn)行了一定角度的偏移,因此對垂直傾斜的行元素進(jìn)行偏移校正就可以實(shí)現(xiàn)垂直傾斜校正。車牌的垂直傾斜有兩種不同的方向,分別叫做垂直右傾和垂直左傾。圖7為車牌的垂直傾斜的兩種情況。

圖6 水平旋轉(zhuǎn)后圖像

圖7 車牌垂直傾斜
如圖6所示:假設(shè)存在一點(diǎn)A(x,y)在垂直傾斜直線上,得到Hough變換的角度為θ,讓其水平平移到A1(x′,y′)上,錯(cuò)位變換公式如下:
垂直右傾:
(11)
垂直左傾:
(12)
垂直傾斜算法的具體步驟如下:
1) 如圖3(b)所示,對車牌水平方向校正,然后在水平方向做區(qū)域劃分。
2) 車牌的垂直傾斜角度一般在10°的傾斜范圍內(nèi),考慮到垂直左傾和垂直右傾,因此Hough變換的θ范圍為80°~100°,然后再對兩側(cè)和中間劃分區(qū)域通過式(10)統(tǒng)計(jì)(d,θ)個(gè)數(shù),然后取所有區(qū)域的(d,θ)個(gè)數(shù)最多的θ為垂直傾斜角度。
3) 進(jìn)行錯(cuò)位變換。如果θ小于90°,即垂直右傾,為了避免錯(cuò)位移動(dòng)像素的重復(fù)掃描,首先從第1行(i)開始掃描,列數(shù)從最后一列(j)開始掃描,列數(shù)進(jìn)行遞減。如果當(dāng)前行的列掃描完畢,再對行數(shù)進(jìn)行遞增。重復(fù)以上操作,直到所有的數(shù)據(jù)掃描完。設(shè)A為水平校正后圖像的二值圖像,當(dāng)掃描到其中某行某列的1個(gè)元素時(shí),如果A(i,j)等于1,就把A(i,j)置0,再運(yùn)用式(11)進(jìn)行錯(cuò)位變換,使A(i,j+i*tan(θ1))等于1。如果θ大于90°,即為垂直左傾。垂直左傾和垂直右傾有兩點(diǎn)不同,首先是從第1行和第1列開始掃描,列數(shù)進(jìn)行增加,當(dāng)某行的列數(shù)掃描完后行數(shù)進(jìn)行遞增。其次是運(yùn)用式(12)得到水平平移后的坐標(biāo),使A(i,j-i*tan(θ1))等于1。
車牌的垂直傾斜校正二值圖像如圖8所示。

圖8 車牌的垂直傾斜校正二值圖像
表1是傾斜的兩種特殊情況在本文中的校正效果,其中兩張車牌圖像方向和光照的明暗程度各不相同。從表1可以看出:本文選取了不同亮度、不同模糊度的圖片,其校正情況都很好。為了進(jìn)一步驗(yàn)證實(shí)驗(yàn)結(jié)果的有效性,選取了100張由車牌定位得到的車牌圖像進(jìn)行實(shí)驗(yàn),并在不同算法上進(jìn)行了比較。表2是本文算法與其他算法的對比情況。檢測傾斜角度和人工校正的傾斜角度,差值在[-2°,2°]范圍內(nèi)當(dāng)作正確的校正,否則是失敗的校正。

表2 算法性能指標(biāo)對比
實(shí)驗(yàn)平臺(tái)是在windows 64位系統(tǒng)、Matlab2014a上進(jìn)行的。通過實(shí)驗(yàn)發(fā)現(xiàn):文獻(xiàn)[2]算法得到的傾斜角度準(zhǔn)確度要低于本文算法,并且運(yùn)行時(shí)間比本文算法略高;文獻(xiàn)[5]算法在時(shí)間和準(zhǔn)確率上都比本文算法性能低;文獻(xiàn)[8]算法在耗時(shí)上比較高,由于該算法使用了旋轉(zhuǎn)投影法,正確率上要優(yōu)于本文算法。通過實(shí)驗(yàn)得知本文算法的魯棒性較好。
表1 部分車牌傾斜校正
Table 1 Part of the license plate tilt correction

提出了基于區(qū)域劃分和Hough變換的車牌傾斜校正算法。該方法利用區(qū)域劃分和邊緣檢測來減少搜索的空間,降低運(yùn)行時(shí)間,通過Hough變換求得水平和垂直方向的傾斜角度。本文方法在車牌邊框與字符緊湊和光照不均勻的情況下處理效果良好,并且通過精確定位后進(jìn)行水平方向和垂直方向的擴(kuò)張,使得算法克服了傳統(tǒng)Hough變換對邊框的敏感性。實(shí)驗(yàn)結(jié)果表明:本文算法對不同傾斜角度的車牌都能取得很好、很快的水平方向和垂直方向的校正效果,運(yùn)行耗時(shí)少,并且魯棒性好。
[1] 于明,李延果,于洋,等.融合Hough與Radon變換的車牌傾斜校正算法[J].控制工程,2013,20(6):1014-1017.
YU Ming,LI Yanguo,YU Yang.Fusion of Hough and Radon transformation of the license plate tilt correction algorithm[J].Control Engineering,2013,20(6):1014-1017.
[2] 葛海江,方江江,張翔.車牌識(shí)別系統(tǒng)中車牌定位及傾斜校正算法研究[J].杭州電子科技大學(xué)學(xué)報(bào),2007,27(2):49-52.
GE Haijiang,FANG Jiangjiang,ZHANG Xiang.Research on license plate location and tilt correction algorithm in license plate recognition system[J].Journal of Hangzhou Dianzi University,2007,27(2):49-52.
[3] 王洪亞.一種改進(jìn)的Radon傾斜校正方法[J].大慶師范學(xué)院學(xué)報(bào),2013,33(6):18-21.
WANG Hongya.An improved method of Radon tilt correction[J].Journal of Daqing Normal University,2013,33(6):18-21.
[4] FANG J,DAI S.A vehicle license plate location and correction method based the characteristics of license plate[C]// Intelligent Control and Automation.[S.l.]:IEEE,2012:42-46.
[5] 王楠楠.車牌定位及傾斜校正方法研究[J].工業(yè)控制計(jì)算機(jī),2014,27(11):25-26.
WANG Nannan.Research on license plate location and tilt correction[J].industrial control computer,2014,27(11):25-26.
[6] 李文舉,梁德群,崔連延,等.一種新的車牌傾斜校正方法[J].信息與控制,2004,33(2):231-235.
LI Wenju,LIANG Dequn,LIAN Yancui.A new method for vehicle license plate tilt correction[J].Information and Control,2004,33(2):231-235.
[7] 劉衍琦,詹福宇.MALAB圖像處理與視頻處理實(shí)用案例詳解[M].北京:電子工業(yè)出版社,2015:48-56.
LIU Yanqi,ZHAN Fuyu.MALAB image processing and video processing utility case[M].Beijing:Electronic Industry Press,2015:48-56.
[8] 劉少梅,楊鼎才.基于最小二乘法和主元分析的車牌傾斜校正方法[J].電子測量技術(shù),2008,31(4):49-51.
LIU Shaomei,YANG Dingcai.A method of vehicle plate tilt correction based on least square method and principal component analysis[J].Electronic Measurement Technology,2008,31(4):49-51.
[9] PAN M,YAN J,XIAO Z.An Approach to Tilt Correction of Vehicle License Plate[C]//International Conference on Mechatronics and Automation.2007:271-275.
[10]吳一全,丁堅(jiān).基于K-L展開式的車牌傾斜校正方法[J].儀器儀表學(xué)報(bào),2008,29(8):1690-1694.
WU Yiquan,DING Jian.A method of vehicle license plate tilt correction based on K-L expansion[J].Chinese Journal of scientific instrument,2008,29(8):1690-1694.
[11]BODADE R,PACHORI R B,GUPTA A,et al.A novel approach for automated skew correction of vehicle number plate using principal component analysis[C]// IEEE International Conference on Emerging Trends in Communication,Control,Signal Processing and Computing Applications.2013:1 - 6.
(責(zé)任編輯 劉 舸)
License Plate Tilt Correction Based on Region Partition and Hough Transform
WANG Yue,HUAG Long-chao,LI Qin
(College of Computer Science and Engineering, Chongqing University of Technology, Chongqing 400054, China)
License plate tilt will reduce the accuracy of character segmentation and recognition. A license plate tilt correction method based on region partition and Hough transform is proposed. Firstly, positioning the plate was divided into equal height regions along vertical direction according to threshold. Then through the Hough transform to obtain the maximum angle of all regions is the horizontal angle, equally in the horizontal direction from both sides to the middle division of the sub-regions, and the maximum angle between the two sides and the middle of the hough transform is the vertical tilt angle, and the bilinear interpolation rotation correction is carried out on the horizontal inclined and the vertical tilt correction dislocation of the offset. By the method of region division, we can effectively reduce the search area of Hough transform and improve the speed of correction. The experiment results show that the algorithm is simple, and the accuracy is high and the robustness is strong.
license plate recognition; tilt correction; Hough transform; region partition
2016-12-30 作者簡介:王越(1961—),男,博士,教授,主要從事數(shù)據(jù)庫技術(shù)及應(yīng)用、數(shù)據(jù)挖掘及其應(yīng)用、嵌入式系統(tǒng)及應(yīng)用研究,E-mail:wangyue@cqut.edu.cn; 黃龍超(1993—),男,碩士研究生,主要從事計(jì)算機(jī)圖像研究。
王越,黃龍超,李琴.基于區(qū)域劃分和霍夫變換的車牌傾斜校正[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2017(3):97-104.
format:WANG Yue,HUAG Long-chao,LI Qin.License Plate Tilt Correction Based on Region Partition and Hough Transform[J].Journal of Chongqing University of Technology(Natural Science),2017(3):97-104.
10.3969/j.issn.1674-8425(z).2017.03.014
TP18
A
1674-8425(2017)03-0097-08