歐先鋒,向燦群,湛西羊,彭 鑫,石云鎖
基于CNN的車牌數(shù)字字符識(shí)別算法
歐先鋒1,2,向燦群1,2*,湛西羊3,彭 鑫1,2,石云鎖4
(1. 湖南理工學(xué)院 信息與通信工程學(xué)院,湖南 岳陽 414006;2.復(fù)雜系統(tǒng)優(yōu)化與控制湖南省普通高等學(xué)校重點(diǎn)實(shí)驗(yàn)室,湖南 岳陽 414006;3.深圳大學(xué) 信息工程學(xué)院, 廣東 深圳 518060;4.廣州杰賽科技股份有限公司, 廣州 510300)
針對(duì)傳統(tǒng)車牌識(shí)別算法識(shí)別率低、魯棒性差等問題,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)車牌數(shù)字字符識(shí)別算法。在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上用ReLU激活函數(shù)代替?zhèn)鹘y(tǒng)的Sigmoid激活函數(shù),引入卷積步長(zhǎng)等操作,不僅加速網(wǎng)絡(luò)的收斂,而且降低了網(wǎng)絡(luò)參數(shù)的數(shù)量。實(shí)驗(yàn)結(jié)果表明:與傳統(tǒng)特征提取算法相比,該算法識(shí)別率最高,達(dá)到95.2%,識(shí)別率波動(dòng)范圍小,魯棒性強(qiáng)。
車牌識(shí)別;卷積神經(jīng)網(wǎng)絡(luò);字符識(shí)別
車牌識(shí)別技術(shù)是智能交通系統(tǒng)中重要的應(yīng)用,已經(jīng)廣泛應(yīng)用到很多領(lǐng)域,如高速公路不停車收費(fèi)、停車場(chǎng)管理、交通監(jiān)控等。車牌字符識(shí)別是車牌識(shí)別技術(shù)中最重要的環(huán)節(jié),國(guó)內(nèi)外學(xué)者對(duì)此展開了廣泛研究。文獻(xiàn)[1-3]采用了基于BP神經(jīng)網(wǎng)絡(luò)的車牌字符識(shí)別方法,BP神經(jīng)網(wǎng)絡(luò)在字符識(shí)別上具有一定魯棒性,但是當(dāng)網(wǎng)絡(luò)過于龐大時(shí)難以收斂;訓(xùn)練好的網(wǎng)絡(luò)對(duì)噪聲干擾較小的字符能有效地識(shí)別,但是對(duì)于較為模糊的字符則不可行。文獻(xiàn)[4]提出了一種基于特征匹配的車牌識(shí)別方法,在字符圖像特征的基礎(chǔ)上,以待識(shí)別字符與模板字符之間特征的相似性作為分類標(biāo)準(zhǔn)。相比模板匹配算法具有更好效果,但在實(shí)際運(yùn)用中對(duì)噪聲干擾要求高,識(shí)別準(zhǔn)確率低。針對(duì)傳統(tǒng)算法在識(shí)別率與魯棒性低的問題,本文提出了一種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來進(jìn)行車牌數(shù)字字符識(shí)別,實(shí)驗(yàn)結(jié)果表明:該方法在車牌字符識(shí)別上具有一定的實(shí)用價(jià)值。
1.1 CNN網(wǎng)絡(luò)結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)是一個(gè)多層前饋網(wǎng)絡(luò),每一層由多個(gè)卷積特征圖組成,每一個(gè)特征圖又由多個(gè)神經(jīng)元組成,如圖1所示。
網(wǎng)絡(luò)輸入為一個(gè)二維矩陣,經(jīng)過卷積核的作用傳遞到網(wǎng)絡(luò)中間層的卷積層(C層)和抽樣層(S層),卷積層與抽樣層交替出現(xiàn),輸出層為全鏈接方式的前饋網(wǎng)絡(luò),輸出層的維數(shù)由分類任務(wù)中的類別數(shù)決定。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
卷積神經(jīng)網(wǎng)絡(luò)通過結(jié)構(gòu)上的局部相連、權(quán)值共享、下采樣等,不僅可以很好地控制整個(gè)網(wǎng)絡(luò)的規(guī)模,而且可以實(shí)現(xiàn)網(wǎng)絡(luò)對(duì)識(shí)別圖像在位移、縮放和扭曲等形變的魯棒性。
1.1.1 輸入層
卷積神經(jīng)網(wǎng)絡(luò)的輸入層直接接收二維視覺模式(如二維圖像),能自動(dòng)提取原始圖像數(shù)據(jù)特征、學(xué)習(xí)分類器,不需要人工參與到過程中去選擇或設(shè)計(jì)合適特征作為輸入,大大減少人工預(yù)處理過程,有助于學(xué)習(xí)與當(dāng)前分類任務(wù)最為有效的視覺特征。
1.1.2 卷積層
卷積層即為特征抽取層,每個(gè)卷積層包含多個(gè)卷積核。卷積核由多個(gè)神經(jīng)元組成,是對(duì)前一層的輸入數(shù)據(jù)做特征提取。每一個(gè)卷積核能夠提取一個(gè)相應(yīng)的特征,具體的提取特征由每一個(gè)卷積核中神經(jīng)元的權(quán)重決定。相對(duì)于一般的前饋網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)中卷積核的引入大大降低了網(wǎng)絡(luò)參數(shù)。
為進(jìn)一步降低網(wǎng)絡(luò)參數(shù),卷積神經(jīng)網(wǎng)絡(luò)采用卷積核共享方式。當(dāng)卷積層的一個(gè)卷積核對(duì)輸入層的不同區(qū)域作卷積時(shí),卷積核的權(quán)值不變,即一個(gè)卷積核只用來提取前一層網(wǎng)絡(luò)中不同位置的同一個(gè)特征。這個(gè)假設(shè)源于圖像處理的實(shí)際經(jīng)驗(yàn):即如果一種特征在圖像中某個(gè)區(qū)域很有效,那么這個(gè)特征在圖像的其他區(qū)域也可能很有效。這種方法不僅降低了網(wǎng)絡(luò)參數(shù),而且能夠增加整個(gè)網(wǎng)絡(luò)的魯棒性,一種特征不管在前一層網(wǎng)絡(luò)的什么位置,均能被檢測(cè)出來并將其用于分類。
隨著卷積層層數(shù)的增加,能夠?qū)⒃紨?shù)據(jù)更深層次的特征提取出來,一個(gè)網(wǎng)絡(luò)設(shè)計(jì)多少層卷積層由具體的輸入數(shù)據(jù)來判斷,目前尚未有完整理論來描述。如圖2所示,該卷積層的一個(gè)5×5大小的卷積核,作用于前一層28×28大小的感受域,生成了一個(gè)24×24大小的特征圖。
圖2 卷積層結(jié)構(gòu)示意圖
1.1.3 抽樣層
抽樣層為特征映射層,每個(gè)抽樣層包含一個(gè)抽樣核,抽樣核由多個(gè)抽樣神經(jīng)元組成。抽樣核僅與前一層網(wǎng)絡(luò)對(duì)應(yīng)位置的局部感受域相連。與卷積核的神經(jīng)元不同,抽樣核的每個(gè)神經(jīng)元權(quán)重是固定不變的,不隨網(wǎng)絡(luò)狀態(tài)的改變而改變。抽樣層可進(jìn)一步降低網(wǎng)絡(luò)的參數(shù)個(gè)數(shù),增加網(wǎng)絡(luò)的魯棒性。
如圖3所示,該抽樣層的抽樣核大小為2×2,初始化參數(shù)為[1/4 1/4;1/4 1/4],經(jīng)過對(duì)前一層大小為24×24的數(shù)據(jù)矩陣作用,得到了一個(gè)大小為12×12的抽樣數(shù)據(jù)矩陣。將原來24×24維的數(shù)據(jù)量降低到了12×12維的數(shù)據(jù)量,同時(shí)由于抽樣核具有求均值的效果,降低了因個(gè)別數(shù)據(jù)錯(cuò)誤帶來的干擾,增加了整個(gè)網(wǎng)絡(luò)的魯棒性。
圖3 抽樣層結(jié)構(gòu)示意圖
抽樣核在網(wǎng)絡(luò)的初始化時(shí)給出。一般情況下,抽樣核用來求作用域的均值或最大值。
1.1.4 輸出層
卷積神經(jīng)網(wǎng)絡(luò)的輸出層與常用的前饋神經(jīng)網(wǎng)絡(luò)一樣,是全鏈接方式傳遞的。最后一層隱層可以是卷積層也可以是抽樣層,所得到的多個(gè)二維數(shù)據(jù)矩陣被重新組合成一維向量,與輸出層以全鏈接的方式相連。該結(jié)構(gòu)能夠充分挖掘最后提取的特征與分類結(jié)果之間的映射關(guān)系,在復(fù)雜應(yīng)用中,輸出層可設(shè)置為多層全鏈接層。
1.2 CNN網(wǎng)絡(luò)訓(xùn)練
卷積神經(jīng)網(wǎng)絡(luò)屬于前饋網(wǎng)絡(luò)的一種特例,訓(xùn)練方式是以反向傳播算法為基礎(chǔ)的,在傳統(tǒng)的反向傳播算法上做優(yōu)化,從而實(shí)現(xiàn)高效的訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。
卷積神經(jīng)網(wǎng)絡(luò)的全鏈接層與普通前饋網(wǎng)絡(luò)一樣,具有相同的參數(shù)傳播方式。而在卷積層與抽樣層,由于引入了權(quán)值共享以及降維等處理過程,因此需要做算法優(yōu)化。
1.2.1 卷積層
卷積層的輸入為前一層網(wǎng)絡(luò)的多個(gè)二維矩陣,卷積層將輸入矩陣與可訓(xùn)練的卷積核進(jìn)行卷積,然后通過激活函數(shù)作用生成多個(gè)輸出二維特征圖,如式(1)。
(1)
π(·)=max(0,p)
(2)
在卷積層誤差反饋傳播時(shí),由于l層特征圖與l+1層特征圖大小不同(每個(gè)特征圖對(duì)應(yīng)一個(gè)靈敏度圖),反向傳播時(shí),為得到與l層特征圖相同大小的靈敏度圖需先對(duì)l+1層靈敏度圖進(jìn)行反卷積,再將反卷積結(jié)果與l層激活值的導(dǎo)數(shù)做點(diǎn)積,即可得到l層的靈敏度圖,當(dāng)l+1層是抽樣層時(shí),運(yùn)算過程如式(3)。
(3)
其中:β為下采樣因子,常數(shù);up(·)為下采樣的反操作,若下采樣因子為n,反操作處理時(shí)將每個(gè)像素在垂直和水平方向上重復(fù)n次。
當(dāng)l+1層是卷積層時(shí),運(yùn)算過程如式(4)。
(4)
其中:conv(·)表示卷積運(yùn)算,運(yùn)算方式為′full′型;rot180(·)表示將括號(hào)內(nèi)的矩陣旋轉(zhuǎn)180°。
求得l層的靈敏度圖后,再根據(jù)誤差反饋傳播算法,可以求得訓(xùn)練誤差相對(duì)于連接權(quán)重(及卷積核的權(quán)值)的梯度以及訓(xùn)練誤差關(guān)于偏置的梯度。由于大部分的連接權(quán)值是共享的,因此對(duì)于l層給定的一個(gè)權(quán)重,需要對(duì)所有與該權(quán)值有聯(lián)系的連接求梯度,再將梯度求和,該運(yùn)算過程如式(5)和(6)所示。
(5)
(6)
1.2.2 抽樣層
抽樣層對(duì)每一個(gè)輸入下采樣產(chǎn)生一個(gè)特征圖,如有N個(gè)輸入特征圖,則會(huì)產(chǎn)生N個(gè)下采樣特征圖。抽樣層運(yùn)算過程如式(7)。
(7)其中:down(·)為下采樣函數(shù),該函數(shù)對(duì)輸入圖像中n×n的圖像塊求和得到一個(gè)點(diǎn)值,輸出圖像的長(zhǎng)和寬均變?yōu)樵瓐D的1/n,每個(gè)輸出都包含一個(gè)乘性偏置β和加性偏置b。
與卷積層中第二種情況(卷積層的下一層為卷積層)一樣,這里不再贅述。抽樣層的抽樣核為固定值,因此不存在誤差相對(duì)于訓(xùn)練權(quán)值梯度的計(jì)算,訓(xùn)練誤差相對(duì)于加性偏置bj的梯度可以通過對(duì)敏感圖上的元素用式(6)進(jìn)行求和得到。根據(jù)卷積神經(jīng)網(wǎng)絡(luò)每一層的具體結(jié)構(gòu)特點(diǎn),計(jì)算得到訓(xùn)練誤差相對(duì)于訓(xùn)練參數(shù)的梯度,就可以對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行相應(yīng)地更新。
1.3 改進(jìn)結(jié)構(gòu)
本文使用如圖4所示的改進(jìn)結(jié)構(gòu),前5層網(wǎng)絡(luò)均使用ReLU激活函數(shù),增加了網(wǎng)絡(luò)收斂速度,同時(shí),在卷積過程中引入圖5所示的卷積步長(zhǎng),在網(wǎng)絡(luò)規(guī)模不變的情況下能夠減少網(wǎng)絡(luò)參數(shù)。圖4網(wǎng)絡(luò)輸入為一副28×28的圖像,Conv1為卷積層,由20個(gè)4×4的卷積核與輸入圖像進(jìn)行卷積,卷積步長(zhǎng)為2,得到20個(gè)13×13的特征圖;Conv2為卷積層,卷積核大小為3×3,卷積步長(zhǎng)為2,卷積后得到50個(gè)6×6的特征圖;Conv3為卷積層,卷積核大小為3×3,卷積步長(zhǎng)為1,卷積后生成60個(gè)4×4的特征圖;Pool1為下采樣層,采用最大值池化,步長(zhǎng)為2,下采樣后得到80個(gè)2×2的特征圖;Ip1為全連接層,神經(jīng)元個(gè)數(shù)為100;Ip2為全連接層,神經(jīng)元個(gè)數(shù)為10。其中前5層網(wǎng)絡(luò)激活函數(shù)均使用ReLU函數(shù),Ip2層使用sigmoid激活函數(shù)。
圖4 改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)
圖5 卷積步長(zhǎng)
訓(xùn)練過程中所用的損失函數(shù)為均方誤差函數(shù)Loss=1/2Σ(h-y)2,其中:h為實(shí)際輸出;y為希望輸出。
2.1 數(shù)據(jù)生成
車牌數(shù)字字符識(shí)別所用數(shù)據(jù)來自2 000副車牌,這些車牌受到不同光照強(qiáng)度、傾斜角度、遮擋程度等噪聲干擾。對(duì)車牌歸一化后采用垂直投影法切割,去除漢字以及字母后,生成了1 303個(gè)‘0’,1 194個(gè)‘1’,1 165個(gè)‘2’,944個(gè)‘3’,728個(gè)‘4’,924個(gè)‘5’,985個(gè)‘6’,743個(gè)‘7’,1 019個(gè)‘8’,825個(gè)‘9’。切割出的圖片未經(jīng)任何處理,每幅圖片包含高強(qiáng)度噪聲,如圖6所示。
圖6 部分粗切割字符
字符數(shù)量均衡有利于提高網(wǎng)絡(luò)的識(shí)別率,并且數(shù)據(jù)集越大越有利于訓(xùn)練,因此,針對(duì)字符數(shù)量不均衡的情況額外增加了一些字符的數(shù)量,使得每個(gè)字符個(gè)數(shù)為1 300,并且對(duì)這10個(gè)字符分別貼上0~9的標(biāo)簽。從每個(gè)字符中隨機(jī)抽取1 000張圖片組成訓(xùn)練集,每個(gè)字符剩余的300張圖片組成測(cè)試集。最后,對(duì)字符進(jìn)行灰度化處理,并歸一化為28×28的字符保存至Matlab矩陣中。
2.2 實(shí)驗(yàn)結(jié)果及分析
在這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中,針對(duì)ReLU與Sigmoid 2種激活函數(shù)做了實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如圖7所示。從圖7可以發(fā)現(xiàn):網(wǎng)絡(luò)前5層使用Sigmoid激活函數(shù)時(shí),網(wǎng)絡(luò)迭代到100次時(shí)才開始收斂,迭代到250次時(shí)基本收斂,收斂時(shí)誤差在0.45左右;而網(wǎng)絡(luò)前5層使用ReLU激活函數(shù)時(shí),網(wǎng)絡(luò)迅速收斂,當(dāng)?shù)?0次時(shí)基本收斂,收斂時(shí)誤差為0.25左右,收斂速度為Sigmoid激活函數(shù)的5倍,并且收斂誤差降低了近一半。
圖7 ReLU與Sigmoid函數(shù)收斂圖
如圖8所示,在沒有考慮卷積步長(zhǎng)時(shí)(stride=1),網(wǎng)絡(luò)收斂速度相對(duì)卷積步長(zhǎng)為2時(shí)要慢,且最終收斂時(shí)損失函數(shù)大于卷積步長(zhǎng)為2的網(wǎng)絡(luò)。因此,卷積步長(zhǎng)的引入能加速網(wǎng)絡(luò)收斂,并降低收斂時(shí)函數(shù)損失值,增加網(wǎng)絡(luò)的整體識(shí)別率。
圖8 不同卷積步長(zhǎng)收斂圖
網(wǎng)絡(luò)訓(xùn)練過程中每100次迭代測(cè)量一次訓(xùn)練損失值,每500次迭代從測(cè)量樣本中隨機(jī)抽取100個(gè)樣本進(jìn)行測(cè)量,獲得測(cè)量精度,經(jīng)過20 000次迭代后測(cè)量精度及損失值變化如圖9所示。隨著迭代次數(shù)的增加,網(wǎng)絡(luò)損失越來越小,并逐漸趨于0,而精度越來越高,最終測(cè)量精度達(dá)到0.975。
圖9 測(cè)量精度和損失值變化
訓(xùn)練完成后對(duì)網(wǎng)絡(luò)各層特征進(jìn)行提取,以字符‘9’為例,獲得的各層部分特征如圖10所示。由于ReLU激活函數(shù)能夠過濾掉一些無用信息(稀疏性),所以網(wǎng)絡(luò)特征層中出現(xiàn)0像素塊,由Ip2特征層可知,10個(gè)輸出神經(jīng)元中最外面的神經(jīng)元灰度值最大,即對(duì)應(yīng)于數(shù)字9。最終識(shí)別結(jié)果如圖11所示。
圖11 識(shí)別結(jié)果
為了突顯本文算法的有效性,將本文改進(jìn)結(jié)構(gòu)的算法與文獻(xiàn)[5-9]中的算法進(jìn)行對(duì)比。仿真過程中,采用了5次實(shí)驗(yàn)結(jié)果的平均值,最終識(shí)別結(jié)果如表1所示。
表1 識(shí)別結(jié)果
由表1可知,本文的改進(jìn)結(jié)構(gòu)算法與傳統(tǒng)的基于模板匹配、BP神經(jīng)網(wǎng)絡(luò)等識(shí)別算法相比識(shí)別率更高,并且識(shí)別波動(dòng)范圍小,魯棒性強(qiáng),具有一定的實(shí)用價(jià)值。
本文針對(duì)車牌數(shù)字識(shí)別算法提出了一種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),利用ReLU激活函數(shù)增加了網(wǎng)絡(luò)的深度以及收斂速度,引入卷積步長(zhǎng)減少了網(wǎng)絡(luò)的訓(xùn)練參數(shù),在車牌數(shù)字識(shí)別上取得了較高的識(shí)別率,具有一定的應(yīng)用價(jià)值。隨著深度網(wǎng)絡(luò)學(xué)習(xí)框架的普及,接下來的工作即在Caffe框架下實(shí)現(xiàn)本文提出的網(wǎng)絡(luò)結(jié)構(gòu),并將該結(jié)構(gòu)拓展到漢字、字母字符的識(shí)別中。
[1] CHEN N, XING L.Research of license plate recognition based on improved BP neural network[C]// International Conference on Computer Application and System Modeling. IEEE, 2010:V11-482 - V11-485.
[2] LIU D Y, SONG H, PAN Q. License plate recognition based on neural network algorithm to improve research[J].Advanced Materials Research, 2013(860-863):2892-2897.
[3] QU Z, CHANG Q L, CHEN C Z, et al. An improved character recognition algorithm for license plate based on BP neural network[J]. Open Electrical & Electronic Engineering Journal, 2014, 8(1):202-207.
[4] 劉麗,匡綱要.圖像紋理特征提取方法綜述[J].中國(guó)圖象圖形學(xué)報(bào), 2009(4):621-635.
[5] 郭榮艷,胡雪惠.BP神經(jīng)網(wǎng)絡(luò)在車牌字符識(shí)別中的應(yīng)用研究[J].計(jì)算機(jī)仿真,2010(9):299-301,350.
[6] 魏武,黃心漢,張起森,等.基于模板匹配和神經(jīng)網(wǎng)絡(luò)的車牌字符識(shí)別方法[J].模式識(shí)別與人工智能,2001,14(1):96-98.
[7] 曾泉,譚北海.基于SVM和BP神經(jīng)網(wǎng)絡(luò)的車牌識(shí)別系統(tǒng)[J].電子科技,2016,29(1):98-101.
[8] 韋玉科,謝嘉樂,吳齊云.基于改進(jìn)的LM-BP神經(jīng)網(wǎng)絡(luò)的車牌字符識(shí)別研究[J].測(cè)控技術(shù),2016,35(2):48-51,57.
[9] 阮志毅,沈有建,劉鳳玲.基于數(shù)學(xué)形態(tài)學(xué)的模糊集理論在車牌字符識(shí)別中的運(yùn)用[J].計(jì)算機(jī)工程與科學(xué),2016(3):562-568.
License Plate Digital Character Recognition based on Convolution Neural Network
OUXianfeng1,2,XIANGCanqun1,2*,ZHANXiyang3,PENGXin1,2,SHIYunsuo4
(1.College of Information & Communication Engineering,Hunan Institute of Science & Technology, Yueyang 414006, China;2. Key Laboratory of Optimization & Control for Complex Systems, Yueyang 414006, China; 3.College of Information Engineering, Shenzhen University, Shenzhen 518060, China; 4. GCI Science&Technology Co.Ltd, Guangzhou 510300, China)
An improved algorithm based on convolution neural network is proposed to solve the problem of low recognition rate and poor robustness of traditional license plate recognition algorithm. The ReLU activation function is used to replace traditional sigmoid activation function and convolution stride is employed in the convolution neural network(CNN), which not only accelerates the convergence of the network, but also reduces the number of network parameters. Experimental results show that the recognition rate of the algorithm is the highest, up to 95.2%, comparing with the traditional feature extraction algorithm, and high robustness can be achieved.
license plate recognition; convolution neural network; character recognition
10.13542/j.cnki.51-1747/tn.2016.04.008
2016-09-11
國(guó)家自然科學(xué)基金“多接口車聯(lián)網(wǎng)可變帶寬信道分配算法研究”(61300039);湖南省教育廳項(xiàng)目“異構(gòu)網(wǎng)絡(luò)分布式多視點(diǎn)視頻編碼及關(guān)鍵幀容錯(cuò)性傳輸研究”(16C0723);湖南省研究生科研創(chuàng)新項(xiàng)目資助“基于光流傳感的四旋翼位姿估計(jì)研究”(CX2016B670)
歐先鋒(1983— ),男(漢族),湖南郴州人,講師,博士,研究方向:圖像處理、視頻壓縮編碼及傳輸。 向燦群(1992— ),男(漢族),湖南岳陽人,在讀碩士研究生,研究方向:圖像處理、模式識(shí)別,通信作者郵箱:765545200@qq.com。
TP391
A
2095-5383(2016)04-0026-05