石金虎,金輝,王迪
(遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院,遼寧 錦州 121001)
自動(dòng)駕駛汽車是目前以及將來要面對(duì)的一個(gè)熱點(diǎn)和難點(diǎn),其中車道線檢測(cè)在其中發(fā)揮著至關(guān)重要的作用。它不僅為車輛導(dǎo)航提供了參考,而且目前已經(jīng)應(yīng)用在運(yùn)動(dòng)目標(biāo)檢測(cè)和汽車預(yù)警等方面。從開始研究智能車輛時(shí)就對(duì)車道線檢測(cè)給予了很大的重視,首先要實(shí)現(xiàn)車輛的自主導(dǎo)航,最基本的技術(shù)就是要把車控制在當(dāng)前道路上,不能發(fā)生跑偏。即實(shí)時(shí)的獲取車道線的變化,準(zhǔn)確的了解車道線的信息,才能在獲取車輛在當(dāng)前道路的相對(duì)位置和方向,從而達(dá)到預(yù)期的效果。本文采用的是結(jié)構(gòu)化道路為輸入信息,對(duì)采集到的道路圖像進(jìn)行分割,選用實(shí)驗(yàn)效果較好的最大類間方差法;在圖像邊緣檢測(cè)中分析了Canny 算法并進(jìn)行一些改進(jìn);最后為了更好的識(shí)別車道線效果采用了霍夫變換。
一般視覺系統(tǒng)采集圖像可以依據(jù)攝像機(jī)的個(gè)數(shù)來區(qū)別:第一個(gè)是帶有多個(gè)攝像頭的立體視覺系統(tǒng),第二個(gè)是帶有單個(gè)攝像頭的單目視覺系統(tǒng)。 總體來說他們都是對(duì)汽車行駛環(huán)境的實(shí)時(shí)監(jiān)測(cè),主要包括車道線的識(shí)別、車輛行駛時(shí)其周圍的環(huán)境等信息為切入點(diǎn)進(jìn)行采集。然后處理所收集的圖像信息,并將處理后的信息發(fā)送到控制器,由控制器做出決定以實(shí)現(xiàn)車輛的自主導(dǎo)航。 與多目視覺相比,本文使用的單目視覺具有更快的圖像處理速度和實(shí)時(shí)控制要求。 它在未來一段時(shí)間內(nèi)具有研究?jī)r(jià)值。
道路圖像預(yù)處理過程如圖1 所示。

圖1 圖像處理流程圖
在收集道路圖像時(shí),由于外部因素和其他因素的干擾,所獲取的圖像信息不完整。 需要對(duì)采集的圖像進(jìn)行預(yù)處理,以達(dá)到預(yù)期的效果,預(yù)處理過程在改善圖像質(zhì)量、提高行車時(shí)的實(shí)時(shí)性等方面具有重要的作用。
對(duì)于單目視覺獲取的圖像,預(yù)處理過程包括:灰度、圖像過濾、邊緣增強(qiáng)和圖像二值化。如圖2 所示為圖像預(yù)處理后的實(shí)驗(yàn)效果圖。

圖2 道路圖像預(yù)處理
最大的類間方差方法,也稱為Otsu 方法,具有簡(jiǎn)單和快速的優(yōu)點(diǎn),并且是常用的閾值方法。主要思想可以設(shè)置為圖像的灰度級(jí)間隔為0~L(L≤255),定義灰度值i 的像素?cái)?shù)為ni,像素總數(shù)為N,則:


公式中fmin和 fmax代表的是圖像中灰度的最小值和最大值。那么C0區(qū)域的分布概率為p0,灰度均值為μ0。

同樣的方法,可以求出C1區(qū)域的分布概率為p1,灰度均值為μ1,定義類間方差為,有:

迭代閾值法是一種閾值效果較好的分割方法,迭代的具體步驟如下:
①首先選擇一個(gè)近似閾值T;
②將圖像分割成兩個(gè)部分R1和R2;
③分別計(jì)算R1和R2的平均值μ1和μ2,并選擇新的分割閾值;
④重復(fù)上述步驟直到μ1和μ2不再變化。
全局閾值方法通常基于圖像灰度直方圖選擇閾值。在整個(gè)灰度圖像中僅選擇一個(gè)閾值用于分割,并且閾值通常是常數(shù)。整個(gè)灰度圖像被分成目標(biāo)區(qū)域和背景區(qū)域,黑色代表目標(biāo)區(qū)域,白色代表背景區(qū)域。灰度圖像在直方圖表現(xiàn)為一個(gè)雙峰形狀,選取會(huì)對(duì)直方圖中的峰值之間的低谷處的像素值作為閾值進(jìn)行分割。
如圖3 所示為實(shí)驗(yàn)的效果圖:

圖3 三種閾值分割算法的比較
從圖3 的閾值分割效果圖中可以看出最大類間方差方法更好,并且可以清楚地識(shí)別出車道線并將其與背景差異分開。因此,本文對(duì)圖像進(jìn)行二值化采用最大類間方差法,以達(dá)到目標(biāo)的理想效果圖。
圖像邊緣檢測(cè)算法包括Roberts 算子,Prewitt 算子,Sobel算子,Log 算子和Canny 算子。其中 Canny 邊緣提取算法在圖像上更易實(shí)現(xiàn),Canny 算子相對(duì)與其他算子,提取道路邊界線連接完整、劃分較為細(xì)致,并且它擁有高的準(zhǔn)確度,同時(shí)也能像 Sobel 算子一樣去抑制平滑效果,具有非常好的邊緣檢測(cè)效果。
(1)消除噪聲,傳統(tǒng)的Canny 算法使用二維高斯函數(shù)的任何方向的一階方向?qū)?shù)作為噪聲濾波器。使用其一階導(dǎo)數(shù)對(duì)原始圖像進(jìn)行卷積和去噪,以獲得平滑的圖像。
(2)計(jì)算梯度的大小和方向,并使用鄰域的一階偏導(dǎo)數(shù)的有限差分計(jì)算平滑圖像的梯度幅值G(x,y)和梯度方向θ(x,y):

為了找到邊緣的方向,梯度方向通常可以分成幾個(gè)角度(0°、45°、90°、135°)。這樣也可以找到這個(gè)像素梯度方向的鄰接像素。
(3)對(duì)梯度幅度應(yīng)用非最大抑制,目的是在圖像梯度中能夠找到局部最大值,并將其他非局部最大值歸零,以獲得精細(xì)邊緣。
(4)滯后閾值分為高閾值和低閾值。可以使用累計(jì)直方圖來計(jì)算這兩個(gè)閾值,并且如果其中的一個(gè)像素大于高閾值,那么它一定是邊緣像素。如果其中的一個(gè)像素小于低閾值,則它不能是邊緣像素。如果檢測(cè)的結(jié)果是在兩個(gè)閾值中間,那么就可以根據(jù)像素的鄰接像素確定它是否高于高閾值,若高于則是邊緣,否則就不是邊緣。
傳統(tǒng)的Canny 算法使用兩個(gè)不同的閾值來處理圖像的強(qiáng)邊和弱邊,只有強(qiáng)邊緣和弱邊緣連接在一起時(shí),弱邊緣才能包含在輸出圖像中。 否則會(huì)導(dǎo)致一些邊緣信息的丟失。因此,在實(shí)際應(yīng)用中,一定會(huì)存在噪聲和環(huán)境因素的影響,所以選擇合適的閾值非常重要。基于傳統(tǒng)的Canny 邊緣提取算法,提出了一種迭代算法來計(jì)算最優(yōu)閾值。計(jì)算和分析灰度值是否為邊緣點(diǎn),可有效降低噪聲干擾。
改進(jìn)后Canny 算法的具體實(shí)現(xiàn)步驟為:
(1)對(duì)車道圖像進(jìn)行平滑濾波處理,抑制噪聲干擾;
(2)分析和計(jì)算由平滑濾波處理后道路圖像的梯度幅值和方向;
(3)對(duì)梯度幅值進(jìn)行非極大值抑制;
(4)道路圖像使用迭代算法確定最佳效果的高低閾值;
(5)道路圖像進(jìn)行閾值分割時(shí)使用雙閾值算法;
(6)對(duì)分割完成的道路圖像進(jìn)行邊緣檢測(cè)。
如圖4 所示為Canny 算子和改進(jìn)Canny 算法效果圖:
比較圖4(c)、(d)效果圖可以看到采用Canny 算子可以增強(qiáng)車道線的邊緣,減少路面等環(huán)境因素的干擾,但是車道線兩邊的背景區(qū)域區(qū)分布明顯;改進(jìn)后的算法對(duì)邊緣檢測(cè)效果更加明顯。

