張 濤,王劍魁,張國(guó)山,劉 麗
(天津大學(xué) 電氣與自動(dòng)化工程學(xué)院,天津 300072)
為了解決交通運(yùn)輸行業(yè)面臨的各種問(wèn)題,美國(guó)智能交通學(xué)會(huì)在1990年提出ITS的概念。從上世紀(jì)90年代開始,我國(guó)已經(jīng)有學(xué)者開始關(guān)注ITS,ITS的發(fā)展對(duì)緩解交通堵塞、保暢安全出行及綠色出行都做出了重要的貢獻(xiàn)[1-2]。
汽車牌照號(hào)碼是確定汽車身份的唯一標(biāo)識(shí),解決交通管理中存在的一系列問(wèn)題都需要以獲得汽車牌照為前提,如何快速、準(zhǔn)確地識(shí)別汽車牌照號(hào)碼是ITS研究的熱點(diǎn)問(wèn)題。我國(guó)的汽車車牌含有漢字,且不同汽車的車牌尺寸、顏色均不相同,這些特征給我國(guó)的汽車車牌識(shí)別造成了很大困難,國(guó)外相對(duì)成熟的技術(shù)無(wú)法完全引用到國(guó)內(nèi)使用。目前,我國(guó)雖然擁有相對(duì)較成熟的車牌識(shí)別產(chǎn)品,但往往產(chǎn)品成本較高,且產(chǎn)品體積較大無(wú)法快速安裝和移動(dòng)[3-4]。嵌入式系統(tǒng)具有可靠性高、成本低、體積小、功耗小、軟硬件功能可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),因此研究基于ARM的嵌入式車牌識(shí)別系統(tǒng)具有很好的推廣價(jià)值和現(xiàn)實(shí)意義。
本文設(shè)計(jì)了一種基于ARM的嵌入式車牌識(shí)別系統(tǒng),該系統(tǒng)以嵌入式Linux為操作系統(tǒng),通過(guò)攝像頭采集車牌圖像信息,并借助于OpenCV圖形處理函數(shù)庫(kù)進(jìn)行圖像識(shí)別。針對(duì)嵌入式平臺(tái),本文對(duì)現(xiàn)有車牌識(shí)別算法車牌定位環(huán)節(jié)進(jìn)行了優(yōu)化,提高了系統(tǒng)識(shí)別牌照號(hào)碼的準(zhǔn)確度。
本系統(tǒng)硬件部分主要包括圖像采集單元、ARM開發(fā)平臺(tái)、LCD顯示單元。圖像采集單元負(fù)責(zé)拍攝車牌圖像信息;ARM開發(fā)平臺(tái)為核心運(yùn)算單元,同時(shí)還提供RAM、NAND Flash等硬件資源以及串口、網(wǎng)絡(luò)等通信模塊;LCD單元負(fù)責(zé)顯示結(jié)果。本系統(tǒng)軟件部分主要包括嵌入式Linux操作系統(tǒng)和車牌識(shí)別應(yīng)用程序。操作系統(tǒng)是硬件和軟件之間的紐帶,提供了圖像采集單元和LCD顯示單元的接口供應(yīng)用程序訪問(wèn);應(yīng)用程序主要為車牌識(shí)別流程。
車牌識(shí)別算法主要由圖像預(yù)處理、車牌定位、字符分割和字符識(shí)別四部分構(gòu)成。圖像預(yù)處理環(huán)節(jié)對(duì)車牌圖像進(jìn)行灰度變換、濾波等操作,使原始車牌圖像更適合于后續(xù)識(shí)別;車牌定位可以定位出圖像中車牌的位置,或者定位出幾個(gè)可能的位置,同時(shí)車牌定位應(yīng)包括判定車牌的格式、進(jìn)行傾斜校正等工作;字符分割的作用是將定位后的車牌區(qū)域的字符一一分割出來(lái);字符識(shí)別是車牌識(shí)別算法的最后一個(gè)部分,字符識(shí)別任務(wù)是將切分出的字符識(shí)別出來(lái)。
本系統(tǒng)采用三星公司的S5PV210芯片作為處理器,該處理器為ARM Cortex-A8內(nèi)核,ARM V7指令集,運(yùn)行頻率為1GHz,內(nèi)置PowerVR SGX540圖形引擎,具有非常好的圖形運(yùn)算性能。處理器外圍電路包括電源模塊、時(shí)鐘模塊、SDRAM存儲(chǔ)器、NAND Flash存儲(chǔ)器、串行通信接口、網(wǎng)絡(luò)接口、圖像采集模塊、LCD顯示模塊等。系統(tǒng)整體結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)硬件結(jié)構(gòu)圖Fig.1 Structure diagram of the hardware system
本系統(tǒng)采用的是512 MB容量的NAND Flash存儲(chǔ)器,主要存放系統(tǒng)引導(dǎo)程序、操作系統(tǒng)以及應(yīng)用程序等。系統(tǒng)SDRAM存儲(chǔ)器大小為512 MB,主要用于存放操作系統(tǒng)和應(yīng)用程序執(zhí)行時(shí)的臨時(shí)數(shù)據(jù)。圖像采集模塊采用500萬(wàn)像素的USB攝像頭,顯示模塊采用分辨率為1024*600的10.1寸LCD顯示屏。開發(fā)人員可以通過(guò)串行通信模塊控制系統(tǒng)并獲得調(diào)試信息,網(wǎng)絡(luò)模塊為預(yù)留模塊,方便本系統(tǒng)進(jìn)行二次開發(fā)。
系統(tǒng)軟件流程分為采集車牌圖像、車牌圖像識(shí)別、結(jié)果顯示三個(gè)階段。其中車牌字符識(shí)別階段分為圖像預(yù)處理、車牌定位、字符分割和字符識(shí)別[5]。系統(tǒng)整體軟件流程如圖 2所示。

