孫卓婷,王福龍
(廣東工業(yè)大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,廣東廣州 510630)
基于計(jì)算機(jī)視覺(jué)的智能交通系統(tǒng)(Intelligent Traffic System,ITS)已在多種實(shí)時(shí)應(yīng)用中發(fā)揮關(guān)鍵作用,如電子通行費(fèi)支付[1]、智能停車管理[2]、交通監(jiān)控[3]等。車牌識(shí)別技術(shù)是ITS 發(fā)揮作用的重要基礎(chǔ)[4-5],主要包括車牌區(qū)域檢測(cè)和車牌字符識(shí)別兩部分。其中車牌區(qū)域檢測(cè)是車牌識(shí)別技術(shù)的關(guān)鍵和難點(diǎn),常用方法可分為兩類:一是基于滑動(dòng)窗口[6-7]的方法,該類方法綜合多種圖像特征,利用滑動(dòng)窗口結(jié)合機(jī)器學(xué)習(xí)方法或神經(jīng)網(wǎng)絡(luò)精準(zhǔn)定位車牌位置,但其需要海量車牌樣本進(jìn)行學(xué)習(xí)以提高檢出率,且受控于參數(shù)分布[8-9],訓(xùn)練時(shí)間較長(zhǎng),當(dāng)車牌大小發(fā)生較大變化時(shí)還需要重新訓(xùn)練網(wǎng)絡(luò)模型,計(jì)算復(fù)雜度高。由于該類方法需要使用大量訓(xùn)練樣本,不具備通用屬性,很難滿足實(shí)時(shí)和工業(yè)應(yīng)用的效率和精度要求;二是基于特征提取的方法,主要分為基于顏色特征、形態(tài)學(xué)特征和邊緣檢測(cè)的車牌定位方法?;陬伾卣鞯姆椒ǎ?0]主要通過(guò)車牌顏色特征構(gòu)建顏色模型縮小檢測(cè)范圍以提高定位精度,但該類方法僅適用于道路卡口和停車場(chǎng)等特定場(chǎng)景,在復(fù)雜環(huán)境中由于受視角、光照條件變化等因素影響,很難獲得滿意的識(shí)別準(zhǔn)確度;基于形態(tài)學(xué)特征的方法,如基于最大穩(wěn)定極值區(qū)域(Maximally Stable Extremal Regions,MSER)與筆畫寬度變換(Stroke Width Transform,SWT)算法的車牌定位方法[11]在存在噪聲的情況下識(shí)別效果仍較好,但其識(shí)別效果在很大程度上取決于預(yù)處理結(jié)果;基于邊緣檢測(cè)的方法通過(guò)提取邊緣信息定位車牌,對(duì)具有高對(duì)比度和清晰紋理的圖像具有較高的識(shí)別精度和較快的計(jì)算速度。例如文獻(xiàn)[12]中提出的基于MESR 與邊緣投影的車牌定位算法對(duì)各種天氣、光照條件下的低圖像質(zhì)量具有魯棒性,但易受到鋸齒過(guò)大和過(guò)于粗糙形態(tài)無(wú)效區(qū)域的影響,例如汽車的排氣門和保險(xiǎn)杠;文獻(xiàn)[13]采用Sobel 濾波器和邊緣修剪進(jìn)行邊緣檢測(cè)以獲得車牌候選區(qū)域,但對(duì)于光照變化條件下的圖像無(wú)效,在該條件下找到車牌候選區(qū)域的最佳方法為使用動(dòng)態(tài)閾值,但定義動(dòng)態(tài)閾值并非易事。
傳統(tǒng)車牌檢測(cè)算法在各種復(fù)雜環(huán)境中極易出錯(cuò),為此本文提出一種基于SURF(Speeded Up Robust Feature)算法的多階段車牌定位模型,針對(duì)傳統(tǒng)車牌檢測(cè)算法利用水平和垂直投影法得到車牌位置的不可預(yù)測(cè)性問(wèn)題,采用新穎的四維特征描述符用于表達(dá)車牌信息。該模型在保證準(zhǔn)確提取車牌特征的同時(shí),極大降低了計(jì)算復(fù)雜度。
特征點(diǎn)是指在垂直和水平方向上局部梯度有劇烈變化的小的圖像區(qū)域[14],從圖像中提取特征點(diǎn)是檢測(cè)車牌的重要步驟。車牌信息可看作是一種特殊的紋理屬性,而Hessian 矩陣的行列式值可為車牌邊框信息提供高值,為非背景信息提供低值。因此,本文在水平方向上選用高斯二階微分算子,垂直方向上使用Hessian 矩陣的行列式值提取特征點(diǎn)。為減少計(jì)算耗時(shí),使用盒狀濾波器近似替代高斯二階微分算子,再通過(guò)積分圖計(jì)算對(duì)圖像進(jìn)行濾波處理,從而得到相應(yīng)的特征響應(yīng)值。然而,由于受環(huán)境復(fù)雜性、車牌圖像低分辨率以及背景變化等因素影響,僅通過(guò)特征值檢測(cè)很難將車牌候選區(qū)域與非車牌候選區(qū)域區(qū)分開(kāi)來(lái)。為此,通過(guò)行協(xié)方差向量增加車牌與非車牌候選區(qū)域之間的差異以消除大部分非車牌候選區(qū)域,例如車標(biāo)、車燈以及汽車格柵等。然后為每個(gè)候選區(qū)域建立四維特征描述符,并通過(guò)比較描述符響應(yīng)值的高低提取出車牌行候選區(qū)域。
首先,采用近似Hessian 矩陣行列式的局部最大值定位特征點(diǎn)位置。圖像I 的點(diǎn)I(x,y)在尺度為σ 的Hessian矩陣H(x,σ)定義為:
高斯函數(shù)雖然是最佳的尺度空間分析工具,但由于在實(shí)際應(yīng)用時(shí)總需要對(duì)其進(jìn)行離散化和剪裁處理,可能會(huì)導(dǎo)致一定誤差,因此可以采用其他工具代替高斯函數(shù),只要誤差不大即可。σ=1.2 的模板Lyy和Lxy高斯二階微分算子如圖1(a)(b)所示,加權(quán)后的Dyy和Dxy盒狀濾波器如圖1(c)(d)所示。
Fig.1 Comparison of Gaussian second-order differential template and box filter template圖1 高斯二階微分模板與盒狀濾波器模板比較
利用盒狀濾波器(Dxx,Dyy,Dxy)近似替代高斯二階微分算子對(duì)圖像進(jìn)行濾波處理,得到響應(yīng)值(Lxx,Lyy,Lxy),則Hessian 矩陣的行列式可簡(jiǎn)化為:
式中,濾波器響應(yīng)的相關(guān)權(quán)重ω是為了平衡Hessian行列式的表示式,此處ω=0.9[15]。
在盒狀濾波器中,白色部分的權(quán)值為1,灰色部分的權(quán)值為0,模板Dxx和Dyy黑色部分的權(quán)值為-2,Dxy黑色部分的權(quán)值為-1。黑色部分和白色部分統(tǒng)稱為突起部分。利用盒狀濾波器對(duì)圖像進(jìn)行濾波處理后得到的響應(yīng)值為:
式中,N 表示突起部分的總和;模板Dxx和Dyy的N 值取3;模板Dxy的N 值取4;Sn表示第n個(gè)突起部分的面積,除以Sn為進(jìn)行歸一化處理;wn表示第n 個(gè)突起部分的權(quán)值。整個(gè)括號(hào)部分是使用由Viola 和Jones[15]提出的積分圖計(jì)算得到的矩陣區(qū)域灰度之和。
將輸入圖像轉(zhuǎn)化為灰度圖像,計(jì)算該圖像的積分圖。如圖2 所示,選用模板Dxx,利用式(4),通過(guò)滑動(dòng)窗口遍歷整個(gè)圖像并提取車牌特征,從而得到與輸入圖像尺寸相同的特征矩陣。
Fig.2 Schematic diagram of box filter extracting image features圖2 盒狀濾波器提取圖像特征示意圖
圖3 顯示了不同大小窗口的輸出結(jié)果,與3×3 窗口相比,5×5 窗口丟失了大量車牌信息??梢钥闯觯?×3 窗口的前景與背景已經(jīng)明顯區(qū)分開(kāi)來(lái),且與車牌相關(guān)的主要信息幾乎沒(méi)有丟失,但前景區(qū)域內(nèi)包含了許多冗雜信息。綜上,將窗口大小確定為3×3。
Fig.3 Output results of different window size圖3 不同窗口輸出結(jié)果
由特征矩陣結(jié)果可以看出,由于汽車型號(hào)的不可預(yù)測(cè)性,僅通過(guò)特征值檢測(cè)很難將車標(biāo)、車燈、汽車格柵與車牌區(qū)域區(qū)分開(kāi)來(lái)。但無(wú)論是上述哪一種因素干擾,均都與車牌存在明顯的水平分界線。
在統(tǒng)計(jì)學(xué)中,方差用于度量單個(gè)隨機(jī)變量的離散程度,而協(xié)方差則用于度量?jī)蓚€(gè)隨機(jī)變量的線性相關(guān)程度,兩個(gè)變量越線性相關(guān),協(xié)方差越大。因此,以下針對(duì)上一節(jié)的特征矩陣計(jì)算行協(xié)方差。
設(shè)圖像I 的特征矩陣為Tm×n=[t1,t2,...,tn],則行協(xié)方差矩陣表示為:
式中,對(duì)角線上的元素為各行方差,非對(duì)角線上的元素為每?jī)尚兄g的協(xié)方差。根據(jù)協(xié)方差的定義,R 為對(duì)稱矩陣。由于車牌所在區(qū)域所有字符均位于同一水平線上,若將該對(duì)稱矩陣按列求和,會(huì)使車牌所在行的特征信息更加突出,進(jìn)而使車牌的特征信息與整個(gè)車輛圖像分離開(kāi)來(lái)。因此,定義一個(gè)行協(xié)方差向量為:
由于非車牌候選區(qū)域的特征值較小,一般小于特征向量的均值,為了減少其干擾,將小于均值的特征值置零。如圖4(c)(彩圖掃OSID 碼可見(jiàn),下同)所示,行協(xié)方差向量被劃分為多個(gè)差異明顯的小區(qū)域,稱為分塊區(qū)域;紅線部分即車牌候選區(qū)域,已與其他區(qū)域明顯區(qū)分開(kāi)來(lái),且其對(duì)應(yīng)的縱坐標(biāo)即為車牌候選區(qū)域所在行的位置。
Fig.4 Candidate areas for subdividing license plates圖4 細(xì)分車牌候選區(qū)域
車牌候選區(qū)域通常包含一些平行線,這是由于每個(gè)完整車牌字符具有統(tǒng)一的高度與寬度,而這些平行線對(duì)應(yīng)于車牌及其上各個(gè)字符的邊界,可作為描述符的一部分用于確定車牌候選區(qū)域。將這些平行線分為水平和垂直兩種方向,并稱之為邊緣。車牌候選區(qū)域的垂直和水平邊緣梯度方向通常具有相同的值,以下計(jì)算原圖像的梯度方向值。
圖像I在點(diǎn)I(x,y)的梯度方向?yàn)椋?/p>
式中,(Gx,Gy)為“1.1”節(jié)中使用盒狀濾波器計(jì)算所得的值(Dx,Dy)。
從這些梯度方向中提取0°和90°兩個(gè)方向作為局部特征描述符的一部分。由于自然環(huán)境下拍攝車牌圖像角度的不確定性,車牌輪廓會(huì)發(fā)生少許變化,導(dǎo)致這些平行線不再平行。因此在檢測(cè)梯度方向時(shí),在水平方向上檢測(cè)0°±10°,垂直方向上檢測(cè)90°±10°,容許10°范圍內(nèi)的偏差。將這兩個(gè)梯度方向的個(gè)數(shù)分別作為車牌行候選區(qū)域特征描述符的兩個(gè)維度。
除了考慮分塊區(qū)域內(nèi)每個(gè)點(diǎn)的梯度方向信息,描述符中還包含每個(gè)點(diǎn)周圍的響應(yīng)值信息。如圖4(c)所示,紅線部分即車牌所在位置,其曲線相較于具有豐富信息的車體更細(xì)長(zhǎng)平滑,這是由于非車牌候選區(qū)域噪聲較大,導(dǎo)致行協(xié)方差向量曲線有許多鋸齒,因此車牌所在候選區(qū)域的極大值點(diǎn)個(gè)數(shù)遠(yuǎn)小于車牌上方具有豐富特征信息的車體,且車牌所在候選區(qū)的極大值點(diǎn)個(gè)數(shù)一般小于8。除此之外,車牌候選區(qū)域的極大值均值也相對(duì)較大?;诖耍擅總€(gè)分塊區(qū)域內(nèi)的極大值個(gè)數(shù)、加權(quán)極大值均值以及兩個(gè)梯度方向的總個(gè)數(shù),構(gòu)造一個(gè)四維向量作為分塊區(qū)域局部特征描述符,表示為:
式中,i表示第i個(gè)分塊區(qū)域,N表示極大值個(gè)數(shù),M表示極大值。車牌上方豐富的車體特征信息會(huì)導(dǎo)致其極大值均值對(duì)車牌候選區(qū)域選擇造成干擾,因此對(duì)每個(gè)區(qū)域的極大值均值添加權(quán)重i。由于車牌位于車輛靠下位置,分塊區(qū)域越靠下,權(quán)重越大。
至此,行協(xié)方差向量圖的各個(gè)分塊區(qū)域均確定了相應(yīng)的特征描述符。根據(jù)描述符計(jì)算其響應(yīng)值,從中選出響應(yīng)值最高的描述符作為車牌候選區(qū)域。如果描述符向量中極大值個(gè)數(shù)大于8,則判斷為非車牌候選區(qū)域,不參與描述符響應(yīng)值的計(jì)算。
設(shè)行協(xié)方差向量分塊區(qū)域個(gè)數(shù)為i,則對(duì)應(yīng)分塊區(qū)域特征描述符響應(yīng)值的計(jì)算公式為:
式中,V(i,j)表示第i個(gè)分塊區(qū)域的第j維描述符。經(jīng)歸一化處理以及協(xié)方差矩陣計(jì)算后,行協(xié)方差向量的數(shù)值均小于0.1,因此極大值均值亦是一個(gè)非常小的數(shù)值。為了平衡極大值均值數(shù)值,增加描述符響應(yīng)值的相關(guān)權(quán)重ω,表示為:
由于分塊區(qū)域的描述符與汽車類型、車牌顏色、車牌字符大小等無(wú)關(guān),將該步驟的輸出視為車牌行候選區(qū)域。
對(duì)車牌候選區(qū)域提取Hessian 特征矩陣,并求其列和得到列和特征向量。由于非車牌候選區(qū)域的特征值較小,一般小于列和特征向量均值,為了減少其干擾,將這些特征值置零,最后作出列和特征向量圖。列和特征值隨著車牌字符結(jié)構(gòu)特征的變化而跳動(dòng),形成了多個(gè)相近的間隔。通過(guò)計(jì)算列和特征值非零的坐標(biāo),可以得到這些間隔所在位置,根據(jù)這些位置坐標(biāo)的密集程度,可以實(shí)現(xiàn)車牌列候選區(qū)域與非車牌列候選區(qū)域的分割,具體步驟為:
(1)將車牌行候選區(qū)域?qū)挾绕骄指畛?8 份,這是由于中國(guó)車牌字符間距并不完全相等。如圖5(a)紅線部分所示,第2 與第3 個(gè)字符間距相對(duì)較大,而CCPD 數(shù)據(jù)集中的圖像寬度均為360,為了使它們不被識(shí)別為分割點(diǎn),分割的每個(gè)區(qū)間應(yīng)大于該間距。然后作出列和特征值非零坐標(biāo)的頻數(shù)分布直方圖,如圖5(b)所示。
(2)以頻數(shù)為0 的直條端點(diǎn)作為車牌列候選區(qū)域的分割點(diǎn),從而將該區(qū)域分割成若干個(gè)小區(qū)域。由圖3 可以看出,車牌所在區(qū)域的藍(lán)線占據(jù)全部藍(lán)線的絕大部分,因此選擇區(qū)間最大的區(qū)域作為車牌列候選區(qū)域。
(3)計(jì)算距離區(qū)間端點(diǎn)最近的列和特征值非零坐標(biāo),作為車牌列候選區(qū)域的起始與終止位置,最終得到車牌列候選區(qū)域。
Fig.5 Precise positioning process of the candidate area of the license plate column圖5 車牌列候選區(qū)域精定位過(guò)程
驗(yàn)證實(shí)驗(yàn)均在MATLAB R2016a 環(huán)境下進(jìn)行。在CCPD 數(shù)據(jù)集[16]中選取2 631 幅大小為720×1 160×3 的車輛圖像進(jìn)行測(cè)試。這些車輛圖像涵蓋了不同的拍攝視角、拍攝地點(diǎn)、車牌大小、光照強(qiáng)度、運(yùn)動(dòng)模糊等復(fù)雜場(chǎng)景。
圖6 顯示了多尺度、不同拍攝視角下的車牌檢測(cè)結(jié)果,證明本文方法能適用于各種場(chǎng)景。圖7 表明本文方法能夠定位不同光照條件以及運(yùn)動(dòng)模糊的車牌。圖8 的車牌出現(xiàn)顏色變化、污穢遮擋、破損以及文字干擾,但本文方法仍能夠準(zhǔn)確定位。圖9 顯示了非車牌區(qū)域被誤檢為車牌區(qū)域的情況,但被誤檢為車牌區(qū)域的數(shù)量不多,后期可以通過(guò)調(diào)節(jié)對(duì)誤檢樣本的分割參數(shù)改善檢測(cè)結(jié)果。表1為不同環(huán)境條件下車牌檢測(cè)實(shí)驗(yàn)結(jié)果。
Fig.6 Examples of license plate detection with multi-scale and attitude changes圖6 多尺度、不同拍攝視角下的車牌檢測(cè)示例
Fig.7 Examples of license plate detection with different lighting and motion blur圖7 不同光照條件和運(yùn)動(dòng)模糊的車牌檢測(cè)示例
Fig.8 Examples of license plate detection with color changes,filth damage,and word interference圖8 顏色變化、污穢遮擋、破損和文字干擾的車牌檢測(cè)示例
Fig.9 Some examples of false detections圖9 部分誤檢情況示例
Table 1 Test results of license plate detection under different environmental conditions表1 不同環(huán)境條件下車牌檢測(cè)實(shí)驗(yàn)結(jié)果
為驗(yàn)證本文算法的有效性,表2 列出了其與基于MSER 車牌字符合并[18]、基于構(gòu)造最近鄰對(duì)[19]以及基于Faster R-CNN 結(jié)合VGG 網(wǎng)絡(luò)[20]3 種車牌檢測(cè)方法在復(fù)雜場(chǎng)景下的車牌定位結(jié)果比較。可以看出,基于MSER 車牌字符合并的方法大多數(shù)錯(cuò)誤定位都發(fā)生在包含某些特殊物體(車標(biāo)、散熱器、保險(xiǎn)杠)、復(fù)雜背景(樹(shù)木、自行車)、雜物遮擋以及過(guò)強(qiáng)、過(guò)暗光線情況下捕獲的圖像中,因此該法在較多噪聲的環(huán)境下不再適用?;跇?gòu)造最近鄰對(duì)的方法通過(guò)構(gòu)造最近鄰對(duì)的方式進(jìn)行車牌檢測(cè),但無(wú)法應(yīng)對(duì)拍攝距離較遠(yuǎn)導(dǎo)致的車牌區(qū)域過(guò)小而產(chǎn)生字符粘連的情況,因此其準(zhǔn)確率較低。基于Faster R-CNN 結(jié)合VGG 網(wǎng)絡(luò)的方法雖然準(zhǔn)確率高于其他方法,但在缺乏訓(xùn)練數(shù)據(jù)集的情況下計(jì)算耗時(shí)明顯多于其他方法,因此不適于計(jì)算資源有限的情況[21]。
Table 2 Comparison of license plate detection algorithm表2 不同車牌定位算法比較
為不受車牌大小、顏色、拍攝尺度和光照環(huán)境影響,對(duì)各型車牌進(jìn)行精準(zhǔn)定位,本文提出基于SURF 算法的多階段車牌定位模型,其能為邊緣信息提供高系數(shù),為背景信息提供低系數(shù)。該模型使用SURF 特征矩陣的行協(xié)方差系數(shù)分布定義車牌行候選區(qū)域的特征,采用四維特征描述符表達(dá)車牌信息。該模型的有效性在復(fù)雜場(chǎng)景下的車牌圖像檢測(cè)實(shí)驗(yàn)中得到了驗(yàn)證。然而,在建立特征描述符時(shí),梯度值的使用限制了該方法的通用性[22]。為解決旋轉(zhuǎn)角度過(guò)大圖像的車牌檢測(cè)問(wèn)題,后期計(jì)劃提出一種新的預(yù)處理技術(shù)矯正圖像,以擴(kuò)展該方法的通用性。本文僅限于提出一個(gè)新想法并對(duì)其進(jìn)行實(shí)驗(yàn)驗(yàn)證,以表明其理論上適用于不同情況。由于最終目標(biāo)是開(kāi)發(fā)在真實(shí)環(huán)境中從大型數(shù)據(jù)庫(kù)中檢索車牌的系統(tǒng),如何在擁擠的街道場(chǎng)景中捕獲包含密集車輛信息的車牌圖像是下一步研究的課題。