楊羚
(華設(shè)設(shè)計(jì)集團(tuán)股份有限公司 江蘇省南京市 210014)
先進(jìn)駕駛輔助系統(tǒng)[1-3](Advanced Driving Assistance System,ADAS)能夠輔助人工駕駛以減少交通事故,近年來逐步成為自動(dòng)駕駛領(lǐng)域中的研究熱點(diǎn)。車道線自動(dòng)檢測技術(shù)是ADAS 中的關(guān)鍵技術(shù)之一,通過車道線的檢測可分析自動(dòng)駕駛車輛行駛車道的相對位置,進(jìn)一步能夠判斷車輛行駛過程中是否發(fā)生車道偏離現(xiàn)象,從而及時(shí)發(fā)出預(yù)警信息提醒駕駛?cè)藛T,避免事故發(fā)生。當(dāng)前,國內(nèi)外學(xué)者提出的車道線檢測算法可以歸納為基于單特征的車道線檢測方法[4-5]、基于模型的車道線檢測方法[6-7]以及基于深度學(xué)習(xí)的車道線檢測方法[8-10],本文在對這些方法進(jìn)行優(yōu)缺點(diǎn)分析后提出利用車道線顏色、位置和形狀多種特征協(xié)同判斷的算法,實(shí)驗(yàn)表明,本文算法在無訓(xùn)練樣本數(shù)據(jù)和復(fù)雜檢測模型的情況下依然具有較好結(jié)果。
本文車道線自動(dòng)檢測算法流程如圖1所示,首先對影像進(jìn)行預(yù)處理,通過灰度變化和ROI(興趣區(qū)域)提取獲得主要處理區(qū)域,減少處理數(shù)據(jù)量,然后先進(jìn)行高速濾波將影像上的噪聲去除,再利用Canny 算子檢測邊緣,將線特征增強(qiáng),最后通過Hough 變換提取線段并對提取線段的斜率進(jìn)行限制得到最終檢測的車道線結(jié)果。
表1:算法準(zhǔn)確率與查全率結(jié)果
考慮到車道線一般為黃色或者白色,在紅色和綠色空間中,黃色和白色相對于其他顏色對比度更加明顯,因此對于所采集的自動(dòng)駕駛車載影像,需要將影像從RGB 彩色空間變換到灰度空間中,采用公式(1)進(jìn)行影像色彩空間轉(zhuǎn)換。
式(1)中,R,G,B 表示原影像在紅、綠、藍(lán)三個(gè)通道上的分量,a1、a2、a3 分別表示各個(gè)通道的權(quán)重系數(shù),其中a1+a2+a3=1。由于黃色和白色車道線在藍(lán)色通道上反應(yīng)不明顯[11],故一般取a1=a2=0.5,a3=0 可以遠(yuǎn)好于a1=a2=a3=0.33 的傳統(tǒng)灰度變化公式。
駕駛車輛行駛時(shí),攝像機(jī)一般安裝在車輛正前方,車道線均處于道路滅點(diǎn)的下方,并且鏡頭拍攝到的車輛所在車道一定位于畫幅中央部分,為減少數(shù)據(jù)處理工作量,取影像下方二分之一的中央二分之一畫幅作為ROI 區(qū)域。如圖2所示為影像預(yù)處理結(jié)果,紅色框線為ROI提取區(qū)域,提取ROI區(qū)域后可以將與目標(biāo)不相關(guān)的信息(如天空、房屋等)去除,避免冗余信息對檢測過程的干擾,提高車道線檢測精度。
圖1:車載影像車道線自動(dòng)檢測算法流程圖
圖2:影像預(yù)處理結(jié)果
圖3:Canny 算子邊緣增強(qiáng)結(jié)果
Canny 算法[12,13]Canny 算法的核心在于它使用離散性差分算子近似一階偏導(dǎo)數(shù),尋找圖像灰度躍變位置,表示圖像邊緣。車道線由于鋪設(shè)了黃色或白色的漆面,與灰色的路面在邊緣處會(huì)有明顯的階躍現(xiàn)象,Canny 算子在0°、45°、90°135°這四個(gè)方向上尋找產(chǎn)生階躍的像素點(diǎn),在找到階躍像素點(diǎn)后采用非最大抑制技術(shù)消除誤檢邊,本文進(jìn)行邊緣檢測后的結(jié)果如圖3所示。
Hough 變換是把原始影像空間中的直線通過曲線形式變換成Hough 空間中的一個(gè)點(diǎn),將原始影像中的直線檢測問題轉(zhuǎn)化為Hough 空間中峰值點(diǎn)的尋找問題[14]。傳統(tǒng)的Hough 變換直線檢測不在車道線檢測中的適用性不高。
本文通過分析車載影像的車道線發(fā)現(xiàn),車道線一般位于車輛上攝像機(jī)采集影像的兩邊,并與車道的中線有一定的夾角,所以Hough 變換檢測出的直線的斜率k 會(huì)在一個(gè)范圍內(nèi),即kmin<k<kmax,于是本文提出了基于斜率限制條件下的Hough 變換算法,具體限制方法流程如圖4所示。圖中t1 和t2 為根據(jù)經(jīng)驗(yàn)設(shè)定的斜率閾值,km 為提取線段的斜率均值,t1+km=kmin,t2+km=kmax,由此確定斜率k 的范圍。針對本文實(shí)驗(yàn)數(shù)據(jù)t1 取0.1,t2 取0.3 時(shí)結(jié)果較好。
圖4:條件限制下的Hough 變換流程
為驗(yàn)證本文車道線檢測算法的可行性,在鄭州龍湖中環(huán)路上進(jìn)行實(shí)驗(yàn)采集車輛行駛中的影像數(shù)據(jù),采集的車載視頻時(shí)長約12 分鐘,從中截取約多組影像作為實(shí)驗(yàn)數(shù)據(jù),影像分辨率為1280*720,采集的影像包括直線行駛路段、彎道行駛路段、高架行駛路段、樹蔭遮蔽路段等多種路況條件。并與未經(jīng)條件限制的Hough 變換直線提取結(jié)果和人工勾選的樣本進(jìn)行對比實(shí)驗(yàn)。
圖5:不同行車條件下車道線檢測效果
本文選取三組具有代表性的實(shí)驗(yàn)數(shù)據(jù),并將人工勾選的樣本數(shù)據(jù)作為真值,同時(shí)為了驗(yàn)證實(shí)驗(yàn)的有效性,采用相同數(shù)據(jù)與未經(jīng)條件限制地Hough 變換直線檢測算法進(jìn)行對比實(shí)驗(yàn),對比實(shí)驗(yàn)結(jié)果如圖5所示,第一行為空曠道路車道檢測線不同算法檢測效果、第二行為樹蔭遮擋路段不同算法車道線檢測效果、第三行為轉(zhuǎn)彎路段不同算法車道線檢測效果。
實(shí)驗(yàn)結(jié)果目視判讀可知,本文提出的基于車載影像的車道線檢測方法能夠適應(yīng)用多種路況下的精度檢測要求,能夠滿足復(fù)雜城市交通狀況下的檢測要求。與未經(jīng)條件限制地Hough 變換直線檢測算法相比,由于本文算法在進(jìn)行車道線直線提取時(shí),對Hough 直線變換進(jìn)行了斜率條件限制,因此能夠?yàn)V除掉部分錯(cuò)誤提取的偏水平方向的直線。
三組實(shí)驗(yàn)數(shù)據(jù)定量分析結(jié)果如表1所示。
從表1 定量分析結(jié)果可知,以人工勾畫的車道線為真值,本文檢測算法對于三組影像的準(zhǔn)確率均在95%以上,查全率在80%以上,說明本文算法在保證檢精度的同時(shí)能夠覆蓋較多的檢測范圍。Hough 變換直線檢測算法由于檢測出的線段沒有做擬合,檢測的線段長度短,因此對于圖5 第二行遮擋道路、第三行彎曲道路檢測的準(zhǔn)確率較高但查全率卻無法滿足需求。對于圖5 第一行空曠道路影像Hough 直線檢測算法準(zhǔn)確率低的原因是沒有根據(jù)斜率將錯(cuò)誤檢測出的線段剔除,導(dǎo)致ROI 范圍內(nèi)的非車道線的水平線段也被檢測出來。
綜上,不論從目視判讀還是對結(jié)果的定量計(jì)算,本文算法明顯優(yōu)于Hough 直線檢測算法。
本文針對車輛行駛過程中拍攝的影像,提出了一種基于多特征的車道線檢測方法。該方法通過影像預(yù)處理保障了后續(xù)識別的準(zhǔn)確度,然后通過高斯濾波和Canny 算子增強(qiáng)車道線的邊緣特征,最后利用斜率條件限制下的Hough 變換檢測出最后車輛行駛兩側(cè)車道線,并確定車道范圍。實(shí)驗(yàn)結(jié)果表明,本文方法能夠適用于實(shí)際道路場景,特別是在路況較好、干擾較少的條件下檢測結(jié)果較高,然而,本文算法在道路擁堵路段和車道線被大面積磨損褪色的場景下檢測效果不佳,未來可考慮更多復(fù)雜場景下甚至對車載視頻的實(shí)時(shí)車道線檢測方法研究。