該文是2022年2月7日在arXiv上傳的論文“A Survey on Safety-Critical Scenario Generation for Autonomous Driving – A Methodological Perspective“,作者來自CMU。
由於感知和決策技術的進步,自動駕駛系統在過去幾年中得到了長足的發展。在現實世界中自動駕駛大規模部署的一個關鍵障礙是安全評估。大多數現有的駕駛系統仍然是採用日常佔絕大多數的自然場景或啟發式生成的對抗場景進行訓練和評估。然而,大量汽車需要極低的碰撞率,這表明在現實世界中收集的安全-緊要場景非常少見。因此,人工生成場景的方法對管理風險和降低成本來說至關重要。
本篇綜述主要關注安全-緊要場景生成演算法。首先對現有演算法進行全面分類,即資料驅動生成、對抗生成和基於知識的生成。然後,文章討論場景生成的有用工具,包括模擬平臺和軟體包。最後,討論擴充套件到當前工作的五大挑戰——準確性、效率、多樣性、可遷移性、可控性,以及這些挑戰帶來的研究機遇。
如圖是自動駕駛汽車評價的概覽:(a) 現實世界中發生的大多數場景都是典型場景,安全-緊要場景非常少見。(b) 自動駕駛汽車的平均安全性應該比人類駕駛員高,但差距不容易評估和測量。(c) 不同安全-緊要場景生成方法之間比較。大多數現有方法不能同時滿足準確性和安全-緊要評估指標。
關於安全-緊要場景的生成方法類別如下圖所示:
駕駛場景定義為三個集合的組合,x∈ X={S,D,B}。S表示靜態環境,包括道路形狀、交通標誌和其他靜態目標。D表示動態目標的初始條件和屬性。B表示動態目標的序列行為。
通常有多種選擇來表示場景,取決於要評估的系統。如果目標系統是一個感知模組,要採用高維感測資料,如影象和鐳射雷達點雲,而直接生成高保真觀測資料非常困難。另一種方法是利用光線投射演算法的渲染引擎(比如differential renderer)和鐳射雷達模擬器生成高維資料。如果想評估一個運動規劃或控制系統,可以轉向低維,比如用動態目標的軌跡或策略模型。軌跡表示不如使用策略模型靈活,但軌跡表示的場景更可控。
安全-緊要場景的生成可以描述為:
這個最佳化問題不容易解決,主要有兩個方面:第一個是分佈pθ(x)的表示,第二個是度量f(x)的選擇。
要生成安全-緊要場景,最重要的因素是場景的風險。風險水平主要透過場景中自動駕駛車輛與目標之間的相互作用來反映,用距離來自然描述——距離小意味著碰撞風險高。這種直覺也可以轉化為其他指標,如撞擊時間(TTC):
如圖是三種安全-緊要場景生成方法的說明。(a) 資料驅動方法僅用收集的資料直接或透過生成模型進行取樣。(b) 對抗性方法使用來自模擬部署中的自動車輛反饋。(c) 基於知識的方法主要利用來自外部知識的資訊作為生成的約束或指導。
資料驅動方法主要分為兩部分:第一部分直接從資料集x∼ D中取樣,複製現實世界的資料,這通常會遇到罕見問題;第二部分是使用密度估計模型(例如深度生成模型)pθ(x)來學習場景分佈,生成未見過的場景;通常這些模型的學習目標是最大化對數似然
取樣過程由來自隨機噪聲的x∼ pθ(x)進行。
一種直觀的生成方法是直接從收集的資料集中取樣,該資料集從道路測試資料中複製場景。根據取樣前和取樣中使用的不同技術,分為以下三組:資料重放、聚類和隨機擾動。
而密度估計法,考慮隨分佈的駕駛場景,用收集到的資料學習密度模型來近似這種分佈。根據使用的密度模型,這類演算法又分為三類:貝葉斯網路、深度學習模型和深度生成模型。
對抗生成法由兩個元件組成,一個是生成器,另一個是犧牲者模型,即自動駕駛車(AV)。然後,這個目標生成過程可以表述為
對抗生成法主要集中在特定的小場景集,所以透過增加分佈H(x)的約束或熵來考慮多樣性。由於考慮自動駕駛車的影響,這種型別也被稱為車在環(VIL)測試。由於自動駕駛系統由多個模組組成,根據犧牲者模型類劃分這些對抗生成方法。當模型用於單幀輸入時,例如目標檢測和分割,只需要生成靜態場景。當犧牲者模型需要一個連續測試用例時,就生成包含所有目標運動的動態場景。
當工作的目標是評估規劃和控制模組時,場景需要是動態的和連續的。對於這類演算法,根據場景的靈活性將當前的工作進一步分為兩類:
- 第一種是控制場景的初始條件(例如,初始速度和觸發位置)或在開始時提供整個軌跡。其優點是搜尋空間維數低,所需計算資源少。
- 第二種是使用策略模型序貫控制動態目標,其中目標的行為受自動駕駛車(AV)的影響。這種型別通常被描述為強化學習(RL)問題,其中AV屬於環境,生成器是可以控制的智體。
基於知識的方法是,考慮將外部領域知識納入生成過程。首先探索基於規則的方法,人工設計場景的結構和引數。基於學習的方法,使用明確的知識來指導生成。假設可以從專家那裡獲得特定的領域知識K,那麼可以用
其中,從條件分佈pθ(x | K)中取樣場景。此外,可以用K作為約束來影響現有場景:
如表是場景資料集的比較:
下表是交通模擬平臺的比較:
另外,場景設計平臺有如下幾種:
- CARLA Scenario Runner:為CARLA提供交通場景定義和執行引擎。場景可以透過Python介面定義,該介面允許使用者輕鬆描述複雜且同步的機動,涉及車輛、行人和其他交通參與者等多個實體。它還支援OpenSCENARIO標準檔案格式用於場景描述,使其能夠簡單高效地合併開源社群的各種現有交通場景。
- DI Drive Casezoo:由一組場景組成,用於在模擬器中訓練和評估駕駛策略。與CARLA Scenario Runner類似,DI Drive Casezoo有一個路線場景和多個單一場景,可沿路線觸發。路線場景在XML檔案定義,並帶有相應的場景。沿路線的觸發位置在JSON檔案中定義。Python檔案中定義了一個場景,描述了交通參與者的行為。在官方程式碼庫中,有18種路線場景和8種類型的單一場景,可根據路線定義觸發。
- SUMO NETEDIT:是一個圖形場景編輯器,可用於從頭建立交通網路,並修改現有網路的所有方面,包括基本網路元素(路口、邊緣和車道)、高階網路元素(如交通燈)和附加基礎設施(如公交車站)。該工具是專門為SUMO設計的,SUMO主要生成大規模交通狀況,而不進行高保真渲染。
- SMARTS Scenario Studio:是SMARTS平臺中的一個場景設計工具,支援靈活且富有表現力的場景規範。場景定義用Domain Specific Language(DSL)編寫,該語言描述交通環境,如交通工具、路線和智體任務。Scenario Studio還支援SUMO NETEDIT的配置檔案。透過NETEDIT編輯的地圖可以很容易地包含在Scenario Studio中並在其中複用,豐富了SMARTS平臺中的訓練和測試環境。
- CommonRoad:是一個模擬器和一個開源工具箱,用於訓練和評估基於強化學習(RL)的自動車輛運動規劃器。場景配置用XML檔案編寫。使用者可以使用CommonRoad提供的Python API來閱讀、修改、視覺化和儲存自己的交通場景。此外,CommonRoad還支援更多場景規範,如Lanelet2和OpenSCENARIO。
這個領域存在5個挑戰,如圖根據三種生成方法比較這些挑戰項的表現:
- 準確性。最終目標是開發能夠在現實世界中執行的安全裝置。因此,讓AV透過困難但不現實的場景是沒有用的。需要確保生成的場景有機會在實際交通情況下發生。
- 效率。安全-緊要場景在現實世界中極為少見。生成需要考慮效率和增加感興趣場景的密度。
- 多樣性。安全-緊要場景多種多樣。生成演算法應該能夠發現並生成儘可能多的不同安全-緊要場景。
- 可遷移性。由於AV與其周圍物體之間的相互作用,場景是動態的。我們為不同AV生成的場景應該是可變的,而不是針對一個特定AV。
- 可控性。在大多數情況下,希望複製或重複特定的場景,而不是隨機場景。生成模型應該能夠按照指令或條件生成相應的場景。