肖 聰,周毅媛
(1.武漢晴川學院,湖北 武漢 430204;2.武漢瑞麗森智能設(shè)備有限公司,湖北 武漢 430050;3.漢口學院,湖北 武漢 430212)
車牌識別系統(tǒng)(License Plate Recognition,LPR)作為智能交通管理系統(tǒng)的重要組成部分越來越被重視。一般的測距多集成在倒車雷達中,事實上對于自動輔助駕駛車輛需要實時檢測前方車輛信息,并精確判斷出車輛之間的間距。目前已有的檢測系統(tǒng)受環(huán)境影響較大,產(chǎn)生的數(shù)據(jù)噪聲也大,寬度信息的檢測能力較弱,不能排除高度信息引起的虛假警報。此外,由于濾波算法相對單一和固定,會錯過目標信息。
由于道路環(huán)境復雜,并且攝像系統(tǒng)容易受到光照等影響,單一視覺容易出現(xiàn)誤檢漏檢的情況,并且機器視覺對深度信息的感知較低,因此將多算法進行融合,可以將兩種數(shù)據(jù)進行互補,系統(tǒng)容錯性能好,運行魯棒性強,性能穩(wěn)定,即可檢測出前方車輛信息,從而識別位置相對固定的車牌,得出前方車輛的速度、角度、相對位置關(guān)系等深度信息。
為了達到準確識別車輛的目的,通過車輛方向梯度直方圖特征檢測出訓練圖像中的車輛;并在訓練車牌的樣本時,通過LBP算子對訓練圖片進行檢測,對訓練圖片中的車牌區(qū)域和非車牌區(qū)域設(shè)定不同的權(quán)值,利用Adaboost算法通過樣本權(quán)重的重新分配,將多個弱分類器組成一個強分類器。在訓練樣本時,有很多不同類型的車牌,再用形成的這些強分類器采取級聯(lián)分類檢測的形式,最終確定待檢測樣本圖片中的車牌區(qū)域。同時將顯示部分發(fā)送到無線端進行查看,感知系統(tǒng)設(shè)計方案如圖1所示。
圖1 感知系統(tǒng)設(shè)計方案圖
局部二值模式(Local Binary Pattern,LBP)算法的思想是利用結(jié)構(gòu)化思想提取窗口特征,再利用統(tǒng)計化做最終整體特征的提取。
最初的LBP描述子算法步驟如下,如圖2所示:①在圖像中以該點為中心,所有點采取3×3格式;②鄰域像素值大于或等于中心像素標記為1,否則標記為0;③窗口按一定的順序排列,生成8位的unsigned的二進制數(shù),最后轉(zhuǎn)化成整數(shù)。
圖2 基本LBP算子
假定弱分類器為hj(x),包括一個判決閾值θj、特征fj、決定不等號方向pj,公式見下式,其中x為歸一化樣本的子窗口。
Adaboost算法具體描述如下。
給定訓練樣本集合{(x1,y1),(x2,y2),...,(xn,yn)},其中yi=0對應負樣本,yi=1對應正樣本。權(quán)重初始化如下公式所示,m為負樣本數(shù)量,L為正樣本數(shù)量。
最終由多個弱分類器得到一個強分類器:
Adaboost算法用于訓練樣本集,以獲得包含許多弱分類器的集成分類器。如果計算所有弱分類器,計算過程將變得非常緩慢。因此,為了加快目標檢測的速度,目標檢測器可以采用級聯(lián)分類器結(jié)構(gòu),級聯(lián)多個單級分類器。當某個級別的特征被判斷為非檢測目標時,目標窗口立即被排除。在訓練過程中,將每一級分類器設(shè)置為具有高檢測率和中等誤報率。級聯(lián)這些分類器后,可以實現(xiàn)極低的誤報率和較高的檢測率,系統(tǒng)級聯(lián)分類器的結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)級聯(lián)分類器的結(jié)構(gòu)圖
根據(jù)級聯(lián)分類器結(jié)構(gòu)最終分析出的檢測率如下式所示:
式中:di——每級分類器的檢測率;k——級聯(lián)分類器的級數(shù)。
感興趣區(qū)域(region of interest,ROI)是指被處理的圖像以圓、橢圓、方框、不規(guī)則多邊形等方式勾勒出待處理的區(qū)域。
由于在馬路上行駛有較多的汽車,較好識別出前方車輛對汽車防碰撞預警,保證汽車行駛的安全性就具有非常大的意義。本文運用python語言編程,通過HOG方向梯度直方圖特征檢測出馬路上行駛的諸多車輛,如果不通過車輛檢測的方法,而是直接對整張圖片進行計算,就會帶來極大的計算量,影響車距檢測的實時性,因此,本文通過方向梯度直方圖特征檢測并確定有汽車的感興趣區(qū)域(ROI),增加測距的實時性。車輛檢測前后對比圖如圖4所示。
圖4 車輛檢測前后對比圖
由圖4可以看到,本文的方法能夠?qū)β飞闲旭偟拇龣z測車輛進行很好識別,即目標確定效果很好,進而為后續(xù)車牌定位和車距測量打下基礎(chǔ)。
首先訓練分類器,將圖像預處理灰度化后的車牌正負樣本圖片放入OpenCV中生成Xml文件,生成分類器,其中正樣本應只包含車牌樣本,負樣本不能包含車牌信息。采用LBP算子,直接利用灰度進行比較。比較完后采用Adaboost算法將多個弱分類器組成強分類器,樣本的權(quán)重也在迭代中更靠近正確分類的值。最后將多個單級分類器級聯(lián)起來,加快檢測速度,為了加快識別速率可采用跳幀以及使用全部CPU核心進行多線程的識別方式。車輛車牌定位圖如圖5所示。
圖5 車輛車牌定位圖
由圖5可知,本文車牌識別方法對綠牌識別效果好,對黃牌的識別效果也很好,即可以對多種類型的車牌進行很好定位;同時也可以對動態(tài)的不同距離的多車牌進行定位,能夠較為全面地考慮到隱藏風險因素,對車輛安全進行很好的預防,適用范圍廣。
由上一節(jié)內(nèi)容可知,對不同狀態(tài)下的車牌進行了有效識別,主要包括車輛靜態(tài)和車輛動態(tài)條件下,遠距離和近距離工況,普通車牌和其他類別車牌,然而上述試驗結(jié)果建立在較少數(shù)據(jù)的試驗條件下,忽略了較多了因素,為使數(shù)據(jù)結(jié)果更加具有說服力,繼續(xù)進行數(shù)據(jù)采集。
利用現(xiàn)有分類器對車牌數(shù)據(jù)進行檢驗,檢驗結(jié)果:虛警率5%,識別率97%。
圖像測距模型一般可以由幾何透視變換來描述。假設(shè)攝像機水平放置,如圖6所示。f表示CCD攝像機的有效焦距,h表示物體的高度,d表示物體到鏡頭中心的水平距離,(x,y)表示物體下端在像平面上的投影坐標,(x0,y0)表示像平面與光軸的交集點,通常選?。?,0)作為像平面坐標系的原點。
圖6 圖像測距幾何模型
通過集合關(guān)系能夠計算出鏡頭中心與物體的水平距離d,距離的計算公式如下:
而圖像坐標系的轉(zhuǎn)化關(guān)系式如下:
式中:u、v——數(shù)字圖像中的列數(shù)與行數(shù);u0與v0——圖像中心(圖像平面與光軸的交集點)的坐標;dx與dy——像素在X與Y方向的具體值。
對于單目車距,由上式得:
其中u、v由圖像處理得到。
將上面兩個公式帶入水平距離計算公式有:
通過室外給車輛進行測距實景試驗,CCD攝像機拍攝高度與車牌同一致,同時在橫坐標方向均速位移。利用皮尺事先標定好的距離,每隔0.5m進行一次測量。車距測量圖如圖7所示。
圖7 車距測量圖
通過上文介紹的圖像處理算法,分析計算出圖像中車牌的高度數(shù)據(jù),采用測距公式運算出行車距離。在本案例中,通過車牌高度數(shù)據(jù)運算出的行車距離,數(shù)據(jù)分析見表1。
表1 數(shù)據(jù)分析表
影響LPR測距精度有以下兩個因素。其一,測距要求目標檢測算法提供圖像中目標的圖像大小信息,因此測距精度在很大程度上受目標檢測算法和圖像成像品質(zhì)的影響;其二,從測距公式可以看出,圖像中目標的像素數(shù)對應于距離值,并且是非線性關(guān)系。隨著距離的增加,像素數(shù)變化越快,因此誤差越大。所以在汽車距離的測量中,僅僅利用車牌信息是不準確的。這些問題在未來的研究中還需要改進,通過改進測距算法,準確檢測目標物體的信息,提高LPR測距的精度。
在opencv中運用HOG算法檢測出前方車輛,再通過輪廓檢測與LBP算法確定出車牌區(qū)域,然后運用單目視覺測距原理計算出前方汽車與攝像頭之間的距離,通過設(shè)置距離閾值對車距是否安全作出準確的判斷。通過對車牌定位效果的分析、比較,選擇了利用LBP特征對圖像中的車牌進行定位形成弱分類器,并將弱分類器加權(quán)組合成強分類器,最終將強分類器構(gòu)成前方車牌檢測分類器。