段建民,張云飛,鄭榜貴
(北京工業大學 信息學部,北京 100124)
車道識別技術是汽車安全輔助駕駛系統中的關鍵技術之一,它可以在車道偏離時進行預警,降低交通事故的發生率。復雜道路情況下(如陰影干擾和瀝青路面泛白等)的識別準確率和魯棒性是車道識別的難點和關鍵。
許多研究者對其進行了深入的研究。常見的方法是先對圖像進行閾值化,然后采用邊緣檢測算法[1]提取車道輪廓部分,最后利用hough變換[2]或隨機抽樣一致(RANSAC)算法檢測車道線[3]。為了提高算法的實時性,Liu等[4]采用LSD算法[5]檢測車道線,但沒有考慮線段的相關性,所以在敏感的噪聲環境中提取直線時容易受到不相關線段的干擾;Ju等[6]利用所提取線段的強度來表示線段的相關性,但未考慮路面上其它交通標志的干擾的情況。為了提高車道線識別算法的魯棒性,一些研究者利用Kalman濾波器[7,8]對車道線進行跟蹤估計,Shin等[9]利用兩個獨立的粒子濾波器分別檢測左右兩個車道線。然而,這些算法通常只考慮左右兩個車道線的情況,多車道線的檢測依然是個難題。
圖像閾值化可去除大量的無用信息,提高直線檢測的準確性。在陰影遮擋或路面泛白的情況下,大津法、最大熵閥值分割法等常見的基于直方圖的全局閾值算法不能得到好的效果。Bernsen法[10]、局部自適應閾值法等局部閾值算法能取得好的效果,但需要手動設置參數。根據車道環境特點,本文提出一種改進SIS閾值[11]分割算法用于車道線檢測。
本文算法主要包括3個方面,算法主要流程如圖1所示。第一步,截取道路感興趣區(如圖2所示)并將其灰度化,然后采用閾值算法分割圖像;第二步,利用直線段檢測(LSD)算法提取直線,然后利用平行直線對估計消失點并根據消失點去除大部分誤檢;最后,利用車道線的連續性和車道間距建立車道線感興趣區,然后在感興趣區內尋找車道線,與傳統的基于模型的算法相比,此方法可以根據車道線數量自動調整車道線感興趣的數量。提出的算法不僅有效提高了車道線識別的實時性,而且提高了在其它車道標志和非道路區域干擾下的魯棒性。

圖1 算法流程

圖2 感興趣區
SIS(simple image statistics)算法是一種基于圖像本身統計特性的自動閾值選擇方法。算法過程簡單描述如下:
(1)計算每一個像素的水平和垂直方向梯度;
(2)取兩個梯度的最大值作為該像素權重;
(3)更新權重之和和加權像素之和;
(4)取加權像素之和和權重之和相除的值為最終閾值。
該算法執行速度快,適應于干擾較少,目標區域與背景區域有明顯梯度的圖像。其公式如下
(1)
式中:ex=f(x-1,y)-f(x+1,y),ey=f(x,y-1)-f(x,y+1),f(x,y) 是像素點(x,y)的灰度值。
SIS算法的思想是通過降低平滑區域像素權值并提高梯度邊緣像素權值來尋找最佳閾值,能在低噪聲的圖像中取得好的效果。但在有大量噪聲干擾的情況下,如果噪聲的灰度值在背景和目標之間,閾值會變小。而如果噪聲灰度值大于目標區域,閾值會變大。所以在陰影遮擋和路面泛白等復雜情況下,該算法同樣難以取得好的效果。
但無論在何種情況下,車道線的亮度都要比其周圍的道路更高一些,故可通過分離比鄰近點亮的區域來突出車道線。首先計算像素點周圍r×r區域灰度值的加權平均,然后用原值減去該值,如果小于零便將該點置零。這種方法的關鍵是選擇合適的參數r。如果取值過大,不僅會影響算法效率,而且不能取得好的效果。取值過小則只能突出邊緣,不能濾除噪聲。結合車道線檢測的具體環境并反復實驗,當r=15時可取得最佳效果,圖2中感興趣區域的處理結果如圖3所示。

圖3 高亮區域分離
圖3的灰度直方圖曲線如圖4(a)所示,這種情況很難通過基于直方圖的算法求得理想的閾值。一方面,在高亮區域分離圖中,高亮區域周圍像素的灰度值均為0,這些像素因為在邊緣而獲得較大的權值,使得閾值會受此影響而變小。另一方面,一些高亮度的噪點具有很大的權值,使得閾值會受到干擾而變大。為降低這兩個方面的影響,本文采用像素本身灰度值的平方根作為該像素的權值。這樣既去除了灰度值為0的像素的影響,又降低了高亮度的噪點對閾值的影響。閾值的計算公式如下
(2)

