華春夢(mèng) 臧艷輝 馬伙財(cái)
摘? 要:近些年來,深度學(xué)習(xí)已逐漸替代機(jī)器學(xué)習(xí)而走進(jìn)大眾的生活當(dāng)中,尤其是機(jī)器視覺,在拍照識(shí)圖、光學(xué)字符識(shí)別(OCR)、自動(dòng)駕駛等領(lǐng)域發(fā)揮著重要作用。文章針對(duì)智能交通中的車牌識(shí)別,提出一種基于CRNN的文本序列模型。該模型實(shí)現(xiàn)了端到端、免分割的車牌文字識(shí)別方法,充分體現(xiàn)了卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì),在很多場(chǎng)景下都表現(xiàn)出較好的性能。經(jīng)多次測(cè)試統(tǒng)計(jì),該模型的識(shí)別準(zhǔn)確率高達(dá)98.5%,平均響應(yīng)時(shí)間為100 ms,測(cè)試效果良好。
關(guān)鍵詞:車牌識(shí)別;端到端;CRNN;OCR;神經(jīng)網(wǎng)絡(luò)
中圖分類號(hào):TP391? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2021)20-0078-05
Research and Application of a License Plate Recognition Algorithm Based on CRNN
HUA Chunmeng, ZANG Yanhui, MA Huocai
(Foshan Polytechnic, Foshan? 528137, China)
Abstract: In recent years, deep learning has gradually replaced machine learning and entered the public life, especially machine vision, which plays an important role in the fields of photo recognition, optical character recognition (OCR), automatic driving and so on. Aiming at the license plate recognition(LPR)in intelligent transportation, this paper proposes a text sequence model based on CRNN. The model realizes the end-to-end and segmentation free license plate character recognition method, fully reflects the advantages of convolutional neural network, and shows good performance in many scenes. After many tests and statistics, the recognition accuracy of the model is as high as 98.5%, the average response time is 100 ms, and the test effect is good.
Keywords: license plate recognition; end-to-end; CRNN; OCR; neural network
0? 引? 言
隨著我國經(jīng)濟(jì)的穩(wěn)步增長(zhǎng),機(jī)動(dòng)車出行已經(jīng)成為人們最主要的出行方式之一。據(jù)不完全統(tǒng)計(jì),我國2020年的機(jī)動(dòng)車保有量達(dá)3.72億輛,其中小型汽車達(dá)2.81億輛,如何高效有序地對(duì)機(jī)動(dòng)車進(jìn)行智能化管理,是對(duì)當(dāng)下智能交通提出的一個(gè)硬性要求[1]。車牌號(hào)作為機(jī)動(dòng)車唯一的身份標(biāo)識(shí),常用作停車場(chǎng)出入口自動(dòng)收費(fèi)和駕駛違規(guī)追責(zé)的主要依據(jù),所以針對(duì)車牌識(shí)別技術(shù)(License Plate Recognition, LPR),從傳統(tǒng)的機(jī)器學(xué)習(xí)到當(dāng)下的深度學(xué)習(xí)都在不斷地進(jìn)行著算法的更新與迭代。
1? 相關(guān)研究?jī)?nèi)容
車牌識(shí)別系統(tǒng)是一個(gè)綜合且復(fù)雜的系統(tǒng),即是基于計(jì)算機(jī)技術(shù)、圖像處理技術(shù)建立車輛的特征模型,用以識(shí)別車輛的特征(如號(hào)牌、車型、顏色等)[2-4]。一個(gè)良好的車牌識(shí)別系統(tǒng)通常包含兩個(gè)部分。
1.1? 車牌檢測(cè)
車牌檢測(cè)的主要目的是從復(fù)雜的環(huán)境中檢測(cè)出車牌的有效區(qū)域。Kanayama等發(fā)現(xiàn)車牌與背景環(huán)境存在色差,通過Sobel算子進(jìn)行車牌邊緣檢測(cè)[5],Lee[6]同樣以車牌的顏色作為特征,使用HLS進(jìn)行車牌的定位和檢測(cè)。進(jìn)入21世紀(jì)后,計(jì)算機(jī)算力實(shí)現(xiàn)了巨大的飛躍,深度神經(jīng)網(wǎng)絡(luò)和計(jì)算機(jī)視覺開始廣泛應(yīng)用于車牌檢測(cè)之中,其中比較成功的是基于卷積神經(jīng)網(wǎng)絡(luò)的Yolo算法和級(jí)聯(lián)算法。
1.2? 車牌字符識(shí)別
車牌字符識(shí)別技術(shù)的發(fā)展經(jīng)歷了多個(gè)階段,最初是通過字符分割和特征模板匹配的方法將車牌的字符逐個(gè)分割,再將分割的字符送入模版匹配器,通過最大似然概率進(jìn)行預(yù)測(cè)。隨后深度學(xué)習(xí)中的OCR技術(shù)和場(chǎng)景文字識(shí)別技術(shù)(Scene Text Recognition, STR)也應(yīng)用到車牌字符識(shí)別中,Laraca等[7]利用CNN對(duì)字符進(jìn)行分割,建立了車牌數(shù)據(jù)集并開源。然而基于字符分割的方法始終無法做到多場(chǎng)景下的完美分割,Zherzdev等[8]基于卷積神經(jīng)網(wǎng)絡(luò),提出了端到端(end to end, E2E)的車牌識(shí)別網(wǎng)絡(luò)LPRNet,其無需對(duì)字符進(jìn)行分割即可實(shí)現(xiàn)Seq2Seq的輸出,且識(shí)別準(zhǔn)確率高達(dá)95%。
綜上,本文選取循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Recurrent Neural Network, CRNN)作為識(shí)別模型(主要由CNN、RNN、CTC構(gòu)成),該模型能夠識(shí)別不定長(zhǎng)的文本序列。在具體的應(yīng)用階段,CNN用于完成文本圖像的特征提取,RNN依靠Bi-LSTM融合特征向量,再提取文字序列特征,最后由轉(zhuǎn)錄層CTC輸出序列的概率分布,借此來預(yù)測(cè)最優(yōu)的文本序列值。
2? 算法模型
整個(gè)車牌識(shí)別流程如圖1所示,主要分為RetinaNet網(wǎng)絡(luò)和CRNN網(wǎng)絡(luò)。先由RetinaNet網(wǎng)絡(luò)檢測(cè)出車牌的有效區(qū)域,然后再將檢測(cè)出的區(qū)域送入CRNN網(wǎng)絡(luò)進(jìn)行車牌字符的識(shí)別,最終輸出預(yù)測(cè)結(jié)果。
2.1? RetinaNet車牌檢測(cè)網(wǎng)絡(luò)
RetinaNet是在經(jīng)典的圖像特征提取網(wǎng)絡(luò)ResNet[9-12]的基礎(chǔ)上進(jìn)行了改進(jìn),引入特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network, FPN)[13-16],主要用于解決目標(biāo)檢測(cè)在多尺度空間變化方面的不足,同時(shí)引入Focal loss損失函數(shù),解決正負(fù)樣本不均衡的問題,RetinaNet在檢測(cè)精度上優(yōu)于Faster-RCNN和R-FCN等兩階段網(wǎng)絡(luò)。網(wǎng)絡(luò)的訓(xùn)練集采用開源的CCPD,圖2展示了其對(duì)車牌區(qū)域的檢測(cè)效果。
2.2? CRNN車牌字符識(shí)別網(wǎng)絡(luò)
經(jīng)過RetinaNet網(wǎng)絡(luò)目標(biāo)檢測(cè)后,接下來就是將所得到的車牌有效區(qū)域級(jí)聯(lián)到字符識(shí)別網(wǎng)絡(luò),進(jìn)行識(shí)別并輸出結(jié)果,這一步驟的核心是構(gòu)造端到端、免分割的神經(jīng)網(wǎng)絡(luò),本文選用OCR和STR經(jīng)常用到的CRNN網(wǎng)絡(luò)模型來預(yù)測(cè)車牌號(hào)碼的輸出。圖3為CRNN網(wǎng)絡(luò)的結(jié)構(gòu)示意圖。
對(duì)于用戶輸入的圖像,CRNN網(wǎng)絡(luò)首先通過卷積神經(jīng)網(wǎng)絡(luò)得到圖像的特征矩陣,然后將圖像的特征序列送入循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),循環(huán)層采用雙向LSTM進(jìn)行特征融合,最后經(jīng)過轉(zhuǎn)錄層的融合、去重等環(huán)節(jié)輸出預(yù)測(cè)的結(jié)果。
2.2.1? CNN卷積層
卷積神經(jīng)網(wǎng)絡(luò)具有共享權(quán)值和局部相關(guān)性的特點(diǎn),可以大大減少網(wǎng)絡(luò)的參數(shù)量,較容易實(shí)現(xiàn)更深的網(wǎng)絡(luò)層次結(jié)構(gòu),因此常用作提取圖像的特征序列。在做圖像卷積的時(shí)候,一般要選取三個(gè)參數(shù):
(1)kernel_size卷積核。卷積核是行、列為k大小的權(quán)值矩陣W,對(duì)應(yīng)特征圖上大小為k的窗口即為感受野,感受野與權(quán)值矩陣W相乘累加,得到此位置的輸出值。
(2)stride滑動(dòng)步長(zhǎng)。每次卷積運(yùn)算所平移的步長(zhǎng)。
(3)padding填充值。由于原圖像經(jīng)過卷積后,所輸出的Feature map會(huì)變小,而且輸入圖像的像素經(jīng)過的計(jì)算次數(shù)也是不一樣的,會(huì)導(dǎo)致圖像角落信息的丟失,因此要對(duì)輸入圖像進(jìn)行像素填充的操作。
本實(shí)驗(yàn)所采取的卷積核大小分別為[3,3,3,3,3,3,2],滑動(dòng)步長(zhǎng)為[1,1,1,1,1,1,0],填充均為1,卷積核數(shù)量分別為[64,128,256,256,512,512,512]。
2.2.2? 池化層和激活函數(shù)
池化層通常作為卷積層的下一層,執(zhí)行降采樣(Down-sampling)操作,因?yàn)榫矸e層在多個(gè)卷積核的作用下,最終輸出的特征維度較高,所以最大池化層可以視為一個(gè)很強(qiáng)的先驗(yàn)知識(shí),使特征學(xué)習(xí)負(fù)有一定的注意力,忽略微小的特征位移,同時(shí)減少了下一層的輸入大小,減少計(jì)算量。
激活函數(shù)(activation function)層又稱為非線性映射層,可以提高網(wǎng)絡(luò)模型的非線性表達(dá)能力和魯棒性。常見的激活函數(shù)有tanh、sigmoid、relu等,其函數(shù)及梯度如圖4所示。
由圖4可以看出,Relu激活函數(shù)運(yùn)算簡(jiǎn)單,收斂速度快,可在一定程度上加快神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,同時(shí)它也提供了神經(jīng)網(wǎng)絡(luò)的稀疏表達(dá)能力,能夠克服梯度消失的問題[10],故本文采用Relu作為卷積神經(jīng)網(wǎng)絡(luò)的激活層。
2.2.3? LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)
長(zhǎng)短期記憶網(wǎng)絡(luò)(Long short-term memory, LSTM)是一種特殊的RNN網(wǎng)絡(luò),主要用于解決長(zhǎng)序列訓(xùn)練過程中梯度消失和梯度爆炸的問題,簡(jiǎn)單來說,相比普通的RNN網(wǎng)絡(luò)結(jié)構(gòu),LSTM可以處理更長(zhǎng)的序列,因?yàn)镽NN網(wǎng)絡(luò)只傳遞一個(gè)隱藏狀態(tài)(hiddlestate, ht),而LSTM則有兩個(gè)狀態(tài)傳輸,一個(gè)是細(xì)胞狀態(tài)(cell state, ct),另一個(gè)是隱藏狀態(tài)ht。其中,ct是上一個(gè)細(xì)胞狀態(tài)ct-1加上其他單元值,這里就用到了LSTM的三個(gè)圍繞細(xì)胞單元(Cell)的門操作(遺忘門,記憶門和輸出門),這三個(gè)邏輯門的策略選擇決定了最終Cell的輸出部分。RNN網(wǎng)絡(luò)和LSTM網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如圖5所示。
2.2.4? CTC Loss
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練一般都是通過最小化損失函數(shù)來做梯度更新的。對(duì)于Bi-LSTM輸出的Seq2Seq序列,我們優(yōu)先選擇免分割的字符識(shí)別,由于輸出的序列字符間距不同,對(duì)齊是非常困難的,因此本文選擇了避開輸入和輸出手動(dòng)對(duì)齊的CTC(Connectionist Temporal Classification)作為損失函數(shù)[17-19],通過式(1)來計(jì)算文本的概率密度分布。
3? 實(shí)驗(yàn)及結(jié)果
3.1? 訓(xùn)練集
我們采用人工合成的方法來生成車牌數(shù)據(jù)。其中,中小型車車牌60 000張,大型車車牌20 000張,新能源車牌20 000張,用10萬張不同車型的車牌圖片作為網(wǎng)絡(luò)訓(xùn)練的輸入,訓(xùn)練集的標(biāo)簽即為文件名,文件名對(duì)應(yīng)著正確的車牌信息。在樣本生成階段,我們進(jìn)行了數(shù)據(jù)的增強(qiáng),加入了隨機(jī)污漬、高斯噪聲、HSV變化以及透視視角變換等因素,用這些干擾因素來模擬現(xiàn)實(shí)中的各種復(fù)雜情況,以增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力,保證模型的健壯性和泛化性。人工合成的車牌識(shí)別訓(xùn)練集樣本如圖6所示。
3.2? 實(shí)驗(yàn)環(huán)境
車牌字符識(shí)別的實(shí)驗(yàn)環(huán)境如表1所示。
3.3? 網(wǎng)絡(luò)訓(xùn)練及識(shí)別結(jié)果
本模型的訓(xùn)練,采用ADAM優(yōu)化器來加速學(xué)習(xí),按8:2的比例將10萬張數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,batch_size為32,初始學(xué)習(xí)率為1e-3,衰減因子為0.1,每進(jìn)行80次迭代后調(diào)整一次學(xué)習(xí)率,共進(jìn)行1 000次迭代實(shí)驗(yàn)。在實(shí)驗(yàn)前,對(duì)數(shù)據(jù)集進(jìn)行規(guī)一化操作,將尺寸重新調(diào)整為w=160,h=32,最終得到的損失函數(shù)和準(zhǔn)確度如圖7所示,從圖中可以看出衰減損失收斂速度較快,模型的測(cè)試準(zhǔn)確率也在快速提升,最終穩(wěn)定在98%左右。
經(jīng)測(cè)試,本模型在各種復(fù)雜情況下的車牌識(shí)別中均取得了理想的效果,識(shí)別結(jié)果如圖8所示。從圖8中可以看出綜合正確率在97%左右,但由于樣本中“0”和“O”較為相似,且二者在訓(xùn)練樣本中同時(shí)出現(xiàn)的頻次不足,以致在識(shí)別新能源車輛“粵B D0194O”時(shí),其結(jié)果的置信度只有83.4%。
3.4? 系統(tǒng)的總體表現(xiàn)
本實(shí)驗(yàn)首先通過RetinaNet網(wǎng)絡(luò)識(shí)別車牌的區(qū)域,然后將此車牌的文字區(qū)域送入CRNN網(wǎng)絡(luò),做免分割的端到端識(shí)別,克服了傳統(tǒng)字符分割上的困難,同時(shí)在數(shù)據(jù)集的生成上引入仿射變換、隨機(jī)噪聲等干擾因素,最終實(shí)驗(yàn)準(zhǔn)確率達(dá)98%左右,響應(yīng)時(shí)間為100 ms左右,效果良好,達(dá)到了預(yù)期目標(biāo)。
4? 結(jié)? 論
本文基于CRNN字符識(shí)別網(wǎng)絡(luò)和RetinaNet目標(biāo)檢測(cè)網(wǎng)絡(luò)對(duì)車牌進(jìn)行識(shí)別,通過二者的級(jí)聯(lián),克服了傳統(tǒng)字符識(shí)別在分割中所遇到的困難,實(shí)現(xiàn)了端到端的車牌字符識(shí)別系統(tǒng)。特別是在訓(xùn)練集的實(shí)現(xiàn)上,采用了數(shù)據(jù)增強(qiáng)等方法,引入仿射變換、隨機(jī)噪聲等干擾因素,使網(wǎng)絡(luò)模型的學(xué)習(xí)能力得到提升,保證了識(shí)別系統(tǒng)的穩(wěn)定性,最終實(shí)驗(yàn)結(jié)果的準(zhǔn)確率達(dá)到了97%,識(shí)別的響應(yīng)時(shí)間平均為100 ms,結(jié)果表明所設(shè)計(jì)的方案具有較高的應(yīng)用價(jià)值。未來將從以下兩個(gè)方面進(jìn)行拓展:(1)“雙行車牌”的識(shí)別;(2)將車牌識(shí)別橫展至電動(dòng)自行車等其他領(lǐng)域。
參考文獻(xiàn):
[1] 吳宏偉.基于深度學(xué)習(xí)的車牌檢測(cè)識(shí)別系統(tǒng)研究 [D].大連:大連理工大學(xué),2021.
[2] 羅雅麗.車牌識(shí)別中人工智能技術(shù)的應(yīng)用 [J].電腦編程技巧與維護(hù),2021(7):125-127.
[3] 高昕葳.基于深度學(xué)習(xí)的汽車車牌識(shí)別算法研究 [J].機(jī)電工程技術(shù),2021,50(10):164-166.
[4] 史敏紅,李樹文,楊志.基于卷積神經(jīng)網(wǎng)絡(luò)的智能車牌識(shí)別研究 [J].電視技術(shù),2021,45(9):89-91+99.
[5] 張彩珍,李穎,康斌龍,等.基于深度學(xué)習(xí)的模糊車牌字符識(shí)別算法 [J].激光與光電子學(xué)進(jìn)展,2021,58(16):259-266.
[6] LEE E R,KIM P K,KIM H J. Automatic recognition of a car license plate using color image processing [C]//Proceedings of 1st international conference on image processing.Austin:IEEE,1994:301-305.
[7] LAROCA R,SEVERO E,ZANLORENSI L A,et al. A Robust Real-Time Automatic License Plate Recognition Based on the YOLO Detector [C]// 18 International Joint Conference on Neural Networks (IJCNN).Rio de Janeiro:IEEE,2018:1-10.
[8] CHENG C W,MEI L Y,ZHANG J H. License Plate Recognition via Deep Convolutional Neural Network [J].IOP Conference Series:Earth and Environmental Science,2018:189(6):062030.
[9] HE K M,ZHANG X Y,REN S Q,et al. Deep residual learning for image recognition [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas:IEEE,2016:770-778.
[10] 張炳力,秦浩然,江尚,等.基于RetinaNet及優(yōu)化損失函數(shù)的夜間車輛檢測(cè)方法 [J].汽車工程,2021,43(8):1195-1202.
[11] 牛作東,覃濤,李捍東,等.改進(jìn)RetinaFace的自然場(chǎng)景口罩佩戴檢測(cè)算法 [J].計(jì)算機(jī)工程與應(yīng)用,2020,56(12):1-7.
[12] 羅月童,江佩峰,段昶,等.面向小目標(biāo)檢測(cè)的改進(jìn)RetinaNet模型及其應(yīng)用 [J].計(jì)算機(jī)科學(xué),2021,48(10):233-238.
[13] 張福玲,張少敏,支力佳,等.融合注意力機(jī)制和特征金字塔網(wǎng)絡(luò)的CT圖像肺結(jié)節(jié)檢測(cè) [J].中國圖象圖形學(xué)報(bào),2021,26(9):2156-2170.
[14] 孟月波,金丹,劉光輝,等.共享核空洞卷積與注意力引導(dǎo)FPN文本檢測(cè) [J].光學(xué)精密工程,2021,29(8):1955-1967.
[15] 姚銘,鄧紅衛(wèi),付文麗,等.一種改進(jìn)的Mask R-CNN的圖像實(shí)例分割算法 [J].軟件,2021,42(9):78-82.
[16] 汪朝暉,于姍姍,孔娟娟,等.基于CRNN網(wǎng)絡(luò)的公交電子站牌屏顯識(shí)別及糾正 [J].信息技術(shù)與信息化,2021(7):164-169.
[17] 占鴻漸.基于深度學(xué)習(xí)的字符串識(shí)別研究 [D].上海:華東師范大學(xué),2021.
[18] 劉曉峰,宋文愛,陳小東,等.基于多核卷積融合網(wǎng)絡(luò)的BLSTM-CTC語音識(shí)別 [J].計(jì)算機(jī)應(yīng)用與軟件,2021,38(11):167-173.
[19] 胡黎,黃洪全,梁超,等.基于雙通路CNN的端到端語音識(shí)別研究 [J].傳感器與微系統(tǒng),2021,40(11):69-72+83.
作者簡(jiǎn)介:華春夢(mèng)(1990.04—),男,漢族,河南南陽人,助教,碩士研究生,研究方向:嵌入式Linux、機(jī)器學(xué)習(xí)、人工智能;
臧艷輝(1978.10—),女,漢族,湖北襄陽人,高級(jí)工程師,碩士研究生,研究方向:移動(dòng)物聯(lián)網(wǎng)、大數(shù)據(jù)技術(shù)應(yīng)用;
馬伙財(cái)(1993.11—),男,漢族,廣東肇慶人,助教,碩士研究生,研究方向:生成對(duì)抗神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)挖掘。