穆柯楠,王會峰,趙祥模
(1.長安大學 電子與控制工程學院,陜西 西安 710064;2.長安大學 信息工程學院,陜西 西安 710064)
當前無人駕駛技術是智能交通領域的研究熱點,國內外眾多科研院所、企業的大量科研投入大大推進了無人駕駛技術的迅猛發展。車道線作為車輛進行車道保持、變道等駕駛行為的必要信息,是無人車行車環境感知中的一項重要環境數據,因此車道線檢測方法的性能優劣對無人車環境感知系統性能乃至整個無人車駕駛系統的安全性有著不可忽視的影響。
車道線檢測的主要目的是從視頻圖像中提取車道線的位置信息。目前常用的車道線檢測方法大致可分為基于區域、基于特征和基于模型3類[1-3],其中基于模型的車道線檢測方法通常基于結構化道路的車道線走向可用特定的數學模型來逼近這一思想,針對直線型、拋物線型、蛇型等不同走向的車道線采用直線、拋物線、雙曲線、樣條曲線等數學模型來擬合,從而在保證車道線檢測準確性的同時大大降低檢測成本[4-10]。樣條曲線由分段多項式表達,可精確擬合任意形狀的曲線,因此在車道線檢測中得到了廣泛應用[11-14]。Berriel等[15]深入研究了B樣條曲線在描述更廣泛類型車道線曲線擬合中的應用。Cao等[11]基于三階B樣條曲線模型,采用隨機樣本共識算法對車道線的曲線進行擬合,并對曲線進行了擬合評估和曲率半徑計算。唐濤[12]在車道線特征點聚類的基礎上,為更好地描述高速公路車道線形狀,采用三次B樣條曲線作為車道線模型。周慧子等[13]利用三次樣條曲線的二階連續性,結合已知的車道信息實現了車道線檢測。穆柯楠[14]進一步考慮非均勻B樣條曲線在描述車道線方面的優越性,在根據車道線邊緣信息確定樣條曲線控制點的基礎上,制定車道線分類策略,基于非均勻B樣條(NUBS)曲線模型匹配實現了車道線的檢測、分類與跟蹤。Li等[16]采用二進制粒子群優化求解B樣條曲線模型參數實現了車道線檢測。張嘉明等[17]分區域對車道線邊緣點進行Hough變換來擬合直線,根據分區中的直線確定控制點并使用三次均勻B樣條曲線擬合了車道線。分析以上研究可知,控制點的確定是B樣條曲線擬合車道線的關鍵,然而車輛遮擋、樹蔭、建筑物陰影、路面破損等干擾,為模型控制點的提取增加了不少難度,從而影響車道線擬合的準確性甚至導致擬合失敗。
針對上述問題,本研究在“相機光軸與道路平面平行”及“左右車道線平行”的假設基礎上,提出一種成像模型約束下的非均勻B樣條曲線擬合車道線檢測方法,在相機幾何成像模型的基礎上,推導車道線-相機成像模型約束下的控制點估算模型,從而提高非均勻B樣條曲線控制點提取方法的魯棒性,準確擬合出車道線。
考慮到車道線圖像采集過程中可能存在的環境亮度變化、相機抖動等因素造成圖像灰度分布不均、模糊、噪點等現象,在進行車道線邊緣檢測之前,首先對圖像進行中值濾波以減少椒鹽噪聲,然后進行直方圖均衡化處理以增強圖像的亮度和對比度,從而突出邊緣特征。
由于結構化道路的車道線通常由邊界清晰的連續直線、曲線或短劃線構成,因此采用Canny邊緣檢測算子提取圖1(a)所示的車道線的邊緣特征,結果如圖1(b)所示。為在提高邊緣連續性的同時降低背景干擾,得到更為純凈的車道線邊緣圖像,對車道線邊緣圖像進行如下2步后續處理。

