時 利,談東奎,王乃漢,袁 寧,張一營
(1.安徽江淮汽車股份有限公司 技術中心,合肥 230091;2.合肥工業大學 機械與汽車工程學院,合肥 230009)
車道識別技術作為駕駛員高級輔助駕駛系統(Advanced Driver Assistant System,ADAS)中的關鍵技術之一,能為各種輔助系統提供車路相對位置和道路幾何尺寸信息。由于道路場景易受天氣、光照以及道路交通環境等眾多因素影響,且輔助控制系統對車道線識別的速度也提出要求,因而快速、準確而且魯棒的車道線識別技術是智能汽車技術研究的一項難點。
車道線識別常采用視覺傳感器,經典的Hough變換算法[1]及其變體[2-4]被廣泛應用于該任務,這類方法一般先利用諸如Sobel算子[5]、canny算子[6]和方向可調濾波器[7]等邊緣檢測算法來處理圖像,再結合自適應閾值生成候選點,但這類方法通常易受噪聲干擾且較為耗時[8]。高德芝等[9]利用非均勻B樣條曲線擬合車道線,并將其轉化為多階動態規劃問題,根據定義的代價函數來優化曲線控制點,但其算法需要不斷迭代優化,難以實時處理圖像。王寶鋒等[10]提出了基于動態區域劃分的車道線識別方法,并將直線和B樣條曲線用于車道線重構。為了更好地提取車道線幾何特征,MCCALL等[11]利用逆透視變換將原始圖像全部轉化為鳥瞰圖,并利用平行特性對車道線進行提取。逆透視變換的引入降低了車道線識別的難度,但其運算量巨大。通過將車道識別問題轉變為車道模型參數優化問題,王科等[12]利用不定 Bezier 變形模板開發出了能夠適應復雜城市道路環境的車道線檢測算法。BORKAR等[13]提出一種按時間平均圖像的方法,將圖像中間斷的車道虛線轉變為連續的車道實線,再利用隨機抽樣一致算法排除離群點繼而擬合車道線。CHOI等[14]提出將車道線檢測與前向汽車檢測融合的方法,確保當車道線被汽車遮擋時檢測結果具有魯棒性。現有的車道線檢測方法大都由多個精心設計的算法組成,不僅處理步驟較為繁瑣,而且計算量大,難以實現能夠應用于嵌入式運算平臺的快速、準確且可靠的車道線識別。
針對此問題,本文提出一種基于特征點投票統計的車道線快速檢測算法。首先對采集的圖像進行預處理,在感興趣區域內完成車道線邊緣點篩選,然后建立關聯性的投票空間,對篩選的邊緣點進行相應的投影計算,在消失線上檢測出消失點位置,并由消失點反向搜索檢測出車道線,進而結合車道線模型計算出所需的車道參數。試驗采用DSP為開發平臺測試程序,結果表明,該算法在系統中運行具有較好的車道線檢測效果,在雨霧天氣、夜晚等復雜情況下均能正常運行,實時性能較好,具有一定的實用價值。
車道線模型對于車道線識別和車路方位參數計算具有重要作用。首先建立世界坐標系OXYZ和相機坐標系Oxcyczc,如圖1所示。其中,H表示相機的安裝高度,d為相機距離車道線的橫向距離,eψ為汽車航向角偏差。假設在世界坐標系中的車道線為二次曲線,即有:

那么,車道線轉換到圖像中的曲線方程可近似表示為:

式中:CR為車道線的曲率;r和c分別為車道線在圖像中的行坐標和列坐標;u0和v0分別為圖像中心點的行、列坐標;αu和αv分別為相機在水平和垂直方向的縮放因子。當車道線為直線時,(r0,c0)為車道線消失點的坐標。該車道線模型的詳細推導過程可參考文獻[15]。

圖 1 用于計算車道線模型的坐標系統
當從圖像中檢測到車道線之后,就能根據車道線模型計算得到汽車橫向位置偏差、航向角偏差和道路曲率等參數。此外,車道保持控制系統一般都需要獲取預瞄距離處的橫向偏差。假設車道為直道,即道路曲率CR等于0,令cl和cr分別表示預瞄點所在行左右車道線的列坐標,rpv表示預瞄點所在行坐標,如圖2所示。那么由車道線模型式(2)可知:

