郭劍鷹,鄭 艷
(華域汽車系統(tǒng)股份有限公司,上海 200434)
一種基于機(jī)器學(xué)習(xí)的ADAS車道類型判別方法
郭劍鷹,鄭 艷
(華域汽車系統(tǒng)股份有限公司,上海 200434)
高級(jí)汽車輔助駕駛系統(tǒng)(Advanced Driving Assistance System,ADAS)是利用安裝在車上的各種傳感器,在汽車行駛過程中隨時(shí)感應(yīng)周圍的環(huán)境,收集數(shù)據(jù),進(jìn)行系統(tǒng)的運(yùn)算與分析,有效增強(qiáng)汽車駕駛的舒適性和安全性。ADAS最重要的功能包括LDW、FCW、BSD、 PD、TSR等。目前,應(yīng)用最廣泛的傳感器是雷達(dá)和攝像頭。用單目攝像頭進(jìn)行車道線的識(shí)別目前已經(jīng)有很多解決方案,但是還需要有效的車道線類型的檢測(cè)方法為自動(dòng)駕駛過程中的變道決策提供依據(jù)。本文提出一種基于機(jī)器學(xué)習(xí)的判斷車道線類型的方法,利用車道線相鄰區(qū)域的直方圖特征,有效地解決了車道線類型的判別問題,實(shí)驗(yàn)數(shù)據(jù)表明此方法能夠獲得99.99%的正確識(shí)別率。
ADAS;攝像頭傳感器;車道線判別;車道類型判別
圖1是一個(gè)車道偏離告警的結(jié)構(gòu)框圖。
圖1 車道偏離告警框圖
在圖1中,攝像頭標(biāo)定模塊根據(jù)攝像頭的內(nèi)參和外參,得到圖像坐標(biāo)和世界坐標(biāo)之間的轉(zhuǎn)換關(guān)系,并根據(jù)車道線在世界坐標(biāo)下的特征,結(jié)合輸入圖像,提取車道線的特征點(diǎn)。把車道線特征點(diǎn)進(jìn)行擬合和跟蹤,可以得到車道線在世界坐標(biāo)下的表達(dá)方程,并據(jù)此進(jìn)行車道線偏離判斷。同時(shí),再根據(jù)得到的車道線方程,映射到圖像坐標(biāo)系下,判斷當(dāng)前的車道線是實(shí)線還是虛線,為自動(dòng)駕駛提供變道的決策依據(jù)。
圖2 圖像坐標(biāo)和世界坐標(biāo)之間的關(guān)系示意圖
如圖2所示,(u,v) 為圖像坐標(biāo)系, (x,y)為像平面坐標(biāo)系,(Xc,Yc,Zc)為成像坐標(biāo)系,(Xw,Yw,Zw)為項(xiàng)目中所用到的世界坐標(biāo)系。
在式(1)中,dx、dy表示感光芯片上對(duì)應(yīng)1個(gè)像素的實(shí)際感光點(diǎn)的物理尺寸(單位為長度單位),u0、v0是圖像平面中心相對(duì)左上角原點(diǎn)偏移的像素個(gè)數(shù)。
式(2)由透視投影模型(圖3)得到。
圖3 透視成像模型
攝像機(jī)坐標(biāo)系和世界坐標(biāo)系之間的關(guān)系如式(3)所示,其外參矩陣由旋轉(zhuǎn)矩陣R和平移向量T組成,R矩陣和攝像頭的俯仰角、橫擺角和旋轉(zhuǎn)角相關(guān)。
由式(1)~(3),得到圖像坐標(biāo)和世界坐標(biāo)之間的關(guān)系,如圖4所示。
圖4 圖像坐標(biāo)系和世界坐標(biāo)系之間的關(guān)系
根據(jù)圖像坐標(biāo)到世界坐標(biāo)的映射關(guān)系,可以為車道線建立一個(gè)世界坐標(biāo)系下的模型,如圖5所示。
圖5 圖像與透視圖
根據(jù)圖5c, 為左右2條車道線設(shè)計(jì)了車道線函數(shù),分別為
在式(4)和(5)中,x 為距離車頭前方的距離。從圖2中可以看出,在圖像坐標(biāo)系中,距離攝像頭(車頭)越遠(yuǎn),車道線的特征點(diǎn)越不明顯,因此,本文中的實(shí)驗(yàn)僅采用距離車頭80 m范圍內(nèi)的車道線進(jìn)行特征判斷, 即式(4)和(5)中 x 取值最大不超過80。
式(4)和(5)是擬合跟蹤后的車道線方程,根據(jù)這2個(gè)方程,可以選取不同的點(diǎn)(Xw,Yw),其中Xw<80, 這些點(diǎn)被映射到如圖5所示的圖像坐標(biāo)系中,用(u,v)來表征,(u,v)成為“車道線關(guān)鍵點(diǎn)”,如圖6所示。對(duì)于左側(cè)車道而言,關(guān)鍵點(diǎn)左邊的未越過外側(cè)車道線的區(qū)域被成為內(nèi)部區(qū)域,其右邊區(qū)域被成為外部區(qū)域;對(duì)于右側(cè)車道而言,關(guān)鍵點(diǎn)右邊的未越過外側(cè)車道線的區(qū)域被成為內(nèi)部區(qū)域,其左邊區(qū)域被成為外部區(qū)域。
圖6 車道線關(guān)鍵點(diǎn)的選取示意圖
由于車道線離攝像頭越近,特征點(diǎn)的可靠性越高,本文采取以下策略選取特征點(diǎn)(Xw,Yw)和對(duì)應(yīng)的實(shí)時(shí)場(chǎng)景和典型的直方圖。的(u,v)值。即,當(dāng)(u,v)值對(duì)應(yīng)的世界坐標(biāo)在車頭20 m之內(nèi),每隔0.3 m選取一個(gè)關(guān)鍵點(diǎn);當(dāng)(u,v)對(duì)應(yīng)的世界坐標(biāo)在車頭50 m之內(nèi)時(shí),每隔1 m選取一個(gè)關(guān)鍵點(diǎn),其余情況每隔10 m選取一個(gè)關(guān)鍵點(diǎn)。偽代碼表示如下所示。其中f(Wx)根據(jù)左車道或右車道,分別選取函數(shù)(4)或(5)。
for (Wx = 0.0; Wx < 80.0 && num<MAX_NUM; )
{ Wy = f(Wx);
WorldToImage(Wx,Wy, &u, &v);
if (Wx < 20.0) Wx += 0.3;
else if (Wx < 50.0) Wx += 1;
else Wx += 10;
}
以左側(cè)車道線關(guān)鍵點(diǎn)為例,對(duì)于每一個(gè)車道線的關(guān)鍵點(diǎn),選取其左側(cè)的M個(gè)點(diǎn),將像素值統(tǒng)計(jì)進(jìn)入左側(cè)車道內(nèi)部區(qū)域直方圖;同時(shí)選取其右側(cè)的M個(gè)點(diǎn),將像素值統(tǒng)計(jì)進(jìn)入左側(cè)車道外部區(qū)域直方圖。
右側(cè)車道直方圖的建立類似。
圖7和圖8分別是左實(shí)線右虛線和左虛線右實(shí)線時(shí)
圖7 左實(shí)線右虛線的場(chǎng)景和對(duì)應(yīng)區(qū)域直方圖
圖8 左虛線右實(shí)線時(shí)的實(shí)時(shí)場(chǎng)景和對(duì)應(yīng)區(qū)域直方圖
機(jī)器學(xué)習(xí)是研究如何使用機(jī)器來模擬人類學(xué)習(xí)活動(dòng)的一門學(xué)科,通過經(jīng)驗(yàn)自動(dòng)改進(jìn)的計(jì)算機(jī)算法的研究。機(jī)器學(xué)習(xí)使用數(shù)據(jù)或者以往的經(jīng)驗(yàn),以優(yōu)化計(jì)算機(jī)程序的性能標(biāo)準(zhǔn),從而在目標(biāo)識(shí)別領(lǐng)域得到充分運(yùn)用。
Adaboost是一種典型的機(jī)器學(xué)習(xí)迭代算法,其核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的弱分類器,在前一個(gè)基本分類器分錯(cuò)的樣本會(huì)得到加強(qiáng),加權(quán)的全體樣本再次用來訓(xùn)練下一個(gè)基本分類器;同時(shí),在每一輪中加入一個(gè)新的弱分類器,直到到達(dá)某個(gè)預(yù)訂的足夠小的錯(cuò)誤率,或達(dá)到預(yù)先指定的最大迭代次數(shù),然后把這些弱分類器集合起來,構(gòu)成一個(gè)強(qiáng)分類器。
圖7和圖8表征了車道線內(nèi)部區(qū)域和外部區(qū)域的圖像直方圖。
理論上,1條直線車道的內(nèi)部區(qū)域和外部區(qū)域直方圖,應(yīng)該只有1個(gè)峰值,而且峰值出現(xiàn)的位置不同。由于內(nèi)部區(qū)域是車道線,像素平均亮度高于地面部分像素平均亮度,因此,內(nèi)部區(qū)域的峰值是大于外部區(qū)域的。
1條虛線車道的內(nèi)部區(qū)域,應(yīng)該有2個(gè)峰值,分別出現(xiàn)在車道線出現(xiàn)部分的像素平均值和車道線間斷部分地面像素的平均亮度;外部區(qū)域直方圖應(yīng)該只有1個(gè)峰值,出現(xiàn)在地面部分像素平均亮度位置。根據(jù)以上分析,本文選取每條車道線內(nèi)
部和外部直方圖的以下特征值組成訓(xùn)練數(shù)據(jù)集合:①內(nèi)部區(qū)域直方圖的峰值個(gè)數(shù)及分布范圍;②內(nèi)部區(qū)域直方圖的HOG特征;③外部區(qū)域直方圖的峰值個(gè)數(shù)及分布范圍;④外部區(qū)域直方圖的HOG特征;⑤外部區(qū)域直方圖與內(nèi)部區(qū)域直方圖峰值的位置關(guān)系。
由于攝像頭本身或安裝過程會(huì)引入圖像噪聲,且車道線會(huì)受到天氣或者時(shí)間影響導(dǎo)致車道線的特征點(diǎn)會(huì)受到影響,本文中加入了卡爾曼濾波器對(duì)判斷結(jié)果進(jìn)行濾波,從而提高系統(tǒng)的魯棒性。
車道線類型判別結(jié)構(gòu)框圖如圖9所示。
圖9 車道線類型判別結(jié)構(gòu)框圖
在Adaboost算法訓(xùn)練過程中,設(shè)定最大迭代次數(shù)為100次,納入的車道線實(shí)線樣本和虛線樣本分別為10 000張,生成的分類器檢測(cè)了2小時(shí)21.6 萬張圖片,正確判別率達(dá)99.99%,能夠滿足實(shí)際判別需求。
車道線識(shí)別是ADAS的重要組成部分,而車道線類型的判別可以直接為自動(dòng)駕駛決策提供依據(jù)。本文在對(duì)車道線進(jìn)行識(shí)別的基礎(chǔ)上,根據(jù)車道線方程在圖像坐標(biāo)中的反映射,找到車道線內(nèi)側(cè)區(qū)域和外側(cè)區(qū)域的像素點(diǎn),建立直方圖,根據(jù)直方圖的特征,使用同一個(gè)攝像頭獲取的實(shí)線和虛線樣本,利用Adaboost算法設(shè)計(jì)分類器。實(shí)驗(yàn)結(jié)果表明,此方法能夠獲得99.99%的車道線類型識(shí)別,能夠充分滿足實(shí)際需求。
The Lane Type Identification Method of ADAS Based on Machine Learning
GUO Jian-ying, ZHENG Yan
(Huayu Aotomotive System Co., Ltd., Shanghai 200434, China)
The advanced driving assistance system (ADAS) uses sensors to collect environment data during driving process, and then conducts analysis to effectively increase the driving comfortability and security. Main functions of ADAS includes LDW, FCW, BSD, PD, TSR, etc. Currently, the most widely used sensors are radars and cameras. There are already many solutions to recognize road line using monocular camera, but effective method to identify the lane type is still needed to help decision-making for automatic driving. This article proposes a lane type identifying method based on machine learning, which uses histogram characteristics of neighboring lane area to effectively recognize lane type. Test data indicates that this method can achieve an accuracy of 99.99%.
ADAS; camera sensor; road line recognizatoin; lane identification
U463.6
A
1003-8639(2017)12-0022-03
2017-09-19;
2017-10-26
郭劍鷹(1973-),男,高級(jí)工程師,博士,長期從事計(jì)算機(jī)輔助制造、機(jī)器人及自動(dòng)化、汽車電子產(chǎn)品開發(fā)、規(guī)劃及管理工作;鄭艷(1979-),女,博士,長期從事于國際視頻解碼標(biāo)準(zhǔn)、圖像處理、模式識(shí)別、高級(jí)汽車輔助駕駛系統(tǒng)算法方向的研究。
(編輯 凌 波)