張杭鋮,杜海林,王齊超
基于視覺的車道保持系統(tǒng)
張杭鋮,杜海林,王齊超
(長安大學(xué) 汽車學(xué)院,陜西 西安 710064)
為提高無人駕駛車輛主動安全性,文章基于神經(jīng)網(wǎng)絡(luò)車道線檢測和單點(diǎn)預(yù)瞄橫向控制策略的車道保持方法,以車載攝像頭作為感知設(shè)備,采集前方道路的圖像信息并傳輸給車載終端對圖片進(jìn)行處理后得到車道線信息,據(jù)此設(shè)計(jì)相應(yīng)的橫向控制器計(jì)算出偏離車道中心所需的前輪轉(zhuǎn)角,最終作為控制信號傳輸給車輛的控制機(jī)構(gòu)實(shí)現(xiàn)車道保持。經(jīng)過實(shí)車驗(yàn)證表明,在低速情況下該系統(tǒng)能實(shí)現(xiàn)車道保持功能。研究結(jié)果對提高汽車的車道保持性能有一定參考價(jià)值。
神經(jīng)網(wǎng)絡(luò);車道線識別;橫向控制;車道保持
無人駕駛汽車已經(jīng)成為時(shí)代發(fā)展熱點(diǎn),其中車道保持是無人駕駛的一種重要技術(shù)[1]?;谝曈X的車道保持系統(tǒng)依據(jù)車道線檢測方法,目前主流的車道線檢測方法可分為傳統(tǒng)車道線檢測方法和基于深度學(xué)習(xí)的方法。傳統(tǒng)車道線識別方法依據(jù)車道線的特征或利用車道線的曲線模型對之進(jìn)行識別,基于深度學(xué)習(xí)的車道線檢測方法,搭載網(wǎng)絡(luò)結(jié)構(gòu)能夠全面學(xué)習(xí)不同環(huán)境下的車道線特征,并具備良好魯棒性。車道保持系統(tǒng)利用基于單點(diǎn)預(yù)瞄的橫向控制算法,能夠求解得到車輛到預(yù)瞄點(diǎn)所需的最優(yōu)的橫擺角速度,結(jié)合車輛動力學(xué)模型將橫擺角速度轉(zhuǎn)化為理想的前輪轉(zhuǎn)角實(shí)現(xiàn)智能汽車車道保持。
車道線檢測信息是車道保持系統(tǒng)的決策輸入,保證車道線檢測的準(zhǔn)確性和實(shí)時(shí)性是實(shí)現(xiàn)車道保持系統(tǒng)的先決條件[2]。
本文采用基于深度學(xué)習(xí)的車道線檢測方法,其網(wǎng)絡(luò)整體架構(gòu)圖如圖1所示,網(wǎng)絡(luò)采用公開的圖森(TuSimple)數(shù)據(jù)集,該數(shù)據(jù)集包含車道線圖像以及對應(yīng)的標(biāo)注信息,包括了各種天氣、時(shí)段、交通狀況下的車道線。采用基于E-Net編碼器-解碼器的結(jié)構(gòu)搭建網(wǎng)絡(luò),其網(wǎng)絡(luò)深度適中具有良好的檢測準(zhǔn)確性和實(shí)時(shí)性[3]。車道圖片經(jīng)過共享編碼器進(jìn)行下采樣,降低圖片分辨率,減小網(wǎng)絡(luò)的計(jì)算壓力,然后利用解碼器的兩個(gè)分支:語義分割提取車道線,實(shí)例分割對不同車道線進(jìn)行劃分。最后對車道線進(jìn)行聚類和二次多項(xiàng)式擬合得到車道線結(jié)果。
圖1 網(wǎng)絡(luò)整體架構(gòu)圖
由表1可知,E-Net大致分為以下幾個(gè)階段。首先是初始化階段,該階段是由一個(gè)單獨(dú)的初始化模塊組成的,其主要功能為調(diào)整輸入圖像的通道數(shù),壓縮圖像的大小。Bottleneck1.0到Bottleneck 4.0之前是編碼器部分,圖片經(jīng)過初始化模塊處理后分辨率和通道數(shù)大小轉(zhuǎn)換為256×256×16,輸入編碼器進(jìn)行特征提取和下采樣。Bottleneck4.0到Bottleneck5.1階段是解碼器部分,對提取完特征后的特征圖進(jìn)行車道線分割并上采樣。最后一個(gè)階段是反卷積層,將特征圖恢復(fù)至原分辨率大小輸出。是輸出的通道數(shù),表1中的值為2,即區(qū)分像素點(diǎn)是車道還是背景。
表1 E-Net網(wǎng)絡(luò)結(jié)構(gòu)
車道保持系統(tǒng)需要將網(wǎng)絡(luò)輸出的像素點(diǎn)轉(zhuǎn)換到世界坐標(biāo)系,并對車道線進(jìn)行擬合,才能得到車道線方程從而計(jì)算車輛與車道線的集合位置關(guān)系。建立模型的三維圖如圖2所示。
圖2 成像三維模型圖
依據(jù)成像模型圖,建立像素點(diǎn)轉(zhuǎn)換到世界坐標(biāo)系方程如式(1)。其中攝像機(jī)固定高度、圖像寬度與采集圖像下視界距鏡頭距離可通過標(biāo)定獲得,為攝像機(jī)的焦距,攝像機(jī)光心在圖像坐標(biāo)系中軸的坐標(biāo)t為定值,車道線中像素點(diǎn)在圖像坐標(biāo)系中軸的坐標(biāo)'y由神經(jīng)網(wǎng)絡(luò)輸出。
轉(zhuǎn)換到世界坐標(biāo)系下的像素點(diǎn),采用二次多項(xiàng)式對車道線進(jìn)行擬合[4],建立二次多項(xiàng)式方程如式(2)。
計(jì)算各點(diǎn)到該方程的偏差的平方和為
式中,(x,y)為點(diǎn)在世界坐標(biāo)系下ww平面中的坐標(biāo);z為車輛在車輛坐標(biāo)系軸的值;為點(diǎn)的個(gè)數(shù)。接著計(jì)算偏差平方和對二次多項(xiàng)式各系數(shù)的偏導(dǎo),并令之為0。
聯(lián)立式(4)中各式,求解即可計(jì)算出系數(shù)2、1與0,從而擬合出車道線方程。
如圖3所示,車道線檢測網(wǎng)絡(luò)的檢測準(zhǔn)確率在前20 000次訓(xùn)練中提升較快,網(wǎng)絡(luò)進(jìn)行了20 000次訓(xùn)練后,模型的檢測準(zhǔn)確率已經(jīng)基本達(dá)到0.9,可以看出訓(xùn)練次數(shù)達(dá)到95 000次時(shí)車道線檢測的準(zhǔn)確率達(dá)到最高值,約為0.95。
圖3 車道線檢測準(zhǔn)確率
預(yù)瞄控制算法根據(jù)車輛位置信息和運(yùn)動狀態(tài)計(jì)算出車輛的最優(yōu)橫擺角速度,橫向控制算法依據(jù)橫擺角速度計(jì)算出車輛前輪轉(zhuǎn)角。
單點(diǎn)預(yù)瞄駕駛員模型具有模型簡單、計(jì)算量小等特性,能夠滿足橫向控制算法要求的實(shí)時(shí)性和準(zhǔn)確性。在該模型中,駕駛員以目標(biāo)路徑上的一點(diǎn)為預(yù)瞄點(diǎn),根據(jù)車輛當(dāng)前位置、預(yù)瞄點(diǎn)位置及車輛運(yùn)動狀態(tài),計(jì)算出當(dāng)前時(shí)刻車輛的最優(yōu)橫擺角速度,如圖2、表2所示。
圖4 橫擺角速度恒定時(shí)的車輛軌跡
表2 車輛軌跡圖中各參數(shù)含義
假設(shè)車輛轉(zhuǎn)向時(shí)在一定時(shí)間內(nèi)橫擺角速度為一定值。根據(jù)車輛動力學(xué)模型可知,車輛的縱向速度也為一定值,且遠(yuǎn)大于橫向速度。即認(rèn)為車輛在轉(zhuǎn)向時(shí)車速保持不變,又因?yàn)闄M擺角速度也保持不變,可將車輛視為作勻速圓周運(yùn)動,設(shè)這段運(yùn)動時(shí)間為p。則車輛行駛過的路徑為一段圓弧,且車速的方向始終與圓弧相切。
依據(jù)車輛軌跡圖得到橫擺角速度與各參數(shù)之間的關(guān)系為
在單點(diǎn)預(yù)瞄駕駛員模型中,車輛在經(jīng)過p時(shí)間的運(yùn)動后,應(yīng)當(dāng)恰好移動到點(diǎn),由此計(jì)算出最優(yōu)的橫擺角速度。此時(shí),點(diǎn)與點(diǎn)重合。得到在理想狀態(tài)下車輛由當(dāng)前位置點(diǎn)運(yùn)動到預(yù)瞄點(diǎn)點(diǎn)的最優(yōu)橫擺角速度。
本文的橫向控制算法依據(jù)車輛的最優(yōu)橫擺角速度計(jì)算轉(zhuǎn)向時(shí)所需的前輪轉(zhuǎn)角。
在本文中,橫向控制算法以前輪轉(zhuǎn)角作為控制機(jī)構(gòu)的輸入。上文已經(jīng)根據(jù)車輛的運(yùn)動狀態(tài)及其與預(yù)瞄點(diǎn)的幾何關(guān)系求解出車輛運(yùn)動到預(yù)瞄點(diǎn)所需的最優(yōu)橫擺角速度。因此,需要建立前輪轉(zhuǎn)角與車輛橫擺角速度的對應(yīng)關(guān)系。
得到車輛橫擺角速度關(guān)于前輪轉(zhuǎn)角的穩(wěn)態(tài)增益為
式中,為車輛的軸距,其值等于車輛質(zhì)心到前軸距離與到后軸距離的和;為車輛穩(wěn)定性因數(shù),其表達(dá)式為
聯(lián)立式(6)—式(9),計(jì)算得到最優(yōu)橫擺角速度對應(yīng)的理想車輛前輪轉(zhuǎn)角為
由于神經(jīng)網(wǎng)絡(luò)的輸出為車輛左右兩側(cè)的車道線方程,而目標(biāo)路徑應(yīng)該為車道的中心線。因此,對車道線方程作以下處理得到目標(biāo)軌跡,并選取預(yù)瞄點(diǎn)。
假設(shè)網(wǎng)絡(luò)輸出的左右車道線方程分別為
left:=2_l×2+1_l×+0_l
right:=2_r×2+1_r×+0_r(11)
根據(jù)駕駛員的駕駛習(xí)慣,人在駕駛車輛時(shí)前視距離通常是固定的,假設(shè)這個(gè)值為,則在車輛坐標(biāo)系中,前視點(diǎn)的坐標(biāo)即為(0,),如圖5所示。
圖5 車輛與預(yù)瞄點(diǎn)位置關(guān)系示意圖
將點(diǎn)(0,)代入式(11),得到
l=2_l×2+1_l×+0_l
r=2_r×2+1_r×+0_r (12)
本文的實(shí)驗(yàn)場地選擇校內(nèi)的汽車試驗(yàn)場。該試驗(yàn)場包括直道、彎道、十字路口、環(huán)島等各類典型試驗(yàn)道路,以及各類附著系數(shù)和坡度的試驗(yàn)路面,可以在此對智能車的各項(xiàng)性能進(jìn)行實(shí)驗(yàn)。本文選擇其中一段包括直線以及右轉(zhuǎn)的路段進(jìn)行車道保持實(shí)驗(yàn),實(shí)驗(yàn)路段長約200 m,車道寬度3.5 m,不考慮坡度因素對實(shí)驗(yàn)的影響。如圖6所示。
圖6 實(shí)驗(yàn)路段圖
系統(tǒng)采用usb攝像頭對車輛前方車道線進(jìn)行采集,采用工控機(jī)作為決策機(jī)構(gòu),執(zhí)行機(jī)構(gòu)為由麗馳V5-T型號電動車改裝的線控底盤,整個(gè)系統(tǒng)硬件連接如圖7所示。
圖7 系統(tǒng)硬件連接示意圖
如圖7(a),左側(cè)為逆變器,它的功能為將車載的12 V直流電源轉(zhuǎn)換為220 V為各設(shè)備供電。中間為INS-550D組合導(dǎo)航設(shè)備,其中包括三軸MEMS陀螺儀,可以通過衛(wèi)星信號實(shí)時(shí)獲得車輛的定位信息,同時(shí)解算出線控底盤在車輛坐標(biāo)系下沿各軸方向的速度。圖中右側(cè)為工控機(jī)??刂破骶钟蚓W(wǎng)(Controller Area Network, CAN)通信卡處于工控機(jī)的右上角,通過雙絞線與車輛的CAN總線相連接,以實(shí)現(xiàn)控制信號的發(fā)送。圖7(b)為攝像頭安裝位置,它通過usb接口與工控機(jī)進(jìn)行連接。
將線控底盤移動至所選路段中靠近道路中心處,并通過車內(nèi)電源為各設(shè)備供電,調(diào)試無誤后,在工控機(jī)中的機(jī)器人操作系統(tǒng)(Robot Operating System, ROS)內(nèi)開啟CAN卡中的CAN0接口與車載CAN總線進(jìn)行通信。啟動roscore,并依次啟動系統(tǒng)中的以下各節(jié)點(diǎn):
(1)啟動車道線檢測節(jié)點(diǎn)。該節(jié)點(diǎn)會讀取攝像頭采集的圖像并對其進(jìn)行預(yù)處理,然后輸入神經(jīng)網(wǎng)絡(luò)中進(jìn)行車道線識別,當(dāng)識別出車道線時(shí),該節(jié)點(diǎn)將車道線方程的系數(shù)通過話題發(fā)布出去。
(2)啟動橫向控制算法節(jié)點(diǎn)。該節(jié)點(diǎn)會訂閱車道線檢測節(jié)點(diǎn)發(fā)布的話題,得到所需要的車道線信息;此外,該節(jié)點(diǎn)也訂閱通過INS-550D組合導(dǎo)航設(shè)備解析出的線控底盤在軸、軸方向上的速度信息。得到這些信息后,該節(jié)點(diǎn)根據(jù)橫向控制算法計(jì)算出最優(yōu)的前輪轉(zhuǎn)角,并通過話題發(fā)布出去。
(3)啟動控制執(zhí)行節(jié)點(diǎn)。該節(jié)點(diǎn)訂閱橫向控制算法節(jié)點(diǎn)發(fā)布的前輪轉(zhuǎn)角信號,同時(shí)設(shè)置一個(gè)恒定的車速,根據(jù) CAN報(bào)文解析規(guī)則將這兩個(gè)控制信號轉(zhuǎn)換為報(bào)文并通過工控機(jī)中的CAN卡發(fā)送至線控底盤。
虛線表示實(shí)驗(yàn)路段的道路中心線,首先對道路中心的位置進(jìn)行標(biāo)定,得到一連串離散的點(diǎn),通過組合導(dǎo)航設(shè)備 INS-550D 記錄這些點(diǎn)的全球定位系統(tǒng)(Global Positioning System, GPS)位置信息,并進(jìn)行坐標(biāo)轉(zhuǎn)換到全局坐標(biāo)系下,最后擬合出中心線。實(shí)線為車輛實(shí)際行駛軌跡。從圖8中可以看出,在直線路段行駛時(shí),車輛軌跡與道路中心線基本重合,在轉(zhuǎn)向時(shí)橫向誤差逐漸增大,此后軌跡又逐漸重合。
圖8 車輛行駛軌跡和道路中心線
無人駕駛是現(xiàn)在汽車行業(yè)發(fā)展的熱門方向,車道保持系統(tǒng)作為智能輔助駕駛系統(tǒng)的組成部分,具有重要的研究價(jià)值和意義。車道保持系統(tǒng)搭建了基于E-Net的網(wǎng)絡(luò)模型可以穩(wěn)定實(shí)時(shí)地得到車道線,設(shè)計(jì)了基于預(yù)瞄算法的橫向控制算法,計(jì)算出最優(yōu)橫擺角速度和最優(yōu)前輪轉(zhuǎn)角,達(dá)到對實(shí)車進(jìn)行最優(yōu)的控制。
[1] 馬瑩,王建強(qiáng),徐友春,等.智能車輛車道保持系統(tǒng)[J]. ITS通訊,2004,6(1):6.
[2] 高琳琳,戎輝,唐風(fēng)敏,等.自動駕駛汽車橫向運(yùn)動控制方法綜述[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] 高秋英,王麗麗,王榮忠.最小二乘法曲線擬合及優(yōu)化算法研究[J].工業(yè)控制計(jì)算機(jī), 2021,34(11):100-101.
[5] 任進(jìn)軍,王寧.人工神經(jīng)網(wǎng)絡(luò)中損失函數(shù)的研究[J].甘肅高師學(xué)報(bào),2018,23(2):61-63.
[6] 韓俊,王保云.MeanShift算法在圖像分割中的應(yīng)用[J].現(xiàn)代計(jì)算機(jī),2021,27(33):71-76.
[7] 盧宏濤,張秦川.深度卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺中的應(yīng)用研究綜述[J].數(shù)據(jù)采集與處理,2016,31(1):1- 17.
[8] 彭驛茹.人工神經(jīng)網(wǎng)絡(luò)發(fā)展歷史與訓(xùn)練算法概述[J].科技傳播,2018,10(21):129-130.
[9] 張涌,夏雨,成海飛,等.智能車輛路徑跟蹤橫向控制研究[J].重慶理工大學(xué)學(xué)報(bào):自然科學(xué),2021,35(7): 53-61.
[10] 張炳力,呂敏煜,程進(jìn),等.兩點(diǎn)預(yù)瞄軌跡跟蹤橫向控制系統(tǒng)[J].電子測量與儀器學(xué)報(bào),2019,33(5):158-163.
[11] 馬芳武,佘爍,吳量,等.基于時(shí)間系數(shù)的單點(diǎn)預(yù)瞄駕駛員模型分析[J].汽車工程,2019,41(3):340-345.
[12] 曹晴晴,丁志中.基于二自由度的車輛AFS系統(tǒng)建模與仿真[J].電子測量與儀器學(xué)報(bào),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—),男,碩士研究生,研究方向?yàn)闊o人駕駛,E-mail:1135498030@qq.com。