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