史敏紅,李樹文,楊 志
(山西工程職業學院,山西 太原 030032)
卷積神經網絡的起源是生物學原理。20世紀60年代,生物學家HUBEL和WIESEL[1]發現了貓的神經系統組織原理。貓的視覺皮層細胞從視網膜獲取視覺信息,完成信息轉換。日本學者基于此提出了卷積神經網絡基礎模型,由此開啟了卷積神經網絡(Convolutional Neural Networks,CNN)的研究[2]。后來,各國計算機研究人員開始對CNN模型進行研究,經典的卷積神經網絡模型有GoogLeNet、AlexNet及VGGNet。李英等[3]將GoogLeNet模型應用于遙感圖像的識別分類中,解決了在復雜的圖像背景干擾下,傳統圖像處理的分類算法識別效率低下的問題。張素智等[4]將AlexNet網絡進行改進,在算法的損失函數中加入了正則項,降低了特征信息的擬合曲線抖動的幅度,最終提高了破損輪胎圖像的訓練準確率,同時提高了破損輪胎的識別效率。
在城市化進程的發展過程中,人們出行時越來越傾向于選擇私家車,智能化交通管理成為未來發展的大方向。作為智能化交通管理體系的重要核心,智能車牌識別被廣泛地應用于居民小區、大型商場及大部分公共場所。隨著人工智能的發展,圖像識別已經覆蓋了人類社會的多個領域,包括醫學、智能制造、農業等。傳統的圖像識別主要是基于像素級的,需要對圖像進行預處理,這會影響圖像識別的整體速率。鑒于卷積神經網絡在圖像識別方面的優良性能,近年來,將卷積神經網絡應用于圖像處理領域變得越來越廣泛。卷積神經網絡在進行圖像融合時,不需要對圖像進行前期的預處理,可以加快圖像識別的進程。崔子越等[5]將VGGNet模型進行改進,和Focal Loss相結合,提高了圖像識別的準確率,提升了特征提取能力,避免了過擬合的問題,并且通過實驗證實了算法的有效性。
CNN是由可學習權重和偏置常量的神經元組成的前饋控制神經網絡,具有卷積計算的特征。CNN整體結構包括卷積層、池化層、線性整流層及全連接層。卷積層利用卷積操作對輸入的圖像進行處理,提取圖片的有效特征;池化層對圖像進行縮小,降低特征圖的數量;線性整流層使用線性整流激活函數,對于輸入圖像中的每個正值,返回相同的值;全連接層在輸出層使用softmax激活函數,對處理好的圖像進行分類處理,最后將分類結果輸出[6]。CNN模型結構如圖1所示。

圖1 CNN模型結構圖
(1)輸入層即INPUT層,圖1顯示,輸入圖像為字母A圖像,圖像大小為36×28。
(2)C1為卷積層,得到4個32×24的特征圖(feature maps),每個卷積核大小為5×5,共用了4個卷積核。
(3)S2為采樣層(subsampling)。每個C1層的特征圖經過下采樣變成大小為16×12的特征圖,每個采樣窗口大小為2×2。
(4)C3為卷積層,得到12個大小為12×8的特征圖,每個特征圖都是S2層4個特征圖卷積的累加,每個卷積核大小為5×5,共12×8個卷積核。
(5)S4采樣層對C3層的每個特征圖進行下采樣,得到12個大小為6×4的特征圖,每個采樣窗口大小為2×2。
(6)接下來的F5層將上一層的12個特征圖降維,轉換連接成一個向量。向量一共包含12×6×4即288個神經元,反向傳播計算時進行逆運算,將向量逆變換成12個特征圖。
(7)輸出層(OUTPUT)是由34個神經元構成的向量,對應34個字符的輸出。最后的Softmax分類器由F5層和輸出層構成。
國內外研究人員對車牌識別的研究始于20世紀80年代。車牌識別的算法很多,包括傳統的基于像素級別的圖像識別方法、基于數學形態學的方法(如對圖像進行平滑、二值化、模糊處理、邊緣檢測和圖像分割等,為圖像的識別做好前期的預處理工作),近年來出現新的人工智能算法,如機器學習和神經網絡算法,在圖像融合的過程中表現出良好的性能優勢。
在車牌圖像識別的過程中,外界環境因素如光線變化、霧霾天氣及公路上的障礙物遮擋等,對車牌識別造成的影響較大。前期車牌識別技術進展較慢,圖像識別中很多數據需要計算,識別的實時性差,因此沒有得到良好的應用。為了解決以上問題,目前車牌識別主要采取紅外照明攝像或者采用專用的傳感器來提高圖像拍攝的質量。盡管在一定程度上提高了識別率,但是專用傳感器造成系統投入的成本過大,設備應用領域比較窄。因此開發一款經濟、高效的智能車牌識別系統,成為研究人員亟待解決的難題。
車牌識別一般發生在戶外。戶外的天氣狀況多變,會對車牌的識別造成一定的干擾。霧霾天氣和強光照射的天氣對車牌圖像的識別影響較大。圖2所示為強霧霾天氣和夜間遠光燈照射下拍攝的車牌圖片。如圖2所示,車牌的數字比較模糊,影響識別的效率和準確率。

