端到端是無(wú)法閉環(huán)的,只能開(kāi)環(huán)仿真測(cè)試,目前唯一的端到端測(cè)試平臺(tái)即CARLA,全球最大最頂尖的端到端算法比賽,即CVPR 2024 Autonomous Grand Challenge,當(dāng)然也是采用CARLA測(cè)試,同時(shí)也有基于CARLA的算法比賽項(xiàng)目。
CARLA是英特爾、豐田和西班牙巴塞羅納計(jì)算機(jī)視覺(jué)中心聯(lián)合推出的開(kāi)源自動(dòng)駕駛仿真平臺(tái),也是唯一具備強(qiáng)化學(xué)習(xí)和模仿學(xué)習(xí)(99%的端到端都是Imitation learning模仿學(xué)習(xí))賽道的仿真平臺(tái),并且這是在2017年,彼時(shí)根本沒(méi)人知道端到端自動(dòng)駕駛,但豐田想到了,當(dāng)然豐田這種傳統(tǒng)車(chē)廠幾乎不可能使用這種完全黑盒子,不具備可確定性,不具備可解釋性,無(wú)法評(píng)估安全系數(shù)的技術(shù)。
順便說(shuō)一下,自動(dòng)駕駛領(lǐng)域最早的測(cè)試數(shù)據(jù)集KITTI,是豐田早在2011年底與德國(guó)卡爾斯魯厄科技學(xué)院聯(lián)合完成的,2012年3月發(fā)布,至今仍然是自動(dòng)駕駛領(lǐng)域內(nèi)最權(quán)威的測(cè)試數(shù)據(jù)集,特別是視覺(jué)深度領(lǐng)域,擁有絕對(duì)的霸主地位,毫不夸張地說(shuō),任何自動(dòng)駕駛領(lǐng)域的廠家(含芯片廠家)和研究者都繞不開(kāi)KITTI,包括特斯拉和Waymo。
首席作者Alexey Dosovitskiy,俄羅斯人,2012年莫斯科國(guó)立大學(xué)畢業(yè),他更出名的論文是《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》也就是鼎鼎大名的ViT,憑借此論文,躋身全球AI杰出人才前50名,目前在英特爾工作。
幾種自動(dòng)駕駛仿真對(duì)比
CARLA由Embodied人工智能基金會(huì)維護(hù),CARLA的技術(shù)生態(tài)和發(fā)展路線將由Intel(英特爾)、Toyota Research Institute(豐田研究院)、Futurewei、NVIDIA(英偉達(dá))、Synkrotron(深信科創(chuàng))五位理事單位及CARLA研發(fā)團(tuán)隊(duì)共同規(guī)劃。深信科創(chuàng)CTO潘余曦博士代表深信科創(chuàng)擔(dān)任理事會(huì)成員,深信科創(chuàng)工程師嚴(yán)宋揚(yáng)加入CARLA核心研發(fā)團(tuán)隊(duì)。作為CARLA唯一理事會(huì)中國(guó)成員,深信科創(chuàng)有CARLA的商業(yè)版即SYNKROTRON Oasis仿真平臺(tái)。
CARLA特色包括:
虛幻引擎驅(qū)動(dòng):CARLA基于Epic Games的虛幻引擎4構(gòu)建,這意味著它可以生成高保真的3D環(huán)境,提供視覺(jué)上的真實(shí)性,這對(duì)于測(cè)試車(chē)輛感知系統(tǒng)尤其重要。
實(shí)時(shí)模擬:CARLA能夠?qū)崿F(xiàn)實(shí)時(shí)的仿真速度,這對(duì)于快速迭代和驗(yàn)證算法至關(guān)重要。而且,它還支持多GPU設(shè)置以提高性能。
開(kāi)放源代碼:開(kāi)源的特性使得開(kāi)發(fā)者可以深入理解其工作原理,修改并擴(kuò)展功能,以滿足特定需求。
傳感器數(shù)據(jù):提供多種虛擬傳感器,如攝像頭、激光雷達(dá)(LiDAR)、毫米波雷達(dá)等,這些傳感器能模擬真實(shí)世界的數(shù)據(jù)流,用于訓(xùn)練和測(cè)試自動(dòng)駕駛算法。
可配置性:環(huán)境、天氣條件、交通規(guī)則等均可按需進(jìn)行調(diào)整,從而創(chuàng)建出無(wú)數(shù)個(gè)不同的測(cè)試場(chǎng)景。
跨平臺(tái):支持Windows、Linux和macOS操作系統(tǒng),兼容多種編程語(yǔ)言,包括Python和C++。
靈活的API:提供易于使用的API,讓用戶可以方便地控制模擬世界,并獲取傳感器數(shù)據(jù)。
主要應(yīng)用場(chǎng)景包括自動(dòng)駕駛算法開(kāi)發(fā):利用CARLA,用戶可以測(cè)試路徑規(guī)劃、目標(biāo)檢測(cè)或避障算法,在各種復(fù)雜的環(huán)境中驗(yàn)證它們的魯棒性。
數(shù)據(jù)集生成:可以生成大規(guī)模、多樣化的合成數(shù)據(jù)集,用于訓(xùn)練深度學(xué)習(xí)模型,減少對(duì)真實(shí)世界數(shù)據(jù)的依賴。
教學(xué)與研究:教育工作者可以使用CARLA作為工具,讓學(xué)生在虛擬環(huán)境中學(xué)習(xí)自動(dòng)駕駛的基本概念和技術(shù)。
驗(yàn)證平臺(tái): 對(duì)于硬件在環(huán)(Hardware-in-the-Loop, HIL)測(cè)試,CARLA提供了一個(gè)理想的平臺(tái),可以在不涉及實(shí)際車(chē)輛的情況下測(cè)試控制系統(tǒng)。
CARLA目前最新版本為0.9.15,2023年底推出,CARLA最新增加的town 15就是巴塞羅納校園的復(fù)制,0.9.15版本支持Digital Twin,可以加入開(kāi)源地圖制作軟件OpenStreetMap,程序化制作地圖。支持英偉達(dá)的Omniverse導(dǎo)入。CARLA也可以和交通模擬軟件SUMO聯(lián)合,對(duì)于目前火熱的NOA測(cè)試,國(guó)內(nèi)企業(yè)大部分都是采用CARLA和SUMO聯(lián)合仿真測(cè)試的。
CARLA與SUMO聯(lián)合仿真
為了在仿真世界中實(shí)現(xiàn)車(chē)輛動(dòng)力學(xué),首先需要實(shí)現(xiàn)物理引擎;下面簡(jiǎn)要介紹一下CARLA底層采用的Unreal Engine(虛幻引擎,簡(jiǎn)稱(chēng)UE)的物理引擎
目前業(yè)界主要有三大物理引擎,分別是PhysX、Havok、Bullet。
Bullet:開(kāi)源的物理引擎,具有廣泛的跨平臺(tái)支持,并以其穩(wěn)定性和高性能而聞名,被廣泛應(yīng)用于游戲和動(dòng)畫(huà)領(lǐng)域。
PhysX:由NVIDIA開(kāi)發(fā)的實(shí)時(shí)物理模擬引擎,廣泛用于游戲開(kāi)發(fā),提供高性能、精確和逼真的物理模擬功能。
Havok:一款可靠且廣泛應(yīng)用的物理引擎,提供出色的碰撞檢測(cè)和物體模擬功能,被廣泛應(yīng)用于游戲和影視制作領(lǐng)域。
Unreal Engine(簡(jiǎn)稱(chēng)UE)原生默認(rèn)支持PhysX物理引擎解決方案,這也是大部分項(xiàng)目常用的技術(shù)方案。與此同時(shí),UE 從4.23版本之后,也推出了Unreal Chaos物理系統(tǒng)。CARLA當(dāng)前版本(0.9.15)基于UE4.26,這個(gè)版本的UE同時(shí)支持PhysXVehicles和ChaosVehicles(前者被標(biāo)記為deprecated),但基于上面的分析,CARLA中依舊選用了PhysXVehicles。
車(chē)輛動(dòng)力學(xué)方面,CARLA車(chē)輛的基類(lèi)是CarlaWheeledVehicle,它繼承自PhysXVehicle組件的WheeledVehicle。生成車(chē)輛時(shí),這個(gè)類(lèi)的構(gòu)造函數(shù)初始化了VehicleBounds和baseMovementComponent,前者用于保存和獲取車(chē)輛的長(zhǎng)寬高,后者是繼承于UE的MovementComponent的移動(dòng)組件類(lèi)。在這個(gè)類(lèi)的BeginPlay函數(shù)中,設(shè)置了車(chē)門(mén)以及初始化了輪胎摩擦力。另外類(lèi)中有一些設(shè)置(Setter)和獲?。℅etter)函數(shù),包括車(chē)輛狀態(tài)、控制信號(hào)、BoundingBox、物理(動(dòng)力學(xué))特性等。
CARLA支持UE PhysX車(chē)輛動(dòng)力學(xué),也支持CarSim車(chē)輛動(dòng)力學(xué),默認(rèn)為前者。VehicleControl是一個(gè)結(jié)構(gòu)體,包括了控制車(chē)輛所需的所有變量,即油門(mén)、轉(zhuǎn)向、剎車(chē)等。當(dāng)車(chē)輛接收到輸入的控制信號(hào)時(shí),CARLA車(chē)輛移動(dòng)組件會(huì)調(diào)用ProcessControl函數(shù)來(lái)將控制信號(hào)應(yīng)用到車(chē)輛上。
車(chē)輛動(dòng)力學(xué)部分自然離不開(kāi)豐田的貢獻(xiàn),當(dāng)然豐田對(duì)純電車(chē)缺乏興趣,CARLA的車(chē)輛動(dòng)力學(xué)主要是針對(duì)燃油車(chē)的。
CARLA提供的城市環(huán)境內(nèi)容也是免費(fèi)的,涵蓋城市布局、多種車(chē)輛模型、建筑物、行人、路標(biāo)等。該仿真平臺(tái)支持傳感器套件的靈活設(shè)置,并提供可用于訓(xùn)練駕駛策略的信號(hào),例如GPS坐標(biāo)、速度、加速度以及碰撞和其他違規(guī)行為的詳細(xì)數(shù)據(jù)。CARLA可以定義廣泛的環(huán)境條件,包括天氣和時(shí)間。
CARLA TOWN2中的四種典型天氣與時(shí)間,分別是晴天、日落、雨天和雨后
CARLA實(shí)現(xiàn)了各種大氣條件和照明條件。它們?cè)谔?yáng)的位置和顏色、天空漫射的強(qiáng)度和顏色以及環(huán)境遮擋、大氣霧、云量和降水量等方面存在差異。最初版的CARLA支持兩種照明條件(正午和日落)以及9種天氣條件(不同的云量、降水量和街道上是否有水坑)。這將實(shí)現(xiàn)總共18種照明天氣組合。最新版的估計(jì)有上百種,即便商業(yè)軟件都很難做到。
環(huán)境由靜態(tài)對(duì)象(如建筑物、植被、交通標(biāo)志和基礎(chǔ)設(shè)施)以及動(dòng)態(tài)對(duì)象(如車(chē)輛和行人)的三維模型組成。所有模型都經(jīng)過(guò)精心設(shè)計(jì),以平衡視覺(jué)質(zhì)量和渲染速度:CARLA使用low-weight的幾何模型和紋理,但通過(guò)精心制作材質(zhì)和使用可變細(xì)節(jié)級(jí)別來(lái)保持視覺(jué)真實(shí)感。所有的三維模型都有一個(gè)共同的比例,它們的大小反映了真實(shí)物體的大小。2017年第一版的庫(kù)包括40個(gè)不同的建筑、16個(gè)動(dòng)畫(huà)車(chē)輛模型和50個(gè)動(dòng)畫(huà)行人模型。
CARLA 通過(guò)以下步驟使用這些資源來(lái)構(gòu)建城市環(huán)境:(a)規(guī)劃道路和人行道;(b)手動(dòng)放置房屋、植被、地形和交通基礎(chǔ)設(shè)施;(c)指定動(dòng)態(tài)對(duì)象可以出現(xiàn)(生成)的位置。2017年的第一版只設(shè)計(jì)了兩個(gè)城鎮(zhèn):Town1的可行駛道路總長(zhǎng)度為2.9 km,用于訓(xùn)練;Town2的可行駛道路為1.4 km,用于測(cè)試。這兩個(gè)城鎮(zhèn)見(jiàn)下圖。
最新版本則設(shè)計(jì)了10或更多個(gè)城鎮(zhèn),最大的面積高達(dá)100平方公里。
最初版本基于標(biāo)準(zhǔn)的UE4車(chē)型(PhysXVehicles)來(lái)設(shè)計(jì)非玩家車(chē)輛,其運(yùn)動(dòng)學(xué)參數(shù)調(diào)整為現(xiàn)實(shí)模式。CARLA還實(shí)現(xiàn)了一個(gè)控制非玩家車(chē)輛行為的基本控制器:車(chē)道跟隨、遵守紅綠燈、速度限制和交叉路口決策。車(chē)輛和行人可以相互察覺(jué)和避開(kāi)。更先進(jìn)的非玩家車(chē)輛控制器將被集成到未來(lái)的版本中。行人根據(jù)特定城鎮(zhèn)的導(dǎo)航地圖在鎮(zhèn)上游蕩,相互避開(kāi),盡量避開(kāi)車(chē)輛。如果汽車(chē)與行人相撞,行人將從仿真世界中刪除,并在短暫的時(shí)間間隔后在不同的位置生成新的行人。
為了增加視覺(jué)多樣性,CARLA在將非玩家角色添加到仿真中時(shí)對(duì)其外觀進(jìn)行隨機(jī)化。每個(gè)行人都穿著從預(yù)先指定的衣柜中隨機(jī)抽取的一套衣服,并可選擇配備以下一種或多種物品:智能手機(jī)、購(gòu)物袋、吉他盒、手提箱、雨傘等。每輛車(chē)都是根據(jù)特定車(chē)型的一組材料隨機(jī)噴漆的。但是中國(guó)交通場(chǎng)景最常見(jiàn)的,絲毫不在乎交通規(guī)則的低速三輪或四輪電動(dòng)車(chē)(老頭樂(lè))以及千奇百怪的兩輪電動(dòng)車(chē)卻沒(méi)有,這是非常大的缺失。
感知方式有三種,常規(guī)攝像頭,深度真值和語(yǔ)義分割真值。因此CARLA也能給無(wú)人駕駛的感知系統(tǒng)打分。
三種自動(dòng)駕駛方法得分對(duì)比
來(lái)源:Wayve
上圖中,MP代表傳統(tǒng)的模塊分割流水線方式,IL代表目前火熱的端到端,RL代表強(qiáng)化學(xué)習(xí),2017年第一版論文,對(duì)三者做了簡(jiǎn)單對(duì)比,放到今天大模型流行的情況下,對(duì)比可能差別較大。需要指出強(qiáng)化學(xué)習(xí)的訓(xùn)練時(shí)間需要12天,而IL只需要14個(gè)小時(shí)。
三種自動(dòng)駕駛方法的平均行駛里程
來(lái)源:Wayve
綜合來(lái)看,MP表現(xiàn)最好,端到端對(duì)新環(huán)境和新天氣適應(yīng)能力最好,強(qiáng)化學(xué)習(xí)各方面都很差。
CARLA的評(píng)價(jià)系統(tǒng)有三項(xiàng)得分,分別是Driving Score (DS) 和 Route Completion (RC) 以及 Infraction Score (IS)。有兩種方式,一是基于地圖的,另一種是基于傳感器的。
2024年自動(dòng)駕駛算法大賽的CARLA比賽有40個(gè)團(tuán)隊(duì)參加,基本上都是基于端到端的。
基于傳感器的前三名如下,其中英偉達(dá)、微軟和軟銀投資的英國(guó)Wayve在端到端自動(dòng)駕駛領(lǐng)域擁有絕對(duì)優(yōu)勢(shì)。
傳感器組第一名Wayve(即表中的ours)的得分
來(lái)源:Wayve
上表是傳感器組第一名Wayne(即表中的ours)的得分,L: Lidar, C: Camera, R: Radar, M: Map, priv: privileged, OD: Object Detection (3D position and pose), IS: Instant Segmentation, SS: Semantic Segmentation, D: Depth, BS: BEV semantics.
Wayve的算法框架
Wayve的算法框架,核心是META的LlaMA和llava next video編碼器,前者典型參數(shù)為70億,后者也是70億,后者還有更高的340億參數(shù)版。
中國(guó)道路環(huán)境最復(fù)雜的,商業(yè)化的仿真測(cè)試平臺(tái)需要花費(fèi)極高的成本才能對(duì)中國(guó)道路環(huán)境和交通流做仿真,顯然CARLA這種開(kāi)源社區(qū)或許是應(yīng)對(duì)中國(guó)道路環(huán)境的最佳方式。
免責(zé)說(shuō)明:本文觀點(diǎn)和數(shù)據(jù)僅供參考,和實(shí)際情況可能存在偏差。本文不構(gòu)成投資建議,文中所有觀點(diǎn)、數(shù)據(jù)僅代表筆者立場(chǎng),不具有任何指導(dǎo)、投資和決策意見(jiàn)。