王家恩,陳無畏,汪明磊,談東奎
(合肥工業(yè)大學(xué)機械與汽車工程學(xué)院,合肥 230009)
車道識別技術(shù)作為駕駛員高級輔助駕駛系統(tǒng)(ADAS)中的關(guān)鍵技術(shù)之一,能有效減少因車輛偏離車道而發(fā)生的橫向碰撞事故。實時性和復(fù)雜情況下(如陰影干擾、標(biāo)志線模糊等)的可靠性是車道識別技術(shù)的難點和關(guān)鍵。近年來,許多學(xué)者對其進(jìn)行了深入的研究。在邊緣檢測方面,常用的邊緣檢測算子對于模糊邊緣的車道線檢測效果不明顯,且易產(chǎn)生大量噪聲。Canny算子雖然檢測效果好,但其中的高斯濾波、極大值抑制和邊緣鏈接等過程均比較耗時[1]。方向可調(diào)濾波器可以抑制非車道邊緣點,增強實際邊緣點,但一般須預(yù)知車道線的實際方向,且在車道邊緣模糊時和其他常用邊緣檢測算子一樣無法檢測出車道線邊緣,而當(dāng)減小邊緣閾值時又會產(chǎn)生大量噪聲[2-4]。在檢測直線方面,傳統(tǒng)的Hough變換耗時嚴(yán)重,不能滿足車道識別實時性的要求[5-6]。為提高車道識別的可靠性,一般在車道識別過程中加入先驗知識,如采用車道模型和車道邊緣檢測結(jié)果進(jìn)行匹配[7-9]。其中,消失點檢測的準(zhǔn)確性和實時性均直接影響到車道線參數(shù)值的確定。文獻(xiàn)[10]和文獻(xiàn)[11]中采用先檢測直線再根據(jù)檢測的直線來檢測消失點,準(zhǔn)確性高但實時性不佳。文獻(xiàn)[12]~文獻(xiàn)[14]中采用邊緣點的位置和方向角信息對消失點進(jìn)行投票,并在全局范圍內(nèi)對消失點進(jìn)行搜索,可較快定位消失點。
為使模糊的車道邊緣能夠被檢測且不產(chǎn)生大量的噪聲,本文中提出一種基于車道線寬度和邊緣點數(shù)量統(tǒng)計的邊緣檢測算法,能有效抑制噪聲的產(chǎn)生。同時針對傳統(tǒng)直線檢測比較耗時的問題,提出基于車道模型的消失點投票定位檢測方法,并將投票于消失點的邊緣點進(jìn)行分類和統(tǒng)計,在此基礎(chǔ)上實現(xiàn)車道線的快速檢測。
車道識別算法流程如圖1所示。
將整個車道識別算法分為車道線預(yù)提取和車道線跟蹤兩部分。車道線預(yù)提取階段初步獲得可能存在車道線的區(qū)域,分為高斯平滑濾波、邊緣檢測、消失點檢測、直線檢測和模型匹配多個過程,為車道線識別界定感興趣區(qū)域(ROI),提高算法實時性。若車道線預(yù)提取成功則表明道路可能存在車道線,此時進(jìn)入車道線跟蹤階段,否則重新對下一幀圖片進(jìn)行車道線預(yù)提取。車道線跟蹤階段在ROI內(nèi)分別進(jìn)行濾波、分方向邊緣檢測、局部消失點重定位、直線提取、標(biāo)志線特征確認(rèn)、模型匹配和參數(shù)尋優(yōu)等處理過程。若標(biāo)志線確認(rèn)成功則進(jìn)行車道模型匹配,否則轉(zhuǎn)入第一階段對下一幀進(jìn)行車道線預(yù)提取。若標(biāo)志線確認(rèn)和車道模型匹配成功,則對車道線參數(shù)進(jìn)行尋優(yōu);否則轉(zhuǎn)入第一階段對下一幀圖片進(jìn)行車道線預(yù)提取。如此反復(fù)循環(huán),完成車道識別過程。
道路視頻信息通過安裝在車輛前方的CCD攝像機實時獲取,試驗所用的圖像大小為640像素×480像素,每個像素代表一個單位長度,令圖像的行數(shù)和列數(shù)為M和N。建立的圖像坐標(biāo)系見圖2。
圖像預(yù)處理通過對圖像進(jìn)行平滑濾波處理,減少噪聲點的影響,并通過邊緣檢測突出道路邊緣。
2.2.1 高斯平滑濾波
將下述高斯型函數(shù)與圖像進(jìn)行卷積以模糊該圖像,圖像的模糊程度由σ值決定。
(1)
式中:G(Dx,Dy)為對應(yīng)點權(quán)重系數(shù),Dx、Dy為當(dāng)前點到對應(yīng)點的距離。
2.2.2 邊緣檢測
對常用的幾種邊緣檢測算子進(jìn)行圖像邊緣檢測時發(fā)現(xiàn),二值化時梯度閾值的大小對邊緣檢測的效果影響很大,具體表現(xiàn)為:當(dāng)梯度閾值選擇過大時,很難檢測出對比度小的圖像邊緣;當(dāng)梯度閾值選擇過小時會明顯增加噪聲點的數(shù)量,不利于圖像邊緣的提取。因而閾值的合理選擇比較困難。由于車道線具有一定的寬度,且寬度大小沿著圖像x軸正方向逐漸增加,但其最大寬度不會超過一最大值。而車道線邊緣灰度值分別存在x和y方向上的灰度躍變的特點,因而車道線邊緣點與同一行或列上的其它車道線點仍然構(gòu)成灰度躍變特性,且這樣的點數(shù)在y方向上一般不少于車道線的寬度(即車道線的像素數(shù))或大致相等。根據(jù)這一特點,邊緣檢測時若灰度躍變圖像像素個數(shù)不符合標(biāo)志線寬度條件則將其剔除,這樣可以減少非車道線邊緣噪聲的影響。
當(dāng)標(biāo)志線邊緣由于磨損等較為模糊時,車道線邊緣則形成一梯度很小的斜波數(shù)字邊緣模型,如圖3所示。常見的幾種邊緣檢測算子由于梯度閾值的限制,難以檢測出模糊車道線邊緣,而采用Laplace算子雖然可以準(zhǔn)確定位邊緣,但對噪聲極其敏感一般不作為原始邊緣檢測,采用Canny算子則耗時較多。仔細(xì)分析可以發(fā)現(xiàn),雖然模糊車道線邊緣y軸上前后像素的對比度小,但是當(dāng)兩像素y軸位置較遠(yuǎn)時二者之間的對比度仍然較大,這是因為即便斜波梯度小,但二者的y軸坐標(biāo)之差較大從而使得對比度增加。因此,通過計算y軸坐標(biāo)相鄰較遠(yuǎn)的兩像素灰度值之差來計算梯度值,則仍能檢測出較為模糊的車道線邊緣。
當(dāng)車輛在道路上正常行駛時,靠近道路消失線的遠(yuǎn)視野車道標(biāo)志線與x軸趨近于垂直,而遠(yuǎn)離道路消失線的近視野車道線與y軸的夾角隨著視野的靠近逐漸增大,因而這里在圖像的近景處和遠(yuǎn)景處分別采用不同掃描方向以獲得邊緣點。根據(jù)以上分析,總結(jié)出如下邊緣檢測算法。
在近景處(0~N/2像素長)和遠(yuǎn)景處(N/4~N/2像素長)內(nèi)進(jìn)行y正軸方向掃描,算法步驟如下。



