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