可見,在車道寬度不變的情況下,預瞄距離越遠,即越小,則車道線在圖像中的列偏差越小。根據上式可求得預瞄點處汽車橫向位置偏差為:

而預瞄距離xla與預瞄點在圖像中的函數亦存在如下關系:


圖 2 車道線模型及預瞄偏差計算
本文所設計的車道線檢測算法流程如圖3所示。
該算法基本流程如下:
(1)對CCD相機采集的圖像進行預處理,包括灰度化、感興趣區域選取、邊緣檢測等。
(2)車道線邊緣點提取,利用邊緣點梯度幅值大的特性設定梯度閾值,再結合車道線寬度約束,即可逐行篩選有效的車道線邊緣點,排除大部分干擾像素點。
(3)車道線邊緣點投影統計,建立投影空間的關聯性,一旦檢測到有效的車道線邊緣點,就可根據該邊緣點處像素的梯度進行投影統計。
(4)消失點與車道線位置搜索,通過搜索消失線上最大的峰值點獲取消失點,并由消失點搜索該列中兩個局部峰值點,就能確定左右側車道線的位置。
(5)為了提升車道線檢測算法的魯棒性,在車道跟蹤中定義帶狀區域,通過車道線模板匹配避免陰影車輛等的影響,利用卡爾曼濾波器處理檢測出的車道線位置數據,從而實現車道線跟蹤。

圖 3 車道線檢測算法
首先需要將彩色圖像轉換為灰度圖像,由于車道線均是黃色或白色,而紅色和綠色通道對于黃色和白色又具有很好的對比特性,所以采用式(6)的色彩特征空間。

其中,R、G和B分別為紅色、綠色和藍色分量,選取比較適合車道線的檢測。在道路圖像中,車道線皆位于道路消失線下方。在消失線附近的車道線距離較遠,相比較近處的車道線其圖像特征不明顯且干擾更多。因此,車道線識別算法只需要處理包含近處車道線的圖像數據。車道線識別感興趣區域提取過程如圖4所示。

圖4 感興趣區域提取
在獲取待處理圖像區域之后,采用中值濾波來減少圖像中噪聲點的干擾。對于3×3的濾波器核,中值濾波即為求取圖5a中 9 個元素的中值。再運用Sobel算子求解圖像在水平和垂直方向的梯度,圖5b和圖5c為3×3的Sobel算子模板,分別用于求解像素點在水平和垂直方向的梯度。若用Dx和Dy分別表示水平和垂直方向的梯度,則梯度幅值和方向為:

方向角α為:


圖 5 大小為3×3的圖像區域及Sobel算子模板
正常情況下車道線上的像素點比道路像素點具有更高的灰度值,因此,從左至右車道線附近的圖像灰度值先上升,然后在一定寬度內保持不變,最后是下降,如圖6所示。反映在水平方向的梯度圖像中,即為車道線左右邊緣處梯度絕對值較大,且左側為上升沿,梯度為負值,右側為下降沿,梯度為正值。利用該特性并設定梯度閾值,再結合車道線寬度約束,即可逐行篩選有效的車道線邊緣點,排除大部分干擾像素點。

圖6 車道線邊緣點篩選
一旦檢測到有效的車道線邊緣點,就可根據該邊緣點處像素的梯度進行投影統計。假設所處理的圖像區域大小為r行c列,車道邊緣點的行列坐標為(re,ce),那么過邊緣點并沿著該點梯度方向的直線與圖像首行和尾行的交點的列坐標分別為:
車道邊緣點投影計算的示意圖如圖7所示。分別建立并初始化一個向量V和一個矩陣M,用來統計計算得到的cup和cdown,向量V的大小為1行c列,矩陣M的大小為2c行c列。每當計算得到一組cup和cdown數值,首先對向量V中第cup個元素作累加運算,然后對矩陣M中位于c/2+cdown行cup列的元素作累加運算,直至統計完所有的有效車道邊緣點。