圖4 灰度曲線
改進算法與SIS算法相比省去大量計算,因為只需要對原直方圖進行計算便可以得到閾值,而不再需要對每個像素進行計算。根據直方圖計算閾值的公式為
(3)
式中:i——灰度值,Pi——該灰度值的像素個數。
加權后的直方圖曲線如圖4(b)所示,改進后的算法與原算法及OTSU算法的效果對比如圖5,圖6所示,其中圖5的原圖為圖2。圖5是在高亮度且有路面泛白和陰影干擾的情形下,SIS算法、OTSU算法和本文改進的算法都取得了好的效果。圖6是在低亮度和有陰影干擾的情況下,改進算法盡可能地保留了車道線,取得的效果最好。改進算法對環境的適應性更好,能更靈敏的響應圖像亮度和對比度的變化。通過實驗測試,SIS算法處理一幅圖片需要2.45 ms,OTSU算法需要1.49 ms,本文提出的算法僅需0.96 ms。

圖5 路面泛白情形下二值化對比

圖6 陰影遮擋情形下二值化對比
LSD是一種以梯度特征為基礎的直線檢測分割算法,它能夠在線性時間內提供亞像素級精度的結果。LSD算法首先計算每一個像素的梯度值及梯度方向,然后通過區域生長算法得到線段的外接矩形,之后依據矩形區域的角度和容差將矩形區域分割。最后,對每一個矩形采用Contrario方法和Helmholtz原理進行驗證,通過虛警數約束控制線段檢測的誤檢率。
LSD算法的初衷是為了盡可能的準確檢測圖像中的直線段。但在車道線檢測中,需要抑制道路兩邊欄桿、路燈、樹木和路面噪聲的干擾。因為車道線都是長度較長的直線,所以可通過調整外接矩形的角度來去除干擾。LSD算法首先會對圖像進行高斯下采樣。調小采樣值,既可以放大外接矩形的角度,又可以減小時間消耗。LSD算法默認采樣尺度W=0.8,當W=0.8時可以保留圖像的很多細節,但帶來了背景和路面的噪聲。將采樣尺度調小,既減少了時間消耗,又去除了部分噪聲。但如果采樣尺度過小,直線檢測的效果則不能滿足要求。通過大量實驗對比,將W的值設置為0.4時,取得的效果最好。如圖7所示,即可以滿足車道線檢測的要求,又去除了誤檢。

圖7 直線段檢測
LSD算法可以將檢測所得到的線段的端點坐標直接輸出。以橫坐標為Y軸,縱坐標為X軸,這條線段所在的直線可以被表示為
Y=kX+b
(4)
式中:k和b——直線的斜率和Y軸截距,對斜率k求反正切值可以得到直線的角度值θ。
道路場景圖像中車道線邊緣一般是一對平行線,消失點往往是車道線的交點。故可以通過提取平行線對來估計消失點位置。這種方法的關鍵是篩選合適的直線和合適的交點。根據車道線的特點定義如下規則篩選平行直線對:
(1)去除長度小于5的線段的干擾;
(2)在連續視頻圖像序列,根據道路方向去除部分干擾;
(3)將夾角不超過2°,Y軸截距相近的兩條直線作為平行直線對。
通過以上規則提取平行線對之后,可以求解得到交點集Vc={V1,V2,V3,…,Vn},n為交點個數。
去除交點集里的干擾點是準確估計消失點的關鍵。由車道線和道路欄桿形成的交點在一定的鄰域內密集分布,而干擾點在點集中占比較小,且往往是孤立點。另一方面,車輛變道造成的消失點位移是有規律的,可通過卡爾曼濾波算法來預測消失點的位移。所以估計消失點位置的步驟如下:
(1)采用卡爾曼濾波算法預測當前幀的消失點位置;
(2)去除與預測的消失點距離大于閾值D的交點;
(3)統計剩余每個交點r×r鄰域內的交點個數;
(4)找到鄰域內交點個數最多的交點;
(5)對該交點鄰域內的所有交點求均值,即為最終的消失點。
該方法計算量小,有很強的抗干擾性。選取500張道路場景圖像對該方法進行測試,把檢測到的消失點位置與真實的消失點位置距離小于10的情況視做檢測成功,成功率可達98.17%。在消失點檢測成功的情況下,可以去除那些與消失點距離較大的直線,從而去除干擾。
如圖8所示,以直行標志為例,車道線與直行標志最大區別是車道線由多條連續線段組成,所以可以計算得出箭頭、文字等在感興趣區內連續出現的幀數P。利用直行標志被檢測的位置到車輛的距離、車輛的行駛速度和視頻的幀率就可以計算出P值,公式如下
(5)
式中:S——箭頭、文字等被檢測的位置到車輛的距離,F——視頻幀率,v——車輛的行駛速度。

