胡延平,王乃漢,魏振亞,唐叩祝
(合肥工業大學 機械工程學院,合肥 230009)
隨著對汽車行駛安全性和駕駛舒適性要求的提高,汽車駕駛輔助系統越來越受到消費者的重視和青睞。準確地識別道路信息是成功開發駕駛輔助系統的基礎。相對于直線車道,彎道車道線的識別難度大,汽車行駛在彎道中發生事故的概率也更高,調查數據顯示,9.31%的事故發生在轉彎路段[1]。因此,如何高效準確地識別彎道車道線成為研究的重要課題之一。
早期的車道識別是通過多傳感器融合技術來探測車道線信息,但由于價格過高而被機器視覺技術所替代。目前機器視覺技術進行車道識別的一般過程是通過圖像傳感器采集道路圖像,根據特征將車道線信息與其它圖像信息分離,通過車道識別算法分析數據,最終得到車道線信息和車輛行駛情況。
目前常見的彎道識別算法有基于模型匹配的彎道識別和基于特征的彎道識別[2-9],基于模型匹配的彎道識別方法一般分3個步驟:建立車道模型、提取車道線像素點、根據車道模型擬合車道線。常用的模型有:直線模型、同心圓曲線模型、多項式模型(二次曲線和拋物線)、直線-拋物線模型等[10-11]。郭磊等[2]采用方向可調濾波器增強圖像信息后,利用Hough變換[12-13]及其變體[14-16]和二次曲線[17]擬合的方法來識別車道線。這種方法把圖像固定地分為遠近視場,對直線車道的適應性比較好,但對不同曲率的彎道適應性不強,而且容易受外界因素的影響,如道路的狀況、陰影、光照條件等。基于特征的彎道識別方法不需要車道模型匹配,王寶鋒等[5]將直線和B樣條曲線用于車道線重構,較好地提取了車道線幾何特征,最終擬合出車道線。BORKAR等[6]和MCCALL等[7]利用逆透視變換(Inverse Perspective Mapping,IPM)將原始圖像全部轉化為俯視圖,并利用平行特性對車道線進行提取。IPM的引入提高了車道線識別的精度,但是IPM運算量大,處理效率較低。
為了提高彎道識別算法對車道線模型的適應性和復雜車道環境的抗干擾性,本文提出一種基于卡方統計的彎道識別算法。通過對彎道圖像特征的分析,對彎道進行前視模型設計和ROI劃分,結合卡方統計法得到檢測點與車道線中心線的對稱關聯性概率。試驗結果表明:卡方統計法能夠準確高效地識別彎道和彎道方向,滿足汽車輔助駕駛系統識別的實時性和準確性。
根據CJJ37—2012城市道路建設行業標準,主干路的設計車速為40~60 km/h,車道寬度為3.75 m,車道線的寬度為0.15 m。圖1為彎道曲線變化角模型,彎道曲線A處到B處,彎道曲線變化角為θ,彎道B處到C處的彎道曲線變化角為Δθ,半徑為r。通常認為,汽車平視距離近處16 m以內的可視為近視場,近視場車道部分可用直線模型表示,超過16 m的則視為遠視場彎道部分。所有的車道線都由平滑的曲線相連,而非折線。圖中僅作了左彎道的行駛模型,右彎道的情況與之同理。

圖1 彎道曲線變化角模型
本文提出的車道識別算法邏輯框圖如圖2所示。

圖2 車道識別算法邏輯框圖
卡方統計法能夠有效地檢測實際觀測值與理論推斷值之間的偏離程度,彎道與直道呈現在圖像上的區別為直道有明顯的對稱趨勢,彎道則沒有對稱性。根據此原理,首先采集道路圖像,然后對圖像進行預處理與ROI劃分,通過高斯濾波平滑和canny算子邊緣檢測,篩選滿足道路邊緣特征的像素點并提取車道線中點,再分割為多個連續的ROI,使用卡方統計法得到兩側車道線上各區域像素點的中心位置與實際車道中心的關聯性概率函數,并利用關聯性概率函數和對稱性來識別彎道。
考慮到車輛在行駛當中所采集到的圖像是動態變化的,且由于攝像頭的角度變化,易造成遠視角車道的彎曲程度大于近視角車道。為保證卡方統計的對稱關聯性概率的可靠性,需對彎道曲線變化角θ的變化范圍進行計算。
為避免非車道區域圖像處理帶來的噪聲并提高效率,在圖像平滑濾波和邊緣檢測階段限定ROI,本文將ROI分為初幀檢測ROI和車道線識別成功時跟蹤ROI兩類。當上幀圖片未檢測出車道線時,根據車輛行駛在車道上時,左右側車道線出現在像素坐標下的極限位置來劃分初始預處理ROI;當上幀車道線檢測成功時,根據消失點位置劃分預處理ROI。
預處理階段ROI左右側車道線極限位置如圖3所示,左側車道線極限位置為右側車道線處于像素坐標系中央時對應的位置,右側車道線極限位置為左側車道線處于像素坐標系中央時對應的位置。

