張艷, 張宸嘉, 阿力非日, 劉丹
(1.西昌學院 語言和文化學院, 四川 西昌 615000; 2.云南電網公司, 云南 昆明 650000;3.西華師范大學 計算機學院, 四川 南充 637000)
車牌識別技術是目前智能交通系統中的核心技術之一,識別算法已經成為越來越多的研究學者所研究的熱點,國內外對車牌識別研究己達到較高水平。國外研究開始相對較早,取得了不錯的成就,但國外系統只適合于當地車牌,對我國車牌中漢字識別準確率低。國內雖然起步晚,但車牌識別研究也取得了很好的發展,并且已經開發了許多商用系統。國內比較成熟的產品有北京漢王科技有限公司開發的“漢王眼”車牌識別系統、廈門宸天電子科技有限公司研發的Supplate系列、深圳吉通電子有限公司研發的“車牌通”車牌識別產品、亞洲視覺科技有限公司研發的 VECON-VIS 自動識別系統等。但國內車牌識別系統需要近距離對車牌拍照,車牌圖像質量要求高,如果車牌本身歪斜、磨損、臟污或者光線干擾等都將影響識別準確率[1-3]。
早期學者使用簡單的方差閾值法進行車牌二值化處理,這樣做雖然簡單快速,但當有車牌本身歪斜、磨損、臟污或者有光線干擾時,該方法的識別效率難以提高。

臟污
基于模板匹配理論[4]提取字符特征作為模板進行匹配,有效減少了像素點個數,提高了識別效率,但是模板匹配法對于相似的字符區分能力差,同時受制于光線和天氣等復雜情況,在特征數據維數過大時效率較低。
BP神經網絡[5]具有良好的容錯能力、分類能力、并行處理能力和自學習能力,但BP神經網絡的性能與初始網絡權值、學習速率等參數的合理選擇相關,如果參數選擇不當,就會出現學習速度慢、局部最優和過擬合等缺陷,導致車牌識別錯誤率高。
卷積神經網絡是近年發展起來,并引起廣泛重視的一種高效識別方法。目前,卷積神經網絡已經成為研究熱點之一,特別是在模式分類領域,由于卷積神經網絡避免了對圖像復雜的前期預處理,可以直接輸入原始圖像,因而得到了廣泛的應用。
由于CNN具有良好的特征提取性能,因此本文將采用CNN識別車牌。對車牌識別,研究者進行了許多研究;文獻[6-7]采用深度神經網絡進行車牌識別;文獻[8]可視化了CNN學習到的特征,并且從這些特征中尋找改進神經網絡結構的方法;文獻[9]利用盲分割車牌方式對模糊度較高的車牌進行了分割研究;文獻[10]利用分階方式分別對車牌漢字字符識別模型與數字和字母識別模型做了研究。之后,又有學者對下述問題進行了研究和探討:由于光照不均勻或者其他干擾因素過強,容易出現字符分割不準確的問題;基于現有方法的組合,對神經網絡架構和訓練方法進行了改進;對受到清晰度和照明條件影響的車牌識別;采用Faster R-CNN算法進行車牌定位;采用卷積神經網絡對具有復雜背景圖像的車牌識別進行研究;研究基于深度學習的車牌識別系統的魯棒性等。本文針對車牌字符圖像形式多樣,導致收集一個完整的數據集異常艱難的角度出發,提出了基于模糊切割的單個局部車牌字符識別對比試驗。實驗結果表明,不僅識別時間短,而且識別正確率更高。

清晰
卷積神經網絡 (CNN,Convolutional Neural Network)是一種深度學習架構,卷積神經網絡能夠得出原始圖像的有效表征,這使得卷積神經網絡能夠直接從原始像素中,經過極少的預處理,識別視覺上的規律。
卷積神經網絡思想開始于上世紀60年代,1980年Kunihiko Fukushima 提出了CNN的前身—Neocognitron。1998年LeCun等發表論文,提出了 LeNet-5模型,確立了CNN的現代結構。作為CNN的早期版本,在手寫字符識別領域取得了突破性進展,但是受制于硬件條件低以及數據過少等問題,使得LeNet-5模型并不能處理過于復雜的問題。但之后隨著硬件的不斷升級以及互聯網爆炸式的增長,卷積神經網絡結構也開始越來越容易實現。在2012年的ImageNet競賽上,Hinton以及其學生Krizhevshy基于CNN提出的AlexNet結構一舉獲得當年競賽冠軍。這是一個網絡層數達5層,約65萬個神經元的龐大的神經網絡,在視覺處理上獲得了非常好的效果,達到了84.7%的分類準確率。至此,CNN獲得了社會上許多人的關注,越來越多的人開始研究CNN。隨后,研究人員不斷完善CNN結構,提出了基于候選區域的深度學習目標檢測算法R-CNN(Regions with CNN),能夠進行語義分割的全卷積網絡FCN(Fully Convolutional Network),還有許多表現優秀的網絡結構如VGGNet、GoogleNet、ResNet等。龐大的神經網絡,要耗費許多時間去訓練參數,而遷移學習概念的提出,使得CNN的應用范圍獲得進一步的提升。目前,CNN在目標檢測、圖像識別分類、文字識別等方面都獲得了不俗的表現,成為了當下火熱的研究熱點之一。
實現基于CNN模型的端到端整體識別與單個模糊切割局部字符識別的對比研究具體方案流程圖,如圖1所示。

