OccNeRF:完全無需激光雷達(dá)數(shù)據(jù)監(jiān)督
本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
寫在前面&筆者的個人總結(jié)
近年來,3D 占據(jù)預(yù)測(3D Occupancy Prediction)任務(wù)因其獨(dú)特的優(yōu)勢獲得了學(xué)界及業(yè)界的廣泛關(guān)注。3D 占據(jù)預(yù)測通過重建周圍環(huán)境的 3D 結(jié)構(gòu)為自動駕駛的規(guī)劃和導(dǎo)航提供詳細(xì)信息。然而,大多數(shù)現(xiàn)有方法依賴 LiDAR 點(diǎn)云生成的標(biāo)簽來監(jiān)督網(wǎng)絡(luò)訓(xùn)練。在 OccNeRF 工作中,作者提出了一種自監(jiān)督的多相機(jī)占據(jù)預(yù)測方法。該方法參數(shù)化的占據(jù)場(Parameterized Occupancy Fields)解決了室外場景無邊界的問題,并重新組織了采樣策略,然后通過體渲染(Volume Rendering)來將占用場轉(zhuǎn)換為多相機(jī)深度圖,最后通過多幀光度一致性(Photometric Error)進(jìn)行監(jiān)督。此外,該方法利用預(yù)訓(xùn)練的開放詞匯語義分割模型(open vocabulary semantic segmentation model)生成 2D 語義標(biāo)簽對模型進(jìn)行監(jiān)督,來賦予占據(jù)場語義信息。
- 論文鏈接:https://arxiv.org/pdf/2312.09243.pdf
- 代碼鏈接:https://github.com/LinShan-Bin/OccNeRF
OccNeRF問題背景
近年來,隨著人工智能技術(shù)的飛速發(fā)展,自動駕駛領(lǐng)域也取得了巨大進(jìn)展。3D 感知是實(shí)現(xiàn)自動駕駛的基礎(chǔ),為后續(xù)的規(guī)劃決策提供必要信息。傳統(tǒng)方法中,激光雷達(dá)能直接捕獲精確的 3D 數(shù)據(jù),但傳感器成本高且掃描點(diǎn)稀疏,限制了其落地應(yīng)用。相比之下,基于圖像的 3D 感知方法成本低且有效,受到越來越多的關(guān)注。多相機(jī) 3D 目標(biāo)檢測在一段時間內(nèi)是 3D 場景理解任務(wù)的主流,但它無法應(yīng)對現(xiàn)實(shí)世界中無限的類別,并受到數(shù)據(jù)長尾分布的影響。
3D 占據(jù)預(yù)測能很好地彌補(bǔ)這些缺點(diǎn),它通過多視角輸入直接重建周圍場景的幾何結(jié)構(gòu)。大多數(shù)現(xiàn)有方法關(guān)注于模型設(shè)計(jì)與性能優(yōu)化,依賴 LiDAR 點(diǎn)云生成的標(biāo)簽來監(jiān)督網(wǎng)絡(luò)訓(xùn)練,這在基于圖像的系統(tǒng)中是不可用的。換言之,我們?nèi)孕枰冒嘿F的數(shù)據(jù)采集車來收集訓(xùn)練數(shù)據(jù),并浪費(fèi)大量沒有 LiDAR 點(diǎn)云輔助標(biāo)注的真實(shí)數(shù)據(jù),這一定程度上限制了 3D 占據(jù)預(yù)測的發(fā)展。因此探索自監(jiān)督 3D 占據(jù)預(yù)測是一個非常有價值的方向。
詳解OccNeRF算法
下圖展示了 OccNeRF 方法的基本流程。模型以多攝像頭圖像 作為輸入,首先使用 2D backbone 提取 N 個圖片的特征 ,隨后直接通過簡單的投影與雙線性插值獲 3D 特征(在參數(shù)化空間下),最后通過 3D CNN 網(wǎng)絡(luò)優(yōu)化 3D 特征并輸出預(yù)測結(jié)果。為了訓(xùn)練模型,OccNeRF 方法通過體渲染生成當(dāng)前幀的深度圖,并引入前后幀來計(jì)算光度損失。為了引入更多的時序信息,OccNeRF 會使用一個占據(jù)場渲染多幀深度圖并計(jì)算損失函數(shù)。同時,OccNeRF 還同時渲染 2D 語義圖,并通過開放詞匯語義分割模型進(jìn)行監(jiān)督。
Parameterized Occupancy Fields
Parameterized Occupancy Fields 的提出是為了解決相機(jī)與占據(jù)網(wǎng)格之間存在感知范圍差距這一問題。理論上來講,相機(jī)可以拍攝到無窮遠(yuǎn)處的物體,而以往的占據(jù)預(yù)測模型都只考慮較近的空間(例如 40 m 范圍內(nèi))。在有監(jiān)督方法中,模型可以根據(jù)監(jiān)督信號學(xué)會忽略遠(yuǎn)處的物體;而在無監(jiān)督方法中,若仍然只考慮近處的空間,則圖像中存在的大量超出范圍的物體將對優(yōu)化過程產(chǎn)生負(fù)面影響?;诖?,OccNeRF 采用了 Parameterized Occupancy Fields 來建模范圍無限的室外場景。
OccNeRF 中的參數(shù)化空間分為內(nèi)部和外部。內(nèi)部空間是原始坐標(biāo)的線性映射,保持了較高的分辨率;而外部空間表示了無窮大的范圍。具體來說,OccNeRF 分別對 3D 空間中點(diǎn)的 坐標(biāo)做如下變化:
其中 為 坐標(biāo),, 是可調(diào)節(jié)的參數(shù),表示內(nèi)部空間對應(yīng)的邊界值, 也是可調(diào)節(jié)的參數(shù),表示內(nèi)部空間占據(jù)的比例。在生成 parameterized occupancy fields 時,OccNeRF 先在參數(shù)化空間中采樣,通過逆變換得到原始坐標(biāo),然后將原始坐標(biāo)投影到圖像平面上,最后通過采樣和三維卷積得到占據(jù)場。
Multi-frame Depth Estimation
為了實(shí)現(xiàn)訓(xùn)練 occupancy 網(wǎng)絡(luò),OccNeRF選擇利用體渲染將 occupancy 轉(zhuǎn)換為深度圖,并通過光度損失函數(shù)來監(jiān)督。渲染深度圖時采樣策略很重要。在參數(shù)化空間中,若直接根據(jù)深度或視差均勻采樣,都會造成采樣點(diǎn)在內(nèi)部或外部空間分布不均勻,進(jìn)而影響優(yōu)化過程。因此,OccNeRF 提出在相機(jī)中心離原點(diǎn)較近的前提下,可直接在參數(shù)化空間中均勻采樣。此外,OccNeRF 在訓(xùn)練時會渲染并監(jiān)督多幀深度圖。
下圖直觀地展示了使用參數(shù)化空間表示占據(jù)的優(yōu)勢。(其中第三行使用了參數(shù)化空間,第二行沒有使用。)
Semantic Label Generation
OccNeRF 使用預(yù)訓(xùn)練的 GroundedSAM (Grounding DINO + SAM) 生成 2D 語義標(biāo)簽。為了生成高質(zhì)量的標(biāo)簽,OccNeRF 采用了兩個策略,一是提示詞優(yōu)化,用精確的描述替換掉 nuScenes 中模糊的類別。OccNeRF中使用了三種策略優(yōu)化提示詞:歧義詞替換(car 替換為 sedan)、單詞變多詞(manmade 替換為 building, billboard and bridge)和額外信息引入(bicycle 替換為 bicycle, bicyclist)。二是根據(jù) Grounding DINO 中檢測框的置信度而不是 SAM 給出的逐像素置信度來決定類別。OccNeRF 生成的語義標(biāo)簽效果如下:
OccNeRF實(shí)驗(yàn)結(jié)果
OccNeRF 在 nuScenes 上進(jìn)行實(shí)驗(yàn),并主要完成了多視角自監(jiān)督深度估計(jì)和 3D 占據(jù)預(yù)測任務(wù)。
多視角自監(jiān)督深度估計(jì)
OccNeRF 在 nuScenes 上多視角自監(jiān)督深度估計(jì)性能如下表所示。可以看到基于 3D 建模的 OccNeRF 顯著超過了 2D 方法,也超過了 SimpleOcc,很大程度上是由于 OccNeRF 針對室外場景建模了無限的空間范圍。
論文中的部分可視化效果如下:
3D 占據(jù)預(yù)測
OccNeRF 在 nuScenes 上 3D 占據(jù)預(yù)測性能如下表所示。由于 OccNeRF 完全不使用標(biāo)注數(shù)據(jù),其性能與有監(jiān)督方法仍有差距。但部分類別(如 drivable surface 與 manmade)已達(dá)到與有監(jiān)督方法可比的性能。
文中的部分可視化效果如下:
總結(jié)
在許多汽車廠商都嘗試去掉 LiDAR 傳感器的當(dāng)下,如何利用好成千上萬無標(biāo)注的圖像數(shù)據(jù),是一個重要的課題。而 OccNeRF 給我們帶來了一個很有價值的嘗試。
原文鏈接:https://mp.weixin.qq.com/s/UiYEeauAGVtT0c5SB2tHEA