清華大學(xué)&英偉達最新|Occ3D:通用全面的大規(guī)模3D占用預(yù)測基準
點擊進入→自動駕駛之心【占用網(wǎng)絡(luò)】技術(shù)交流群
后臺回復(fù)【3D檢測綜述】獲取最新基于點云/BEV/圖像的3D檢測綜述!
作者|汽車人編輯|自動駕駛之心
自動駕駛感知需要對3D幾何和語義進行建?!,F(xiàn)有的方法通常側(cè)重于估計3D邊界框,忽略了更精細的幾何細節(jié),難以處理一般的、詞匯表外的目標。為了克服這些限制,本文引入了一種新的3D占用預(yù)測任務(wù),旨在從多視圖圖像中估計目標的詳細占用和語義。為了促進這項任務(wù),作者開發(fā)了一個標簽生成pipeline,為給定場景生成密集的、可感知的標簽。該pipeline包括點云聚合、點標簽和遮擋處理。作者基于Waymo開放數(shù)據(jù)集和nuScenes數(shù)據(jù)集構(gòu)造了兩個基準,從而產(chǎn)生了Occ3D Waymo和Occ3D nuScene基準。最后,作者提出了一個模型,稱為“粗略到精細占用”(CTF-Occ)網(wǎng)絡(luò)。這證明了在3D占用預(yù)測任務(wù)中的優(yōu)越性能。這種方法以粗略到精細的方式解決了對更精細的幾何理解的需求。
引言