圖2 系統(tǒng)軟件流程圖Fig.2 Flow chart of the software design
本系統(tǒng)對(duì)現(xiàn)有車牌識(shí)別算法進(jìn)行了優(yōu)化,具體體現(xiàn)在以下兩方面:
文獻(xiàn)[6]提出先對(duì)車牌圖像進(jìn)行二值化處理再進(jìn)行車牌定位,本文提出在得到初步定位的結(jié)果后進(jìn)行二值化處理,該方法很大程度縮小了圖像二值化處理區(qū)域,二值化閾值的計(jì)算更加合理,可以大幅度提高車牌最終定位精確度,以及后續(xù)車牌識(shí)別結(jié)果的準(zhǔn)確度。
文獻(xiàn)[6-7]把車牌定位分為粗定位和精確定位兩步,該方法不能有效去除車牌的邊框區(qū)域,本文提出一種新的精確定位方法,實(shí)驗(yàn)結(jié)果證明本方法可有效解決該問(wèn)題。
1)彩色圖像灰度化
攝像頭拍攝的的車牌圖像是彩色圖像,直接處理彩色圖像會(huì)浪費(fèi)系統(tǒng)資源,降低系統(tǒng)的執(zhí)行速度。本文系統(tǒng)采用加權(quán)平均值法進(jìn)行車牌圖像灰度化,轉(zhuǎn)換公式見(jiàn)公式。

