主打一個零樣本!ReSimAD:自動駕駛中的3D域適應怎么玩?
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
開源鏈接:https://github.com/PJLab-ADG/3DTrans#resimad
論文鏈接:https://arxiv.org/abs/2309.05527
傳感器類型變化和地理環境變化領域變化在自動駕駛(AD)中普遍存在,這帶來了很大挑戰,因為依賴于先前領域知識的AD模型很難在沒有額外成本的情況下直接部署到新的領域。為此本文提出了一種重建仿真感知(ReSimAD)方案,為緩解域遷移問題提供了一種新的視角和方法。具體而言,圖像重建過程基于先前舊領域的知識,旨在將與領域相關的知識轉換為域不變的表示,例如3D場景級網格。此外,多個新域的點云模擬過程以上述重建的3D網格為條件,其中可以獲得目標域模擬樣本,從而降低了為后續感知過程收集和標注新域數據的成本。對于實驗,我們考慮了不同的跨域情況,如Waymo-to-KITI、Waymo-to-nuScenes、Waymo-to-ONCE等,以使用ReSimAD驗證零樣本目標域感知。結果表明,我們的方法有利于提高領域泛化能力,甚至有望用于3D預訓練。
總結來說,本文的主要貢獻如下:
- 1)本文向自動駕駛社區提供了這樣一個知識,即舊域重建和新域模擬的方案本質上提高了模型對新域的魯棒性。
- 2)提出了ReSimAD,這是一種統一的重建模擬感知方案,解決了域偏移問題,其中重建的3D網格解耦了域特性,充當了標記良好的舊域和看不見的新域之間的橋梁。
- 3)通過在具有不同域偏移的不同數據集上進行大量實驗,所提出的ReSimAD實現了高的零樣本目標域推理性能,甚至優于必須訪問真實目標域數據的無監督域自適應方法。
重建模擬數據集
為了與域自適應(DA)中旨在研究檢測模型跨領域適應性的最新研究工作進行比較,我們介紹了第一個基于Waymo序列構建的3D重建模擬數據集具有不同的傳感器設置。
本文遵循域適應領域的相關工作,并使用Waymo數據集作為源(舊)域,使用其他數據集,例如nuScenes和KITTI作為目標(新)域。因此,在Waymo上執行隱式重建以生成3D場景級網格,而我們根據基于Waymo的3D網格模擬KITTI、nuScenes和ONCE場景。
此外,Waymo傳感器具有一個頂部激光雷達和四個側面激光雷達,這有助于更寬的縱向感知范圍,能夠涵蓋其他數據集(如KITTI)的窄縱向視野。
三維重建網格和模擬點。表1列出了我們使用重建數據獲得的所有模擬結果,其中我們選擇具有最高重建分數的網格,該網格使用Waymo數據集上模擬點和真實點之間的倒角距離(CD)計算。我們仿真每個域大約26K~29K個樣本。仿真數據的可視化結果如圖2所示。
重建模擬數據集分析。考慮到生成的點云不僅需要提高模型在目標域中的性能,而且對于增強主干特征泛化能力的3D預訓練也很有價值,我們模擬了目標大小更多樣的目標域點。目標大小在四個模擬域上的分布如圖4所示。從圖4中可以看出,與現有的公共數據集(如ONCE)相比,重建模擬數據集覆蓋了廣泛的對象大小分布。
RESIMAD:重建、模擬、感知管道
ReSimAD概述。如圖3所示,ReSimAD由三個步驟組成。
- 1)點到網格隱式重建:此步驟旨在將點從源域映射到隱式幾何體。為了獲得符合目標域激光雷達分布的高度一致的模擬數據,我們重建了真實而多樣的街道場景背景、動態交通流信息。Waymo(包括1150個場景,包含在一系列城市和郊區拍攝的同步和標定良好的激光雷達和相機數據。我們選擇Waymo作為場景重建的源域。
- 2) 網格到點渲染:此步驟的目的是通過更改激光雷達傳感器和場景布局,在給定重建的隱式幾何體的情況下模擬目標域樣點。具體而言,我們采用了LiDARSimLib,并再現了目標域中使用的傳感器配置方案,包括LiDAR掃描模式、物理特性和部署位置。
- 3) 零樣本感知過程:將模擬良好的點輸入感知模塊,該模塊可以幫助原始模型增強常見領域變化(如LiDAR類型的變化)的跨領域泛化。
點到網格隱式重建
受DeepSDF和NeuS(的啟發,我們使用了基于激光雷達的隱式神經重建方法(LINR)。該技術以稀疏的激光雷達點云為輸入,并生成隱式符號距離場(SDF)場。通過利用神經網絡對有符號距離函數進行編碼,我們實現了具有更大分辨率和高效內存使用的高質量3D模型的合成。與最近使用RGB圖像來細化隱式表示的方法相比,所開發的LINR方法能夠在相對嚴重的條件下實現重建過程,例如在實際戶外場景中的弱光照和天氣變化。
然而,基于體素繪制的LINR仍然面臨一些挑戰。由于激光雷達數據的固有稀疏性,單個激光雷達點云幀僅捕獲標準RGB圖像中包含的綜合信息的一部分。這種差異突顯了深度渲染在為有效訓練提供必要的幾何細節方面的潛在不足。因此,這可能導致在所得到的重建網格內產生大量的偽影。為了應對這一挑戰,我們整合了Waymo數據集中相應序列的所有幀,并為每個場景提取有效的點云。此外,我們利用上述LINR來執行重建過程。
考慮到Waymo數據集中頂部激光雷達垂直視場的限制,僅獲得-17.6°至2.4°之間的點云對周圍高層建筑的重建造成了限制。為了應對這一挑戰,我們引入了一種將側面激光雷達的點云(盲補償)納入采樣序列的解決方案。四邊形激光雷達戰略性地位于車輛的前部、后部和側面,垂直視野從-90°到30°。這有效地補償了頂部激光雷達的視場不足。由于側面激光雷達和頂部激光雷達之間的點云密度存在差異,我們選擇為側面激光雷達分配更高的采樣權重,以提高高層建筑的場景重建質量。
在重建隱式曲面后,我們可以獲得更細粒度的場景幾何的連續表示,有助于提取高分辨率網格,以便在選定的模擬器中進行后續渲染。
重建評估。由于動態物體造成的遮擋和激光雷達噪聲的影響,隱式表示可能低于預期,這對跨域自適應提出了挑戰。因此,我們對重建精度進行了評估。由于我們可以訪問舊域的真實世界點云,因此我們通過重新投射舊域的點云來評估重建過程的準確性。
我們使用一組用于渲染點Gb和原始收集的激光雷達點G之間的重建精度的度量,具有均方根誤差(RMSE)和倒角距離(CD):
網格到點渲染
在通過上述LINR獲得靜態背景網格后,我們使用Blender Python API將網格數據從.ply格式轉換為使用.fbx格式的3D模型文件,并最終將背景網格作為資產加載到用于自動駕駛研究的開源模擬器CARLA中。
對于交通參與者的外觀匹配,我們通過Waymo的注釋獲得了每幀數據中邊界框的類別和三維大小。根據這些信息,我們在CARLA中搜索同類流量參與者中規模最接近的數字資產,并將其用作流量參與者的模型。根據CARLA模擬器中可用的場景真實信息,我們為交通場景中的每個可檢測目標開發了一個邊界盒提取工具,并將其轉換為目標域的標簽格式(如KITTI)。從圖4中可以觀察到,不同數據集的目標大小分布不同。為了確保模擬數據集與目標域中一般車輛大小的一致性,我們首先根據統計結果對每個交通參與者的大小進行函數映射,然后完成屬性匹配過程。
對于交通參與者的運動模擬,我們對交通場景坐標系進行了梳理,并逐幀更新動態目標的位置和姿態。對于每個clip,我們將第一幀中自車中心的接地點作為坐標原點。通過不同幀中自車標簽之間的差異來更新自車的6D姿態。通過每幀的標簽信息中自我車輛的相對6D姿態來更新其他動態目標。模擬目標Pt在第t幀中的6D姿態可以在模擬器中表示為(x,y,z,滾轉,偏航,俯仰)。自車位姿和動態目標姿態的更新是:
為了研究交通場景重構和激光雷達仿真對合成數據真實性和零樣本域自適應性能的影響,構建了三個數據集。除了根據上述方法的隱式重建模擬數據集外,還通過OpenCDA工具構建了基于CARLA場景背景的類傳感器LiDAR模擬數據集和默認LiDAR仿真數據集。
類傳感器激光雷達數據集與默認激光雷達模擬數據集之間的主要區別在于,激光雷達通道的數量和垂直視場不同。默認的激光雷達具有固定的32通道配置,垂直視場范圍從-30度到10度,光束均勻分布。同時,利用模擬庫,像LiDAR這樣的傳感器的特征與來自目標域的相應傳感器設置的特征相同。目標域激光雷達的探測范圍、每秒發射的點、旋轉頻率和下降率也與默認激光雷達幾乎相同。由于車輛交通流量需要與路網結構相匹配,為了進行基于CARLA靜態背景的數據模擬,我們完成了車輛交通流量密度的匹配。
零樣本感知過程
為了進一步實現閉環模擬驗證,我們使用模擬點Xsim在新域上訓練我們的基線模型,并對來自新域的驗證集的真實樣本Xreal進行評估。具體來說,我們在3D檢測任務上驗證了我們的方法,總體損失Ltrain和評估過程Eeval為:
實驗
實驗設置
我們首先在標記的源域上訓練基礎模型,并評估訓練的源模型在目標域上的跨域性能。
1)CARLA默認值:我們使用CARLA生成模擬數據。對于該基線,通過從CARLA中搜索來找到最接近對象大小的屬性,將前景對象添加到模擬場景中。
2)類傳感器:我們假設可以獲得目標域傳感器設置,因此,我們還更改了CARLA中的傳感器參數設置,并模擬點數據,使激光雷達光束分布與目標域場景相似。請注意,以上兩個基線設置只會產生更多符合目標域分布的模擬數據,我們直接使用模擬數據來微調我們的基本模型,并觀察它們在目標域中的性能。
3)ST3D:我們與ST3D進行了比較,ST3D是一種流行的無監督域自適應(UDA)技術,以標簽有效的方式減少了點云的跨域差異。
跨域實驗
RESIMAD增強零樣本3D物體檢測
為了確保實驗的公平性,我們首先將所提出的ReSimAD與數據模擬相關的基線進行比較:CARLA-默認和類似傳感器。從表2中可以看出,我們的ReSimAD在PV-RCNN和PV-RCNN++上的所有跨域設置中都實現了最佳的零樣本3D檢測精度。此外,我們發現,與之相比類傳感器基線對領域差異具有更強的魯棒性。
CARLA默認,因為我們根據目標域的激光雷達參數設置提前進行傳感器級模擬。然而,由于模擬場景和真實場景之間背景分布的差異,僅使用類傳感器基線仍然難以實現令人滿意的跨域性能(即Waymo到KITTI僅為40.80%)。
此外,表2比較了類傳感器和ReSimAD,表明在不同類型的跨域差異下,ReSimAD通常可以比類傳感器方法好5.98%~27.49%左右。因此,我們認為點云背景分布的真實性對于實現零樣本交叉數據集檢測也至關重要。
表2顯示了利用無監督域自適應(UDA)技術的結果。UDA和ReSimAD的主要區別在于,前者使用目標域真實場景中的樣本進行模型自適應,而后者無法訪問目標域中的任何真實點云數據。從表2可以看出,我們的ReSimAD獲得的跨域結果與UDA方法獲得的結果相當。這一結果表明,當激光雷達傳感器出于商業目的需要升級時,我們的方法可以大大降低數據采集成本,并進一步縮短模型再訓練的開發周期。
RESIMAD增強全監督3D檢測
使用ReSimAD生成的數據的另一個好處是,可以在不訪問任何目標域真實數據分布的情況下獲得高性能的目標域精度。我們發現,這樣一個類似目標域的模擬過程可以進一步提升Oracle的基線結果。
表3報告了使用來自目標域的標注的結果。Oracle代表了在目標域的所有標記數據上訓練的基線模型所獲得的最高結果。SFT表示基線模型的網絡參數由從模擬數據訓練的權重初始化。表3顯示,使用我們模擬的點云預訓練的主干為3D檢測器(如PV-RCNN++和PV-RCNN)提供了更好的初始化。
3D預訓練實驗
使用模擬數據進行3D預訓練概述。為了驗證ReSimAD是否能夠產生有利于3D預訓練任務的點數據,我們設計了以下設置:使用AD-PT在模擬點云上預訓練3D主干,然后對下游真實世界數據進行微調。它通過使用模擬數據進行3D預訓練來保存大量真實世界的數據。
下游微調結果。我們利用ReSimAD生成具有更廣泛的點云分布的數據。為了與他們在AD-PT中的預訓練結果進行公平的比較,ReSimAD生成的模擬數據的目標量約為100K(生成的仿真數據的組成見表1)。在表4中,基線檢測器在模擬數據或真實世界數據上進行預訓練,并在KITTI和Waymo基準上進行微調。表4顯示,使用不同規模的模擬預訓練數據,可以不斷提高下游微調的性能。總體而言,我們通過以零樣本方式利用不同規模的模擬點云來實現預訓練,即無需額外的數據采集和目標域的注釋工作。
進一步分析
重建和模擬的有效性。為了驗證所提出方法的模塊有效性,我們可視化了使用不同方法渲染的點云,包括CARLA模擬器,以及通過圖5中的方法重建的真實世界3D場景。結果表明,ReSimAD獲得的模擬點覆蓋了目標域更真實的場景信息,如路面和街景。圖6還使用不同的重建方法對重建的網格進行了可視化。可視化結果表明,與VDBFusion相比,我們的ReSimAD隱式重建的網格顯示出清晰的街景信息和連續的幾何結構。
表5顯示,生成的點云對輕量級基線模型是有效的,這在使用輕量級模型的實際應用中是實用的。我們采用SECOND-IOU作為模型,并通過ReSimAD在模擬數據上對其進行訓練。結果表明,該方法在一階段3D檢測模型上也取得了很好的結果。
結論
在這項工作中,我們研究了如何實現零樣本域遷移,并提出了一種統一的重建模擬感知方案(ReSimAD),該方案由真實世界的點級圖像重建過程和網格到點的渲染過程組成,該方案已被驗證在處理嚴重的域間隙甚至數據集級差異方面是有效的。我們在零樣本環境下進行了實驗,結果證明了ReSi-mAD在產生類靶域樣本和實現高靶域感知能力方面的有效性,甚至有助于3D預訓練。