All in UniSim:統(tǒng)一的自動駕駛仿真平臺
最近來自多倫多大學(xué),麻省理工大學(xué)和 Waabi AI 的研究者們在一篇 CVPR 2023 論文中提出了一種全新的自動駕駛仿真平臺,直接利用神經(jīng)輻射場(NeRF)渲染自動駕駛場景中的相機和雷達(dá)數(shù)據(jù),首次在大規(guī)模真實數(shù)據(jù)上實現(xiàn)了高逼真度的全方位仿真,從而實現(xiàn)無人車的端到端的閉環(huán)測試,包括感知,預(yù)測和規(guī)劃。
為什么需要自動駕駛傳感器仿真?
近些年來,隨著自動駕駛技術(shù)的突飛猛進,無人車能夠在大部分常規(guī)情景下有很好的表現(xiàn)。但是目前的技術(shù)仍難保證安全的部署,究其原因是在真實世界存在著很多安全關(guān)鍵(safety-critical)的場景而這些邊界又是至關(guān)重要的。仿真測試變成了一種行之有效的手段,它能幫助研究者們能夠以低成本的方式來生成大量的邊界場景,從而全方位的測試和訓(xùn)練已有自動駕駛模型。由于無人車通過裝配各種傳感器來感知真實世界,真實的可拓展的傳感器仿真變成為整個仿真系統(tǒng)重要的一環(huán)。
在 CVPR2023 的一篇 Highlight 工作,來自來自多倫多大學(xué),麻省理工大學(xué)和 Waabi AI 的研究者展示了一個基于神經(jīng)網(wǎng)絡(luò)的相機 / 雷達(dá)仿真系統(tǒng)。
- 項目主頁:https://waabi.ai/unisim/
- 論文地址:https://waabi.ai/wp-content/uploads/2023/05/UniSim-paper.pdf
不同于以往工作,UniSim 首次同時做到了:
1. 高度逼真 (high realism): 可以準(zhǔn)確地模擬真實世界 (圖片和 LiDAR), 減小真實世界和仿真的鴻溝
2. 閉環(huán)測試 (closed-loop simulation): 可以生成罕見的危險場景,測試無人車,并允許無人車和環(huán)境自由交互
3. 可擴展 (scalable): 可以很容易的擴展到更多的場景,只需要采集一次數(shù)據(jù),就能重建并仿真測試
仿真系統(tǒng)的搭建
UniSim 首先從采集的數(shù)據(jù)中,在數(shù)字世界中重建自動駕駛場景,包括汽車、行人、道路、建筑和交通標(biāo)志。然后,利用重建的場景進行仿真,生成一些罕見的關(guān)鍵場景。
UniSim 主要基于最近幾年流行的 NeRF(神經(jīng)輻射場)方法。
首先,UniSim 將場景分為三部分:靜態(tài)背景(如建筑、道路和交通標(biāo)志)、動態(tài)物體(如行人和汽車)和區(qū)域外物體(如天空和非常遠(yuǎn)的道路)。作者們用了多個 NeRF 來分別建模靜態(tài)背景和每一個動態(tài)物體。更具體來說,作者們選擇使用 Instant-NGP+SDF (signed distance function) 的表示方式。
針對自動駕駛場景的挑戰(zhàn)(數(shù)據(jù)稀疏、場景復(fù)雜),UniSim 做了一些改進:
1. 因為動態(tài)物體往往只有某些角度可見,作者們使用一個網(wǎng)絡(luò) (Hypernet) 生成每一個物體的特征 (hash grid). 這樣可以共享形狀信息,從而生成更完整的汽車形狀。
2. 渲染 (volume rendering) 得到一個低分辨率的 feature map, 然后用 CNN 上采樣生成高清圖片。這不僅降低了渲染時間(因為特征圖分辨率較低),而且改善了生成圖片質(zhì)量(因為 CNN 可以通過周圍像素信息進行推理)。
仿真能力展示
重放 (self-replay)
UniSim 可以準(zhǔn)確的重建原始數(shù)據(jù) (replay). 因為使用了 SDF (signed distance function), UniSim 還能夠重建各種幾何信息,比如 normal/depth。
UniSim - 重建結(jié)果
動態(tài)物體行為控制 (dynamic-actor manipulation)
UniSim 可以將車輛從場景中刪除,控制他們不同的行為,或者將其他場景中的車輛插入到當(dāng)前場景中,以生成一些 safety-critical 的罕見場景。
UniSim - 動態(tài)物體移除
動態(tài)物體控制
自由視角渲染 (novel view synthesis)
自動駕駛汽車可以生成不同與原始視角的數(shù)據(jù),比如向左變道,改變相機 / LiDAR 的位置。
UniSim - SDV 視角控制
閉環(huán)仿真 (closed-loop simulation)
結(jié)合以上的能力,UniSim 可以進行閉環(huán)的仿真測試。
首先,通過控制汽車的行為,UniSim 可以創(chuàng)建一個危險的罕見場景,比如有一輛汽車在當(dāng)前車道突然迎面駛來。
然后,UniSim 仿真生成對應(yīng)的數(shù)據(jù)。
接著,運行自動駕駛系統(tǒng),輸出路徑規(guī)劃的結(jié)果。
根據(jù)路徑規(guī)劃的結(jié)果,無人車移動到下一個指定位置,并更新場景 (無人車和其他車輛的位置)。
然后繼續(xù)進行仿真,運行自動駕駛系統(tǒng),更新虛擬世界狀態(tài) ……
通過這種閉環(huán)測試,自動駕駛系統(tǒng)和仿真環(huán)境可以進行交互,創(chuàng)造出與原始數(shù)據(jù)完全不一樣的場景。
閉環(huán)測試:逆行車輛
閉環(huán)測試:車輛變道加塞
激光雷達(dá)仿真
高速 1 英里不間斷仿真
自動駕駛指標(biāo)
驗證仿真系統(tǒng)的準(zhǔn)確度 (realism),只是視覺上逼真還不夠,還需要從自動駕駛系統(tǒng)的角度進行驗證。
檢測(Detection)模型
第一個表格,Real2Sim 指的是用真實數(shù)據(jù)訓(xùn)練的模型,在仿真系統(tǒng)進行測試,Sim2Real 指的是用仿真系統(tǒng)訓(xùn)練的模型在真實數(shù)據(jù)中進行測試. Lane Shift 指的 UniSim 生成的 SDV 角度偏離原來的軌跡新場景。可以看到,用仿真數(shù)據(jù)訓(xùn)練的模型,效果非常接近真實數(shù)據(jù)。用真實數(shù)據(jù)訓(xùn)練的模型,在仿真數(shù)據(jù)上的性能也非常接近真實數(shù)據(jù)。
檢測模型在真實數(shù)據(jù)和仿真數(shù)據(jù)中進行訓(xùn)練 / 測試的結(jié)果對比
UniSim 還可以作為數(shù)據(jù)增強,提高模型的性能。這里的 Sim 指的是用仿真數(shù)據(jù)進行訓(xùn)練,包括 replay 和 lane-shift, 由于可以生成更多的場景 (variations), 所以甚至只在仿真數(shù)據(jù)上進行訓(xùn)練的效果,也能達(dá)到用真實數(shù)據(jù)訓(xùn)練的結(jié)果。
用仿真系統(tǒng)生成的數(shù)據(jù),可以作為數(shù)據(jù)增強,提高模型的性能
仿真和真實世界的鴻溝(Domain gap)
什么樣的仿真系統(tǒng)和真實世界的鴻溝(domain gap)最小?自動駕駛模型在仿真系統(tǒng)中表現(xiàn)得越好(達(dá)到更好的檢測結(jié)果),是否意味著該仿真系統(tǒng)越逼真呢?并非如此。更合理的解釋是:當(dāng)自動駕駛系統(tǒng)在仿真系統(tǒng)中的表現(xiàn)接近它在真實世界的表現(xiàn)時,這個仿真系統(tǒng)才更接近真實世界,而不是自動駕駛系統(tǒng)的指標(biāo)越高就越好。舉個例子,在真實世界的某個場景中,如果自動駕駛系統(tǒng)崩潰了(例如,檢測失敗),仿真系統(tǒng)在模擬這個場景時,如果自動駕駛系統(tǒng)能夠順利檢測到物體并成功通過,作者們認(rèn)為這個仿真系統(tǒng)并不完全可靠。在下面的表格中,作者們將模型在真實世界的結(jié)果作為標(biāo)簽,模型在仿真平臺上的結(jié)果作為預(yù)測,計算一致性指標(biāo)。他們驗證了自動駕駛系統(tǒng)在仿真平臺和真實世界之間的表現(xiàn)差距。具體設(shè)定和指標(biāo)定義,請參考論文。
真實世界和仿真的鴻溝
總結(jié)和展望
UniSim 是一個統(tǒng)一的傳感器仿真平臺,它可以處理大規(guī)模動態(tài)駕駛場景,統(tǒng)一了移動物體和靜止背景表示,統(tǒng)一了相機和激光雷達(dá)和仿真,統(tǒng)一了動態(tài)場景控制和自由視角渲染。
它是首個可以達(dá)到如此逼真度的閉環(huán)仿真平臺。在 UniSim 中,無人車和環(huán)境可以自由交互,并且仿真結(jié)果非常接近真實世界。這允許其可以測試罕見的關(guān)鍵場景,從而推動自動駕駛的研發(fā)。