胡勝 黃妙華 陳毅
(武漢理工大學(xué),現(xiàn)代汽車零部件技術(shù)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430070)
主題詞:車道線檢測(cè) 圖像分割 二值圖像 最小二乘法 曲線擬合 檢測(cè)算法
環(huán)境感知技術(shù)是智能駕駛的基礎(chǔ),在復(fù)雜的道路環(huán)境下,通過(guò)車載傳感器采集道路信息,特別是對(duì)車道線進(jìn)行檢測(cè)有不少難點(diǎn)。車道線檢測(cè)可以分成圖像預(yù)處理、特征點(diǎn)提取、車道線參數(shù)估計(jì)和車道線跟蹤4個(gè)部分[1],在較為復(fù)雜的環(huán)境下,道路圖像的分割和車道線擬合是其中的難點(diǎn)。Cáceres等[2]選擇R通道作為圖像的灰度圖像,再采用大津法(即最大類間差分法或OTSU算法)對(duì)圖像進(jìn)行閾值分割,該方法在顏色空間轉(zhuǎn)換時(shí)利用了車道線的顏色特征,但是在環(huán)境較復(fù)雜時(shí)采用大津法進(jìn)行閾值分割誤差較大。Xu H等[3]提出基于大津法的二次閾值分割算法,該改進(jìn)算法通過(guò)計(jì)算2個(gè)灰度閾值T1和T2將圖像分為3個(gè)部分,能夠?qū)Π?類物體的圖像較好地進(jìn)行分割,但對(duì)包含2種相似物體的圖像易出現(xiàn)誤分類。李博等[4]提出了二次閾值分割算法,提高了復(fù)雜背景下的識(shí)別效果,能夠?qū)⒛繕?biāo)從復(fù)雜背景中分割出來(lái),但會(huì)丟失一次閾值分割后的部分有效信息。對(duì)車道線進(jìn)行擬合的常用方法有最小二乘曲線擬合[5]、B樣條曲線擬合[6]、Hough變換[7]等,這些模型各有優(yōu)勢(shì),但均有提升的空間。車道寬度等空間特征可對(duì)車道線擬合起輔助作用,Wang等[8]通過(guò)分析相機(jī)的透視模型,建立了車道寬度與相機(jī)參數(shù)之間的關(guān)系,該算法通過(guò)估計(jì)滅點(diǎn)位置,得到車道的寬度特性,對(duì)車道線擬合進(jìn)行輔助,該算法的固定區(qū)域劃分易導(dǎo)致漏檢,且采用Canny邊緣檢測(cè)及多次Hough變換實(shí)時(shí)性較差。王曉云[9]提出采用梯度點(diǎn)對(duì)約束確定寬度特性的方法,該方法根據(jù)車道線左、右側(cè)具有相同或相反梯度方向的特性,對(duì)車道線邊緣點(diǎn)及圖像中的各行車道寬度進(jìn)行估計(jì),該算法計(jì)算簡(jiǎn)單,但在道路環(huán)境較為復(fù)雜時(shí),根據(jù)橫向梯度對(duì)邊緣點(diǎn)進(jìn)行檢測(cè)時(shí)對(duì)噪聲十分敏感,導(dǎo)致寬度特性的提取準(zhǔn)確率較低。
本文提出一種基于大津法的二次閾值分割方法,在對(duì)道路圖像進(jìn)行二值化后,根據(jù)車道線的形態(tài)特征對(duì)圖像逐行掃描得到車道線特征點(diǎn),進(jìn)而采用分視場(chǎng)最小二乘曲線擬合算法對(duì)車道線進(jìn)行擬合,為提高算法的魯棒性,提出車道寬度匹配算法,具有一定的應(yīng)用價(jià)值。
車載相機(jī)采集到的是RGB圖像,由于RGB圖像包含的信息比較豐富,直接在其基礎(chǔ)上進(jìn)行圖像分割尋找車道線十分困難,因此需要先進(jìn)行灰度化操作。將RGB圖像轉(zhuǎn)換為灰度圖像的函數(shù)為:
式中,g為灰度圖像的灰度級(jí);R、G、B分別為RGB圖像各通道的值。
圖1所示為圖像灰度化的結(jié)果。
圖1 圖像灰度化
為提高程序的實(shí)時(shí)性,減少圖像中建筑、樹木的干擾,需在采集到的道路圖像中劃分感興趣區(qū)域(Region of Interest,ROI)。ROI的選取與攝像機(jī)的安裝位置相關(guān),圖2所示為攝像機(jī)安裝位置示意。
圖2 車載攝像機(jī)安裝示意
圖2中,h為攝像機(jī)的安裝高度,θ為攝像機(jī)的傾角,α為攝像機(jī)掃描點(diǎn)與其光軸之間的夾角,d0為掃描點(diǎn)到攝像機(jī)的橫向距離,(xc,yc)為攝像機(jī)光心在成像平面上的投影點(diǎn),f為攝像機(jī)焦距,yi為攝像機(jī)掃描點(diǎn)在成像平面上的投影點(diǎn)的縱坐標(biāo)。由圖中的幾何關(guān)系可得:
式中,dx為圖像像素坐標(biāo)系中一個(gè)像素在圖像物理坐標(biāo)系中的尺寸。
設(shè)車道線檢測(cè)的目標(biāo)距離為D,則根據(jù)式(2)和式(3)可得,圖像中ROI(圖1中兩條直線中間的區(qū)域即為ROI)上、下邊界的縱坐標(biāo)分別為:
式中,ye為發(fā)動(dòng)機(jī)罩在圖像中的縱坐標(biāo),攝像機(jī)安裝好之后,ye為定值。
為將車道線從道路圖像中提取出來(lái),即將目標(biāo)(車道線)與道路背景進(jìn)行區(qū)分,需要對(duì)灰度圖像進(jìn)行二值化處理。二值化處理的核心是確定灰度閾值,為提高程序的魯棒性,使二值化算法適用于不同的場(chǎng)景,采用大津法確定灰度閾值。其基本思路是:選取的最佳閾值應(yīng)當(dāng)使得區(qū)分出的目標(biāo)和背景兩類間具有最好的分離性,而將兩類間統(tǒng)計(jì)意義上的灰度值方差作為類間分離性優(yōu)劣的判據(jù)。圖像的最佳閾值為:
式中,μ0、μ1和μ分別為目標(biāo)、背景和整幅圖像的灰度均值;ω0、ω1分別為目標(biāo)和背景部分像素點(diǎn)占整幅圖像總像素點(diǎn)的比例。
圖3所示為采用大津法進(jìn)行二值化操作的效果。當(dāng)光照條件較好、干擾不多時(shí),大津法能夠?qū)④嚨谰€從道路背景中區(qū)分出來(lái),如圖3a、圖3b所示;但在光照條件不佳時(shí),高亮區(qū)域中的路面與低亮區(qū)域呈現(xiàn)出明顯的分離性,因此在采用統(tǒng)計(jì)學(xué)方法求閾值時(shí),灰度值較大的高亮路面會(huì)被誤分成目標(biāo),如圖3c、圖3d所示。
為了提高二值化算法的魯棒性,本文提出二次閾值分割算法,算法流程如圖4所示。
圖3 大津法求二值圖的結(jié)果
圖4 二次閾值分割算法流程
求取二次閾值圖可以分為如下步驟:
a.采用大津法求得二值圖像,如圖5a所示;
b.對(duì)二值圖進(jìn)行逐行掃描,記錄各行中連續(xù)白色像素點(diǎn)的長(zhǎng)度lc,由于車道線在圖像中具有一定的寬度范圍[lmin,lmax],若lc在該范圍內(nèi),則保留該段連續(xù)像素點(diǎn),否則將其灰度值置為0,處理結(jié)果如圖5b所示;
c.取出灰度圖上與采用大津法求得的二值圖上白色像素對(duì)應(yīng)的點(diǎn),對(duì)該點(diǎn)集再根據(jù)大津法進(jìn)行一次閾值分割,得到一個(gè)只包含車道線目標(biāo)和少量干擾的二值圖,如圖5c所示;
d.對(duì)步驟b和步驟c的結(jié)果進(jìn)行與運(yùn)算,得到最終的輸出圖像,如圖5d所示。
圖5 二次閾值分割算法效果
由圖5a和圖5d可以看出,在ROI中根據(jù)大津法進(jìn)行二值化會(huì)將背景誤分為目標(biāo),采用二次閾值分割算法可對(duì)誤分的目標(biāo)進(jìn)行進(jìn)一步區(qū)分,進(jìn)而將車道線與道路背景進(jìn)行區(qū)分。圖6所示為采用大津法和二次閾值分割算法對(duì)道路圖像進(jìn)行分割后提取的候選車道線特征點(diǎn)數(shù)量。從圖6中可以看出,經(jīng)過(guò)二次閾值分割,從二值圖中提取的候選車道線特征點(diǎn)數(shù)量大大增加,這表明相比于一次閾值分割,二次閾值分割能夠獲取更多的有用信息。
在對(duì)道路圖片的感興趣區(qū)域進(jìn)行二值化處理后,需要對(duì)車道線特征點(diǎn)進(jìn)行提取,進(jìn)而完成車道線的擬合。二值圖像中的白色像素點(diǎn)大部分是車道線,但也存在前方車輛、路基、路面雜物等的干擾,因此,車道線特征點(diǎn)的提取分為候選點(diǎn)提取和噪點(diǎn)過(guò)濾兩個(gè)步驟。候選點(diǎn)提取是以車道線在圖像中具有一定寬度范圍為依據(jù)的,如圖7所示,通過(guò)對(duì)圖像逐行掃描,根據(jù)連續(xù)白色像素點(diǎn)的長(zhǎng)度可以對(duì)該段像素點(diǎn)是否屬于車道線進(jìn)行初步判斷。
圖6 閾值分割方法效果對(duì)比
圖7 候選車道特征點(diǎn)提取
圖8a所示為候選點(diǎn)提取的結(jié)果,可以看出,候選特征點(diǎn)中存在部分噪點(diǎn),需要進(jìn)行過(guò)濾。過(guò)濾算法的原理是利用候選特征點(diǎn)的坐標(biāo)將候選特征點(diǎn)集分為小段,再根據(jù)車道線的連續(xù)性對(duì)每一小段是否為噪點(diǎn)進(jìn)行判斷,進(jìn)而濾除噪點(diǎn),圖8b所示為噪點(diǎn)過(guò)濾的結(jié)果。在對(duì)噪點(diǎn)過(guò)濾的基礎(chǔ)上,對(duì)有效點(diǎn)進(jìn)行分類,對(duì)分屬于不同車道線的點(diǎn)分別進(jìn)行擬合。
圖8 車道線特征點(diǎn)提取
最小二乘法是一種通過(guò)最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配的數(shù)學(xué)優(yōu)化方法,其目標(biāo)是求出在給定點(diǎn)(x0,y0),(x1,y1),…,(xm,ym)處與給定點(diǎn)的距離平方和最小的曲線y=p(x)。
最小二乘曲線擬合的數(shù)學(xué)模型為:
式中,I為誤差的平方和;p(xi)為目標(biāo)函數(shù);m為用于車道線擬合的車道線特征點(diǎn)數(shù)量;n為選擇的多項(xiàng)式的最高次數(shù);xi、yi分別為各點(diǎn)的橫、縱坐標(biāo);aj為多項(xiàng)式的各項(xiàng)次數(shù);j為多項(xiàng)式的各項(xiàng)指數(shù)。
本文選擇用多項(xiàng)式函數(shù)來(lái)描述車道線,因此需要求出多項(xiàng)式的各項(xiàng)系數(shù)aj,式(6)的正規(guī)方程組為:
通過(guò)求解式(7)可以得到多項(xiàng)式的系數(shù)。
由于在實(shí)際場(chǎng)景應(yīng)用時(shí)對(duì)車道線的線型沒有先驗(yàn)信息,因此對(duì)車道線進(jìn)行擬合需選取一種能適用于不同場(chǎng)景的方法。本文采用的方法是分段曲線擬合,如圖9所示,將用于車道線擬合的車道線特征點(diǎn)等分為4個(gè)部分,第Ⅱ、Ⅲ、Ⅳ部分位于圖片的中下方,其曲率較小,采用直線擬合。第Ⅰ部分根據(jù)其最上端點(diǎn)的縱坐標(biāo)選擇采用何種擬合方式:若上端點(diǎn)縱坐標(biāo)較小,說(shuō)明可供擬合的特征點(diǎn)數(shù)量足夠,則采用三次曲線擬合,以盡可能貼近曲線的實(shí)際趨勢(shì);若上端點(diǎn)縱坐標(biāo)較大,說(shuō)明本幀中用于擬合的特征點(diǎn)較少,為了防止出現(xiàn)趨勢(shì)錯(cuò)誤,采用直線擬合。圖10所示為不同曲線擬合方法的效果對(duì)比。
圖9 分段曲線擬合示意
圖10 不同方法擬合結(jié)果對(duì)比
如圖10所示,采用三次曲線擬合和直線擬合均會(huì)出現(xiàn)過(guò)擬合或欠擬合,采用分段直線擬合會(huì)在曲率較大時(shí)出現(xiàn)較大誤差,而本文提出的曲線擬合算法擬合結(jié)果與實(shí)際的車道線及其趨勢(shì)較為切合。
表1所示為對(duì)圖10中的車道線采用不同擬合方法所需的擬合時(shí)間以及擬合的殘差。從表1中可以看出,除Hough變換實(shí)時(shí)性較差外,其余方法實(shí)時(shí)性均較好,且本文提出的曲線擬合算法殘差明顯小于其余方法,表明其具有更大的準(zhǔn)確率。
表1 車道線不同擬合方法對(duì)比
由于車輛在行駛過(guò)程中,道路上的車道線可能出現(xiàn)某一側(cè)被遮擋或者缺失的情況,導(dǎo)致直接進(jìn)行擬合出現(xiàn)較大誤差。為了提高車道線檢測(cè)算法的魯棒性,提出車道寬度匹配算法,以一側(cè)的擬合結(jié)果對(duì)另一側(cè)車道線的參數(shù)進(jìn)行估計(jì)。
世界坐標(biāo)系和圖像坐標(biāo)系中的車道模型如圖11所示。已知世界坐標(biāo)系中的兩點(diǎn)(xl,y)和(xr,y),通過(guò)透視變換到以左上角為原點(diǎn),c軸為橫軸,r軸為縱軸的圖像坐標(biāo)系中的兩點(diǎn)坐標(biāo)分別(cl,r)和(cr,r),則可得世界坐標(biāo)系中的道路寬度為:
圖11 車道模型
而圖像坐標(biāo)系的道路寬度為:
根據(jù)透視的原理,還可以得到[5]:
其中:
式中,k為用于寬度匹配算法的寬度匹配系數(shù);w為世界坐標(biāo)系中車道的寬度;hz為車道線滅點(diǎn)所在的直線的縱坐標(biāo)值。
由于鏡頭的透視作用,地面上相互平行的兩條車道線在圖像中會(huì)由近至遠(yuǎn)相交于一點(diǎn),通常將交點(diǎn)稱為滅點(diǎn)(Vanishing Point)。
根據(jù)相似原理,在圖像坐標(biāo)系中可得:
與式(10)聯(lián)立可得:
式中,cbr和cbl分別為圖片中左、右車道線最底部點(diǎn)的橫坐標(biāo),rb為車道線最底部的縱坐標(biāo);L1為圖像中某一行距車道線滅點(diǎn)的高度;L2為滅點(diǎn)距車道線底部的高度。
在任一時(shí)刻,車道在世界坐標(biāo)中的寬度處處相等,由式(11)可知,在該時(shí)刻寬度匹配系數(shù)k為固定值,通過(guò)式(13)對(duì)k值進(jìn)行計(jì)算后,即可通過(guò)式(10)求出圖像坐標(biāo)系中各行的車道寬度,進(jìn)而根據(jù)一側(cè)車道線的擬合結(jié)果對(duì)另一側(cè)車道線進(jìn)行匹配,增強(qiáng)算法的魯棒性。
由式(13)可知,求車道寬度匹配系數(shù)的關(guān)鍵是找到滅點(diǎn)的位置。當(dāng)車道線為曲線時(shí),滅點(diǎn)的求取十分困難。如圖12a所示,YueWang等[8]提出將圖片分成幾個(gè)固定的區(qū)域,在每個(gè)區(qū)域中將左、右車道線作為直線處理,進(jìn)而尋找滅點(diǎn)。但如圖12b所示,當(dāng)車道線為虛線時(shí),車道線不連續(xù)導(dǎo)致某區(qū)域中沒有直線,且固定區(qū)域的劃分沒有充分利用虛線段的特征。
針對(duì)以上問(wèn)題,提出改進(jìn)的寬度匹配算法,步驟為:
a.對(duì)左側(cè)車道線提取到的車道線特征點(diǎn)坐標(biāo)進(jìn)行分析,按照虛線段的分布將特征點(diǎn)分成3個(gè)部分,進(jìn)而對(duì)圖像區(qū)域進(jìn)行劃分,如圖12b所示;
b.在區(qū)域1中,分別對(duì)左、右側(cè)車道線特征點(diǎn)進(jìn)行直線擬合,進(jìn)而求得滅點(diǎn)VP1,再根據(jù)式(13)求出該區(qū)域的寬度匹配系數(shù)k1;
c.在區(qū)域3中重復(fù)步驟b的過(guò)程,求出該區(qū)域中的滅點(diǎn)VP3和寬度匹配系數(shù)k3;
d.在區(qū)域2中,由于左側(cè)不存在車道線特征點(diǎn),不能進(jìn)行直線擬合。考慮到車道線曲率變化的連續(xù)性,采用區(qū)域1和區(qū)域3中的滅點(diǎn)和寬度匹配系數(shù)的均值作為區(qū)域2的滅點(diǎn)VP2和寬度匹配系數(shù)k2;
e.根據(jù)各區(qū)域中的滅點(diǎn)的縱坐標(biāo)和寬度匹配系數(shù),按式(11)求出圖像中車道各行的寬度;
f.對(duì)右側(cè)車道線進(jìn)行曲線擬合,根據(jù)步驟e求出的車道各行寬度對(duì)左側(cè)車道線進(jìn)行匹配。
為驗(yàn)證所述算法的準(zhǔn)確性和實(shí)時(shí)性,以飛思卡爾的iMX6為硬件平臺(tái)對(duì)算法進(jìn)行了實(shí)車測(cè)試,圖13所示為系統(tǒng)布置示意。iMX6是一款基于Cortex-A9架構(gòu)、主頻為1GHz的四核車規(guī)級(jí)芯片。車載攝像機(jī)以30幀/s的速度采集分辨率為640×480DPI的道路圖像,在iMX6平臺(tái)上對(duì)圖片進(jìn)行實(shí)時(shí)處理并顯示車道線識(shí)別結(jié)果。在不同環(huán)境下,該算法處理1幀圖像的時(shí)間均在17ms以內(nèi),能夠滿足實(shí)時(shí)性需求,綜合識(shí)別準(zhǔn)確率可達(dá)94%以上,表2所示為在不同環(huán)境下對(duì)車道線進(jìn)行檢測(cè)的結(jié)果,其中時(shí)間段1中道路條件較好,時(shí)間段2中存在標(biāo)識(shí)符、前方車輛、高架橋陰影等干擾,時(shí)間段3為夜間,時(shí)間段4為雨天。表3所示為不同車道線檢測(cè)算法的準(zhǔn)確率對(duì)比,其中文獻(xiàn)[10]采用Canny檢測(cè)算子對(duì)圖像進(jìn)行分割,采用隨機(jī)抽樣一致(Random Sample Consensus,RANSAC)曲線擬合算法進(jìn)行車道線擬合。文獻(xiàn)[11]采用Hough變換進(jìn)行車道線檢測(cè)。從表3可以看出,本文所提出的算法實(shí)時(shí)性和準(zhǔn)確率均優(yōu)于文獻(xiàn)[10]及[11]中的算法。
圖13 硬件平臺(tái)系統(tǒng)布置示意
表2 檢測(cè)結(jié)果
表3 不同算法識(shí)別準(zhǔn)確率與實(shí)時(shí)性對(duì)比
圖14所示為部分識(shí)別結(jié)果,從圖14可以看出,本文提處的車道線檢測(cè)算法能夠適用于多種復(fù)雜的場(chǎng)景,具有一定的應(yīng)用價(jià)值。
圖14 不同環(huán)境下檢測(cè)結(jié)果
本文對(duì)道路圖像分割及曲線擬合問(wèn)題進(jìn)行了研究,得到如下結(jié)論:
a.采用基于大津法的二次閾值分割方法,將復(fù)雜環(huán)境下的道路圖像分割分為正確目標(biāo)提取和誤分目標(biāo)再分割兩個(gè)步驟,能將車道線信息較為完整提取出,相比于傳統(tǒng)的閾值分割算法,對(duì)環(huán)境有更強(qiáng)的適應(yīng)性。
b.提出一種基于最小二乘法的分視場(chǎng)自適應(yīng)曲線擬合算法和車道寬度匹配算法,解決了不同線型自適應(yīng)擬合的問(wèn)題并提高了復(fù)雜環(huán)境下的魯棒性,達(dá)到了94%以上的綜合準(zhǔn)確率以及17ms的單幀處理時(shí)間。
c.本文提出的二次閾值分割方法和曲線擬合方法適用于較為復(fù)雜的光照及道路環(huán)境,具有一定的應(yīng)用價(jià)值。針對(duì)復(fù)雜道路環(huán)境,建議對(duì)本文二次閾值分割過(guò)程進(jìn)行重復(fù),達(dá)到更好的分割效果,同時(shí)可采用濾波算法對(duì)車道線進(jìn)行跟蹤,降低漏檢率。