元艷玲,楊金鑫
(太原科技大學 交通與物流學院,山西 太原 030024)
基于視覺的輔助駕駛系統(tǒng)(Driver Assistant)是車輛自主行駛領域的一項重要應用,車道線是規(guī)范車輛行駛范圍、表示道路幾何信息、提示車輛行駛方向的一個重要標識,車道線的檢測則成為實現(xiàn)車輛無人駕駛的關鍵技術之一。由于在城市道路中車道線的檢測易受光照、車輛陰影、車道線破損、路面遮擋等外界環(huán)境的影響,并且行駛中的車輛作為動態(tài)剛體,需要實時感知外界環(huán)境的改變,快速做出姿態(tài)判斷。因此對車道線檢測的準確度及時效性是實現(xiàn)無人駕駛技術的一項難點。
目前國內(nèi)外學者對于車道線檢測有通過道路特征的分割方法實現(xiàn),也有建立道路模型進行研究,一般擬合模型主要有:直線模型、B- 樣條模型、雙曲線模型、雙模型等,還有根據(jù)神經(jīng)網(wǎng)絡對大量樣本進行學習的方法?;谔卣鞯姆指罘椒ㄖ饕密嚨谰€的固有物理屬性顏色、形狀、尺寸等進行判別,但由于年久失修破損、路面積水、光照強度變化等因素,基于特征的檢測方法很難適應多變的車道線環(huán)境。對于建立道路模型,王雷[1]采用雙曲線模型,通過對像素加權的方式提出了抑制噪聲影響允許像素點在曲線周圍浮動的曲線匹配率算法, 對車道線進行曲線擬合。王寶鋒[2]等提出基于動態(tài)區(qū)域規(guī)劃的雙模型檢測算法根據(jù)“微元”理論對圖像進行動態(tài)細化分區(qū),最終利用直線和B 樣條曲線完成對車道線擬合。MCCALL[3]等利用逆透視變換將道路圖片轉(zhuǎn)換成鳥瞰圖形式,并根據(jù)透視原理將現(xiàn)實世界中平行車道線進行提取。時利[4]等提出在感興趣區(qū)域內(nèi)基于車道線寬度對邊緣點進行篩選,并建立相關的投票空間,根據(jù)消隱點快速檢測出車道線。對于神經(jīng)網(wǎng)絡的方法,賈會群[5]等首先對道路進行邊緣檢測,提取出邊緣點利用BP 神經(jīng)網(wǎng)絡估計路徑參數(shù)并確定模型函數(shù),最后利用最小二乘法實現(xiàn)車道線的重構(gòu)。對于道路模型檢測和神經(jīng)網(wǎng)絡算法通常需要多個參數(shù)進行曲線擬合,運算復雜、計算量大,雖然單幅圖片處理效果很好但是對于運動環(huán)境下很難滿足實時性的要求。
針對傳統(tǒng)方法在檢測精度和識別速度上的不足,首先根據(jù)RGB 熵分量算法對圖像進行處理,過濾出需檢測的道路部分,然后利用平行坐標系結(jié)合類霍夫變換的思想,當需要表示二維空間中的一個點時,需要有2 條等間距的平行線,每個平行線上的坐標則表示這個點在這一維上的投影,然后根據(jù)平行線之間連線的交點進行Voting 的方式找出需要的消失點。并根據(jù)消失點的坐標確定感興趣區(qū)域,根據(jù)車道線灰度值差異以及幾何特性得到車道線采納點,并以消失點為約束條件,最后利用最小二乘法對最終點進行車道線擬合。
RGB 熵可以表示圖像的分布特性[6],是描述圖像紋理特征的重要指標。單個像素RGB 熵定義如式(1)、式(2):
式中:N=3 (R,G,B);M 為每個像素的 RGB 分量在原始像素中所占的顏色比例;T 為[R,G,B]3 種標識。在采集圖像中車道區(qū)域多為灰白黃顏色,RGB 分量相對較小圖像熵值較大,而其他區(qū)域顏色豐富紋理特征明顯,RGB 分量較大因此圖像熵值較小。
根據(jù)得到的熵圖像,可以得到其灰度直方圖f=[f(0),f(1),…,f(255)],灰度直方圖差值函數(shù)為:
式中:t=1,…,255,在此利用差值函數(shù)中最小的d 值作為閾值并對熵圖像進行分割。根據(jù)大于等于閾值的點為背景區(qū)域,小于閾值的點為車道線區(qū)域,分割圖像像素為S(i,j)其表達式如式(4):
根據(jù)二值化分割后的圖像,車道區(qū)域變?yōu)榘咨?,背景區(qū)域變?yōu)楹谏?。圖1 是經(jīng)過RGB 熵分割后圖像,去除了大部分的噪聲和背景部分,并保留了車道線部分。
圖1 RGB熵處理效果
Hough 直線檢測是根據(jù)Hough 變換[7]提出的一種圖形提取算法,其通過交點投票機制就可檢測出在圖像中直線部分。該算法主要通過兩個坐標系之間的參數(shù)變換,例如在原始坐標系(X-Y)中以直線形式表示的圖形:y=kx+b,將直線上各點映射到參數(shù)坐標系(K-B)下,通過這種映射關系可實現(xiàn)(X-Y)中的直線將在(K-B)下以點的形式存在,而在(X-Y)中的點則在(K-B)中以直線的形式存在,這樣在(X-Y)中的一條直線上的N 個特征點映射在(K-B)中則成為N 條直線交于一點如圖2 所示。這樣通過對(K-B)坐標空間某個點形成峰值就可檢測出(X-Y)中的直線信息,從而將檢測直線的問題轉(zhuǎn)化為統(tǒng)計峰值的問題。
圖2 Hough變換
Hough 直線檢測對圖像中直線段進行檢測,由于圖像中會有一些不屬于車道線的離散點,為了去除這些干擾點,引入投票機制對(K-B)下的交點進行閾值處理,對于小于閾值的點進行排除,以此來消除部分干擾點影響。為了求取消失點則需要進一步引入投票機制,為避免更大的誤差在此,文章引入平行坐標系概念。
平行坐標系[8]是另一種坐標表示數(shù)據(jù)的方法,對于N 維空間中的一個點時,可將其在每個維度上的投影作為已知量Xn,建立N 條等距的平行軸,并將Xn的值依次標注在規(guī)定的平行軸上,然后連接起來形成一條折線。這樣平行坐標系便可以描述多維的數(shù)據(jù)。為了更好地描述真實環(huán)境下平行直線,在此使用齊次坐標系,令[x,y,w]表示平行坐標系中的點,令(a,b,c)表示指定的一條直線ax+by+c=0。為了量化方便,在平行坐標系下建立笛卡爾坐標系(U-V),如圖3 所示為各坐標系之間轉(zhuǎn)化關系,并給出點線之間的映射關系如式(5)。
圖3 各坐標轉(zhuǎn)化關系
式中:[x,y,w]代表一個點;(a,b,c)代表一條直線;d 為平行坐標系軸間距;w 為齊次系數(shù)。至此完成了由點到直線的轉(zhuǎn)化,根據(jù)CHT 理論文章引入第二次Hough 變換,這次由點再一次映射為直線,直線則映射為點。令D 為在第二個平行坐標系兩坐標軸的間距,點線之間的映射關系如式(7)、式(8):
如圖4 所示,經(jīng)過SSdD變換后完成了在笛卡爾坐標系上的點到平行坐標系的映射,但在直線映射中只能完成斜率小于零的直線映射,如圖5 所示它們的交點f(直線)不在S 空間下,在此引入Γ 空間如圖6。Γ 空間位于-d 的位置且方向與Y 軸相反,映射到Γ 空間的表達式如式(9)、式(10):
圖4 級聯(lián)平行坐標系變換示意圖
CHT 根據(jù)平行坐標參數(shù)化可以完成4 種映射組合,這4 種級聯(lián)變換在S 空間和Γ 空間對點的映射關系如式(11)、式(12)、式(13)、式(14):
因為在同一方向上消失點是所有平行直線的交點,可根據(jù)投票的方式搜索到消失點位置,公式(15)、公式(16)為笛卡爾坐標系下推算出來的消失點坐標公式:
這樣就可以將在(X-Y)坐標下無限大的空間經(jīng)過CHT 變換后成為有限的菱形空間,且兩個坐標之間有固定的象限對應關系,這樣在X-Y 坐標下的直線便可由CHT 后的3 個端點值確定:
在真實情況下車道線分布在圖像兩側(cè),且斜率分別為正值和負值,消失點最可能出現(xiàn)的區(qū)域位于笛卡爾坐標系下一或二象限,在經(jīng)過CHT 變換后則位于二或三象限,如圖5 所示為濾波后檢測消失點在菱形坐標系中的位置。
圖5 基于CHT的消失點檢測
圖6 建立??臻g
在經(jīng)過圖像輪廓分割及消失點檢測后可根據(jù)消失點進行感興趣區(qū)域的提取,令過消失點且平行于X 軸的水平線以下為感興趣區(qū)域。根據(jù)消失線及兩條真實車道線組成的兩三角形區(qū)域,以左三角形為例由消失線上的點沿Y 軸向下進行搜索,并規(guī)定在指定像素范圍內(nèi)的點為車道采納點。對于車道線不連續(xù)情況進行跳躍搜索處理,這樣可在每一側(cè)的三角形區(qū)域內(nèi)部找到一組采納點數(shù)據(jù)。
根據(jù)上述得到的采納點數(shù)據(jù)(x0,y0)、(x1,y1)、…、(xn,yn)及消失點(vx,vy)坐標數(shù)據(jù),根據(jù)函數(shù)原型g(x)式(19),與式(20)找到滿足各觀測值yi與g(xi)的平方偏差值和最小的曲線,通過求取參數(shù)偏導數(shù)的方式得到n+1 個方程[9], 并根據(jù)式(21)解出所需要的曲線參數(shù)。
式中:X 是一個 n×n 維矩陣;A=aj(j=0…n) 是一個n×1 維矩陣。
在安全行駛狀態(tài)下車輛多處于車道線中間狀態(tài),因此對于兩車道線與過消失點并垂直于消失線的直線之間所形成的兩夾角近似相等,并以此為約束條件舍棄擬合錯誤的車道線。
在MATLAB2014a 平臺上進行仿真試驗。試驗采用離線處理的方式,采集真實環(huán)境下道路圖片,對于該數(shù)據(jù)庫中的測試數(shù)據(jù)則盡可能包括各種道路情況,如車道線殘缺、雨水路面、彎道等。部分檢測結(jié)果如圖7 所示,圖中左列為原圖,中列為通過Hough檢測的車道線,右列為使用本文算法檢測車道線其中點是提取的采納點,星點則是經(jīng)過CHT 得到的消失點,最后通過最小二乘法對其進行擬合得到白色車道線。
圖7 Hough檢測與本文算法效果對比
如圖7 所示,在斷裂道路中Hough 檢測已無法檢測出車道線信息,而是檢測出樹木及路肩部分,本文算法在消失點構(gòu)建的感興趣區(qū)域內(nèi)僅通過車道線特征信息檢測出車道線。在直線道路中使用Hough檢測的消失點過多,導致未檢測出真實車道線。在右彎道路中Hough 檢測僅識別出車道線直線部分,且檢測出噪聲,本文算法根據(jù)CHT 檢測得到消失點并規(guī)劃出感興趣區(qū)域,利用最小二乘法擬合采納點,最終得到車道線信息。
表1 Hough檢測與本文算法準確率及實時性對比
a)在圖像預處理方面針對人工參與較大,算法魯棒性較差的問題,文章使用RGB 圖像熵的方法對車道與非車道進行分割,根據(jù)環(huán)境自動生成閾值,不需人工參與,提高了對環(huán)境的適應性,如圖7 所示清除大部分噪聲。
b)針對傳統(tǒng)Hough 消失點檢測上識別準確度及速度上的不足,提出利用級聯(lián)霍夫變換(CHT)檢測消失點的方法,該方法通過兩次坐標線性變換將原本無限大空間轉(zhuǎn)換到一個有限的菱形空間上,方便量化整個空間中的直線并僅根據(jù)一次投票方式得到消失點位置,如圖7 所示本文算法檢測的消失點能更好地描繪車道行進方向。在檢測速率方面如表1所示,利用CHT 檢測效率明顯高于Hough 檢測,其原因是在坐標映射時CHT 檢測不需要逐點進行計算,僅對邊緣部分進行掃描。這樣提高了算法的運行效率。
c)為了避免傳統(tǒng)直線檢測在彎道路面誤差較大的問題,文章采用最小二乘擬合采納點的方法,提高了在彎道工況下的準確度。
d)通過實驗對比驗證表明,本文算法在實際路況中可以更好地擬合出車道線信息,并且在檢測速率及準確度上優(yōu)于Hough 檢測,滿足實際工況下檢測需求。