圖8 車道線與直行標志
在連續的視頻幀中,P值可以作為判斷車道線是否存在的閾值。如果一條直線是車道線,那么它至少應該在連續P幀圖像中都出現。
IPM圖像是將攝像機視圖轉換為從上到下的俯視視圖。假設地面為零,相機分辨率為m×n像素,視場角為2α×2β弧度,θ為攝像機俯仰角,相機到地面距離為h。大地坐標系[u,v]到圖像坐標系[x,y]轉換關系如下[12]
(6)
圖像中的點可通過這個方程得到大地坐標系中的對應點。因為LSD算法的輸出結果便是線段的端點坐標,所以不需要將圖像轉換為俯視圖,只需計算兩個端點的坐標便可以得到大地坐標系下線段的對應位置。之后就可以計算得出相鄰直線之間的間距d。在現實情況中,機動車道的寬度在2.45 m到3.75 m之間,可以以此建立車道寬度約束。
采用道路方向和消失點約束并不能去除其它交通標線和非道路區域中與車道線平行的干擾,而一些采用車道模型的方法又限制了車道線的數量,所以本文利用車道線的連續性和相鄰車道線之間的間距建立車道線感興趣區。
在利用消失點去除誤檢后,利用式(6)得到剩余直線在IPM圖中的對應位置,如圖9中的左圖。在處理第一幀圖像時,將距離較近的直線合并成一條直線。然后計算相鄰直線的間距,保留那些間距符合車道寬度的直線。最后將間距一致的一組直線作為車道線。在接下來的視頻幀中,以第一幀圖像檢測到的車道線為中心建立感興趣區,如圖9中的右圖。再根據如下策略調整車道線感興趣區:
(1)將直線分成兩類,在車道線感興趣內的為A類,不在的為B類,集合C存放著之前幀的B類直線。當前幀的B類直線首先與集合C中的直線進行匹配,如果兩條直線角度θ和Y軸截距b都很接近,就認為匹配成功。集合C中匹配成功的直線繼續保留并被標記,匹配失敗的直線將被去除。而與集合C中的所有直線都匹配失敗的B類直線將加入集合C中。
(2)如果集合C中的一條直線連續P次匹配成功,便計算它跟相鄰的車道線感興趣區中心線之間的間距d,以判斷這條直線是否是新車道線。如果距離d在2.5 m和4 m之間,則這條直線是新車道線,并據此建立新的感興趣區。如果不是新車道線,則判定這條直線是干擾并在集合C中去除這條直線。
(3)在車道感興趣區內尋找與前幀車道線位置最接近的A類直線,并根據這些直線的位置調整車道線感興趣的位置。如果在車道線感興趣內未能找到候選車道線,就標記此車道線感興趣區。
(4)在一個車道線感興趣區被連續標記的次數超過P次情況下,如果該車道線為最外側車道線便直接去除此感興趣區。如果為內側車道線,需計算它相鄰的兩條車道線的距離。小于4 m便去除此感興趣區,否則繼續保留此感興趣區,并在下一幀中擴大此感性興趣區的搜索范圍。

圖9 確定車道線感興趣區域左:IPM圖中的對應直線,右:車道線感興趣區域
根據以上策略,感興趣區的數量可根據車道線的數量自動調整。在根據IPM圖中的直線調整感興趣區之后,利用式(6)將車道線的端點再轉換到原圖像中。
因為車道線識別的研究往往是針對于某一復雜場景,并沒有標準化的測試數據集。為了評估所提出的算法在結構化道路上的性能。首先采用加州理工學院的車道數據集進行驗證。該數據集包括4段城市道路視頻,共1224幀,分辨率均為640×480,涵蓋了樹木陰影、其它車道標志、車輛行駛、路面泛白和水泥道路等情況。并且與同樣針對多車道線檢測的文獻[13]作了對比,結果見表1。然后采用在北京高速路拍攝的兩段視頻對提出算法在高速公路上的性能進行了驗證。這兩段視頻總幀數為7500幀,分辨率同樣為640×480,包含多輛汽車干擾、車輛變道和不同行駛速度等情況,結果見表2。測試平臺采用VS2013和OpenCV平臺。硬件平臺采用Intel(R)Core(TM)i5-2400 CPU、GT430顯卡和4GB內存。

