張杭鋮,杜海林,王齊超
基于視覺的車道保持系統
張杭鋮,杜海林,王齊超
(長安大學 汽車學院,陜西 西安 710064)
為提高無人駕駛車輛主動安全性,文章基于神經網絡車道線檢測和單點預瞄橫向控制策略的車道保持方法,以車載攝像頭作為感知設備,采集前方道路的圖像信息并傳輸給車載終端對圖片進行處理后得到車道線信息,據此設計相應的橫向控制器計算出偏離車道中心所需的前輪轉角,最終作為控制信號傳輸給車輛的控制機構實現車道保持。經過實車驗證表明,在低速情況下該系統能實現車道保持功能。研究結果對提高汽車的車道保持性能有一定參考價值。
神經網絡;車道線識別;橫向控制;車道保持
無人駕駛汽車已經成為時代發展熱點,其中車道保持是無人駕駛的一種重要技術[1]。基于視覺的車道保持系統依據車道線檢測方法,目前主流的車道線檢測方法可分為傳統車道線檢測方法和基于深度學習的方法。傳統車道線識別方法依據車道線的特征或利用車道線的曲線模型對之進行識別,基于深度學習的車道線檢測方法,搭載網絡結構能夠全面學習不同環境下的車道線特征,并具備良好魯棒性。車道保持系統利用基于單點預瞄的橫向控制算法,能夠求解得到車輛到預瞄點所需的最優的橫擺角速度,結合車輛動力學模型將橫擺角速度轉化為理想的前輪轉角實現智能汽車車道保持。
車道線檢測信息是車道保持系統的決策輸入,保證車道線檢測的準確性和實時性是實現車道保持系統的先決條件[2]。
本文采用基于深度學習的車道線檢測方法,其網絡整體架構圖如圖1所示,網絡采用公開的圖森(TuSimple)數據集,該數據集包含車道線圖像以及對應的標注信息,包括了各種天氣、時段、交通狀況下的車道線。采用基于E-Net編碼器-解碼器的結構搭建網絡,其網絡深度適中具有良好的檢測準確性和實時性[3]。車道圖片經過共享編碼器進行下采樣,降低圖片分辨率,減小網絡的計算壓力,然后利用解碼器的兩個分支:語義分割提取車道線,實例分割對不同車道線進行劃分。最后對車道線進行聚類和二次多項式擬合得到車道線結果。

圖1 網絡整體架構圖
由表1可知,E-Net大致分為以下幾個階段。首先是初始化階段,該階段是由一個單獨的初始化模塊組成的,其主要功能為調整輸入圖像的通道數,壓縮圖像的大小。Bottleneck1.0到Bottleneck 4.0之前是編碼器部分,圖片經過初始化模塊處理后分辨率和通道數大小轉換為256×256×16,輸入編碼器進行特征提取和下采樣。Bottleneck4.0到Bottleneck5.1階段是解碼器部分,對提取完特征后的特征圖進行車道線分割并上采樣。最后一個階段是反卷積層,將特征圖恢復至原分辨率大小輸出。是輸出的通道數,表1中的值為2,即區分像素點是車道還是背景。

表1 E-Net網絡結構
車道保持系統需要將網絡輸出的像素點轉換到世界坐標系,并對車道線進行擬合,才能得到車道線方程從而計算車輛與車道線的集合位置關系。建立模型的三維圖如圖2所示。

圖2 成像三維模型圖
依據成像模型圖,建立像素點轉換到世界坐標系方程如式(1)。其中攝像機固定高度、圖像寬度與采集圖像下視界距鏡頭距離可通過標定獲得,為攝像機的焦距,攝像機光心在圖像坐標系中軸的坐標t為定值,車道線中像素點在圖像坐標系中軸的坐標'y由神經網絡輸出。

轉換到世界坐標系下的像素點,采用二次多項式對車道線進行擬合[4],建立二次多項式方程如式(2)。

計算各點到該方程的偏差的平方和為

式中,(x,y)為點在世界坐標系下ww平面中的坐標;z為車輛在車輛坐標系軸的值;為點的個數。接著計算偏差平方和對二次多項式各系數的偏導,并令之為0。

聯立式(4)中各式,求解即可計算出系數2、1與0,從而擬合出車道線方程。
如圖3所示,車道線檢測網絡的檢測準確率在前20 000次訓練中提升較快,網絡進行了20 000次訓練后,模型的檢測準確率已經基本達到0.9,可以看出訓練次數達到95 000次時車道線檢測的準確率達到最高值,約為0.95。

