高勇
(中國航空工業集團公司洛陽電光設備研究所,河南洛陽,471000)
智能交通系統(Intelligent Transportation System,ITS)是一個運行十分有序的系統,它把車輛、道路和人有機地連接在一起。該系統的運用不但可以使車輛更加放心、安全地行駛在道路上,還可以有效的緩解交通壓力、提高群眾出行效率,避免資源浪費[1][2]。在智能交通系統當中車牌識別系統具有非常重要的應用地位,是當今交通領域研究重點關注的焦點之一。其采用的技術包括模式識別技術、信號處理技術以及圖像處理技術[1-3]。在進行城市道路以及高速公路路況情況監控時,可以通過圖像處理和人工智能技術提取和識別具有違法行為的車輛號牌信息,以便準確做出處罰。
本文研究設計了基于BP神經網絡的車牌識別模型,利用數字圖像處理技術完成車牌圖像處理、車牌定位以及字符分割,通過BP神經網絡模型實現字符識別,最后利用MATLAB軟件開展仿真實驗。
車牌識別系統的實現需要應用多種現代化技術,包括模式識別技術以及機器視覺技術等等。在監控范圍內,通過應用車牌識別系統可以有效的獲取到圖像信息,首先預處理圖像,然后定位到圖像中的車牌部分,分割車牌部分中的字符,最后準確的識別出這些字符。該系統主要應用于以下幾個領域[2]:公路的自動化管理、車輛定位、城市路口“電子警察”、社區車輛管理系統和停車場車輛管理系統等。
根據GA36-2018 《中華人民共和國機動車號牌》的規定,我國現行的車牌中,第1位為漢字,第2位為字母,第3至6位為數字或字母,第7位為漢字(警、學)、數字或字母。漢字共有48個,數字共有0~9共10個,字母從A~Z除O和I之外共有24個。車牌的特征包括以下四個方面[4]:
(1)車牌的長、寬及兩者比例都有相應的規定要求,幾何尺寸差別較小,外形特征較明顯;(2)車牌由漢字、字母或數字組成,且有一定的排列組成規律,字符信息特征較明顯;(3)車牌號碼由漢字、數字以及字母組成,前者較后兩者識別難度大,為了識別效果應采取不同手段進行識別;(4)車牌牌照種類較多,且有幾種不同的格式,增加了識別的難度。
一般情況下,車牌識別系統主要包括四個部分,分別是車牌預處理、車牌定位、車牌字符分割和車牌字符識別[1-4]:
(1)車牌預處理
車牌預處理主要作用是剔除同車牌無關的干擾項,讓車牌的主要特征更為凸顯,通常采用的手段包括幾何變換、圖像增強以及去噪等。
(2)車牌定位
車牌定位的目的是進一步提取圖像中的車牌區域,將其他區域排除。
(3)車牌字符分割
車牌字符分割即將整個車牌區域分割成7個單一字符,字符包括漢字、字母和數字。
(4)車牌字符識別
車牌字符識別就是對分割后的7個單一字符進行特征提取,然后識別成相似度最高的字符,是整個系統的核心部分。
圖像預處理是對帶有干擾和噪聲的圖像進行圖像復原和信息增強的過程,使得圖像的有用信息可以更容易進行后端圖像算法處理,包括圖像灰度拉伸、圖像去噪等[3-4]。
車牌定位是從給定的圖像中找到車牌所在的部分,將其同其他部分進行區分并成功提取出來。能夠根據車牌獨有的特點,例如字符、顏色、形狀以及區域灰度等來進行定位。本文采用Canny算子進行邊緣檢測,通過開閉運算的數字形態學濾波,然后像素行掃描和列掃描確定車牌上下和左右邊界,從而定位車牌的準確區域。并且通過Hough 變換進行傾斜校正,得到正立的車牌區域圖像,有利于后續車牌字符的精準分割。
每個車牌號碼由7個字符所組成,通過字符分割操作后,它們相互拆分出來,成為7幅獨立的字符圖像。本文采用垂直投影法進行字符分割,在水平軸上投影車牌定位后獲得的車牌圖像,可以在垂直方向發現若干個波峰值,每個字符邊界都會表現為波谷點,自左向右掃描,發現的首個波峰區域即是第一個字符,依此類推就得到所有7個字符。
字符識別是對分割后的字符圖片(包括漢字、數字和字母)進行辨認,給出對應的字符,是車牌識別的最核心部分。本文采用BP(BackPropagation)神經網絡進行字符識別。
BP神經網絡由輸入層、若干隱含層和輸出層等組成,只含有一個隱含層的網絡拓撲結構如下圖1所示[1-4],包括信號正向傳播和誤差反向傳播。輸入信號依次通過輸入層、隱含層以及輸出層。假使輸出值無法滿足所期望的數值,那么就會啟動誤差反向傳播,也就是誤差由輸出層逐層向前傳播,將誤差分配給各層的所有神經元,并對神經元間的權重值做出相應改變。在正向/反向傳播不斷迭代過程中,修正了神經元權重值,直至誤差滿足設計要求時則停止。

圖1 BP神經網絡拓撲圖
根據車牌七個字符的特征和特點,設計三個BP神經網絡。第一個BP神經網絡用于識別車牌的第一位漢字字符,第二個BP神經網絡用于識別車牌的第二位字母字符,第三個BP神經網絡用于識別車牌的第3~7位字母或數字字符。
使用Matlab軟件編程實現車牌識別建模、設計和仿真[1-5],具體識別流程圖如圖2所示。

圖2 車牌識別流程圖
采用投影濃度法提取具有20組特征值的漢字、數字和字母字符特征,因此確定三個BP網絡輸入層神經元數目為20個。對輸出字符進行二進制編碼,所有48個漢字需要6位編碼,因此第一個BP網絡輸出層神經元數量為6個。所有24個英文字母需要5位編碼,因此第二個BP網絡輸出層神經元數量為5個。所有34個字母和數字需要6位編碼,因此第三個BP網絡輸出層神經元數量為6個。隱含層神經元數量由經驗計算,一共需要6個神經元。
BP網絡參數設置如下:顯示間隔50,學習速率0.01,遞增乘因子1.15,遞減乘因子0.8,最大循環次數8000,誤差目標0.00001。經過Matlab程序建模和仿真實現,車牌定位、字符分割和車牌識別結果如圖3所示。隨機進行了100張車牌圖片進行車牌識別仿真,能夠正確識別其中的93張車牌圖片,識別過程簡潔高效,識別結果可靠有效。
本文介紹了車牌識別系統的原理、組成和實現方法,開展了基于BP神經網絡的字符識別建模、仿真和實現。結果表明該方法能夠對車牌進行定位、分割和識別,具有一定的工程實用價值。