王 暢 何愛生 山 巖 宋定波
(長安大學汽車學院 西安 710064)
我國85%左右的交通事故與駕駛?cè)擞嘘P(guān)[1-2],而引發(fā)交通事故與駕駛?cè)藳]有準確、快速地做出決策密切相關(guān),駕駛?cè)藳Q策失誤與駕駛?cè)擞邢薜男畔@取和處理能力有關(guān)[3].駕駛?cè)藳]有意識到潛在的危險車輛是造成交通事故的重要原因[4].高級輔助駕駛系統(tǒng)(advanced driver assistance system, ADAS)可以在一定程度上輔助駕駛?cè)税l(fā)現(xiàn)駕駛過程中的潛在危險車輛[5],或?qū)囕v進行主動干預(yù)以避免交通事故[6].目前ADAS主要通過機器視覺和視覺傳感器來識別車輛,其中系統(tǒng)算法的識別精度和算法的實時性是車輛識別系統(tǒng)面臨的兩個主要挑戰(zhàn)[7].因此,設(shè)計一種識別精度高、實時性好的車輛識別方法,對于ADAS適應(yīng)復雜多變的交通場景和實際在線車載應(yīng)用具有重要意義.
目前,針對車輛識別的方法主要有:基于先驗知識的方法、基于運動信息的方法[8]、基于機器學習的方法[9].基于先驗知識的車輛識別方法提取車輛的幾何特征作為先驗知識來確定可能存在車輛的區(qū)域,車輛的幾何特征包括車輛的對稱性、邊緣特征,底部陰影等[10].Jazayeri等[11]利用車輛的對稱性和車輛底部的陰影識別出視頻中的車輛,并利用隱馬爾科夫模型將車輛從背景中分離出來.該方法的缺點在于僅通過單一的車輛幾何特征難以對車輛進行識別.基于運動信息的車輛識別方法中最具代表性的是光流法[12],但是該方法存在對光照條件敏感和抗噪聲干擾能力較弱等缺點.基于機器學習的車輛識別方法首先對車輛特征進行描述,然后利用機器學習的方法訓練樣本,如利用類Haar特征和改進的AdaBoost分類器[13]、利用HOG和SVM[14]設(shè)計識別算法.基于機器學習的車輛車別方法因其良好的魯棒性和高精度的識別率而被越來越廣泛的應(yīng)用.
此外,國外部分研究人員也利用深度學習[15]的方法來設(shè)計車輛識別算法,其方法與基于機器學習的車輛識別方法類似,即需要對建立的模型進行訓練,但模型的訓練時間一般較機器學習的時間要長.
車輛識別的準確率和實時時性決定了系統(tǒng)工作的有效性,而現(xiàn)有的圖像匹配識別車輛算法需建立龐大的圖像庫,在連續(xù)識別時需對圖像庫內(nèi)的圖像逐一進行比對,計算量很大,可能識別出車輛時,該車輛已經(jīng)在場景中消失,這將直接導致算法失效.針對此種情況,建立有限的背景圖像庫,并對圖像進行編碼,建立相應(yīng)的特征向量,利用相關(guān)向量機對車輛進行識別.在此基礎(chǔ)上,利用圖像灰度在邊緣處的方向?qū)?shù)的變化率進一步細化車輛輪廓,從而準確提取出車輛.
由于車輛在圖像中位置的不同以及車輛類型的差異,在建立車輛圖像庫時需要搜集大量典型的圖像作為模板,從而造成圖像庫的容量非常龐大,在進行圖像比對時,計算量大大增加,耗費時間長.
盡管車輛在同一場景中所處的位置不同,但是其背景基本相似,所以構(gòu)建背景圖像庫可以大大縮小圖像庫的容量.因此,考慮建立單一的背景圖像庫.根據(jù)車輛在同一路段可能出現(xiàn)的狀態(tài)分布建立背景圖像庫.然而實際行駛過程中每個路段的車道數(shù)不盡相同,建立的圖像庫也應(yīng)包含車道數(shù)目不同的路段圖片.保守考慮,建立的圖像庫中包含六個車道的路段圖像.在進行圖像比對時,僅需將車道線所圍成的區(qū)域進行比對,所以,車道線以外的背景對識別結(jié)果影響不大.
為減少計算量,對圖像庫中的圖像進行二進制編碼.單幅圖像的代碼由類型段和狀態(tài)段組成,類型段包含三個字符,狀態(tài)段包含6個字符.類型段的作用是確定圖像中的車道數(shù)目,狀態(tài)段的作用是確定圖像中車輛所在的車道.例如一幅圖像的代碼為101001000,其中101是類型段,十進制的值為5,表示該圖像中有五個車道;001000是狀態(tài)段,表示車輛處在第四個車道上(字符和車道的位置是對應(yīng)的).
由于車道線具有明顯的灰度特征,所以利用Sobel算子[16]對圖像中的車道線進行提取,圖1的原始街道提取效果見圖2.由圖2可知,車道線被準確的提取出來,并將圖2中車道線所圍成的區(qū)域作為搜索區(qū)域.
圖1 原始車道
圖2 車道線提取
在進行圖像比對時,若逐一對每個像素點進行比對,不僅計算量大,而且很難保證精度.首先將圖像劃分成16×16的網(wǎng)格,然后對劃分后的網(wǎng)格建立特征向量.圖像的具體劃分過程見圖3.
圖3 網(wǎng)格劃分
由圖3可知,圖像大小的差異會導致每個網(wǎng)格包含的像素點數(shù)不一致.可以利用圖像中第1行、第1列和第16行、第16列的元素對圖像外沿進行擴充,從而保證每個網(wǎng)格內(nèi)的像素點數(shù)目保持一致.
劃分網(wǎng)格后,計算每個網(wǎng)格內(nèi)像素點灰度的均值,并設(shè)定閾值,將搜索域內(nèi)各個網(wǎng)格內(nèi)像素點灰度的均值與閾值進行比較,若大于閾值,則將該網(wǎng)格的屬性記為1,否則記為0.搜索域外的網(wǎng)格均置為0.通過分析不同閾值下相關(guān)向量機的分類準確率,最終確定的閾值為68,通過統(tǒng)計各個網(wǎng)格的類標簽來確定特征向量,特征向量的確定過程見表1.
表1 特征向量
統(tǒng)計所有行和列中網(wǎng)格標簽為1的數(shù)目,并將該數(shù)目作為特征向量的元素,則由表1得到的特征向量T為
利用同樣的方法可以確定圖像庫中基元的特征向量.
在確定了特征向量后,只需將原始圖像與圖像庫中的元素進行比對,就可以確定當前場景中是否存在車輛,利用相關(guān)向量機對車輛進行識別.
tn=y(xn;w)+ξn
(1)
式中:w為權(quán)重;y(xn;w)為相關(guān)向量機模型的輸出,其計算公式為
y(xn;w)=∑Ni=wik(xn,xi)+w0
(2)
其中:k(xn,xi)為核函數(shù);ξn為滿足高斯分布的隨機噪聲,其數(shù)學期望為0,方差為σ2,是未知量,其值可通過訓練模型來確定.根據(jù)條件概率公式即可得到.
P(tn|w,σ2)=N(y(xi,wi),σ2)
(3)
在確定w和σ2時,若直接使用最大似然法,則結(jié)果中w的大部分元素為零,其稀疏特性較差,從而導致過學習,為避免此種情況,對w加上先決條件,即認為w是隨機分布在0附近的正態(tài)分布,即:
(4)
式中:αi為假定超參,于是通過式(4)可以將對w的求解轉(zhuǎn)化為對α的求解,當α趨近于無窮大時,w趨近于零.
通過求解特征向量的2范數(shù),來確定場景中是否存在車輛.設(shè)原圖的特征向量為T,圖像庫中對應(yīng)圖像的特征向量為T',則
(5)
式中:S0為閾值,若RVM的輸出為1則表示當前場景中有車輛存在,否則表示當前場景中沒有車輛存在.
通過特征向量元素所在的位置即可確定出車輛所包含的區(qū)域,該區(qū)域包含了一部分背景像素點,為剔除這些偽目標點,利用方向?qū)?shù)細化車輛輪廓.將像素坐標記為x,y,像素點灰度值記為z,從而構(gòu)建擬合函數(shù)z=f(x,y).圖4為車輛區(qū)域灰度值的擬合結(jié)果.
圖4 灰度值擬合
由圖4可知,車輛區(qū)域中心的灰度值較小,而外沿部分的灰度值逐漸增大,且擬合效果良好.
在利用方向?qū)?shù)細化車輛的輪廓邊緣時,首先需要確定搜索方向.以車輛區(qū)域的中心點到各個邊緣點的方向作為搜索方向,通過求擬合函數(shù)z=f(x,y)的極值點得到車輛區(qū)域的中心點.方向?qū)?shù)細化車輛輪廓邊緣的過程見圖5.
圖5 細化邊緣
圖5中l(wèi)為搜索方向,對于車輛輪廓邊緣的每個像素點,沿著相應(yīng)的方向求擬合函數(shù)的方向?qū)?shù).一般地,背景與車輛交匯處的灰度值的變化近似成高斯分布,由于通過相關(guān)向量機獲取的車輛區(qū)域大于車輛實際所占區(qū)域,則沿邊界點逆著圖5中的方向逐一搜索,通過設(shè)置終止搜索條件來確定最終的車輛輪廓.采用雙閾值作為限制條件,即方向?qū)?shù)閾值和閾值變化率,方向?qū)?shù)閾值主要是剔除過多的背景區(qū)域,閾值變化率主要是對邊緣處進一步細化,細化過程為
(6)
通過邊緣細化后,車輛的輪廓能夠被準確地提取出來,識別結(jié)果見圖6.
圖6 識別結(jié)果
由圖6可知,基于相關(guān)向量機和方向?qū)?shù)的算法能夠較為準確地提取車輛的輪廓.
在模型識別效果檢驗階段,共采集了不同道路環(huán)境下的圖片800幀,選取500幀作為模型的訓練集,300幀作為模型的測試集.文中算法共準確識別前車的幀數(shù)為273幀,總的識別準確率為91.0%.分析識別失誤的圖片,主要的原因在于目標車輛的特征不夠清晰,比如受到樹陰的影響,或者車輛與車輛、車輛與其他物體之間的遮擋,這對于圖像處理算法而言是較大的挑戰(zhàn).
實際車載使用環(huán)境中,文中算法的優(yōu)越性主要還體現(xiàn)在實時方面.相比于目前較流行的深度學習方法,研究的定位在于在線車載使用.在這種環(huán)境下,深度學習所需要的學習訓練時間、硬件配置需求均無法滿足.提出的算法能夠在普通嵌入式平臺中快速運行,適合于對實時要求較高的場合[19-20].
針對現(xiàn)有的圖像匹配技術(shù)需要建立龐大的圖像庫,以及對圖像灰度梯度依賴嚴重等問題,選用相關(guān)向量機和方向?qū)?shù)對車輛進行識別,并針對每一幅圖像建立相應(yīng)的特征向量,依據(jù)特征向量的2范數(shù)確定當前場景中是否存在車輛以及車輛所處的位置.對所提取的區(qū)域灰度進行函數(shù)擬合,從而確定車輛區(qū)域中心,進而對邊緣各個像素點建立相應(yīng)的方向?qū)?shù),通過迭代搜索滿足雙閾值的邊界,實現(xiàn)對車輛輪廓邊緣的細化.模型的測試結(jié)果表明,該算法計算量小,圖像庫容量小,識別耗費時間短,且在車輛輪廓細化方面表現(xiàn)出更優(yōu)異的性能.