王唯一,祝振中
(上海大學(xué) 機(jī)電工程與自動(dòng)化學(xué)院,上海 200072)
基于智能手持設(shè)備的車牌識(shí)別系統(tǒng)研究
王唯一,祝振中
(上海大學(xué) 機(jī)電工程與自動(dòng)化學(xué)院,上海 200072)
以交警能更加快捷方便地稽查運(yùn)營(yíng)車輛為目的,借助最新的移動(dòng)互聯(lián)網(wǎng)技術(shù),分析并研究了多種計(jì)算機(jī)視覺算法;提出了一種基于K均值聚類(K-means)的車牌定位技術(shù),通過顏色的聚類分析來確定車牌區(qū)域,定位車牌;又應(yīng)用垂直投影技術(shù)和模板匹配法來分割和識(shí)別車牌字符,利用SQlite開發(fā)了具有存儲(chǔ)車牌字符信息功能的數(shù)據(jù)庫(kù);在此基礎(chǔ)上,研制了一套基于智能手持設(shè)備的車牌識(shí)別系統(tǒng);功能測(cè)試表明,該系統(tǒng)具有良好的性能,能夠較好地識(shí)別出車牌信息。
車牌識(shí)別;K均值;垂直投影;模板匹配
隨著社會(huì)經(jīng)濟(jì)水平的快速提升,汽車逐漸進(jìn)入尋常百姓家,交通管理變得越來越困難。圖像處理技術(shù)、模式識(shí)別技術(shù)和通信技術(shù)的發(fā)展,推動(dòng)了基于智能手持設(shè)備的車牌識(shí)別系統(tǒng)在交通管理中的應(yīng)用。相對(duì)于PC端的車牌識(shí)別系統(tǒng),手持設(shè)備可以不受地理位置的約束限制,能更加快捷地識(shí)別車牌信息,這對(duì)智能交通系統(tǒng)的推廣有重要意義。
車牌識(shí)別技術(shù)是當(dāng)今智能交通管理系統(tǒng)的核心。基于智能手持設(shè)備的車牌識(shí)別系統(tǒng),綜合利用了移動(dòng)端的圖像處理技術(shù)與模式識(shí)別技術(shù)[1]。如圖1所示,本文研制的車牌識(shí)別系統(tǒng)主要有五大部分組成。
1)圖像采集:
通過智能手持設(shè)備的攝像頭,對(duì)車輛進(jìn)行拍照,保存照片至指定文件夾。
2)車牌定位:
借助自行設(shè)計(jì)的算法,在待識(shí)別的一張車輛圖片中找尋車牌區(qū)域,使該車牌區(qū)域與背景區(qū)域分離出來,單獨(dú)顯示。
3)字符分割:
在已經(jīng)提取出的車牌區(qū)域中,對(duì)其中的每個(gè)字符進(jìn)行切分、顯示。
4)字符識(shí)別:
對(duì)分割出的字符圖片進(jìn)行歸一化處理,然后與訓(xùn)練好的模板字符進(jìn)行匹配識(shí)別,使識(shí)別出的7個(gè)字符顯示在文本框中。
5)信息存儲(chǔ):
把文本框中的車牌字符存儲(chǔ)至本地?cái)?shù)據(jù)庫(kù),以便對(duì)已存儲(chǔ)的信息進(jìn)行查找、刪除、更新等操作。
圖1 移動(dòng)式車牌識(shí)別系統(tǒng)架構(gòu)圖
車牌定位、字符分割、字符識(shí)別是車牌識(shí)別系統(tǒng)的三大功能[2]。其中,最核心的環(huán)節(jié)是車牌定位,定位的準(zhǔn)確與否,將影響后續(xù)各個(gè)功能模塊的實(shí)現(xiàn)。目前車牌定位技術(shù)大致分為兩類,即基于灰度圖像的車牌定位技術(shù)和基于彩色圖像的車牌定位技術(shù)[3]。灰度圖像定位技術(shù)的優(yōu)點(diǎn)是處理速度快,但它受到光線影響較大。而彩色圖像定位技術(shù)保存了較多的顏色信息,受光照影響較小,但處理速度較慢。本文提出了一種基于彩色圖像的K-means改進(jìn)方法,用于車牌定位。該方法綜合利用顏色像素信息,對(duì)車輛圖片進(jìn)行聚類處理,形成顏色聚類模塊區(qū)。又利用像素點(diǎn)的掃描統(tǒng)計(jì)及車牌的長(zhǎng)寬比,分割出車牌區(qū)域。再對(duì)分割出的車牌進(jìn)行二值化處理,去除多余的邊框和空白,得到完整的車牌區(qū)域。
2.1 顏色空間模型的轉(zhuǎn)換
基色顏色空間和色亮分離的顏色空間是顏色空間的兩大基本類型。常用的RGB(R:紅色,G:綠色,B:藍(lán)色)色彩模型就是屬于前者;而HLS(Hue:色度,Lightness:亮度,Saturation:飽和度)顏色空間屬于后者。HLS將顏色分成一個(gè)代表亮的屬性和兩個(gè)代表色的屬性[4]。在復(fù)雜環(huán)境中,HLS顏色空間比RGB顏色空間,更易進(jìn)行顏色的提取,方便后續(xù)的分析處理。因此,本文的定位算法采用HLS顏色空間。
利用已知的RGB值,通過如下公式,可以轉(zhuǎn)換成HLS顏色空間,其中θ為色相角。
(1)
(2)
(3)
2.2 K-means顏色聚類分析
K-means聚類是一種迭代式的無(wú)監(jiān)督學(xué)習(xí)算法[5]。該算法的基本思想是,將各個(gè)聚類子集內(nèi)的所有數(shù)據(jù)樣本的均值作為該聚類的代表點(diǎn),以空間中K個(gè)點(diǎn)為中心進(jìn)行聚類,對(duì)最靠近它們的對(duì)象進(jìn)行歸類。通過迭代過程把數(shù)據(jù)集劃分為不同的類別,使最終評(píng)價(jià)準(zhǔn)則函數(shù)達(dá)到最優(yōu)。每個(gè)聚類類內(nèi)緊湊,類間獨(dú)立。
車輛圖片有豐富的的顏色信息,車牌區(qū)域的顏色是研究的關(guān)鍵,它的特點(diǎn)是底色區(qū)為藍(lán)色或黃色區(qū),其他顏色的區(qū)域?qū)俑蓴_區(qū)域。如圖2所示,本文用改進(jìn)的K-means方法,通過計(jì)算像素值與聚類中心的相異度,把相應(yīng)的像素點(diǎn)歸為對(duì)應(yīng)的顏色類別,將車牌圖像中的像素點(diǎn)分成黑、白、黃和藍(lán)4種顏色群,就能快速處理車牌底色區(qū)域,利用數(shù)字圖像處理中的開閉運(yùn)算等技術(shù)找出具有車牌特征的區(qū)域,從而實(shí)現(xiàn)車牌定位的目標(biāo)。
圖2 顏色聚類過程圖
K-means算法步驟:
1) 確定中心向量c1,c2,…,ck并初始化;
2) 分組,將樣本分配至最近的中心向量(按照最小距離分配原則),由樣本構(gòu)造不相交的聚類;
3) 計(jì)算每個(gè)聚類簇的平均值,并用該平均值代替相應(yīng)簇中心值;
4) 將所有簇的元素重新按照各自新的中心進(jìn)行聚類;
5) 重復(fù)步驟3)、4),直至聚類結(jié)果不再變化。
結(jié)合上述算法步驟,再根據(jù)實(shí)際情況,可以得出定位的聚類算法。具體過程是:先對(duì)車牌候選區(qū)域彩色圖像進(jìn)行分析,確定K初始聚類中心點(diǎn);再根據(jù)圖像的像素點(diǎn)與這些聚類中心的相異度,將它們分配給與其最相似的聚類,并設(shè)置相應(yīng)的像素點(diǎn)為標(biāo)準(zhǔn)的RGB像素值;經(jīng)過此次聚類迭代,車輛圖片被劃分成黃藍(lán)白黑的顏色區(qū),各個(gè)顏色區(qū)中像素與聚類中心像素相異度已達(dá)到最小值,結(jié)束迭代。
聚類前后的圖像分別如圖3,圖4所示。
圖3 車輛原圖 圖4 車輛K均值顏色聚類效果圖
在聚類后的圖片中,不同區(qū)域彼此通過顏色區(qū)分開來,雖然聚類算法是基于圖像的顏色特征,但并不判別車牌自身的顏色,而是根據(jù)車牌區(qū)域與背景區(qū)域具有不同顏色的特性,將具有同一顏色特征的區(qū)域聚為一類,進(jìn)而實(shí)現(xiàn)車牌與周圍背景區(qū)域的分離[6]。
2.3 車牌區(qū)域的提取與處理
通過聚類處理后,可以清楚看到藍(lán)、黃、白、黑4種底色區(qū)域。在這4種顏色群中,車牌區(qū)域有一定的特征,它由7個(gè)字符組成,每個(gè)字符高度與寬度的比值相等。雖然字符區(qū)域面積、寬高比等幾何特征易受圖像尺寸大小及圖像分辨率高低的影響,但是車牌區(qū)域?qū)捀弑取⒆址g距等仍在一定的范圍內(nèi)。為了搜尋出車牌大致區(qū)域,可以利用下述規(guī)則的部分組合:
1)大小規(guī)則,去除寬度、高度不在合理范圍內(nèi)的區(qū)域。
2)形狀規(guī)則,去除長(zhǎng)寬比不滿足設(shè)定條件的區(qū)域。
3)邊緣規(guī)則,去除檢測(cè)不到近水平直線的區(qū)域。
4)顏色規(guī)則,去除不屬于車牌顏色類別的區(qū)域。
5)色交換規(guī)則,計(jì)算水平掃描線上背景和字符的色交換次數(shù),去除色交換次數(shù)較少的區(qū)域[7]。
利用規(guī)則2)、4),篩選出最符合的車牌區(qū)域,從而與周圍背景分離出來,并單獨(dú)顯示。為了獲得更好的顯示效果,對(duì)車牌進(jìn)行二值化處理。處理后的效果如圖5所示。
圖5 二值化效果圖
經(jīng)過定位處理后的車牌,包含了邊界的邊框,為了使后續(xù)字符分割環(huán)節(jié)的順利實(shí)現(xiàn),避免干擾,需要去除車牌區(qū)域的邊框。
根據(jù)邊框的特點(diǎn),并且考慮字符的不連續(xù)性,設(shè)計(jì)以下算法:
先獲取圖像中所有點(diǎn)的像素值,再計(jì)算每一行白色點(diǎn)和黑色點(diǎn)的個(gè)數(shù),如果黑色點(diǎn)與白色點(diǎn)的個(gè)數(shù)之比大于自行設(shè)定的閾值Tn,則將該行像素點(diǎn)上下相鄰的4個(gè)像素點(diǎn)置為白色,這樣就可以去除邊框[8]。假設(shè)g(x,y)為圖像中某一行的像素值,分別統(tǒng)計(jì)該行白色像素點(diǎn)與黑色像素點(diǎn)的個(gè)數(shù),則邊框去除效果可用下列公式表示:
g(x+4,y)=R(white)
(4)
其中,g(x-i,y),i=-4,-3,-2,…,4為g(x,y)相鄰4行的像素值,R(white)是白色像素值。
行像素處理流程圖如圖6所示。
圖6 行像素處理流程圖
對(duì)于垂直方向的邊框,采用與去除水平邊框一致的方法。不同之處是,此時(shí)是掃描列方向的像素點(diǎn),統(tǒng)計(jì)列方向的黑白像素比例,處理的流程圖如圖7所示。
圖7 列像素處理流程圖
去除邊框后的車牌區(qū)域,留有較多的上下空白區(qū)域,為了使車牌區(qū)域字符能更加緊湊地顯示,方便后續(xù)垂直投影字符分割功能的開展,本文設(shè)計(jì)一種去除多余空白區(qū)域的方法。
車牌字符的特點(diǎn)是,每個(gè)字符的高度都相等,每個(gè)字符的像素至車牌底邊有一定的距離。字符最下方的像素與底邊的距離是一樣的,記為k1。字符最上方的像素與底邊的距離也是一樣的,記為k2。保留距離至底邊在[k1,k2]范圍內(nèi)的所有像素點(diǎn),不在這個(gè)范圍內(nèi)的像素點(diǎn)則去除,就可以把多余的空白區(qū)剔除。
車牌定位完成后,就可以進(jìn)行車牌字符分割和識(shí)別。根據(jù)我國(guó)車輛牌照特點(diǎn),本文采用垂直投影特征法,對(duì)車牌字符進(jìn)行分割。并在此基礎(chǔ)上,提取待識(shí)別字符的特征向量,利用模板匹配算法與標(biāo)準(zhǔn)字符庫(kù)中每個(gè)字符進(jìn)行特征比對(duì),把相似度最高的模板字符作為識(shí)別出的車牌字符進(jìn)行顯示。車牌字符分割和識(shí)別的流程圖如圖8所示。
圖8 車牌字符分割和識(shí)別流程圖
3.1 車牌字符分割的設(shè)計(jì)與實(shí)現(xiàn)
精確定位之后的車牌還是一個(gè)整體,需要把每個(gè)文字從牌照?qǐng)D像上分離出來,這就是字符分割。車牌字符分割是字符識(shí)別的基礎(chǔ)環(huán)節(jié),分割的效果會(huì)直接關(guān)系到后續(xù)字符識(shí)別的準(zhǔn)確性。
車牌區(qū)域中總共有7個(gè)字符,第一個(gè)字符為漢字字符,第二個(gè)字符為大寫英文字符,后五位是英文與阿拉伯?dāng)?shù)字的字符組合。每個(gè)字符的間距都有一定的規(guī)律,且不同字符的高度寬度都相等。借助這一特性,可采用垂直投影法,對(duì)車牌字符進(jìn)行分割處理。垂直投影法的基本思想是把精確定位出來的車牌圖像經(jīng)過灰度化和二值化處理后,將二維二值圖像的像素分布簡(jiǎn)化為X軸和Y軸投影圖,通過投影圖,進(jìn)行字符的分割處理。
具體做法是,車牌二值化圖像像素通過投影之后,用“1”表示目標(biāo)像素點(diǎn),用“0”來表示背景像素點(diǎn)[9]。若某列中都是背景點(diǎn),則該列投影值為“0”,否則,該列的投影值為“1”的累加和。在投影圖上,可以清晰看到7個(gè)車牌字符的投影區(qū)域的投影圖像,呈現(xiàn)波峰波谷相接的規(guī)律。兩個(gè)波峰間會(huì)有一個(gè)波谷。根據(jù)這個(gè)特點(diǎn),就可以找到每個(gè)字符間的間隙,把7個(gè)字符塊彼此分離出來[10]。字符分割效果如圖9所示
圖9 字符分割效果圖
3.2 車牌字符識(shí)別的設(shè)計(jì)與實(shí)現(xiàn)
車牌字符識(shí)別是識(shí)別系統(tǒng)實(shí)現(xiàn)識(shí)別功能的關(guān)鍵。字符識(shí)別是對(duì)車牌上的漢字、字母和數(shù)字進(jìn)行辨識(shí)的過程。本文研究并采用基于模板匹配的字符識(shí)別方法,模板匹配算法是圖像處理中一種具有代表性的模式識(shí)別方法[11]。它的算法思想是,先提取被識(shí)別圖像的特征向量,和模板庫(kù)中所有字符的特征向量進(jìn)行比較,然后計(jì)算出兩者特征向量之間的距離——圖像重合相似度,最后根據(jù)相似度的大小來確定字符識(shí)別的最終結(jié)果。
設(shè)目標(biāo)圖像為f(i,j),檢測(cè)對(duì)象的模板圖像為g(i,j),其失配測(cè)度為mismatch。
(6)
因?yàn)椤苅,jf(i,j)2和∑i,jg(i,j)2是固定不變的,所以當(dāng)2∑i,jf(i,j)×g(i,j)越小時(shí),mismatch的值就越大,因此可以將∑i,jf(i,j)×g(i,j)作為匹配的測(cè)度。由柯西不等式可知:
(7)
(8)
由柯西不等式知0≤R(i,j)≤1,R(i,j)值越大,相似度越高。所以通過計(jì)算出目標(biāo)圖像和檢測(cè)對(duì)象的模板圖像的相似度R(i,j),取最大相似值R(i,j),從而獲得識(shí)別結(jié)果。
在進(jìn)行模板匹配識(shí)別之前,需對(duì)分割出的字符進(jìn)行歸一化處理,使其具有相同的大小,以利于模板匹配識(shí)別的進(jìn)行[13]。本文采用非線性歸一化方法。
非線性歸一化強(qiáng)調(diào)按照字符的特征分布來處理,根據(jù)水平和垂直方向的字符黑像素的分布進(jìn)行大小歸一化。非線性歸一化需要計(jì)算字符的質(zhì)心和水平、垂直方向的散度,然后按比例將字符放大或縮小成規(guī)定散度的點(diǎn)陣。
字符模板匹配算法要求建立標(biāo)準(zhǔn)的字符庫(kù)作為匹配的模板。根據(jù)中國(guó)車牌的特點(diǎn),本文設(shè)置了阿拉伯?dāng)?shù)字模板、英文字母模板和漢字模板。模板字符集中包含10個(gè)阿拉伯?dāng)?shù)字(0~9)、24個(gè)大寫英文字母(A~Z,除去I和O兩個(gè)字母)、31個(gè)省市簡(jiǎn)稱漢字(京、津、冀、晉、蒙、遼、吉、黑、滬、蘇、浙、皖、閩、贛、魯、豫、鄂、湘、粵、桂、瓊、渝、川、貴、云、藏、陜、甘、寧、青、新)。
為了提高系統(tǒng)運(yùn)行速度,減少模板匹配中的計(jì)算量,模板庫(kù)模板字符字跡要明顯的清晰,第一個(gè)字符進(jìn)行匹配識(shí)別時(shí),只需要使用漢字庫(kù)的模板,第二個(gè)字符進(jìn)行匹配識(shí)別時(shí),使用字母模板,后5個(gè)字符進(jìn)行匹配識(shí)別時(shí),采用字母與數(shù)字庫(kù)的混合模板。
設(shè)置好上述的模板匹配條件后,就可以將分割出的字符塊與標(biāo)準(zhǔn)字符模板進(jìn)行匹配,計(jì)算每個(gè)分割出的字符與標(biāo)準(zhǔn)模板字符的相似度,將相似度最大的模板字符作為識(shí)別出的字符進(jìn)行顯示。
SQLite數(shù)據(jù)庫(kù)是一款常用的關(guān)系型數(shù)據(jù)庫(kù),遵守關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng)準(zhǔn)則,目前廣泛地應(yīng)用于嵌入式產(chǎn)品的開發(fā)中。
在Android系統(tǒng)中,利用SQLite,開發(fā)適合車牌識(shí)別系統(tǒng)的數(shù)據(jù)庫(kù),存儲(chǔ)識(shí)別出的車牌號(hào)。本文采用SQLiteOpenHelper類創(chuàng)建數(shù)據(jù)庫(kù),通過調(diào)用SQLiteDatabase類的insert方法,將數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫(kù)中,使用delete方法刪除指定的數(shù)據(jù),采用update方法更新數(shù)據(jù)。處理的流程圖如圖10所示。
圖10 數(shù)據(jù)庫(kù)處理
設(shè)計(jì)的數(shù)據(jù)庫(kù)效果圖如圖11所示。它主要有插入,刪除,更新3個(gè)按鈕,點(diǎn)擊其中的按鈕,可以實(shí)現(xiàn)對(duì)應(yīng)的功能。
圖11 數(shù)據(jù)庫(kù)效果圖
本文所研究的車牌識(shí)別系統(tǒng),采用Android軟件開發(fā)平臺(tái),利用Eclipse集成開發(fā)工具,對(duì)系統(tǒng)各個(gè)功能模塊進(jìn)行了測(cè)試,調(diào)優(yōu),并在手機(jī)中順利運(yùn)行了該識(shí)別系統(tǒng)。該系統(tǒng)能對(duì)采集到的車輛圖片進(jìn)行車牌定位,車牌字符分割和識(shí)別,存儲(chǔ)識(shí)別出的車牌字符信息。在一般情況下,能夠識(shí)別被測(cè)試的車輛牌照,識(shí)別率達(dá)到90%。以移動(dòng)端的應(yīng)用平臺(tái)為契機(jī),可以推廣該識(shí)別系統(tǒng)至電子警察平臺(tái)。
[1] Hao S,Chao L,Qi W.Real-time anti-Interference location of vehicle license plate using high-definition video[J].IEEE Intelligent Transportation System,2009,12:17-22.
[2] Paolo C,Paolo F.Optical recognition of motor vehicle license plates[J]. IEEE Transaction on Vehicle Technology,1995,4:28-30.
[3] 龐茂群,鄧開發(fā).一種基于灰度圖像的車牌定位方法[J].計(jì)算機(jī)工程與科學(xué), 2009,31(10): 39-41.
[4] Shun Hungtsai,Yu Hsiangtseng.A novel color detection method based on HSL color space for robotic soccer competition[J]. Computer and Mathematics with Applications,2012(64):1291-1300.
[5] 汪 中,劉貴權(quán),陳恩紅.一種優(yōu)化初始中心點(diǎn)的K-means算法[J].模式識(shí)別與人工智能,2009,22(2):299-304.
[6] 史琳琳.車牌識(shí)別中車牌定位技術(shù)的研究[D].上海:東華大學(xué),2012.
[7] 陳寅鵬,丁曉青.復(fù)雜車輛圖像中的車牌定位與字符分割方法[J].紅外與激光,2004,33(1): 29-33.
[8] 馬文驥.基于Android平臺(tái)的字符識(shí)別預(yù)處理算法設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012.
[9] Rahman T,Kuri S,Habit M.An effective technique to recognize vehicle license plate using mathematical morphology[J].Global Journal of Computer Science and Technology.2015,15(4):17-21.
[10] Soora N,Deshpande P.Robust feature technique for license plate characters recognition[J].IETE Journal of Research. 2015,61(1):72-79.
[11] Ryan Michael,Hanafiah Novita.An examination of character recognition on ID card using template matching approach[J]. Procedia Computer Science,2015(59):520-529.
[12] Koji Yamaguchi,Yasushi Nagaya,Koji Ueda. A method for identifying specific vehicles using template matching[A]. Intelligent Transportation Systems,1999 International Conference on[C]. IEEE,1999:8-13.
[13] 李宇成,楊光明,王目樹.車牌提取與識(shí)別系統(tǒng)的研究與設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2011,19(1):158-163.
Research of Vehicle License Plate Recognition System Based on Smart Handheld Device
Wang Weiyi,Zhu Zhenzhong
(School of Mechatronic Engineering and Automation, Shanghai University, Shanghai 200072, China)
With the latest mobile Internet technology, in order to make it more convenient and easy for the traffic police to check the operation of the vehicles, a variety of computer vision algorithms are analyzed and studied. A license plate location technology based on K-means clustering is proposed. License plate area can be certain and located by color clustering analysis. Then, the license plate characters are segmented and recognized by the vertical projection technique and template matching method. The database which can store the character information of the license plate is developed by using SQlite. On this basis, a vehicle license plate recognition system based on smart hand-held device is developed. The system, which has good stability, can recognize the license plates through functional tests.
license plate recognition; K-means; vertical projection; template matching
2015-12-31;
2016-02-15。
王唯一(1961-),男,江蘇鎮(zhèn)江人,博士,副教授,主要從事圖像分析與處理、模式識(shí)別、計(jì)算機(jī)控制技術(shù)方向的研究。
祝振中(1990-),男,浙江衢州人,碩士研究生,主要從事圖像分析與處理、計(jì)算機(jī)軟件技術(shù)方向的研究。
1671-4598(2016)07-0200-05
10.16526/j.cnki.11-4762/tp.2016.07.054
TP319 文獻(xiàn)標(biāo)識(shí)碼:A