圖7 車道線邊緣點投影計算
上述統計方式利用了圖像中所有車道線匯聚于一點的性質,該點被稱為消失點,消失點位于消失線上。當所有車道線邊緣點皆向消失線所在行投影并統計時,消失點所在位置往往獲得最多的投影數,因而通過搜索向量V中的最大值點就能確定消失點的位置,假定其列坐標為cv。接著,反向檢索那些向消失點投影的車道邊緣點,只需要分析矩陣M中第cv列的統計數據,如圖8所示。通過搜索該列中兩個局部峰值點,即能確定左右側車道線的位置。該方法不僅能夠有效地檢測出車道線位置,減少錯誤邊緣點的干擾,還能夠縮短搜索時間,提高算法的實時性。

圖8 反向搜索車道線結果
經過上述搜索步驟,最終可以得到消失點列坐標以及左、右側車道線與圖像尾行交點的列坐標3個參數。考慮到實際道路環境的復雜性,為了提升車道線檢測算法的魯棒性,還需要分析左右側車道線的置信度,判斷車道寬度是否在合理范圍內,從而實現車道線跟蹤。考慮前后幀圖像中車道線位置的連續性約束,通過建立帶狀區域跟蹤車道線。為了提升車道線檢測算法的魯棒性,通過車道線模板匹配避免陰影車輛等的影響,利用卡爾曼濾波器處理檢測出的車道線位置數據,從而實現車道線跟蹤,如圖9所示。識別出車道線在圖像中的位置后,即可計算出車道線模型中的具體參數,為后續的車道偏離預警和車道保持控制提供信息。由于高速公路上道路半徑很大,只對距離汽車近處的直道參數進行了識別,若要獲取車道線曲率參數,通常還需要結合較遠區域的車道線邊緣點來進行優化匹配。

圖9 車道跟蹤的帶狀區域
選用高性能視頻分析DSP開發板SEEDDEC6437作為車道線識別算法的運算平臺,該平臺包含TI公司推出的型號為TMS320DM6437的32位定點DSP處理器,其主頻為700 MHz,配備256 Mb內存和4 Mb閃存,擁有視頻輸入、VGA視頻輸出和CAN總線等接口。利用CCD相機獲取前向道路圖像并輸出模擬信號,經過視頻輸入接口和視頻解碼芯片后,在DSP中得到YUV格式的圖像數據,繼而編寫相應的車道線識別程序,并將最終的車道線位置或車路方位偏差等識別結果通過CAN總線輸出。圖10所示的車道線識別系統由DSP開發板和車道線識別系統的硬件組成。

圖10 基于DSP的車道線識別試驗系統
實車試驗結果表明,汽車在結構化道路上行駛時,該算法受汽車顛簸和道路線模糊等情況影響較小,具有較強的魯棒性,檢測結果如圖11所示。該系統以30 fps的速度采集并處理像素為720×576的圖像,在不同狀況下的結構化道路的平均識別率能達到90%以上。不同狀況下的車道線識別率見表1。
將本文算法與文獻[16]利用Hough變換、文獻[17]利用邊緣點信息識別車道線的算法進行比較,結果見表2,可以看出,識別速度與識別率均達到了較好效果。

圖 11 不同場景下的車道線檢測結果

表1 不同狀況下的車道線識別率