3D感知是自動駕駛等基于視覺的自動駕駛系統(tǒng)的關(guān)鍵組成部分。最流行的視覺感知任務(wù)之一是3D目標檢測,它根據(jù)單目或雙目相機圖像估計固定本體樹中定義的目標的位置和尺寸。雖然輸出是可供下游任務(wù)使用的簡潔的3D邊界框,但其表達能力仍然有限,如下圖1所示:
3D邊界框表示消除了目標的幾何細節(jié),例如,彎曲的總線有兩個或多個部分通過旋轉(zhuǎn)連接,工程車輛,所述工程車輛具有從所述主體突出的機械臂;
很少看到的目標,如街道上的垃圾或樹枝,通常被忽略,并且在數(shù)據(jù)集中沒有標注,因為目標類別不能在本體樹中廣泛枚舉。
這些限制要求通用且連貫的感知表示,該感知表示可以對本體樹中和本體樹外的目標的詳細幾何結(jié)構(gòu)和語義進行建模。作者認為,了解3D空間中每個體素的占用狀態(tài)對于實現(xiàn)這一目標很重要。移動自動駕駛中估計占用狀態(tài)的一項經(jīng)典任務(wù)是占用網(wǎng)格圖(OGM)。OGM在一段時間內(nèi)聚集range測量(如激光雷達掃描),并在貝葉斯框架內(nèi)估計每個體素被占用的概率。然而,這種解決方案假設(shè)了靜態(tài)環(huán)境,不適用于視覺輸入。
在這項工作中,作者為基于視覺的自動駕駛感知定義了一個全面的3D場景理解任務(wù),稱為3D占用預(yù)測。3D占用預(yù)測聯(lián)合估計多視圖圖像中場景中每個體素的占用狀態(tài)和語義標簽。每個體素的占用狀態(tài)可以是空閑的、占用的或未觀察到的。在3D占有率預(yù)測中,為體素提供未觀察到的標簽至關(guān)重要,以考慮可見性并排除未觀測到的體素。對占用的體素估計語義標簽。對于數(shù)據(jù)集中具有預(yù)定義類別的目標,它們的語義標簽對應(yīng)于各自的類別。相反,未分類的目標被標注為常規(guī)目標(GOs)。盡管GOs很少被編碼,但出于安全考慮,它們對于自動駕駛感知任務(wù)至關(guān)重要,因為它們通常不會被預(yù)定義類別的3D目標檢測檢測到。
此外,作者為3D占用預(yù)測任務(wù)創(chuàng)建了一個標簽生成pipeline,以生成場景的密集和可見性感知的真值。該pipeline由幾個步驟組成,如時間點云分離、動態(tài)目標變換、激光雷達能見度估計和相機能見度估計。通過利用自我姿態(tài)和目標軌跡,點云聚合和動態(tài)目標變換增強了靜態(tài)場景的密度,并恢復(fù)了動態(tài)目標的詳細幾何結(jié)構(gòu)。此外,作者利用基于光線投射的方法來估計激光雷達和相機的可見性,因為可見性mask對于評估3D占用預(yù)測任務(wù)至關(guān)重要。在公共Waymo開放數(shù)據(jù)集和nuScenes數(shù)據(jù)集的基礎(chǔ)上,作者相應(yīng)地為任務(wù)生成了兩個基準,Occ3D Waymo和Occ3D nuScenes。該任務(wù)采用了一系列以體素為中心的語義分割評價指標。最后,作者開發(fā)了一個基于transformer的粗略到精細3D占用預(yù)測模型,命名為CTF-Occ。CTF-Occ通過交叉注意力操作以有效的從粗到細的方式將2D圖像特征聚集到3D空間中。
綜上所述,本文的貢獻如下:
作者提出了3D占用預(yù)測,這是一項用于基于視覺的自動駕駛應(yīng)用的通用和全面的3D感知任務(wù)。占用預(yù)測可以有效地再現(xiàn)任何場景的語義和幾何結(jié)構(gòu)。
作者為occupancy預(yù)測開發(fā)了一個嚴格的標簽生成pipeline,構(gòu)建了兩個具有挑戰(zhàn)性的數(shù)據(jù)集(Occ3D Waymo和Occ3D nuScenes),并建立了一個基準和評估指標,以促進未來的研究。
作者提出了一種新的CTF-Occ網(wǎng)絡(luò),該網(wǎng)絡(luò)具有出色的占用預(yù)測性能。對于這項具有挑戰(zhàn)性的任務(wù),CTF-Occ在Occ3D-Waymo上的性能優(yōu)于基線3.1 mIoU.
相關(guān)工作
3D檢測:?3D目標檢測的目標是在預(yù)先定義的本體中估計目標的位置和尺寸。3D目標檢測通常在激光雷達點云中進行。最近,基于視覺的3D目標檢測由于其低成本和豐富的語義內(nèi)容而受到更多關(guān)注,此外領(lǐng)域內(nèi)還提出了幾種激光雷達相機融合方法。
3D占用預(yù)測:3D occpancy預(yù)測的一項相關(guān)任務(wù)是占用網(wǎng)格圖(OGM),這是移動自動駕駛中的一項經(jīng)典任務(wù),旨在從連續(xù)的噪聲范圍測量中生成概率圖。通常,自動駕駛的姿態(tài)是已知的,并且這個建圖問題可以在貝葉斯框架內(nèi)解決。最近的一些工作進一步將語義分割與OGM相結(jié)合,用于下游任務(wù)。請注意,OGM需要來自激光雷達和雷達等測距傳感器的測量,并且還假設(shè)場景隨著時間的推移是靜態(tài)的。作者提出的3D占用預(yù)測任務(wù)不具有這些約束,可以應(yīng)用于動態(tài)場景中的純視覺自動駕駛系統(tǒng)。一項并行工作TPVFormer提出了一種三視角視圖方法來預(yù)測3D占用率。然而,由于激光雷達的監(jiān)督,其輸出很少。
語義場景補全:另一項相關(guān)任務(wù)是語義場景補全(SSC),其目標是從部分觀測中估計密集的語義空間。SSC與3D占用預(yù)測在兩個方面有所不同:
SSC專注于通過給定可見部分推斷遮擋區(qū)域,而占用預(yù)測并不去估計不可見區(qū)域;
SSC通常適用于靜態(tài)場景,而占用預(yù)測適用于動態(tài)場景。
3D占用預(yù)測
任務(wù)定義


處理一般目標
3D語義模糊預(yù)測任務(wù)的主要優(yōu)勢之一是有可能處理GOs或未知目標。與預(yù)先定義所有目標類別的3D目標檢測不同,3D占用預(yù)測使用占用網(wǎng)格和語義來處理任意目標。目標的幾何形狀通常由體素表示,包括標注為(“已占用”、“未知”)的詞匯表外目標。這種表示和檢測通用目標的能力使任務(wù)更具通用性,更適合自動駕駛感知。
評估度量
mIoU:由于3D體素級占用預(yù)測任務(wù)與2D像素級語義分割任務(wù)具有相似性,作者使用mIoU來評估模型的性能:

其中、和分別表示類別c的真正例、假正例和假反例預(yù)測。由于強調(diào)以視覺為中心的任務(wù),在實踐中,許多真值體素在圖像中是不可見的。因此,作者只計算圖像中可見區(qū)域的mIoU。
Occ3D數(shù)據(jù)集
數(shù)據(jù)集構(gòu)建pipeline
為3D場景獲取密集的體素級別標注可能具有挑戰(zhàn)性且不切實際。為了解決這一問題,作者提出了一種半自動標簽生成pipeline,該pipeline利用現(xiàn)有的標注3D感知數(shù)據(jù)集。首先,作者依次聚合來自多個幀的點。然后,作者對加密的點云進行體素化。最后,作者根據(jù)它們的可見性來識別體素類型。
數(shù)據(jù)準備:標簽生成pipeline(如下圖2所示)需要一個3D數(shù)據(jù)集,其中每個場景都包含以下傳感器數(shù)據(jù):
(多視圖)相機圖像序列;
3D激光雷達點云序列;
來自IMU的3D姿勢序列。
所有相機和激光雷達的內(nèi)參和外參也是坐標轉(zhuǎn)換和投影所必需的。此外,作者需要常見目標的人工標注框級語義標簽,以及可選的點級語義標簽。

點云聚合:稀疏激光雷達觀測的3D重建是實時定位和建圖(SLAM)[10]中的經(jīng)典問題。給定一系列激光雷達點云和每幀的IMU姿態(tài)測量,作者可以聯(lián)合優(yōu)化自我姿態(tài),并將點云聚合到一個統(tǒng)一的世界坐標系中。然而,動態(tài)目標在時間聚集之后會出現(xiàn)運動模糊。因此,作者分別處理動態(tài)目標和靜態(tài)目標。根據(jù)每個幀處的邊界框標注和不同幀之間的自我姿態(tài),對動態(tài)目標的點進行轉(zhuǎn)換和聚合。對于靜態(tài)目標的點,作者只是根據(jù)自我姿態(tài)來聚合它們。
由于標注序列的每一幀都很耗時,因此一些現(xiàn)有的數(shù)據(jù)集僅在關(guān)鍵幀處進行標注,例如,nuScenes以10Hz的頻率捕獲,但以2Hz的頻率進行標注。因此,作者在執(zhí)行上述動態(tài)點聚合之前,對帶標注的目標框序列進行時間插值,以自動標注未帶標注的幀。關(guān)于未標注的幀中沒有被邊界框的點,它們很可能是靜態(tài)背景。因此,作者使用K-最近鄰進行投票,以確定它們的語義標簽。通過這種方式,作者獲得了密集標注的前景動態(tài)目標實例和背景靜態(tài)點云。
激光雷達能見度:為了從聚合的激光雷達點云中獲得密集而規(guī)則的3D occpancy網(wǎng)格,一種直接的方法是將包含點的體素設(shè)置為“占用”,其余設(shè)置為“空”。然而,由于激光雷達點是稀疏的,一些被占用的體素不會被激光雷達光束掃描,并且可能被錯誤地標注為“空”。為了避免這個問題,作者執(zhí)行光線投射操作來確定每個體素的可見性。具體來說,作者將每個激光雷達點與傳感器原點連接以形成射線,如果體素反射激光雷達點(“占用”)或被射線穿透(“空”),則體素是可見的;否則,它被標注為“未觀察到”。通過這種方式,作者產(chǎn)生了一個體素級別的激光雷達可見性mask。
遮擋推理和相機可見性:由于專注于以視覺為中心的任務(wù),作者進一步提出了一種遮擋推理算法,并生成了一個相機可見性mask,指示在當前的多相機視圖中是否觀察到每個體素。具體地說,對于每個相機視圖,作者將每個占用的體素中心與相機中心連接起來,并形成一條射線。沿著每條射線,將第一個被占用的體素之前的體素(包括第一個被占據(jù)的體素)設(shè)置為“觀察到的”,將其余的體素設(shè)置為“未觀測到的”。未被任何相機射線掃描的體素也被標注為“未觀察到”。如下圖3所示,在累積激光雷達視圖中觀察到白色體素但在當前相機視圖中未觀察到。

