劉靖鈺, 劉德兒, 楊 鵬, 陳增輝, 鄒紀(jì)偉, 冀煒臻
(江西理工大學(xué) 建筑與測(cè)繪工程學(xué)院,江西 贛州 341000)
近年來(lái),我國(guó)車(chē)輛數(shù)量快速增加,查閱國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)可知,截止至2017年[1],民用汽車(chē)擁有量約20906.7萬(wàn)輛,民用載客汽車(chē)擁有量約18469.5萬(wàn)輛,民用載貨汽車(chē)擁有量約2338.8萬(wàn)輛,其他民用汽車(chē)擁有量約124.41萬(wàn)輛。龐大的汽車(chē)數(shù)量給相關(guān)部門(mén)的管理帶來(lái)極大挑戰(zhàn)。“智慧城市”是數(shù)字城市與物聯(lián)網(wǎng)結(jié)合的產(chǎn)物,是時(shí)代發(fā)展的趨勢(shì)。其中,車(chē)牌識(shí)別技術(shù)在智慧交通系統(tǒng)(Intelligent Transportation System,ITS)這一分支中發(fā)揮重要的作用[2],主要可用于道路交通監(jiān)控、交通違章自動(dòng)記錄、交通事故現(xiàn)場(chǎng)勘查、高速公路超速管理、社區(qū)智能管理等方面[3]。
車(chē)牌識(shí)別系統(tǒng)主要由圖像采集、車(chē)牌定位、字符分割和字符識(shí)別這4個(gè)部分構(gòu)成。數(shù)據(jù)源一般使用監(jiān)控錄像的視頻流。車(chē)牌定位算法主要有紋理特征定位[4]、顏色特征定位[5]、字符特征定位[6]、邊緣檢測(cè)定位[7]等, 文章巖[8]提出一種基于暗原色先驗(yàn)去霧算法提高霧霾環(huán)境下對(duì)車(chē)牌定位的精度;陳丹[9]采用修正過(guò)的檢測(cè)網(wǎng)絡(luò)Faster R-CNN對(duì)車(chē)牌進(jìn)行定位,提高了車(chē)牌定位準(zhǔn)確率。字符分割算法主要有投影分割[10]、連通性分割[11]和字符先驗(yàn)知識(shí)分割[12]。字符識(shí)別的算法有模式匹配[13]、神經(jīng)網(wǎng)絡(luò)匹配[14]和特征提取匹配[15],李祥鵬等[16]提出AlexNet-L用于解決字符分割的誤差對(duì)識(shí)別效果的影響,林乾畢[17]使用結(jié)合SVM和ANN的神經(jīng)網(wǎng)絡(luò)識(shí)別車(chē)牌;張培玲等[18]提出基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法用于識(shí)別夜間的車(chē)牌。但以上學(xué)者在研究中所用的數(shù)據(jù)均是在無(wú)遮擋條件下的完整車(chē)牌,而帶遮擋的車(chē)牌在視頻中也較為常見(jiàn),如何有針對(duì)性地對(duì)帶遮擋的車(chē)牌進(jìn)行識(shí)別是一個(gè)難點(diǎn)。
本文主要對(duì)行駛過(guò)程中車(chē)牌上帶局部自然遮擋物的車(chē)輛進(jìn)行車(chē)牌識(shí)別,如泥土、水霧等遮擋情況。車(chē)牌定位部分采用HSV特征定位,字符分割時(shí)對(duì)車(chē)牌進(jìn)行正射校正并利用先驗(yàn)的字符間距進(jìn)行分割,最后基于卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行字符識(shí)別。常見(jiàn)的研究遮擋識(shí)別的算法主要著力于視頻數(shù)據(jù)的預(yù)處理,盡可能地通過(guò)圖像處理的方式還原原圖以便進(jìn)行后續(xù)識(shí)別,算法普適性較差,對(duì)任意一類(lèi)的遮擋都需要有獨(dú)立的算法進(jìn)行去噪且耗時(shí)較長(zhǎng)。本文直接對(duì)國(guó)內(nèi)民用車(chē)牌中常見(jiàn)的字符建立各種形態(tài)并存在不同程度遮擋的樣本庫(kù),是一種基于數(shù)據(jù)驅(qū)動(dòng)[19]的識(shí)別方法,使其適用于任意情況的局部遮擋,并利用TensorFlow框架進(jìn)行訓(xùn)練與優(yōu)化,分析車(chē)牌識(shí)別的識(shí)別準(zhǔn)確度,并選用支持向量機(jī)[20](Support Vector Machine,SVM)與循環(huán)神經(jīng)網(wǎng)絡(luò)[21](Recurrent Neural Networks,RNN)進(jìn)一步驗(yàn)證所構(gòu)建的樣本庫(kù)的實(shí)用性。
在進(jìn)行車(chē)牌識(shí)別前,需要獲取圖像中的有效車(chē)牌,具體流程如圖1所示。
圖1 車(chē)牌獲取流程
從視頻中獲取的原始車(chē)牌圖像處于十分復(fù)雜的場(chǎng)景中,若直接對(duì)車(chē)牌進(jìn)行定位,噪聲干擾較為強(qiáng)烈,耗時(shí)長(zhǎng)且定位效果較差,尤其對(duì)于車(chē)牌處存在部分遮擋的情況,更難以精確定位,因而需要先將大部分的非車(chē)牌區(qū)域去除,以提高識(shí)別精度和效率。
將視頻中截取的RGB圖像轉(zhuǎn)換成HSV模式并單獨(dú)提取其中的V通道圖像,利用限制對(duì)比度的自適應(yīng)直方圖均衡化方法獲取車(chē)牌相對(duì)于背景對(duì)比度最大的效果,之后利用黑帽運(yùn)算結(jié)果減去頂帽運(yùn)算結(jié)果,即可將V通道的對(duì)比度拉伸至一個(gè)較好的狀態(tài);此時(shí)根據(jù)邊緣檢測(cè)可以獲得圖像中所有邊緣為矩形的區(qū)域,獲取圖像的blue通道,計(jì)算均值等特征,從待選區(qū)域確定車(chē)牌的位置,如圖2所示。
圖2 車(chē)牌定位
從視頻中提取出的車(chē)牌不免存在不同角度的傾斜,為避免這種現(xiàn)象對(duì)字符切分造成的影響,使用霍夫直線(xiàn)檢測(cè)(式(1))與仿射變換(式(2))將其校正至正攝狀態(tài),如圖3所示。
圖3 傾斜車(chē)牌校正
(1)
式中,ρ,θ為一對(duì)霍夫空間的變量,可以通過(guò)判定關(guān)于ρ,θ的正弦曲線(xiàn)與待檢測(cè)線(xiàn)條存在的交點(diǎn)個(gè)數(shù)進(jìn)行霍夫直線(xiàn)檢測(cè)。
(2)
式中,A為縮放系數(shù);b為平移系數(shù)。
經(jīng)上述流程,處理300張車(chē)輛圖片共耗時(shí)228.6 s,平均耗時(shí)0.762 s
考慮到交通管理的監(jiān)控設(shè)備一般與交通指示燈一起設(shè)置在路面正上方,因而所考慮的車(chē)牌基本屬于正面拍攝,偶爾存在非正面拍攝的情況則通過(guò)基于輪廓提取的校正進(jìn)行旋轉(zhuǎn)等處理使之被拉伸到與正面拍攝一樣的視角。此外,當(dāng)車(chē)牌上存在遮擋物時(shí),常用的字符切分方法(如投影法、聯(lián)通性法)將無(wú)法使用,因而選用基于先驗(yàn)知識(shí)的切分方式,即通過(guò)字符在正常情況下的大小和間距進(jìn)行切分。通過(guò)查閱GA 36-2014[22]可知,常見(jiàn)民用外輪廓為440 mm×140 mm的號(hào)牌的具體標(biāo)準(zhǔn)如圖4所示。計(jì)算出各個(gè)字符在整個(gè)車(chē)牌中所占的比例,對(duì)車(chē)牌進(jìn)行分割。分割后的車(chē)牌不能直接進(jìn)行識(shí)別,需對(duì)其進(jìn)行歸一化處理,將其修改為與訓(xùn)練樣本一致的尺寸,如圖5所示。隨后即可對(duì)切分后的字符進(jìn)行逐個(gè)識(shí)別。
圖4 車(chē)牌分割標(biāo)準(zhǔn)
圖5 車(chē)牌分割
基于神經(jīng)網(wǎng)絡(luò)的字符識(shí)別具有良好的自適應(yīng)性和準(zhǔn)確度,但是對(duì)字符樣本庫(kù)的數(shù)量具有較高要求。因此,建立合適的樣本庫(kù)是本次研究的首要任務(wù)。
采用正射投影法獲得全國(guó)車(chē)牌中所有的標(biāo)準(zhǔn)化單個(gè)字符信息,主要包括全國(guó)33個(gè)省、市、自治區(qū)的簡(jiǎn)稱(chēng)、24個(gè)大寫(xiě)英文字母(I、O除外)和10個(gè)阿拉伯?dāng)?shù)字??紤]到字符的特性,以及在一般情況下攝像機(jī)捕捉圖像時(shí)可能出現(xiàn)的情況,本文基于形態(tài)學(xué)算法對(duì)字符樣本庫(kù)進(jìn)行構(gòu)建。首先將字符歸一化為32 px×40 px的矩形,通過(guò)小波分析濾去其背景,并對(duì)字符進(jìn)行二值化,背景值設(shè)為0,字符值設(shè)為1。然后對(duì)樣本中字符的部分進(jìn)行旋轉(zhuǎn)、膨脹、腐蝕等操作,在此基礎(chǔ)上進(jìn)行4個(gè)方向上不同程度的遮擋,如圖6所示。
圖6 樣本庫(kù)樣例
最終為每類(lèi)字符構(gòu)建10000個(gè)以上的樣本,足以滿(mǎn)足CNN訓(xùn)練樣本的需求。
神經(jīng)網(wǎng)絡(luò)面對(duì)復(fù)雜的、具有不確定性的、非線(xiàn)性的問(wèn)題有較好的學(xué)習(xí)能力、處理能力和分類(lèi)能力。卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一類(lèi)包含深度卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),一般包含輸入層、隱含層和輸出層,其中隱含層又包含卷積層、池化層、全連接層等。且CNN隱含層內(nèi)的卷積核參數(shù)共享和層間連接的稀疏性可以使CNN能夠以較小的計(jì)算量對(duì)格點(diǎn)化特征,可對(duì)像素進(jìn)行較好的學(xué)習(xí)、有穩(wěn)定的效果且對(duì)數(shù)據(jù)沒(méi)有額外的工程特征要求。
卷積層原理如下:
(3)
式中,b為偏差量;Zl和Zl+1分別為第l+1層的卷積輸入和輸出;Ll+1為Zl+1的尺寸;Z(i+j)對(duì)應(yīng)特征圖的像素;K為通道數(shù);f為卷積核大??;s0為卷積步長(zhǎng);p為填充層數(shù)。
池化層原理如下:
(4)
式中,A(i,j)對(duì)應(yīng)特征圖的像素;s0為池化步長(zhǎng);p為預(yù)制定參數(shù)。
全連接層通常搭建在CNN中隱含層的最后部分,并只向其他全連接層傳遞信號(hào)。特征圖在全連接層中會(huì)失去三維結(jié)構(gòu),被展開(kāi)為向量并通過(guò)激勵(lì)函數(shù)傳遞至下一層,公式如下:
(5)
本文進(jìn)行識(shí)別模型訓(xùn)練時(shí)選用Le-Net5模型的框架,隱含層的設(shè)置如圖7所示,第一層卷積層通過(guò)5×5的卷積核提取得到32張?jiān)紙D片的低層次特征,再通過(guò)2×2的池化層對(duì)提取到的低層次特征進(jìn)行特征抽取,第二層卷積層通過(guò)5×5的卷積核提取到64張池化后的高層次特征,再通過(guò)2×2的池化層和兩層全連接層實(shí)現(xiàn)圖像特征的輸出,最終調(diào)用激活函數(shù)SoftMax()進(jìn)行非線(xiàn)性擬合,得到多分類(lèi)的輸出。
圖7 網(wǎng)絡(luò)結(jié)構(gòu)
對(duì)待檢測(cè)車(chē)牌數(shù)據(jù)進(jìn)行閾值分割并將切割后的單字符圖片長(zhǎng)寬歸一化至32 px×40 px,進(jìn)行批量識(shí)別測(cè)試。
通過(guò)形態(tài)學(xué)算法構(gòu)建的樣本庫(kù)主要分為漢字、字母和數(shù)字三大類(lèi),其中每一個(gè)字符通過(guò)不同形態(tài)、旋轉(zhuǎn)角度、遮擋情況等共構(gòu)造出10240個(gè)樣本,隨機(jī)取其90%作為訓(xùn)練集,其余為測(cè)試集。訓(xùn)練框架為T(mén)ensorFlow1.4,將訓(xùn)練集轉(zhuǎn)存為tfrecord類(lèi)型以節(jié)約內(nèi)存、統(tǒng)一格式并提高計(jì)算效率,通過(guò)CNN對(duì)樣本進(jìn)行訓(xùn)練與測(cè)試,最后實(shí)現(xiàn)對(duì)車(chē)牌的識(shí)別。實(shí)驗(yàn)設(shè)置卷積層池化層各兩層,最終通過(guò)兩層全連接層實(shí)現(xiàn)特征輸出。具體參數(shù)設(shè)置:學(xué)習(xí)率為0.8,學(xué)習(xí)率的衰減率為0.99,損失函數(shù)系數(shù)為0.001,每一批次訓(xùn)練128張圖片,訓(xùn)練至3200步時(shí)趨于收斂,精度為99.978%。同時(shí)使用上述網(wǎng)絡(luò)訓(xùn)練無(wú)遮擋的字符樣本,每類(lèi)6542張圖片,并對(duì)比不同樣本庫(kù)對(duì)識(shí)別效果的影響,如表1所示。
表1 測(cè)試結(jié)果
分析可知,當(dāng)字符受到不同程度的遮擋時(shí),識(shí)別精度會(huì)存在較大的差異。對(duì)于車(chē)牌中未受到任何遮擋的字符,總體識(shí)別精度可達(dá)到0.87以上,部分特征十分鮮明與別的字符不存在相互干擾的字符識(shí)別正確率可達(dá)0.95以上,但是車(chē)牌2中的“滬”由于進(jìn)行二值化處理時(shí)沒(méi)有自適應(yīng)存在部分特征缺失,精度僅有0.74;對(duì)于遮擋面積占字符總面積1/12~1/6之間的字符,如車(chē)牌1中的“8”,其識(shí)別精度可以達(dá)到0.89以上;對(duì)于遮擋面積占字符總面積1/4左右的字符,如車(chē)牌2中的“0”、車(chē)牌3中的“蘇”,識(shí)別精度在0.75以上;對(duì)于遮擋面積占字符總面積1/3左右的字符,如車(chē)牌2中的“J”和“9”,由于遮擋部分橫跨字符中央,特征缺失較為嚴(yán)重,識(shí)別精度約在0.59以上,其中字符“9”在識(shí)別時(shí)會(huì)受到字符“2”“8”“G”等的強(qiáng)烈干擾,識(shí)別精度更低;當(dāng)遮擋面積占總字符面積1/2以上時(shí),識(shí)別精度持續(xù)下降,如車(chē)牌3中的字符 “3”,由于保留的有效特征具有其獨(dú)特性,識(shí)別精度為0.81,效果較好,但是字符“E”和“B”識(shí)別精度僅為0.33和0.41。此外通過(guò)與無(wú)遮擋樣本識(shí)別效果的對(duì)比發(fā)現(xiàn),無(wú)遮擋樣本在識(shí)別無(wú)遮擋字符時(shí)的精度維持在90%左右,比起帶遮擋樣本的識(shí)別精度較穩(wěn)定,但兩者的正確率相差無(wú)幾,可能是樣本量較大導(dǎo)致略微過(guò)擬合;但在存在遮擋的字符識(shí)別中,帶遮擋樣本庫(kù)的識(shí)別效果明顯優(yōu)于無(wú)遮擋樣本庫(kù)的識(shí)別效果,如在車(chē)牌3的字符4“B”的識(shí)別上,雖然無(wú)遮擋樣本庫(kù)的識(shí)別精度更高,但是識(shí)別錯(cuò)誤,除此之外有遮擋樣本庫(kù)的識(shí)別精度在對(duì)存在遮擋的字符進(jìn)行識(shí)別時(shí)明顯更高,表明該樣本庫(kù)的建立是有意義的。
因此本文通過(guò)形態(tài)學(xué)等算法建立的樣本庫(kù)適用于單字符遮擋面積在1/2以下的車(chē)牌識(shí)別,對(duì)于遮擋面積過(guò)大、失去了鮮明特征的字符,識(shí)別效果不太理想。
選取300張存在遮擋情況的車(chē)牌,經(jīng)字符分割,共有漢字300個(gè)、字母及數(shù)字1800個(gè),根據(jù)其存在的遮擋情況進(jìn)行測(cè)試并統(tǒng)計(jì),總體識(shí)別精度如表2所示。
表2 不同遮擋條件下的正確識(shí)別率
為證明通過(guò)形態(tài)學(xué)所建立的帶遮擋車(chē)牌字符樣本庫(kù)在車(chē)牌識(shí)別中比無(wú)遮擋樣本庫(kù)更有優(yōu)勢(shì),選取SVM和RNN進(jìn)行驗(yàn)證,以準(zhǔn)確率和平均精度作為分析指標(biāo),驗(yàn)證結(jié)果如表3所示。
表3 不同算法中不同樣本的識(shí)別情況
分析可知,在任何算法中,使用有遮擋樣本的訓(xùn)練集去識(shí)別車(chē)牌時(shí),準(zhǔn)確率和平均精度相比于無(wú)遮擋樣本都更高,更具實(shí)用性。
本文通過(guò)視頻截幀的方式獲得車(chē)輛圖像,隨后利用限制對(duì)比度的自適應(yīng)直方圖均衡化方法大致確定車(chē)牌在圖片中的位置,再采取形態(tài)學(xué)等方案確定車(chē)牌的詳細(xì)邊界以實(shí)現(xiàn)車(chē)牌定位;借用霍夫直線(xiàn)檢測(cè)對(duì)車(chē)牌進(jìn)行校正,以便對(duì)其進(jìn)行精準(zhǔn)的分割。裁取完整車(chē)牌中的67個(gè)字符,按一定的規(guī)律加入不同程度的遮擋;對(duì)需要進(jìn)行識(shí)別的車(chē)牌隨機(jī)加入高斯濾波并計(jì)算其遮擋比例。對(duì)模型訓(xùn)練調(diào)參后可得出在不同遮擋程度下字符識(shí)別的準(zhǔn)確性,通過(guò)與同一網(wǎng)絡(luò)中訓(xùn)練得到無(wú)遮擋樣本庫(kù)的識(shí)別效果進(jìn)行對(duì)比,發(fā)現(xiàn)帶遮擋樣本庫(kù)精度更高,此外使用SVM與RNN對(duì)兩種樣本的精度進(jìn)行驗(yàn)證。另外通過(guò)對(duì)車(chē)牌不同遮擋情況進(jìn)行對(duì)比,可知帶遮擋樣本庫(kù)可用于遮擋程度在1/2以下的車(chē)牌圖片識(shí)別。
由于實(shí)驗(yàn)訓(xùn)練集測(cè)試數(shù)量不足,理應(yīng)對(duì)算法做進(jìn)一步的改進(jìn)與優(yōu)化,可以從網(wǎng)絡(luò)結(jié)構(gòu)、參數(shù)優(yōu)化等方面進(jìn)行后續(xù)研究。