潘安琪 門玉英
摘 要:針對傳統(tǒng)車牌檢測方法在復雜環(huán)境下識別準確率不高且過程繁復問題,提出一種基于Faster R-CNN和BRNN統(tǒng)一深度神經(jīng)網(wǎng)絡的車牌識別方法。首先,使用Faster R-CNN網(wǎng)絡進行車牌定位:先通過RPN(區(qū)域提案網(wǎng)絡)進行候選區(qū)域提取與輸出,提供粗略搜索范圍,再通過分類層結合提議目標層生成的邊界框坐標和其回歸系數(shù),生成所需的最終邊界框;然后,將車牌識別看作序列標記問題,使用具有CTC損耗的BRNN(雙向循環(huán)神經(jīng)網(wǎng)絡)用于標記其順序特征,實現(xiàn)車牌字符識別。試驗結果表明,該技術識別準確率高達94.5%。
關鍵詞:卷積神經(jīng)網(wǎng)絡;深度學習;車牌識別;圖像識別;R-CNN
DOI:10. 11907/rjdk. 201323 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP301文獻標識碼:A 文章編號:1672-7800(2020)008-0049-05
Abstract:Aiming at the problem of low recognition accuracy and complicated process in traditional license plate detection methods in complex environments, we propose a license plate recognition method based on Faster R-CNN and BRNN unified deep neural network. First, we use the Faster R-CNN network for license plate location. Candidate regions is extracted and output through RPN (regional proposal network) to provide a rough search range; then the classification layer is combined with the bounding box coordinates generated by the proposed target layer and its regression coefficient to generate the final bounding box required. Secondly, the license plate recognition is regarded as a sequence marking problem. A BRNN (Bidirectional Recurrent Neural Network) with CTC loss is used to label its sequential features to realize the character recognition of the license plates. According to the experimental results, the recognition accuracy rate is as high as 94.5%.
Key Words:convolutional neural network; deep learning; license plate recognition; image identification; R-CNN
0 引言
隨著人們生活水平的提高,我國汽車需求量快速增長。機動車無疑便利了人們生活,但隨之而來的是愈來愈嚴重的交通問題。車牌檢測和識別對智能運輸系統(tǒng)非常重要,從安全性到交通控制有眾多應用。然而,很多算法只有在受控條件下或使用復雜的圖像捕獲系統(tǒng)才能很好地工作[1],在不受控制的環(huán)境中準確讀取牌照仍存在很多問題[2]。
以前車牌檢測和識別工作通常將定位和識別視為兩個獨立任務,分別采用不同方法,步驟通常為圖片預處理、字符分割、文本識別。
基于顏色特征的邊緣檢測方法[3],通過分析局部區(qū)域內指定顏色的分布特征,將車牌顏色和紋理特征同時提取。該算法具有速度快、準確性高和適應性強的優(yōu)點。但是,當牌照區(qū)域顏色與附近區(qū)域非常接近時會產生錯誤的定位結果,嚴重變色的車牌甚至無法檢測到字符筆劃的邊。
基于紋理的檢測方法[4]將小波系數(shù)的標準差作為紋理測度以生成特征向量,利用模糊c-均值聚類算法進行紋理分割。該方法在光線較弱、過強或不均勻、圖像傾斜或變形的情況下具有較好的定位效果。但在復雜的背景圖像應用時,很容易找到一些具有豐富紋理分布的非牌照區(qū)域。由于目標檢測過程繁瑣、準確性不好,傳統(tǒng)方法往往效果不佳。
本文采用深度學習方法中的Faster R-CNN,通過引用具有多個尺度和縱橫比的錨框處理尺度問題[5],利用雙向循環(huán)神經(jīng)網(wǎng)絡(BRNN)和CTC函數(shù)結合進行字符識別。通過神經(jīng)網(wǎng)絡的自主學習功能,從圖像中檢測出車牌,同時對車牌進行識別[6-8]。該網(wǎng)絡結構是一個統(tǒng)一的深度神經(jīng)網(wǎng)絡,可定位車牌并在一次正向通行中識別字母。整個框架不涉及啟發(fā)式過程,如使用版面顏色或字符空間,避免了字符分組或分離等中間過程,在車牌檢測和字母恢復方面具有較高精度[9]。
1 Faster R-CNN
Region-CNN(R-CNN)是一種基于卷積神經(jīng)網(wǎng)絡(CNN)將深度學習用于目標檢測和識別的方法。Fast R-CNN在R-CNN基礎上改善重復提取候選框的缺點,但尋找有效候選框會浪費大量時間[10]。本文使用Faster R-CNN結構,將目標檢測基本步驟(候選區(qū)域生成、特征提取、分類、位置精修)統(tǒng)一到一個深度網(wǎng)絡框架內[11]。本文采用此方法實現(xiàn)車牌定位功能,所有計算無重復,完全在GPU中完成,大大提高運行速度。Faster R-CNN在Fast R-CNN基礎上提出 [12-13],可看作是Fast R-CNN和RPN通過共享卷積特征的組合 [14]。RPN提供粗略搜索范圍,F(xiàn)ast R-CNN使用區(qū)域提議檢測目標,即先對此網(wǎng)絡使用帶有同一特征的圖像進行訓練,使其具有識別待檢測目標特征的能力。
1.1 車牌定位流程
Fast R-CNN檢測精度較高,但速度很慢。在Faster R-CNN中,將區(qū)域網(wǎng)絡(RPN)與Fast R-CNN網(wǎng)絡相結合以提高速度,用RPN取代Fast R-CNN算法。Faster R-CNN網(wǎng)絡如圖1所示。
使用RPN輸出候選區(qū)域作為輸入訓練。RPN和Faster R-CNN網(wǎng)絡獨立訓練,其卷積層以不同方式修改。因此,交替訓練用于在卷積層中共享特征。在特征提取過程中,使用VGG-16網(wǎng)絡作為Faster R-CNN的前端網(wǎng)絡。VGG-16有13個共享卷積層。本文通過多個卷積層輸入圖像,得到一個特征圖。在最后一個卷積層,完全卷積網(wǎng)絡RPN替代分類網(wǎng)絡的完整連接層用于端到端訓練。
1.2 區(qū)域提案網(wǎng)絡(RPN)
區(qū)域提案網(wǎng)絡可提供多個提案區(qū)域,每個區(qū)域都有一個客觀評分。本文使用大小為n×n的滑動窗口。卷積特征映射生成長度為256維的完整連接特征,然后在完整連接特征之后生成連接層的兩個分支。REG層用于預測錨點和目標區(qū)域大小,CLS層用于確定是前景還是背景?;瑒哟翱谔幚矸椒ù_保REG層和CLS層與卷積層的所有特征空間相關聯(lián)。
候選區(qū)域選擇規(guī)則:如果錨參考框與真實值的交點大于0.7,則標記為正樣本;如果錨參考框與真實值交點小于0.3,則標記為負樣本;其余的既不是積極的也不是消極的,不會用于最后的訓練。
RPN訓練損失分為分類損失和邊界框回歸損失。
x,y,w,h為框的中心坐標、寬與高。其中,x為預測框,即proposal;xa為錨框;x*為標定框。
除區(qū)域提案網(wǎng)絡外,F(xiàn)aster R-CNN網(wǎng)絡還由提議目標層、Crop Pooling層以及分類層組成,可實現(xiàn)感興趣區(qū)域、特征區(qū)域提取,以及識別出最終所需的邊界框。
1.3 Faster R-CNN其它網(wǎng)絡層次
1.3.1 提議目標層
提議目標層指從提議層輸出區(qū)域(ROI)列表中選擇有希望的ROI,用于讓前面產生的特征圖執(zhí)行Crop Pooling結構且傳遞到網(wǎng)絡其它部分,計算產生邊框的回歸系數(shù)及預測分類得分。提議目標層從推選層計算的ROI開始,將每個ROI與所有目標最大重疊,并且將ROI分類為前景ROI和背景ROI,前景感興趣區(qū)域即為最多重疊區(qū)域多于閾值的部分。
1.3.2 Crop Pooling層
提議目標層產生有希望的ROI,可在訓練過程中使用相關回歸系數(shù)以及類標簽對其分類,之后通過卷積特征圖提取相應感興趣區(qū)域。所提取的卷積特征圖使用此結構運行,產生所有感興趣區(qū)域的對象類概率分布和回歸系數(shù),在卷積特征對應的執(zhí)行區(qū)域中提取本層。
1.3.3 分類層
本層通過對Crop Pooling輸出的特征圖沿空間維度平均匯集,傳遞特征圖至第4層ResNet層,接著特征向量通過bbox_pred_net和cls_score_net相連,后者代表每個邊界框生成的類別成績,前者可產生特定類的邊界框回歸系數(shù)。結合提議目標層生成的邊界框坐標和其回歸系數(shù)即為生成所需的最終邊界框。
2 雙向循環(huán)網(wǎng)絡與CTC函數(shù)
2.1 車牌識別結構
車牌識別網(wǎng)絡是基于車牌定位產生的最終邊框,進行一系列操作識別出字符。本文基于提取的區(qū)域特征識別ROI中每個字符,將車牌識別看作序列標記問題。使用具有CTC損耗的雙向循環(huán)神經(jīng)網(wǎng)絡用于標記其順序特征。雙向循環(huán)神經(jīng)(BCNN)網(wǎng)絡加CTC損失函數(shù)結構如圖3所示,雙向循環(huán)神經(jīng)網(wǎng)絡結構如圖4所示,其中xi代表輸入層,yi代表輸出層,Ai表示向前層,Ai'表示向后層,Si表示隱藏層向量。
雙向循環(huán)神經(jīng)網(wǎng)絡能彌補單項循環(huán)神經(jīng)網(wǎng)絡在很多情況下的不足。單項循環(huán)神經(jīng)網(wǎng)絡僅僅結合歷史數(shù)據(jù),反向循環(huán)神經(jīng)網(wǎng)絡則可與未來數(shù)據(jù)相聯(lián),兩種神經(jīng)網(wǎng)絡組合便可將歷史數(shù)據(jù)和將來數(shù)據(jù)相聯(lián)系。
2.2 算法介紹
CNN或DNN的神經(jīng)網(wǎng)絡結構輸入和輸出是分開的[17],這類網(wǎng)絡結構適用于輸入輸出關聯(lián)性不大的情況,而RNN結構的引入則適用于輸入與輸出關聯(lián)性強的情況。RNN結構按照一定的時間序列展開,而RNN的單項循環(huán)神經(jīng)網(wǎng)絡僅僅結合歷史數(shù)據(jù),相反,反向循環(huán)神經(jīng)網(wǎng)絡則可與未來數(shù)據(jù)相聯(lián)。兩種神經(jīng)網(wǎng)絡組合便可將歷史數(shù)據(jù)和未來數(shù)據(jù)相聯(lián)系,形成雙向循環(huán)神經(jīng)網(wǎng)絡,即BRNN[18]。
ROI池化后的區(qū)域特征表示為Q,將區(qū)域特征重構,得到的特征表示為[V=(v1,v2, ,vL)]。BRNN應用于順序特征之上,使用具有512個單元的兩個分離RNN層。一個向前處理特征序列,隱藏狀態(tài)通過[h(f)t=g(vt,h(f)t-1)]更新。另一個向后處理,隱藏狀態(tài)通過[h(b)t=g(vt,h(b)t+1)]更新。將兩個隱藏狀態(tài)連接并輸出后進行線性變換,最后轉化為車牌上的字符概率分布。記錄每個時間點概率,在BRNN編碼之后,特征序列V變換為具有與V相同長度的概率估計序列[q=(q1,q2, ,qL)]。BRNN從兩個方向捕獲歷史數(shù)據(jù)和未來數(shù)據(jù),極大提高了準確性。
3 實驗與分析
3.1 數(shù)據(jù)集預處理
本文實驗選取3 000張不同場景下的車牌照片作為數(shù)據(jù)集[19],包括不同角度和分辨率圖片,以及復雜環(huán)境如陰暗天氣、暴雨暴雪天、光照陰影不均勻等拍攝的車牌照片[20]。將圖片中的車牌按PASCAL VOC2007格式進行處理,再通過lableimg進行車牌標注,將結果輸出為xml文件。
數(shù)據(jù)集分別為訓練集和測試集[21-22],其中1 800個作為訓練和驗證數(shù)據(jù)集,1 200個作為測試數(shù)據(jù)集。測試數(shù)據(jù)分3種類型:①400個清晰、明亮,位置較為端正的車牌圖像;②400個模糊、光線暗或位置傾斜的圖像;③400張普通車牌圖像。圖5為3種車牌檢測結果。
3.2 圖像訓練與測試
首先下載并使用MATLAB進行網(wǎng)絡模型迭代訓練[23]。結束之后,將模型路徑修改為訓練所得路徑,將測試圖片修改為本文需要測試的圖片,得出訓練結果,并將出現(xiàn)的很多沒有目標的圖片提高閾值設置,再次輸出結果。
使用Faster R-CNN與VGG網(wǎng)絡進行實驗,得出召回率、精確率及平均速度等數(shù)據(jù)。評估標準包括召回率和精確度。召回率指正確檢測到的車牌數(shù)除以實際區(qū)域總數(shù),精確度指正確檢測到的牌照數(shù)除以檢測到的區(qū)域總數(shù)[24]。本文通過設置不同參數(shù)(如迭代、學習速率等)不斷訓練數(shù)據(jù)集,以獲得最佳結果。圖6為該方法的精確率—召回率曲線圖。當使用800張圖像進行訓練時,mAP為0.963 7,使用1 000張圖像進行訓練時,mAP為0.974 4。圖6為分別用300、500、700、800和1 000張訓練集圖像的仿真結果。
3.3 車牌字符識別
本文采用Faster R-CNN結構和CTC加BRNN結構進行實驗,并且使用SGD方法訓練整個網(wǎng)絡[25-26],從預訓練的VGG-16模型開始初始化[27]。從第5層的CNN層在前50K迭代中進行微調。根據(jù)高斯分布初始化其余權重。使用ADAM優(yōu)化器[28](初步學習率為10-5)用于預訓練VGG-16模型中的參數(shù),10-4用于其余參數(shù)。后者學習率每10K迭代減半,直至10-5。該網(wǎng)絡經(jīng)過200K次迭代訓練,每次迭代使用從訓練數(shù)據(jù)集中隨機采樣的單個圖像。對于每個訓練圖像,將其調整為700像素的較短邊,較長邊不超過1 500像素。
本文對字符識別結構精度變化進行MATLAB模擬仿真,結果如圖7所示。
一種方法是首先去掉不需要的背景邊緣,然后通過基于密度的方法將邊界分類,最后通過線性支持向量機模型對梯度特征的直方圖訓練分類;另一種方法是發(fā)現(xiàn)局部特征匹配自動定位車牌。兩種方法都有較高的識別率。
4 結語
本文基于Faster R-CNN和CTC加BRNN的網(wǎng)絡模型,對不同環(huán)境下的車牌進行訓練和識別操作,并與其它識別方法進行識別率對比。實驗結果表明,本文網(wǎng)絡結構車牌識別率高達94.5%,不僅在一定程度解決了復雜條件下識別準確率低的問題,還可一次性識別一張圖片上的多個車牌,減少了誤差和識別時間。此外,不同場景下,本文網(wǎng)絡模型訓練圖像越多識別準確率越高。但由于實驗數(shù)據(jù)的局限性,本文網(wǎng)絡在不良圖像條件下仍存在一些誤差。若添加更多數(shù)據(jù)訓練網(wǎng)絡,識別率及精準度會相應提升。本文方法簡單,在車牌檢測應用中具有良好前景。
參考文獻:
[1] KIM J, WOODS J W. Image identification and restoration in the subband domain[J]. Image Processing IEEE Transactions on,1994, 3(3):312-314.
[2] SALTZER J H. End-to-end arguments in system design[J]. Acm Transactions on Computer Systems, 1984, 2(4):277-288.
[3] 沈勇武,章專. ?基于特征顏色邊緣檢測的車牌定位方法[J]. ?儀器儀表學報, 2008,7(12):211-215.
[4] 應宏微,姚明海, 張永華. ?基于紋理分析和垂直投影的車牌定位算法[J]. 控制工程, 2004, 11(5):432-435.
[5] LECUN Y,BENGIO Y,HINTON G. Deep learning.[J]. ?Nature, 2015, 521(7553):436-448.
[6] SCHMIDHUBER,JüRGEN. Deep learning in neural networks: an overview[J]. Neural Networks, 2015, 521(61):85-117.
[7] LITJENS G,KOOI T,BEJNORDI B E, et al. A survey on deep learning in medical image analysis[J]. ?Medical Image Analysis, 2017,96(42):60-88.
[8] PAPERNOT N,MCDANIEL P,JHA S, et al. The limitations of deep learning in adversarial settings[J]. MTandHJ,2015,8(59):381-412.
[9] ZHANG C,BENGIO S,HARDT M,et al. Understanding deep learning requires rethinking generalization[J]. Springer Link,2016,51(634):1102-1115.
[10] REN S,HE K,GIRSHICK R,et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2015, 39(6):89-102.
[11] GIRSHICK R. Fast R-CNN[C]. IEEE International Conference on Computer Vision (ICCV), IEEE,2016.
[12] JIANG H,LEARNED MILLER E. IEEE international conference on automatic face & gesture recognition ?face detection with the faster R-CNN[J]. Computer science, 2017,102(5):650-657.
[13] JIANG H,LEARNED-MILLER E. Face detection with the faster R-CNN[J]. Computer science, 2016,90(2):394-410.
[14] SALVADOR A,GIRó-I-NIETO X,MARQUéS F,et al. Faster R-CNN features for instance search[C]. Computer Vision & Pattern Recognition Workshops,2016.
[15] SHRIVASTAVA A,GUPTA A. Contextual priming and feedback for faster R-CNN[C]. European Conference on Computer Vision. Springer, Cham, 2016.
[16] YUN R,CHANGREN Z,SHUNPING X. ?Small object detection in optical remote sensing images via modified faster R-CNN[J]. Applied Sciences, 2018, 8(5):813-822.
[17] RODRIGUEZ P P,GIANOLA D. ?Brnn: bayesian regularization for feed-forward neural networks[J]. Int.Conf.Neural Network, 2013,86(6):824-833.
[18] CAI Y,ZHENG W,ZHANG T,et al. Video based emotion recognition using CNN and BRNN[M]. Pattern Recognition, Springer Singapore, 2016.
[19] WOODS J W,KIM J. Image identification and restoration in the subband domain[J]. Image Processing IEEE Transactions on,1994, 3(3):312-314.
[20] BRUGGE M H T,NIJHUIS J A G,SPAANENBURG L,et al. License plate recognition[C]. Knowledge-based intelligent techniques in character recognition. CRC Press, Inc. ?1999.
[21] NIJHUIS J A G. ?Car license plate recognition with neural networks and fuzzy logic[J]. ?Int.Conf.Neural Network,1995,5(5):875-883.
[22] SHI X,ZHAO W,SHEN Y. Automatic license plate recognition system based on color image processing[C]. International Conference on Computational Science and Its Applications. Springer, Berlin, Heidelberg, 2005.
[23] GüNTER S, BUNKE H. HMM-based handwritten word recognition: on the optimization of the number of states, training iterations and Gaussian components[J]. Pattern Recognition,2004,37(10):2069-2079.
[24] MA Z,LI J L,TAN X F. ?Research on license plate recognition technology[J]. Applied Mechanics and Materials,2010(44-47):3667-3671.
[25] ANAGNOSTOPOULOS C N E,ANAGNOSTOPOULOS I E,LOUMOS V,et al. A license plate-recognition algorithm for intelligent transportation system applications[J]. ?IEEE Transactions on Intelligent Transportation Systems, 2006, 7(3):377-392.
[26] BORDES A,BOTTOU L,GALLINARI P. SGD-qn:careful quasi-newton stochastic gradient descent[J]. ?Journal of Machine Learning Research, 2009, 10(3):1737-1754.
[27] XIAO Z, WANG M, GENG L, et al. Optic cup segmentation method by a modified VGG-16 network[J]. ?Journal of Medical Imaging and Health Informatics, 2019,85(4):157-168.
[28] KINGMA D P,BA J. Adam: a method for stochastic optimization[J]. Computer Science, 2014,86(9):1204-1221.
[29] ZHOU W, LI H, LU Y, et al. Principal visual word discovery for automatic license plate detection[J]. IEEE Trans, Image Process,2012,21(9):4269-4279.
[30] TIAN J,WANG G, LIU J, et al. License plate detection in an open environment by density-based boundary clustering[J]. Electron,Imag,2017,26(3):1-11.
(責任編輯:杜能鋼)