請注意,激光雷達能見度mask和相機能見度mask可能因兩個原因而不同:
(1)激光雷達和相機的安裝位置不同;
(2) 激光雷達的能見度在整個序列中是一致的,而相機的能見度在每個時間戳都不同。
確定體素的可見性對于評估3D占用預(yù)測任務(wù)很重要:評估僅在激光雷達和相機視圖中對“觀察到的”體素進行。
數(shù)據(jù)集統(tǒng)計
基于上述半自動標注pipeline,作者生成了兩個3D占用預(yù)測數(shù)據(jù)集,Occ3D Waymo和Occ3D nuScenes。Occ3D Waymo包含798個用于訓(xùn)練的序列,202個用于驗證的序列。它有14個已知的目標類和一個額外的GO類。Occ3D nuScenes包含600個用于訓(xùn)練的場景和150個用于驗證的場景。它有16個GO類。下表1將作者提出的Occ3D數(shù)據(jù)集與現(xiàn)有數(shù)據(jù)集在各個方面進行了比較。

粗略到精細占用模型
為了解決具有挑戰(zhàn)性的3D占用預(yù)測問題,作者提出了一種新的基于transformer的模型,稱為粗略到精細占有(CTF-Occ)網(wǎng)絡(luò)。作者將在本節(jié)中詳細介紹模型設(shè)計。
總體架構(gòu)
下圖4顯示了CTF-Occ網(wǎng)絡(luò)架構(gòu)圖。

首先,利用圖像主干網(wǎng)絡(luò)從多視圖圖像中提取2D圖像特征。然后,3D體素通過交叉注意力操作將聚集的2D圖像特征queries到3D空間中。作者的方法涉及使用金字塔體素編碼器,該編碼器通過增量標注選擇和空間交叉注意力以從粗到細的方式逐步改進體素特征表示。這種方法提高了空間分辨率,并細化了目標的詳細幾何結(jié)構(gòu),最終實現(xiàn)了更準確的3D占用預(yù)測。此外,作者使用了一個隱式占用解碼器,它允許任意分辨率的輸出。
粗略到精細體素編碼器
與3D目標檢測相比,3D占用預(yù)測任務(wù)涉及對更復(fù)雜的目標幾何結(jié)構(gòu)進行建模。為了說明這一點,作者的方法在不壓縮高度的情況下預(yù)先服務(wù)于3D體素空間。最初,作者采用形狀為H×W×L的可學(xué)習(xí)體素嵌入來將多視圖圖像特征聚合到3D網(wǎng)格空間中。然后,作者堆疊多個CTF體素編碼器,以實現(xiàn)多尺度交互。每個金字塔級別的每個體素編碼器由三個組件組成:增量標注選擇模塊、體素空間交叉注意力模塊和卷積特征提取器。
增量token選擇:?如前所述,預(yù)測3D占用任務(wù)需要詳細的幾何表示,但如果所有3D體素標注都用于與多視圖圖像中的感興趣區(qū)域交互,這可能會導(dǎo)致顯著的計算和內(nèi)存成本??紤]到場景中大多數(shù)3D體素網(wǎng)格都是空的,作者提出了一種增量標注選擇策略,該策略在交叉注意力計算中選擇性地選擇前景和不確定的體素標注。這種策略能夠在不犧牲精度的情況下實現(xiàn)快速高效的計算。具體地,在每個金字塔級別的開始,每個體素token被饋送到二元分類器中,以預(yù)測該體素是否為空。作者使用二進制真值占用圖作為監(jiān)督來訓(xùn)練分類器。在作者的方法中,選擇K個最不確定的體素標注用于后續(xù)的特征細化。有三種方法可以定義K個最不確定的體素:概率接近0.5的體素,得分最高的K個非空體素,或具有特定百分比的兩種體素的組合。消融研究表明,在早期選擇前景體素是一種更理想的選擇。
空間交叉注意力:?在金字塔的每個級別,作者首先選擇前K個體素標注,然后聚合相應(yīng)的圖像特征。特別地,作者應(yīng)用空間交叉注意力來進一步細化體素特征。3D空間交叉注意力定義為:



其中H,W,L是當前金字塔級別的3D網(wǎng)格空間形狀,s是體素網(wǎng)格的大小。
卷積特征提取器:?一旦作者將可變形的交叉注意力應(yīng)用于相關(guān)的圖像特征,就開始更新前景體素標注的特征。然后,使用一系列堆疊卷積來增強整個3D體素特征圖中的特征交互。在當前級別結(jié)束時,作者使用三重線性插值對3D體素特征進行上采樣。整個過程可以描述為:

隱式占用解碼器


損失函數(shù)

實驗
實驗設(shè)置
數(shù)據(jù)集:?Occ3D Waymo總共包含1000個公開可用的序列,其中798個場景用于訓(xùn)練,202個場景用于驗證。場景范圍沿X軸和Y軸設(shè)置為-40米至40米,沿Z軸設(shè)置為-5米至7.8米。Occ3D nuScenes包含700個訓(xùn)練場景和150個驗證場景。X軸和Y軸的占用范圍定義為-40米至40米,Z軸為-1米至5.4米。作者選擇0.4m的體素大小在兩個數(shù)據(jù)集上進行實驗。
架構(gòu):?作者使用在FCOS3D[36]上預(yù)訓(xùn)練的ResNet-101[13]作為圖像主干,對于Occ3D Waymo,圖像大小被調(diào)整為(640×960),對于Occ3D nuScenes,圖像大小調(diào)整為(928×1600)。除了z軸的分辨率外,作者對兩個數(shù)據(jù)集采用了相同的CTF-Occ網(wǎng)絡(luò)架構(gòu)設(shè)置。體素嵌入的形狀是(200×200),具有256個通道。體素嵌入將首先通過四個編碼器層,而不進行token選擇。Occ3D Waymo數(shù)據(jù)集有三個金字塔級,每個級的z軸分辨率分別為8、16和32。Occ3D nuScenes數(shù)據(jù)集的每個階段的z軸分辨率分別為8和16(對于兩個金字塔階段)。每個階段包含一個SCA層,并且對于所有金字塔階段,增量token選擇策略的top-k比率都設(shè)置為0.2。
作者還將兩個主流BEV模型——BEVDet[14]和BEVFormer[18]擴展到3D占用預(yù)測任務(wù)。作者用CTF-Occ網(wǎng)絡(luò)中采用的占用解碼器取代了他們原來的檢測解碼器,并保留了他們的BEV特征編碼器。根據(jù)他們的原始設(shè)置,作者采用從FCOS3D[36]檢查點初始化的ResNet101 DCN作為圖像主干。
實施細節(jié):?作者使用AdamW優(yōu)化器[23]和余弦學(xué)習(xí)速率調(diào)度器,學(xué)習(xí)速率設(shè)置為2e-4。除非另有規(guī)定,否則所有模型都訓(xùn)練了24個epoch進行比較,8個epoch進行消融研究。
6.2.與以前的方法進行比較
Occ3D nuScenes:?下表2顯示了與Occ3D nuScenes數(shù)據(jù)集上的相關(guān)方法相比,3D占用預(yù)測的性能??梢杂^察到,在IoU度量下,作者的方法在所有類中的性能都比以前的基線方法好。這些觀測結(jié)果與Occ3D Waymo數(shù)據(jù)集中的觀測結(jié)果一致。

Occ3D Waymo:?作者將CTF-Occ網(wǎng)絡(luò)的性能與新提出的Occ3D Waymo數(shù)據(jù)集上最先進的模型進行了比較。結(jié)果如下表4所示。作者的方法比以前的方法有顯著的優(yōu)勢,即將mIoU增加了3.11。特別是對于一些小目標,如行人和自行車,方法分別超過基線方法4.11和13.0 IoU。這是因為作者在不壓縮高度的情況下捕捉3D體素空間中的特征,這將保留目標的詳細幾何結(jié)構(gòu)。結(jié)果表明了作者的從粗到細體素編碼器的有效性。