圖1 基于CNN端到端的多字符整體識別與單個模糊切割局部字符識別的對比研究實驗
步驟1:制作實驗所需車牌圖片(完整的和模糊切割保留字符局部信息的),樣例如圖2所示。


(b) 保留局部關聯信息分割后的車牌
步驟2:構建相應的CNN模型。針對不同實驗的車牌圖片特點,構建CNN模型,設置相關參數。
步驟3:訓練模型。使用訓練集訓練構建的CNN模型,并保存訓練好的模型。
步驟4: 測試模型準確率、識別時間。使用測試集測試訓練好的兩種網絡模型的性能。
實現基于CNN模型的端到端圖像整體識別與部分模糊切割識別的對比研究,本文以完整的車牌字符和模糊切割后車牌識別為例,對比分析兩者的準確率、識別時間等差異,優化網絡結構。實驗的主要內容如下。
2.1.1 訓練和測試數據集準備
使用OpenCV和標準車牌的字體來隨機制作有污跡、噪聲、畸變的車牌,包括不同環境、不同傾斜程度,不同模糊程度的車牌圖片,同時生成車牌標簽;然后將對比試驗的車牌按字符區域進行縮放切割,此外無需再做其他任何預處理。
2.1.2 構建CNN模型
根據兩種車牌圖片的特點,構建CNN模型訓練整體車牌圖像與部分模糊切割后的車牌圖像,設計相應的網絡結構,設置網絡相關參數,訓練網絡,保存訓練好的模型,本文所用的CNN網絡結構如圖3、圖4所示。

圖3 完整車牌識別網絡

圖4 單個車牌識別網絡
2.1.3 測試網絡性能
測試網絡性能并對比研究兩種訓練方式的準確率和識別時間。使用測試集測試訓練好的兩種網絡模型,記錄兩者的準確率和識別時間。
本文所使用的實驗環境如下。
硬件平臺:處理器Intel(R)Xeon(R) CPU E5-2630 v2,16 GB內存,1 TB硬盤,8 GB獨顯GPU NVIDIA Quadro K4000;操作系統:windows 10;深度學習技術開發平臺:PyCharm。
語言工具:Python3.5+Mxnet。
(1) 實驗數據準備,包括測試集和訓練集
采用圖像融合技術,將標準車牌背景、標準車牌字符、各種車身背景融合在一起,同時加入污跡、噪聲、不同光線、畸變圖像處理,模擬得到各種樣式的車牌。構建包含52萬張完整車牌圖像的數據集,其中訓練集包含50萬張,測試集包含2萬張。構建包含70萬張(由10萬張完整車牌經模糊切割得到)單個字符圖像的數據集,其中訓練集63萬張(由9萬張完整車牌經模糊切割得到),測試集7萬張(由1萬張完整車牌切割得到)。
(2) 基于CNN的端到端多字符整體識別
以中國車牌字符識別為例,由于我國車牌有7個固定字符,故將7個字符組成的車牌看作一個多字符組成的整體圖像,即看作帶有7個有序標簽的圖像識別問題。在構建CNN網絡模型時,設計7個全連接層,讓7個位置的車牌字符同時學習,采用多標簽分類的方法直接輸出多個標簽,即直接輸出整張車牌的字符,準確率計算需要7個字符全對才算此車牌圖像識別正確。
(3) 基于CNN的端到端單個字符識別
將車牌圖像按字符所在區域進行模糊切割,保留單個字符完整信息和字符周圍局部關聯信息,得到7個包含單個字符的局部圖像。設計構建識別單個字符的CNN網絡模型,將7個局部圖像分別輸入CNN網絡模型進行訓練和識別。一張車牌7個字符識別正確才算成功識別車牌。
識別準確率和識別時間對比如表1所示。

表1 識別準確率和識別時間對比
傳統方法將單個字符準確切割后再進行識別,按傳統思想這樣準確切割后字符更容易識別。目前我們的實驗結果表明,單個字符準確切割后比整體識別準確率更高。我國車牌由7位字符組成,包含代表31個省份的漢字,24個大寫英文字母和10個數字(共65個字符),純字符的組合形式高達765種,再加上車牌顏色、天氣情況、復雜背景、噪聲點、扭曲旋轉、遮擋等干擾因素,導致收集一個包含所有樣式的車牌圖像數據庫變得異常困難。在單個識別時嘗試采用模糊切割字符方式,每個字符圖像除了字符本身外,還包括周圍的圖像信息,這種方式可以提供更多的相同字符圖像的樣式,利于網絡訓練。
本文在充分分析車牌字符特征的基礎上,針對字母和數字字符所組成的完整車牌和經模糊切割后的單個字符車牌基于CNN分別進行了識別實驗,對比分析多字符整體識別與模糊切割后保留局部信息的單字符識別的網絡結構和識別性能,找出影響識別率的因素并優化網絡,為進一步提高車牌識別率提供可行的改進措施,最終獲得最優的車牌識別方法。實驗表明,保留局部信息關聯的單個字符切割后比整體車牌字符的識別準確率更高,識別時間短。由于所研究的字符數量有限,因此無法驗證保留局部信息的單個字符是否適合所有情形,比如一段連續的文字,今后將繼續收集其他方面的字符圖像對其進行研究識別。