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