呂品品
[摘 要]本文提出了一種基于單片機(jī)的車牌識(shí)別自動(dòng)裝置的設(shè)計(jì)思路,給出了系統(tǒng)的設(shè)計(jì)方案,并詳細(xì)介紹了它的工作原理及其軟硬件設(shè)計(jì),提出了一種字符分割的新方法,利用BP神經(jīng)網(wǎng)絡(luò)原理對(duì)車牌中的漢字、字母及數(shù)字進(jìn)行了分類識(shí)別,識(shí)別后由單片機(jī)控制將數(shù)據(jù)填入相應(yīng)的信息管理系統(tǒng)。
[關(guān)鍵詞]單片機(jī) 車牌識(shí)別 BP算法
[中圖分類號(hào)]U47[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]1007-9416(2009)11-0003-02
為了解決年審人工登記車牌號(hào)速度慢、效率低的問(wèn)題,特開(kāi)發(fā)此基于單片機(jī)的車牌自動(dòng)識(shí)別系統(tǒng),該系統(tǒng)通過(guò)掃描正在審查車輛的車牌,經(jīng)過(guò)處理后可以直接把車牌號(hào)數(shù)據(jù)上傳到車輛管理信息系統(tǒng)中。采用該系統(tǒng),可以加快車輛的審查速度?;趩纹瑱C(jī)的車牌自動(dòng)識(shí)別系統(tǒng)其關(guān)鍵技術(shù)是對(duì)車牌號(hào)碼的讀入和識(shí)別。為了節(jié)約成本和減小體積,該系統(tǒng)用單片機(jī)來(lái)控制實(shí)現(xiàn)。本文將詳細(xì)介紹如何用單片機(jī)來(lái)控制讀入車牌號(hào)碼圖像和識(shí)別讀入圖像以及如何把識(shí)別出的字符傳給計(jì)算機(jī)。
1 系統(tǒng)工作原理
車牌號(hào)碼自動(dòng)識(shí)別系統(tǒng)的原理框圖如圖1所示。一個(gè)典型的車牌識(shí)別系統(tǒng)主要包括車牌圖像采集、圖像預(yù)處理、特征提取、特征匹配和數(shù)據(jù)庫(kù)5個(gè)模塊。在本系統(tǒng)中,還加入了單片機(jī)控制部分。
系統(tǒng)主要工作過(guò)程如下:
當(dāng)汽車通過(guò)檢測(cè)站時(shí)車體位置傳感器發(fā)出一個(gè)信號(hào)給圖像采集控制部分,它的控制攝像機(jī)采集一幅汽車圖像送入單片機(jī)進(jìn)行預(yù)處理,然后將處理后的圖像傳給主機(jī),由主機(jī)的圖像處理模塊從輸入的圖像中找到牌照的位置,對(duì)牌照進(jìn)行字符切分,得到各個(gè)字符的點(diǎn)陣數(shù)據(jù);再由字符識(shí)別模塊利用這些數(shù)據(jù)進(jìn)行識(shí)別,然后把識(shí)別出的字符通過(guò)串口傳給單片機(jī)進(jìn)行進(jìn)一步的處理,最后由單片機(jī)控制寫入相應(yīng)的信息管理系統(tǒng)。該系統(tǒng)的技術(shù)難點(diǎn)主要是在主機(jī)中如何實(shí)現(xiàn)牌照的定位、切分以及牌照字符的識(shí)別,還有單片機(jī)如何實(shí)現(xiàn)控制等。
2 系統(tǒng)主要構(gòu)成
2.1 圖像采集控制以及圖像采集
將車體位置傳感器固定于某一位置,當(dāng)有汽車經(jīng)過(guò)時(shí)它就會(huì)發(fā)出一個(gè)信號(hào)給圖像采集控制部分,這時(shí)圖像采集控制系統(tǒng)發(fā)送一個(gè)控制信號(hào)給圖像采集模塊,則攝像機(jī)開(kāi)始工作,采集一幅含有汽車牌照的圖像。
2.2 圖像預(yù)處理
為了加快系統(tǒng)的處理速度,有必要將部分圖像預(yù)處理過(guò)程做成硬件方式。就本系統(tǒng)而言,從汽車圖像中找出牌照位置是減少后級(jí)處理數(shù)據(jù)量的關(guān)鍵步驟,因而在系統(tǒng)中將牌照定位的部分做成硬件處理,主要利用數(shù)字圖像輸入板實(shí)現(xiàn)。數(shù)字圖像輸入板采用專用的多媒體芯片實(shí)現(xiàn)。這套芯片功能較強(qiáng),可編程性好,使用方便,性能穩(wěn)定,適于惡劣環(huán)境的視頻輸入。
視頻信號(hào)經(jīng)過(guò)A/D轉(zhuǎn)換,數(shù)字解碼和彩色空間轉(zhuǎn)換后,成為24bits的RGB三分量數(shù)據(jù)流,然后發(fā)送到主機(jī)。對(duì)于RGB三分量數(shù)據(jù)流可以采用基于直方圖指數(shù)平滑的閾值分割法進(jìn)行二值化,轉(zhuǎn)化為一幅二值化的黑白圖像,存入緩沖區(qū)中,并將轉(zhuǎn)化后的數(shù)據(jù)傳給PC機(jī)。
2.3 牌照定位
根據(jù)現(xiàn)在牌照的特點(diǎn):我國(guó)汽車牌照的長(zhǎng)度為45厘米,寬度為15厘米,共有8個(gè)字符(包括一個(gè)點(diǎn)符號(hào))。通過(guò)上面操作過(guò)程,我們?cè)赑C機(jī)上可獲得一幅二值化的黑白圖像的數(shù)據(jù)。本文采用逐行掃描的辦法,由于車牌位于汽車的下部,且為避免汽車上的廣告和標(biāo)語(yǔ)等的干擾,采用從上往下的逐行掃描策略,根據(jù)車牌上的文字筆劃變化的頻率,從左向右逐個(gè)象素掃描,當(dāng)某行筆劃變化頻率在某特定寬度達(dá)到預(yù)先設(shè)置α?xí)r,記下該行號(hào)和該筆劃變化區(qū)域的起點(diǎn)和終點(diǎn),再根據(jù)車牌的長(zhǎng)寬比例特征預(yù)計(jì)車牌區(qū)域,當(dāng)該區(qū)域具有相似特征的行達(dá)到設(shè)定范圍β時(shí),則表示該區(qū)域即是車牌的所在區(qū)域。其中α和β需根據(jù)獲取的車牌圖像質(zhì)量及車牌在圖像中的比例大小進(jìn)行設(shè)置。
2.4 字符分割
在準(zhǔn)確找到車牌的位置后,下一步就是把車牌上的字符串分割成一個(gè)個(gè)標(biāo)準(zhǔn)大小的字符塊。字符分割并不是真的把所要的字符塊從原圖像塊中分割下來(lái),僅僅是把所要識(shí)別的字符的準(zhǔn)確位置找到。對(duì)于該系統(tǒng),共有8個(gè)字符,汽車牌照上出現(xiàn)的字符有3類,漢字字符只包括部隊(duì),公安系統(tǒng)和全國(guó)各省省名的簡(jiǎn)稱,另外還有26個(gè)英語(yǔ)字母和10個(gè)數(shù)字字符。一般民用牌照第一個(gè)字符是漢字,且是各省市的簡(jiǎn)稱,如“京”、“津”、“滬”、“蘇”等,第二個(gè)字符是大寫英文字母,如“A”、“B”、“C”等,接著是一個(gè)點(diǎn)“·”,第四個(gè)字符可能是英文字母,也可能是阿拉伯?dāng)?shù)字,第五至第八個(gè)字符均為阿拉伯?dāng)?shù)字。如“魯C·12345”就是最典型的車牌號(hào)碼。對(duì)漢字我們把它分成18×9的塊,把字母和數(shù)字都分成5×5的方塊。具體方法是在第一步搜索中找到了字符塊左上角的起點(diǎn)(sx,sy),對(duì)固定的目標(biāo)來(lái)說(shuō)每個(gè)字符對(duì)起點(diǎn)都有固定的偏移量,其偏移量P[8]={0,18,23,24,29,34,39,44};這樣就可以把字符塊分成8塊。如第4個(gè)字符的起點(diǎn)坐標(biāo)為(sx,sy+24)長(zhǎng)寬為5×5。
2.5 字符識(shí)別
在對(duì)字符進(jìn)行分割的時(shí)候我們已經(jīng)把字符劃分成方塊,所以可以采用神經(jīng)網(wǎng)絡(luò)的方法來(lái)對(duì)字符進(jìn)行識(shí)別。對(duì)于并行識(shí)別的BP網(wǎng)絡(luò),可以讓漢字、字母或數(shù)字分別送到各自的網(wǎng)絡(luò)分別識(shí)別,由于BP網(wǎng)絡(luò)的容錯(cuò)能力強(qiáng),對(duì)于文字的某些筆劃出現(xiàn)斷線或筆劃少了一部分,仍然能正確識(shí)別,這樣既提高了識(shí)別率,識(shí)別速度也有所改善。
2.5.1 BP算法簡(jiǎn)介
典型的三層BP網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,它包含輸入層、隱含層和輸出層,相鄰層節(jié)點(diǎn)全互連,同層節(jié)點(diǎn)之間不相連。BP算法的學(xué)習(xí)過(guò)程由正向傳播和反向傳播組成。正向傳播過(guò)程中,輸入模式從輸入層經(jīng)過(guò)隱含層逐層處理,并傳向輸出層,每一層神經(jīng)元的狀態(tài)僅影響下一層神經(jīng)元的狀態(tài)。如果在輸出層不能得到期望的輸出,則轉(zhuǎn)入反向傳播,將誤差信號(hào)沿原來(lái)的連接通路返回,通過(guò)修改連接權(quán)與各神經(jīng)元的閾值,使得誤差信號(hào)最小。
2.5.2 BP算法用于字符識(shí)別
經(jīng)過(guò)車牌定位,分隔等操作已經(jīng)將車牌中的漢字、字母和數(shù)字形成了灰度圖像且已經(jīng)被提取出來(lái),對(duì)于漢字采用18×9的網(wǎng)格,字符(字母或數(shù)字)是5×5的網(wǎng)格,其中黑色的網(wǎng)格用1表示,白色的網(wǎng)格用0表示。通過(guò)分割操作將字符輸入值確定后,就可以利用BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而得出識(shí)別的字符。
2.5.3 結(jié)果分析
經(jīng)過(guò)大量實(shí)驗(yàn)證明,網(wǎng)絡(luò)訓(xùn)練目標(biāo)誤差為0.01,學(xué)習(xí)率u取0.6,連接權(quán)的初始值在[0,0.2]之間隨機(jī)取值時(shí)網(wǎng)絡(luò)的判別精度較高。
對(duì)字符識(shí)別時(shí),如果取輸入層節(jié)點(diǎn)25個(gè),隱含層為15個(gè),輸出層節(jié)點(diǎn)6個(gè),則該BP網(wǎng)絡(luò)的學(xué)習(xí)速率與誤差限的關(guān)系是:當(dāng)誤差限確定時(shí),學(xué)習(xí)速率越大,學(xué)習(xí)次數(shù)越少,同時(shí),網(wǎng)絡(luò)的訓(xùn)練精度也隨之降低。
在學(xué)習(xí)速率給定的條件下,隱含層節(jié)點(diǎn)越多,所需學(xué)習(xí)的次數(shù)越少,BP網(wǎng)絡(luò)的記憶能力越強(qiáng),但是,隱含層節(jié)點(diǎn)過(guò)多,會(huì)造成網(wǎng)絡(luò)因?yàn)檎袷幎ヅ袆e能力。
在本系統(tǒng)中,圖像采集控制和圖像采集部分通過(guò)單片機(jī)控制,然后對(duì)采集的圖像進(jìn)行預(yù)處理;由于單片機(jī)的資源有限,且處理速度慢,因此牌照定位、字符分割、字符識(shí)別由PC機(jī)通過(guò)軟件實(shí)現(xiàn)。
2.6 通信模塊
此模塊主要實(shí)現(xiàn)單片機(jī)與PC機(jī)之間的通信。對(duì)已經(jīng)通過(guò)上位機(jī)識(shí)別出的字符通過(guò)串口(RS-232)先發(fā)送給下位機(jī),然后由下位機(jī)控制再傳入車輛信息管理系統(tǒng),該系統(tǒng)可通過(guò)VC++編程實(shí)現(xiàn)。
3 結(jié)語(yǔ)
本文給出了基于單片機(jī)的車牌自動(dòng)識(shí)別的設(shè)計(jì)方案,利用單片機(jī)控制對(duì)含有車牌的圖像進(jìn)行一系列的操作,如讀入圖像、車牌定位及分割和車牌識(shí)別等,最后由單片機(jī)控制實(shí)現(xiàn)與主機(jī)的通信,從而實(shí)現(xiàn)了將識(shí)別出的信息自動(dòng)填入信息系統(tǒng)的功能,既節(jié)約了成本又減小了該裝置的體積,使用方便靈活。采用該裝置登記車牌號(hào)方便快捷,而且該系統(tǒng)成本不高,具有一定實(shí)用價(jià)值。
[參考文獻(xiàn)]
[1] 吳捷.汽車號(hào)牌自動(dòng)識(shí)別系統(tǒng)[J]. 貴州科學(xué),1999.3.
[2] 周翟和,劉建業(yè).紙幣號(hào)碼讀入識(shí)別系統(tǒng)的單片機(jī)實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2002
[3] 萬(wàn)國(guó)紅,王敏,王心漢等。基于神經(jīng)網(wǎng)絡(luò)的汽車牌照自動(dòng)識(shí)別技術(shù)研究[J]. 計(jì)算機(jī)工程與應(yīng)用,2002
[4] 韓力群.人工神經(jīng)網(wǎng)絡(luò)理論、設(shè)計(jì)及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2002.