圖3 預處理ROI劃分模型
像素坐標下兩極限位置車道線方程如式(1)所示。

式中:φ為攝像機安裝俯角;H為攝像機安裝高度;dmax為左右側車道線極限位置與道路中心的距離,左側車道線取單個最大車道寬度負值,右側取單個最大車道寬度正值;(xvp,yvp)為消失點位置,初幀檢測時取為道路消失行和圖像左右側中間位置。ROI的上下位置被限定在消失線以下和車頭線以上,從而預處理ROI為圖3中黑線標示區域。
在預處理ROI提取的基礎上,對此部分區域實施圖像預處理,主要步驟包括高斯濾波平滑、canny算子邊緣檢測和篩選滿足道路邊緣特征的像素點以及車道線中點提取。
采用canny算子計算得到邊緣點處u方向梯度值。從圖3 像素坐標系中可以看出,車道線的左側邊緣點梯度值應滿足Gul>0,且右側邊緣點水平梯度值應滿足Gur>0。根據此特征對預處理ROI邊緣點進行方向性選擇,若Gul>0,將其灰度值設置為200,若Gur<0,則將其灰度值設置為100。邊緣點方向性篩選結果如圖4所示。

圖4 預處理ROI邊緣點方向篩選
為減少非車道線邊緣點的影響以準確提取車道線像素點,根據車道線寬度范圍提取車道線的中點。在逐行遍歷時,首先判斷邊緣點的方向梯度值是否滿足,若滿足,則沿梯度方向繼續搜索方向梯度值Gur<0的邊緣點。若繼續搜索到的邊緣點滿足方向信息,則計算兩邊緣點在大地坐標系下的坐標,邊緣點在大地坐標系下的坐標計算轉換公式如式(2)和式(3)所示。

式中:Z為大地坐標系下的縱坐標;x為大地坐標系下的橫坐標;fe為攝像機焦距。若滿足車道線寬度要求則將兩邊緣點的中點作為車道線中點,并記錄下對應的梯度值,為后面的消失點和直線檢測提供依據。否則,繼續遍歷邊緣點搜索滿足梯度方向的點,并重復上述過程。最終提取的車道線中點如圖5所示,可以看出能夠準確提取車道線中點,并過濾了部分非車道線邊緣點。

圖5 車道線中點提取
由于車道線在行駛中為實時變化且連續平滑移動,具有連續性,所以設計動態的ROI。前后連續的ROI區域對于車道線的弧度檢測具有可延續性和預判性,并且在各個ROI區域的車道線上設置監測像素點。
如圖6所示,將待檢測的監測像素點的坐標按照其區域位置分為n組。首先檢測出最近區域即區域1和區域2,區域1的左車道線上的監測像素點為A,區域2的右車道線上的監測像素點為B。計算出二者的中點坐標,然后中間車道線與之對比看是否在彎道曲線變化角θ的范圍之內。再以區域1和區域2為起始監測區域,繼續向上探測區域3和區域4。計算出中點,分析是否在中間車道線彎道曲線變化角θ之內。重復此步驟,循環至所有區域的監控像素點都檢測結束為止。
為提高算法的魯棒性,避免因為區域和像素點的選擇而出現偏差,以及與車道線無關的圖像信息對車道線中點提取的干擾,如將圖像中的防護欄以及其它車道標志線錯認為是車道線從而影響最終識別的結果,在此區域循環監測算法中設置彎道曲線變化角θ。將θ的左右角度極限值設為θ1和θ2,在本文試驗中,將θ1取為左彎道中左車道線最小偏離角度θmin,即θ1=θmin,而θ2取為右車道線最大偏離角度θmax,即θ2=θmax,所以θ的范圍為θ1<θ<θ2。