其中R、G、B三種顏色的權(quán)值根據(jù)人眼的敏感度以及理論和實(shí)踐經(jīng)驗(yàn)選取。原車牌圖像以及灰度化之后的車牌圖像分別如圖 3(a)和圖 3(b)所示。
2)圖像灰度變換
拍攝車牌照片時(shí),天氣,光照等差異會(huì)造成車牌圖像質(zhì)量降低,如對(duì)比度低,灰度分布不均勻等。灰度變換的可以把原灰度圖像的中間灰度部分進(jìn)行拉伸,使車牌字符和背景區(qū)分明顯。
車牌定位是車牌識(shí)別的關(guān)鍵環(huán)節(jié),準(zhǔn)確地進(jìn)行車牌定位是進(jìn)行車牌字符識(shí)別的前提條件。常見(jiàn)的車牌定位算法有基于邊緣檢測(cè)法、基于形態(tài)學(xué)法、基于分類器的方法、基于顏色空間法、基于小波變換法、基于神經(jīng)網(wǎng)絡(luò)法車牌字符切割等[8],由于本設(shè)計(jì)是基于嵌入式平臺(tái)進(jìn)行的,考慮到算法時(shí)間復(fù)雜度等原因,本系統(tǒng)選用基于邊緣檢測(cè)以及數(shù)學(xué)形態(tài)學(xué)法進(jìn)行車牌初步定位,并采用投影法進(jìn)行車牌精確定位。
1)邊緣檢測(cè)
常用的邊緣檢測(cè)算子有Reborts算子、Sobel算子、Canny算子、Prewitt算子等,本系統(tǒng)使用Sobel算子進(jìn)行邊緣檢測(cè)。邊緣檢測(cè)結(jié)果如圖 3(c)所示。
2)數(shù)學(xué)形態(tài)學(xué)處理
經(jīng)過(guò)邊緣檢測(cè)后的車牌圖像仍有一些雜亂邊緣,既有車牌和車牌字符邊緣,也有一些背景信息邊緣和一些噪聲,可以通過(guò)數(shù)學(xué)形態(tài)學(xué)處理去除無(wú)用信息定位出車牌區(qū)域。首先選取3*3的全1矩陣為結(jié)構(gòu)元素進(jìn)行腐蝕操作,然后構(gòu)造30*43像素的平面矩形的結(jié)構(gòu)元素進(jìn)行閉運(yùn)算,最后進(jìn)行開運(yùn)算擦除車牌圖像中孤立的小點(diǎn)。經(jīng)過(guò)數(shù)學(xué)形態(tài)學(xué)處理后的車牌圖像如圖 3(d)所示。
3)從候選區(qū)域去除偽車牌
經(jīng)過(guò)以上操作,圖像中剩下很少幾個(gè)連通區(qū)域,即為車牌的候選區(qū)域。根據(jù)《GA36-2007中華人民共和國(guó)機(jī)動(dòng)車號(hào)牌》的規(guī)定,我國(guó)小型汽車號(hào)牌國(guó)標(biāo)尺寸是440×140 mm,考慮圖像處理誤差及拍攝傾斜等因素,本系統(tǒng)選取車牌長(zhǎng)寬比閾值為:2.0-6.0,這樣就能去除圖 3(d)中大部分的偽車牌部分。由于數(shù)學(xué)形態(tài)學(xué)腐蝕會(huì)減少圖片信息,所以本系統(tǒng)對(duì)上述得到的車牌區(qū)域進(jìn)行放大,放大比例選取110%。去除偽車牌后得到的車牌區(qū)域圖像如圖 4(a)所示。

圖3 車牌識(shí)別過(guò)程Fig.3 Recognition processes of license plate
4)車牌精確定位
本系統(tǒng)采用投影法對(duì)車牌進(jìn)行精確定位,并針對(duì)文獻(xiàn)[6~7]中算法進(jìn)行了改進(jìn)和優(yōu)化。
第一步,對(duì)初步定位結(jié)果進(jìn)行二值化處理,本系統(tǒng)采用最大類間方差法計(jì)算二值化處理的閾值。
第二步,水平方向定位。車牌區(qū)域在水平方向的灰度跳變次數(shù)遠(yuǎn)大于非車牌區(qū)域,可以根據(jù)這一特征在水平方向定位出車牌區(qū)域。先對(duì)二值化后的車牌圖像f(i,j)進(jìn)行水平方向一階差分得到 g(i,j),見(jiàn)式;

將差分后的圖像 g(i,j)進(jìn)行水平方向累加得到 T(i);
對(duì)T(i)進(jìn)行平滑處理以消除毛刺,見(jiàn)公式。同時(shí)記錄T(i)最大值及其出現(xiàn)的位置;

