文/童朝娣
卷積神經網絡(CNN)是一種非常先進的前饋型人工神經網絡,經過多年的發展和應用,已經在圖像識別、特征提取、文本檢索、基因表達、智能制造等領域得到廣泛普及和使用,取得了良好的效果。卷積神經網絡包括兩個卷積層,分別是特征提取層和特征映射層。特征提取層的輸入神經元與前一層局部連接,可以提取局部特征,將特征與特征位置關系確定好。特征映射層可以將特征映射到一個平面上,每一個平面上的神經元擁有相同的權值。卷積神經網絡利用Sigmoid函數作為激活函數,使得特征及其映射具有位移不變性,大幅度減少設置的自有參數數量。另外,輸入層可以針對接收到圖像信息進行預處理,比如灰度處理、二值化處理等,可以避免圖像中隱含較多的噪聲數據。池化層可以壓縮數據的大小以及參數的數量,池化層也是過度擬合問題解決的層,能夠壓縮圖像確保卷積神經網絡算法執行不至于陷入到過度擬合狀態。全連接層也即是分類器,能夠將學習到的分布式特征映射到一個標記空間,這樣就可以提高算法的可用性和可解釋性。卷積神經網絡的結構如圖1所示。
本文利用卷積神經網絡識別車牌字符,算法應用步驟如下所述:
圖1:卷積神經網絡的結構
(1)生成車牌數據集。本文采集兩萬副車牌數據,這些車牌數據受到不同的光照、傾斜角度、遮擋程度等噪聲干擾,車牌字符數據歸一化處理后利用垂直投影法切割,刪除漢字及字母后,獲取了十個阿拉伯數字的個數。
(2)數據預處理(輸入層)。針對所有的0-1數字字符進行標記,構建一個包含10000張圖片的訓練集和包含3000張圖片的測試集,針對字符進行灰度化預處理,將圖片大小統一設置為28×28像素保存到數據集。
(3)卷積神經網絡訓練。車牌字符識別模型訓練時,本文使用ReLU激活函數,加快卷積神經網絡的收斂速度,減少網絡設置參數。卷積層Conv1由20個4×4的卷積核與輸入圖像進行卷積,卷積步長為2,得到20個13×13的特征圖;卷積層Conv2的卷積核大小為3×3,卷積步長為2,卷積后得到50個6×6的特征圖;卷積層Conv3的卷積核大小為3×3,卷積步長為1,卷積后生成60個4×4的特征圖;池化層步長為2,采樣后可以獲取80個2×2的特征圖;全連接層1神經元個數為100;全連接層2的神經元個數為10。Conv1、Conv2、Conv3、池化層1、全連接層1的激活函數均為ReLU函數,全連接層2的激活函數sigmoid激活函數。
(4)卷積神經網絡訓練完成之后可以進行測試,測試結果顯示準確度可以到98.2%,能夠滿足車牌字符識別需求。
目前,卷積神經網絡識別車牌字符的過度擬合問題解決方法包括三種,詳細描述如下:
過度擬合產生的重要原因之一就是缺乏有效的訓練樣本,同時學習參數的個數大幅度增加,此時就無法獲得一個良好的學習模型。因此,Data Augmentation就可以解決卷積神經網絡樣本缺乏的問題,增加一個多樣化的樣本熟練,可以更加準確的訓練學習參數,讓卷積網絡的參數能夠學習每一種現實環境下的車牌字符,提高學習模型的泛化了能力,車牌字符Data Augmentation的方法包括到車管所采集各類型車牌,同時對已有的車牌數據進行不同角度和強度的光照、Crop或Flip操作,也可以利用車牌生成模型獲取不同類型的人工數據。
目前,weight decay方法主要包括L1和L2正則化兩種,L1可以獲得更加稀疏的參數,確保在卷積神經網絡損失函數可控的情況下,建設參數設置的數量,進一步提高泛化能力。
卷積神經網絡識別車牌字符時可以設置兩個數據集,訓練集和驗證集,算法執行時可以評估兩個數據集的準確度,一旦訓練集準確度提升且驗證集準確度下井,就表明學習模型泛化能力變差,此時就可以終止算法,獲得一個較好的卷積神經網絡模型。
車牌字符識別可以有效提高交通監控能力,也可以為未來無人駕駛提供技術支撐。本文在車牌字符識別中引入了卷積神經網絡,利用先進的深度學習方法準確識別車牌,同時給出了算法過度擬合的解決措施,進一步改進車牌字符識別算法的準確度和可靠性。