表1 城市道路實驗對比

表2 高速公路測試結果
提出的算法識別誤檢率低,能適應不同道路環境,在單車道情況下有很高的魯棒性。算法每幀耗時為16.07 ms,有很強的實時性,能滿足每秒60幀的高速攝像頭檢測。算法在多種工況下的識別效果如圖10所示。

圖10 各種工況下的車道線識別
本文針對車道線檢測時會遇到的光照變化、路面狀況不同以及陰影干擾等復雜環境,提出了改進的SIS閾值算法來適應此類情況。采用LSD算法進行直線檢測,與采用Hough變換的檢測方法相比,LSD算法省去了邊緣檢測過程,極大地降低了算法的耗時。同時,本文利用消失點和自適應車道線感興趣區去除了來自陰影、車輛和道路中其它標志的干擾,降低了算法的誤檢率。實驗結果表明,本文提出的改進算法在提高了檢測準確率的基礎上,同時滿足了實時性與魯棒性的要求,并且對多種工況以及復雜環境的干擾具有很強的適應性。
[1]Li Chuanxiang,Dai Bin,Wang Ruili,et al.Multi-lane detection based on omnidirectional camera using anisotropic steerable filters[J].IET Intelligent Transport Systems,2016,10(5):298-307.
[2]PENG Pai,WANG Yaonan,LING Zhigang,et al.Robust method for urban road detection and departure warning[J].Journal of Electronic Measurement and Instrument,2015,29(5):685-691(in Chinese).[彭湃,王耀南,凌志剛,等.一種適用于城市道路檢測及偏離報警的方法[J].電子測量與儀器學報,2015,29(5):685-691.]
[3]FAN Chao,DI Shuai,HOU Lilong,et al.Lane marking detection technique based on improved RANSAC algorithm[J].Automotive Engineering,2014,36(4):503-509(in Chinese).[樊超,狄帥,侯利龍,等.基于改進 RANSAC算法的車道線識別方法[J].汽車工程,2014,36(4):503-509.]
[4]Liu Weirong,Li Shutao,Xu Huang.Extraction of lane mar-kings using orientation and vanishing point constraints in structured road scenes[J].International Journal of Computer Mathematics,2013,91(11):2359-2373.
[5]Grompone G R,Jakubowicz J,Morel JM,et al.LSD:A line segment detector[J].Image Processing on Line,2012,2(4):35-55.
[6]Ju Han,Yoo Dong,Hwan Kim,et al.A new lane detection method based on vanishing point estimation with probabilistic voting[C]//IEEE International Conference on Consumer Electronics.Las Vegas:IEEE,2015:204-205.
[7]CHEN Tao,ZHANG Hongdan,CHEN Dong,et al.Lane detection based on high priority pixels and tracking by Kalman filter[J].Automotive Engineering,2016,38(2):200-205(in Chinese).[陳濤,張洪丹,陳東,等.基于優先像素與卡爾曼濾波追蹤的車道線檢測[J].汽車工程,2016,38(2):200-205.]
[8]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(5):1454-1465.
[9]Shin BS,Tao JL,Klette R.A superparticle filter for lane detection[J].Pattern Recognition,2014,48(11):3333-3345.
[10]Puneet P,Garg N.Binarization techniques used for grey scale images[J].International Journal of Computer Applications,2013,71(1):8-11.
[11]GAO Fei.Text detection and extraction from document images[D].Tianjin:Hebei University of Technology,2012:7(in Chinese).[高飛.圖像中文本信息的檢測與提取[D].天津:河北工業大學,2012:7.]
[12]LAI Zhiming.Inverse perspective mapping algorithm suitable for low-resolution[J].Computer Engineering and Design,2013,34(10):3551-3555(in Chinese).[賴智銘.適用于低分辨率的逆透視映射算法[J].計算機工程與設計,2013,34(10):3551-3555.]
[13]PENG Hong,XIAO Jinsheng,SHEN Sanming,et al.A fast algorithm based on RANSAC for vision lane detection[J].Journal of Shanghai Jiaotong University,2014,48(12):1721-1726(in Chinese).[彭紅,肖進勝,沈三明,等.一種基于隨機抽樣一致性的車道線快速識別算法[J].上海交通大學學報,2014,48(12):1721-1726.]