儲開斌, 郭俊俊, 朱 棟
(常州大學(xué)信息科學(xué)與工程學(xué)院,江蘇常州213164)
基于機(jī)器視覺的車道識別是無人駕駛的重要組成部分,在車輛的自主導(dǎo)航系統(tǒng)中發(fā)揮著重要的作用[1]。車輛在行駛過程中受到各種環(huán)境因素的影響,如何提高車道線檢測的效率及準(zhǔn)確性,對無人駕駛汽車的安全及可靠行駛至關(guān)重要。目前,常見的車道識別方法有兩類:①基于特征的車道線識別方法,該方法采用邊緣[2]、顏色[3]、紋理[4-6]等特征,將圖像分割成幾個部分,再利用相應(yīng)算法得到車道線。②基于模型的車道線識別方法,該方法采用直線模型[5]或者二次曲線模型[6]表示車道線,可有效去除車道線中產(chǎn)生的噪聲,同時對缺損的車道線有較好的補(bǔ)償。
Cheng等[7]對公路以及車道線的RGB通道進(jìn)行線性的分析,從而提取出車道線。該方法在沒有外界因素的影響下對各種道路形狀下都有較好的適應(yīng)性。Aly等[8]利用霍夫變換來統(tǒng)計特征點(diǎn)的灰度直方圖,再進(jìn)行RANSAC驗(yàn)證以提取車道線,該方法在直線車道時具有很好的魯棒性,但是在彎車道和車道污損等條件下魯棒性降低。畢雁冰等[9]利用LMedSquare曲線擬合技術(shù)進(jìn)行彎曲車道線檢測,該方法有較好的魯棒性,但在擬合時計算量較大,實(shí)時性低。Meng等[10]采用基于粒子群算法的導(dǎo)航線檢測可快速準(zhǔn)確地提取出導(dǎo)航路徑,但未對彎曲道路的情況進(jìn)行分析。
車輛在行駛過程中受到車道線、障礙物、光照等環(huán)境信息的影響,路徑情況復(fù)雜?;谔卣鞯淖R別方法受外界因素影響較大,對復(fù)雜路況魯棒性低。基于模型的方法能很好地識別出車道線但實(shí)時性較低。為了解決復(fù)雜情況下道路信息復(fù)雜,車道不易提取的問題,同時減少計算的復(fù)雜性,提高車道識別速度,本文提出了一種結(jié)合自適應(yīng)感興趣區(qū)域的新邊緣噪聲消除方法,可以更有效地消除圖像中類車道噪聲,提高車道識別精度及速度。
本文提出的車道線檢測方法包括圖像預(yù)處理、邊緣噪聲消除及車道識別等,檢測流程如圖1所示。圖像預(yù)處理首先從獲取的車輛圖像信息中找到最有效的感興趣區(qū)域,縮小圖像處理尺寸,從而減小圖像處理時間。再將感興趣區(qū)域圖像灰度化,得到圖像的灰度信息。在此基礎(chǔ)上對圖像進(jìn)行適當(dāng)?shù)臑V波,濾除灰度化后明顯的噪聲。經(jīng)過濾波后的灰度圖像利用Canny的邊緣檢測方法提取圖像的邊緣信息。提取出的邊緣信息中還包含部分邊緣噪聲,再將圖片分割成若干個子圖像,通過計算子圖像的邊緣方向來消除噪聲邊緣。最后掃描可能的邊緣鏈接對,找到滿足車道標(biāo)記的邊緣信息,通過直線擬合出車道線,從而實(shí)現(xiàn)車道信息的提取。
圖1 車道線檢測流程
為了提高圖像處理的實(shí)時性,同時減少非車道區(qū)域噪聲對結(jié)果的影響。本文對采集的圖像進(jìn)行了感興趣區(qū)域(Region of Interest,ROI)劃分,將ROI分為初幀ROI和車道線ROI兩類[11-12]。在采集到的圖像中,道路有用信息一般位于圖像的底部,因此當(dāng)上一幀圖像未檢測出車道線時,選取圖像底部1/3區(qū)域作為初幀ROI,如圖2所示。圖中紅色方框表示初幀ROI劃分區(qū)域。
圖2 感興趣區(qū)域劃分
當(dāng)車道線檢測成功后,根據(jù)車道線位置來劃分車道線ROI。因?yàn)橄噜弮蓭瑘D像之間的車道線相近,所以根據(jù)前1幀檢測到的車道線位置可以自適應(yīng)構(gòu)造出一個多邊形區(qū)域。將該區(qū)域作為下1幀圖像處理時的ROI,本文稱該ROI為車道線ROI,圖中黃色虛線包圍的區(qū)域是上1幀車道線檢測成功后,下1幀圖像對應(yīng)的車道線ROI,這樣大大減少了圖像處理的復(fù)雜度,提高了圖像處理的速度。
為了減小圖像原始數(shù)據(jù)量,便于后續(xù)處理時的快速性,將劃分好ROI后的圖像灰度化?;叶然捎肦GB顏色空間模型[13],轉(zhuǎn)換公式為
式中:R代表紅色分量;G代表綠色分量;B代表藍(lán)色分量。由于車道線的顏色一般是黃色和白色,為了增強(qiáng)車道線的特征信息,采用
提高車道標(biāo)記強(qiáng)度,從而提高圖像處理的準(zhǔn)確性,灰度化結(jié)果如圖3所示。
圖3 圖像灰度化
雙邊濾波是一種可以保持邊緣同時去噪的濾波器,雙邊濾波器的系數(shù)是由幾何空間距離和像素差值決定的。相比于高斯低通濾波器只考慮了空間域和α-截尾均值濾波器(去掉百分率為α的最小值和最大之后剩下像素的均值作為濾波器)只考慮了值域,雙邊濾波器同時考慮了空間域與值域的差別,因此具有更好的邊緣保存效果[14]。
本文對灰度化后的圖像采用雙邊濾波來減少噪聲點(diǎn)的干擾。在雙邊濾波器中,輸出像素值依賴于鄰域像素值的加權(quán)組合,
式中:k、l為像素所在位置;f(k,l)為對應(yīng)像素點(diǎn)的強(qiáng)度;ω(i,j,k,l)為權(quán)重系數(shù),
d(i,j,k,l)為定義域核,r(i,j,k,l)為值域核,
式中,σd、σr分別為定義域和值域的方差。結(jié)果如圖4所示。
圖4 雙邊濾波
邊緣檢測的性能對圖像的后續(xù)處理非常重要。即使在惡劣環(huán)境條件下,或者對于可能出現(xiàn)的潛在道路線復(fù)雜場景,邊緣檢測算法也必須是穩(wěn)健的。在眾多流行的邊緣檢測方法中,Canny的邊緣檢測方法[15]對于低對比度圖像也能很好地工作。經(jīng)Canny邊緣檢測結(jié)果如圖5所示。
圖5 Canny邊緣檢測的結(jié)果
在獲得圖像邊緣信息之后,由于復(fù)雜路況會引起較多的噪聲邊緣,為此通過以下3個步驟得到有效的邊緣信息:噪聲邊緣消除,假邊消除和邊緣補(bǔ)償。
本文提出了一種噪聲邊緣消除方法以消除具有異常方向的邊緣鏈路。在文獻(xiàn)[16-17]中提出的傳統(tǒng)方法僅在車道標(biāo)記邊緣純凈時才有效。然而,在復(fù)雜路況下,車道標(biāo)記邊緣噪聲將在各種條件下出現(xiàn),例如鏡頭上的陰影、污垢或雨滴。本文中,將獲得的邊緣圖像劃分為若干個子圖像,并使用霍夫變換計算每個子圖像的邊緣方向。
霍夫變換是將圖像從圖像空間變換至參數(shù)空間,其變換
在平面直角坐標(biāo)系中,直線可以用函數(shù)y=kx+b表示,其轉(zhuǎn)換思想是將x、y作為坐標(biāo)系已知量,k、b作為變量,將平面問題轉(zhuǎn)化為參數(shù)空間坐標(biāo)系下的極坐標(biāo)ρ、θ[5]。則直線方程表示為變換以后圖像空間中的一點(diǎn)在參數(shù)空間是一條曲線,而圖像空間共線的各點(diǎn)對應(yīng)于參數(shù)空間交于一點(diǎn)的各條曲線。基于霍夫變換的邊緣噪聲消除流程為:
(1)將獲得的邊緣圖像劃分為若干個子圖像。
(2)對每個子圖像進(jìn)行Hough變換,建立參數(shù)極坐標(biāo)ρ—θ;搜索子圖像上需要變換的目標(biāo)點(diǎn)(x,y),利用ρ=xcos θ+ysin θ計算參數(shù)遍歷θ,對目標(biāo)進(jìn)行累加,直到全部轉(zhuǎn)換完成,得到Hough變換矩陣;統(tǒng)計累計數(shù)組θ的峰值。
(3)根據(jù)交通法規(guī)規(guī)定,車輛不得在車道線橫向行駛,因此車道標(biāo)記邊緣鏈路方向?qū)⒃谝欢ǖ姆秶鷥?nèi)。本文設(shè)置子圖像的主要方向不在[40°,165°]時,那么它將作為噪聲邊緣鏈接被丟棄。
為了減少處理時間,對于當(dāng)前圖像僅計算從前1幀作為候選邊緣鏈接的子圖像。同時還制作了一個方向表來存儲每個子圖像的角度,如果它被作為噪聲邊緣丟棄,那么它在表格的相應(yīng)塊中被設(shè)置為零。結(jié)果如圖6所示。
圖6 消除噪聲邊緣
在初始消除噪聲邊緣過程中,可能存在一些和車道標(biāo)記邊緣鏈路的方向相同的噪聲,如圖6所示。針對上述問題提出了一種假邊消除的方法。假邊消除步驟:
(1)在正常行駛過程中,左右車道分別位于圖像中心的左右兩邊,因此掃描從圖方向表的底部中間開始,并從中間到兩邊和從下到上掃描。
(2)對于存在邊緣方向的點(diǎn),以它為核心建立如圖7所示的九宮格。因?yàn)樵肼朁c(diǎn)和邊緣點(diǎn)的區(qū)別在于噪聲點(diǎn)不具有連續(xù)性,為此本文以存在邊緣方向的點(diǎn)為核心,在其上下左右進(jìn)行搜索查找,左側(cè)車道邊緣點(diǎn)的判斷標(biāo)準(zhǔn)為:右上角(TR),頂部(T),右側(cè)(R)或者左下角(BL),下部(B),左側(cè)(L)有兩個存在方向點(diǎn),其余則為噪聲點(diǎn)。右側(cè)車道邊緣點(diǎn)的判斷標(biāo)準(zhǔn)為:左上角(TL),頂部(T),左側(cè)(L)或者右下角(BR),下部(B),右側(cè)(R)有兩個存在方向點(diǎn),其余則為噪聲點(diǎn)。
圖7 假邊消除九宮格
(3)將存在噪聲的子圖像清除,生成新的邊緣圖像,如圖8所示。
圖8 假邊消除
在噪聲邊緣消除的過程中由于陰影或污垢的影響,在某些子圖像中,車道標(biāo)記可能被視為噪聲,從而切斷車道邊緣。為了恢復(fù)被切斷的車道邊緣,本文設(shè)計了一個掩模,用于與假邊消除后的方向表進(jìn)行卷積,來實(shí)現(xiàn)缺損邊緣的補(bǔ)償。卷積的掩模如圖9所示。
圖9 邊緣補(bǔ)償掩模
圖9 中,左上角(TL),頂部(T),右上角(TR)和中心(C)表示掩模中點(diǎn)的位置。卷積從方向表的左下角開始,并從左到右,從下到上進(jìn)行卷積,如果方向表中的中心沒有方向點(diǎn),并且“TL”“T”或“TR”存在方向點(diǎn),則將方向表的中心塊設(shè)置為“True”并恢復(fù)邊緣點(diǎn),補(bǔ)償結(jié)果如圖10所示。通過消除邊緣噪聲,大部分噪聲邊緣已被消除,同時保留了潛在的車道標(biāo)記邊緣。
圖10 邊緣補(bǔ)償
經(jīng)過圖像預(yù)處理和邊緣噪聲消除后,得到所有車道線的邊緣坐標(biāo),并將其設(shè)置為連續(xù)集合SP。為了減少直線擬合的時間,假設(shè)車道模型由每個左右車道標(biāo)記邊緣的頂點(diǎn)和底點(diǎn)建立。本文使用此候選車道模型通過
與其他邊緣點(diǎn)進(jìn)行匹配。其中dp-ij表示為點(diǎn)p與線段之間的距,并將dp-ij的值存放到累加器中。
對于連續(xù)集合SP,如果超過80%的車道標(biāo)記邊緣點(diǎn)的dp-ij<3個像素,那么將使用該候選模型作為車道模型。直線擬合實(shí)驗(yàn)結(jié)果如圖11所示。
圖11 直線識別
為驗(yàn)證本文提出的車道檢測系統(tǒng)的可靠性和實(shí)時性,本文在Windows 7和Matlab環(huán)境下進(jìn)行實(shí)驗(yàn)仿真,該計算機(jī)平臺具有Intel i5 2.3 GHz核心和8 GB內(nèi)存。為了評估所提算法的性能,本文利用所提出的算法來測試包含各種道路環(huán)境的若干圖像序列。
圖12(a)中,原始圖像在受到路肩陰影的影響和擋風(fēng)玻璃反光的影響下,本文方法仍然能夠清楚地標(biāo)記出車道線的位置。圖12(b)顯示了在夜間低光條件下的車道場景,結(jié)果表明,即使在這些情況下本文的方法也能正常工作。圖12(c)顯示了中午光照強(qiáng),路面受樹木陰影的影響明暗不一,且存在車道標(biāo)志線的車道場景,結(jié)果顯示本文所提出的方法也可以準(zhǔn)確地工作。圖12(d)顯示了雨天路面濕滑反光情況下的車道場景,結(jié)果表明本文方法仍然可靠。圖12(e)顯示了汽車前方有車輛將車道標(biāo)記覆蓋,雖然圖像中只留有一小部分車道痕跡,本系統(tǒng)仍然可以精確地檢測車道。
圖12 不同天氣路況下的實(shí)驗(yàn)結(jié)果
本文所提方法的耗時如表1所示,與其他方法相比,可以看出在更低處理速度的情況下達(dá)到其他方法的處理時間。結(jié)果表明,本文提出的該方法魯棒性高、實(shí)時性好。
表1 不同方法的時間對比
由于受到光照、天氣、障礙物等影響,道路情況復(fù)雜,為準(zhǔn)確快速地檢測出車道線,本文提出了一種車道線檢測方法。首先,對采集到的圖像進(jìn)行預(yù)處理,設(shè)置自適應(yīng)ROI,并進(jìn)行灰度化、雙邊濾波和邊緣提取;對于邊緣噪聲復(fù)雜的情況,本文將邊界圖像劃分為子圖像并計算每個塊的局部邊緣方向并刪除邊緣方向異常的邊緣。然后,對缺失的邊緣塊進(jìn)行補(bǔ)償。最后,設(shè)計出簡單的直線擬合算法擬合出車道線。實(shí)驗(yàn)結(jié)果表明,本文所設(shè)計的檢測方法在各種路況下具有較高的性能和精度。