羅健豪
(長(zhǎng)安大學(xué) 汽車(chē)學(xué)院,陜西 西安 710064)
車(chē)道線跟蹤識(shí)別或車(chē)道偏離預(yù)警的關(guān)鍵在于快速精確檢測(cè)車(chē)道線,本文描述分析了圖像處理算法和車(chē)道線識(shí)別常見(jiàn)方法,在圖像預(yù)處理部分主要是ROI(感興趣區(qū)域)提取和圖像平滑處理,在第二部分分別介紹了基于線檢測(cè),線過(guò)濾和聚類(lèi)和基于顏色的兩種主流車(chē)道檢測(cè)方法。
車(chē)道檢測(cè)系統(tǒng)由不同的模塊組成,如捕獲車(chē)道標(biāo)線的視頻或圖片、車(chē)道建模、特征提取、車(chē)道檢測(cè)、車(chē)道跟蹤和車(chē)道偏離預(yù)警系統(tǒng)等。車(chē)道建模用來(lái)獲取車(chē)道線的數(shù)學(xué)描述,在特征提取步驟中識(shí)別特定的車(chē)道特征如邊緣、紋理或者顏色等,車(chē)道檢測(cè)是通過(guò)擬合提取出的特征和車(chē)道模型來(lái)進(jìn)行的,最后使用車(chē)道跟蹤模塊跟蹤車(chē)道的變更。系統(tǒng)的總體框圖如圖 1 所示。
圖1 流程圖
預(yù)處理是車(chē)道檢測(cè)和偏離預(yù)警系統(tǒng)的重要組成部分, 有助于減少計(jì)算時(shí)間,提高算法的效果。包括ROI提取與圖像平滑兩部分。
使用消失點(diǎn)建立自適應(yīng)ROI可有效降低計(jì)算復(fù)雜度。Jongin Son、Hunjae Yoo[1]等人的消失點(diǎn)的檢測(cè)方法如下:首先,邊緣檢測(cè)[2]算法中,使用Canny邊緣檢測(cè)器[3],因?yàn)樗鼘?duì)噪聲具有魯棒性。另外,使用霍夫變換[4]提取線成分以使用車(chē)道的直線屬性。如圖3,計(jì)算檢測(cè)到線的交點(diǎn)。然后,生成一個(gè)投票圖,它是累積線成分集。如圖4所示,計(jì)算了投票圖中的相交點(diǎn)數(shù)。最后,找到投票最多的區(qū)域的中心點(diǎn),該中心點(diǎn)被定義為消失點(diǎn)。
圖2 線成分檢測(cè):原始圖像
圖3 最終提取背景圖
圖3 線成分檢測(cè):通過(guò)霍夫變換提取的圖像的線
圖4 線成分檢測(cè):投票圖
本階段采用圖像金字塔法,圖像金字塔的主要思想是在不同的比例(原始圖像的下采樣版本)為同一圖像提供多個(gè)版本。金字塔有兩種類(lèi)型:高斯金字塔和拉普拉斯金字塔。本文采用了最常用的高斯金字塔算法,與其他平滑算法相比,在最短的處理時(shí)間內(nèi)獲得了最好的結(jié)果。這個(gè)金字塔是通過(guò)對(duì)原始圖像進(jìn)行多次子采樣和平滑處理而構(gòu)建的,如果對(duì)圖像的縮放版本進(jìn)行疊加,則最終得到的是原始圖像的一個(gè)金字塔,而最低分辨率的圖像則位于金字塔的頂部。平滑圖像減少了細(xì)節(jié),縮小它能夠減少處理時(shí)間。因此,該階段用于減少線段檢測(cè)階段算法檢測(cè)到的線段數(shù),提高系統(tǒng)速度。
車(chē)道檢測(cè)是一個(gè)重要的步驟,將特征提取階段與跟蹤階段聯(lián)系在一起。在車(chē)道檢測(cè)中,根據(jù)所提取的特征對(duì)實(shí)際車(chē)道位置進(jìn)行預(yù)測(cè)。當(dāng)獲得邊緣圖像后,可以最終確定屬于車(chē)道標(biāo)記的邊界。在進(jìn)行車(chē)道檢測(cè)時(shí),會(huì)做出一些假設(shè),如繪制車(chē)道標(biāo)記時(shí)比其他部分的顏色更亮;沿著車(chē)道時(shí)標(biāo)記變化的方向小而平滑;車(chē)道標(biāo)記中心的左右兩側(cè)是平行的。
使用了線檢測(cè),線過(guò)濾和聚類(lèi)的方式檢測(cè)了車(chē)道位置,其中線檢測(cè)又分為邊緣檢測(cè)和線段檢測(cè)。
邊緣檢測(cè)是一種檢測(cè)圖像中亮度急劇變化點(diǎn)的數(shù)學(xué)方法。提出了一種基于圖像一階導(dǎo)數(shù)的點(diǎn)定位算法。ED算法[5-6]是一種新的邊緣檢測(cè)算法,以像素鏈的形式產(chǎn)生每條邊緣。該算法在灰度圖像上工作,并以以下形式執(zhí)行:在每個(gè)像素上計(jì)算梯度大小,這樣就可以提取梯度最大的像素,這些像素與智能路由過(guò)程相連接,形成邊緣。最小線長(zhǎng)值取決于以像素為單位的車(chē)道邊界長(zhǎng)度。鏈像素被添加到當(dāng)前線,只要像素距離線有一定的距離(例如1像素錯(cuò)誤),該算法繼續(xù)向當(dāng)前線段添加像素,直到線段的方向發(fā)生變化。此時(shí),找到一個(gè)完整的線段,然后遞歸地處理鏈的其余像素,以提取更多的線段。
在線過(guò)濾這一部分中,線段被過(guò)濾,因此只有與車(chē)道邊界相關(guān)的線段被選中并傳遞到下一階段。結(jié)果發(fā)現(xiàn),將框架左側(cè)的線與右側(cè)的線分開(kāi)是很有用的,這種分離是使用斜率值來(lái)完成的。將線段分開(kāi)后,用斜率、起始點(diǎn)和長(zhǎng)度這三個(gè)特征值進(jìn)行選擇,要選擇作為車(chē)道邊界的線段特征的范圍。
同一方向的兩車(chē)道之間的車(chē)道邊界是具有一定厚度的虛線,使得線檢測(cè)器將其檢測(cè)為兩條平行線。因?yàn)橛写罅康臄?shù)據(jù),需要將這些數(shù)據(jù)集群到類(lèi)中,大約有2到10條線,需要將其聚在一起表示為只有一條線。閉合線由它們之間的距離決定,距離由下式定義:
其中,m1、m2、c1、c2分別為兩條直線的斜率和y軸截距。在距離上設(shè)置一個(gè)閾值,使相似的線可以合并成一條線,其特征是聚集線的平均值。
使用車(chē)道顏色信息。基于視覺(jué)的方法通常將RGB轉(zhuǎn)換為HSI或自定義顏色空間,因?yàn)镽GB顏色空間難以表達(dá)車(chē)道顏色信息[7]。在這些替代顏色空間中,分別對(duì)像素的亮度和色度分量進(jìn)行建模,可以大大減少陰影和各種照明條件對(duì)顏色分量的影響。
車(chē)道顏色在各種照明條件下具有明顯的屬性,利用這些屬性來(lái)檢測(cè)車(chē)道區(qū)域的候選對(duì)象。通過(guò)為車(chē)道區(qū)域分配1并為其他區(qū)域分配0來(lái)定義二進(jìn)制車(chē)道圖像。為了制作二進(jìn)制車(chē)道圖像,將RGB顏色值轉(zhuǎn)換為YCbCr顏色值,適用于建議的車(chē)道檢測(cè)方法。
3.2.1 白色車(chē)道標(biāo)記檢測(cè)
道路圖像中的白色車(chē)道RGB值(247,241,227),白色車(chē)道具有較高值的可能性較大,因?yàn)樵撝凳峭ㄟ^(guò)Y=0.299R +0.587G+0.114B得到并且所有白色通道的RGB值都很高。另外,在照明變化下,保留了白色車(chē)道的等級(jí)順序。R、G和B值在一對(duì)光源下在一個(gè)像素處形成的值通過(guò)對(duì)角矩陣變換如下相關(guān):
其中o和c代表不同的照明條件,并且α、β和γ是對(duì)角系數(shù),表示o和c照明條件之間的關(guān)系。等級(jí)順序在光照的變化下得以保留,并且可以得出以下關(guān)系:
其中i和j是圖像的坐標(biāo)。YCbCr顏色空間中白色的Y通道值也適用于以下情況:
與其他顏色通道相比,白色的Y通道值在各種照明條件下始終具有最高值。因此,可以使用YCbCr空間中的上述屬性輕松檢測(cè)到白色車(chē)道。
3.2.2 黃色車(chē)道標(biāo)記檢測(cè)
道路圖像中的黃色車(chē)道其等同于RGB值(255,183,0)。黃色車(chē)道的值較小,因?yàn)樵撝凳峭ㄟ^(guò)Cb=?0.169R?0.331G+ 0.5B+128得到,R和G黃色車(chē)道的值高,而B(niǎo)值是0。因此,黃色車(chē)道的顏色僅依賴(lài)于R和G值。與其他顏色通道相比,黃色的Cb通道值在各種照明條件下始終具有最低的值。因此,我們可以使用YCbCr空間中的上述屬性輕松檢測(cè)黃色車(chē)道。
3.2.3 車(chē)道聚類(lèi)和擬合
二進(jìn)制車(chē)道圖像是通過(guò)運(yùn)算將白色和黃色車(chē)道圖像組合而獲得的。由于車(chē)道具有連通性,因此我們?cè)诙M(jìn)制車(chē)道圖像中使用了連通分量聚類(lèi)方法。每個(gè)標(biāo)簽被劃分。我們?cè)诿總€(gè)標(biāo)簽中提取中心坐標(biāo)值。我們計(jì)算標(biāo)簽的角度和y軸的截距。如果標(biāo)簽具有相似的角度和y軸的截距值,則將它們組合在一起以形成一個(gè)區(qū)域以形成一簇。
將圖像分為5個(gè)部分,每個(gè)部分代表與車(chē)輛的等距,如圖5所示,在每個(gè)部分中,從每個(gè)群集中提取一個(gè)中心點(diǎn)。通過(guò)使用最小二乘線擬合算法,每個(gè)聚類(lèi)中的提取點(diǎn)形成一條線,如圖6所示?;诰垲?lèi)模型的二進(jìn)制像素?cái)?shù)以及檢測(cè)到的行的長(zhǎng)度來(lái)檢測(cè)一條主車(chē)道,該車(chē)道可以是一個(gè)左車(chē)道和一個(gè)右車(chē)道。
圖5 車(chē)道檢測(cè)結(jié)果:車(chē)道擬合
圖6 車(chē)道檢測(cè)結(jié)果:車(chē)道檢測(cè)
在本文中介紹了基于視覺(jué)的車(chē)道檢測(cè)方法。由于車(chē)道標(biāo)記的特征被設(shè)定為邊緣的形式,所以通常應(yīng)用基于特征的車(chē)道檢測(cè),在大多數(shù)系統(tǒng)中,檢測(cè)車(chē)道標(biāo)記時(shí)廣泛使用霍夫變換,這需要大量的計(jì)算時(shí)間,本文中利用在各種照明條件下使用線段檢測(cè)和車(chē)道顏色來(lái)檢測(cè)車(chē)道,結(jié)果表明,在各種照明條件下的平均檢測(cè)率為93%,執(zhí)行時(shí)間為33 ms,對(duì)于實(shí)時(shí)應(yīng)用來(lái)說(shuō)足夠快。但識(shí)別條件是光照不變,難以處理幾種極端條件,例如強(qiáng)光反射,模糊車(chē)道標(biāo)記,低太陽(yáng)角度情況和車(chē)道裂縫。這些極端條件可能會(huì)使車(chē)道標(biāo)記在捕獲的圖像中消失,這使得基于視覺(jué)的車(chē)道檢測(cè)非常困難。