表2 不同算法的識別速度與識別率
本文提出一種車道線邊緣點篩選的方法,整個搜索過程只遍歷感興趣區域一次,保持較小的計算時間損耗,且能夠有效排除干擾點。
提出一種基于投票機制的方法檢測出消失點,并建立關聯性的投影空間,可快速由消失點反向搜索出車道線。通過建立帶狀區域并基于車道寬度,完成對車道線的跟蹤,大大提高算法的實時性。
試驗結果表明,本文提出的車道檢測算法在DSP平臺上運行,以30 fps的速度采集并處理圖像,在不同狀況下的結構化道路平均識別率能達到90%以上。
[1] SON J,YOO H,KIM S,et al. Real-time Illuminatio n Invariant Lane Detection for Lane Departure Warning System[J]. Expert Systems with Applications,2015,42(4):1816-1824.
[2] 王科,黃智,鐘志華. 基于不定Bezier變形模板的城市道路檢測算法[J]. 機械工程學報,2013,49(8):143-150.WANG Ke,HUANG Zhi,ZHONG Zhihua. Algorithm for Urban Road Detection Based on Uncertain Bezier Deformable Template.[J]. Journal of Mechanical Engineering,2013,49(8):143-150.(in Chinese)
[3] 王家恩,陳無畏,王檀彬,等. 基于期望橫擺角速度的視覺導航智能車輛橫向控制[J]. 機械工程學報,2012,48(4):108-115.WANG Jiaen,CHEN Wuwei,WANG Tanbin,et al.Vision Guided Intelligent Vehicle Lateral Control Based on Desired Yaw Rate[J]. Journal of Mechanical Engi-neering, 2012,48(4):108-115. (in Chinese)
[4] YAN Xinping,ZHANG Rui,MA Jie,et al. Considering Variable Road Geometry in Adaptive Vehicle Speed Control[J]. Mathematical Problems in Engineering,2013,2013(30):1-12.
[5] FERNANDES L A F,OLIVEIRA M M. Real-time Line Detection Through an Improved Hough Transform Voting Scheme[J]. Pattern Recognition,2008,41(1):299-314.
[6] GONZALEZ R C, WOODS R E. 數字圖像處理(第3版)(英文版)[M]. 北京:電子工業出版社, 2010.GONZALEZ R C,WOODS R E. Digital Image Processing(Third Edition)[M].Beijing:Publishing House of Electronics Industry,2010.(in English)
[7] CANNY J. A Computational Approach to Edge Detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[8] 郭磊,李克強,王建強,等. 應用方向可調濾波器的車道線識別方法[J].機械工程學報,2008,44(8):214-218.GUO Lei,LI Keqiang,WANG Jianqiang,et al. Lane Detection Method by Using Steerable Filters[J]. Journal of Mechanical Engineering,2008,44(8):214-218. (in Chinese)
[9] 高德芝,段建民,楊磊,等. 應用多階動態規劃的車道線識別方法[J]. 機械工程學報,2011,47(8):141-145.GAO Dezhi,DUAN Jianmin,YANG Lei,et al. Lane Recognition Method Using Multi-stage Dynamic Programming [J]. Journal of Mechanical Engineering,2011,47(8):141-145.(in Chinese)
[10] 王寶鋒,齊志權,馬國成,等. 基于動態區域規劃的雙模型車道線識別方法[J]. 北京理工大學學報,2014,34(5):485-489.WANG Baofeng,QI Zhiquan,MA Guocheng,et al.Lane Detection System Based on Region Dynamically Planning and Dual Model Fitting [J]. Transactions of Beijing Institute of Technology,2014,34(5):485-489.(in Chinese)
[11] MCCALL J C,TRIVEDI M M. Video-based Lane Estimation and Tracking for Driver Assistance:Survey,System,and Evaluation[J]. Intelligent Transportation Systems,IEEE Transactions on,2006,7(1):20-37.
[12] 王科,黃智,鐘志華. 基于不定Bezier變形模板的城市道路檢測算法[J]. 機械工程學報,2013,49(8):143-150.WANG Ke,HUANG Zhi,ZHONG Zhihua. Algorithm for Urban Road Detection Based on Uncertain Bezier Deformable Template [J]. Journal of Mechanical Engineering,2013,49(8):143-150.(in Chinese)
[13] BORKAR A,HAYES M,SMITH M T. A Novel Lane Detection System with Efficient Ground Truth Generation[J]. Intelligent Transportation Systems,IEEE Transactions on,2012,13(1):365-374.
[14] CHOI H C,PARK J M,CHOI W S,et al. Vision-based Fusion of Robust Lane Tracking and Forward Vehicle Detection in a Real Driving Environment[J]. International Journal of Automotive Technology,2012,13(4):653-669.
[15] ZHOU Yong,XU Rong,HU Xiaofeng,et al. A Robust Lane Detection and Tracking Method Based on Computervision[J]. Measurement Science & Technology,2006,17(4):736.
[16] LIN Qing,HAN Y J,HAHN H S. Real-time Lane Departure Detection Based on Extended Edge-linking Algorithm[C]//Proceedings of the 2010 Second International Conference on Computer Research and Development,May 7-10,2010,Washington DC,USA.IEEE Press,2010:725-730.
[17] 初雪梅,王珂娜,張維剛. 基于分段直線模型的彎道識別算法的研究[J]. 汽車工程,2012,34(12):1141-1144.CHU Xuemei,WANG Kena,ZHANG Weigang. A Study on a Recognition Algorithm of Curved Lane Based on Piecewise Straightline Model [J]. Automotive Engineering,2012,34(12):1141-1144. (in Chinese)