羅健豪
(長安大學 汽車學院,陜西 西安 710064)
車道線跟蹤識別或車道偏離預警的關鍵在于快速精確檢測車道線,本文描述分析了圖像處理算法和車道線識別常見方法,在圖像預處理部分主要是ROI(感興趣區域)提取和圖像平滑處理,在第二部分分別介紹了基于線檢測,線過濾和聚類和基于顏色的兩種主流車道檢測方法。
車道檢測系統由不同的模塊組成,如捕獲車道標線的視頻或圖片、車道建模、特征提取、車道檢測、車道跟蹤和車道偏離預警系統等。車道建模用來獲取車道線的數學描述,在特征提取步驟中識別特定的車道特征如邊緣、紋理或者顏色等,車道檢測是通過擬合提取出的特征和車道模型來進行的,最后使用車道跟蹤模塊跟蹤車道的變更。系統的總體框圖如圖 1 所示。

圖1 流程圖
預處理是車道檢測和偏離預警系統的重要組成部分, 有助于減少計算時間,提高算法的效果。包括ROI提取與圖像平滑兩部分。
使用消失點建立自適應ROI可有效降低計算復雜度。Jongin Son、Hunjae Yoo[1]等人的消失點的檢測方法如下:首先,邊緣檢測[2]算法中,使用Canny邊緣檢測器[3],因為它對噪聲具有魯棒性。另外,使用霍夫變換[4]提取線成分以使用車道的直線屬性。如圖3,計算檢測到線的交點。然后,生成一個投票圖,它是累積線成分集。如圖4所示,計算了投票圖中的相交點數。最后,找到投票最多的區域的中心點,該中心點被定義為消失點。

圖2 線成分檢測:原始圖像

圖3 最終提取背景圖

圖3 線成分檢測:通過霍夫變換提取的圖像的線

圖4 線成分檢測:投票圖
本階段采用圖像金字塔法,圖像金字塔的主要思想是在不同的比例(原始圖像的下采樣版本)為同一圖像提供多個版本。金字塔有兩種類型:高斯金字塔和拉普拉斯金字塔。本文采用了最常用的高斯金字塔算法,與其他平滑算法相比,在最短的處理時間內獲得了最好的結果。這個金字塔是通過對原始圖像進行多次子采樣和平滑處理而構建的,如果對圖像的縮放版本進行疊加,則最終得到的是原始圖像的一個金字塔,而最低分辨率的圖像則位于金字塔的頂部。平滑圖像減少了細節,縮小它能夠減少處理時間。因此,該階段用于減少線段檢測階段算法檢測到的線段數,提高系統速度。
車道檢測是一個重要的步驟,將特征提取階段與跟蹤階段聯系在一起。在車道檢測中,根據所提取的特征對實際車道位置進行預測。當獲得邊緣圖像后,可以最終確定屬于車道標記的邊界。在進行車道檢測時,會做出一些假設,如繪制車道標記時比其他部分的顏色更亮;沿著車道時標記變化的方向小而平滑;車道標記中心的左右兩側是平行的。
使用了線檢測,線過濾和聚類的方式檢測了車道位置,其中線檢測又分為邊緣檢測和線段檢測。
邊緣檢測是一種檢測圖像中亮度急劇變化點的數學方法。提出了一種基于圖像一階導數的點定位算法。ED算法[5-6]是一種新的邊緣檢測算法,以像素鏈的形式產生每條邊緣。該算法在灰度圖像上工作,并以以下形式執行:在每個像素上計算梯度大小,這樣就可以提取梯度最大的像素,這些像素與智能路由過程相連接,形成邊緣。最小線長值取決于以像素為單位的車道邊界長度。鏈像素被添加到當前線,只要像素距離線有一定的距離(例如1像素錯誤),該算法繼續向當前線段添加像素,直到線段的方向發生變化。此時,找到一個完整的線段,然后遞歸地處理鏈的其余像素,以提取更多的線段。
在線過濾這一部分中,線段被過濾,因此只有與車道邊界相關的線段被選中并傳遞到下一階段。結果發現,將框架左側的線與右側的線分開是很有用的,這種分離是使用斜率值來完成的。將線段分開后,用斜率、起始點和長度這三個特征值進行選擇,要選擇作為車道邊界的線段特征的范圍。
同一方向的兩車道之間的車道邊界是具有一定厚度的虛線,使得線檢測器將其檢測為兩條平行線。因為有大量的數據,需要將這些數據集群到類中,大約有2到10條線,需要將其聚在一起表示為只有一條線。閉合線由它們之間的距離決定,距離由下式定義:

