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

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

圖2 車道識(shí)別算法邏輯框圖
卡方統(tǒng)計(jì)法能夠有效地檢測(cè)實(shí)際觀測(cè)值與理論推斷值之間的偏離程度,彎道與直道呈現(xiàn)在圖像上的區(qū)別為直道有明顯的對(duì)稱趨勢(shì),彎道則沒有對(duì)稱性。根據(jù)此原理,首先采集道路圖像,然后對(duì)圖像進(jìn)行預(yù)處理與ROI劃分,通過高斯濾波平滑和canny算子邊緣檢測(cè),篩選滿足道路邊緣特征的像素點(diǎn)并提取車道線中點(diǎn),再分割為多個(gè)連續(xù)的ROI,使用卡方統(tǒng)計(jì)法得到兩側(cè)車道線上各區(qū)域像素點(diǎn)的中心位置與實(shí)際車道中心的關(guān)聯(lián)性概率函數(shù),并利用關(guān)聯(lián)性概率函數(shù)和對(duì)稱性來(lái)識(shí)別彎道。
考慮到車輛在行駛當(dāng)中所采集到的圖像是動(dòng)態(tài)變化的,且由于攝像頭的角度變化,易造成遠(yuǎn)視角車道的彎曲程度大于近視角車道。為保證卡方統(tǒng)計(jì)的對(duì)稱關(guān)聯(lián)性概率的可靠性,需對(duì)彎道曲線變化角θ的變化范圍進(jìn)行計(jì)算。
為避免非車道區(qū)域圖像處理帶來(lái)的噪聲并提高效率,在圖像平滑濾波和邊緣檢測(cè)階段限定ROI,本文將ROI分為初幀檢測(cè)ROI和車道線識(shí)別成功時(shí)跟蹤ROI兩類。當(dāng)上幀圖片未檢測(cè)出車道線時(shí),根據(jù)車輛行駛在車道上時(shí),左右側(cè)車道線出現(xiàn)在像素坐標(biāo)下的極限位置來(lái)劃分初始預(yù)處理ROI;當(dāng)上幀車道線檢測(cè)成功時(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)的位置。

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

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

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

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

圖5 車道線中點(diǎn)提取
由于車道線在行駛中為實(shí)時(shí)變化且連續(xù)平滑移動(dòng),具有連續(xù)性,所以設(shè)計(jì)動(dòng)態(tài)的ROI。前后連續(xù)的ROI區(qū)域?qū)τ谲嚨谰€的弧度檢測(cè)具有可延續(xù)性和預(yù)判性,并且在各個(gè)ROI區(qū)域的車道線上設(shè)置監(jiān)測(cè)像素點(diǎn)。
如圖6所示,將待檢測(cè)的監(jiān)測(cè)像素點(diǎn)的坐標(biāo)按照其區(qū)域位置分為n組。首先檢測(cè)出最近區(qū)域即區(qū)域1和區(qū)域2,區(qū)域1的左車道線上的監(jiān)測(cè)像素點(diǎn)為A,區(qū)域2的右車道線上的監(jiān)測(cè)像素點(diǎn)為B。計(jì)算出二者的中點(diǎn)坐標(biāo),然后中間車道線與之對(duì)比看是否在彎道曲線變化角θ的范圍之內(nèi)。再以區(qū)域1和區(qū)域2為起始監(jiān)測(cè)區(qū)域,繼續(xù)向上探測(cè)區(qū)域3和區(qū)域4。計(jì)算出中點(diǎn),分析是否在中間車道線彎道曲線變化角θ之內(nèi)。重復(fù)此步驟,循環(huán)至所有區(qū)域的監(jiān)控像素點(diǎn)都檢測(cè)結(jié)束為止。
為提高算法的魯棒性,避免因?yàn)閰^(qū)域和像素點(diǎn)的選擇而出現(xiàn)偏差,以及與車道線無(wú)關(guān)的圖像信息對(duì)車道線中點(diǎn)提取的干擾,如將圖像中的防護(hù)欄以及其它車道標(biāo)志線錯(cuò)認(rèn)為是車道線從而影響最終識(shí)別的結(jié)果,在此區(qū)域循環(huán)監(jiān)測(cè)算法中設(shè)置彎道曲線變化角θ。將θ的左右角度極限值設(shè)為θ1和θ2,在本文試驗(yàn)中,將θ1取為左彎道中左車道線最小偏離角度θmin,即θ1=θmin,而θ2取為右車道線最大偏離角度θmax,即θ2=θmax,所以θ的范圍為θ1<θ<θ2。

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


(4)由此獲得的中點(diǎn)集與交點(diǎn)集之間的關(guān)聯(lián)概率p為:

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

圖7 車道識(shí)別試驗(yàn)平臺(tái)
圖8是卡方檢測(cè)算法在識(shí)別直線車道到彎道車道過程中中點(diǎn)集與交點(diǎn)集之間的關(guān)聯(lián)性概率。由圖8a可知,關(guān)聯(lián)概率幾乎為1,說明左右兩側(cè)車道線的像素點(diǎn)中點(diǎn)線與中間車道線基本重合,即車道是直道。由圖8b可知,概率從1下降到0再上升到1,這期間圖線平緩變化,說明是從直道駛?cè)霃澋涝俚街钡赖男旭傔^程。

圖8 卡方檢測(cè)識(shí)別中點(diǎn)集與交點(diǎn)集的關(guān)聯(lián)概率
試驗(yàn)結(jié)果表明,在車輛由直道行駛到彎道的變化過程中,該算法能夠較準(zhǔn)確地進(jìn)行識(shí)別判斷,算法的識(shí)別速度平均耗時(shí)為40.36 ms/幀。圖9為不同試驗(yàn)路段檢測(cè)結(jié)果,表1為不同算法對(duì)彎道識(shí)別的速度和準(zhǔn)確率對(duì)比。由表1可知,該算法在耗時(shí)和準(zhǔn)確率方面能夠略占優(yōu)勢(shì),且滿足駕駛輔助系統(tǒng)對(duì)實(shí)時(shí)性的要求。

圖9 不同試驗(yàn)路段測(cè)試結(jié)果

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