消融研究
在本節(jié)中,作者消融了增量token選擇和OHEM損失的選擇。結(jié)果如下表3所示。CC代表交通錐,PED代表行人。作者專注于CC和PED,以驗證作者在小目標上實現(xiàn)。這兩種技術(shù)都能提高性能。使用OHEM損失和top-k token選擇可產(chǎn)生最佳性能。如果沒有OHEM損失,作者只能得到10.06 mIoU。將OHEM損失與隨機token選擇策略相結(jié)合,可實現(xiàn)14.75 mIoU。使用OHEM損失的不確定token選擇策略可實現(xiàn)17.37mIoU。對于token選擇,不確定選擇和前k選擇不相上下,它們顯著優(yōu)于隨機選擇。

定性結(jié)果
作者將CTF-Occ網(wǎng)絡(luò)輸出與圖5中Occ3D Waymo數(shù)據(jù)集上的最先進方法BEVFormer Occ進行了比較。作者可以看到,CTF-Occ網(wǎng)絡(luò)輸出了比BEVFormer-Occ結(jié)果更詳細的體素幾何結(jié)構(gòu)。此外,作者的體素解碼器能夠以任何分辨率產(chǎn)生輸出,而不受真值數(shù)據(jù)分辨率的限制。

結(jié)論
作者提出了Occ3D,一個用于視覺感知的大規(guī)模3D占用預(yù)測基準。該基準測試包括一個數(shù)據(jù)生成協(xié)議、兩個數(shù)據(jù)集和用于該任務(wù)的模型CTF-Occ網(wǎng)絡(luò)。它們都將開源,以促進未來的研究。研究表明,語義占用為目標提供了更具表現(xiàn)力和豐富的表示。此外,它提供了已知和未知目標的統(tǒng)一表示,這對戶外自動駕駛感知至關(guān)重要。除了直接使用外,這個基準為未來的研究開辟了幾個途徑。例如,將實例ID添加到語義體素將從本質(zhì)上改變?nèi)蝿?wù)為全景分割,并提供更豐富的信息。
參考
[1] Occ3D: A Large-Scale 3D Occupancy Prediction Benchmark for Autonomous Driving
開源地址:https://tsinghua-mars-lab.github.io/Occ3D/
視頻課程來了!
自動駕駛之心為大家匯集了毫米波雷達視覺融合、高精地圖、BEV感知、傳感器標定、傳感器部署、自動駕駛協(xié)同感知、語義分割、自動駕駛仿真、L4感知、決策規(guī)劃、軌跡預(yù)測等多個方向?qū)W習(xí)視頻,歡迎大家自?。⊕叽a進入學(xué)習(xí))

(掃碼學(xué)習(xí)最新視頻)
國內(nèi)首個自動駕駛學(xué)習(xí)社區(qū)
近1000人的交流社區(qū),和20+自動駕駛技術(shù)棧學(xué)習(xí)路線,想要了解更多自動駕駛感知(分類、檢測、分割、關(guān)鍵點、車道線、3D目標檢測、Occpuancy、多傳感器融合、目標跟蹤、光流估計、軌跡預(yù)測)、自動駕駛定位建圖(SLAM、高精地圖)、自動駕駛規(guī)劃控制、領(lǐng)域技術(shù)方案、AI模型部署落地實戰(zhàn)、行業(yè)動態(tài)、崗位發(fā)布,歡迎掃描下方二維碼,加入自動駕駛之心知識星球,這是一個真正有干貨的地方,與領(lǐng)域大佬交流入門、學(xué)習(xí)、工作、跳槽上的各類難題,日常分享論文+代碼+視頻,期待交流!

【自動駕駛之心】全棧技術(shù)交流群
自動駕駛之心是首個自動駕駛開發(fā)者社區(qū),聚焦目標檢測、語義分割、全景分割、實例分割、關(guān)鍵點檢測、車道線、目標跟蹤、3D目標檢測、BEV感知、多傳感器融合、SLAM、光流估計、深度估計、軌跡預(yù)測、高精地圖、NeRF、規(guī)劃控制、模型部署落地、自動駕駛仿真測試、產(chǎn)品經(jīng)理、硬件配置、AI求職交流等方向;

添加汽車人助理微信邀請入群
備注:學(xué)校/公司+方向+昵稱