其中,m1、m2、c1、c2分別為兩條直線的斜率和y軸截距。在距離上設置一個閾值,使相似的線可以合并成一條線,其特征是聚集線的平均值。
使用車道顏色信息。基于視覺的方法通常將RGB轉換為HSI或自定義顏色空間,因為RGB顏色空間難以表達車道顏色信息[7]。在這些替代顏色空間中,分別對像素的亮度和色度分量進行建模,可以大大減少陰影和各種照明條件對顏色分量的影響。
車道顏色在各種照明條件下具有明顯的屬性,利用這些屬性來檢測車道區域的候選對象。通過為車道區域分配1并為其他區域分配0來定義二進制車道圖像。為了制作二進制車道圖像,將RGB顏色值轉換為YCbCr顏色值,適用于建議的車道檢測方法。
3.2.1 白色車道標記檢測
道路圖像中的白色車道RGB值(247,241,227),白色車道具有較高值的可能性較大,因為該值是通過Y=0.299R +0.587G+0.114B得到并且所有白色通道的RGB值都很高。另外,在照明變化下,保留了白色車道的等級順序。R、G和B值在一對光源下在一個像素處形成的值通過對角矩陣變換如下相關:

其中o和c代表不同的照明條件,并且α、β和γ是對角系數,表示o和c照明條件之間的關系。等級順序在光照的變化下得以保留,并且可以得出以下關系:

其中i和j是圖像的坐標。YCbCr顏色空間中白色的Y通道值也適用于以下情況:

與其他顏色通道相比,白色的Y通道值在各種照明條件下始終具有最高值。因此,可以使用YCbCr空間中的上述屬性輕松檢測到白色車道。
3.2.2 黃色車道標記檢測
道路圖像中的黃色車道其等同于RGB值(255,183,0)。黃色車道的值較小,因為該值是通過Cb=?0.169R?0.331G+ 0.5B+128得到,R和G黃色車道的值高,而B值是0。因此,黃色車道的顏色僅依賴于R和G值。與其他顏色通道相比,黃色的Cb通道值在各種照明條件下始終具有最低的值。因此,我們可以使用YCbCr空間中的上述屬性輕松檢測黃色車道。
3.2.3 車道聚類和擬合
二進制車道圖像是通過運算將白色和黃色車道圖像組合而獲得的。由于車道具有連通性,因此我們在二進制車道圖像中使用了連通分量聚類方法。每個標簽被劃分。我們在每個標簽中提取中心坐標值。我們計算標簽的角度和y軸的截距。如果標簽具有相似的角度和y軸的截距值,則將它們組合在一起以形成一個區域以形成一簇。
將圖像分為5個部分,每個部分代表與車輛的等距,如圖5所示,在每個部分中,從每個群集中提取一個中心點。通過使用最小二乘線擬合算法,每個聚類中的提取點形成一條線,如圖6所示。基于聚類模型的二進制像素數以及檢測到的行的長度來檢測一條主車道,該車道可以是一個左車道和一個右車道。

圖5 車道檢測結果:車道擬合

圖6 車道檢測結果:車道檢測
在本文中介紹了基于視覺的車道檢測方法。由于車道標記的特征被設定為邊緣的形式,所以通常應用基于特征的車道檢測,在大多數系統中,檢測車道標記時廣泛使用霍夫變換,這需要大量的計算時間,本文中利用在各種照明條件下使用線段檢測和車道顏色來檢測車道,結果表明,在各種照明條件下的平均檢測率為93%,執行時間為33 ms,對于實時應用來說足夠快。但識別條件是光照不變,難以處理幾種極端條件,例如強光反射,模糊車道標記,低太陽角度情況和車道裂縫。這些極端條件可能會使車道標記在捕獲的圖像中消失,這使得基于視覺的車道檢測非常困難。