摘 要:為提高高速公路上車道線識別的快速性和魯棒性,提出了一種有效的車道線檢測與跟蹤方法。采用霍夫變換進行車道線檢測,具有較強的抗干擾能力,能夠準確地識別車道線。車道線跟蹤利用Kalman預測參數建立感興趣區域,然后用掃描線法搜索車道線邊界點,在車道線間斷區域利用Kalman預測器定位車道線邊界。由于搜索限制在預測范圍內,提高了搜索精度,減少了搜索范圍,保證了實時性能,且對虛線車道線識別特別有效。仿真實驗結果表明,對于不同的天氣狀況和車道線種類,該算法均有較好的識別效果。
關鍵詞:車道線檢測與跟蹤;Hough變換;Kalman預測器;感興趣區域
中圖分類號:TP391 文獻標識碼:A
文章編號:1004-373X(2008)09-180-04
Research on Lane Detection and Tracking Algorithm of Highway
TIAN Bingxiang,ZHENG Banggui,WU Qing
(College of Electronic Information Control Engineering,Beijing University of Technology,Beijing,100022,China)
Abstract:An efficient method of lane detection and tracking is proposed to improve robustness and efficiency of lane recognition of highway.Lane detection based on Hough Transform(HT) has good robustness and can identify lane accurately.In lane tracking,the Region of Interest (ROI) is established using parameters predicted through the Kalman predictor.Then lane boundary points are searched by scan line method in ROI.The lane boundary in discontinuous area is located using Kalman predictors.The algorithm can improve searching precision,reduce the search area,and ensure real-time performance due to restricted searching area,especially for dashed lanes.Simulated experiment results show that the algorithm has good performance under different weather conditions and lane models.
Keywords:lane detection and tracking;Hough transform;Kalman predictor;region of interest
1 引 言
當今社會,公路交通事故已經成為人們普遍關注的問題,尤其高速公路上發生事故的幾率正呈逐年上升的趨勢,其造成的危害也是各類交通事故中最為嚴重的。為了提高駕駛的安全性和操作的簡單性,世界各國都在積極研究開發汽車輔助駕駛系統。基于機器視覺的車道線檢測與跟蹤是智能車輛輔助駕駛系統的關鍵技術之一,他是實現車道偏離報警、車道保持等主動安全功能的基礎。目前已經提出了很多車道線識別方法,簡單算法對于車道線大部分被遮擋、各種交通參與者存在的情況,往往出現誤識別;復雜算法抗干擾能力強,但是實時性又不好。如何準確、快速地檢測車道線已成為智能車輛視覺導航中的一個重要問題。
針對高速公路的特點以及對車道線識別的實時性和魯棒性的要求,本文提出了一種基于Hough變換(Hough Transform,HT)和Kalman預測的快速車道線檢測與跟蹤算法。采用PEST2001圖像序列(一組車輛正前方的單目圖像序列)作為測試序列(圖片大小為768×576),取得了很好的檢測效果。
2 車道線檢測
車道線初始檢測的準確性直接影響了后續跟蹤的效果,檢測算法的選擇十分關鍵。檢測算法主要分為兩步:圖像預處理和車道線識別。
2.1 圖像預處理
本文采用基于二維特征的算法,僅利用灰度特征和灰度差分特征。用3×3的滑動窗口進行中值濾波,保留細節,去除干擾噪聲,再根據圖像灰度直方圖進行灰度變換,提高對比度,然后利用大津自動閾值分割法自適應求得圖像閾值,最后用卷積核為
012-101-2-10
和
-2-10-101012
的Sobel邊緣檢測算子檢測車道線邊界點,得到二值圖像。這種卷積核的優點是增強45°和135°方向的邊界線,同時可以消除其他方向邊界線,減少其他物體邊緣對于車道線識別的干擾。
2.2 車道線識別
2.2.1 建立車道線模型
高速公路屬于結構化道路,其車道線的檢測與跟蹤需基于以下假設:
(1) 車道線直線性假設:在文獻[1-3]中分別采用多項式曲線、回旋曲線和樣條曲線匹配車道線,這些方法受到模型的影響很大,而且曲線擬合的運算相對復雜,在有陰影等干擾下可能失效。由于高速公路的特點,車輛大部分時間是行駛在直線車道上,在高速公路上即使有彎道,彎道的曲率也很小,可近似當作直線車道處理。
(2) 車道線連續性假設[4]:對于虛線車道線,假設其間斷區域也存在虛擬的邊緣點,將虛線車道線當作連續的車道線來處理。
(3) 邊緣點位置的可預測性假設:對序列圖像進行實時處理,由于車速較高,連續采集的兩幀圖像中車道線位置偏差不會太大,邊緣點位置具有可預測性。
2.2.2 Hough變換檢測車道線
HT是一種依據全局統計信息的直線提取方法,他基于圖像空間點向參數空間對應位置投票累加并搜索參數空間峰值獲得直線方程。
HT的基本原理如圖1所示。式(1)為圖1(a),(b)的直線方程,式(2)為該直線對應的極坐標表示,其中(ρ,θ)定義了一個從原點到直線上最近點的向量。可以看出x,y平面上的任意一點對應于ρ,θ平面上的一條正弦曲線,x,y平面上的任意一條直線對應ρ,θ平面上的一個點,如圖1(b),(c)所示。
y=kx+b
(1)
ρ=xcos θ+ysin θ
(2)
圖1 Hough變換原理
為了找到x,y平面上的直線,可以將ρ,θ空間量化成等間隔的小直網格,這個直網格對應一個計數陣列,每個小格對應一個計數陣元。根據式(2)每一個(x0,y0)點對應ρ,θ平面上的一條曲線,這條曲線所經過的小格,對應的計數陣列元素加1。于是計數陣元的數值等于通過對應小格的曲線的數目。根據攝像機的安裝位置和投影理論,路面區域均位于圖像的下半平面,為了減少計算量,避免道路背景中復雜的自然景物對車道線識別的影響,在檢測模塊中將感興趣區域取為圖像下半部分。遍歷感興趣區域中的全部(x,y)點,對小格進行檢驗,大計數值的小格對應于共線點,其(ρ,θ)可用做直線擬合參數。其中小計數值的小格則認為是孤立點,不構成直線,應該去除。
用Hough變換識別車道線,抗噪性能強,對直線斷裂、局部遮擋等缺陷不敏感,能將斷開的邊緣連接起來,非常適合用于檢測不連續的車道線。
3 車道線跟蹤
由于序列圖像的時空連續性,連續兩幀圖像的車道線位置偏差不會太大,利用相鄰幀之間車道線位置具有的相關性,可以用前一幀圖像獲得的信息指導下一幀車道線的檢測,提高處理速度和魯棒性,這就是車道線跟蹤。
3.1 基于Kalman預測器動態建立感興趣區域(ROI,Region of Interest)
本文將車道線檢測模塊檢測到的車道線參數作為Kalman預測器的狀態變量的初始值,可防止預測器發散。由于誤差協方差矩陣可以隨著圖像動態更新,可以給他一個較大的初值。3.2 掃描線法搜索車道線邊界點
以左邊車道線為例,在如圖3所示的左邊車道線的ROI中采用掃描線法搜索車道線邊界點,其基本思路是從圖像的最下邊界開始搜索,在同一條掃描線上,以直線(kldown,bldown)上的點作為起始點向左搜索,直到搜索到第一個邊界點,然后再進入上一行掃描線繼續進行搜索;對于虛線車道線,由于存在間斷區域,可能在ROI內都沒有搜索到邊界點,則采用Kalman預測器預測的當前幀車道線參數來估計邊界點的位置,并將此位置作為當前掃描行中車道線邊界;如果在圖像的某一行沒有搜索到車道線邊界點,同時又沒有預測的邊界點時,則舍棄記錄該行邊界點位置。由于采用Kalman預測器來預測車道線邊界點位置,減少了搜索范圍,提高了車道線識別的實時性和魯棒性。搜索算法流程圖如圖4所示。
3.3 失效判別模塊
當受到嚴重干擾時,如車道線受前方行駛車輛遮擋很嚴重,或者在車輛換道、轉彎時,算法會產生較大誤差甚至失效。因此,系統加入算法失效判別模塊,一旦判定算法失效則啟動車道線檢測模塊對車道線進行識別。本文判定算法失效方法如下:
(1) 當前幀的車道線信息與上一幀比較發生突變(一般認為直線的斜率和截距的變化量不應超過某個閾值,否則認為車道線的信息發生突變)則認為算法失效。
(2) 在ROI中檢測到車道線的實際邊界點數目若小于某個閾值,則認為算法失效。
(3) 判斷車道線置信度,包括車道線的平行度、寬度等,如果低于置信度指標,則認為算法失效。
圖3 感興趣區域示意圖(二)
圖4 搜索算法流程
4 實驗結果
車道線檢測與跟蹤算法流程圖如圖5所示。算法啟動后,前幾幀圖像用車道線檢測模塊進行識別,對檢測到的車道線置信度進行確認,包括車道線的平行度、寬度等,如果通過置信度檢測,則進入車道線跟蹤模塊。
車道線跟蹤模塊首先進行圖像預處理(與車道線檢測模塊相同)得到二值圖像,然后通過Kalman預測器預測的參數動態建立ROI,在ROI中搜索車道線邊界點,用最小二乘法擬合車道線,將得到的車道線參數送入Kalman預測器,預測下一幀車道線參數,再進入判別模塊判斷算法是否失效,如果沒有失效則繼續用跟蹤算法處理下一幀圖像,否則轉到車道線檢測模塊進行處理。
車道線檢測和跟蹤算法仿真實驗結果如圖6所示。
本算法使用VC++6.0編程實現,進行了大量仿真實驗,選取其中的600幀虛線車道線圖像序列進行分析。前6幀用車道線檢測模塊進行識別,然后進入跟蹤模塊,直到第299幀跟蹤算法都能準確地識別車道線,到第300幀時出現偏差,到第400幀偏差很大,系統自動啟動檢測模塊,則第401幀能很好地識別車道線,之后系統又能很好地進行車道線跟蹤。在檢測模塊一幀圖像處理時間大概70 ms,跟蹤模塊平均運行時間在38 ms左右。由仿真結果可看出本算法基本滿足高速公路上汽車輔助駕駛系統的實時性和魯棒性要求。
圖5 車道線檢測與跟蹤算法流程圖
5 結 語
本文在車道線檢測模塊采用Hough變換識別車道線,具有準確性和魯棒性的優點。在跟蹤模塊利用Kalman預測參數動態建立ROI,采用掃描線法搜索邊界點,
有效解決車道線識別中計算量大和由于CCD抖動或路面不平等隨機因素的影響,提高了車道線識別的快速性和魯棒性,尤其對虛線車道線檢測具有很好的識別效果。由于加入算法失效判別模塊,系統能及時處理跟蹤算法失效的情況,更適合于實際應用。
圖6 車道線識別仿真結果
參 考 文 獻
[1]Kenue K S Lanelok.An Algorithm for Extending the Lane Sensing Operating Range to 100 Feet [J].Mobile Robots V,1990:222-233.
[2]Redmill K A,Upadhya S,Krishnamurthy A.A Lane Tracking System for Intelligent Vehicle Applications [J].IEEE,2001:273-279.
[3]Wang Yue,Shen Dinggang,Teoh E K.Lane Detection Using Spline Model [J].Pattern Recognition Letters,2000,21:677-689.
[4]董因平,高振海.基于統計預測的車道邊緣點搜索算法[J].微計算機應用,2004,25(3):348-352,356.
[5]游峰.智能車輛自動換道與自動超車控制方法的研究[D].吉林:吉林大學,2005.
[6]鄧自立.最優估計理論及其應用——建模、濾波、信息融合估計[M].哈爾濱:哈爾濱工業大學出版社,2005.
作者簡介
田炳香 女,1982年出生,河北滄州人,碩士研究生。從事機器視覺、圖像處理、多傳感器融合方面的研究。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。