從T(i)最大值處向上下兩個(gè)方向掃描,本系統(tǒng)取T(i)小于4處為牌上下邊界。
第三步,垂直方向定位。字符區(qū)域和字符間隙在垂直方向上灰度跳變次數(shù)有很明顯差異,同樣可以通過(guò)投影法確定車牌左右邊界。對(duì)第二步的結(jié)果進(jìn)行垂直方向一階差分后累加得到 T( j),對(duì) T( j)進(jìn)行平滑處理,同時(shí)記錄 T( j)的最大值。以 T(j)最大值的 0.35倍為閾值,從左向右掃描 T(j),第一個(gè)大于此閾值的點(diǎn)即為車牌左邊界;同理可找到車牌右邊界。
第四步,對(duì)定位后的車牌區(qū)域進(jìn)行傾斜校正。本系統(tǒng)采用Radon變換法進(jìn)行傾斜校正。
第五步,去除邊框。傾斜校正后的車牌圖像仍可能包含車牌邊框,需要去除車牌邊框。首先去除車牌上下邊框,處理方法和車牌水平方向定位方法類似,得到 T(i)后,以 T(i)平均值的0.7倍為閾值,從T(i)最大值處向兩邊掃描,認(rèn)為T(i)的值小于此閾值處為車牌上下邊框和車牌字符分界處。去除車牌左右邊框的方法和車牌垂直方向定位方法類似,得到T(i)后,以 2 為閾值掃描 T(i),如果 T(i)左右兩端含有小于車牌寬度的十六分之一毛刺,則認(rèn)為此毛刺對(duì)應(yīng)區(qū)域?yàn)檐嚺七吙颉?/p>
本文提出的方法定位出的車牌區(qū)域字符清晰,并能有效去除車牌邊框,定位結(jié)果如圖 4(b)所示。用文獻(xiàn)[6]中方法定位得到的車牌區(qū)域如圖 4(c)所示。本文方法定位效果明顯優(yōu)于文獻(xiàn)[6]中的方法。

圖4 車牌定位結(jié)果對(duì)比Fig.4 Comparison result of license localization
由3.2節(jié)可知,車牌區(qū)域在垂直方向灰度跳變次數(shù)有明顯波動(dòng),所以本系統(tǒng)采用垂直投影法對(duì)車牌圖像進(jìn)行字符分割。
首先,對(duì)定位后的車牌二值化圖像進(jìn)行垂直方向灰度累加得到 T2( j)。
第二步,以3為閾值掃描T2(j)并記錄每一個(gè)波峰以及他們的起點(diǎn)和終點(diǎn)。
第三步,分割漢字。通常T2(j)第一個(gè)波峰起點(diǎn)和終點(diǎn)之間即為車牌漢字區(qū)域。如果該區(qū)域?qū)挾刃∮谲嚺瓶倢挾鹊氖种唬瑒t認(rèn)為此漢字為左右偏旁漢字,如“川”,此時(shí)可根據(jù)漢字寬度占整個(gè)車牌寬度的比例選取第一個(gè)波峰起點(diǎn)到第兩個(gè)或第三個(gè)波峰的落點(diǎn)為漢字區(qū)域。
第四步,分割字母或數(shù)字。以T2(j)每個(gè)波峰起點(diǎn)和終點(diǎn)為車牌字符的邊界,即可分割出后面六個(gè)字母或數(shù)字。如果某個(gè)波峰內(nèi)總的灰度值之和小于該寬度內(nèi)總像素點(diǎn)數(shù)的0.15倍,則認(rèn)為該處為噪聲點(diǎn)或者車牌上的圓點(diǎn)。
常見(jiàn)的字符識(shí)別算法有:基于模板匹配的字符識(shí)別算法,基于統(tǒng)計(jì)特征匹配的字符識(shí)別算法,基于神經(jīng)網(wǎng)絡(luò)的字符識(shí)別算法[6]。本系統(tǒng)采用基于模板匹配的字符識(shí)別算法。本文對(duì)文獻(xiàn)[9]等提到的模板匹配算法進(jìn)行改進(jìn),提出先去除車牌字符及模板字符周圍空白再進(jìn)行歸一化處理。該方法可以提高了模板匹配的準(zhǔn)確度。
首先,用投影法去除兩個(gè)字符可能出現(xiàn)的粘連,以及字符上、下、左、右的空白區(qū)域。
第二步,對(duì)字符圖像進(jìn)行歸一化處理。本系統(tǒng)將字符模板和分割后的字符全部歸一化為24*48像素大小。
第三步,字符比較。用歸一化后的字符圖像與字符模板庫(kù)做比較,記錄差異最小的模板對(duì)應(yīng)的編號(hào)即為該字符圖像識(shí)別結(jié)果。由于我國(guó)車牌號(hào)碼第一個(gè)字符為漢字,后面6個(gè)字符為字母或數(shù)字,所以將模板庫(kù)分為漢字模板庫(kù)和數(shù)字字母模板庫(kù),這樣即能提高匹配速度,有能提高匹配準(zhǔn)確度。本系統(tǒng)車牌識(shí)別結(jié)果如圖5所示。