圖1 車道線檢測結果Fig.1 Lane marking detection result
(1)形態學處理:彌合間隔小于3的邊緣線段,以提高邊緣連續性。
(2)Hough直線檢測:結合“近視場的車道線邊緣呈直線型”的特點,對車道線邊緣圖像進行Hough直線檢測(圖1(c)),只保留那些包含直線檢測結果的邊緣,據此進一步消除那些由背景建筑、樹蔭、障礙物、路面孔洞、裂縫等形成的干擾邊緣。經上述2步處理得到的車道線邊緣如圖1(d)所示。
控制點確定是采用B樣條曲線模型進行車道線擬合的重要環節。為了降低車輛遮擋、樹蔭、建筑物陰影、路面破損及各種非車道線路面標線對控制點確定造成的干擾,基于相機幾何成像模型,在“相機光軸與車輛行駛道路平面平行”及“左右車道線平行”的假設基礎上,提出一種成像模型約束下的控制點提取方法,從而實現車道線擬合。
已知世界坐標系(x,y,z)和圖像坐標系(u,v)。如圖2所示,已知相機最大水平視角為α,最大垂直視角為β,相機安裝位置在世界坐標系中的坐標為C(d,0,h),其中h為相機安裝高度,即相機在世界坐標系z軸上的值,d為相機安裝水平偏移,即相機在世界坐標系中x軸上的值。相機光軸與車輛行駛道路平面平行,與車道線夾角為γ。根據相機幾何成像模型,可知世界坐標系中路面上某點P(x,y,0)與圖像坐標系中相對坐標點Q(u,v)的映射模型為[18]:

圖2 相機在世界坐標系中的位置示意圖Fig.2 Schematic diagram of camera’s position in world coordinate system
(1)
(2)
(3)
(4)
式中HI和WI分別為相機成像后圖像的水平、垂直分辨率。
根據相機成像原理可知,成像后圖像中車道線線段長度是隨著世界坐標系中車道線線段與相機距離的增加而縮短的,即在世界坐標系中路面上長度相等的車道線線段,在近視場中成像得到的車道線線段較長,而在遠視場中成像得到的車道線線段較短。同理,在世界坐標系中路面上相同的左右車道線間距,在近視場中成像得到的車道線間距較寬,而在遠視場中成像得到的車道線間距較窄。根據這一成像事實,結合前述相機成像模型,可推導出在世界坐標系中長度為Δy的車道線線段對應的圖像坐標系中第u列中的線段長度Δv為:
(5)
式中Δy=yi+1-yi;yi+1和yi分別為線段Δy兩端點的縱坐標。
而在世界坐標系中,寬度為Δx的左右車道線間距對應的圖像坐標系中第v行中的間距寬度Δu為:
(6)
樣條曲線的數學模型由分段式多項式表達,各子式所對應曲線之間的連接點稱為控制點。當采用樣條曲線模型進行車道線擬合時,需通過確定控制點來對當前車道線對應多項式的參數進行估計,從而求解出曲線模型。B樣條曲線數學模型如下[19]。
假設B樣條曲線S由n+1個控制點集合{P0,P1,…,Pn}構成,則曲線S上的各點滿足:
(7)
式中,Bi,m(o)為基本B樣條函數,2≤m≤n+1;tmin≤u≤tmax,tj(j=0,…,i+m)為節點,當各節點tj之間等距時,稱該B樣條曲線為均勻B樣條曲線,否則為非均勻B樣條曲線。
非均勻B樣條曲線的數學模型表達過程比均勻B樣條曲線復雜,但前者能夠更準確地表達和重構各種形狀的車道線曲線且擬合結果魯棒性更高,因此采用非均勻B樣條曲線模型進行車道線擬合。
為了求解NUBS曲線模型參數,需要首先確定合適的控制點。采用的控制點確定方法為:從車道線邊緣圖像底部開始,以“對應世界坐標系中Δy的長度”在圖像中按成像模型約束設置掃描線,每條掃描線與左右車道邊緣的交點即為1對控制點,如圖3所示。該過程的數學描述如下:從車道線邊緣圖像底部開始,在vi行設置水平掃描線Linei(1≤i≤m),在Linei與左右車道線的交點處得到控制點對(Li,Ri),其中Li的坐標為(ui,vi),Ri坐標為(u′i,vi)。由于車道線在圖像中整體呈縱向延伸趨勢,各控制點對的縱坐標依次減小,該趨勢不受相機光軸與車道線夾角γ影響,因此為簡化計算過程忽略γ的值,根據成像模型約束定義vi計算式為:

圖3 控制點確定過程示意圖Fig.3 Schematic diagram of control point determination process
(8)
根據式(2),(4),(5),再推導出:
(9)
式中v1和Δv1為預設值。將式(9)代入式(8)即可依次求出vi的值。由此可求出第i條掃描線Linei所確定的控制點縱坐標等于vi。從掃描線中點分別向左右兩邊搜索邊緣點,得到的第1對掃描線與左右車道線的交點即為控制點,進而可得知該控制點對的橫坐標,從而確定其坐標(ui,vi)(u′i,vi)。
圖4和圖5所示的不連續車道線邊緣的控制點確定過程如圖6所示。由于背景干擾導致左車道線邊緣部分缺失或者虛假邊緣,掃描線Line 2與左車道線無交點或存在錯誤交點,從而導致控制點定位失敗。為了正確擬合車道線,需要計算出正確的控制點橫坐標。針對上述問題,在前述控制點確定方法的基礎上,結合“左右車道線平行”的假設,求解第i條掃描線Linei所確定的控制點Li和Ri的橫坐標ui和u′i。根據成像模型約束及式(6)推導出Δui+1與Δui的關系式為:

圖4 因車輛遮擋導致車道線邊緣不連續的情況Fig.4 Cases of discontinuity of lane marking edge caused by vehicle occlusion

圖5 左車道線為虛線導致車道線邊緣不連續的情況Fig.5 Cases of discontinuity of lane marking edge caused by left dashed lane marking
(10)
u′i=ui+Δui,
(11)
式中相機光軸與車道線夾角γ的計算式為[20]:
(12)


圖6 考慮不連續或虛假邊緣情況的控制點確定過程示意圖Fig.6 Schematic diagram of control point determination process considering discontinuity or false edge
由2.2節所述控制點確定方法得到了車道線邊緣控制點信息,就可利用NUBS插值方法對左右車道線進行擬合。根據NUBS插值法可知:若已知m(m≥3)對控制點,則車道線可用m-1階多項式函數進行擬合;若能夠確定4對控制點,則可采用三階多項式函數進行NUBS插值從而擬合出車道線;若只確定了3對控制點,則可采用二階多項式函數擬合車道線。
圖7為對一幅車道線圖像進行NUBS車道線擬合的結果。圖7(b)共設置了5條掃描線,確定出5個左車道線控制點分別為{(140,21), (120,46), (100,78), (80,117), (57,167)};4個右車道線控制點分別為{(172,21), (193,46), (216,78), (245,117)}。然后根據NUBS插值算法,采用三階多項式函數進行NUBS插值,得到的擬合曲線顯示在圖像坐標系中,如圖7(c)所示。

圖7 車道線擬合結果Fig.7 Result of lane marking fitting
圖8為對一幅左車道線部分缺失的車道線圖像進行NUBS車道線擬合的結果。圖8(b)共設置了5條掃描線,確定出3個左車道線控制點分別為{(15,167), (39,117), (59,78)};5個右車道線控制點分別為{(253,167), (213,117), (181,78), (155,46), (134,21)}。根據式(10)~(12)估算出左車道線缺失的2個控制點坐標分別為(75,46),(88,21)。然后根據NUBS插值算法,采用四階多項式函數進行NUBS插值,得到的擬合曲線顯示在圖像坐標系中如圖8(c)所示。由于該圖中左右車道線近似直線,因此控制曲線與擬合曲線高度重合。

圖8 左車道線邊緣部分缺失情況下的車道線擬合結果Fig.8 Lane marking fitting result in the case of part of left lane marking edge is missed
驗證算法性能所采用的圖像數據庫由卡內基梅隆圖像數據庫中的車道線標準圖像庫(以下簡稱CMU,共160幀,圖像大小240×256)及長安大學“信達號”智能車采集的車道線圖像樣本集(以下簡稱CAU,共525幀,圖像大小204×745)構成,其中包含受樹蔭干擾、路側設施陰影干擾、障礙車輛遮擋的車道線及虛車道線等情況。根據車道線受干擾程度不同,將圖像庫分為I,II,III,IV共4個等級,等級越高車道線受干擾越嚴重,劃分結果見表1。試驗參數設置:掃描線數量為5,即i∈(1,5),v1=0,Δv1=20。根據不同圖像庫中圖像大小,可手動預設掃描線數量和Δv1的值,并根據式(8)~(9)計算得到各掃描線位置。不同的參數設置決定掃描線的數量和位置,掃描線數量越多,車道線擬合結果越逼近真實車道,但帶來的計算量也越大。算法程序基于MATLAB R2017a開發,運行環境為:操作系統Windows 10,CPU Intel (R) i7,主頻2.8 GHz,內存8 GB。

表1 根據受干擾程度得到的圖像數據庫劃分結果(單位:frame)Tab.1 Image database division result based on degree of interferences (unit: frame)
采用本研究算法對I,II,III,IV共4種干擾等級的圖像進行車道線檢測的部分結果見圖9。圖9(a)為圖像無干擾(I類圖像)情況下的車道線檢測結果,圖9(b)為左右車道線被障礙車輛遮擋(II類圖像)情況下的車道線檢測結果,圖9(c)為存在轉向標志干擾(III類圖像)情況下的車道線檢測結果,圖9(d)~(e)為左右車道線被大量樹蔭遮擋(IV類圖像)情況下的車道線檢測結果。從試驗結果的直觀展示可看出,本研究算法的檢測結果對不同等級的干擾具有較高的魯棒性。然而如圖9(e)所示,由于陰影邊緣干擾導致掃描線Line 3左右控制點定位失敗,Line 5左控制點定位失敗,右控制點定位錯誤。采用本研究算法定位出4個左車道線控制點和3個右車道線控制點,且定位誤差較大導致擬合效果不佳。

