車牌識別是許多智能交通應用場景需要解決的問題,如小區汽車門禁、停車場自動計時收費、道路電子眼自動違章識別抓拍等。近年來,人工智能技術已應用到許多車牌識別方案中。本文主要闡述了車牌識別的整個流程及涉及的人工智能相關算法,比較并分析了各種算法特點和優缺點,對進一步研究人工智能技術在智能交通領域的應用具有一定的借鑒意義。
1 、引言
一個典型的車輛牌照識別過程按照先后順序一般包括:車輛圖像采集、車牌定位、車牌字符分割和車牌字符識別。本文詳細闡述這些內容,包括需要解決的問題、實現流程、使用的算法等。
2、 車輛圖像采集
識別車牌的第一步是獲取車輛圖像,也就是車輛圖像的采集。在車牌識別現場,車輛圖像一般都由攝像機實時拍攝得到,工作環境相對復雜,如受到光線、天氣、車輛的行駛速度、車牌位置等各種因素的影響,因此首先需要在硬件上保證所采集的車輛圖像盡可能清晰、完整、大小一致、便于處理。
車輛圖像采集方式主要有三種方式:
(1)視頻識別。其工作原理是通過車牌識別相機拍攝視頻識別車輛,可以是普通相機+視頻采集卡,也可以是數碼相機。
(2)地感線圈識別。其工作原理是當車輛進入識別區域時,安裝在車輛減速帶前的地感線圈監測到車輛然后發信號給相機進行抓拍。它的優點是有較高的觸發率,性能比較穩定;缺點是需要在施工時專門安裝硬件設備,工程量相對較大。
(3)視頻+地感線圈識別。其工作原理是通過車牌識別相機拍攝視頻識別車輛,然后通過地感線圈觸發輸出識別結果。相比單獨使用地感線圈識別或視頻識別,該方式具備更快的識別速度和更高的識別率。
3、 車牌定位
車牌定位的任務是從上一步采集的車輛圖像找到車牌區域并截取出來。車牌定位算法概括起來可以分為兩大類:
(1)基于圖形圖像學的定位方法,如邊緣檢測定位、顏色定位等。外界信息的干擾會欺騙定位算法,使得定位算法生成過多的非車牌候選區域,增大系統負荷。此算法的實現分為三步:(1)對圖像進行邊緣檢測、二值化等預處理;(2)進行膨脹和腐蝕操作等形態學處理;(3)查找車牌輪廓并精確定位。
(2)基于機器學習的定位方法,如特征工程定位、神經網絡定位等。使用此算法進行車牌定位的關鍵是找到好的特征和訓練方法。其主要步驟可以分為:(1)提供一套擁有正確輸出的訓練數據(車輛圖像);(2)構建神經網絡模型;(3)用訓練后的模型進行實際車牌定位檢測定位效果。
4 、車牌字符分割
車牌字符分割的任務是把上一步得到的車牌區域中的字符正確截取出來,成為多個只包含一個字符的圖像。常用的字符分割算法有:基于連通域標記的算法、基于字符幾何特征的算法、基于圖像投影的算法。其中投影算法應用較為廣泛,分隔效率較高。此算法的實現可描述為:首先,遍歷整個圖片計算每一列白色(車牌號區域)像素點的個數并存到數組中;其次,由數組里的灰度值得到相應的投影圖,再通過數組的內容找到相鄰字符間的分割點;最后,根據分割點完成字符分割。
5、 車牌字符識別
車牌字符識別是車牌識別過程的最后一步,主要任務是把上一步分隔出的車牌字符圖像轉化為正確的字符,并最終拼接為正確的車牌號碼。在實際應用場景中,主要涉及到辨識的準確性和識別速度兩方面。一般停車場在車牌無損傷的狀態下識別率應達到95%以上,識別速度應達到1秒以內。車牌字符識別算法可以簡單分為以下三類。
(1)模板匹配。這是一種早期較為傳統的字符識別方法。其原理是首先建立車牌中所有可能包含的字符串的標準字符模板庫,然后將單個字符圖像處理成和模板庫中字符一樣的格式,最后根據一定的規則與模板庫中的字符進行比對,計算出一個相似度值,該值最大者即為正確的字符。該算法對于清晰、干凈、無傾斜和變形的車牌字符圖像識別率較高。
(2)神經網絡。它是一種機器學習算法,如典型的BP神經網絡、卷積神經網絡(CNN)。其工作原理是首先提取梯度分布特征、灰度統計特征等字符特征;然后構建一個神經網絡模型,設置網絡訓練參數;最后進行模型訓練并識別檢驗。
(3)支持向量機(SVM)。該算法本質上和神經網絡算法類似,也是一種機器學習方法。其主要設計思路是:先得到樣本特征,進行訓練,然后再分類。SVM的原理所涉及的數學知識比較復雜,自己編程實現有一定難度,實際應用中一般會直接調用比較成熟地支持SVM的工具箱。SVM算法當前應用較為廣泛。