王嬌 韓加蓬 李煜 馬駿 郭棟 譚德榮
摘? 要: 針對當(dāng)前傳統(tǒng)車道線檢測算法較復(fù)雜,適應(yīng)性及魯棒性較差,且直?彎車道線檢測的準(zhǔn)確度較差的情況,提出一種基于多重標(biāo)準(zhǔn)共檢的車道線識別方法。對原圖像進(jìn)行灰度化處理后雙重設(shè)定感興趣區(qū)域(ROI),利用脊度量和Canny檢測算子進(jìn)行邊緣特征的提取,雙重標(biāo)準(zhǔn)確定直?彎車道線的分界線,利用直?彎車道線模型進(jìn)行車道線檢測。通過實(shí)際道路圖像對所提方法進(jìn)行實(shí)驗驗證,車道線檢測準(zhǔn)確度和擬合程度較高,場景適應(yīng)能力強(qiáng),且能夠滿足實(shí)際道路的需要。
關(guān)鍵詞: 脊度量; Canny檢測算子; Hough變換; 雙重標(biāo)準(zhǔn); 分界線; 直?彎車道線模型
中圖分類號: TN911.73?34; TP391? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)05?0068?06
A lane detection method based on multi?criteria common inspection
WANG Jiao, HAN Jiapeng, LI Yu, MA Jun, GUO Dong, TAN Derong
(School of Transportation and Vehicle Engineering, Shandong University of Technology, Zibo 255049, China)
Abstract: In view of the complexity, poor adaptability and robustness of traditional lane detection algorithms, and the poor accuracy of straight?curve lane detection, a lane recognition method based on multi?criteria common inspection is proposed. The original image is grayed and double ROI (region of interest) is set. Then the ridge measurement and Canny detection operator are used to extract edge features, and double standard is set to determine the boundary of straight?curve lane. The straight?curve lane model is used for lane detection. The method is verified by experiments on actual road images, which shows that the accuracy and fitting degree of the lane detection are high and the scene adaptability is strong. Therefore, this method can meet the needs of actual roads.
Keywords: ridge measurement; Canny detection operator; Hough transform; double standard; boundary; straight?curve lane model
0? 引? 言
隨著中國汽車產(chǎn)業(yè)的不斷發(fā)展,汽車保有量的不斷上升,存在的汽車安全隱患增多,加速了汽車智能自動駕駛系統(tǒng)的發(fā)展。車道線的精準(zhǔn)識別是汽車實(shí)現(xiàn)自主駕駛的基本前提。當(dāng)前,基于視覺的車道線檢測方法主要分為基于特征和基于模型兩大類。
基于特征的提取方法是通過分析車道線的特征信息,例如顏色、邊緣等,通過對路面的車道線進(jìn)行分割提取,從而檢測出車道線;基于模型的提取方法是通過提取車道線的特征點(diǎn),利用直線、拋物線和曲線等模型對車道進(jìn)行匹配,進(jìn)而對邊緣特征點(diǎn)進(jìn)行擬合后獲得車道線模型參數(shù)。
文獻(xiàn)[1]對黃色車道線的檢測是通過在HSV顏色空間的顏色特征,收集不同光照強(qiáng)度條件下的黃色車道線作為樣本,再以此樣本作為檢測后續(xù)黃色車道線的先驗知識,利用邊緣的直線特征進(jìn)行檢測。文獻(xiàn)[2]采用Canny算子進(jìn)行邊緣檢測,根據(jù)車道線的角度特征采用Hough變換對車輛內(nèi)側(cè)車道線進(jìn)行檢測。以上兩者是基于特征的方法檢測車道線。文獻(xiàn)[3]使用行方向的Sobel算子對處理區(qū)域進(jìn)行邊緣增強(qiáng)后,使用LSD進(jìn)行線段提取,利用線段中的角度信息和位置信息來確定最佳車道線。文獻(xiàn)[4]采用LSA算法對圖像進(jìn)行灰度化處理,然后采用拋物線模型對車道線進(jìn)行擬合,采用混沌粒子算法對拋物線參數(shù)進(jìn)行優(yōu)化,經(jīng)過多次迭代得到參數(shù)最優(yōu)值,識別出車道線。以上兩者是基于模型的方法檢測車道線。
在實(shí)際的道路車道線檢測場景中,通常會存在一些諸如車道線有破壞、其他干擾標(biāo)志線、樹蔭的情況,以上情況對車道線的檢測存在較大的干擾,而且當(dāng)前的車道線檢測算法大多是基于局部對比的方法提取邊緣特征,未從全局中考慮,致使當(dāng)前的車道線檢測方法的適用性有較大的局限性,為解決以上問題,需全面地考慮道路中存在的環(huán)境信息來實(shí)現(xiàn)車道線的識別。因此,本文提出一種基于多重衡量標(biāo)準(zhǔn)的車道線檢測方法。
本文通過對原圖像設(shè)定雙重感興趣區(qū)域,以消除道路中樹木和護(hù)欄等的干擾;利用脊度量和Canny檢測算子進(jìn)行邊緣特征的提取,設(shè)置雙重標(biāo)準(zhǔn)確定直?彎車道線的分界線,最后利用直?彎線模型對車道線擬合。該方法可以有效地避免道路中的干擾,在邊緣特征點(diǎn)獲取上,脊度量作為全局算子不易受到局部噪聲的影響,可以有效地提高此算法的魯棒性。
+45°Sobel算子:
[21010-10-1-2]
-45°Sobel算子:
[012-101-2-10]
利用改進(jìn)的Canny檢測算子進(jìn)行車道線檢測,僅增強(qiáng)了車道線的內(nèi)側(cè),易識別且保證了精度。
3) 用非極大值抑制排除偽邊緣信息,以及用滯后閾值算法保留圖像中較多的細(xì)節(jié)邊緣信息。
3? 直?彎車道線分界線的提取
實(shí)際道路中存在直線和曲線兩種車道線,為提高檢測準(zhǔn)確率,采用不同的模型進(jìn)行檢測。因此,需確定直?彎車道線的分界線。
3.1? 梯度方向確定分界線
直?彎車道線最大的區(qū)別在于斜率的變化,第2節(jié)中利用Canny檢測算子已計算出車道線的梯度幅值和方向,利用相鄰梯度方向變化大的特點(diǎn),將此變化大的行數(shù)作為直?曲車道線的分界線。
將二值化后的圖像劃分為[a×b]的子區(qū)域,然后對各個子區(qū)域的邊緣線求取梯度方向,搜索相鄰行中梯度方向變化較大的子區(qū)域,將此區(qū)域作為直?彎車道線的分界線,如圖1所示。
通過梯度方向確定的分界線易受噪聲邊緣的影響,易造成較大偏差。因此,只能作為初步篩選。
3.2? 特征點(diǎn)到直線方程距離確定分界線
利用梯度方向?qū)Ψ纸缇€進(jìn)行初步的篩選后,從圖像底部向上的[13]之內(nèi)的車道線采用Hough變換,獲取的斜率和截距得出直線方程;然后獲取剩余車道線的特征點(diǎn),以每隔10個特征點(diǎn)為一個定點(diǎn),計算此點(diǎn)到直線方程的水平距離,并計算出5個定點(diǎn)到直線距離的均值[d],設(shè)定閾值[dth],用于直?彎車道線的判定。具體步驟如下:
1) 從圖像底部向上的[13]之內(nèi)的車道線采用Hough變換,通過獲取的斜率[k]和截距[b]可以得出直線方程[y=kx+b];
2) 獲取剩余車道線的特征點(diǎn)為[M(m1,m2,…,mn)],以每隔10個特征點(diǎn)為一個定點(diǎn)[D(d1,d11,…,dn-10)];
3) 計算定點(diǎn)[D]到直線方程[y=kx+b]的水平距離,假設(shè)其中一定點(diǎn)為[p(u1,v1)],直線上相對應(yīng)的水平點(diǎn)為[q(u2,v1)],其到直線方程的水平距離為[d=u1-u2];
4) 計算相鄰5個定點(diǎn)到直線距離的均值[d],即[d=(d1+d2+…+d5)5];
5) 設(shè)定閾值[dth],若[d
若為曲線,則從第一個定點(diǎn)開始,其所在行為直?彎車道線的分界線,分別針對不同形狀的車道線進(jìn)行檢測擬合。
4? 車道線檢測
通過Hough變換獲取車道線的相關(guān)參數(shù),確定初步的車道線,以此初步車道線為中心線分別向左右兩個擴(kuò)充10個像素,作為后續(xù)車道線進(jìn)行檢測擬合的感興趣區(qū)域[ROI3],為后續(xù)的車道線擬合縮小圖像的處理范圍以減少處理時間。
4.1? 直車道線檢測
4.1.1? Hough變換
在車道線識別領(lǐng)域中,應(yīng)用最廣泛的為Hough變換[6]。Hough變換描述了圖像坐標(biāo)空間中的一條直線可以變換到對應(yīng)參數(shù)空間中的一個點(diǎn)。在實(shí)際的應(yīng)用中,為計算方便,將參數(shù)空間的坐標(biāo)形式轉(zhuǎn)化為極坐標(biāo)形式,通過[ρ]和[θ]進(jìn)行量化。具體步驟如下:
1) 圖像空間被分割出多個參數(shù)區(qū)間,設(shè)計各參數(shù)空間相應(yīng)的累加器,并初始化為0;
2) 在感興趣區(qū)域[ROI3]中搜索邊緣像素點(diǎn),求取參數(shù)[θ]和[ρ]的值;
3) 每一個[(ρ,θ)]單元投票累加,累加器加1;
4) 查看每個參數(shù)空間單元累加器的值,找到累加器值為最大時所對應(yīng)的[θi]和[ρi],即為需要擬合的直線參數(shù)。
根據(jù)[θi]和[ρi]粗略計算需要擬合的直線,且直線附近像素點(diǎn)的集合為[Q]。再利用最小二乘法對車道線進(jìn)行擬合,避免由于像素點(diǎn)多且雜亂而導(dǎo)致出現(xiàn)多條直線而無法擬合的現(xiàn)象。
4.1.2? 最小二乘法車道線擬合
通過上述Hough變換已經(jīng)得到每個參數(shù)子區(qū)域里所有車道線的點(diǎn),為得到車道線模型的參數(shù),利用最小二乘法進(jìn)行擬合。
將利用Hough變換得到的[θt]和[ρt]值采用最小二乘法進(jìn)行擬合,則在圖像空間下對應(yīng)的直線方程為:[y=atx+bt],其中,[at]為斜率,[bt]為截距,同時設(shè)定2個像素位誤差閾值[dt],通過求取[S]中的像素點(diǎn)到直線[y=atx+bt]的距離為[dt],即:
[dt=atxi+bt1+a2t,? ? (xi,yi)∈Q,i=1,2,…,m? ?] (13)
若[d
先用Hough變換獲取初步車道線特征點(diǎn)后,后用最小二乘法進(jìn)行擬合的方法,可有效提高擬合精確度,避免受較遠(yuǎn)點(diǎn)干擾。
4.2? 彎曲車道線檢測
4.2.1? 彎曲車道線模型的建立
本文彎曲車道線模型選用貝塞爾曲線模型[7]。此模型可以根據(jù)車道的實(shí)際彎曲程度,通過不斷地調(diào)整曲線參數(shù)的控制點(diǎn)來確定具體的曲線模型,進(jìn)而控制擬合曲線的走向,實(shí)現(xiàn)彎曲車道線的擬合。
通過[P0],[P1],[P2],[P3]四個頂點(diǎn)可以表達(dá)一條三階的貝塞爾曲線。點(diǎn)[P0],[P3]為曲線的起點(diǎn)和終點(diǎn),點(diǎn)[P1],[P2]為控制曲線的走向,以調(diào)整曲線的彎曲程度。三階貝塞爾曲線相應(yīng)的數(shù)學(xué)表達(dá)式為:
[P(t)=(1-3t+3t2-t3)P0+(3t-6t2+3t3)P1+(3t2-3t3)P2+t3P3] (14)
寫成矩陣的形式為:
[P(t)=[t3t2t1]-13-313-630-33001000P0P1P2P3] (15)
式中[P0],[P1],[P2],[P3]對應(yīng)貝塞爾曲線的四個控制點(diǎn)。
4.2.2? RANSAC對曲線模型的擬合
曲線模型的擬合常采用最小二乘法和隨機(jī)采樣一致性算法。最小二乘法使用了所有的數(shù)據(jù)點(diǎn)進(jìn)行模型的估計,易受噪聲點(diǎn)的干擾。隨機(jī)采樣一致性算法不會受個別噪聲數(shù)據(jù)點(diǎn)的影響而致使最終的曲線模型出現(xiàn)較大的偏差。因此,本文選用隨機(jī)采樣一致性算法對曲線進(jìn)行擬合。
隨機(jī)采樣一致性算法是一種從包含所有觀測數(shù)據(jù)中隨機(jī)的抽取部分?jǐn)?shù)據(jù),不斷地進(jìn)行迭代而估計出模型的最佳參數(shù)的方法。具體步驟如下:
1) 在車道線擬合感興趣區(qū)域[ROI3]中查找灰度值不為零的像素點(diǎn),獲取觀測數(shù)據(jù)點(diǎn)集[S];
2) 從觀測數(shù)據(jù)點(diǎn)集[S]中隨機(jī)選取4個數(shù)據(jù)點(diǎn)為曲線模型的假設(shè)有效點(diǎn),則擬合出一條彎曲車道線的模型曲線;
3) 計算觀測數(shù)據(jù)中剩余數(shù)據(jù)點(diǎn)到此模型曲線的距離[dr],若[dr
4) 統(tǒng)計有效點(diǎn)集[Q]中有效點(diǎn)的個數(shù),若大于設(shè)定的閾值[n],則執(zhí)行步驟5),若小于設(shè)定的閾值[n],則執(zhí)行步驟2)和步驟3),以達(dá)到有效點(diǎn)集[Q]中的數(shù)量設(shè)置或迭代次數(shù)的上限;
5) 利用有效點(diǎn)集[Q]中的點(diǎn)重新進(jìn)行曲線模型的擬合,獲取最好的擬合結(jié)果,當(dāng)達(dá)到所設(shè)定的迭代次數(shù)的上限時,則算法結(jié)束。
利用隨機(jī)采樣一致性算法對三階貝塞爾曲線進(jìn)行擬合,通過求解矩陣得到貝塞爾曲線的四個控制點(diǎn)來實(shí)現(xiàn)曲線的擬合。
4.3? 擬合評價指標(biāo)
真實(shí)車道線應(yīng)處于所分布的邊緣點(diǎn)的中間位置,擬合出的車道線越接近真實(shí)車道線,有效點(diǎn)集[Q]中的數(shù)據(jù)點(diǎn)與擬合出曲線的殘差平方誤差也就越小,即說明擬合出的曲線越接近真實(shí)的車道線。本文曲線擬合的評價標(biāo)準(zhǔn)為:有效點(diǎn)集[Q]中的數(shù)據(jù)為[m]個樣本[(x1,y1),(x2,y2),…,(xm,ym)],擬合模型的估計值為[(x1,y1),(x2,y2),…,(xm,ym)],計算殘差平方和[RSS=i=1m(yi-yi)2],若殘差平方和的值越小,則說明曲線擬合得越接近真實(shí)曲線,擬合程度越高。
5? 實(shí)驗結(jié)果與分析
為了驗證本文車道線檢測的實(shí)際效果,本文選取了四種場景來驗證算法的魯棒性及適應(yīng)性。四處場景的數(shù)據(jù)集是由車載相機(jī)所獲得的前方道路圖像,如圖2所示。通過以上四種場景來驗證本文算法的魯棒性及檢測效果。實(shí)驗測試環(huán)境為:Matlab 2013a軟件平臺,CPU為Intel Core i5,內(nèi)存為4 GB,操作系統(tǒng)為Win10。
5.1? 主觀評價
在本實(shí)驗中包含四個場景,場景一為晴天,場景二為車道線存在遮擋的情況,場景三為路面包括干擾線,場景四為在隧道中光線較暗且存在小彎道。第一行作為輸入圖像,第二行作為本文算法的車道線檢測效果圖。
由場景一可以發(fā)現(xiàn),在晴天的檢測效果較好且擬合出的車道線幾乎在車道線的中間,效果較好;場景二說明在隧道中且前方出現(xiàn)車輛遮擋車道線的現(xiàn)象,沒有影響車道線檢測的效果,說明本文的算法適用于車道線出現(xiàn)遮擋的情況;場景三說明本文算法對路面上的一些干擾車道線檢測的車道標(biāo)志線可以有效的去除,不易受其干擾,算法的適應(yīng)性比較強(qiáng);場景四說明在隧道中,燈光比較昏暗時,車道線與地面的對比度差別減小時,仍能較好地將車道線檢測出來。
基于以上四處場景進(jìn)行車道線檢測的效果可以表明,本文的車道線檢測算法的魯棒性較強(qiáng),且車道線的擬合線幾乎處在圖像中車道線的中間,檢測效果較好。
5.2? 客觀評價
5.2.1? 算法評價指標(biāo)
為了更加準(zhǔn)確地評價,全面地驗證本文車道線檢測算法的實(shí)用性和魯棒性。采用文獻(xiàn)[8]中對車道線檢測的評價標(biāo)準(zhǔn),利用本文算法擬合出的曲線與實(shí)際的車道線所在位置之間的差異程度來評價?;谝陨蠗l件,本文認(rèn)為所擬合出的線條只要落在道路圖像車道線的范圍之內(nèi),則不認(rèn)為造成誤檢。而對于多測試的圖像中所存在的車道線沒有被檢測出來的,則認(rèn)為是漏檢。
采用文獻(xiàn)[9]中的各項性能評價指標(biāo)對文中四種場景所擬合出的車道線進(jìn)行評價,其中,評價指標(biāo)包括:正確的檢測率(Correct Detection Rate,CDR)、誤檢率(False Detection Rate,F(xiàn)DR)以及漏檢率(Missing Detection Rate,MDR),采用這三個評價指標(biāo)對本文算法擬合出的車道線進(jìn)行檢測。定義如下:
[CDR=NCDTNF,? ? FDR=NFDTNF,? ? MDR=NMDTNF] (16)
式中:TNF為被測圖像的總幀數(shù);NFD為擬合車道線出現(xiàn)錯誤的幀數(shù);NMD為被測圖像出現(xiàn)車道線未被檢測到的幀數(shù);NCD為正確擬合車道線的幀數(shù)。
由表1可以看出:本文方法較文獻(xiàn)[10]方法更適用于實(shí)際道路中,主要是由于本文中加入脊度量來獲取特征點(diǎn),以及雙重標(biāo)準(zhǔn)獲取直?彎車道線的分界線,可以更好地為車道線模型的擬合奠定基礎(chǔ),也可以提高車道線識別的正確度。
出現(xiàn)車道線部分遮擋、其他標(biāo)志線干擾的問題,利用限定的車道線檢測范圍就可以較好地縮小范圍,提高擬合準(zhǔn)確度,且在場景中出現(xiàn)光線較差,僅依靠邊緣檢測方法來提取特征不能夠滿足車道線的檢測,通過本文脊度量的優(yōu)先提取車道線特征的方法,可以有效地提高此種情況下的正確率。
5.2.2? 不同方法下檢測的殘差平方和
分別采用本文算法和文獻(xiàn)[10]所提及的直?彎車道線的分界方法進(jìn)行車道線檢測實(shí)驗,對比不同方法進(jìn)行車道線擬合的殘差平方和,對比結(jié)果如圖3所示。
從圖3中可以看出,采用本文算法比文獻(xiàn)[10]的車道線的擬合程度更高。由于本文是采用雙重感興趣區(qū)域和雙重標(biāo)準(zhǔn)確定直?彎車道線的分界線,更加精確,分別對直車道線和彎車道線采用不同的方法進(jìn)行擬合,更加適用于不同的車道線檢測,從而提升了本文的車道線檢測擬合的精度。
6? 結(jié)? 論
針對傳統(tǒng)車道線檢測算法均較復(fù)雜,適應(yīng)性和魯棒性較差,且直?彎車道線的檢測,準(zhǔn)確度較差的情況,本文提出一種基于多重標(biāo)準(zhǔn)共檢的車道線識別方法。通過對圖像進(jìn)行雙重設(shè)定感興趣區(qū)域(ROI),利用脊度量和Canny檢測算子進(jìn)行車道線特征的提取,雙重標(biāo)準(zhǔn)確定直?彎車道線的分界線,最后利用直?彎曲線模型進(jìn)行車道線檢測。實(shí)驗結(jié)果表明,經(jīng)過與文獻(xiàn)[10]比較后,本文算法的車道線擬合程度較高,場景適應(yīng)能力較強(qiáng),滿足實(shí)際道路情況的需要。
參考文獻(xiàn)
[1] 王懷濤,曹明偉,邢皎玉.基于HSV顏色空間與邊緣特征的黃色車道線檢測[J].北京汽車,2017(3):14?18.
[2] 黃曉青.基于Hough變換的高速公路車道線檢測算法設(shè)計[J].寧夏師范學(xué)院學(xué)報,2018,39(4):57?61.
[3] 胡忠闖,陳杰,顧兆倫,等.單目視覺下結(jié)構(gòu)化車道實(shí)時檢測[J].信號處理,2017,33(4):635?640.
[4] 黃新,劉璋.基于LDA與混沌粒子群算法的車道線識別方法研究[J].液晶與顯示,2017,32(6):491?498.
[5] L?PEZ A, SERRAT J, CA?ERO C, et al. Robust lane mar?kings detection and road geometry computation [J]. International journal of automotive technology, 2010, 11(3): 395?407.
[6] HOUGH V, PAUL C. Methods and means for recognizing complex pattern: US Patent 3069654 [P].1962?12?18.
[7] 屈賢,余烽,趙悅.基于雙曲線模型的車道線檢測算法[J].湖北汽車工業(yè)學(xué)院學(xué)報,2018,32(1):52?55.
[8] BORKAR A, HAYES M, SMITH M T. A novel lane detection system with efficient ground truth generation [J]. IEEE transactions on intelligent transportation systems, 2012, 13(1): 365?374.
[9] 侯長征.基于視覺的車道線檢測技術(shù)研究[D].成都:西南交通大學(xué),2017.
[10] 隋靚,黨建武,王陽萍.基于分段切換模型的快速車道線檢測[J].計算機(jī)應(yīng)用與軟件,2017,34(8):201?205.