郭云鵬,鄒 凱,陳升東,袁 峰
(廣州中國科學(xué)院軟件應(yīng)用技術(shù)研究所,廣州 511458)
智能交通系統(tǒng)(Intelligent Transport System,ITS)通過人工智能與信息通訊技術(shù)可以有效提升道路交通的安全和效率[1,2],目前已經(jīng)得到廣泛的認可,它包含“聰明的車”和“智慧的路”兩部分.車路協(xié)同是ITS 發(fā)展的高級階段,用來實現(xiàn)車與車以及車與路側(cè)系統(tǒng)之間的通信,使車輛能夠更好地感知周圍環(huán)境,接受輔助駕駛的相關(guān)信息,讓道路監(jiān)管部門能夠更有效地處理交通事故[3,4].
其中,路側(cè)感知是車路協(xié)同應(yīng)用開發(fā)的重要組成部分,通過在路側(cè)部署傳感器,將采集到的路面信息經(jīng)V2X 通信給到車輛,使車輛擁有超視距的感知能力.在實際應(yīng)用中,為達到最優(yōu)的路側(cè)感知效果,不同的場景往往需要不同的RSU 配置,RSU的選型及安裝是一個耗時耗力的過程,另外,交通參與者的識別是路側(cè)感知的核心,基于機器學(xué)習(xí)的識別算法需要大量的標簽數(shù)據(jù),而人工打標簽被驗證是一個效率極其低下的方式.而隨著近些年計算機硬件性能的不斷提升,將仿真技術(shù)應(yīng)用于智能交通領(lǐng)域成為了各類研發(fā)機構(gòu)加速開發(fā)進程的必要手段[5,6].
當前智能交通領(lǐng)域的模擬仿真主要圍繞自動駕駛算法驗證,車路協(xié)同V2X 通訊,車載傳感器數(shù)據(jù)采集等幾個方面展開.Gelbal 等基于dSPACE Scalexio 系統(tǒng)和Carsim 仿真軟件構(gòu)建了一套用于自動駕駛算法開發(fā)的硬件在環(huán)模擬仿真系統(tǒng)[7],Amini 等提出了一種基于虛擬圖像合成和變換,以數(shù)據(jù)為驅(qū)動的仿真工具,用于端到端的自動駕駛控制策略研究[8],Szendrei 等基于SUMO 設(shè)計了一套用于車路協(xié)同應(yīng)用快速建模和測試的硬件在環(huán)V2X模擬仿真架構(gòu)[9],Choudhury 等搭建了集成VISSIM、Matlab和NS3,用于V2X 協(xié)議和應(yīng)用的模擬仿真測試環(huán)境[10],Su 等提出了一種采用GPU計算虛擬環(huán)境中三維物體點云的車載激光雷達仿真方法[11],百度采用真實點云背景結(jié)合虛擬交通體的方式來模擬車載激光雷達感知虛擬環(huán)境的方式[12],Dworak 等則利用CARLA 仿真軟件模擬激光雷達采集純虛擬的點云數(shù)據(jù),通過與公開測試集中的數(shù)據(jù)對比,發(fā)現(xiàn)仿真環(huán)境中的模擬點云可以作為真實數(shù)據(jù)的補充[13].
從分析來看,針對路側(cè)感知的模擬仿真目前還很少人涉及,但作為車路協(xié)同的應(yīng)用開發(fā)卻同樣是不可或缺的,本文將從路側(cè)感知的模擬仿真入手,介紹相關(guān)的系統(tǒng)搭建工作以及在此基礎(chǔ)上的兩個應(yīng)用案例.
經(jīng)典的自動駕駛仿真平臺包括虛擬場景、動態(tài)案例仿真、傳感器仿真、車輛動力學(xué)仿真等獨立模塊[14],如圖1所示.針對路側(cè)感知的模擬仿真?zhèn)戎赜诼穫?cè)傳感器與車輛以及環(huán)境之間的交互,因此,跟自動駕駛仿真平臺的最大區(qū)別在于傳感器類型為路側(cè)傳感器而非車載傳感器,但為了最大限度還原真實世界的相關(guān)特性,仍然需要包括圖形引擎、物理引擎以及與外界通訊的中間件系統(tǒng)作為基礎(chǔ)支撐,如圖2所示.
圖1 自動駕駛仿真系統(tǒng)典型架構(gòu)
圖2 路側(cè)感知仿真系統(tǒng)架構(gòu)
文獻[15] 從V2X、交通流、非自動駕駛車輛、傳感器、圖形渲染、自動駕駛車輛動態(tài)模型等幾方面總結(jié)了當前用于智能交通領(lǐng)域的主流模擬仿真軟件情況,如表1所示.其中,TF 代表交通流,DM 代表非自動駕駛車輛的駕駛模型,SE 代表傳感器,VI 代表渲染畫質(zhì),VD 代表自動駕駛車輛動態(tài)模型.另外,表格內(nèi),i 表示需要二次開發(fā),o 表示沒有相關(guān)功能,--表示非常差,-表示較差,+表示較好,++表示非常好.
表1 各類仿真軟件對比
由圖2可知,本文設(shè)計的路側(cè)感知仿真系統(tǒng)需要突出包括傳感器仿真,環(huán)境和交通渲染,車輛動力學(xué)模擬等,通過表1的數(shù)據(jù)分析可以得到滿足這些要求的有Carla、LGSVL、Righthook、SCANeR、VTD 以及CarMaker,其中Carla和LGSVL為開源軟件.
LGSVL是基于游戲引擎Unity 開發(fā)的一款主要用于自動駕駛開發(fā)和測試的模擬仿真軟件,它支持包括仿真環(huán)境、傳感器以及通訊內(nèi)容的自定義,圖3為LGSVL的工作流程[16],本文將基于LGSVL 開發(fā)適用于路側(cè)感知的仿真系統(tǒng).其中,利用自定義場景功能開發(fā)適用于路側(cè)感知的模擬環(huán)境,利用自定義車輛及傳感器模型功能創(chuàng)建路側(cè)感知單元,利用自定義通訊內(nèi)容實現(xiàn)路側(cè)感知數(shù)據(jù)的采集與傳輸.
圖3 LGSVL 工作流程
確定模擬場景是仿真測試的前提,本文模擬的場景為所在團隊進行無人駕駛的車輛測試場,圖4為其平面示意圖,其中由正門通往東門的L 型主干道及其周邊為本次重點模擬區(qū)域.路側(cè)感知仿真系統(tǒng)的模擬場景構(gòu)建內(nèi)容包括靜態(tài)環(huán)境、動態(tài)交通、路側(cè)單元等,模擬場景的構(gòu)建手段通常包括基于建模軟件構(gòu)建場景,基于已經(jīng)完成的游戲搭建場景,基于增強現(xiàn)實方法構(gòu)建場景,基于高精地圖生成場景等方式,本文采用基于建模軟件構(gòu)建虛擬場景,建模軟件為開源3D 建模軟件blender[17].
圖4 模擬場景整體平面示意圖
靜態(tài)環(huán)境主要包括用于車輛行駛的車道,場景內(nèi)的建筑,區(qū)域內(nèi)的綠植、路燈等,這些構(gòu)成了模擬場景的客觀環(huán)境,并且不隨仿真測試過程中其它條件的變化而改變,通過blender 建模后經(jīng)Unity 高清渲染后得到本次模擬仿真系統(tǒng)的靜態(tài)環(huán)境如圖5所示.
圖5 仿真系統(tǒng)靜態(tài)環(huán)境
動態(tài)交通是仿真測試場景的關(guān)鍵組成,主要指仿真中具備動態(tài)特性的管控、車流、人流等部分,包括紅綠燈仿真,機動車仿真,行人仿真等.動態(tài)交通仿真場景構(gòu)建方法主要有基于真實交通案例數(shù)據(jù)的構(gòu)建,基于真實案例數(shù)據(jù)的泛化構(gòu)建,以及基于微觀交通仿真系統(tǒng)的構(gòu)建.LGSVL 通過微觀仿真方法構(gòu)建動態(tài)交通,內(nèi)置地圖標注工具用來完成三維環(huán)境中高清地圖的創(chuàng)建,基于高清地圖實現(xiàn)車輛按照車道行駛,遵循交通信號燈,限速,交叉口決策等功能.圖6為在行駛車道上進行地圖標注.
圖6 高清地圖標注
LGSVL 內(nèi)置豐富的車輛模型,包括兩廂車,三廂車,SUV,吉普車,卡車,校車等,通過組合不同的顏色外觀,可以產(chǎn)生數(shù)十種車輛模型,基本涵蓋了路面上常見的車輛種類.同時,LGSVL 支持更多類型車輛的自定義與創(chuàng)建.圖7為在靜態(tài)環(huán)境中添加車輛模型后的效果.
圖7 添加動態(tài)交通后的仿真環(huán)境
路側(cè)單元是車路協(xié)同的核心部件,負責車路信息的采集、處理與傳輸,也是本文提出的面向車路協(xié)同的路側(cè)感知仿真系統(tǒng)的重點研究對象.LGSVL 作為一款主要面向自動駕駛的仿真軟件,本身并不具備路側(cè)單元這一組成類型,但是LGSVL 支持車輛及傳感器模型的高度自定義,本文即利用LGSVL的該功能進行面向車路協(xié)同的路側(cè)感知單元的新建.
常見路側(cè)單元包括攝像頭、激光雷達、毫米波雷達、工控機等,本文根據(jù)園區(qū)內(nèi)實際情況,將路側(cè)單元與太陽能路燈結(jié)合,在blender 中構(gòu)建路側(cè)單元三維模型如圖8(a)所示,在LGSVL 中,通過與新建車輛模型相同的方法得到路側(cè)單元對應(yīng)的可加載資源,最終在LGSVL 中加載路側(cè)單元并配置相應(yīng)的傳感器參數(shù)后如圖8(b)所示.
圖8 路測單元仿真
數(shù)據(jù)采集是路側(cè)傳感器的本質(zhì)用途,根據(jù)傳感器類型不同,數(shù)據(jù)采集的內(nèi)容及處理方式也不一樣,如攝像頭采集的是圖像信息,而激光雷達采集的則是三維點云數(shù)據(jù).由于激光雷達的成本較高,且三維數(shù)據(jù)的后期處理較為復(fù)雜,運用仿真手段實現(xiàn)激光雷達的物理特性模擬以及對應(yīng)數(shù)據(jù)收集和處理已然成為了真實路測的重要補充.本文以路側(cè)激光雷達為例介紹其仿真數(shù)據(jù)的生成及處理和輸出過程.
激光雷達仿真的思路是參照真實激光雷達的掃描方式,模擬每一條真實雷達射線的發(fā)射,通過與場景中所有物體求交,若在激光雷達的最大探測距離內(nèi)存在交點,則返回相應(yīng)的點云坐標.假設(shè)模擬激光雷達為L線,水平分辨率為R,水平掃描范圍為360°,得到每一幀發(fā)射射線的數(shù)量N為:
若探測距離為D,場景內(nèi)模擬點云數(shù)據(jù)生成的偽代碼如圖9所示.
圖9 模擬點云數(shù)據(jù)生成
由式(1)和圖9可知,當激光雷達頻率較高,場景內(nèi)環(huán)境較為復(fù)雜且模型足夠精細時,通過模擬射線求交的計算量極大,以激光雷達為64 線,水平分辨率0.4°,頻率10 Hz為例,單純每秒發(fā)射的激光雷達射線就高達576 000 條,在此基礎(chǔ)上還需要對每一條射線遍歷場景內(nèi)除激光雷達外的所有物體模型.為了達到實時仿真的效果,可以運用CPU 并行或GPU 計算的方式來提高計算效率,LGSVL 采用GPU 計算點云數(shù)據(jù).
真實點云數(shù)據(jù)除了位置坐標外,還有一個關(guān)鍵信息是反射強度,反射強度主要反映的是不同物理材質(zhì)對激光雷達所使用的近紅外光線的反射率.因此,模擬點云數(shù)據(jù)同樣需要考慮強度值,LGSVL 中通過獲取模型材質(zhì)中的金屬度及顏色值并進行歸一化處理得到取值范圍在0~255 間的強度值.
有了模擬點云數(shù)據(jù)后,一般還需要配合真值數(shù)據(jù),用作模型識別訓(xùn)練的數(shù)據(jù)集.真值數(shù)據(jù)對應(yīng)真實數(shù)據(jù)中的人工標簽數(shù)據(jù),數(shù)據(jù)內(nèi)容包括可識別物體的位置、朝向、包圍盒大小、速度、類型等,不同于人工打標簽的過程,真值數(shù)據(jù)相對于仿真系統(tǒng)而言是已知的,只需要將真值數(shù)據(jù)與點云數(shù)據(jù)進行配合同步輸出即可,因此可以大大提高輸出標簽的效率.在LGSVL 中新建真值數(shù)據(jù)傳感器,數(shù)據(jù)類型為Detected3DObject,如圖9所示,其中,Id為同一幀數(shù)據(jù)內(nèi)識別物體的序列,Label為物體標簽,Position為物體位置,Rotation為物體朝向,Scale為物體包圍盒尺寸,LinearVelocity和AngularVelocity 分別為物體線速度和角速度.為實現(xiàn)真值數(shù)據(jù)與點云數(shù)據(jù)匹配,需要將真值數(shù)據(jù)傳感器與激光雷達傳感器的配置參數(shù)保持一致,如位置姿態(tài)、有效范圍、頻率等.
Unity 中,姿態(tài)角采用四元素表示,如圖10中的Rotation 值,同時坐標系的表示為左手系,而一般用于模型訓(xùn)練的標簽數(shù)據(jù)采用右手坐標系下的歐拉角表示.歐拉角有12 種表示,分別代表著12 種旋轉(zhuǎn)次序[18],本文采用ZYX的旋轉(zhuǎn)次序.假設(shè)Unity 中四元素姿態(tài)角表示為quaternion=(x,y,z,w),對應(yīng)ZYX 歐拉角為euler=(roll,pitch,yaw),則兩者之間存在關(guān)系:
LGSVL 支持包括ROS,ROS2,CyberRT 等多種通信方式,本文采用基于Rosbridge的通訊實現(xiàn)模擬點云數(shù)據(jù)與真值數(shù)據(jù)的輸出.Rosbridge為非ROS 程序提供了一個使用ROS 功能的JSON API,用于向ROS 發(fā)送基于JSON的命令的規(guī)范[19].Rosbridge 包含一個Web Socket 服務(wù)器,用于與Web 瀏覽器進行交互,仿真系統(tǒng)與ROS 之間的通信如圖11所示.
圖10 真值數(shù)據(jù)類型結(jié)構(gòu)
圖11 Rosbridge 通訊框圖
由于模擬點云數(shù)據(jù)與真值數(shù)據(jù)分別通過不同的傳感器采集,為了實現(xiàn)每一幀文件的相互匹配,本文采用獲取當前ROS 時間作為每一幀點云數(shù)據(jù)和真值數(shù)據(jù)的命名,如當前ROS 時間為n.ms,對應(yīng)時刻采集的點云數(shù)據(jù)文件保存為nm.pcd,真值數(shù)據(jù)文件為nm.txt.將同一幀的模擬點云數(shù)據(jù)與真值數(shù)據(jù)導(dǎo)入Rviz 中顯示如圖12所示.
圖12 數(shù)據(jù)輸出結(jié)果顯示
在現(xiàn)實中,由于激光雷達成本較高,在路側(cè)布局中需要優(yōu)化激光雷達的布局使得單個激光雷達的有效覆蓋區(qū)域盡可能多地被利用.對于只有單側(cè)布置RSU的路面,因為各類車輛的形體差異較大,有可能存在小車被大車遮擋的情況,從而對車路協(xié)同提供的超視距功能構(gòu)成挑戰(zhàn),為了減少這種因大車遮蔽造成激光雷達盲區(qū)的情況,最簡單有效的方法是增加激光雷達的安裝高度.獲取激光雷達的最低安裝高度需要綜合包括激光雷達參數(shù),道路環(huán)境參數(shù),車輛參數(shù)等多種條件進行測試,通過真實路測是不大現(xiàn)實的,而借助本文提出的路側(cè)感知仿真系統(tǒng)可以簡單直觀地完成.實驗中,選取線數(shù)為16 線,垂直角度為30°,有效距離為120 m的激光雷達,大車的長度為10.5 m,高度4.4 m,小車長度4.6 m,高度1.4 m,通過改變激光雷達高度和傾角值,獲得6 組激光雷達在仿真環(huán)境中的點云覆蓋情況如圖13所示,從圖中可知,隨著激光雷達高度增高,小車被點云覆蓋的可能性越大,同時為了使得點云覆蓋車道的大部分,傾斜角度也需要增大,當激光雷達高度為10 米,傾斜角度為55°時,小車可以有較好的點云覆蓋.
圖13 不同高度和角度下激光雷達點云覆蓋
相對于基于攝像頭采集的二維圖像識別物體,基于激光雷達的點云數(shù)據(jù)的物體識別因為不受環(huán)境光的影響,具有更高的魯棒性,因此在車路協(xié)同中具有重要的地位.相應(yīng)地,由于單幀的點云數(shù)據(jù)量巨大,同樣采用深度學(xué)習(xí)的方法,基于點云的識別難度較于圖像識別有過之而無不及,尤其制作標簽數(shù)據(jù)的過程,采用人工的方式是極其困難的.通過仿真系統(tǒng)可以快速準確地生成大量標簽數(shù)據(jù),但模擬數(shù)據(jù)是否可以替代真實數(shù)據(jù)仍需要通過實驗進行驗證.
本文設(shè)計了4 組實驗進行驗證,第1 組采用真實數(shù)據(jù)訓(xùn)練真實數(shù)據(jù)測試,第2 組采用模擬數(shù)據(jù)訓(xùn)練模擬數(shù)據(jù)測試,第3 組采用真實數(shù)據(jù)訓(xùn)練模擬數(shù)據(jù)測試,第4 組采用模擬數(shù)據(jù)訓(xùn)練真實數(shù)據(jù)測試,4 組實驗采用相同的訓(xùn)練網(wǎng)絡(luò),訓(xùn)練集與測試集的數(shù)據(jù)量均按4:1 得到,最后結(jié)果如表2所示.
表2 模擬數(shù)據(jù)與真實數(shù)據(jù)的測試對比
其中,Precision為識別的精確率,相對于測試集中檢測出來的樣本而言,Recall為召回率,相對于整個測試集而言,F1 score為精確率和召回率的調(diào)和平均數(shù).從表2中可以看出,不管是用真實數(shù)據(jù)測試模擬數(shù)據(jù),還是模擬數(shù)據(jù)測試真實數(shù)據(jù),最后的結(jié)果都顯示各類評價指標可以比較接近純真實數(shù)據(jù)的情況,由此可知,通過仿真系統(tǒng)輸出的模擬點云數(shù)據(jù)可以較好地還原真實數(shù)據(jù)的特征.
隨著智能交通領(lǐng)域的快速發(fā)展,模擬仿真技術(shù)在其中扮演著越來越重要的角色,尤其是針對自動駕駛和車路協(xié)同已經(jīng)有很多的仿真應(yīng)用和研究,然而面向路側(cè)感知的仿真仍然鮮有人涉足.本文提出了一種面向車路協(xié)同的路側(cè)感知仿真系統(tǒng),系統(tǒng)基于自動駕駛仿真軟件LGSVL 進行二次開發(fā)構(gòu)建,開發(fā)內(nèi)容包括模擬仿真環(huán)境,路側(cè)單元及數(shù)據(jù)采集與通訊,最后通過兩個實驗對仿真系統(tǒng)的應(yīng)用進行說明.實驗一借助仿真環(huán)境分析了激光雷達的高度與路面點云覆蓋之間的關(guān)系,可以為激光雷達的實際安裝位置提供參考,實驗二通過對比由仿真環(huán)境中輸出的點云數(shù)據(jù)得到的車輛識別模型與由真實數(shù)據(jù)得到的模型之間的相互驗證結(jié)果,得出本文設(shè)計的仿真系統(tǒng)的對激光雷達和環(huán)境的模擬可以較高程度地還原真實情況.
另外,在本次的研究中,由于將激光雷達傳感器與真值數(shù)據(jù)傳感器作為單獨的個體進行考慮,存在無法在時間上做到完全同步的問題,會導(dǎo)致真值數(shù)據(jù)和點云數(shù)據(jù)在空間上存在細微的差距,其次,本文實驗中仿真環(huán)境和真實環(huán)境仍存在一定的差異,如綠植、車棚等,導(dǎo)致實驗二中交叉驗證出現(xiàn)各項指標略低于自身驗證的情況,這些將在后續(xù)的研究中進行重點考慮.同時,探索路側(cè)感知仿真系統(tǒng)在車路協(xié)同中更多的應(yīng)用場景也是未來研究的方向.