車輛牌照識(shí)別系統(tǒng)的研究
摘要:在對(duì)車輛牌照識(shí)別系統(tǒng)研究的基礎(chǔ)上,采用基于灰度二值化的連通域搜索的車牌照粗分類算法,彩色模型的車牌照字符切分算法和加權(quán)組合特征的字符識(shí)別算法,通過實(shí)驗(yàn),設(shè)計(jì)出一個(gè)有效的車牌照識(shí)別系統(tǒng)。
關(guān)鍵詞:粗分類算法;字符切分;字符識(shí)別
0 引言
車牌照系統(tǒng)主要分為圖像采集,圖像處理,車牌定位,字符切分,字符識(shí)別幾個(gè)部分。
圖像采集:目前圖像采集主要采用專用攝像機(jī)連接圖像采集卡或者直接連接便攜式筆記本進(jìn)行實(shí)時(shí)圖像采集,將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。
圖像處理:需對(duì)采集的圖像進(jìn)行增強(qiáng)、恢復(fù)、變換等處理,目的是突出車牌的主要特征,以便更好地提取車牌區(qū)域。
車牌定位:從人眼視覺的角度出發(fā),并根據(jù)車牌的字符目標(biāo)區(qū)域的特點(diǎn),在二值化圖像的基礎(chǔ)上提取相應(yīng)的特征。車輛牌照的分割是一個(gè)尋找最符合牌照特征區(qū)域的過程。從本質(zhì)上說,就是一個(gè)在參量空間尋找最優(yōu)定位參量的問題,需要用最優(yōu)化方法予以實(shí)現(xiàn)。
字符分割:是從獲得的牌照區(qū)域分割出單個(gè)字符(包括漢字、字母和數(shù)字)以便于進(jìn)行字符識(shí)別的過程。考慮到車牌上的字符一般除了一個(gè)漢字外其他的都是字母和數(shù)字,即在理想狀態(tài)下每個(gè)字符是全連通的且互不相連,因此可以使用特定的方法進(jìn)行字符切分。
字符識(shí)別:是使分割得到的字符進(jìn)一步轉(zhuǎn)化為文本并存入數(shù)據(jù)庫(kù)或者直接顯示出來的過程。
1 圖像的預(yù)處理
所采用的圖像預(yù)處理方法是把經(jīng)過采集得到的彩色圖像經(jīng)過彩色-灰度變換,灰度拉伸處理,得到車牌區(qū)域突出顯示的256級(jí)灰度圖像。
1.1 RGB顏色模型
RGB顏色模型通常用于彩色陰極射線管等彩色光柵圖形顯示設(shè)備中,它是我們使用最多、最熟悉的顏色模型。它采用三維直角坐標(biāo)系,紅、綠、藍(lán)為三原色,各個(gè)原色混合在一起可以產(chǎn)生復(fù)合色。
RGB顏色模型通常采用圖2所示的單位立方體來表示,在正方體的主對(duì)角線上,各原色的強(qiáng)度相等,產(chǎn)生由暗到明的白色,也就是不同的灰度值。(0,0,0)為黑色,(1,1,1)為白色。正方體的其它六個(gè)角點(diǎn)分別為紅、黃、綠、青、藍(lán)和品紅,需要注意的一點(diǎn)是,RGB顏色模型所覆蓋的顏色域取決于顯示設(shè)備熒光點(diǎn)的顏色特性,是與硬件相關(guān)的。
1.2 彩色圖像轉(zhuǎn)換成灰度圖像
把彩色圖像轉(zhuǎn)換成灰度圖像進(jìn)行進(jìn)一步的處理。利用公式將彩色圖像轉(zhuǎn)換成灰度圖像:p=0.114*R+0.587*G+0.299*B,其中P代表圖像中某點(diǎn)的灰度值,R,G,B分別代表彩色圖中對(duì)應(yīng)點(diǎn)的RGB模型中的R,G,B分量的值。圖3就是彩色圖像轉(zhuǎn)換成灰度圖像的效果圖。
1.3 灰度圖像的增強(qiáng)
灰度拉伸的主要方法就是對(duì)圖像在某一灰度變換區(qū)間內(nèi)的象素點(diǎn)的灰度值進(jìn)行線性變換,以達(dá)到突出某一灰度區(qū)間圖像,增強(qiáng)對(duì)比度的目的。一般的灰度變化方程為:D=AX+B,其中D為灰度變換后灰度矩陣,X為變換前灰度矩陣,A,B為變換方程系數(shù)。
灰度拉伸是指根據(jù)灰度值方圖的分布有選擇地拉伸某段灰度區(qū)間以改善輸出圖像。如果一幅圖像灰度集中在較暗的區(qū)域而導(dǎo)致圖像偏暗,可以用灰度拉伸功能(斜率A>I)來拉伸物體灰度區(qū)間以改善圖像;同樣如果圖像灰度集中在較亮的區(qū)域而導(dǎo)致圖像偏亮,也可以用灰度拉伸功能(斜率A<I)來壓縮物體灰度區(qū)間。
1.4 基于灰度圖像的二值化
二值化圖像算法又稱為閾值算法,其目的就是要找出一個(gè)合適的閾值,將待研究的區(qū)域劃分為前景和背景兩部分。對(duì)于灰度圖像的二值化實(shí)際上就是確定一個(gè)最佳的分割閾值。
算法的描述如下:
輸入:灰度圖像
輸出:閾值k
算法:
(1)求圖像中最大的灰度max;
(2)令k=0;
(3)分別求出大于和小于k的這兩類像素總數(shù)和像素的灰度平均值;
(4)計(jì)算類間方差和類內(nèi)方差;
(5)k=k+1,循環(huán)(3)~(5)步,直到k>max;
(6)找出最大的值,得到相應(yīng)的閾值k;
采用本算法可以根據(jù)全局灰度圖像進(jìn)行動(dòng)態(tài)的二值化,二值化后的圖像如圖5所示,車牌照區(qū)域被很好地突出出來,其他干擾信息被很好地抑制。
2 車牌區(qū)域的粗定位
一幅圖像由若干個(gè)連通域組成,所謂連通域就是由相鄰的點(diǎn)所構(gòu)成的區(qū)域。點(diǎn)S在圖像中8連通的相鄰點(diǎn)定義為點(diǎn)1,2,3,4,5,6,7,8;4連通的相鄰點(diǎn)則定義為點(diǎn)2,4,6,8(見圖6)。8連通相對(duì)于4連通更好地體現(xiàn)了相鄰性,因此本文采用計(jì)算圖像的8連通域。
本文采用深度優(yōu)先搜索每一個(gè)點(diǎn)的相鄰點(diǎn)的方法來計(jì)算整個(gè)圖像的連通區(qū)域,具體算法如下:
輸入:二值圖像矩陣
輸出:連通區(qū)域矩陣(每一個(gè)黑像素都標(biāo)記所在連通區(qū)域的標(biāo)號(hào))
算法:
(1)讀入二值圖像矩陣,令連通區(qū)號(hào)k=0;
(2)掃描一個(gè)標(biāo)記為未讀的像素點(diǎn);
(3)依次掃描該點(diǎn)相鄰的八個(gè)點(diǎn),比較其值,如果相等就進(jìn)棧,并令其標(biāo)記為k;
(4)彈出棧頂?shù)谝粋€(gè)像素,回到第(3)步,直到???;
(5)選取下一個(gè)標(biāo)記為未讀的像素點(diǎn),k++;
(6)轉(zhuǎn)第(2)步,直到所有像素點(diǎn)均掃描過。
車輛牌照?qǐng)D像是由若干個(gè)大小相近的字符構(gòu)成,而車牌照區(qū)域的連通域是由若干個(gè)字符或者字符的一部分的連通區(qū)域及車牌照邊框的連通域和車牌照背景的連通域幾部分構(gòu)成的。在正常的情況下,基本上每一個(gè)字符都會(huì)形成一個(gè)大小基本相近的連通區(qū)域的外接矩形,如圖7所示。
2.1 車輛牌照區(qū)域的特征提取
得到了若干個(gè)車輛牌照的候選區(qū)域之后,需要對(duì)這些候選區(qū)域進(jìn)行特征提取來進(jìn)行分類識(shí)別是否為車牌照。由于這些區(qū)域的大小不一致,首先要把這些大小不同的圖像進(jìn)行歸一化,歸一化到相同大小的圖像上,然后提取這些圖像的水平穿越特征和垂直投影特征,由于特征的維數(shù)比較高,增加了計(jì)算負(fù)擔(dān)和存儲(chǔ)的容量,還要采用K—L變換壓縮特征的維數(shù)。
為了進(jìn)一步判斷車牌區(qū)域,確定車牌照的精確位置,需要對(duì)車牌照候選區(qū)域提取特征。常見的車牌照特征有紋理特征,水平穿越特征,垂直投影特征,本文采用提取候選區(qū)域的水平穿越和垂直投影兩種特征進(jìn)行識(shí)別。
3 面向車輛牌照的字符切分
算法首先將圖像二值化,計(jì)算水平方向和垂直方向上的像素投影,利用投影法確定車牌字符最上和最下點(diǎn)坐標(biāo)以及最左和最右字符的位置,估算出整個(gè)車牌的高度和寬度,從而得到單個(gè)字符的高度和寬度,然后計(jì)算車牌區(qū)域的連通域,將最左和最右字符位置之間的連通域提取出來,最后根據(jù)估算的字符大小把較大的連通域再進(jìn)行分割就得到了最后的切分結(jié)果。具體算法如下:
輸入:圖像二值化矩陣;
輸出:字符切分矩形位置坐標(biāo)。
算法:
(1)計(jì)算每一行的所有象素點(diǎn)值為0的個(gè)數(shù),即水平投影;
(2)從上至下尋找水平投影的第一個(gè)局部最小點(diǎn)作為圖像的上界;
(3)從下至上尋找水平投影的第一個(gè)局部最小點(diǎn)作為圖像的下界;
(4)計(jì)算每一列在上下界之間所有象素點(diǎn)值為0的個(gè)數(shù),即垂直投影;
(5)從左至右尋找第一個(gè)局部最小點(diǎn)作為切分圖像的左邊界;
(6)從右至左尋找第一個(gè)局部最小點(diǎn)作為切分圖像的右邊界;
整個(gè)切分區(qū)域?qū)挾葁idth=右邊界橫坐標(biāo),左邊界橫坐標(biāo);
整個(gè)切分區(qū)域高度Height=上界坐標(biāo),下界坐標(biāo);
單個(gè)字符寬度w=切分區(qū)域?qū)挾龋?;
(7)計(jì)算上下邊界和左右邊界之間的8連通域;
(8)判斷每一個(gè)連通域的寬度是否大于1.2*w;
否:轉(zhuǎn)到(10);
是:轉(zhuǎn)到(9);
(9)計(jì)算每—個(gè)連通域?qū)挾却笥?.2*w的連通域的垂直投影的最小值點(diǎn),用最小值點(diǎn)將連通域分成兩部分;轉(zhuǎn)到(8);
(10)輸出所有的切分區(qū)域坐標(biāo);
(11)算法結(jié)束。
圖9就是車牌切分的結(jié)果。
4 車牌照宇符識(shí)別
字符識(shí)別是車牌照識(shí)別系統(tǒng)的最后一個(gè)組成部分,這一部分需要對(duì)圖像采集、圖像處理、車牌照定位、字符切分所得到的結(jié)果進(jìn)行識(shí)別處理,最終得到車輛牌照的字符。車輛牌照的字符識(shí)別方法與普通OCR字符識(shí)別有很多相似之處,通常是直接利用或者借鑒OCR字符識(shí)別的方法,并且能取得很好的識(shí)別效果。
車輛牌照字符識(shí)別屬于模式識(shí)別領(lǐng)域的一個(gè)分支,采用的是模式識(shí)別的經(jīng)典理論和方法。通常的模式識(shí)別過程可以概述為:從測(cè)量空間映射到特征空間,再映射到模式空間。對(duì)于一般的字符識(shí)別過程來說,識(shí)別過程為:從輸入的待識(shí)別字符(樣本)點(diǎn)陣圖形提取描述該字符的特征,再根據(jù)一定準(zhǔn)則來判定該樣本所屬的模式類別。因此字符描述,特征提取與選擇,分類判決,是字符識(shí)別的三個(gè)基本環(huán)節(jié)。
5 總結(jié)
車輛牌照識(shí)別系統(tǒng)是智能交通管理系統(tǒng)中一項(xiàng)重要的技術(shù),對(duì)車輛的自動(dòng)化管理起到了關(guān)鍵的作用?;谛旭傊械能囕v牌照識(shí)別系統(tǒng)由于其適應(yīng)性強(qiáng),自動(dòng)化程度高,將得到更加廣泛的應(yīng)用而成為智能化交通管理系統(tǒng)的重要環(huán)節(jié)。