圖3 車道線檢測準確率
預瞄控制算法根據車輛位置信息和運動狀態計算出車輛的最優橫擺角速度,橫向控制算法依據橫擺角速度計算出車輛前輪轉角。
單點預瞄駕駛員模型具有模型簡單、計算量小等特性,能夠滿足橫向控制算法要求的實時性和準確性。在該模型中,駕駛員以目標路徑上的一點為預瞄點,根據車輛當前位置、預瞄點位置及車輛運動狀態,計算出當前時刻車輛的最優橫擺角速度,如圖2、表2所示。

圖4 橫擺角速度恒定時的車輛軌跡

表2 車輛軌跡圖中各參數含義
假設車輛轉向時在一定時間內橫擺角速度為一定值。根據車輛動力學模型可知,車輛的縱向速度也為一定值,且遠大于橫向速度。即認為車輛在轉向時車速保持不變,又因為橫擺角速度也保持不變,可將車輛視為作勻速圓周運動,設這段運動時間為p。則車輛行駛過的路徑為一段圓弧,且車速的方向始終與圓弧相切。
依據車輛軌跡圖得到橫擺角速度與各參數之間的關系為

在單點預瞄駕駛員模型中,車輛在經過p時間的運動后,應當恰好移動到點,由此計算出最優的橫擺角速度。此時,點與點重合。得到在理想狀態下車輛由當前位置點運動到預瞄點點的最優橫擺角速度。

本文的橫向控制算法依據車輛的最優橫擺角速度計算轉向時所需的前輪轉角。
在本文中,橫向控制算法以前輪轉角作為控制機構的輸入。上文已經根據車輛的運動狀態及其與預瞄點的幾何關系求解出車輛運動到預瞄點所需的最優橫擺角速度。因此,需要建立前輪轉角與車輛橫擺角速度的對應關系。


得到車輛橫擺角速度關于前輪轉角的穩態增益為

式中,為車輛的軸距,其值等于車輛質心到前軸距離與到后軸距離的和;為車輛穩定性因數,其表達式為

聯立式(6)—式(9),計算得到最優橫擺角速度對應的理想車輛前輪轉角為

由于神經網絡的輸出為車輛左右兩側的車道線方程,而目標路徑應該為車道的中心線。因此,對車道線方程作以下處理得到目標軌跡,并選取預瞄點。
假設網絡輸出的左右車道線方程分別為
left:=2_l×2+1_l×+0_l
right:=2_r×2+1_r×+0_r(11)
根據駕駛員的駕駛習慣,人在駕駛車輛時前視距離通常是固定的,假設這個值為,則在車輛坐標系中,前視點的坐標即為(0,),如圖5所示。

圖5 車輛與預瞄點位置關系示意圖
將點(0,)代入式(11),得到
l=2_l×2+1_l×+0_l
r=2_r×2+1_r×+0_r (12)

本文的實驗場地選擇校內的汽車試驗場。該試驗場包括直道、彎道、十字路口、環島等各類典型試驗道路,以及各類附著系數和坡度的試驗路面,可以在此對智能車的各項性能進行實驗。本文選擇其中一段包括直線以及右轉的路段進行車道保持實驗,實驗路段長約200 m,車道寬度3.5 m,不考慮坡度因素對實驗的影響。如圖6所示。

圖6 實驗路段圖
系統采用usb攝像頭對車輛前方車道線進行采集,采用工控機作為決策機構,執行機構為由麗馳V5-T型號電動車改裝的線控底盤,整個系統硬件連接如圖7所示。

