(湖南工程學(xué)院 電氣信息學(xué)院, 湖南 湘潭 411104)
“互聯(lián)網(wǎng)+城市交通”提出構(gòu)建智慧城市、推進(jìn)智慧出行[1],但我國城市交通面臨著諸多問題,例如汽車行駛的安全問題和擁堵問題等。為了應(yīng)對交通安全問題,自動駕駛系統(tǒng)或輔助駕駛系統(tǒng)成為研究熱點。在自動駕駛系統(tǒng)和輔助駕駛系統(tǒng)中,車道線是重要的交通標(biāo)識,針對復(fù)雜城市交通下的智能車道線檢測具有較好的應(yīng)用前景[2],車道線智能檢測是高級汽車輔助駕駛系統(tǒng)中的關(guān)鍵基礎(chǔ)技術(shù),通過分析車輛道路環(huán)境信息,為駕駛員提供警示或提醒,因此車道線識別成為安全駕駛中需要解決的關(guān)鍵問題。
傳統(tǒng)單一的Hough變換在車道線檢測實時性和檢測精度方面很難達(dá)到平衡,Umar等人[3]采用單一Hough變換,通過估計車道標(biāo)記位置,同時利用已知的方法變換坐標(biāo)[4-6]來表示車道線方向,最后通過擬合拋物線來檢測車道線,雖然在正確率上達(dá)到94%,但是該算法實時性不夠。Felix等人[7]和Pradnya等人[8]提出一個實時的車道線檢測算法,采用單一Hough變換,同時估計中間車道、突出車道線的邊緣、檢測車道線標(biāo)記特征[9-10],處理速度上每幀圖像處理時間小于1s,但是車道線檢測識別正確率剛剛達(dá)到90%。
目前,Zhou等人[11]提出了一種基于幾何模型和Gabor濾波器[12-14]的魯棒車道檢測算法,可以克服由于邊緣檢測中的不準(zhǔn)確性而導(dǎo)致的車道檢測問題。但這些方法在實際場景中實時性不夠,并且僅使用了車道的單個特征。Wei等人[15]提出了一種基于Harr和方向梯度直方圖(HOG)特征相結(jié)合的兩步檢測算法。該算法充分利用目標(biāo)車輛的HOG特征優(yōu)勢,即HOG特征的良好描述能力,利用Harr特征提取前景區(qū)域(ROI),但在實際場景中算法實時性有限。
在本文中,我們針對復(fù)雜城市交通場景中車道線標(biāo)記模糊且復(fù)雜多樣的情況,提出了一種實時車道平行線檢測算法,首先對車道線視頻序列進(jìn)行圖像預(yù)處理,為提高算法的實時性,進(jìn)行ROI區(qū)域提取,采用改進(jìn)灰度化對黃色區(qū)域和白色區(qū)域進(jìn)行重點突出;為了提高算法的魯棒性,在車道線預(yù)處理后進(jìn)行圖像增強(qiáng),獲得更強(qiáng)的車道線特征,采用改進(jìn)Gabor濾波器用于過濾非車道標(biāo)記,消除大量的噪聲,增強(qiáng)車道邊緣特征并抑制背景區(qū)域,Sobel邊緣檢測更好的提取車道線的邊緣信息;為了提高算法的檢測精度,使用多約束條件下的霍夫變換,基于幾何角度約束和消失點估計約束,獲得準(zhǔn)確的車道線位置。通過在三種不同交通場景的實驗表明,本文提出的方法優(yōu)于傳統(tǒng)的Hough變換方法,車道線檢測精確度高,具有較高的實時性,可應(yīng)用于實時車道線檢測系統(tǒng)。
圖1 總體算法流程圖
通過車載行車記錄儀采集的實驗視頻存在兩個主要的問題,圖像的尺寸大和行車記錄儀的水印遮擋。為了減少圖像預(yù)處理的計算量,提高算法的處理速度,將道路圖像劃分為兩部分,無關(guān)信息區(qū)域部分A和感興趣區(qū)域(ROI)部分B,并在車輛行駛的正前方視角內(nèi)提取ROI區(qū)域。其次是通過定位將特定位置的水印顏色值進(jìn)行降低,以免影響后續(xù)的閾值二值化,提高車道線檢測的魯棒性。
如圖2所示,提取ROI區(qū)域可以幫助去除大量與目標(biāo)任務(wù)不相關(guān)的信息(如天空和周圍建筑),剩下目標(biāo)區(qū)域便于提高算法準(zhǔn)確率和減少圖像處理的計算量。其中(a)是ROI區(qū)域提取圖,(b)是水印弱化處理效果圖。
圖2 道路圖像ROI區(qū)域提取
為了提高圖像的處理速度和簡化圖像處理算法,需要對采集到的彩色圖像進(jìn)行灰度化,原圖一般都以RGB色彩空間表示。B顏色通道的有無對車道線檢測影響不大[16]。本文主要針對城市多道路,采用改進(jìn)的灰度化方法,讓車道線標(biāo)志二值化的特征更加突出,從而為后續(xù)的邊緣提取和Hough變換提供方便,可提高車道線檢測的準(zhǔn)確性。采用如下的灰度化方法:
Gray=α*R+β*G
(1)
式中:α、β表示權(quán)重系數(shù),其中α+β=1.
通過實驗仿真取α=0.625,β=0.375。如圖3所示,通過改進(jìn)灰度化處理,對白色和黃色區(qū)域重點突出,從而更有利于后續(xù)的濾波處理和車道線邊緣檢測,提高算法檢測的實時性。
圖3 不同灰度化結(jié)果
由于天氣條件、行車環(huán)境、實驗設(shè)備等條件的影響,圖像在采集、傳輸過程中會產(chǎn)生熱噪聲、光電子噪聲、信道傳輸噪聲及量化噪聲等,進(jìn)而會對圖像最后的成像質(zhì)量產(chǎn)生影響[16]。本文采取三種濾波算法對灰度圖像進(jìn)行濾波處理。通過對比分析可以知道,Gabor濾波法不僅可以捕獲對應(yīng)于空間位置、空間頻率和方向選擇性的局部結(jié)構(gòu)信息,而且用于邊緣檢測可以在多方向和多尺度上提取邊緣信息。根據(jù)拍攝角度的先驗知識,使用Gabor濾波器在左側(cè)車道上進(jìn)行45°采樣,在右側(cè)車道上進(jìn)行135°采樣[17]。
圖4 不同濾波算法處理結(jié)果比較
通過對比分析可以知道,三種濾波去噪方法對于車道線處理效果差異不是特別大,但是由于高斯濾波的優(yōu)勢在于消除椒鹽噪聲,使得圖像更加平滑;均值濾波對斜坡信號和階躍信號不敏感;Gabor濾波在進(jìn)行車道線檢測時能較好保留圖像的邊緣信息,因此選擇Gabor濾波對車道線圖像進(jìn)行去噪。
在圖像中,二維的Gabor濾波器是一個窄帶通濾波器[18],其功能是由高斯函數(shù)調(diào)制的復(fù)雜正弦柵格,即:
(2)
式中,x0=xcosθ+ysinθ,y0=-xsinθ+ysinθ,其中的x,y是空間域中的像素位置,ω0是濾波器的中心頻率,θ是Gabor小波的方向,σ是高斯函數(shù)沿兩個軸的標(biāo)準(zhǔn)偏差,ω0和θ分別確定Gabor濾波器的頻率范圍和方向,他們之間的關(guān)系確定為:
(3)
其中:Wt是小波時域窗口,當(dāng)確定參數(shù)σ時,其寬度與頻域的中心頻率成反比。
基于改進(jìn)的Gabor濾波器的車道線圖像增強(qiáng),主要是通過在改進(jìn)的灰度化處理的車道圖像上使用兩個方向不同角度的Gabor濾波器來獲得車道增強(qiáng)圖像。
二值化效果將直接影響到車道線檢測的結(jié)果,合適的閾值則是保證二值化效果的關(guān)鍵。本文在Gabor濾波器增強(qiáng)過后提取ROI區(qū)域圖像,采用最大類間方差法(OTSU)進(jìn)行計算閾值,將圖像進(jìn)行二值化分割,最后采用掩膜運算將圖像的正下方車道線增強(qiáng),去除護(hù)欄、污跡和路邊的干擾線。
在二值圖像進(jìn)行邊緣檢測之前,先通過圖像的形態(tài)學(xué)閉運算,用來填充物體內(nèi)細(xì)小空洞、連接鄰近物體、平滑其邊界的同時并不明顯改變其面積,從而提高邊緣檢測的精確度和輪廓的連續(xù)性。傳統(tǒng)的Sobel算子分別檢測出圖像在水平和垂直方向上的邊緣,但是存在偽邊緣的缺陷[19]。本文根據(jù)行車記錄儀采集的圖像中車道線的方向特征,主要呈現(xiàn)傾斜角度的直線,采用改進(jìn)的Sobel算子檢測,利用45°方向的和135°方向的Sobel算子能夠檢測出圖像在斜向的邊緣特征。
G450和G1350分別表示45°方向的和135°方向的車道線邊緣檢測,Image表示輸入的待檢測的車道線圖像,其公式如下:
(4)
45°方向和135°方向上的一階差分平方和之后再進(jìn)行開方得到Sobel邊緣檢測算子的定義如下公式:
(5)
如圖5所示,(a)和(c)是第10幀分別在45°和135°上的Sobel邊緣檢測,(b)和(d)則是第50幀兩個方向上的邊緣檢測,增強(qiáng)了車道線在傾斜方向上的特征。有利于提高檢測的魯棒性。如圖6所示,改進(jìn)的Sobel邊緣檢測算子運算速度快,能夠有效抑制其他方向邊緣的干擾,并且車道線邊緣特征得到了較好地增強(qiáng),在綜合性能上比傳統(tǒng)的Sobel算子有較大提高。
圖5 改進(jìn)Sobel算子分別在45°和135°方向檢測結(jié)果示意圖
圖6 不同Sobel算子處理結(jié)果
霍夫變換的基本原理是把圖像空間上的點對應(yīng)到參數(shù)空間上,通過在參數(shù)空間里進(jìn)行簡單的累加,尋找累加器峰值檢測直線,被廣泛用來進(jìn)行車道線的檢測[20,21]。 傳統(tǒng)霍夫變換往往需要結(jié)合其他多種車道特征或機(jī)器學(xué)習(xí)分類算法提高檢測率,實時性受到限制?;贖ough變換消失點估計約束方法[22]在準(zhǔn)確率和檢測速度上都有所提高,本文提出基于角度和消失點估計的多約束霍夫變換,具體如下。
通過行車記錄儀采集到的道路圖像往往具有強(qiáng)烈的透視效果,原本平行的車道線線條會出現(xiàn)相交的情況,車道線之間的間隔在圖像的遠(yuǎn)端變得很小,不利于車道線的辨識和檢測。在前述圖像預(yù)處理、圖像增強(qiáng)的基礎(chǔ)上,已很大程度上消除了大量的干擾點。而霍夫變換檢測到的線段不一定是車道線,本文提出采用基于角度θ的霍夫變換約束,消除大量非車道線標(biāo)記,提高車道線檢測精度。車道線標(biāo)記一般位于車輛上安裝的行車記錄儀采集圖像的兩邊,與車道的中線呈現(xiàn)一定的夾角,所以左右斜率會約束在一個范圍內(nèi)(θmin< θ < θmax),在實驗中,對于左邊的線段進(jìn)行檢測,選擇約束范圍:
(6)
如果所選的線段超出范圍,則視為干擾信號,同時對于右邊的線段選擇約束范圍:
θmax=-200
(7)
式中,Hroi表示ROI區(qū)域的高度,Wroi表示ROI區(qū)域的寬度。同時利用霍夫變換函數(shù)的特點,通過預(yù)先設(shè)定角度閾值,篩選除車道線以外的干擾直線,為下一步減少計算負(fù)擔(dān),提高準(zhǔn)確性。同時通過車道線在中心線兩側(cè)的概率分布,計算檢測線段的長度,通過長度閾值篩選出目標(biāo)車道線,更有利于下一步基于消失點約束估計確定平行車道線,從而獲得最終的目標(biāo)車道線。
基于幾何角度θ的約束消除了大多數(shù)冗余線段。算法的下一步旨在選擇定義車道標(biāo)記的線段。在這方面,我們使用以下假設(shè):從車道標(biāo)記中提取的線段在消失點處會聚,并且其延伸與消失點相交的線段可定義為車道和道路邊界的劃分,從而利用車道標(biāo)記收斂于消失點的假設(shè)來估計消失點的位置。找到這一點的普通方法是窮盡地計算從每個像素到線段所屬的所有線的垂直距離,并選擇大多數(shù)線相交的像素,計算量大而不適用于實時系統(tǒng);因此,采用本文基于消失點的約束來找到平行于車道的線段的消失點,消除非車道線標(biāo)記,則可以提高車道線檢測的精度。
道路圖像一般具有相似的幾何結(jié)構(gòu),在針孔相機(jī)成像原理和圖像的透視效應(yīng)下,三維場景中不平行于相機(jī)平面的平行線,在圖像采集后會在二維平面相較于一點,該點稱為消失點(Vanishing point),另稱滅點[22]。消失點在檢測道路車道方面起著重要作用,因為車道在真實世界的3D空間中是平行的,但它們在二維相機(jī)圖像中車道最終會在消失點相遇。因此,對于自動駕駛消失點檢測是必要的。消失點檢測(Vanishing point detection)的算法有很多種,通過Ransac[22]、車道紋理方向[23]、harmony search[24]等算法都有應(yīng)用。但本文采用基于消失點的性質(zhì)作為約束條件,提高了對車道線的檢測精度,尤其是對干擾線段具有很好的濾除作用。
如圖7所示為消失點約束示意圖,首先建立坐標(biāo)系XOY,O為提取ROI區(qū)域圖像寬的中點,在坐標(biāo)系XOY中建立圖像中車道線和消失點的關(guān)系,當(dāng)前幀的消失點坐標(biāo)為V(vx,vy)。L是待檢測的車道線,過原點O作L的垂線,垂點為P(px,py),長度為ρ,傾斜角為θ。根據(jù)消失點V和原點O的幾何性質(zhì)可得:
△ρ=|pxcosθ+pysinθ-ρ|
(8)
當(dāng)△ρ在一個預(yù)先設(shè)定的閾值內(nèi)時,則檢測的線段為目標(biāo)車道線,采用消失點約束估計,可以濾除非車道線部分,獲得準(zhǔn)確的車道線位置。
(9)
式中,Er是右側(cè)近似誤差的總和,被定義是實際車道線減去近似檢測線;El在左側(cè)是相同的定義。如果Er和El為正,則表示設(shè)置消失點位于左側(cè)。
圖7 消失點估計約束示意圖
通過以上基于角度和消失點的多約束霍夫變換,則可最終獲得車道線檢測結(jié)果。
為驗證本文算法的準(zhǔn)確性和實時性,在實驗平臺上進(jìn)行仿真實驗,實驗平臺包括硬件和軟件兩個部分:硬件環(huán)境為Intel(R) Core(TM) i5-4210U CPU @1.70 GHz 2.40 GHz,內(nèi)存4 G,軟件環(huán)境為Windows7系統(tǒng),編譯環(huán)境為MATLAB2017b。視頻數(shù)據(jù)是比亞迪電動汽車的車載行車記錄儀在湘潭市的城區(qū)多道路上行駛采集的,包括三種不同場景,正常光照,車輛遮擋,光照較弱,幀率為30 fps,分別截取視頻序列,進(jìn)行實驗結(jié)果仿真分析。
為了驗證算法在復(fù)雜場景下車道線識別檢測的精確性和快速性,選取3段不同場景下的行車視頻,在正常光照、車輛遮擋、光照較弱的行車路段進(jìn)行車道線檢測實驗。如表1所示,三種不同復(fù)雜城市交通場景下的識別率都高于90%,正常光照下識別率能達(dá)到96%以上,而且車道線的三種不同場景的平均識別速率能達(dá)到36 ms/frame,在正常交通場景下識別速率最快可達(dá)到30 ms/frame,完全可達(dá)到實時性要求。
表1 三種場景統(tǒng)計結(jié)果表
如圖8所示,(a)(b)(c)分別為三種不同復(fù)雜城市交通狀況原圖,(d)(e)(f)分別為正常光照下不同幀實驗結(jié)果圖,(g)(h)(i)分別為三種不同復(fù)雜城市交通狀況實驗結(jié)果圖。從圖中可見,實驗通過對不同幀、不同場景下的測試結(jié)果,根據(jù)檢測結(jié)果分為車道線檢測無誤、車道線檢測不完整漏檢、車道線誤檢三種情況。在正常光照下,車道線會出現(xiàn)較少的漏檢,但誤檢基本上不存在。因車輛遮擋車道線,會出現(xiàn)少量漏檢。在光照較弱,車道線會被檢測錯誤,可采用啟動車輛前照燈進(jìn)行提高亮度。
圖9 傳統(tǒng)Hough變換[8]
如圖9所示,如采用傳統(tǒng)Hough變換算法進(jìn)行對比實驗[8],車道檢測的精度和魯棒性有明顯的下降,左右車道線檢測存在偏差,檢測精度較差。
同時實時性檢測對于駕駛輔助系統(tǒng)是不可或缺的,如果實時性達(dá)不到要求,那系統(tǒng)就不能在車輛發(fā)生危險之前發(fā)出警報,這樣的系統(tǒng)無疑是不符合交通場合的應(yīng)用。我們統(tǒng)計了算法在三種不同復(fù)雜城市交通情況下正確率和平均每幀處理時間的實驗結(jié)果。下面以正常光照情況為例,從表2可知,在正常的城市交通下每幀處理時間只有30 ms,算法的簡易性符合實時性要求,同時記錄了算法各個步驟的處理時間。
表2 系統(tǒng)各步驟處理時間
圖10 兩種算法各步驟處理時間比較
在表3中,我們嘗試將本文的算法結(jié)果與文獻(xiàn)[8]單一傳統(tǒng)Hough變換的結(jié)果進(jìn)行比較,所選的數(shù)據(jù)集仍是三種不同場景的復(fù)雜城市交通狀況,本文的方法在復(fù)雜城市交通狀況具有明顯優(yōu)勢,可達(dá)到快速檢測的實時性要求。
表3 不同算法的處理速度與識別率
本文針對復(fù)雜城市交通場景下的車道線檢測,為提高檢測的魯棒性和實時性,提出一種實時車道線快速檢測算法。
首先用ROI區(qū)域提取和改進(jìn)灰度化提高算法的實時性;再采用圖像增強(qiáng)及改進(jìn)的Gabor濾波進(jìn)行圖像去噪,及通過Sobel算子進(jìn)行邊緣檢測提取邊緣特征,最后提出多約束的霍夫變換,基于車道線中心線分布的不同角度,利用分段函數(shù)選取車道線斜率;并將車道線與其消失點之間的幾何關(guān)系用來檢測識別車道線,提高車道線檢測識別的準(zhǔn)確率。實驗結(jié)果表明,該算法精度在不同場景中均可達(dá)到92%以上,平均識別速率可達(dá)到36ms/frame以下,達(dá)到實時性要求,可實現(xiàn)車道線的快速實時的準(zhǔn)確檢測。
本文核心算法還可應(yīng)用于其他場合的平行線檢測中,如室內(nèi)移動導(dǎo)航的走廊邊界檢測或移動輸電線路系統(tǒng)的輸電線路的檢測,具有較大的應(yīng)用前景。