李茂月 呂虹毓 王 飛 賈冬開
哈爾濱理工大學機械動力工程學院,哈爾濱,150080
車道線檢測是利用數(shù)字圖像處理與模式識別技術(shù),在采集到的路面圖像中提取目標特征信息進行計算與分析來擬合車道線。車道線精準的檢測提取,為自動巡航駕駛、原有車道位置保持、車輛變道超車等技術(shù)提供重要的信息基礎,為車輛的可靠駕駛提供安全保證?;跈C器視覺的車道線檢測技術(shù)可以檢測出理想的道路標志線,以便使下一步智能駕駛決策環(huán)節(jié)順利進行,同時可預判汽車的可行駛區(qū)域,并為無人駕駛行駛規(guī)劃提供重要依據(jù),因此,它也是智能駕駛系統(tǒng)的重要組成部分之一[1]。
對于復雜道路環(huán)境的車道線檢測問題,王永忠等[2]針對陰影、路面破損及遮擋等因素導致車道檢測不準確的問題,提出利用結(jié)構(gòu)化道路兩側(cè)車道線上具有相反方向梯度的性質(zhì),將兩側(cè)車道線的檢測轉(zhuǎn)化為梯度點對約束下的車道中線及寬度進行檢測。趙翔等[3]提出了一種基于視覺傳感器與毫米波雷達的車道區(qū)域確定方法,通過攝像頭檢測車道線,用圓曲線模型進行擬合,并使用雷達檢測道路兩旁的護欄邊沿,獲取道路的邊界信息,然后對比車道線與道路邊沿的相對位置關(guān)系,從而進行車道定位。KAZUYUKI等[4]將模板匹配技術(shù)與Hough變換相結(jié)合,在此基礎上設計了一種帶有反射鏡面相機裝置的試驗車,通過實驗證明了該方法具有一定的消除室外光暈影響的效果。ZHOU等[5]提出了一種基于Gabor濾波器與幾何模型的車道線識別方法,在智能車前方存在車道標示線的前提下,通過局部Hough變換和感興趣區(qū)域(region of interest,ROI)定位估算所需參數(shù),確定最優(yōu)模型并完成與實際車道線的匹配。LPEZ等[6]提出除了常用的邊緣特性之外,還可利用分析道路脊線提取車道線。另外,趙逸群等[7]和CAO等[8]采用色域轉(zhuǎn)換方法,解決了受光照影響的視覺檢測問題且效果較好。
針對車道線識別算法效率問題,KIM[9]提出了一種基于隨機樣本一致性和粒子濾波的快速魯棒算法,可以迅速對樣本進行評估和分組,將基于似然的目標識別算法與馬爾可夫過程理論相結(jié)合,可應用于一般的基于車道線的目標跟蹤問題。姜朝曦等[10]提出一種全新的車道圖像識別處理方式,根據(jù)運動的動態(tài)信息縮小敏感區(qū)的范圍,既可以可靠地定位車道線,又能夠提高準確性、實時性。郭克友等[11]提出一種車道線分類檢測算法,采用LSD算法檢測灰度圖像中的直線部分并確定車道線的方向,在此基礎上,選取符合車道線灰度范圍內(nèi)的像素點,對遠距離的像素點采用拋物線擬合,近距離的像素點采用直線擬合。張偉偉等[12]設計了一種基于FPGA算法的車道線識別方法,提出關(guān)于多尺度匹配濾波方法,并根據(jù)改進的恒虛警率檢測模型來預測局部噪聲情況,從而對目標進行動態(tài)提取。
綜上所述,車道線檢測存在的主要問題如下:易受環(huán)境影響,在車道環(huán)境復雜情況(光照強度多變、陰影遮擋、道路線缺損)下難以完整識別車道線或造成誤檢測。另外,近年來深度學習的迅速發(fā)展使卷積神經(jīng)網(wǎng)絡在圖像識別領域應用廣泛,但存在需要訓練模型、算法復雜、對硬件水平要求較高等問題[13-14]。針對以上情況,本文提出一種適用于較復雜環(huán)境的魯棒車道線識別方法。
ROI作為智能視頻編碼的一種方法,其作用是在圖像質(zhì)量不受損的前提下提高處理過程的效率。在進行車道線檢測時存在無用信息,合理去除冗余信息,有助于消除噪聲干擾以及提高特征檢測效率。
確定ROI,首先要把非車道區(qū)域與路面區(qū)域分割處理。傳統(tǒng)方法大多以道路消失線為參考,同時采用基于固定坐標位置的區(qū)域分割方法。該方法對于不同環(huán)境,如車輛在上坡與下坡時,由于相機視線與地平線之間夾角發(fā)生變化,導致固定位置的ROI劃分方法對不同環(huán)境的車道敏感區(qū)域劃分不準確。然而,先進汽車輔助駕駛功能的實現(xiàn)往往需要準確的車道環(huán)境信息為依據(jù),所以合理且準確劃分車道敏感區(qū)域極其重要。不同駕駛情況下的道路消失線如圖1、圖2所示。
圖1 上坡車道消失線位置
圖2 下坡車道消失線位置
針對以上問題,本文提出一種基于像素候選統(tǒng)計的道路消失線自適應確定方法。將灰度圖分割為多個子統(tǒng)計區(qū)域,圖像分割流程如圖3所示。
圖3 消失線統(tǒng)計域分割流程
將圖像完成分割后的對應區(qū)域的像素判斷值定義為Cij,并對該部分進行候選分類,將大于閾值的記為1,否則為0,公式如下:
(1)
其中,g(xi,yj)為道路消失線所在候選點的灰度值,σ為道路邊界的閾值。對候選點完成分類后所得的有效像素點數(shù)值進行求和,并將其定義為第i個子計算像素區(qū)域中所包含的有效候選像素點個數(shù)Si:
(2)
為了使統(tǒng)計結(jié)果更直觀,將λ定義為增強系數(shù),取值大小不影響整體結(jié)果。分別計算S0,S1,…,Sn,之后統(tǒng)計每個子計算空間中的候選點數(shù),候選子區(qū)域峰值所對應橫坐標即為道路消失線所在位置。具有最多有效像素數(shù)Si的子計算區(qū)域中的統(tǒng)計像素點數(shù)V為
V=max(Si)
(3)
消失線候選位置投票統(tǒng)計結(jié)果如圖4所示,統(tǒng)計圖中峰值處對應坐標為(257.661 pixel,465.016)。由統(tǒng)計結(jié)果計算并得到車道區(qū)域的分割結(jié)果,如圖5所示。
圖4 消失線候選位置投票統(tǒng)計結(jié)果
圖5 道路消失線及感興趣區(qū)域劃分的效果
由于在傳感器采集及傳輸過程中會導致圖片質(zhì)量受損,故本研究采用雙邊濾波算法,在消除噪聲的同時有效保留邊緣,其公式如下:
(4)
其中,f(k,l)為原始圖像中點(k,l)的像素值,g(i,j)代表濾波后圖像中的點(i,j)的像素值,ω(i,j,k,l)為權(quán)重系數(shù),等于空間高斯濾波器核函數(shù)ωd(i,j,k,l)與值域濾波核函數(shù)ωr(i,j,k,l)的乘積,分別表示為
(5)
其中,σd為空域濾波半徑,σr為值域濾波半徑。各濾波算子檢測效果的對比如圖6所示。圖6顯示,雙邊濾波算子同時具有較好的去噪效果和優(yōu)秀的保邊能力。
(a) 高斯濾波效果
目前,對于目標邊緣特征的提取多基于Canny算子或Sobel算子。Canny算子可以提取精細的車道邊緣,但同時也提取出路面標志、路邊陰影、減速帶等干擾物體的邊緣信息,這些干擾信息不僅降低車道線檢測效率,而且影響車道線識別精度[15-16]。對比效果如圖7、圖8所示,通過比較可以發(fā)現(xiàn):采用Sobel算子可以避免提取干擾特征。所以對于路面場景,本文選用Sobel算子進行特征檢測,同時對Sobel算子進行合理改進以提高檢測精度。
圖7 Canny算子檢測效果
圖8 Sobel算子檢測效果
由于傳統(tǒng)的邊緣檢測算子采用水平、豎直梯度方向進行邊緣檢測,不能根據(jù)實際情況的需要進行合理匹配,且無法解決車道線檢測存在的易受噪聲干擾及需要一定的檢測精度等問題,故本研究設計了一種多尺度Sobel算子,使用Lab色域、LUV色域?qū)嚨谰€特征值進行閾值過濾,可以有效保留有用信息,針對復雜環(huán)境下的車道線識別具有較好的效果。
首先,對原始圖像濾波得到可處理的平滑圖像。其次,由于車道線邊緣梯度方向不確定,尤其是在復雜環(huán)境下的檢測效果欠佳。因此,本文對濾波平滑后的圖像,采用改進劃分角度的檢測算子進行邊緣檢測。
由于傳統(tǒng)Sobel算子存在一定局限性(僅對水平與豎直方向邊緣敏感),在道路圖像中若僅考慮兩個方向的梯度值,會在邊緣檢測的過程中造成漏檢,無法獲得較高的邊緣精度。本文對Sobel算子在檢測角度上進行優(yōu)化,對算子進行四方向梯度加權(quán),劃分檢測梯度方向分別為0°、45°、90°、135°,角度劃分如圖9所示,其3×3模板卷積核如圖10所示。
圖9 道路檢測角度劃分結(jié)果
(a) 0°卷積核
算子根據(jù)像素點上下、左右鄰點灰度加權(quán)結(jié)果,在邊緣處達到極值這一現(xiàn)象來檢測邊緣。邊緣梯度值Gi計算公式為
(6)
i=0°, 45°, 90°, 135°
其中,Ki為對應角度的卷積核矩陣,A為待計算圖像像素矩陣,m、n代表矩陣值對應的位置,x、y為矩陣中心點坐標。通過式(6)計算相應的邊緣梯度值結(jié)果,以0°方向為例,計算梯度值、最終計算結(jié)果G分別為
G0°=(f(x+1,y-1)+2f(x+1,y)+f(x+1,y+1))-
(f(x-1,y-1)+2f(x-1,y)+f(x-1,y+1))
(7)
(8)
邊緣圖像處理效果對比如圖11所示。通過比較圖11a、圖11b的效果可以看出,相較傳統(tǒng)檢測算子,多尺度Sobel算子刻畫的邊緣圖像更為準確清晰。
(a) 傳統(tǒng)3×3 Sobel算子梯度處理效果
具有復雜環(huán)境的車道如圖12所示,其中,存在陰影遮擋、光照不均勻等情況。傳統(tǒng)Sobel算子圖像檢測效果如圖13所示。
圖12 復雜環(huán)境車道圖像
圖13 傳統(tǒng)Sobel算子圖像檢測效果
圖13中,傳統(tǒng)檢測算法對于此類場景的識別效果不夠理想,其原因如下:①傳統(tǒng)方法無法解決圖像中車道線在強光照影響下使其邊緣特征鈍化的問題;②無法有效區(qū)分由于光線照射產(chǎn)生的其他物體陰影遮擋形成新的邊緣,所以對車道線識別造成一定干擾。為此,本文采用多尺度Sobel算子計算邊緣,并將原始圖像從RGB色域分別轉(zhuǎn)為Lab色域、LUV色域,對車道圖像的閾值進行過濾。
Lab顏色模型彌補了RGB和CMYK兩種色彩模式的不足。Lab顏色模型由三個要素組成,第一個要素L是亮度(light),另外兩個要素為a和b,分別代表兩個顏色通道。a包括的顏色是從深綠色到灰色再到亮紅色,b是從亮藍色到灰色再到黃色。這種顏色混合后將會產(chǎn)生亮度效果。因此,針對黃色車道線目標采用Lab色域三通道中的b通道進行閾值過濾、保留目標信息。Lab色域模型如圖14所示。
圖14 Lab顏色模型 Fig.14 Lab color model
首先,RGB色域與CIE 1931 XYZ色域(后文簡稱XYZ)轉(zhuǎn)換關(guān)系為
(9)
其中,T為色域轉(zhuǎn)換矩陣,公式內(nèi)系數(shù)的確定可參考文獻[17],將系數(shù)代入整理得
(10)
然后,將XYZ轉(zhuǎn)為Lab,即可完成轉(zhuǎn)換,關(guān)系式如下:
(11)
其中,Xn、Yn、Zn為固定值,分別取95.047,100.0,108.883。f(t)的表達式為
(12)
對圖像中強光下的白色虛線部分采用LUV色域的L通道進行過濾及效果增強。其中,L為亮度,U、V表示色差,LUV模型如圖15所示。
圖15 LUV色域模型
在RGB-LUV轉(zhuǎn)換過程中,通過式(9)、式(10)確定RGB色域與XYZ色域轉(zhuǎn)換關(guān)系后,將XYZ色域轉(zhuǎn)換為LUV色域關(guān)系:
(13)
其中,u′、v′、u′n、v′n的表達式分別為
(14)
完成色域轉(zhuǎn)換后,為得到二值化邊緣的最終結(jié)果,將多尺度Sobel算子與Lab、LUV色域過濾后的二值邊緣結(jié)果進行或運算:
Ebin=ESob|ELab|ELUV
(15)
采用以上方法可以有效提取復雜光照環(huán)境下的黃色、白色車道線,最終效果如圖16所示。與圖13相比,本文提出的多尺度Sobel算子可較完整地檢測出圖16中的車道線。
圖16 優(yōu)化二值圖像處理效果
由于車載傳感器安裝時與地面有一定角度,導致車道圖像呈現(xiàn)近大遠小的情況,使原本平行的左右車道線產(chǎn)生傾斜角度,對車道線產(chǎn)生影響,不利于車道線檢測,因此,對車道圖像采用透視變換,將實際車道圖像轉(zhuǎn)換為車道俯視圖,恢復車道線平行關(guān)系。
圖像透視變換坐標轉(zhuǎn)換原理如圖17所示。即把平面Ⅰ中的A1、B1、C1、D1點的包圍區(qū)域,將O點為基準向平面Ⅱ投影,對應的投影點分別為A2、B2、C2、D2。兩平面中對應點的關(guān)系如下:
(16)
圖17 透視變換坐標轉(zhuǎn)換原理
整理式(16)可得
(17)
(18)
u、v為投影前UV坐標系下的點坐標,x、y為前者在投影后在XY坐標系中對應點的坐標,將式(16)中3×3矩陣記為a,它代表坐標轉(zhuǎn)換矩陣。其中,當透視變換為二維坐標系轉(zhuǎn)換關(guān)系時,w'=w=1。相機俯視視角車道模型與轉(zhuǎn)換后視角車道模型如圖18所示。
圖18a所示為實際檢測區(qū)域,圖18b所示為理論檢測區(qū)域。以圖像中的對應點A1(u,v)、B1(u,v)、C1(u,v)、D1(u,v)與A2(x,y)、B2(x,y)、C2(x,y)、D2(x,y)的點坐標為依據(jù),即可確定原視角與理論視角圖透視變換的轉(zhuǎn)換矩陣a。轉(zhuǎn)換效果如圖19所示。
圖19a、圖19c、圖19e為相機拍攝的原始圖像,圖19b、圖19d、圖19f為車道透視變換后的理論俯視圖。通過對車道圖像采取透視變換,可使相機的檢測視角轉(zhuǎn)換為理論視角,從而更有利于車道線檢測。
(a) 轉(zhuǎn)換前車道視角
(a) 原始圖像1
為了獲取更細致的道路信息,采用DBSCAN(density-based spatial clustering of applications with noise)聚類方法結(jié)合Hough變換,設計了一種車道線預篩選方法。首先,參考Hough變換原理,將圖像坐標系轉(zhuǎn)化為極坐標系,利用極坐標系下的每個對應點(ρ,θ)映射原始圖像中的特定線段,即
ρ=xsinθ+ycosθ0°<θ<180°
(19)
根據(jù)直角坐標系中線段與x軸夾角進行直方圖投影。由于車道與路面邊緣平行,所以直方圖中θ值為90°處即為視場內(nèi)的車道線方向??紤]到由于車輛行駛過程中俯仰角變化,影響圖像透視變換結(jié)果,所以根據(jù)直方圖投影結(jié)果,將峰值左右5°內(nèi)的線段進行篩選并做聚類處理。投影統(tǒng)計結(jié)果如圖20所示,聚類結(jié)果如圖21所示。
圖20 極坐標下車道線θ值投影統(tǒng)計
圖21 車道線聚類統(tǒng)計
NURBS(non-uniform rational B-splines)曲線具有控制靈活、適于計算機編程、自由度高、適于擬合直線及曲線等特點[18],可以更好、更平滑地擬合車道線。
對擬合的目標采用三次NURBS形式,表示第i段曲線:
(20)
采用NURBS曲線擬合道路線,并利用隨機抽樣一致法對擬合結(jié)果進行連續(xù)迭代,對車道線模型進行優(yōu)化以濾除誤匹配。具體步驟如下:
(1)檢索圖像中目標特征的有效像素點,生成實驗所需的原始數(shù)據(jù)點集。
(2)根據(jù)NURBS曲線模型,在原始數(shù)據(jù)點集中隨機選取若干樣本點作為曲線擬合的初始點,生成初始曲線。
(3)計算剩余數(shù)據(jù)點與初始曲線的相對距離,將不超過距離閾值的數(shù)據(jù)點靠近初始曲線,然后將這些點生成有效點集。
(4)當有效點集中的數(shù)據(jù)點達到預設曲線模型的有效點個數(shù)的閾值時,執(zhí)行步驟(5),否則重復步驟(2)、(3),直至迭代數(shù)達到迭代次數(shù)上限。
(5)利用當前有效點集中的數(shù)據(jù)對曲線進行修正,保留最佳的曲線擬合結(jié)果。當?shù)螖?shù)達到上限值時,算法停止。
匹配結(jié)果分別如圖22~圖24所示。
(a) 二值化車道理論視角
(a) 二值化車道理論視角
(a) 二值化車道理論視角
通過計算擬合相對誤差,判斷圖22~圖24車道線的擬合效果,由軟件測試得到的車道線擬合相對誤差的數(shù)據(jù)見表1。由表1數(shù)據(jù)可知,在車輛左轉(zhuǎn)、右轉(zhuǎn)及直行時,擬合的最大相對誤差小于10%、平均相對誤差小于5%,且數(shù)據(jù)方差較小。
表1 各行駛情況車道線擬合相對誤差
使用車載相機采集各類環(huán)境的車輛行駛視頻,并將檢測算法在計算機中進行測試,在車輛行駛過程中,觀察車道線的動態(tài)檢測效果及檢測的正確率。
硬件配置如下:Inter(R) Core(TM) i5-8300 CPU @2.30 GHz, NVIDIA GeForce GTX1050 Ti。軟件測試環(huán)境如下:Windows10 64 bit, Python3.7.4 64 bit, OpenCV3.4.7.28。
在OpenCV中利用滑動窗口,對經(jīng)過透視變換的車道線進行跟蹤識別,測試效果如圖25~圖27所示。各行駛工況車道線識別準確率見表2。
圖25 樹蔭遮擋道路識別效果
圖26 強光照及缺損道路識別效果
圖27 雨天及車輛干擾道路識別效果
表2 各車輛行駛工況車道線識別準確率
(1)提出了一種基于像素候選統(tǒng)計的道路消失線自適應確定方法,可以針對不同情況的車道自適應地將車道區(qū)域與非車道區(qū)域分離,可有效消除干擾信息,并提高特征檢測效率。
(2)針對傳統(tǒng)特征檢測算子存在的缺陷,采用改進劃分角度的檢測算子進行車道線特征檢測,同時對車道圖像有針對性地采用多色域模型處理,使算法具有較好的環(huán)境適應性。
(3)采用DBSCAN聚類算法及NURBS曲線擬合道路線,并利用隨機抽樣一致法對車道線模型進行優(yōu)化以濾除誤匹配。實驗結(jié)果表明,當車輛左轉(zhuǎn)、右轉(zhuǎn)及直行時,擬合的最大相對誤差小于10%,平均相對誤差小于5%,且方差較小。
(4)在17 447幀的車道線動態(tài)測試中的檢測數(shù)據(jù)表明,本文方法在各工況下的平均識別準確率為97.39%。