閉環永動機!NeuroNCAP:徹底打通端到端閉環仿真鏈路,已開源!
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
寫在前面&筆者的個人理解
本文提出了一種用于測試自動駕駛(AD)軟件系統的多功能基于NeRF的仿真器,其設計重點是傳感器真實閉環評估和安全關鍵場景的創建。仿真器從真實世界的駕駛傳感器數據序列中學習,并能夠重新配置和渲染新穎的場景。在這項工作中,使用本文提出的仿真器來測試AD模型對安全關鍵場景的響應。評估表明,盡管最先進的端到端規劃器在開環環境中的標稱駕駛場景中表現出色,但在閉環環境中導航關鍵場景時,他們表現出了不可忽略的缺陷。這突出了端到端規劃器在安全性和現實可用性方面的進步需求。通過將我們的仿真器和場景作為一個易于運行的評估套件公開發布,并邀請社區在受控但高度可配置且具有挑戰性的傳感器現實環境中探索、完善和驗證他們的端到端模型。
開源鏈接:https://github.com/atonderski/neuro-ncap
總結來說,本文的主要貢獻如下:
- 發布了一個開源框架,用于自動駕駛的真實感閉環仿真。
- 受行業標準EuroNCAP的啟發,構建了無法在現實世界中安全收集的安全關鍵場景。
- 使用仿真器和我們構建的場景,設計了一個新的評估協議,該協議側重于碰撞而不是位移度量。
- 本文發現盡管準確地感知了環境,但兩個SoTA端到端規劃器在安全關鍵場景中嚴重失敗,這值得社區進一步探索。
相關工作回顧
端到端駕駛模型:傳統上,自動駕駛任務被劃分為不同的模塊,例如感知、預測和規劃,這些模塊是單獨構建的。胡等人認為,這種劃分有很多缺點:跨模塊的信息丟失、錯誤積累和特征錯位。姜等人強調,規劃模塊可能需要訪問手工制作的界面中不存在的傳感器數據的語義信息。這兩項工作繼續支持端到端規劃。Pomerlau等人的開創性工作提出了這樣一種規劃器,其中訓練單個神經網絡將傳感器輸入映射到輸出軌跡。幾十年的神經網絡進步激發了人們對端到端規劃的新興趣。然而,這些規劃者的黑匣子性質使他們難以優化,其結果也難以解釋。胡等人和姜等人提出了兩種具有中間輸出的端到端神經網絡規劃器,對應于模塊化方法。他們的規劃者被劃分為多個模塊,但模塊接口是學習的,由深度特征向量組成。
端到端規劃器的開環評估:Pomerleau等人通過讓其駕駛真實世界的測試車輛來評估他們的駕駛模型。這樣的設置使得大規模測試成本高昂,并且結果可能難以再現。最近在端到端規劃方面的工作改為在開環中進行評估,在該開環中,模型根據記錄的傳感器數據預測計劃。預測的計劃從未被執行,相反,行動被固定在記錄的內容上。這種設置也被用于目標級規劃工作,該工作假設了完美的感知,并將靜態環境的地圖和動態對象的軌跡輸入到模型中。這種開環評估構成了評估與現實部署之間的差距。此外,性能通常被測量為記錄中預測的計劃和車輛駕駛的軌跡之間的距離。雖然零的誤差對應于人類水平的駕駛,但誤差越低越好并不一定是真的。這可以通過考慮兩個不同軌跡相同好的場景來實現。Codevilla等人對這些問題進行了研究,發現開環評估與實際駕駛質量不一定相關。Dauner等人得出了類似的結論。
閉環評估和仿真:考慮到上述開環評估問題,閉環仿真變得很有吸引力。已經提出了幾種對象級仿真器。然而,這些仿真器不生成傳感器數據,這使得無法在閉環中測試端到端規劃器。已經提出了許多手工制作的圖形仿真器。這種仿真器面臨的挑戰有兩個:很難創建逼真的圖像,也很難創建捕捉真實世界多樣性的圖形資產。對世界模型的研究表明,場景的未來——例如雅達利游戲——可以在潛在空間中預測,并且潛在空間中的向量可以解碼為傳感器輸入。胡等利用大規模的真實世界汽車數據集建立了一個世界模型。Amini等人提出了VISTA,其中可以通過預測深度取消投影最近的圖像并重新投影,在局部軌跡周圍合成新的視圖。楊等人提出使用神經輻射場(NeRF)來創建場景的真實感傳感器輸入。該方法隨后由Tonderski等人進行了改進。具有更準確的傳感器建模和更高的渲染質量,特別是對于此處考慮的360度設置。
新車評估計劃:新車評估計劃(NCAP)由美國交通部國家公路安全管理局于1979年推出,旨在為消費者提供有關汽車相對安全潛力的信息。NCAP對車輛進行了碰撞測試,并根據嚴重受傷的概率對車輛進行評分。1996年提出了一項類似的歐洲協議,即歐洲新車評估計劃(Euro NCAP)。2009年,歐洲NCAP進行了全面改革,以納入新興防撞系統的測試。最初,這包括電子穩定控制和速度輔助系統,但后來擴展到包括其他系統,如自動緊急制動和自動緊急轉向。在這項工作中,我們從歐洲NCAP自動防撞評估協議中獲得了靈感。該協議提供了除非采取措施,否則將發生崩潰的場景。為了獲得滿分,車輛需要剎車或轉向以避免事故發生。如果沖擊速度充分降低,則會獲得部分分數。
方法詳解
閉環仿真
我們的閉環仿真重復執行四個步驟。首先,在給定ego車輛的狀態和相機校準的情況下,渲染高質量的相機輸入。渲染器是根據駕駛車輛的日志構建的。其次,在給定渲染的相機輸入和自車狀態的情況下,端到端規劃器預測未來自車軌跡。第三,控制器將計劃軌跡轉換為一組控制輸入。第四,在給定控制輸入的情況下,車輛模型在時間上向前傳播自我狀態。此過程如圖2所示。接下來,我們詳細介紹四個步驟中的每一個。
神經渲染器:為了仿真新穎的傳感器數據,我們采用了神經渲染器。NeRF從收集的真實世界數據的日志中學習3D環境的隱含表示。一旦經過訓練,NeRF就可以從所述場景中渲染傳感器逼真的新穎視圖。最近的進步增加了通過更改場景中動態對象的相應三維邊界框來編輯動態對象的能力。具體來說,參與者可以被移除、添加或設置為遵循新的軌跡,在我們的案例中,這使得能夠創建安全關鍵場景。例如,為了仿真一種罕見但關鍵的安全場景,可以將原本在相鄰車道上行駛的車輛定位為靜止,并與自身車輛位于同一車道上。這種新穎的情況需要自車剎車或執行精確的超車動作。
有兩件事需要注意。首先,最近提出的NeuRAD還支持激光雷達數據的渲染。然而,由于最先進的端到端規劃者只消耗相機數據,我們在這項工作中只關注相機數據。其次,正如我們在實驗中所示,與真實數據相比,現代NeRF引入的領域差距足夠小,端到端計劃者的感知部分仍能以高性能運行。然而,我們預計隨著神經渲染的未來發展,這一差距將進一步縮小。
AD模型:最近關于端到端規劃的工作描述了一個消耗(i)原始傳感器數據的系統;(ii)自車狀態;以及(iii)預測計劃軌跡的高級計劃。計劃的軌跡包括在某個頻率和某個時間范圍的路點。需要注意的是,雖然我們的主要目標是分析最先進的端到端規劃器,但該模塊可以用任何類型的規劃器取代,例如模塊化檢測器-跟蹤器-規劃器管道。
控制器:為了應用車輛模型,需要將路點轉換為一系列控制信號,對應于一系列轉向角(δ)和加速度(a)命令。繼Caesar等人之后,我們用線性二次型調節器(LQR)實現了這一點。請注意,雖然我們只分析輸出路點的規劃器,但規劃器可以直接輸出一系列控制信號。
車輛模型:給定一組由計劃軌跡產生的控制信號,車輛狀態通過時間傳播。為此,我們遵循先前的閉環仿真器,并采用離散版本的運動自行車模型。它可以正式地描述為:
評估
與常見的評估實踐(即大規模數據集的平均性能)相反,我們將評估重點放在一小部分精心設計的安全關鍵場景上。這些場景經過精心設計,任何無法成功處理所有場景的模型都應被視為不安全。我們從行業標準的歐洲NCAP測試中獲得了靈感(見第2節),并定義了三種類型的場景,每種場景的特征都是我們即將碰撞的參與者的行為:靜止、正面和側面。根據歐洲NCAP命名法,我們將此參與者稱為目標參與者。其目的是控制自車以避免與目標行為者發生碰撞或至少降低碰撞速度。
對于每種場景類型,我們都會創建多個場景。每個場景都基于從真實世界中大約20秒的駕駛中收集的數據。自車和目標參與者狀態被初始化,這樣,如果保持當前速度和轉向角,碰撞將在未來約4秒發生。所有非平穩演員都被從場景中移除,我們隨機選擇其中一個作為目標演員,考慮到演員是否已經被足夠近的觀察到,并且在必要的角度下,以產生逼真的渲染。由于我們的渲染器僅限于僵硬的參與者,因此我們將行人排除在該選擇之外。最后,我們在特定場景的間隔內隨機抖動目標演員的位置、旋轉和速度。在評估過程中,我們將每個場景運行大量的運行(使用固定的隨機種子),并計算平均結果。接下來,我們將描述每種類型場景的特征。
靜止:這是一種相對簡單的場景,其中一個靜止的目標演員被放置在自車車道上。目標車輛可以任意旋轉放置,但在整個場景中都將保持靜止。這意味著自車可以進行劇烈的剎車或轉向操作以避免碰撞。見圖3a。
正面:正面場景包括一個目標演員,他正朝相反的方向行駛,并在與自車的碰撞路徑上漂移到自我車道上。因此,ego車輛不能通過斷裂來避免碰撞,只會降低碰撞速度。為了完全避免碰撞,自車必須執行轉向操作。見圖3b。
側面:側面碰撞場景的特點是目標演員從垂直方向穿過我們的車道。如果自車的當前速度保持不變,就會發生側面碰撞。自車可以通過為迎面而來的目標行為者剎車,或者在超速經過目標行為者時進行輕微的轉向操縱來避免碰撞。見圖3c。
NeuroNCAP評分:對于每個場景,都會計算一個評分。只有完全避免碰撞才能獲得滿分。成功降低沖擊速度可獲得部分分數。本著五星級歐洲NCAP評級系統的精神,我們將NeuroNCAP評分(NNS)計算為:
實驗
數據集:雖然有許多針對自動駕駛的數據集,但nuScenes在端到端規劃方面得到了最廣泛的適應。它以具有高度互動場景的城市環境為特色,適用于我們的安全關鍵場景生成。由于其廣泛的適應性,它還允許我們使用我們評估的模型的官方實現和網絡權重。NuScenes分為1000個序列,其中150個保留用于驗證。從這150個序列中,我們選擇了14個不同的序列——根據場景中特工的行為,這些序列被認為是合適的——作為我們安全關鍵場景的基礎。
場景:每個場景都是手工設計的,考慮哪些參與者適合給定的序列、最合理的碰撞軌跡,以及定義不同類型隨機化的允許范圍。在評估過程中,我們將每個場景運行100次(使用固定的隨機種子),并對結果進行平均。并不是所有的序列都可以用于所有類型的場景,例如,我們無法仿真一條直線路上的真實側面碰撞。因此,我們為每種場景類型選擇合適的序列。關于每個場景的更多細節和定性示例,我們參考補充材料。
神經渲染器:作為我們的渲染器,我們選擇使用NeuRAD,這是一款專門為自動駕駛開發的SotA神經渲染器,經驗證可與nuScenes很好地配合使用。由于我們希望最大限度地提高重建質量,我們使用更大的配置(NeuRAD-L),并使用默認的超參數訓練100k步。由于nuScenes中的姿態信息僅限于鳥瞰平面,我們采用姿態優化來恢復丟失的信息。最后,我們采用了沿對稱軸翻轉演員的方式,以實現從所有視點對演員的逼真渲染。
AD模型:根據我們提出的評估協議,我們評估了目前的兩種SotA端到端驅動模型,即UniAD和VAD。在這兩種情況下,我們都使用了作者提供的預先訓練的權重,這些權重在同一數據集上訓練,而不會對所述模型的配置進行任何更改。這兩種型號都消耗360°攝像頭輸入,以及can總線信號和高級命令:右、左或直,并在未來3秒內輸出一系列未來路線點。雖然在我們的場景中,這比碰撞的初始時間(TTC)更短,但這不是一個問題,因為規避機動可以而且應該在最終航路點與當前參與者位置相交之前開始。此外,我們的場景設計得相當寬松,因此TTC<3s的計劃仍然可以成功避免碰撞。
這兩個模型之間的一個主要區別是,UniAD將防撞優化后處理步驟應用于它們的預測軌跡。使用具有基于預測占用率和未優化輸出軌跡的成本函數的經典求解器來執行優化。當在開環中評估時,這種優化被證明可以顯著降低碰撞率,我們現在可以在更有趣的閉環設置中研究它。為了實現更直接的可比分析,我們對VAD實現了相同的防撞優化。然而,由于VAD不能直接預測未來的占用,我們將其預測的未來對象光柵化,并將其用作未來的占用。請注意,這種方法可能高估了占用率,因為所有未來模式都被視為具有同等可能性。
為了進行比較,我們基于UniAD/VAD的感知輸出實現了一種天真的基線方法。規劃邏輯只是一個等速模型,除非我們在自車前方的走廊中觀察到物體,在這種情況下,我們會執行制動操作。走廊被定義為橫向±2米,縱向范圍從0到2維戈米,即如果TTC<2s且前方有物體,我們會剎車。
實驗結果
我們使用圖4中每種場景類型的渲染前置攝像頭圖像,以及計劃軌跡的重疊投影來增強定量分析。圖4a描繪了一個成功的回避動作,同時也突出了我們呈現復雜實體(如摩托車手)的能力。然而,如果沒有后期處理,規劃者似乎容易忽視安全關鍵事件,如圖4b所示。
限制
我們看到以下限制。首先,神經渲染器在場景和場景中受到限制,例如,沒有雨,它能夠準確渲染。此外,自車軌跡的大偏差和非常近的物體會導致視覺偽影(見圖4)。其次,我們采用了一個簡化的車輛模型,它不建模,例如延遲、摩擦或懸架。此外,我們不考慮路面方面,如顛簸、坑洞、礫石等。第三,我們對所有車型都采用了單一控制器,即使它們是緊密耦合的。我們的評估協議允許提交直接輸出控制信號的AD模型。第四,神經渲染器無法處理可變形對象,例如行人。我們希望神經渲染的進一步進步將解除這一限制,并實現一套新的安全關鍵場景,重點關注弱勢道路使用者。第五,目標行動者遵循預定的軌跡,而不動態地對自車做出反應。雖然這遵循了EuroNCAP的設置,但我們認為,未來有多個參與者的場景將需要反應行為。
結論
總之,我們的仿真環境提供了一種新的方法來評估自動駕駛模型的安全性,利用真實世界的傳感器數據和受歐洲NCAP啟發的安全協議。通過NeuroNCAP框架,包括靜止、正面和側面碰撞場景,我們暴露了當前SotA規劃者的重大漏洞。這些發現不僅強調了在端到端規劃者的安全性方面取得進展的迫切需要,而且為未來的研究提供了有希望的途徑。通過向更廣泛的研究界公開我們的評估套件,我們的目標是促進更安全的自動駕駛方面的進展。展望未來,我們預計將開發該套件以應對更廣泛的場景,集成更精細的車輛模型,并采用先進的神經渲染技術,從而為安全評估設定新的基準。