ReSimAD:如何在沒(méi)有真實(shí)數(shù)據(jù)的情況下,提升感知模型的泛化性能
本文經(jīng)自動(dòng)駕駛之心公眾號(hào)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
寫(xiě)在前面&筆者的個(gè)人理解
自動(dòng)駕駛車(chē)輛傳感器層面的域變化是很普遍的現(xiàn)象,例如在不同場(chǎng)景和位置的自動(dòng)駕駛車(chē)輛,處在不同光照、天氣條件下的自動(dòng)駕駛車(chē)輛,搭載了不同傳感器設(shè)備的自動(dòng)駕駛車(chē)輛,上述這些都可以被考慮為是經(jīng)典的自動(dòng)駕駛域差異。這種域差異對(duì)于自動(dòng)駕駛帶來(lái)了挑戰(zhàn),主要因?yàn)橐蕾?lài)于舊域知識(shí)的自動(dòng)駕駛模型很難在沒(méi)有額外成本的情況下直接部署到一個(gè)從未見(jiàn)過(guò)的新域。因此在本文,我們提出了一種重建-仿真-感知(ReSimAD)方案,來(lái)提供了一種進(jìn)行域遷移的新視角和方法。具體來(lái)說(shuō),我們利用隱式重建技術(shù)來(lái)獲取駕駛場(chǎng)景中的舊域知識(shí),重建過(guò)程的目的是為了研究如何將舊域中領(lǐng)域相關(guān)的知識(shí)轉(zhuǎn)換為域不變的表示(Domain-invariant Representations),如,我們認(rèn)為3D場(chǎng)景級(jí)網(wǎng)格表示(3D Mesh Representations)就是一種域不變的表示?;谥亟ê蟮慕Y(jié)果,我們進(jìn)一步利用仿真器來(lái)產(chǎn)生更加逼真的類(lèi)目標(biāo)域的仿真點(diǎn)云,這一步依賴(lài)于重建得到的背景信息和目標(biāo)域的傳感器方案,從而降低了后續(xù)感知過(guò)程中收集和標(biāo)注新域數(shù)據(jù)的成本。
對(duì)于實(shí)驗(yàn)驗(yàn)證部分,我們考慮了不同的跨域情況,如Waymo-to-KITTI,Waymo-to-nuScenes,Waymo-to-ONCE等跨域設(shè)置。以上所有跨域設(shè)置都采用zero-shot的實(shí)驗(yàn)設(shè)置,即不接觸到任何目標(biāo)域的點(diǎn)云數(shù)據(jù)信息,而僅僅依賴(lài)于源域重建的背景mesh和仿真?zhèn)鞲衅鱽?lái)進(jìn)行目標(biāo)域樣本仿真,提升模型對(duì)于目標(biāo)域的泛化能力。結(jié)果表明,ReSimAD可以極大地提升感知模型對(duì)于目標(biāo)域場(chǎng)景的泛化能力,甚至比一些無(wú)監(jiān)督領(lǐng)域適配(UDA)的方法還要好。
論文信息
- 論文題目:ReSimAD: Zero-Shot 3D Domain Transfer for Autonomous Driving with Source Reconstruction and Target Simulation
- ICLR-2024接收
- 論文發(fā)表單位:上海人工智能實(shí)驗(yàn)室,上海交通大學(xué),復(fù)旦大學(xué),北京航空航天大學(xué)
- 論文地址:https://arxiv.org/abs/2309.05527
- 代碼地址:仿真數(shù)據(jù)集和感知部分,https://github.com/PJLab-ADG/3DTrans#resimad;源域重建部分,https://github.com/pjlab-ADG/neuralsim;目標(biāo)域仿真部分,https://github.com/PJLab-ADG/PCSim
研究動(dòng)機(jī)
挑戰(zhàn):雖然3D模型可以幫助自動(dòng)駕駛汽車(chē)識(shí)別周?chē)h(huán)境,但現(xiàn)有的基準(zhǔn)模型很難推廣到新的域(如不同的傳感器設(shè)置或未見(jiàn)過(guò)的城市)。自動(dòng)駕駛領(lǐng)域的長(zhǎng)期愿景是可以以較低的代價(jià)讓模型可以實(shí)現(xiàn)域遷移,即:將一個(gè)在源域上充分訓(xùn)練的模型成功地適配到目標(biāo)域場(chǎng)景,其中源域和目標(biāo)域分別是存在明顯數(shù)據(jù)分布差異的兩個(gè)域,如源域是晴天,目標(biāo)域是雨天;源域是64-beam傳感器,目標(biāo)域是32-beam傳感器。
常用的解決思路:面臨上述域差異情況,最常見(jiàn)的解決方案是對(duì)目標(biāo)域場(chǎng)景進(jìn)行數(shù)據(jù)獲取和數(shù)據(jù)標(biāo)注,這種方式可以從一定程度上避免域差異帶來(lái)的模型性能退化的問(wèn)題,但是存在極大的1)數(shù)據(jù)采集代價(jià)和2)數(shù)據(jù)標(biāo)注代價(jià)。因此,如下圖所示(請(qǐng)看(a)和(b)兩基線方法),為了緩解對(duì)于一個(gè)新域的數(shù)據(jù)采集和數(shù)據(jù)標(biāo)注代價(jià),可以利用仿真引擎來(lái)渲染一些仿真點(diǎn)云樣本,這是常見(jiàn)的sim-to-real研究工作的解決思路。另一種思路是無(wú)監(jiān)督領(lǐng)域適配(UDA for 3D),這一類(lèi)工作的目的是研究如何在僅僅接觸到無(wú)標(biāo)注的目標(biāo)域數(shù)據(jù)(注意是真實(shí)數(shù)據(jù))的條件下,實(shí)現(xiàn)近似全監(jiān)督微調(diào)的性能,如果可以做到這一點(diǎn),確實(shí)省去了為目標(biāo)域進(jìn)行標(biāo)注的代價(jià),但是UDA方法仍然需要采集海量的真實(shí)目標(biāo)域數(shù)據(jù)來(lái)刻畫(huà)目標(biāo)域的數(shù)據(jù)分布。
圖1:不同訓(xùn)練范式的對(duì)比
我們的思路:不同于上述兩個(gè)類(lèi)別的研究思路,如下圖所示(請(qǐng)看(c)基線流程),我們致力于虛實(shí)結(jié)合的數(shù)據(jù)仿真-感知一體化路線,其中虛實(shí)結(jié)合中的真實(shí)是指:基于海量有標(biāo)簽的源域數(shù)據(jù),來(lái)構(gòu)建一個(gè)域不變(domain-invariant)的表示,這種假設(shè)對(duì)于很多場(chǎng)景具有實(shí)際意義,因?yàn)榻?jīng)過(guò)長(zhǎng)期歷史數(shù)據(jù)積累,我們總可以認(rèn)為這種有標(biāo)注的源域數(shù)據(jù)是存在的;另一方面,虛實(shí)結(jié)合中的仿真是指:當(dāng)我們基于源域數(shù)據(jù)構(gòu)建了一種域不變(domain-invariant)的表示后,這種表示可以被導(dǎo)入到現(xiàn)有的渲染pipeline中來(lái)執(zhí)行目標(biāo)域數(shù)據(jù)仿真。相比于目前sim-to-real這一類(lèi)研究工作,我們的方法有真實(shí)場(chǎng)景級(jí)數(shù)據(jù)作為支撐,包括道路結(jié)構(gòu)、上下坡等真實(shí)信息,這些信息是僅僅依賴(lài)于仿真引擎本身難以獲得的。當(dāng)獲得了類(lèi)目標(biāo)域的數(shù)據(jù)之后,我們將這些數(shù)據(jù)融入到目前最好的感知模型中,如PV-RCNN,進(jìn)行訓(xùn)練,然后驗(yàn)證模型在目標(biāo)域下的精度。整體的詳細(xì)工作流程請(qǐng)見(jiàn)下圖:
圖2 ReSimAD流程圖
ReSimAD的流程圖如圖2所示,主要包括a) Point-to-Mesh隱式重建過(guò)程, b) Mesh-to-point仿真引擎渲染過(guò)程, c) 零樣本感知過(guò)程。
ReSimAD: 仿真重建感知范式
a) Point-to-mesh隱式重建過(guò)程:受到StreetSurf的啟發(fā),我們僅使用激光雷達(dá)重建來(lái)重建真實(shí)而多樣的街道場(chǎng)景背景、動(dòng)態(tài)交通流信息。我們首先設(shè)計(jì)了一個(gè)純點(diǎn)云SDF重建模塊(LiDAR-only Implicit Neural Reconstruction,LINR),其優(yōu)勢(shì)是可以不受到一些由camera傳感所導(dǎo)致的域差異的影響,例如:光照變化、天氣條件變化等。純點(diǎn)云SDF重建模塊將LiDAR rays作為輸入,然后預(yù)測(cè)深度信息,最終構(gòu)建場(chǎng)景3D meshes表示。
具體地,對(duì)于從原點(diǎn),方向?yàn)?img src="https://s6.51cto.com/oss/202401/17/81ddd2b71952ea4d8b5885fd32ae47eecd30b9.jpg" style="width: 68px; visibility: visible;" data-type="inline">發(fā)射的光線
,我們對(duì)激光雷達(dá)應(yīng)用體渲染來(lái)訓(xùn)練Signed Distance Field (SDF)網(wǎng)絡(luò),渲染深度D可以公式化為:
其中是第個(gè)樣本點(diǎn)的采樣深度,是累積透射率(the accumulated transmittance),是通過(guò)使用NeuS中的近距離模型獲得的。
從StreetSurf中獲得靈感,本文提出的重建過(guò)程的模型輸入來(lái)自于激光雷達(dá)射線,輸出是預(yù)測(cè)的深度。在每個(gè)采樣的激光雷達(dá)光束上,我們?cè)?img src="https://s2.51cto.com/oss/202401/17/684028d9104f383c1ea4702f53644f038862db.jpg" style="width: 67px; visibility: visible;" data-type="inline">上應(yīng)用對(duì)數(shù)L1損失,即組合近景和遠(yuǎn)景模型的渲染深度:
然而,LINR方法仍然面臨一些挑戰(zhàn)。由于激光雷達(dá)獲取到的數(shù)據(jù)的固有稀疏性,單個(gè)激光雷達(dá)點(diǎn)云幀僅能捕獲標(biāo)準(zhǔn)RGB圖像中包含的信息中的一部分信息。這種差異突顯了深度渲染在為有效訓(xùn)練提供必要的幾何細(xì)節(jié)方面的潛在不足。因此,這可能導(dǎo)致在所得到的重建網(wǎng)格內(nèi)產(chǎn)生大量的偽影。為了應(yīng)對(duì)這一挑戰(zhàn),我們提出拼接一個(gè)Waymo序列中的所有幀,以此來(lái)提升點(diǎn)云的密度。
由于Waymo數(shù)據(jù)集中頂部激光雷達(dá)(Top LiDAR)的垂直視場(chǎng)的限制,僅獲得-17.6°至2.4°之間的點(diǎn)云對(duì)周?chē)邔咏ㄖ闹亟ù嬖诿黠@的限制。為了應(yīng)對(duì)這一挑戰(zhàn),我們引入了一種將側(cè)面激光雷達(dá)(Side LiDAR)的點(diǎn)云納入采樣序列來(lái)進(jìn)行重建的解決方案。四個(gè)補(bǔ)盲雷達(dá)分別安裝在在自動(dòng)駕駛車(chē)輛的前部、后部和兩個(gè)側(cè)面,垂直視野達(dá)到[-90°, 30°],這有效地補(bǔ)償了頂部激光雷達(dá)的視野范圍不足的缺點(diǎn)。由于側(cè)面激光雷達(dá)和頂部激光雷達(dá)之間的點(diǎn)云密度存在差異,我們選擇為側(cè)面激光雷達(dá)分配更高的采樣權(quán)重,以提高高層建筑場(chǎng)景的重建質(zhì)量。
重建質(zhì)量評(píng)價(jià): 由于動(dòng)態(tài)物體造成的遮擋和激光雷達(dá)噪聲的影響,隱式表示進(jìn)行重建可能存在于一定的噪聲。因此,我們對(duì)重建精度進(jìn)行了評(píng)估。因?yàn)槲覀兛梢垣@取到來(lái)自于舊領(lǐng)域的海量帶標(biāo)注的點(diǎn)云數(shù)據(jù),因此我們可以通過(guò)在舊域上進(jìn)行重新渲染來(lái)獲取到舊域的仿真點(diǎn)云數(shù)據(jù),以此來(lái)評(píng)價(jià)重建mesh的準(zhǔn)確性。我們對(duì)仿真后的點(diǎn)云和原始真實(shí)點(diǎn)云進(jìn)行度量,使用均方根誤差(RMSE)和倒角距離(CD):
其中對(duì)于每個(gè)序列的重建得分和一些詳細(xì)過(guò)程的描述請(qǐng)參考原文附錄。
b) Mesh-to-point仿真引擎渲染過(guò)程: 在通過(guò)上述LINR方法獲得到靜態(tài)背景mesh后,我們使用Blender Python API將網(wǎng)格數(shù)據(jù)從.ply格式轉(zhuǎn)換為.fbx格式的3D模型文件,并最終將背景mesh作為資產(chǎn)庫(kù)加載到用于開(kāi)源模擬器CARLA中。
我們首先獲得Waymo的標(biāo)注文件,來(lái)獲取每一個(gè)交通參與者的邊界框類(lèi)別和三維物體大小,并根據(jù)這些信息,我們?cè)贑ARLA的數(shù)字資產(chǎn)庫(kù)中搜索同一類(lèi)別的交通參與者中大小最接近的數(shù)字資產(chǎn),并將這個(gè)數(shù)字資產(chǎn)導(dǎo)入并作為交通參與者模型。根據(jù)CARLA模擬器中可用的場(chǎng)景真實(shí)性信息,我們?yōu)榻煌▓?chǎng)景中的每個(gè)可檢測(cè)的目標(biāo)開(kāi)發(fā)了一個(gè)檢測(cè)框提取工具。詳細(xì)信息請(qǐng)參考,PCSim開(kāi)發(fā)工具。
圖3 不同數(shù)據(jù)集交通參與者物體大小的分布(長(zhǎng)、寬、高)。從圖3中可以看出,利用這種方法所仿真的物體大小的分布多樣性很廣,超過(guò)了目前已經(jīng)公開(kāi)的數(shù)據(jù)集像KITTI, nuScenes,Waymo, ONCE等。
ReSimAD重建-仿真數(shù)據(jù)集
我們將Waymo作為源域數(shù)據(jù),并且在Waymo上進(jìn)行重建從而獲得較真實(shí)的3D mesh。于此同時(shí),我們將KITTI, nuScenes,ONCE作為目標(biāo)域場(chǎng)景,并且在這些目標(biāo)域場(chǎng)景下驗(yàn)證我們方法所實(shí)現(xiàn)的zero-shot性能。
我們根據(jù)上述章節(jié)的介紹基于Waymo數(shù)據(jù)集產(chǎn)生3D場(chǎng)景級(jí)的meshes數(shù)據(jù),并且利用上述評(píng)價(jià)準(zhǔn)則來(lái)在Waymo domain下判斷哪些3D meshes是高質(zhì)量的,并且根據(jù)打分選擇最高的146個(gè)meshes來(lái)進(jìn)行后續(xù)的目標(biāo)域仿真過(guò)程。
評(píng)估結(jié)果
關(guān)于ResimAD數(shù)據(jù)集中的一些可視化例子如下圖所示:
評(píng)估結(jié)果
實(shí)驗(yàn)章節(jié)
實(shí)驗(yàn)設(shè)置
- 基線選擇:我們將所提出的ReSimAD與三種典型的跨域基線進(jìn)行比較:a)直接使用仿真引擎進(jìn)行數(shù)據(jù)仿真的基線;b)通過(guò)改變仿真引擎中的傳感器參數(shù)設(shè)置,來(lái)進(jìn)行數(shù)據(jù)仿真的基線;c)域自適應(yīng)(UDA)基線.
- 度量標(biāo)準(zhǔn):我們對(duì)齊目前進(jìn)行3D cross-domain object detection的評(píng)價(jià)標(biāo)準(zhǔn),分別采用基于BEV的和基于3D的AP作為評(píng)價(jià)度量標(biāo)準(zhǔn)。
- 參數(shù)設(shè)置:詳情參考論文.
實(shí)驗(yàn)結(jié)果
這里只展示了主要實(shí)驗(yàn)結(jié)果,更多結(jié)果請(qǐng)參考我們的論文。
三種跨域設(shè)置下,PV-RCNN/PV-RCNN++兩種模型的適配性能
從上述表格中我們可以觀察到:利用無(wú)監(jiān)督域自適應(yīng)(UDA)技術(shù)UDA和ReSimAD之間的主要區(qū)別在于,前者使用目標(biāo)域真實(shí)場(chǎng)景的樣本進(jìn)行模型領(lǐng)域遷移,而ReSimAD的實(shí)驗(yàn)設(shè)置是要求其不能夠訪問(wèn)到目標(biāo)域的任何真實(shí)點(diǎn)云數(shù)據(jù)。從上表中可以看出,我們的ReSimAD所獲得的跨域結(jié)果與UDA方法所獲得的結(jié)果是可比較的。這一結(jié)果表明,當(dāng)激光雷達(dá)傳感器出于商業(yè)目的需要升級(jí)時(shí),我們的方法可以大大降低數(shù)據(jù)采集成本,并進(jìn)一步縮短模型由于領(lǐng)域差異所導(dǎo)致的再訓(xùn)練、再開(kāi)發(fā)周期。
ReSimAD數(shù)據(jù)作為目標(biāo)域的冷啟動(dòng)數(shù)據(jù),在目標(biāo)域上可以達(dá)到的效果
使用ReSimAD生成的數(shù)據(jù)的另一個(gè)好處是,可以在不訪問(wèn)任何目標(biāo)域真實(shí)數(shù)據(jù)分布的情況下就能獲得高性能的目標(biāo)域精度。這個(gè)過(guò)程其實(shí)類(lèi)似于自動(dòng)駕駛模型在新場(chǎng)景下的“冷啟動(dòng)”過(guò)程。
上表報(bào)告了在全監(jiān)督目標(biāo)域下的實(shí)驗(yàn)結(jié)果。Oracle代表了模型是在全量帶標(biāo)注目標(biāo)域數(shù)據(jù)上訓(xùn)練的結(jié)果,而SFT表示基線模型的網(wǎng)絡(luò)初始化參數(shù)是由ReSimAD仿真數(shù)據(jù)訓(xùn)練的權(quán)重提供的。上述實(shí)驗(yàn)表格表明,使用我們的ReSimAD方法所仿真的點(diǎn)云可以獲得較高的初始化權(quán)值參數(shù),其性能超過(guò)了Oracle實(shí)驗(yàn)設(shè)置。
ReSimAD數(shù)據(jù)作為通用數(shù)據(jù)集,利用AD-PT預(yù)訓(xùn)練方式在不同下游任務(wù)上的性能
為了驗(yàn)證ReSimAD是否可以生成更多的點(diǎn)云數(shù)據(jù)來(lái)幫助3D預(yù)訓(xùn)練,我們?cè)O(shè)計(jì)了以下實(shí)驗(yàn):使用AD-PT(近期提出的一個(gè)關(guān)于自動(dòng)駕駛場(chǎng)景下預(yù)訓(xùn)練骨干網(wǎng)絡(luò)的方法)在仿真的點(diǎn)云上來(lái)預(yù)訓(xùn)練3D backbone,然后使用下游的真實(shí)場(chǎng)景數(shù)據(jù)進(jìn)行全參數(shù)微調(diào)。
- 我們利用ReSimAD生成具有更廣泛分布的點(diǎn)云的數(shù)據(jù)。為了與AD-PT中的預(yù)訓(xùn)練結(jié)果進(jìn)行公平的比較,ReSimAD生成的仿真點(diǎn)云數(shù)據(jù)的目標(biāo)量約為。在上述表格中,我們的基線檢測(cè)器分別在真實(shí)預(yù)訓(xùn)練數(shù)據(jù)(ONCE數(shù)據(jù)集)和仿真預(yù)訓(xùn)練數(shù)據(jù)(由ReSimAD提供)進(jìn)行3D預(yù)訓(xùn)練,使用AD-PT方法,并在KITTI和Waymo數(shù)據(jù)集上進(jìn)行下游微調(diào)。上表的結(jié)果表明,使用不同規(guī)模的仿真預(yù)訓(xùn)練數(shù)據(jù),可以不斷提高模型在下游的性能。此外,可以看到由ReSimAD獲取的預(yù)訓(xùn)練數(shù)據(jù)的數(shù)據(jù)獲取成本是很低的,相比于采用ONCE進(jìn)行模型預(yù)訓(xùn)練,并且ReSimAD所獲得的預(yù)訓(xùn)練性能和ONCE數(shù)據(jù)集上的預(yù)訓(xùn)練性能是可比較的。
采用ReSimAD重建仿真 v.s. 采用CARLA默認(rèn)仿真的可視化對(duì)比
我們基于Waymo數(shù)據(jù)集重建的mesh v.s. 使用VDBFusion重建的可視化對(duì)比
總結(jié)
在這項(xiàng)工作中,我們致力于研究如何實(shí)驗(yàn)零樣本目標(biāo)域模型遷移任務(wù),該任務(wù)要求模型不接觸到任何來(lái)自于目標(biāo)域的樣本數(shù)據(jù)信息,就可以將源域預(yù)訓(xùn)練的模型成功地遷移到目標(biāo)域場(chǎng)景。不同與之前的工作,我們首次探索了基于源域隱式重建和目標(biāo)域多樣性仿真的3D數(shù)據(jù)生成技術(shù),并且驗(yàn)證了該技術(shù)可以在不接觸到目標(biāo)域數(shù)據(jù)分布的情況下實(shí)現(xiàn)較好的模型遷移性能,甚至比一些無(wú)監(jiān)督領(lǐng)域適配(UDA)的方法還要好。
原文鏈接:https://mp.weixin.qq.com/s/pmHFDvS7nXy-6AQBhvVzSw