圖9 部分典型圖像的車道線檢測結果Fig.9 Lane marking detection result based on some typical images
為進一步全面驗證論文算法的性能,將本研究算法與其他2種相關性較大的算法在檢測率、檢測精度和實時性進行對比。算法1僅基于第2節所述邊緣檢測算法進行車道線檢測;算法2在第2節所述邊緣檢測算法基礎上采用傳統NUBS算法進行車道線檢測;算法3即為本研究算法,即在第2節所述邊緣檢測算法基礎上,采用成像模型約束的NUBS改進算法進行車道線檢測。表2為3種算法的性能指標對比結果,其中檢測率定義為實際定位到的控制點數量與應定位到的控制點數量之比:
(13)
式中k∈{1,…,K},K為I,II,III,IV 4種干擾等級的圖像總幀數;Mk為第k幀圖像中實際定位到的控制點數;Nk為第k幀圖像中應該定位到的控制點數。
檢測精度為正確定位的控制點數量與實際定位到的控制點數量之比:
(14)
式中Qk為第k幀圖像中正確定位到的控制點數。
本研究算法中認為定位誤差在±5個像素位移的控制點是正確定位的。考慮到實時性受圖像尺寸的影響較大,表3中對以上種算法處理4種干擾等級的圖像時的運算時間分別進行了統計對比。通過分析表2和表3可以得到如下結論:

表2 算法1,2和3的檢測率和檢測精度結果對比(單位:%)Tab.2 Comparison of detection rates and detection accuracies among algorithm 1, algorithm 2 and algorithm 3 (unit: %)

表3 算法1,2和3時間成本對比結果Tab.3 Comparison of time costs among algorithm 1, algorithm 2 and algorithm 3
(1)算法3的檢測率最高。這是由于一些采用算法1和2可能定位失敗的控制點,通過算法3中式(10)~(12)可以估算進而成功定位。算法1和2的檢測率相等,這是因為2種算法的控制點定位均完全依賴于章節2所述的邊緣檢測算法,導致一些控制點因干擾而定位失敗。
(2)檢測精度隨著圖像干擾等級的升高而降低,而算法3與算法1和2相比檢測精度最高。
(3)算法3的實時性最低。這是由于算法3包含的數學運算最多,但該實時性可以通過算法編寫優化和硬件升級實現大幅度提升從而滿足實時性應用需求。
(4)3種算法處理CAU圖像庫的時間成本均高于處理CMU圖像庫的時間成本,這是由于CAU圖像庫中的圖像尺寸較大。對同一種算法而言(如算法3),處理干擾等級III和IV圖像所需的時間略低于處理干擾等級I和II的圖像所需的時間。這是由于隨著干擾等級的增加,實際定位到的控制點數量呈減少趨勢,計算量減少從而運算時間減少。
非均勻B樣條曲線因可精確擬合任意形狀的曲線而在車道線檢測中得到了廣泛應用。影響樣條曲線模型擬合車道線準確性的關鍵因素是控制點的確定。然而車輛遮擋、樹蔭、建筑物陰影、路面破損等干擾為控制點的提取增加了不少難度,從而影響車道線擬合的準確性甚至導致擬合失敗。本研究在“相機光軸與道路平面平行”及“左右車道線平行”的假設基礎上,提出一種成像模型約束下的非均勻B樣條曲線擬合車道線檢測方法。通過對I,II,III,IV 4種受干擾等級的圖像進行車道線檢測,對檢測結果進行檢測率、檢測精度和實時性3個指標計算及同其他2種相關算法的對比驗證了本算法的綜合性能。試驗結果分析表明,本算法能夠顯著提高B樣條曲線控制點檢測率和檢測精度,從而提高算法的檢測成功率和對干擾的魯棒性。由于算法基于上述2個假設提出,該算法不適用于車道線急轉彎、路面明顯起伏和橫向車道線等使得假設不成立的情況。因此本算法的適用場景主要為無急轉彎、坡道、交叉路口的普通高速公路和城市環線等。后續研究工作包括:(1)優化算法提高運行效率;(2)算法在長安大學“信達號”無人車感知處理模塊的集成;(3)增加多特征融合機制以提高算法在不同天氣條件下車道線檢測的魯棒性。