圖7 系統硬件連接示意圖
如圖7(a),左側為逆變器,它的功能為將車載的12 V直流電源轉換為220 V為各設備供電。中間為INS-550D組合導航設備,其中包括三軸MEMS陀螺儀,可以通過衛星信號實時獲得車輛的定位信息,同時解算出線控底盤在車輛坐標系下沿各軸方向的速度。圖中右側為工控機。控制器局域網(Controller Area Network, CAN)通信卡處于工控機的右上角,通過雙絞線與車輛的CAN總線相連接,以實現控制信號的發送。圖7(b)為攝像頭安裝位置,它通過usb接口與工控機進行連接。
將線控底盤移動至所選路段中靠近道路中心處,并通過車內電源為各設備供電,調試無誤后,在工控機中的機器人操作系統(Robot Operating System, ROS)內開啟CAN卡中的CAN0接口與車載CAN總線進行通信。啟動roscore,并依次啟動系統中的以下各節點:
(1)啟動車道線檢測節點。該節點會讀取攝像頭采集的圖像并對其進行預處理,然后輸入神經網絡中進行車道線識別,當識別出車道線時,該節點將車道線方程的系數通過話題發布出去。
(2)啟動橫向控制算法節點。該節點會訂閱車道線檢測節點發布的話題,得到所需要的車道線信息;此外,該節點也訂閱通過INS-550D組合導航設備解析出的線控底盤在軸、軸方向上的速度信息。得到這些信息后,該節點根據橫向控制算法計算出最優的前輪轉角,并通過話題發布出去。
(3)啟動控制執行節點。該節點訂閱橫向控制算法節點發布的前輪轉角信號,同時設置一個恒定的車速,根據 CAN報文解析規則將這兩個控制信號轉換為報文并通過工控機中的CAN卡發送至線控底盤。
虛線表示實驗路段的道路中心線,首先對道路中心的位置進行標定,得到一連串離散的點,通過組合導航設備 INS-550D 記錄這些點的全球定位系統(Global Positioning System, GPS)位置信息,并進行坐標轉換到全局坐標系下,最后擬合出中心線。實線為車輛實際行駛軌跡。從圖8中可以看出,在直線路段行駛時,車輛軌跡與道路中心線基本重合,在轉向時橫向誤差逐漸增大,此后軌跡又逐漸重合。

圖8 車輛行駛軌跡和道路中心線
無人駕駛是現在汽車行業發展的熱門方向,車道保持系統作為智能輔助駕駛系統的組成部分,具有重要的研究價值和意義。車道保持系統搭建了基于E-Net的網絡模型可以穩定實時地得到車道線,設計了基于預瞄算法的橫向控制算法,計算出最優橫擺角速度和最優前輪轉角,達到對實車進行最優的控制。
[1] 馬瑩,王建強,徐友春,等.智能車輛車道保持系統[J]. ITS通訊,2004,6(1):6.
[2] 高琳琳,戎輝,唐風敏,等.自動駕駛汽車橫向運動控制方法綜述[J].汽車電器,2019(9):1-4.
[3] BADRINARAYANAN V,KENDALL A,CIPOLLA R. SegNet:A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation[J].IEEE Transa- ctions on Pattern Analysis and Machine Intelligence, 2017,39(12):1-5.
[4] 高秋英,王麗麗,王榮忠.最小二乘法曲線擬合及優化算法研究[J].工業控制計算機, 2021,34(11):100-101.
[5] 任進軍,王寧.人工神經網絡中損失函數的研究[J].甘肅高師學報,2018,23(2):61-63.
[6] 韓俊,王保云.MeanShift算法在圖像分割中的應用[J].現代計算機,2021,27(33):71-76.
[7] 盧宏濤,張秦川.深度卷積神經網絡在計算機視覺中的應用研究綜述[J].數據采集與處理,2016,31(1):1- 17.
[8] 彭驛茹.人工神經網絡發展歷史與訓練算法概述[J].科技傳播,2018,10(21):129-130.
[9] 張涌,夏雨,成海飛,等.智能車輛路徑跟蹤橫向控制研究[J].重慶理工大學學報:自然科學,2021,35(7): 53-61.
[10] 張炳力,呂敏煜,程進,等.兩點預瞄軌跡跟蹤橫向控制系統[J].電子測量與儀器學報,2019,33(5):158-163.
[11] 馬芳武,佘爍,吳量,等.基于時間系數的單點預瞄駕駛員模型分析[J].汽車工程,2019,41(3):340-345.
[12] 曹晴晴,丁志中.基于二自由度的車輛AFS系統建模與仿真[J].電子測量與儀器學報,2014,28(4):447-453.
Vision-based Lane Keeping System
ZHANG Hangcheng, DU Hailin, WANG Qichao
( College of Automobile, Chang’an University, Xi'an 710064, China )
In order to improve the active safety of unmanned vehicles, this paper adopts the lane keeping method based on neural network lane line detection and single point preview lateral control strategy. The on-board camera is used as the sensing device to collect the image information of the road ahead and transmit it to the on-board terminal to process the image and obtain the lane line information. Accordingly, the corresponding lateral controller is designed to calculate the front wheel Angle required to deviate from the lane center, which is finally transmitted to the vehicle control mechanism as a control signal to realize lane keeping. The test results show that the system can realize the lane keeping function at low speed. The research results have some reference value for improving the performance of lane keeping.
Neural network;Lane line recognition;Transverse control; Lane keep
U463
A
1671-7988(2022)23-45-06
U463
A
1671-7988(2022)23-45-06
10.16638/j.cnki.1671-7988.2022.023.009
張杭鋮(1998—),男,碩士研究生,研究方向為無人駕駛,E-mail:1135498030@qq.com。