本發(fā)明屬于圖像處理及模式識別技術領域,特別涉及一種基于深度卷積神經(jīng)網(wǎng)絡的車牌識別方法。
背景技術:
車牌識別技術是現(xiàn)代智能交通系統(tǒng)中的關鍵技術,在日常生活中得到了廣泛的應用,當今深度學習已經(jīng)成為了計算機模式識別領域研究的熱門,利用深度學習算法能夠提升車牌識別的識別率,對提升車牌識別系統(tǒng)的魯棒性具有重要的意義。
現(xiàn)有技術中的車牌識別方法在惡劣天氣下、晚上、角度過于傾斜的情況下對車牌的識別率依然不高,字符模糊影響到了特征提取,特殊字符識別容易混淆,如8與B、2與Z、0與D、5與S等,因此亟需提出一種當車牌字符處在惡劣環(huán)境下提升車牌字符的識別率和魯棒性的車牌識別方法。
技術實現(xiàn)要素:
本發(fā)明為了克服上述現(xiàn)有技術的不足,提供了一種基于深度卷積神經(jīng)網(wǎng)絡的車牌識別方法,本發(fā)明能夠提高車牌識別的準確率,而且當車牌字符處在惡劣環(huán)境下能夠提升車牌字符的識別率和魯棒性。
為實現(xiàn)上述目的,本發(fā)明采用了以下技術措施:
一種基于深度卷積神經(jīng)網(wǎng)絡的車牌識別方法,包括以下步驟:
S1、對車輛圖像進行車牌檢測得到車牌;
S2、將已檢測的車牌進行圖像分割得到車牌字符,將所述車牌字符作為訓練樣本;
S3、對所述訓練樣本進行隨機采樣得到訓練樣本塊集,將所述訓練樣本塊集輸入至深度自編碼器來實現(xiàn)訓練深度自編碼器;
S4、將經(jīng)過訓練的深度自編碼器作為卷積神經(jīng)網(wǎng)絡的卷積核,提取所述訓練樣本塊集的卷積特征,再對訓練樣本塊集的卷積特征進行池化操作,得到所述訓練樣本塊集的特征向量;
S5、對所述訓練樣本塊集的特征向量進行歸一化處理,將歸一化處理的訓練樣本塊集的特征向量送入SVM分類器來實現(xiàn)訓練SVM分類器;
S6、對待識別車輛進行識別。
優(yōu)選的,采用adaboost方法對車輛圖像進行車牌檢測得到車牌。
優(yōu)選的,所述車牌檢測具體包括以下步驟:
S11、對車輛圖像進行預處理;
S12、再提取車牌的Haar特征,然后訓練adaboost級聯(lián)分類器;
S13、采用所述adaboost級聯(lián)分類器進行車牌檢測。
優(yōu)選的,所述訓練深度自編碼器具體包括以下步驟:
S31、預訓練:設計具備四個隱層的深度自編碼器,四個隱層的隱藏節(jié)點分別為200、200、100、50;
S311、利用前向傳導計算公式,求卷積神經(jīng)網(wǎng)絡中四個隱層以及輸入層的激活值;
S312、計算卷積神經(jīng)網(wǎng)絡的輸出層即為第ni層中每一個輸出單元i的殘差,其計算公式如下:
其中,J(W,b;x,y)為訓練樣本(x,y)的損失函數(shù),hW,b(x)為恒等函數(shù),為第i輸入單元總的加權和,W為權重,b為偏置項,yi為第i個樣本的縱坐標,為第i個單元ni的激活值,為第ni層第i輸入單元總的加權和;
S313、利用第l+1層即為卷積神經(jīng)網(wǎng)絡中四個隱層、輸入層以及輸出層的殘差計算第l層的殘差,其計算公式如下:
其中,為第l層的權值,為第l+1的殘差,sl+1為第l+1層的節(jié)點數(shù),為第nl層第i輸入單元總的加權和;
S314、計算J(W,b;x,y)的偏導數(shù),其計算公式如下:
為第l層第i個單元與第j個單元的連接權值,為第l層第j個單元的激活值,為第l層第i個單元的偏置項;
S315、采用梯度下降法對參數(shù)W和b進行迭代更新,將卷積神經(jīng)網(wǎng)絡中四個隱層、輸入層以及輸出層采用正態(tài)分布將參數(shù)W和b初始化為接近0的數(shù)值;
S316、對于i=1到m,使用反向傳播算法計算和再利用和計算出和
S317、更新權重參數(shù):
為第l層J(W,b;x,y)對W的偏導數(shù),為第l層J(W,b;x,y)對b的偏導數(shù),α為學習速率,m為訓練樣本的個數(shù),W(l)為第l層的權值,ΔW(l)為第l層J(W,b;x,y)對W的偏導的增量,λ為特征值,b(l)為第l層的偏置,Δb(l)為第l層J(W,b;x,y)對b偏導的增量;
S318、重復步驟S311~S317操作,求出損失函數(shù)J(W,b)的最小值,解出接近最優(yōu)的卷積神經(jīng)網(wǎng)絡模型;
S32、微調:對所述深度自編碼器的所有參數(shù)進行二次調整,具體步驟如下:
S321、使用前向傳播計算層即為四個隱層、輸入層以及輸出層的激勵響應;
S322、對輸出層nl層,令
S323、對于l=nl-1,nl-2,nl-3,...,2,令σ(l)=((W(l))Tσ(l+1))·f'(z(l))
為代價函數(shù)的導數(shù),z(l)為l層的加權和;
S324、計算所需要的偏導數(shù):
S325、更新權重參數(shù):
S326、重復步驟S321~S325操作,進一步優(yōu)化卷積神經(jīng)網(wǎng)絡參數(shù),得到最優(yōu)化的卷積神經(jīng)網(wǎng)絡模型。
進一步的,所述訓練SVM分類器具體包括以下步驟:
S51、將所述訓練樣本塊集的特征向量進行歸一化處理;
S52、根據(jù)選定的線性核函數(shù)分別計算每個SVM分類器中的特征向量的特征相關值;
S53、根據(jù)所述特征相關值計算協(xié)方差矩陣空間;
S54、對所述協(xié)方差矩陣空間進行HouseHolder變換;
S55、計算SVM分類器的特征系數(shù);
S56、獲取SVM分類器的模型參數(shù)。
進一步的,步驟S6的具體操作步驟包括:
S61、對待識別車輛圖像進行車牌檢測;
S62、將已檢測的車牌進行圖像分割得到測試車牌字符,將所述測試車牌字符作為測試樣本;
S63、將所述測試樣本塊集輸入至卷積神經(jīng)網(wǎng)絡;
S64、利用經(jīng)過訓練的深度自編碼器提取所述測試樣本塊集的卷積特征,并對測試樣本塊集的卷積特征進行池化操作,得到特征向量;
S65、將所述特征向量送入經(jīng)過訓練的SVM分類器得到車牌識別結果。
更進一步的,所述預處理依次包括采用直方圖處理、高斯濾波算法處理。
本發(fā)明的有益效果在于:
1)、本發(fā)明通過訓練深度自編碼器和SVM分類器來對待識別的車輛進行檢測,與現(xiàn)有技術相比大大提高了車牌識別的準確率,而且當車牌字符處在惡劣環(huán)境下能夠提升車牌字符的識別率和魯棒性。
2)、所述訓練深度自編碼器具體包括預訓練和微調兩個階段,在預訓練的過程中設計具備四個隱層的深度自編碼器,四個隱層的隱藏節(jié)點分別為200、200、100、50,設計特定的隱藏節(jié)點大大降低了本發(fā)明的訓練時間,增強了車牌識別的準確率。
附圖說明
圖1為本發(fā)明的原理圖;
圖2為本發(fā)明的流程圖;
圖3為本發(fā)明的訓練SVM分類器的流程圖;
圖4為本發(fā)明的對待識別車輛進行測試的流程圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1、2所示,一種基于深度卷積神經(jīng)網(wǎng)絡的車牌識別方法,包括以下步驟:
S1、對車輛圖像進行車牌檢測得到車牌;
S2、將已檢測的車牌進行圖像分割得到車牌字符,將所述車牌字符作為訓練樣本;
S3、對所述訓練樣本進行隨機采樣得到訓練樣本塊集,將所述訓練樣本塊集輸入至深度自編碼器來實現(xiàn)訓練深度自編碼器;
S4、將經(jīng)過訓練的深度自編碼器作為卷積神經(jīng)網(wǎng)絡的卷積核,提取所述訓練樣本塊集的卷積特征,再對訓練樣本塊集的卷積特征進行池化操作,得到所述訓練樣本塊集的特征向量;
S5、對所述訓練樣本塊集的特征向量進行歸一化處理,將歸一化處理的訓練樣本塊集的特征向量送入SVM分類器來實現(xiàn)訓練SVM分類器;
S6、對待識別車輛進行識別。
采用adaboost方法對車輛圖像進行車牌檢測得到車牌。
所述車牌檢測具體包括以下步驟:
S11、對車輛圖像進行預處理;
S12、再提取車牌的Haar特征,然后訓練adaboost級聯(lián)分類器;
S13、采用所述adaboost級聯(lián)分類器進行車牌檢測。
所述預處理依次包括采用直方圖處理、高斯濾波算法處理。
對海量的車輛圖像進行預處理,將車牌統(tǒng)一像素大小至28×18,選擇車輛圖像的正樣本10000張,反樣本15000張,對車輛圖像進行直方圖處理消除光照影響,采用高斯濾波算法處理消除噪聲影響,提取車牌的Haar特征,訓練adaboost級聯(lián)分類器,將已檢測的車牌進行圖像分割得到車牌字符,將所述車牌字符作為訓練樣本,將車牌字符像素大小統(tǒng)一至19×38。
所述訓練深度自編碼器具體包括以下步驟:
S31、預訓練:設計具備四個隱層的深度自編碼器,四個隱層的隱藏節(jié)點分別為200、200、100、50;;設計特定的隱藏節(jié)點大大降低了本發(fā)明的訓練時間,增強了車牌識別的準確率。
S311、利用前向傳導計算公式,求卷積神經(jīng)網(wǎng)絡中四個隱層以及輸入層的激活值;
S312、計算卷積神經(jīng)網(wǎng)絡的輸出層即為第ni層中每一個輸出單元i的殘差,其計算公式如下:
其中,J(W,b;x,y)為訓練樣本(x,y)的損失函數(shù),hW,b(x)為恒等函數(shù),為第i輸入單元總的加權和,W為權重,b為偏置項,yi為第i個樣本的縱坐標,為第i個單元ni的激活值,為第ni層第i輸入單元總的加權和;
S313、利用第l+1層即為卷積神經(jīng)網(wǎng)絡中四個隱層、輸入層以及輸出層的殘差計算第l層的殘差,其計算公式如下:
其中,為第l層的權值,為第l+1的殘差,sl+1為第l+1層的節(jié)點數(shù),為第nl層第i輸入單元總的加權和;
S314、計算J(W,b;x,y)的偏導數(shù),其計算公式如下:
為第l層第i個單元與第j個單元的連接權值,為第l層第j個單元的激活值,為第l層第i個單元的偏置項;
S315、采用梯度下降法對參數(shù)W和b進行迭代更新,將卷積神經(jīng)網(wǎng)絡中四個隱層、輸入層以及輸出層采用正態(tài)分布將參數(shù)W和b初始化為接近0的數(shù)值;
S316、對于i=1到m,使用反向傳播算法計算和再利用和計算出和
S317、更新權重參數(shù):
為第l層J(W,b;x,y)對W的偏導數(shù),為第l層J(W,b;x,y)對b的偏導數(shù),α為學習速率,m為訓練樣本的個數(shù),W(l)為第l層的權值,ΔW(l)為第l層J(W,b;x,y)對W的偏導的增量,λ為特征值,b(l)為第l層的偏置,Δb(l)為第l層J(W,b;x,y)對b偏導的增量;
S318、重復步驟S311~S317操作,求出損失函數(shù)J(W,b)的最小值,解出接近最優(yōu)的卷積神經(jīng)網(wǎng)絡模型;
S32、微調:對所述深度自編碼器的所有參數(shù)進行二次調整,具體步驟如下:
S321、使用前向傳播計算層即為四個隱層、輸入層以及輸出層的激勵響應;
S322、對輸出層nl層,令
S323、對于l=nl-1,nl-2,nl-3,...,2,令σ(l)=((W(l))Tσ(l+1))·f'(z(l))
為代價函數(shù)的導數(shù),z(l)為l層的加權和;
S324、計算所需要的偏導數(shù):
S325、更新權重參數(shù):
S326、重復步驟S321~S325操作,進一步優(yōu)化卷積神經(jīng)網(wǎng)絡參數(shù),得到最優(yōu)化的卷積神經(jīng)網(wǎng)絡模型。
如圖3所示,所述訓練SVM分類器具體包括以下步驟:
S51、將所述訓練樣本塊集的特征向量進行歸一化處理;
S52、根據(jù)選定的線性核函數(shù)分別計算每個SVM分類器中的特征向量的特征相關值;
S53、根據(jù)所述特征相關值計算協(xié)方差矩陣空間;
S54、對所述協(xié)方差矩陣空間進行HouseHolder變換;
S55、計算SVM分類器的特征系數(shù);
S56、獲取SVM分類器的模型參數(shù)。
如圖1、4所示,對待識別車輛進行測試。
S61、對待識別車輛圖像進行車牌檢測;
S62、將已檢測的車牌進行圖像分割得到測試車牌字符,將所述測試車牌字符作為測試樣本;
S63、將所述測試樣本塊集輸入至卷積神經(jīng)網(wǎng)絡;
S64、利用經(jīng)過訓練的深度自編碼器提取所述測試樣本塊集的卷積特征,并對測試樣本塊集的卷積特征進行池化操作,得到特征向量;
S65、將所述特征向量送入經(jīng)過訓練的SVM分類器得到車牌識別結果。
表一為在惡劣環(huán)境下,如下雨天或夜里通過不同車牌識別方法來識別車牌的識別率與時間效率的對比。
表一:
通過表一的測試結果可以看出,本發(fā)明所提出的基于深度卷積神經(jīng)網(wǎng)絡的車牌識別方法在識別率與性能上均優(yōu)于現(xiàn)有技術的其他方法,而且時間效率也相對較短,其應用有效并合理,大大提高了車牌識別的準確率,而且當車牌字符處在惡劣環(huán)境下能夠提升車牌字符的識別率和魯棒性,本發(fā)明所提出的方法具有較強的實用價值。