謝永祥,董蘭芳
(中國科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230027)
車牌識(shí)別系統(tǒng)在智能交通中有廣泛的應(yīng)用,它能從一幅圖像中自動(dòng)定位出車牌區(qū)域,并分割字符圖像,對(duì)字符進(jìn)行識(shí)別。車牌識(shí)別系統(tǒng)的主要組成部分如圖1所示,有車牌定位、車牌校正、車牌字符分割和車牌字符識(shí)別4個(gè)部分[1]。
圖1 程序總體流程圖
目前的車牌定位主要有基于灰度圖像的定位方法和基于彩色圖像的定位方法[2]。
其中,基于灰度圖像的方法計(jì)算量小,但在復(fù)雜背景下,存在穩(wěn)定性差、準(zhǔn)確率不高的缺點(diǎn);在基于彩色圖像的方法中,存在速度慢、實(shí)時(shí)性差的缺點(diǎn)。
一般的車牌校正算法有Hough變換法、Radon變換法、旋轉(zhuǎn)投影變換3種方法[2]。其中,Hough變換法抗噪性能較好,但計(jì)算量大,且對(duì)于無車牌邊框的圖像效果不理想;Radon變換能快速檢測到車牌的傾斜角度,但對(duì)無邊框的車牌圖像同樣不理想;而旋轉(zhuǎn)投影變換校正效果較好,卻需對(duì)車牌圖像多次旋轉(zhuǎn),計(jì)算量較大。
常見的車牌字符分割方法主要是對(duì)單行車牌進(jìn)行分割,在分割中常會(huì)將雙行車牌誤認(rèn)成單行車牌,對(duì)雙行車牌的分割效果不理想[3]。在車牌字符識(shí)別算法中,常用的有神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)的方法[4]。
在車牌定位中,由于一般的定位算法只是在交通道路和停車場管理等較為簡單的背景有很好的效果,但在相對(duì)復(fù)雜的場景中,運(yùn)行效果還有待改善。所以根據(jù)我國車牌的紋理特征和顏色特征,本文提出了一種通過在HSV空間中兩次顏色標(biāo)記和紋理特征相結(jié)合的車牌定位方法。實(shí)驗(yàn)結(jié)果表明,該方法能夠有效地定位車牌,并且具有較強(qiáng)的魯棒性。在字符分割部分,也提出一種基于改進(jìn)的模板匹配的字符分割方法,實(shí)驗(yàn)表明,該方法能夠有效的分割單、雙行車牌。
在日常所用的紅(R)、綠(G)、藍(lán)(B)顏色空間中,由于R、G、B三個(gè)分量都會(huì)隨著光照的變化而變化,兩種相近的顏色其R、G、B值可能相差很大[5],所以在R、G、B空間來直接定位車牌是十分困難的。因此,本文改為在HSV空間中定位車牌,在HSV空間中,H表示色調(diào)(hue),S表示飽和度(saturation),V表示亮度(value)[5],其與人眼感知的顏色特性一一對(duì)應(yīng),能較好地反映出人對(duì)色彩的鑒別能力。由RGB顏色空間向HSV顏色空間轉(zhuǎn)換可由式(1)得到:
其中,max為R、G、B三分量中最大值,min為R、G、B三分量中最小值。
我國現(xiàn)使用車牌主要有藍(lán)底白字、黃底黑字、黑底白字和白底黑字、紅字幾種類型[6],可利用各種顏色在H、S、V分量上的范圍,在第一次標(biāo)記中將圖像各點(diǎn)標(biāo)記為藍(lán)色、白色、黃色、黑色、紅色、雜色,其中各分量的范圍如表1所示。
對(duì)于第一次標(biāo)記的圖像,若直接來定位的話容易誤檢到大量與車牌背景色相近的區(qū)域。對(duì)于這種情況,本文利用車牌有固定顏色搭配的特性來解決這個(gè)問題,其中固定顏色搭配是指在某類車牌中字符與背景的顏色搭配總是確定的,比如說在藍(lán)白色車牌中,白色字符是被周圍的藍(lán)色背景所包圍。我們不是簡單的提取白色區(qū)域或藍(lán)色區(qū)域,而是提取藍(lán)白交界區(qū)域,這樣就可以很好地減少藍(lán)色車輛或藍(lán)色背景干擾,提高定位準(zhǔn)確度。還需對(duì)圖像進(jìn)行第二次標(biāo)記,假設(shè)當(dāng)圖片f中存在藍(lán)白色車牌時(shí),圖像A為第一次標(biāo)記后圖像,圖像B為第二次標(biāo)記后圖像,t為車牌預(yù)估字符寬度。第二次標(biāo)記由式(2)計(jì)算得到:
表1 各顏色H、S、V范圍
兩次標(biāo)記流程如圖2所示。
圖2 兩次標(biāo)記流程圖
圖3~6分別為原圖、第一次標(biāo)記后的圖片和第二次標(biāo)記后的效果圖片。
圖3 原圖
圖4 第一次標(biāo)記后藍(lán)色區(qū)域
圖5 第一次標(biāo)記后白色區(qū)域
圖6 第二次標(biāo)記后圖片
對(duì)于兩次標(biāo)記的圖片,可利用車牌文字區(qū)域結(jié)構(gòu)復(fù)雜的特點(diǎn)分割車牌區(qū)域。本文先采用水平梯度差分法進(jìn)行紋理分析,它使得二值化圖片的車牌字符紋理復(fù)雜的特性得到加強(qiáng),從而突出了車牌區(qū)域。在統(tǒng)計(jì)差分后的圖像C中每行包含的白色像素點(diǎn)個(gè)數(shù)為D(i),當(dāng)D(i)大于閾值thresh[i]時(shí)認(rèn)為該行可能位于車牌區(qū)域內(nèi),當(dāng)連續(xù)的這種行數(shù)在一定的范圍時(shí)就認(rèn)為是一個(gè)車牌候選區(qū)域,其中thresh為局部閾值,即式(3):
每一行的閾值等于其附近n行的累積投影值的平均值,此方法相對(duì)于全局閾值可以更好地適應(yīng)不同清晰程度的圖像,這樣就可以實(shí)現(xiàn)車牌的垂直定位。
對(duì)已垂直定位的圖像可采用類似的方法進(jìn)行水平定位。對(duì)于這些車牌候選區(qū)域,通過區(qū)域長、寬限制和黑白區(qū)域交錯(cuò)次數(shù)先初步篩除大部分非車牌區(qū)域,再通過計(jì)算單位面積內(nèi)白色像素點(diǎn)個(gè)數(shù)得到最大的前3個(gè)為假定車牌區(qū)域。
得到車牌區(qū)域圖像后,使用大津法進(jìn)行二值化。此時(shí)需對(duì)車牌進(jìn)行水平傾斜校正、豎直傾斜校正以及車牌邊框的去除。一般的傾斜校正方法有hough變換法、Radon變換法、旋轉(zhuǎn)投影變換法。其中hough變換法、Radon變換法對(duì)于邊框不明顯的車牌校正效果不好,而旋轉(zhuǎn)投影變換運(yùn)算量較大,故本文采用一種改進(jìn)的旋轉(zhuǎn)投影方法。
在水平傾斜校正中,先對(duì)圖片進(jìn)行水平差分,在–30°~30°的范圍內(nèi),依次增加2°通過雙線性插值來對(duì)圖像進(jìn)行水平方向旋轉(zhuǎn),并得到圖像的水平投影值數(shù)組P[m],取最大的4個(gè)投影值之和S1。即得到式(4),
其中,r(k)為P中最大的4個(gè)值位置。
本文不是對(duì)所有角度進(jìn)行計(jì)算,而是當(dāng)找到S1的極大值時(shí)即停止旋轉(zhuǎn),并認(rèn)為該角度即是水平傾斜角度,通過相應(yīng)旋轉(zhuǎn)可以得到水平校正的圖像,如圖7所示。
圖7 水平校正
豎直傾斜是由于車牌圖像的同一行像素點(diǎn)的錯(cuò)位造成的,可以采用類似水平校正的方法。對(duì)圖像豎直投影后,令谷底高度為閾值h。依次對(duì)圖像旋轉(zhuǎn)并豎直投影得到數(shù)組Q[n],統(tǒng)計(jì)其小于h的個(gè)數(shù)S2,即:
當(dāng)S2達(dá)到極大值停止,此時(shí)可求得豎直旋轉(zhuǎn)角度并得到豎直校正的圖像,如圖8所示。
圖8 豎直校正
對(duì)車牌傾斜校正后,可根據(jù)車牌的水平投影谷底位置和黑白像素點(diǎn)變換個(gè)數(shù)來確定車牌的邊框位置,如圖9所示,其中對(duì)于雙行車牌可根據(jù)投影的波谷將上層和下層分割。
圖9 去除邊框
一般可根據(jù)前面得到的車牌區(qū)域的長寬比將其分為單行和雙行的車牌,若是雙行車牌,先對(duì)二值化后的車牌從上到下進(jìn)行水平投影,用下一行的投影值減去上一行的投影值記錄差值,找出差值最大的就是所對(duì)應(yīng)的分界線。此時(shí)可以根據(jù)分界線將雙行車牌分解為兩個(gè)單行的車牌來分別處理。
先對(duì)車牌區(qū)域進(jìn)行豎直投影,取谷底為初始閾值h對(duì)圖像進(jìn)行分割,若分割出來的部分大于高度的k倍,則認(rèn)為它有字符粘連的,需遞歸自增h進(jìn)行分割直至分割成功或當(dāng)h超過高度的p倍而放棄分割。當(dāng)然,分割后的字符也可能存在字符斷裂,這主要出現(xiàn)在漢字部分,如川、滬等字,可根據(jù)其與前后區(qū)域距離遠(yuǎn)近決定是否區(qū)域合并。對(duì)可能出現(xiàn)的數(shù)字1的特殊情況,可根據(jù)其投影值的大小判斷是1還是噪聲。
對(duì)分割后的待測字符區(qū)域可根據(jù)單、雙行車牌的模板進(jìn)行匹配計(jì)算,本文統(tǒng)計(jì)出待測字符的中心位置,將車牌字符模板在待測字符區(qū)域上從左向右、從上向下滑動(dòng),計(jì)算各個(gè)字符的理論位置,將理論位置和實(shí)際位置之差的平方和作為評(píng)價(jià)函數(shù)值S,其中對(duì)于雙層車牌可進(jìn)一步利用上下層水平和豎直方向的距離關(guān)系,最終得到使S最小的那組即為分割的字符。其中單、雙行的S的計(jì)算方法如式(6)~(7)所示,A表示單行車牌的待測字符中心位置數(shù)組,D為模板字符中心位置數(shù)組,A1、A2為雙行車牌的上、下行待測字符中心位置數(shù)組,D1、D2為上、下行模板字符中心位置數(shù)組。
其中,
單、雙行車牌模板[6]如圖10所示。
圖11,圖12為分割的實(shí)驗(yàn)結(jié)果圖。
圖10 單雙層車牌模板
圖11 分割效果圖1
圖12 分割效果圖2
車牌字符中的識(shí)別常用的有人工神經(jīng)網(wǎng)絡(luò)方法和支持向量機(jī)(suport vector machine,SVM)的方法。其中,人工神經(jīng)網(wǎng)絡(luò)的識(shí)別速度較快,但是其識(shí)別準(zhǔn)確率要比SVM低。而SVM的準(zhǔn)確率較高,并且它非常適用于小樣本的學(xué)習(xí)問題,具有較強(qiáng)的泛化能力。故本文選用SVM方法來識(shí)別車牌字符。
支持向量機(jī)是Corinna Cortes和Vapnik等于1995年首先提出的,它在解決小樣本、非線性及高維模式識(shí)別中表現(xiàn)出許多特有的優(yōu)勢,并能夠推廣應(yīng)用到函數(shù)擬合等其他機(jī)器學(xué)習(xí)問題中。SVM分類器能夠同時(shí)最小化經(jīng)驗(yàn)誤差與最大化幾何邊緣區(qū),具有良好的推廣能力。
其構(gòu)建思想描述如下[7]:
(1) 將輸入向量從低維特征空間向高維特征空間的轉(zhuǎn)換,其中高維空間對(duì)輸入和輸出都是透明的。
(2) 針對(duì)轉(zhuǎn)換之后的高維特征空間構(gòu)建一個(gè)最優(yōu)分類超平面用于分離在第一步中發(fā)現(xiàn)的特征。
首先對(duì)分割出的字符進(jìn)行預(yù)處理,提取出包含字符的最小矩形區(qū)域,將其歸一化成32×16大小圖片。接著對(duì)圖片特征提取,選用的特征有網(wǎng)格特征、筆畫特征、筆畫密度共72維特征。
本文使用線性SVM訓(xùn)練分類器,它的計(jì)算速度快且能夠保持較高的分類準(zhǔn)確率,解決了由特征數(shù)量多而引起的訓(xùn)練時(shí)間長的問題,提高樣本訓(xùn)練的速度。由于車牌字符排列結(jié)構(gòu),我們可分別對(duì)漢字以及字母和數(shù)字進(jìn)行訓(xùn)練,其中,若有k種樣本,每次取兩種類別的樣本作為正、負(fù)樣本來訓(xùn)練,會(huì)得到(k–1)×k/2個(gè)分類器。進(jìn)行分類時(shí),對(duì)每種類別設(shè)定一個(gè)計(jì)數(shù)器初始化為0,在分類器輸出的類別對(duì)應(yīng)的計(jì)數(shù)器加1,最后找出k個(gè)計(jì)數(shù)器中的最大值,其對(duì)應(yīng)的類別即為最終分類結(jié)果。
本文提出了一種HSV空間下兩次顏色標(biāo)定和紋理相結(jié)合的定位算法和基于改進(jìn)的模板匹配的車牌分割方法。對(duì)200張不同遠(yuǎn)近、不同復(fù)雜背景的車牌照片進(jìn)行定位,成功率達(dá)到98%以上,實(shí)驗(yàn)結(jié)果表明,該方法充分利用了車牌固定顏色搭配的特性,對(duì)車牌的大小、圖像背景的限制較少,但該算法在不常見的車牌顏色判定上,還需做進(jìn)一步的改進(jìn)。對(duì)100張單行、50張雙行車牌照片進(jìn)行分割,均可以很好地分割出來,正確率達(dá)到95%。經(jīng)以上方法改進(jìn)的車牌識(shí)別正確率可達(dá)90%以上,但本文的工作尚有不足,比如對(duì)于比較模糊的車牌以及光線條件過差的照片識(shí)別效果不好。
[1]Gao Qian, Wang Xinnian, Gongfu Xie.License Plate Recognition Based On Prior Knowledge [J].Proceedings of the IEEE International Conference on Automation and Logistics, 2007, 9: 2964-2968.
[2]申繼龍.車牌定位和傾斜校正的關(guān)鍵技術(shù)研究[D].南京: 南京郵電大學(xué), 2013.
[3]遲曉君, 孟慶春.基于投影特征值的車牌字符分割算法[J].計(jì)算機(jī)應(yīng)用研究, 2006, 23(7): 256-257.
[4]黃志斌, 陳鍛生.支持向量機(jī)在車牌字符識(shí)別中的應(yīng)用[J].計(jì)算機(jī)工程, 2003, 29(5): 192-194.
[5]王夏黎, 周明全, 耿國華.一種基于HSV顏色空間的車輛牌照提取方法[J].計(jì)算機(jī)工程,2004, 30(17): 133-135.
[6]GA36-2007, 中華人民共和國機(jī)動(dòng)車號(hào)牌[S].北京:中華人民共和國公安部, 2007.
[7]Sanchez V D.Advanced support vector machines and kernel methods [J].Neurocomputing, 2003, 55: 5-20.