白雁力,周信東
(桂林電子科技大學(xué)教學(xué)實(shí)踐部,廣西 桂林 541004)
車(chē)牌識(shí)別是智能交通系統(tǒng)的重要組成部分,而車(chē)牌定位直接關(guān)系到的車(chē)牌識(shí)別的成敗。目前常用的車(chē)牌定位算法分為兩大類(lèi):1)灰度圖像處理。該方法基于空間信息處理,以檢測(cè)車(chē)牌邊界為目的,常見(jiàn)的方法有直方圖處理,數(shù)學(xué)形態(tài)學(xué)、區(qū)域生長(zhǎng)和Hough變換等[1-4];2)彩色圖像處理。該方法通過(guò)對(duì)圖像背景和目標(biāo)顏色的區(qū)分進(jìn)行車(chē)牌定位[5-6]。兩類(lèi)算法都具有對(duì)于低噪聲、邊緣特征不復(fù)雜、車(chē)身顏色與車(chē)牌顏色明顯不同的圖片能實(shí)現(xiàn)較高定位率的優(yōu)點(diǎn),但是由于圖像的不確定性,也都存在對(duì)高噪聲、車(chē)輛前臉邊緣異常復(fù)雜和車(chē)身顏色與車(chē)牌區(qū)域顏色接近的圖片定位準(zhǔn)確率低的缺點(diǎn)。所以,車(chē)牌定位算法的研究和優(yōu)化仍然是重點(diǎn)。
針對(duì)上述兩類(lèi)算法對(duì)高噪聲、車(chē)牌與車(chē)身顏色相近圖片定位率低的缺點(diǎn),在微分算子[7]的基礎(chǔ)上,進(jìn)行車(chē)牌定位算法研究。該算法從突出車(chē)牌區(qū)域和搜索車(chē)牌邊界兩方面,進(jìn)行車(chē)牌定位。突出車(chē)牌區(qū)域采用基于歐氏距離變換[8]原理改進(jìn)二階微分算子;搜索車(chē)牌邊界,利用一階微分算子對(duì)曲線的波峰和波谷進(jìn)行處理,并通過(guò)微分值、曲線占空比等參數(shù)確定車(chē)牌邊界。
微分算子是圖像處理中的重要算子,其算法實(shí)現(xiàn)簡(jiǎn)單,廣泛應(yīng)用于圖像邊緣檢測(cè)。常用的微分算子有一階微分算子和二階微分算子。
一階微分算子是根據(jù)單個(gè)像素在鄰域內(nèi)的灰度跳變,依據(jù)邊緣鄰近一階方向?qū)?shù)變化規(guī)律,突出圖像邊緣。一階微分算子有單方向和無(wú)方向兩種。
單方向一階微分由豎直方向和水平方向組成,分別為式(1)和式(2)
無(wú)方向一階微分主要是邊緣檢測(cè)算子,如Roberts算子、Sobel算子和Prewitt算子。
從圖像的景物細(xì)節(jié)的灰度分布特性可知,有些灰度變化特性一階微分的描述不是很明確,為此,采用二階微分能夠獲得更加豐富的景物細(xì)節(jié)[8]。由此可見(jiàn),二階微分算子對(duì)于圖像細(xì)節(jié)的突出要比一階微分算子效果好。常見(jiàn)的二階微分算子是基于3×3鄰域的,主要有Laplacian算子和Canny算子。
二階微分算子可由領(lǐng)域內(nèi)的二階方向?qū)?shù)表示,水平方向和豎直方向分別為式(3)和式(4)
根據(jù)二階微分算子在提取細(xì)節(jié)上的優(yōu)勢(shì),并結(jié)合采樣圖像的情況,本文決定選取二階微分算子應(yīng)用于車(chē)牌的定位。在車(chē)牌定位過(guò)程中,基于以下原因,先進(jìn)行豎直方向定位,再進(jìn)行水平方向定位:1)車(chē)牌在豎直方向邊框信息比水平方向邊框信息豐富,且易判斷;2)車(chē)牌在豎直方向的跨度比水平方向的跨度小得多,能通過(guò)單波峰特性搜索車(chē)牌;3)車(chē)牌在豎直方向上的位置,大多數(shù)都處于圖像的下方,比水平方向容易判斷。
上文提到,二階微分算子能夠提取更好的圖像細(xì)節(jié),能有效地幫助車(chē)牌定位,但是由于天氣、光線等因素的影響,并不能在所有的圖像中突出車(chē)牌細(xì)節(jié),特別是高噪聲圖像。在這種情況下,豎直方向二階微分算子已經(jīng)不能夠滿足實(shí)際車(chē)牌定位的需求,必須加以改進(jìn)和修正,以達(dá)到更好的適應(yīng)性。
2.1.1 改進(jìn)的豎直方向二階微分算子
改進(jìn)豎直方向二階微分的原理是通過(guò)對(duì)二階微分在4個(gè)方向進(jìn)行拓展,然后通過(guò)歐氏距離原理將4個(gè)方向的二階微分歸一化到豎直方向,改進(jìn)后的二階微分能夠比單一方向更突出邊框。
1)二階微分算子的拓展
基于3×3模板的二階微分算子,可以拓展出二階微分的交叉算子。交叉算子1為
2)歐氏距離變換
所謂歐氏距離就是通常所說(shuō)的空間兩點(diǎn)之間的直線距離。在二維空間中,是兩點(diǎn)間的直線長(zhǎng)度。設(shè)I為n×n的二維圖像,I(i,j)表示圖像中點(diǎn)(i,j)的像素值。對(duì)于I中的任意兩點(diǎn)p1(i1,j1)和p2(i2,j2),它們之間的歐氏距離為
由歐氏距離變換的定義可以推導(dǎo)出,基于圖像的距離變換是求出每個(gè)像素點(diǎn)的最近鄰特征點(diǎn),即能找出圖像在多個(gè)方向的相似點(diǎn)。歐氏距離變換在數(shù)字圖像處理中的應(yīng)用范圍很廣泛,尤其對(duì)于圖像的細(xì)節(jié)提取是一個(gè)很好的參照。
3)改進(jìn)的豎直方向二階微分算子
通過(guò)微分算子拓展和歐氏距離變換原理,本文將所有的二階微分算子進(jìn)行組合,并歸一化到豎直方向,分為以下2個(gè)步驟:
(1)依據(jù)歐氏距離變換原理,將水平方向和兩個(gè)交叉方向的微分算子,進(jìn)行組合,公式為
2.1.2 投影曲線的平滑和閾值處理
圖1為原始圖像,由圖2和圖3進(jìn)行對(duì)比可以看出,通過(guò)修正后算子的處理,在投影曲線上去除了很多的噪聲影響,能夠通過(guò)明顯的波峰突出車(chē)牌區(qū)域。但是,為了方便搜索車(chē)牌,須在投影曲線上保證車(chē)牌區(qū)域存在獨(dú)立的單波峰特性。為了讓投影曲線具備這一特性,就必須對(duì)投影曲線進(jìn)行平滑和閾值處理。
圖1 原始圖像
1)曲線平滑
曲線平滑的目的是讓投影曲線具備車(chē)牌區(qū)域單波峰特性。本文采用高斯平滑函數(shù)對(duì)曲線進(jìn)行處理。高斯函數(shù)濾波算法實(shí)現(xiàn)如下
2)投影曲線閾值處理
平滑處理后,曲線具備車(chē)牌區(qū)域單波峰特性,但是仍然是一個(gè)連通曲線。所以,必須對(duì)曲線進(jìn)行閾值處理,使其波峰具備獨(dú)立特性。
本文采用的閾值處理方法主要由波谷一階微分處理、點(diǎn)閾值處理和曲線值均值處理3個(gè)部分組成。
(1)波谷一階微分處理
采用對(duì)曲線的波峰點(diǎn)和波谷點(diǎn)進(jìn)行一階微分處理,目的在于突出車(chē)牌邊界;
(2)點(diǎn)閾值處理
采用波谷點(diǎn)微分值和波谷點(diǎn)數(shù)值2個(gè)條件進(jìn)行均值閾值處理,目的在于去除不屬于車(chē)牌的邊界。當(dāng)該點(diǎn)的微分值和曲線值分別低于微分和曲線的均值時(shí),將該點(diǎn)賦值為0;當(dāng)該點(diǎn)是波谷時(shí),如果微分值大于曲線值,則保留該點(diǎn)。
(3)曲線均值閾值處理
在以上2個(gè)處理的基礎(chǔ)上,保留曲線中數(shù)值大于平均值的點(diǎn)。通過(guò)閾值處理,車(chē)牌區(qū)域必定存在于2個(gè)較大微分值的波谷之間,圖4是平滑和閾值處理后的曲線圖,虛線為閾值處理后仍然存在的波谷微分值。
圖4 平滑和閾值處理后的曲線
2.1.3 豎直方向搜索車(chē)牌
車(chē)牌搜索由區(qū)域選定和區(qū)域判斷兩部分組成。
1)區(qū)域選定
通過(guò)上述步驟的處理,在投影曲線上可以發(fā)現(xiàn),車(chē)牌所在的區(qū)域必定在2個(gè)存在的波谷微分值中間,圖4中用虛線表示。
2)區(qū)域判斷
通過(guò)圖4可以看到,曲線上車(chē)牌區(qū)域的波峰值并不是最大值,所以在選定區(qū)域后,還需要通過(guò)參數(shù)判斷車(chē)牌。
標(biāo)準(zhǔn)參數(shù)有:參數(shù)1,區(qū)域內(nèi)非零曲線值存在的比例;參數(shù)2,2個(gè)波谷微分值之比;參數(shù)3,邊界波谷微分值是否是最大或第二大的微分值。
通過(guò)對(duì)50幅圖像的數(shù)據(jù)統(tǒng)計(jì),得到表1。
表1 參數(shù)值統(tǒng)計(jì)
根據(jù)統(tǒng)計(jì)的數(shù)據(jù),將3個(gè)參數(shù)的標(biāo)準(zhǔn)值分別設(shè)定為0.7,0.6和1。在搜索中,以任意一個(gè)參數(shù)作為定位標(biāo)準(zhǔn),效果都不好。通過(guò)對(duì)數(shù)據(jù)統(tǒng)計(jì)和分析,3個(gè)參數(shù)之間存在交集。最后,采用任意2個(gè)參數(shù)作為定位的標(biāo)準(zhǔn)。定位的統(tǒng)計(jì)數(shù)據(jù)如表2所示。
表2 滿足參數(shù)條件的定位統(tǒng)計(jì)
圖5是豎直方向上車(chē)牌定位效果圖。
圖5 豎直方向定位效果
在車(chē)牌豎直方向定位后,去除了大部分的干擾。在小干擾的情況下,本文直接采用水平方向二階微分處理,并對(duì)投影曲線進(jìn)行閾值處理,進(jìn)行車(chē)牌水平方向定位。
2.2.1 車(chē)牌區(qū)域在投影曲線中的特點(diǎn)分析
通過(guò)對(duì)水平方向二階微分處理后的投影曲線(如圖6所示)分析,車(chē)牌區(qū)域存在以下特點(diǎn):車(chē)牌每個(gè)字符處于2個(gè)波谷之間,整個(gè)車(chē)牌區(qū)域由許多的波谷和波峰組成;在車(chē)牌區(qū)域中相鄰的波谷值和波峰值相差都很大。
圖6 水平二階微分處理投影曲線
2.2.2 局部與整體相結(jié)合的閾值處理方法
通過(guò)閾值處理,既要保留車(chē)牌區(qū)域中較小的波谷點(diǎn),又要讓車(chē)牌區(qū)域在曲線保持最大連通區(qū)域。本文基于車(chē)牌區(qū)域相鄰2個(gè)波谷值和波峰值相差很大的特性,采用局部均值和整體均值進(jìn)行對(duì)比的閾值處理方法,對(duì)曲線進(jìn)行處理,具體方法如下:1)計(jì)算曲線的整體的均值,并將該值作為過(guò)濾條件;2)計(jì)算區(qū)域均值,即任意相鄰的波谷點(diǎn)和波峰點(diǎn)之間區(qū)域;3)閾值處理,當(dāng)區(qū)域均值大于整體均值時(shí)保留,否則要去除。
通過(guò)區(qū)域與整體相結(jié)合的方法,一方面能保留車(chē)牌區(qū)域內(nèi)數(shù)值較小的波谷點(diǎn),突出數(shù)值較大的波峰,另一方面能夠讓實(shí)現(xiàn)車(chē)牌處于曲線最大的、獨(dú)立的連通區(qū)域。曲線閾值處理效果如圖7所示。
圖7 曲線閾值處理效果
2.2.3 水平方向車(chē)牌定位實(shí)現(xiàn)
通過(guò)曲線的連通區(qū)域可以觀察到,車(chē)牌的邊界都是出于曲線的波峰部分,最終以該連通曲線的第一個(gè)波峰點(diǎn)和最后一個(gè)波峰點(diǎn)作為車(chē)牌的左右邊界,如圖8所示。
圖8 最終定位效果
為檢測(cè)算法的穩(wěn)定性,采用不同環(huán)境下的540幅車(chē)牌圖像進(jìn)行測(cè)試。采集圖像的特點(diǎn)為:1)背景多樣化,包括城市道路、高速公路路和收費(fèi)站;2)車(chē)牌尺寸不同。
具體測(cè)試結(jié)果見(jiàn)表3。
表3 各種環(huán)境下車(chē)牌定位情況
在測(cè)試中,有20幅圖像定位不準(zhǔn)確,原因在于:1)白天環(huán)境下,城市道路車(chē)輛較多,往往兩車(chē)之間相距很近,形成定位干擾;2)晚上環(huán)境下,城市道路車(chē)輛頭燈太亮和采集圖像噪聲太大,形成定位干擾;3)收費(fèi)站環(huán)境下,車(chē)輛停車(chē)位置和欄桿位置的距離小,特別是大型貨車(chē)。
車(chē)牌定位關(guān)系著車(chē)牌識(shí)別系統(tǒng)的成敗。在豎直方向定位上,用改進(jìn)的二階微分算子進(jìn)行處理,并通過(guò)對(duì)投影曲線進(jìn)行平滑處理、閾值處理及對(duì)波峰波谷點(diǎn)的一階微分算子處理,可以消除車(chē)牌顏色和環(huán)境不同的影響,得到較好的候選車(chē)牌;對(duì)候選車(chē)牌,利用曲線占空比、波谷微分值比和波谷微分值大小等因素綜合判斷,實(shí)現(xiàn)準(zhǔn)確定位。在車(chē)牌水平方向定位中,采用二階微分算子處理,并對(duì)投影曲線進(jìn)行局部均值和整體均值的閾值處理,可以保留車(chē)牌字符之間投影值較小的波谷點(diǎn),讓車(chē)牌區(qū)域處于連通,并最終實(shí)現(xiàn)車(chē)牌水平方向的定位。該算法進(jìn)一步改進(jìn)需要通過(guò)大量的實(shí)驗(yàn),優(yōu)化微分算子和閾值的選取,提高該算法在各種背景下的適應(yīng)性和穩(wěn)定性。
[1]SUBHRANSU M,JITENDRA M.Object detection using a max-margin Hough transform[C]//Proc.IEEE Conference on Computer Vision and Pattern Recognition,2009.[S.l.]:IEEE Press:1038-1045.
[2]葉茂亮,劉長(zhǎng)松,丁曉青,等.基于筆畫(huà)分析和形態(tài)學(xué)的汽車(chē)牌照定位算法[J].電視技術(shù),2005,29(5):85-87.
[3]ANAGNOSTOPOULOS C N,ANAGNOSTOPOULOS I,LOUMOS V,et al.A license plate recognition algorithm for intelligent transportation system applications[J].IEEE Transactions on Intelligent transportation System,2006,7(3):377-392.
[4]黃文杰,王海濤,姬建崗.基于公路收費(fèi)系統(tǒng)的車(chē)牌定位與字符分割算法[J].電視技術(shù),2006,30(2):85-87.
[5]聶洪印,周衛(wèi)東,劉輝.多顏色模型和綜合特征下的車(chē)牌定位新方法[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(12):221-223.
[6]謝建平.一種基于快速最近特征線的汽車(chē)牌照識(shí)別方法[J].電視技術(shù),2006,30(4):93-96.
[7]阮秋琦.數(shù)字圖像處理基礎(chǔ)[M].2版.北京:清華大學(xué)出版社,2009.
[8]孫即祥.圖像處理[M].2 版.北京:科學(xué)出版社,2009.