圖2 不同環境下拍攝的車牌圖
車牌識別的整個過程包括車牌定位、車牌預處理、字符分割、字符識別以及獲取車牌號相關信息(車牌、車型及車速等)。國內的車牌一般由漢字、大寫的英文字符(不含O和I)以及數字共7位構成,包括漢字字符。除去省份縮寫和城市代碼,車牌主體部分包含數字和字母共34個字符(其中包含10個數字字符和24個字母字符,不含字母O與I)。進行車牌識別時,需要對車牌字符進行預處理,車牌字符訓練的原始數據來源于網絡[7]。實驗環境為Windows 10操作系統,Anaconda+TensorFlow+PyCharm環境。
車牌的字符結構比較簡單,針對圖像本身的特點,可以采用LeNet-5結構,既能滿足正確識別率的要求,又能減少識別的時間。陶星珍等人[8]將深度學習模型LeNet-5應用于車牌識別中,解決了漢字識別效率低和識別速率慢的問題。在該方法中,LeNet-5結構可以降低圖像特征的提取難度,提高識別的效率和識別的速度,提高圖像識別的正確率。趙彩敏等人[9]將改進的LeNet-5卷積神經網絡用于人臉表情識別中,加上Z-score標準化處理,激活函數使用了性能更優良的Relu函數,減少了梯度彌散的問題,使得算法識別率達到79.81%。LeNet-5卷積神經網絡的結構如圖3所示。

圖3 LeNet-5卷積神經網絡結構圖
為了驗證卷積神經網絡在智能交通車牌識別中的有效性,本文運用此方法,對車牌識別進行 訓練。
利用卷積神經網絡實現智能車牌識別的過程分為以下幾個步驟:
(1)完成環境的搭建,對省份、城市代碼及車牌編號的卷積神經網絡訓練代碼進行調試;
(2)對省份進行訓練與識別(實驗選取3個省份:京、蘇、滬);
(3)對每個省份對應的城市代碼(包含英文大寫字母,不含O和I,共24個)進行訓練與識別;
(4)對車牌編號進行識別(包含英文大寫字母和數字0~9,共34個)。
圖4展示了部分車牌字符識別訓練的圖像集合,圖像來源于文獻[7]。

圖4 車牌字符識別訓練圖像部分集合
圖像采用網絡車牌號碼,車牌圖像如圖5所示。將圖像拍攝出來,用訓練模型進行訓練,最后通過模型得到識別后的車牌號碼。

圖5 車牌圖片
用卷積神經網絡對省份進行訓練識別,結果如圖6所示。

圖6 省份識別結果圖
識別城市代號結果如圖7所示。

圖7 城市代碼識別結果圖
最終識別出的車牌編號結果如圖8所示。

圖8 車牌編號識別結果圖
隨著計算機技術的不斷發展與成熟,人工智能技術在生活中發揮的作用越來越大,其中,以深度學習為代表的各種算法應用如自動駕駛、智慧城市、智能醫療、圖像處理及人臉識別等,表現出優良的性能,大大提高了使用單位的工作效率,極大地方便了人們的生活。在深度學習領域,卷積神經網絡算法使用最為廣泛,其將二維圖像作為向量進行輸入,通過卷積計算,提取圖像的各類特征信息,最后通過分類器實現圖像特征識別。算法提高了圖像特征提取能力和識別的準確率,實驗結果證明算法在車牌識別中性能良好,具有應用和推廣價值。