清華大學&英偉達最新|Occ3D:通用全面的大規模3D Occupancy預測基準(1)
自動駕駛感知需要對3D幾何和語義進行建模。現有的方法通常側重于估計3D邊界框,忽略了更精細的幾何細節,難以處理一般的、詞匯表外的目標。為了克服這些限制,本文引入了一種新的3D占用預測任務,旨在從多視圖圖像中估計目標的詳細占用和語義。為了促進這項任務,作者開發了一個標簽生成pipeline,為給定場景生成密集的、可感知的標簽。該pipeline包括點云聚合、點標簽和遮擋處理。作者基于Waymo開放數據集和nuScenes數據集構造了兩個基準,從而產生了Occ3D Waymo和Occ3D nuScene基準。最后,作者提出了一個模型,稱為“粗略到精細占用”(CTF-Occ)網絡。這證明了在3D占用預測任務中的優越性能。這種方法以粗略到精細的方式解決了對更精細的幾何理解的需求。
引言3D感知是自動駕駛等基于視覺的自動駕駛系統的關鍵組成部分。最流行的視覺感知任務之一是3D目標檢測,它根據單目或雙目相機圖像估計固定本體樹中定義的目標的位置和尺寸。雖然輸出是可供下游任務使用的簡潔的3D邊界框,但其表達能力仍然有限,如下圖1所示:
3D邊界框表示消除了目標的幾何細節,例如,彎曲的總線有兩個或多個部分通過旋轉連接,工程車輛,所述工程車輛具有從所述主體突出的機械臂;
很少看到的目標,如街道上的垃圾或樹枝,通常被忽略,并且在數據集中沒有標注,因為目標類別不能在本體樹中廣泛枚舉。
這些限制要求通用且連貫的感知表示,該感知表示可以對本體樹中和本體樹外的目標的詳細幾何結構和語義進行建模。作者認為,了解3D空間中每個體素的占用狀態對于實現這一目標很重要。移動自動駕駛中估計占用狀態的一項經典任務是占用網格圖(OGM)。OGM在一段時間內聚集range測量(如激光雷達掃描),并在貝葉斯框架內估計每個體素被占用的概率。然而,這種解決方案假設了靜態環境,不適用于視覺輸入。
在這項工作中,作者為基于視覺的自動駕駛感知定義了一個全面的3D場景理解任務,稱為3D占用預測。3D占用預測聯合估計多視圖圖像中場景中每個體素的占用狀態和語義標簽。每個體素的占用狀態可以是空閑的、占用的或未觀察到的。在3D占有率預測中,為體素提供未觀察到的標簽至關重要,以考慮可見性并排除未觀測到的體素。對占用的體素估計語義標簽。對于數據集中具有預定義類別的目標,它們的語義標簽對應于各自的類別。相反,未分類的目標被標注為常規目標(GOs)。盡管GOs很少被編碼,但出于安全考慮,它們對于自動駕駛感知任務至關重要,因為它們通常不會被預定義類別的3D目標檢測檢測到。
此外,作者為3D占用預測任務創建了一個標簽生成pipeline,以生成場景的密集和可見性感知的真值。該pipeline由幾個步驟組成,如時間點云分離、動態目標變換、激光雷達能見度估計和相機能見度估計。通過利用自我姿態和目標軌跡,點云聚合和動態目標變換增強了靜態場景的密度,并恢復了動態目標的詳細幾何結構。此外,作者利用基于光線投射的方法來估計激光雷達和相機的可見性,因為可見性mask對于評估3D占用預測任務至關重要。在公共Waymo開放數據集和nuScenes數據集的基礎上,作者相應地為任務生成了兩個基準,Occ3D Waymo和Occ3D nuScenes。該任務采用了一系列以體素為中心的語義分割評價指標。最后,作者開發了一個基于transformer的粗略到精細3D占用預測模型,命名為CTF-Occ。CTF-Occ通過交叉注意力操作以有效的從粗到細的方式將2D圖像特征聚集到3D空間中。
綜上所述,本文的貢獻如下:
作者提出了3D占用預測,這是一項用于基于視覺的自動駕駛應用的通用和全面的3D感知任務。占用預測可以有效地再現任何場景的語義和幾何結構。
作者為occupancy預測開發了一個嚴格的標簽生成pipeline,構建了兩個具有挑戰性的數據集(Occ3D Waymo和Occ3D nuScenes),并建立了一個基準和評估指標,以促進未來的研究。
作者提出了一種新的CTF-Occ網絡,該網絡具有出色的占用預測性能。對于這項具有挑戰性的任務,CTF-Occ在Occ3D-Waymo上的性能優于基線3.1 mIoU.
3D檢測: 3D目標檢測的目標是在預先定義的本體中估計目標的位置和尺寸。3D目標檢測通常在激光雷達點云中進行。最近,基于視覺的3D目標檢測由于其低成本和豐富的語義內容而受到更多關注,此外領域內還提出了幾種激光雷達相機融合方法。
3D占用預測:3D occpancy預測的一項相關任務是占用網格圖(OGM),這是移動自動駕駛中的一項經典任務,旨在從連續的噪聲范圍測量中生成概率圖。通常,自動駕駛的姿態是已知的,并且這個建圖問題可以在貝葉斯框架內解決。最近的一些工作進一步將語義分割與OGM相結合,用于下游任務。請注意,OGM需要來自激光雷達和雷達等測距傳感器的測量,并且還假設場景隨著時間的推移是靜態的。作者提出的3D占用預測任務不具有這些約束,可以應用于動態場景中的純視覺自動駕駛系統。一項并行工作TPVFormer提出了一種三視角視圖方法來預測3D占用率。然而,由于激光雷達的監督,其輸出很少。
語義場景補全:另一項相關任務是語義場景補全(SSC),其目標是從部分觀測中估計密集的語義空間。SSC與3D占用預測在兩個方面有所不同:
SSC專注于通過給定可見部分推斷遮擋區域,而占用預測并不去估計不可見區域;
SSC通常適用于靜態場景,而占用預測適用于動態場景。
給定傳感器輸入序列,3D occpancy預測的目標是估計3D場景中每個體素的狀態。具體地,任務的輸入是N個環視圖相機圖像的T幀歷史序列,其中i=1......N和t=1.......T。
作者還假設每個幀中已知的傳感器固有參數和外在參數{[R_i| t_i]} 。任務的預期輸出是每個體素的狀態,包括占用(“已占用”、“空”)和語義(類別或“未知”)。例如,車輛上的體素標注為(“已占用”、“車輛”),自由空間中的體素則標注為(“空”、“無”)。注意,3D占用預測框架還支持額外的屬性作為輸出,例如實例ID和運動向量;作者把它們作為未來的工作。
處理一般目標3D語義模糊預測任務的主要優勢之一是有可能處理GOs或未知目標。與預先定義所有目標類別的3D目標檢測不同,3D占用預測使用占用網格和語義來處理任意目標。目標的幾何形狀通常由體素表示,包括標注為(“已占用”、“未知”)的詞匯表外目標。這種表示和檢測通用目標的能力使任務更具通用性,更適合自動駕駛感知。
評估度量mIoU:由于3D體素級占用預測任務與2D像素級語義分割任務具有相似性,作者使用mIoU來評估模型的性能:
其中、和分別表示類別c的真正例、假正例和假反例預測。由于強調以視覺為中心的任務,在實踐中,許多真值體素在圖像中是不可見的。因此,作者只計算圖像中可見區域的mIoU。
Occ3D數據集數據集構建pipeline為3D場景獲取密集的體素級別標注可能具有挑戰性且不切實際。為了解決這一問題,作者提出了一種半自動標簽生成pipeline,該pipeline利用現有的標注3D感知數據集。首先,作者依次聚合來自多個幀的點。然后,作者對加密的點云進行體素化。最后,作者根據它們的可見性來識別體素類型。
數據準備:標簽生成pipeline(如下圖2所示)需要一個3D數據集,其中每個場景都包含以下傳感器數據:
(多視圖)相機圖像序列;
3D激光雷達點云序列;
來自IMU的3D姿勢序列。
所有相機和激光雷達的內參和外參也是坐標轉換和投影所必需的。此外,作者需要常見目標的人工標注框級語義標簽,以及可選的點級語義標簽。
點云聚合:稀疏激光雷達觀測的3D重建是實時定位和建圖(SLAM)[10]中的經典問題。給定一系列激光雷達點云和每幀的IMU姿態測量,作者可以聯合優化自我姿態,并將點云聚合到一個統一的世界坐標系中。然而,動態目標在時間聚集之后會出現運動模糊。因此,作者分別處理動態目標和靜態目標。根據每個幀處的邊界框標注和不同幀之間的自我姿態,對動態目標的點進行轉換和聚合。對于靜態目標的點,作者只是根據自我姿態來聚合它們。
由于標注序列的每一幀都很耗時,因此一些現有的數據集僅在關鍵幀處進行標注,例如,nuScenes以10Hz的頻率捕獲,但以2Hz的頻率進行標注。因此,作者在執行上述動態點聚合之前,對帶標注的目標框序列進行時間插值,以自動標注未帶標注的幀。關于未標注的幀中沒有被邊界框的點,它們很可能是靜態背景。因此,作者使用K-最近鄰進行投票,以確定它們的語義標簽。通過這種方式,作者獲得了密集標注的前景動態目標實例和背景靜態點云。
激光雷達能見度:為了從聚合的激光雷達點云中獲得密集而規則的3D occpancy網格,一種直接的方法是將包含點的體素設置為“占用”,其余設置為“空”。然而,由于激光雷達點是稀疏的,一些被占用的體素不會被激光雷達光束掃描,并且可能被錯誤地標注為“空”。為了避免這個問題,作者執行光線投射操作來確定每個體素的可見性。具體來說,作者將每個激光雷達點與傳感器原點連接以形成射線,如果體素反射激光雷達點(“占用”)或被射線穿透(“空”),則體素是可見的;否則,它被標注為“未觀察到”。通過這種方式,作者產生了一個體素級別的激光雷達可見性mask。
遮擋推理和相機可見性:由于專注于以視覺為中心的任務,作者進一步提出了一種遮擋推理算法,并生成了一個相機可見性mask,指示在當前的多相機視圖中是否觀察到每個體素。具體地說,對于每個相機視圖,作者將每個占用的體素中心與相機中心連接起來,并形成一條射線。沿著每條射線,將第一個被占用的體素之前的體素(包括第一個被占據的體素)設置為“觀察到的”,將其余的體素設置為“未觀測到的”。未被任何相機射線掃描的體素也被標注為“未觀察到”。如下圖3所示,在累積激光雷達視圖中觀察到白色體素但在當前相機視圖中未觀察到。
請注意,激光雷達能見度mask和相機能見度mask可能因兩個原因而不同:
(1)激光雷達和相機的安裝位置不同;
(2) 激光雷達的能見度在整個序列中是一致的,而相機的能見度在每個時間戳都不同。
確定體素的可見性對于評估3D占用預測任務很重要:評估僅在激光雷達和相機視圖中對“觀察到的”體素進行。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。