圖6 分割ROI區域并設置監測像素點
通過卡方統計法自上而下檢測所有區域監測像素點的中點與中間車道線的吻合度,從而識別出是否為彎道。
由圖6可得左右兩側的點坐標依次為,(A1,B1),(A2,B2),(A3,B3),…,(An,Bn),檢測區域的中點坐標分別為Z1(x1,y1),Z2(x2,y2),Z3(x3,y3),…,Zn(xn,yn)。
區域檢測線與中間車道線的交點坐標依次為O1(x1,y1),O2(x2,y2),O3(x3,y3),…,On(xn,yn)。由于本文區域檢測線設置為水平平行,各個區域彼此連接,且選取的監測像素點為種子點自下而上擴散,所以可認為其中點和交點在同一水平坐標,即縱坐標相同:
為表述方便,以下將左右監測像素點的中點集簡稱為中點集,區域線與中間車道線的交點集簡稱為交點集,利用卡方統計法來檢驗所有中點集與交點集之間的關聯度。關聯程度需考慮偏差范圍θ的影響,所以將同一檢測線上中點與交點的關聯系數表示為:用yi表示實際觀察到的點頻率分布,表示期望的點頻率分布,具體實現算法如下[10]。
(1)設與第i組相鄰的相關聯系數的數值為ti與ti+1,計算第i組的期望頻率為:(2)第i組的觀測頻率


(4)由此獲得的中點集與交點集之間的關聯概率p為:

(5)以關聯概率為縱坐標,左右監測像素點的中點橫坐標相對于交點位置橫坐標的變化情況作為橫坐標,得出關聯概率與監測像素點間的函數圖。
(6)由關聯概率的圖像結果識別車道線。
根據中點集與交點集的偏離方向判斷彎道方向。這里的偏離方向是指相對位置,即將所有點集中的兩點橫坐標累加,根據和的符號判定彎道的方向。
由2.4節得到左右兩側監測像素點的中點坐標依次為Z1(x1,y1),Z2(x2,y2),Z3(x3,y3),…,Zn(xn,yn);該區域檢測線與中間車道線的交點坐標依次為O1(x1,y1),O2(x2,y2),O3(x3,y3),…,On(xn,yn)。分別計算每一點對應的位置偏差,即由公式可知,D為所有點集偏差累加之和,所以可根據D的正負性判斷彎道的方向。判斷依據為:當D>0時為左拐彎道;反之D<0 時為右拐彎道。
為驗證本文算法的效果,在計算機上,利用VS2013配置Opencv2.4.9庫函數,對車載圖像傳感器采集的城市車道圖像進行試驗驗證,圖7為試驗平臺搭建示意圖。

圖7 車道識別試驗平臺
圖8是卡方檢測算法在識別直線車道到彎道車道過程中中點集與交點集之間的關聯性概率。由圖8a可知,關聯概率幾乎為1,說明左右兩側車道線的像素點中點線與中間車道線基本重合,即車道是直道。由圖8b可知,概率從1下降到0再上升到1,這期間圖線平緩變化,說明是從直道駛入彎道再到直道的行駛過程。

圖8 卡方檢測識別中點集與交點集的關聯概率
試驗結果表明,在車輛由直道行駛到彎道的變化過程中,該算法能夠較準確地進行識別判斷,算法的識別速度平均耗時為40.36 ms/幀。圖9為不同試驗路段檢測結果,表1為不同算法對彎道識別的速度和準確率對比。由表1可知,該算法在耗時和準確率方面能夠略占優勢,且滿足駕駛輔助系統對實時性的要求。

圖9 不同試驗路段測試結果

表1 不同彎道識別算法的耗時與準確率
(1)本文在傳統彎道識別算法的基礎上提出一種以卡方統計來檢測彎道的算法。該算法在對車道圖像預處理的基礎上,利用邊緣檢測與車道線寬度信息快速篩選出有效的車道線特征點,利用動態劃分ROI的方法分割多個區域并設置監測像素點和彎道曲線變化角,有效降低了非車道線部分對檢測的干擾,進一步保證了算法的有效性。
(2)根據彎道左右車道線中點坐標與區域中心線重合度低的特點,利用卡方統計法檢測像素中點集與交點集的關聯性概率,關聯度高即為直道,否則即為彎道。彎道方向通過累加中點集與交點集的偏差之和符號進行判斷,正即為左彎道,負即為右彎道。
(3)試驗結果表明,本文提出的算法在不同的試驗路段具有較強的魯棒性和準確性,算法的識別速度為平均耗時40.36 ms/幀,滿足輔助駕駛系統的識別要求。