王其東 魏振亞 王乃漢 陳無畏 謝有浩
1.合肥工業(yè)大學(xué)汽車與交通工程學(xué)院,合肥,230009 2.合肥學(xué)院,合肥,230601 3.安徽獵豹汽車有限公司,滁州,239064
車道識(shí)別是車輛輔助駕駛系統(tǒng)的重要組成部分,在自主導(dǎo)航系統(tǒng)和車道偏離輔助系統(tǒng)中發(fā)揮至關(guān)重要的作用。其中,彎道車道線的準(zhǔn)確獲取對(duì)車道保持系統(tǒng)的轉(zhuǎn)向控制或彎道車速自適應(yīng)控制系統(tǒng)的縱向運(yùn)動(dòng)控制尤為重要[1-3]。目前彎道車道線的檢測算法主要有以下兩類。
(1)基于特征的方法。主要利用道路的圖像特征,如邊緣[4-7]、顏色[8-10]、紋理方向[11]等,利用特征將圖像分割成幾個(gè)部分,根據(jù)分割之后的結(jié)果,利用相應(yīng)算法得到道路的表達(dá)式。CHENG等[12]對(duì)RGB圖像的每種顏色通道做了線性的操作分析,對(duì)公路以及路面標(biāo)志的顏色分布進(jìn)行分析,將提取車道線區(qū)域劃分出來,從而獲取車道線。該方法對(duì)道路形狀的適應(yīng)性比較好,但是受外界因素影響較大。ALY[13]基于 Hough 變換統(tǒng)計(jì)特征點(diǎn)灰度直方圖,在直線約束框中進(jìn)行 RANSAC 驗(yàn)證以提取車道線,能滿足實(shí)時(shí)性要求,對(duì)于直車道具有很好的魯棒性,但是在彎車道和車道污損等條件下魯棒性降低。
(2)基于模型的方法。采用很少參數(shù)的直線模型[14-15]或者二次曲線模型[16-18]等來代表道路邊界,該方法可有效去除噪聲,并且對(duì)噪聲或斷裂的車道線具有更好的魯棒性。主要分為3個(gè)步驟:建立道路模型、提取車道線像素、擬合車道模型。常用模型有:直線模型[19-20]、同心圓曲線模型、多項(xiàng)式模型(二次曲線和拋物線)[21-23]等??梢詫?duì)左右車道線分別建立模型,也可以將圖像分為遠(yuǎn)近區(qū)域,建立分段直線模型。畢雁冰等[22]用 LMedSquare曲線擬合技術(shù)進(jìn)行彎曲車道線檢測,此方法的缺點(diǎn)是在擬合時(shí)需要的數(shù)據(jù)點(diǎn)較多且計(jì)算量較大。
針對(duì)上述情況,本文提出了一種基于投影統(tǒng)計(jì)和雙曲線模型的車道線識(shí)別算法,研究了該算法在實(shí)際路況中的車道線快速檢測中的應(yīng)用。
本文的彎曲車道識(shí)別算法見圖1。首先對(duì)采集的圖像進(jìn)行預(yù)處理,包括濾波處理和邊緣檢測等。再由預(yù)處理后的照片篩選滿足預(yù)設(shè)條件的車道線特征點(diǎn),并提取近視場的車道線,得到車道寬度信息完成模型匹配。若近視野車道線提取成功,說明道路中有車道線,此時(shí)可以直接進(jìn)行下一個(gè)檢測環(huán)節(jié),若車道線提取不成功則對(duì)下一幀圖片進(jìn)行提取。使用雙曲線模型描述彎道,并對(duì)彎曲道路中的車道線進(jìn)行參數(shù)尋優(yōu)。
圖1 車道線檢測算法流程圖Fig.1 Flow chart of the proposed lane detection algorithm
首先需要將彩色圖像轉(zhuǎn)換為灰度圖像,實(shí)驗(yàn)采集的圖像大小為640像素×480像素。因?yàn)檐嚨谰€一般是黃色和白色,而且綠色的信道和紅色的信道與白色和黃色之間有著鮮明的對(duì)比,所以采用RGB顏色空間模型:
F=t1R+t2G+t3B
(1)
其中,R代表紅色分量;G代表綠色分量;B代表藍(lán)色分量。本文實(shí)驗(yàn)中取t1=0.5,t2=0.5,t3=0,適合車道線的檢測。實(shí)驗(yàn)結(jié)果見圖2。
圖2 圖像灰度化Fig.2 Image gray processing
為了提高算法的實(shí)時(shí)性,同時(shí)減少非車道區(qū)域檢測帶來的噪聲對(duì)結(jié)果的影響,在圖像平滑濾波和邊緣檢測階段前劃分感興趣區(qū)域(region of interest, ROI),這里將感興趣區(qū)域分為初幀檢測ROI和車道線識(shí)別成功時(shí)跟蹤ROI兩類。當(dāng)上幀圖片未檢測出車道線時(shí),根據(jù)車輛行駛在車道上時(shí)左右側(cè)車道線出現(xiàn)在像素坐標(biāo)下的極限位置劃分初始預(yù)處理ROI;當(dāng)上幀車道線檢測成功時(shí)根據(jù)消失點(diǎn)位置劃分預(yù)處理ROI。
預(yù)處理階段ROI左右側(cè)車道線極限位置如圖3所示,左側(cè)車道線極限位置為右側(cè)車道線處于像素坐標(biāo)系中央時(shí)對(duì)應(yīng)的位置,右側(cè)車道線極限位置為左側(cè)車道線處于像素坐標(biāo)系中央時(shí)對(duì)應(yīng)的位置。
像素坐標(biāo)下兩極限位置車道線方程為
(2)
其中,φ為攝像機(jī)安裝俯角;H為攝像機(jī)安裝高度;dmax為左右側(cè)車道線極限位置與道路中心的距離,左側(cè)車道線取單個(gè)最大車道寬度負(fù)值,右側(cè)取單個(gè)最大車道寬度正值;(xv,yv)為消失點(diǎn)位置,初幀檢測時(shí)取道路消失行和圖像左右側(cè)中間位置。ROI的上下位置被限定在消失線以下和車頭線以上,最終預(yù)處理的ROI為圖3標(biāo)示區(qū)域。
圖3 感興趣區(qū)域劃分Fig.3 Definition of ROI
由于雙邊濾波較高斯濾波具有更好的邊緣保存效果,所以本文對(duì)M行N列的圖像采用雙邊濾波以減少噪聲點(diǎn)的干擾,M=640,N=480。
在雙邊濾波器中,輸出像素的值依賴于鄰域像素值的加權(quán)值組合,即
(3)
w(i,j,k,l)=d(i,j,k,l)×r(i,j,k,l)
(4)
i∈(0,M)j∈(0,N)
其中,k,l為像素所在的位置;f(k,l)為其對(duì)應(yīng)的強(qiáng)度;w(i,j,k,l)為加權(quán)系數(shù),取決于定義域核和值域核的乘積;σd,σr分別為定義域和值域的方差;d(i,j,k,l),r(i,j,k,l)分別為定義域核和值域核。
通過Canny算子計(jì)算得到車道線特征點(diǎn),并由梯度方向?qū)嚨谰€特征點(diǎn)進(jìn)行篩選。首先對(duì)圖像進(jìn)行逐行掃描處理,對(duì)左側(cè)車道線依照行的順序進(jìn)行搜索,直到搜索到滿足設(shè)定閾值的最大圖像梯度上升沿,然后繼續(xù)找尋和它相鄰的最大圖像梯度下降沿。采用相同的方法尋找右側(cè)車道線與其相鄰的最大圖像梯度下降沿。遍歷搜索結(jié)果見圖4。
圖4 車道線特征點(diǎn)篩選Fig.4 Lane edge point screening
由于消失點(diǎn)(即滅點(diǎn))像素行位置已經(jīng)確定在消失線上,即xv已知,因此只需檢測消失點(diǎn)的列位置yv。采用投票算法確定列位置:
(5)
其中,voteΓ(xv,yj)為投影空間;xv代表消失點(diǎn)的x軸坐標(biāo);f(xi,yj)代表(xi,yj)車道線特征點(diǎn)處的方向角;f(xv,yj)代表候選消失點(diǎn)與特征點(diǎn)之間連接線的方向;σ1為方向角度偏差的閾值。當(dāng)梯度差值滿足閾值σ1時(shí),則認(rèn)為是車道線的特征點(diǎn),在投影空間相對(duì)應(yīng)的單元進(jìn)行投票,即voteΓ(xv,yj)←voteΓ(xv,yj)+1,如此循環(huán),直至完成整個(gè)感興趣區(qū)域的遍歷。消失點(diǎn)即得票最多的候選消失點(diǎn),其坐標(biāo)為
yv=max(voteΓ(xv,yj))
(6)
根據(jù)該投票算法統(tǒng)計(jì)的結(jié)果見圖5,消失點(diǎn)見圖6。
圖5 車道消失點(diǎn)檢測Fig.5 Lane vanishing point detection
圖6 車道消失點(diǎn)提取Fig.6 Lane vanishing point extraction
當(dāng)消失點(diǎn)被檢測到以后,再針對(duì)部分車道線特征點(diǎn)進(jìn)行方向角統(tǒng)計(jì)和分類(這些特征點(diǎn)此前投票于消失點(diǎn)):
voteθ(xi,yj)=
(7)
其中,(xi,yj)為ROI中的點(diǎn);voteθ(xi,yj)為方向角投票空間;f(xi,yj)∈max(voteΓ(xv,yj))為投票到消失點(diǎn)處的方向角梯度,否則為不屬于投票到消失點(diǎn)處的方向角梯度。通過對(duì)消失點(diǎn)處不同方向角投票數(shù)進(jìn)行排序即可獲得左右車道線的梯度信息,即
αl=max(voteθ1(xi,yj))
(8)
αr=max(voteθ2(xi,yj))
(9)
式中,αl、αr分別為左右車道線的方向角。
方向角統(tǒng)計(jì)結(jié)果見圖7。
圖7 角度檢測Fig.7 Gradient of lane edge points detection
由消失點(diǎn)坐標(biāo)和左右車道方向角信息即可獲得直道參數(shù),直線提取結(jié)果見圖8。
圖8 直道提取Fig.8 Straight lane extraction
利用車道寬度判斷函數(shù)進(jìn)行直道模型匹配,如下所示:
(10)
式中,Kl、Kr分別為左右側(cè)直線的斜率;d為標(biāo)準(zhǔn)車道寬度;λ為寬度閾值。
若某側(cè)車道線缺失則根據(jù)前幀檢測結(jié)果基于車道寬度補(bǔ)充相應(yīng)的車道線。不同路況下的候選車道線搜索結(jié)果見圖9。
當(dāng)前方出現(xiàn)彎曲道路時(shí),由獲取的近視場直道模型進(jìn)行彎曲車道檢測,以獲取更準(zhǔn)確的道路信息。檢測流程見圖10。
圖10 檢測流程圖Fig.10 Flow chart of detection
按照我國高速公路的設(shè)計(jì)要求,當(dāng)車道由大地坐標(biāo)系經(jīng)過多重坐標(biāo)系轉(zhuǎn)換投影到像素坐標(biāo)系下時(shí),得到的車道線方程如下[24]:
(11)
其中,K1、K2可通過攝像機(jī)參數(shù)及安裝位置計(jì)算獲得。
尋優(yōu)過程見圖11,以式(11)中不同的K1、K2值所對(duì)應(yīng)的雙曲線邊緣點(diǎn)個(gè)數(shù)為評(píng)判指標(biāo),邊緣點(diǎn)越多,表征的彎道效果越好,選取邊緣點(diǎn)最多的參數(shù)值作為最優(yōu)解。
圖11 車道線參數(shù)尋優(yōu)分布圖Fig.11 Distribution of lane line parameters
為驗(yàn)證本文算法的可靠性和實(shí)時(shí)性,進(jìn)行道路實(shí)車實(shí)驗(yàn)。系統(tǒng)布置見圖12,選用MCIMX6Q5E為開發(fā)平臺(tái)的主處理器,通過開發(fā)板顯示屏觀測檢測結(jié)果。
圖12 實(shí)驗(yàn)系統(tǒng)布置示意圖Fig.12 Schematic diagram of experimental system layout
檢測結(jié)果見圖13和表1。結(jié)果表明,本文提出的算法受車輛顛簸以及道路不清晰等情況的干擾較小,在強(qiáng)光、雨霧天氣下都能較好地檢測并跟蹤車道線。本系統(tǒng)以每秒35幀的速度采集并處理像素為640像素×480像素的圖像,在結(jié)構(gòu)化道路中不同路況下的平均識(shí)別率能達(dá)到91% 以上。
圖13 不同天氣路況的檢測結(jié)果Fig.13 Test results of different conditions
表1 不同狀況下的車道線識(shí)別率
(1)本文提出通過對(duì)消失點(diǎn)與方向角進(jìn)行檢測,在近視野區(qū)域?qū)Ξ?dāng)前車道的左右側(cè)直線型車道線進(jìn)行識(shí)別,并提出模型匹配的方法對(duì)車道線進(jìn)行補(bǔ)充,可有效提高算法的準(zhǔn)確性。
(2)采用雙曲線模型提取存在彎曲道路的車道線,利用近視野車道直線信息對(duì)彎曲車道線進(jìn)行車道線尋優(yōu),提高了算法的實(shí)時(shí)性與準(zhǔn)確性。
(3)實(shí)車實(shí)驗(yàn)結(jié)果表明,本文算法在結(jié)構(gòu)化道路不同路況下的平均識(shí)別率能達(dá)到91%以上,具有良好的準(zhǔn)確性與實(shí)時(shí)性,且能有效抑制噪聲干擾。