圖4 Canny 算子和改進(jìn)Canny 算法效果圖
霍夫變換是提取車道線的最常用方法,將線上的每個(gè)數(shù)據(jù)點(diǎn)轉(zhuǎn)換為參數(shù)平面中的直線或曲線。霍夫變換是共線數(shù)據(jù)與其對(duì)應(yīng)的參數(shù)曲線和參數(shù)空間之間的關(guān)系,因此直線提取問題被轉(zhuǎn)換為計(jì)數(shù)問題。 簡(jiǎn)單實(shí)現(xiàn)車道線的擬合。Hough變換提取車道線的最大特點(diǎn)是它不受直線間隙和噪聲等其他因素的影響。
由Hough 的原理可知其計(jì)算量較大,精度高等要求,為了減少計(jì)算量將設(shè)直線方程轉(zhuǎn)換為極坐標(biāo)中用參數(shù)方程表示一條直線:

式中ρ 為直線到坐標(biāo)點(diǎn)原點(diǎn)的距離;θ 是直線法線與x軸所構(gòu)成的夾角。如圖5 所示為坐標(biāo)示意圖。

圖5 線性極坐標(biāo)轉(zhuǎn)換示意圖

圖6 極坐標(biāo)參數(shù)空間示意圖
與笛卡爾坐標(biāo)類似,極坐標(biāo)空間中的霍夫變換將線性極坐標(biāo)系中的點(diǎn)變換為極坐標(biāo)參數(shù)空間。當(dāng)以極坐標(biāo)表示時(shí),線性坐標(biāo)系中的共線點(diǎn)被映射到相交于一點(diǎn)的參數(shù)空間。 與線性坐標(biāo)不同,極坐標(biāo)表示線性極坐標(biāo)共線的點(diǎn)被映射到正弦的參數(shù)空間,在點(diǎn)(ρ0,θ0)處交叉,并且極坐標(biāo)參數(shù)空間如圖6 所示。
如圖7 所示通過圖像我們可以得知Hough 變換的擬合效果更好。車道標(biāo)線邊緣更為連續(xù),并且能夠把一些邊緣信息進(jìn)行濾除,車道線的目標(biāo)信息得以增強(qiáng),無關(guān)信息可以得到抑制。所以本文選用Hough 變換來進(jìn)行車道線的識(shí)別。

圖7 Hough 變換檢測(cè)識(shí)別車道線
本文使三種方法用于比較結(jié)構(gòu)化道路的二值化。在傳統(tǒng)的Canny 算法基礎(chǔ)上在細(xì)節(jié)等方面做了一些改進(jìn),得到了改 進(jìn)后的Canny 算法。并且在圖像邊緣檢測(cè)中進(jìn)行比較,反映了兩種算法的優(yōu)缺點(diǎn)。為了達(dá)到本實(shí)驗(yàn)的目的本文使用霍夫變換檢測(cè)方法識(shí)別車道線,。 但是對(duì)于非結(jié)構(gòu)道路和有其他干擾的不平整路面等情況,本文選用的方法還有待提高和改進(jìn)。