圖5 車牌識(shí)別結(jié)果Fig.5 Recognition results of license plate
本文對(duì)現(xiàn)有車牌識(shí)別算法進(jìn)行改進(jìn),并針對(duì)嵌入式平臺(tái)進(jìn)行優(yōu)化和移植,在嵌入式平臺(tái)上實(shí)現(xiàn)了汽車牌照號(hào)碼自動(dòng)識(shí)別。本系統(tǒng)充分利用了嵌入式系統(tǒng)靈活性高等特性,經(jīng)過(guò)簡(jiǎn)單開發(fā),即可與其他管理系統(tǒng)進(jìn)行通訊實(shí)現(xiàn)更多功能,如:駕駛?cè)诵畔⒑藢?duì)、盜牌偽牌查詢、電子車牌識(shí)別等。另外,本系統(tǒng)具有成本低、體積小、準(zhǔn)確度高等優(yōu)點(diǎn),可靈活應(yīng)用于智能交通系統(tǒng)車牌識(shí)別環(huán)節(jié)。
[1]張洪斌,黃山.面向城市路口的高清晰智能監(jiān)控系統(tǒng)研究[J].四川大學(xué)學(xué)報(bào):工程科學(xué)版,2012,44(S1):224-228.ZHANG Hong-bin,HUANG Shan.Research on the high definition intelligent surveillance system for urban intersection[J].Journal of Sichuan University:Engineering Science Edition,2012,44(S1):224-228.
[2]Meng Lu.Key Trends in Intelligent Transport Systems[C]//Proceedings of BIT's 3rd Low Carbon Earth Summit-2013.Xi-an Shanxi China:[s.n.],2013:146.
[3]劉永春.基于DSP和ARM的車牌識(shí)別系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2012,31(22):80-82.LIU Yong-chun.License plate recognition system design based on DSPand ARM[J].Microcomputer&Its Applications,2012,31(22):80-82.
[4]傅海東,解梅.嵌入式車牌識(shí)別系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào)-2008-29(4):160-164.FU Hai-dong,XIE Mei.Design and realization of embedded license plate recognition system[J].Chinese Journal of Scientific Instrument,2008,29(4):160-164.
[5]張海寧,李彬,陳超波,等.基于OpenCV的車牌識(shí)別系統(tǒng)研究[J].工業(yè)儀表與自動(dòng)化裝置,2012(6):78-80.ZHANG Hai-ning,LI Bin,CHEN Chao-bo,et al.The research of vehicle plate recognition system based on OpenCV[J].Industrial Instrumentation&Automation,2012(6):78-80.
[6]劉同焰.車牌識(shí)別系統(tǒng)的相關(guān)算法研究與實(shí)現(xiàn)[D].華南理工大學(xué),2012.
[7]王璐.基于MATLAB的車牌識(shí)別系統(tǒng)研究[D].上海交通大學(xué),2009.
[8]方萬(wàn)元,梁久禎.復(fù)雜背景下快速車牌定位算法[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(2):160-163.FANG Wan-yuan,LIANG Jiu-zhen.Fast algorithm of license plate location under complex background[J].Computer Engineering and Applications,2012,48(2):160-163.
[9]陳建愷.基于視頻的嵌入式車牌識(shí)別系統(tǒng)的研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2009.