其中,Tmin取較小的閾值,目的是為檢測到對比度小的車道線邊緣。車道線最小寬度wmin是為保證在濾掉噪聲的基礎(chǔ)上能檢測到寬度較小的車道線,其大小隨著像素點在x軸上坐標(biāo)的增大而增大。初始跳躍長度p的大小決定能夠檢測到的車道線模糊程度,若取得過大則可能會檢測不到寬度窄的標(biāo)志線,因而p的取值不宜過大且小于wmin。沿y軸反方向的邊緣掃描與上面類似,在近景處y軸(N/2~N像素長)和遠(yuǎn)景處(3N/4~N)內(nèi)進(jìn)行y軸反方向掃描,此時將邊緣點的灰度值置為200以區(qū)別掃描方向。
在遠(yuǎn)景處進(jìn)行x正軸方向掃描。
由于x正軸方向上車道線的兩邊緣點之間不能構(gòu)成車道線的寬度信息,且原圖像在遠(yuǎn)處的噪聲遠(yuǎn)比近景處的要小,因而這里不利用車道線的寬度信息,僅利用x軸方向上間隔像素點之間的灰度閾值之差進(jìn)行分析。算法步驟如下。


完成邊緣點檢測后在邊緣點處計算梯度角,并根據(jù)梯度角計算其方位角,方位角方向與梯度角方向垂直。這里不計算整幅圖像而計算邊緣點處的梯度角是為了減少算法執(zhí)行時間,同時為后面的直線和消失點檢測做準(zhǔn)備。
梯度角度計算公式為
αG(x,y)=arctan(Gy/Gx)
(2)
(3)
式中:Gx、Gy為利用Sobel算子計算得到的邊緣點處的x方向和y方向的梯度值。
圖5為邊緣檢測點對應(yīng)的方向角分布結(jié)果。
消失點的檢測對于整個車道識別過程尤為重要,消失點不僅代表道路的延伸方向,還為各車道線提供參數(shù)信息。為提高實時性,這里不采用常見的Hough變換檢測直線后根據(jù)直線檢測消失點的方法,而是根據(jù)采用邊緣點對未知消失點進(jìn)行投票選擇的方式進(jìn)行消失點定位。為提高實時性和可靠性,將消失點的位置圈定在消失線上,而消失線的x軸坐標(biāo)可以根據(jù)CCD相機安裝參數(shù)經(jīng)過坐標(biāo)變換得到[12]。
邊緣點對候選消失點的投票函數(shù)為
本實驗發(fā)現(xiàn),BCRD小鼠血漿中CORT、ACTH和CRH含量顯著增高,且腎上腺皮質(zhì)細(xì)胞間隙變寬,細(xì)胞增大,核深染,提示BCRD小鼠HPA軸處于功能亢進(jìn)狀態(tài),另外海馬DG區(qū)和CA3區(qū)神經(jīng)元出現(xiàn)明顯損傷,由此推測,BCRD小鼠的發(fā)病與HPA軸亢進(jìn)導(dǎo)致海馬海馬損傷密不可分。
(4)
式中:xVP為消失點的x軸坐標(biāo);αD(x,y)為邊緣點坐標(biāo)為(x,y)處的方向角;αA(xVP,yj)為坐標(biāo)為(xVP,yj)的候選消失點與邊緣點之間連接線的方向;τ為方向角度偏差的閾值。經(jīng)過邊緣點對候選消失點投票選擇后,消失點的位置坐標(biāo)為得票最多的候選消失點坐標(biāo),其表達(dá)式為
vp=maxvote(xVP,yj);j∈(0,N)
(5)
消失點檢測結(jié)果如圖6所示??梢钥闯?,不同工況下的消失點定位準(zhǔn)確性高。
在檢測到消失點后,本文中不采用Hough變換檢測直線,而通過對投票于消失點的邊緣點進(jìn)行分類和統(tǒng)計,以縮短車道識別算法的計算時間。當(dāng)邊緣點對候選消失點投票有效時,候選消失點記錄下邊緣點的方向角并對當(dāng)前方向角進(jìn)行統(tǒng)計。當(dāng)遍歷完所有邊緣點后,所有候選消失點均已記錄下不同方向角的邊緣點數(shù)量,這時對其進(jìn)行排序即可獲得直線的參數(shù)信息。不同工況下的車道線檢測效果如圖7所示。
檢測出的直線為車道線提取提供了參考,從檢測出的直線中篩選出候選的車道線也成為下一幀圖片中車道線跟蹤的目標(biāo)區(qū)域。由于車道線滿足車道模型的匹配關(guān)系,即車道線之間的距離應(yīng)滿足車道寬度的要求。
根據(jù)高速公路的設(shè)計準(zhǔn)則,當(dāng)車道由大地坐標(biāo)系經(jīng)過多重坐標(biāo)系轉(zhuǎn)換投影到像素坐標(biāo)系下時,車道線方程[7]可近似表示為
(6)
式中:fe為攝像機等效焦距;C0為道路曲率;φ為攝像機安裝俯角;H為攝像機安裝高度;d為車道線與道路中心的距離;θ為車道線與攝像機光軸在水平面投影的夾角;yVP為消失點在圖像坐標(biāo)系下的y坐標(biāo);xVP為消失點在圖像坐標(biāo)系下的x坐標(biāo);c0為圖像物理坐標(biāo)原點在像素坐標(biāo)下的縱坐標(biāo)。
由于車道模型匹配的為直線型車道,故車道模型可簡化為
y-yVP=B(x-xVP)
(7)
由于消失點的坐標(biāo)(xVP,yVP)和代表直線的斜率B均在檢測直線時已經(jīng)獲得,而參數(shù)攝像機安裝俯角φ和攝像機安裝高度H在標(biāo)定的過程中也已獲得,因而通過比較不同直線之間的斜率即可判斷不同直線之間的距離,從而對其是否為候選車道線進(jìn)行判斷。這里首先對每條直線進(jìn)行候選車道線的置信度計算,找出其中置信度最高的直線,然后以此直線為基礎(chǔ),根據(jù)車道寬度的要求對其它直線是否成為候選車道線進(jìn)行篩選。
第i條直線的候選車道線置信度函數(shù)為
(8)
(9)
式中:DISj為在消失點檢測過程中第j條直線上的邊緣點統(tǒng)計數(shù)量;NOL為檢測直線的總數(shù)量;vij為第i條直線與第j條直線之間滿足車道寬度的標(biāo)志;d為車道的寬度,分別取單車道、雙車道、三車道的寬度,單車道的標(biāo)準(zhǔn)寬度為3.5m;λ為車道寬度的判斷閾值。找出CLi中的最大值并將其視為最合理的車道線,同時在此基礎(chǔ)上根據(jù)車道寬度搜索剩余的其他候選車道線,若車道線缺失則補充相應(yīng)的候選車道線,這樣即可實現(xiàn)候選車道線的搜索過程。不同工況下的候選車道線搜索結(jié)果如圖8所示,可以看出,根據(jù)車道寬度的要求能夠準(zhǔn)確檢測出所有候選車道線。
若車道線預(yù)選取成功,則在下一幀圖片處理時以第一幀圖片中車道線的位置為基礎(chǔ),進(jìn)行車道線的跟蹤檢測,主要分為以下幾方面。
車道線跟蹤階段的預(yù)處理包含局部區(qū)域平滑濾波和基于車道線方向的邊緣檢測兩部分。平滑濾波圖像位置為圖9中箭頭所指區(qū)域。顯然濾波的區(qū)域比初幀檢測的要小,而對應(yīng)的邊緣檢測區(qū)域也相應(yīng)縮小。
邊緣檢測方向如圖9所示,在當(dāng)前車道(即中車道)左右兩側(cè)的直線周圍采用y軸雙方向掃描方式檢測車道線邊緣點,而在左車道和右車道分別進(jìn)行x軸的正方向掃描,這是因為當(dāng)前車道兩側(cè)車道線與y軸趨近于垂直而左車道的左側(cè)車道線與右車道的右側(cè)車道線與x軸趨近于垂直。相應(yīng)的平滑濾波算法和邊緣檢測算法與車道線預(yù)提取階段相同,這里不再重述。圖10為跟蹤階段的邊緣檢測圖,可以看出,跟蹤階段的邊緣檢測能檢測到當(dāng)前車道兩側(cè)車道線的雙邊緣,避免了其它非車道邊緣檢測帶來的噪聲干擾。
消失點的重定位方法依然與前面直線預(yù)提取時相同,只是投票的候選點區(qū)域發(fā)生了變化。預(yù)提取直線時候選點的區(qū)域為消失線一整行上,而由于車輛在行駛過程中會發(fā)生上下顛簸或者道路上下坡等情況時道路消失線在圖像坐標(biāo)系中會發(fā)生微小變化,因此這里將消失點的候選點區(qū)域設(shè)定為前幀消失點周圍矩形框內(nèi),實現(xiàn)消失點的跟蹤檢測,如圖9所示。
同理,在消失點檢測的基礎(chǔ)上對匯聚于消失點的邊緣點進(jìn)行分類統(tǒng)計即可檢測出不同方向的直線。圖11為跟蹤階段的直線檢測結(jié)果,可以看出,當(dāng)前車道左右側(cè)車道線的邊緣均被檢測為直線。
為減少陰影對車道識別算法的影響,針對陰影和車道線在邊緣檢測方向上的區(qū)別,加入車道標(biāo)志線進(jìn)行確認(rèn)。仔細(xì)分析可以發(fā)現(xiàn),車輛正常行駛時車道標(biāo)志線一般應(yīng)滿足如下關(guān)系:當(dāng)前車道左側(cè)車道線的左側(cè)邊緣點應(yīng)滿足Gx≥0且Gy>0,當(dāng)前車道左側(cè)車道線的右側(cè)邊緣點應(yīng)滿足Gx≤0且Gy<0,當(dāng)前車道右側(cè)車道線的左側(cè)邊緣點應(yīng)滿足Gx≥0且Gy<0,當(dāng)前車道右側(cè)車道線的右側(cè)邊緣點應(yīng)滿足Gx≤0且Gy>0。根據(jù)投影可知,兩條平行的車道線邊緣投影到像素坐標(biāo)系中會相交,且車道左側(cè)邊緣直線的方向角要比右側(cè)的小,二者的差值范圍可根據(jù)車道標(biāo)志線的寬度和相機標(biāo)定后估計得到。根據(jù)這一特征,可排除陰影邊緣直線對車道檢測的影響。
若車道標(biāo)志線確認(rèn)成功則對檢測直線進(jìn)行車道模型的匹配,匹配的算法和前面類似,只是將車道標(biāo)志線兩側(cè)的直線用內(nèi)側(cè)直線代替。跟蹤階段的車道線檢測結(jié)果如圖12所示。
若車道線匹配成功則對車道線進(jìn)行參數(shù)尋優(yōu)。當(dāng)前方車道為曲線型車道時,須在直線型車道的基礎(chǔ)上對車道的曲率等參數(shù)進(jìn)行尋優(yōu),以獲得更加準(zhǔn)確的車道信息。
尋優(yōu)的過程即為搜索式(6)中K和B使車道線上分布的邊緣點在滿足方向角度條件的情況下最多,保證非邊緣點被剔除。圖13為不同K和B值下的車道線分布圖。根據(jù)三車道的邊緣車道線參數(shù)可以很容易找出三車道中線,圖14為三車道的檢測結(jié)果,灰白色線為各車道的中心線。通過K和B的尋優(yōu)結(jié)果即可換算出車道的曲率和三車道各自的橫向距離及其方向偏差,并作為車輛輔助控制系統(tǒng)的控制參數(shù)。
對提出的三車道識別算法進(jìn)行實車試驗,以驗證算法的實時性。算法的運行環(huán)境為labvIEW PXI 8196,labvIEW上的圖像采集卡為PXI 1411。C代碼程序編譯環(huán)境VC++6.0,通過labvIEW中的CIN節(jié)點模塊調(diào)用VC++6.0中生成的動態(tài)鏈接庫文件(.dll)來實現(xiàn)車道識別算法,由筆記本電腦將程序下載至labvIEW主機中執(zhí)行并實時顯示結(jié)果。
圖15為三車道識別系統(tǒng)的軟件運行界面,其中左圖為三車道識別結(jié)果顯示,右圖為邊緣檢測結(jié)果顯示,圖中最右側(cè)為三車道參數(shù)信息輸出。視頻輸出速率為30幀/s,經(jīng)過測試,文中車道預(yù)提取階段的處理速度約為27ms/幀,跟蹤階段的處理速度約為15ms/幀,滿足車輛應(yīng)用的實時性要求。
(1) 提出一種基于車道線寬度和邊緣點統(tǒng)計的邊緣檢測方法,與常見的幾種邊緣檢測方法相比能夠準(zhǔn)確檢測較為模糊的車道邊緣,檢測的邊緣細(xì)膩且能抑制噪聲。
(2) 根據(jù)車載視覺傳感器安裝位置的不同,采用邊緣點對圖像的局部區(qū)域進(jìn)行消失點投票來檢測消失點,在多種路況條件下能準(zhǔn)確定位消失點。
(3) 對投票于消失點的邊緣點進(jìn)行分類統(tǒng)計來檢測直線,在多種路況條件下能準(zhǔn)確檢測直線。
(4) 根據(jù)車道模型中的車道寬度等信息設(shè)計車道線置信度函數(shù)能準(zhǔn)確提取車道線,避免了非車道線的干擾。
[1] Sharifi M. A Classified and Comparative Study of Edge Detection Algorithms[C]. International Conference on Information Technology:Coding and Computing,2002:117-120.
[2] Jung H G, Lee Y H, Kang H J. Sensor Fusion-Based Lane Detection for LKS+ACC System[J]. International Journal of Automotive Technology,2009,10(2):219-228.
[3] McCall J C, Trivedi M M. An Integrated, Robust Approach to Lane Marking Detection and Lane Tracking[C]. IEEE Intelligent Vehicles Symposium,2004:533-537.
[4] 郭磊,李克強,王建強,等.應(yīng)用方向可調(diào)濾波器的車道線識別方法[J].機械工程學(xué)報,2008,44(8):214-218.
[5] Song Jiqiang, Lyu M R. A Hough Transform Based Line Recognition Method Utilizing both Parameter Space and Image Space[J]. Pattern Recognition,2005,38(4):539-552.
[6] Song Jiqiang, Cai Min, Lyu M R, et al. A New Approach for Line Recognition in Large-size Images Using Hough Transform[C]. Pattern 16th International Conference on Recognition,2002,1:33-36.
[7] Zhou Yong, Xu Rong, Hu Xiaofeng, et al. A Robust Lane Detection and Tracking Method Based on Computer Vision[J]. Measurement Science and Technology,2006,17(4):736-745.
[8] Wang Yue, Teoh Eam Khwang, Shen Dinggang. Lane Detection and Tracking Using B-Snake[C]. IEEE International Conference on Intelligent Vehicles,1998:51-57.
[9] Liu Xin, Xu Xin, Dai Bin. Vision-based Long-distance Lane Perception and Front Vehicle Location for Full Autonomous Vehicles on Highway Roads[J]. Journal of Southeast University,2012,19:1454-1465.
[10] Longjard C, Kumsawat P, Attakitmongkol K, et al. Automatic Lane Detection and Navigation Using Pattern Matching Mode[C]. International Conference on Signal, Speech and Image Processing,2007:15-17.
[11] Liu Huajun, Guo Zhibo, Lu Jianfeng, et al. A Fast Method for Vanishing Point Estimation and Tracking and Its Application in Road Images[C]. International Conference on ITS Telecommunications,2006:106-109.
[12] Wu Qi, Zhang Wende, Chen Tsuhan, et al. Prior-Based Vanishing Point Estimation Through Global Perspective Structure Matching[C]. IEEE International Conference on Acoustics Speech and Signal Processing,2010:2110-2113.
[13] Zhou Shengyan, Jiang Yanhua, Xi Junqiang, et al. A Novel Lane Detection based on Geometrical Model and Gabor Filter[C]. IEEE Intelligent Vehicles Symposium,2010:59-64.
[14] Rasmussen C. Texture-Based Vanishing Point Voting for Road Shape Estimation[C]. Rasmussen-British Machine Vision Conference,2004:1-10.