姚俊文
針對(duì)車(chē)輛出入庫(kù)管理中存在的問(wèn)題,提出了基于ARM嵌入式平臺(tái)的車(chē)牌識(shí)別系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方案,論述了從車(chē)輛圖像抓取、圖像預(yù)處理、車(chē)牌區(qū)域識(shí)別、文字分割、文字識(shí)別等過(guò)程中所涉及的理論和技術(shù)問(wèn)題,提出了基于POSIX規(guī)范多進(jìn)程技術(shù)進(jìn)行系統(tǒng)整合的方案。
【關(guān)鍵詞】車(chē)牌識(shí)別嵌入式技術(shù) 文字識(shí)別
1 引言
隨著汽車(chē)的普及,停車(chē)難的問(wèn)題日益突出,高效的車(chē)庫(kù)管理成為解決這一問(wèn)題的關(guān)鍵環(huán)節(jié)之一。傳統(tǒng)的RFID車(chē)庫(kù)道閘控制系統(tǒng)存在使用不便、控制不精確等缺點(diǎn),車(chē)主進(jìn)出時(shí)必須將車(chē)準(zhǔn)確地??吭谧x卡器前,打開(kāi)車(chē)窗手動(dòng)刷卡,尤其在雨雪天氣使用更加不便;無(wú)法控制重復(fù)刷卡、一卡多車(chē)進(jìn)出車(chē)庫(kù)的情況,造成車(chē)庫(kù)管理上的困難;另外由于采用集中數(shù)據(jù)存儲(chǔ)和控制,在實(shí)際中還存在道閘反應(yīng)速度慢以及因?yàn)榫€路原因造成控制失效的情況。而已有的基于車(chē)牌識(shí)別的控制系統(tǒng)采用分布圖像采集、集中進(jìn)行識(shí)別和控制的方式,系統(tǒng)設(shè)備、安裝、維護(hù)成本都比較高,阻礙了其廣泛應(yīng)用。
本項(xiàng)目以嵌入式計(jì)算機(jī)技術(shù)為基礎(chǔ),綜合圖像處理、模式識(shí)別等技術(shù),將圖像采集、車(chē)牌識(shí)別、道閘控制集成在獨(dú)立的系統(tǒng)中,完成復(fù)雜環(huán)境下汽車(chē)車(chē)牌的智能識(shí)別和車(chē)庫(kù)道閘的自動(dòng)控制,實(shí)現(xiàn)更加方便、快捷和完善的車(chē)輛進(jìn)出場(chǎng)管理。
2 系統(tǒng)架構(gòu)
2.1 系統(tǒng)總體架構(gòu)設(shè)計(jì)
完整的道閘控制系統(tǒng)包括車(chē)輛檢測(cè)、車(chē)輛拍照、車(chē)牌定位、車(chē)牌識(shí)別、車(chē)牌號(hào)碼管理、道閘控制等模塊,本系統(tǒng)基于嵌入式Linux構(gòu)建,系統(tǒng)總體結(jié)構(gòu)如圖1所示。
2.2 硬件平臺(tái)設(shè)計(jì)
系統(tǒng)基于ARM體系結(jié)構(gòu),CPU采用Samsung公司的S3C6410X嵌入式微處理器,S3C6410X具有低成本、低功耗、高性能的品質(zhì)。系統(tǒng)配置了64MB SDRAM運(yùn)行內(nèi)存,以64MB Nand Flash作為存儲(chǔ)Bootloader、操作系統(tǒng)和應(yīng)用程序的外存,系統(tǒng)具有2個(gè)USB從設(shè)備接口和1個(gè)USB主設(shè)備接口,集成LCD控制器,為方便系統(tǒng)開(kāi)發(fā)攝像頭采用了spca5xx/gspca兼容USB攝像頭,簡(jiǎn)化了軟件平臺(tái)的配置。
2.3 軟件系統(tǒng)設(shè)計(jì)
使用檢測(cè)像素突變的方法檢測(cè)出車(chē)牌的邊緣進(jìn)行車(chē)牌定位,利用垂直、水平投影得到車(chē)牌區(qū)域,并對(duì)其進(jìn)行旋轉(zhuǎn)矯正,得到精確的車(chē)牌區(qū)域。之后對(duì)車(chē)牌區(qū)域進(jìn)行圖像預(yù)處理,包括灰度化、二值化、去噪等操作,然后根據(jù)車(chē)牌尺寸、車(chē)牌中字符的分布特點(diǎn)等先驗(yàn)知識(shí)對(duì)車(chē)牌中的字符進(jìn)行分割,最后與字符模板進(jìn)行比較,確定最相近的字符,完成車(chē)牌的識(shí)別。
3 系統(tǒng)實(shí)現(xiàn)
3.1 圖像采集
本系統(tǒng)采用的Linux 2.4內(nèi)核沒(méi)有集成spca5xx攝像頭驅(qū)動(dòng),需要到相應(yīng)的網(wǎng)站[1]下載、編譯后加入到系統(tǒng)內(nèi)核,同時(shí)需要在內(nèi)核配置選中便能對(duì)V4L(Video for Linux)的支持。
V4L是Linux系統(tǒng)中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動(dòng)[2],該驅(qū)動(dòng)的功能是為視頻設(shè)備應(yīng)用程序開(kāi)發(fā)和應(yīng)用提供一系列的接口函數(shù),然后配合適當(dāng)?shù)囊曨l采集設(shè)備和相應(yīng)的驅(qū)動(dòng)程序,實(shí)現(xiàn)對(duì)影像的采集等操作。
基于V4L進(jìn)行圖像采集時(shí),程序基本流程如下:
(1)打開(kāi)視頻設(shè)備;
(2)讀取設(shè)備信息;
(3)更改設(shè)備當(dāng)前設(shè)置;
(4)視頻采集,采用直接從設(shè)備讀取圖像數(shù)據(jù),并通過(guò)共享內(nèi)存將數(shù)據(jù)傳送給圖像處理進(jìn)程;
(5)關(guān)閉視頻設(shè)備。
3.2 車(chē)牌定位
系統(tǒng)采用基于掃描行的車(chē)牌定位算法[3],基于車(chē)牌的幾何特征和灰度特性進(jìn)行車(chē)牌定位。,即可根據(jù)此特性即灰度特性將圖像二值化,統(tǒng)計(jì)每行跳變點(diǎn)次數(shù),根據(jù)跳變點(diǎn)次數(shù)和車(chē)牌幾何特征實(shí)施定位,具體算法步驟可表示為如下:
(1)圖像灰度化,增大中車(chē)牌區(qū)域字符和背景的差異;
(2)水平邊緣檢測(cè),車(chē)牌區(qū)域是由一串字符組成的,其紋理豐富,而其他部分灰度分布較為均勻,因此利用邊緣檢測(cè)可以排除大量非車(chē)牌區(qū)域[4];
(3)圖像二值化,采用局部閾值二值化邊緣圖像;
(4)粗定位,根據(jù)車(chē)牌區(qū)域字符筆劃的寬度,字符之間的間隔、整串字符的總長(zhǎng)度等特征進(jìn)行車(chē)牌初步定位;
(5)精確定位。識(shí)別滿足車(chē)牌區(qū)域掃描線特征的區(qū)域,并進(jìn)一步對(duì)區(qū)域左右兩端進(jìn)行裁剪,完成車(chē)牌精確定位。
3.3 字符分割
目前常用的字符分割方法有基于垂直投影的字符分割[5]、基于連通域的字符分割[6]、基于模板匹配的字符分割[7]和基于聚類(lèi)分析的字符分割[8],本文采用了基于連通域的字符分割算法,該方法不受車(chē)牌傾斜的影響、環(huán)境適應(yīng)性好、字符分割精度高、抗干擾性強(qiáng), 同時(shí)減少了像素重復(fù)標(biāo)記和歸并標(biāo)記的大量運(yùn)算, 能快速、準(zhǔn)確地分割車(chē)牌字符。其處理過(guò)程包括去除離散噪聲、設(shè)定連通域標(biāo)記、連通域掃描、分割字符和字符歸一化,詳見(jiàn)參考文獻(xiàn)[6]。
3.4 車(chē)牌文字識(shí)別
與常規(guī)文字識(shí)別相比,車(chē)牌文字識(shí)別的突出特點(diǎn)是字符集小、字符形狀規(guī)范,因此針對(duì)車(chē)牌進(jìn)行文字識(shí)別可行性很高。
車(chē)牌上的文字分為3類(lèi),第1類(lèi)為漢字,包括省、自治區(qū)、直轄市簡(jiǎn)稱(chēng)、軍隊(duì)用漢字和車(chē)牌分類(lèi)用漢字,共計(jì)68個(gè)漢字;第2類(lèi)為26個(gè)大字英文字母;第3類(lèi)為10個(gè)阿拉伯?dāng)?shù)字。通過(guò)對(duì)模板匹配法[9]、BP神經(jīng)網(wǎng)絡(luò)法[10]、支持向量機(jī)法[11]進(jìn)行實(shí)驗(yàn)對(duì)比,3種方法對(duì)字母和數(shù)字識(shí)別的準(zhǔn)確率均在90%以上,而對(duì)漢字的識(shí)別,支持向量機(jī)方法識(shí)別率最高,為92.3%,因此本系統(tǒng)采用多類(lèi)分類(lèi)支持向量機(jī)進(jìn)行車(chē)牌文字識(shí)別。
3.5 系統(tǒng)整合
為提高運(yùn)行效率,系統(tǒng)采用了基于POSIX規(guī)范的多進(jìn)程編程技術(shù),系統(tǒng)運(yùn)行時(shí)由車(chē)輛偵測(cè)、圖像捕捉、字符識(shí)別、道閘控制4個(gè)進(jìn)程組成,進(jìn)程間通過(guò)共享內(nèi)存、信號(hào)等機(jī)制實(shí)現(xiàn)數(shù)據(jù)傳輸和同步。
4個(gè)進(jìn)程均創(chuàng)建為POSIX守護(hù)進(jìn)程,車(chē)輛偵測(cè)進(jìn)程第隔2秒由SIGALRM信號(hào)喚醒,檢測(cè)是否有車(chē)輛通過(guò),如果檢測(cè)到車(chē)輛,向圖像捕捉進(jìn)程發(fā)送SIGINT信號(hào)后再次進(jìn)入休眠狀態(tài);圖像捕捉進(jìn)程被喚醒后進(jìn)行拍照和預(yù)處理,將車(chē)牌圖像存儲(chǔ)在共享內(nèi)存中并向字符識(shí)別進(jìn)程發(fā)送SIGINT信號(hào),然后進(jìn)入休眠狀態(tài);字符識(shí)別進(jìn)程被喚醒后從共享內(nèi)存中讀取車(chē)牌圖像進(jìn)行識(shí)別,然后通過(guò)阻塞式管道將識(shí)別出的車(chē)牌號(hào)碼發(fā)給道閘控制進(jìn)程,自身進(jìn)入休眠狀態(tài);當(dāng)管道中有數(shù)據(jù)時(shí),道閘控制進(jìn)程解除阻塞狀態(tài),從管道中讀取車(chē)牌號(hào)碼,根據(jù)從數(shù)據(jù)庫(kù)檢索數(shù)據(jù)結(jié)果進(jìn)行道閘控制。
4 結(jié)論
本文提出的基于嵌入式系統(tǒng)的車(chē)牌識(shí)別方案,具有系統(tǒng)成本低、部署方便等優(yōu)點(diǎn),系統(tǒng)實(shí)現(xiàn)過(guò)程中對(duì)車(chē)輛圖像的獲取、圖像預(yù)處理、車(chē)牌定位、車(chē)牌分割、文字識(shí)別等各方面進(jìn)行了有益的探索,取得了具有較高實(shí)際意義的結(jié)論。系統(tǒng)仍然存在一些問(wèn)題需要進(jìn)一步研究,包括圖像抓取時(shí)補(bǔ)光的控制、對(duì)污損車(chē)牌去噪處理、多系統(tǒng)之間的數(shù)據(jù)共享和管理問(wèn)題等,需要在后續(xù)研究中繼續(xù)完善。
參考文獻(xiàn)
[1]http://mxhaard.free.fr/spca50x/embedded/KernelPatch/usb-2.4.31LE06.patch.tar.gz
[2]趙方鵬, 楊建華, 趙忠,等.基于嵌入式Linux的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[J].測(cè)控技術(shù),2007,26(05):55-57.
[3]石貴民.基于掃描線的新型車(chē)牌定位方法研究[J].科學(xué)技術(shù)與工程,2014,14(08):1671-1815.
[4]魏娜,王振臣,張聰?shù)?一種新型車(chē)牌定位算法的研究[J].激光與紅外,2012,42(08):936-939.
[5]Abderaouf Z,Nadjia B,Saliha O K.License plate character segmentation based on horizontal projection and connected component analysis.In:2014 World Symposium on Computer Applications & Research (WSCAR),IEEE,2014,1-5.
[6]甘玲,林小晶.基于連通域提取的車(chē)牌字符分割算法[J].計(jì)算機(jī)仿真,2011,28(04):336-339.
[7]Miao L.License plate character segmentation algorithm based on variablelength template matching. In:Proceeding of 2012 IEEE 11th International Conference on Signal Processing (ICSP),2012,947-951.
[8]陳黎,黃心漢,王敏,李煒.基于聚類(lèi)分析的車(chē)牌字符分割方法[J].計(jì)算機(jī)工程與應(yīng)用,2002(06),221-256.
[9]吳煒,楊曉敏,劉大宇等.一種基于模糊模板匹配的車(chē)牌漢字識(shí)別方法[J].微型機(jī)與應(yīng)用,2005(11):57-59.
[10]DaRocha G.A.,Manod S.J..Character recognition in car license plates based on principal components and neural processing[J].Pattem Reocngition,2006,39(02):26-31.
[11]趙秀娟.基于支持向量機(jī)的車(chē)輛自動(dòng)分類(lèi)方法[J].公路交通科技,2003(10):108-110.
作者單位
天津職業(yè)技術(shù)師范大學(xué)信息技術(shù)工程學(xué)院 天津市 300222