劉世豪 王丙正 胡文帥 陳亞瑞
【摘? ?要】車牌智能識別是實現交通車輛信息統計、存儲的核心技術,本文設計一種基于BP神經網絡的的車牌識別實現方案,搭建包含多層卷積、池化、全連接層的神經網絡模型,通過圖像降維、中值濾波、Canny邊緣檢測、閉運算等圖像處理算法搭配,實現對原始車輛圖像的科學處理。后加以基于投影法的字符分割,將分割后的多個字符數據輸入訓練模型,得到輸出車牌號碼信息,以實現對圖像車牌號碼的檢測;該方法采用多類場景下車輛圖像進行檢測,識別準確率可達97%。
【關鍵詞】車牌識別;中值濾波;BP神經網絡;字符分割
引言
隨著中國經濟的高速發展,中國人民對汽車的需求量逐年增大,同時道路車流量在巨幅增加,如何科學、準確地在各公共交通場所、交通路段實現對車輛車牌的檢測和識別,這是交通有關管理部門對交通數據統計時較為關注的問題。本文設計了一種基于卷積神經網絡的車牌識別方案,對已經存在的車牌識別系統在圖像處理、神經網絡模型搭建方面進行了技術改進,實現了對多場景下車牌圖像的車牌位置的正確截取,對車牌號碼的精準識別。
1.卷積神經網絡
卷積神經網絡是一種包含卷積的多層結構神經網絡,包括卷積層,池化層,全連接層,其局部連接方式有效減少了權值數量,卷積層通過對圖像數據求卷積以提取并增強圖像特征,池化層對圖像進行池化操作,全連接層采用Softmax進行各類別概率的映射,最后輸出層作為字符分類器,實現對車牌各字符的確定。
本文選擇使用CNN神經網絡進行模型構建,使車牌、字符圖像可以直接作為網絡的輸入,有效減少了特征提取過程中的復雜轉換,使圖像重建過程縮短,在解決識別縮放、變形等圖像問題方面具有較高的運算效率。
本文建立3層卷積、3層全連接層的BP神經網絡,來訓練字符、車牌的識別模型,網絡結構如圖1所示,卷積層使用3×3的卷積核進行卷積運算,并能夠在圖像邊緣進行停留;池化層使用max-pooling取得特定范圍最大特征點,在車牌及字符圖像識別中對目標紋理提取有較高的效用;每層采用RELU函數進行激勵,RELU函數表達形式為:
它具有良好的單側抑制效果,能更好的挖掘車牌及字符細節特征,擬合訓練數據。在神經網絡最后一次輸出層中,采用Softmax回歸對輸入圖像進行分類,Softmax函數將x向量映射為結果值(y1,y2,...,yk),對應數據范圍到(0,1)區間,Softmax交叉熵損失函數:
其中表示樣本有所有類別的后驗概率組成,經過梯度下降法的優化求解,得到關于向量W的梯度值,后進行迭代操作,不斷對W進行值更新,直至達到判定閾值。
2.車牌定位
2.1圖像處理
(1)圖像降維。圖像降維采用圖像灰度化處理,RGB圖像灰度化是將原始圖像數據轉化為二維矩陣,能最大程度保留原始圖像的顯著特征信息。
(2)圖像濾波。圖像濾波是盡量保留圖像原始特征同時消除干擾信息,本方法中采用medianBlur中值濾波,它在一定程度上降低了濾波器內與典型值差別較大的值的影響,能較高程度保留圖像邊緣特征,其計算過程如圖2所示。
(3)邊緣檢測。本文使用Canny算法進行邊緣檢測,通過高斯濾波實現干擾信息消除,使用卷積陣列、分別作用于x軸正向和y軸正向,計算梯度幅值和方向:
后定義不同的閾值進行強、弱邊緣檢測,符合判定條件時保留弱邊緣,故有較強的噪聲干擾穩定性。
(4)噪聲消除。將原始圖片由RGB通道轉換到HSV通道,后二值化處理,使用矩形內核對圖像進行先膨脹后腐蝕以實現圖像閉運算,消除圖像中黑色斑點,加強鄰接目標間的不可靠連接,平滑邊緣的同時保持檢測物體原有大小,實現圖像前景噪聲的去除,得到真正的車牌在圖像中的區域。
2.2車牌截取
本文使用opencv2庫函數進行圖像中矩形輪廓提取,由于圖像本身多樣性,通過泛洪算法(FloodFill)和傾斜矯正對疑似區域進行矯正處理,后參照中國標準車牌比例進行閾值設定,通過該閾值對所提取的所有矩形輪廓進行篩選,選取最終判別的車牌區域進行截取。
2.3車牌識別
對本文建立的卷積神經網絡進行圖像輸入,數據集中樣本圖像數量為6000,其中正向樣本數量為2000,反向樣本數量為4000,輸出層是對分類映射的二分類器,輸出結果為“是車牌”和“非車牌”。
3.字符識別
3.1色彩處理
為便于圖像中字符識別,將圖像灰度化、二值化為黑白圖像。進行圖片邊緣切割,通過從首尾兩側對圖像二維數據進行縮小,舍棄圖像邊緣部分以切除車牌邊框,避免邊框等不利因素對字符識別準確率造成影響。
3.2字符分割
采用投影法進行字符分割,對圖像進行水平、垂直像素統計,判斷出車牌中每個字符所在區域。我國標準車牌為統一的七個字符,垂直投影后,各字符間將再無異類像素點,因此得到的投影圖會出現7個大的波峰,從中得到字符起始點、分割間距、字符結束點等參數,由此進行字符分割,投影及分割效果如3圖所示。
3.3字符識別
訓練搭建的卷積神經網絡模型,將預處理后生成的圖像數據輸入模型,識別結果包含中國31個省的簡稱、除去字母I和O后的24個大寫英文字母、10個阿拉伯數字進行分類,輸出層為65分類器以分別對應以上65種字符,輸入值為每個分割出的字符圖像數據,輸出為在65個字符中具有最大概率的字符。模型訓練過程中,損失隨迭代次數趨勢圖像如圖4所示,訓練結束時,識別精度高達0.98。
4.測試結果分析
測試圖片來自數據集CCPD2019,CCPD2019是由中科大團隊建立,其中包含多類環境、角度下車輛圖像,選取100張不同背景、車牌大小的圖像進行檢測,經過圖像預處理,將圖像輸入訓練好的模型以進行分類,檢測結果輸出形式為控制臺打印,識別正確率為0.97,有3%的圖片識別失敗,統計結果如表1所示。
可以得出,訓練出的神經網絡模型在不同場景下車輛圖像有較高的識別率,但對于1%背景干擾性過強的圖像,仍存在不能準確截取車牌的情況,對于2%變形嚴重的車牌,存在分割后無法識別的情況,因此該方法在神經網絡模型搭建方面仍有優化的空間。
5.結語
本文基于卷積神經網路以及計算機圖像處理技術,設計了一種智能車牌識別方法,并利用python語言完了編程實現。該方法可識別現實道路環境下對車輛圖像,并完成對車牌圖像的準確截取、分割,輸入訓練模型中可準確輸出識別結果,測試準確率可達0.97,實現了各類環境下車牌的精準識別,為相關部門技術人員的工程實現提供了技術參考。(通訊作者:陳亞瑞)
參考文獻
[1]周志華.機器學習.Machine learning[M].清華大學出版社,2016.
[2]劉美. 彩色圖像灰度化算法的研究與實現[D].長春理工大學,2019.
[3]施鵬程,彭華.車牌識別系統的設計與實現[J].信息與電腦(理論版),2020,32(16):102-104.
[4]林云.基于OpenCV的車牌識別系統設計與實現[J].物聯網技術,2020,10(06):22-25.
[5]李清洲,潘為剛,王書新.基于Python-OpenCV的車牌識別系統[J].單片機與嵌入式系統應用,2020,20(09):59-62.
[6]劉保.基于神經網絡深度學習的車牌識別算法[J].中國交通信息化,2019(08):122-125+128.
[7]顧秀秀,朱明亮,吳瓊,史洪瑋.基于BP神經網絡的智能車牌識別系統[J].電腦知識與技術,2021,17(03):19-22.
[8]彭慧玲.基于DenseNet與ResNeXt算法的車牌定位識別方法研究[J].技術與市場,2020,27(10):23-26.
基金項目:本文系天津科技大學創新創業項目(項目編號:202010057171)資助
作者簡介:劉世豪(2000.03-),男,漢族,河南開封人,天津市濱海新區天津科技大學物聯網工程專業,本科生。
通訊作者:陳亞瑞(1982.10-),女,漢族,河北邢臺人,副教授,博士,研究方法機器學習、深度學習。
天津科技大學? ? 天津? ? 300457