爆拉OccWorld!RenderWorld:提升純視覺端到端上限,4D Occ和運(yùn)動規(guī)劃最新SOTA!
本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
寫在前面
純視覺端到端自動駕駛不僅比激光雷達(dá)與視覺融合的方法更具成本效益,而且比傳統(tǒng)方法更可靠。為了實(shí)現(xiàn)經(jīng)濟(jì)且魯棒的純視覺自動駕駛系統(tǒng),這里提出了RenderWorld,一個僅基于視覺的端到端自動駕駛框架,它使用自監(jiān)督的高斯-based Img2Occ模塊生成3D占用標(biāo)簽,然后通過AM-VAE對標(biāo)簽進(jìn)行編碼,并利用世界模型進(jìn)行預(yù)測和規(guī)劃。RenderWorld采用高斯濺射(Gaussian Splatting)來表示3D場景,并渲染2D圖像,與基于NeRF的方法相比,這大大提高了分割精度并降低了GPU內(nèi)存消耗。通過將AM-VAE應(yīng)用于分別編碼空氣和非空氣部分,RenderWorld實(shí)現(xiàn)了更細(xì)粒度的場景元素表示,從而在基于自回歸世界模型的4D占用預(yù)測和運(yùn)動規(guī)劃方面達(dá)到了最先進(jìn)的性能。
行業(yè)背景介紹
隨著自動駕駛技術(shù)的廣泛應(yīng)用,研究人員逐漸將重點(diǎn)放在了更好的感知和預(yù)測方法上,這些方法與系統(tǒng)的決策能力和魯棒性密切相關(guān)。目前大多數(shù)框架都是將感知、預(yù)測和規(guī)劃分開進(jìn)行的。最常用的感知方法是使用視覺和激光雷達(dá)融合進(jìn)行3D目標(biāo)檢測,這使得模型能夠更好地預(yù)測未來場景并進(jìn)行運(yùn)動規(guī)劃。然而,由于大多數(shù)3D目標(biāo)檢測方法無法獲得環(huán)境中的細(xì)粒度信息,它們在后續(xù)模型中的規(guī)劃中表現(xiàn)出非魯棒性,這影響了系統(tǒng)的安全性。當(dāng)前的感知方法主要依賴于激光雷達(dá)和camera,但激光雷達(dá)的高成本和多模態(tài)融合的計算需求對自動駕駛系統(tǒng)的實(shí)時性能和魯棒性提出了挑戰(zhàn)。
這里介紹了RenderWorld,這是一個用于預(yù)測和運(yùn)動規(guī)劃的自動駕駛框架,它基于高斯-based Img2Occ模塊生成的3D占用標(biāo)簽進(jìn)行訓(xùn)練。RenderWorld提出了一個自監(jiān)督的gaussian splatting Img2Occ模塊,該模塊通過訓(xùn)練2D多視圖深度圖和語義圖像來生成世界模型所需的3D占用標(biāo)簽。為了使世界模型更好地理解由3D占用表示的場景,在向量量化變分自編碼器(VQ-VAE)的基礎(chǔ)上提出了空氣掩碼變分自編碼器(AM-VAE)。這通過增強(qiáng)場景表示的粒度來提高了我們世界模型的推理能力。
為了驗(yàn)證RenderWorld的有效性和可靠性,分別在NuScenes數(shù)據(jù)集上對3D占用生成和運(yùn)動規(guī)劃進(jìn)行了評估。綜上所述,主要貢獻(xiàn)如下:
1)提出了RenderWorld,這是一個純2D自動駕駛框架,它使用tokens 的2D圖像來訓(xùn)練基于高斯的占用預(yù)測模塊(Img2Occ),以生成世界模型所需的3D標(biāo)簽。2)為了提高空間表示能力,引入了AM-VAE,它通過分別編碼空氣體素和非空氣體素來改進(jìn)世界模型中的預(yù)測和規(guī)劃,同時減少內(nèi)存消耗。
相關(guān)工作介紹
3D占用率正在成為激光雷達(dá)感知的一種可行替代方案。大多數(shù)先前的工作都利用3D占用率真實(shí)值進(jìn)行監(jiān)督,但這在標(biāo)注上是一個挑戰(zhàn)。隨著神經(jīng)輻射場(NeRF)的廣泛采用,一些方法試圖使用2D深度和語義標(biāo)簽進(jìn)行訓(xùn)練。然而,使用連續(xù)的隱式神經(jīng)場來預(yù)測占用概率和語義信息往往會導(dǎo)致高昂的內(nèi)存成本。最近,GaussianFormer利用稀疏高斯點(diǎn)作為減少GPU消耗的手段來描述3D場景,而GaussianOcc則利用一個6D姿態(tài)網(wǎng)絡(luò)來消除對真實(shí)姿態(tài)的依賴,但兩者都存在整體分割精度大幅下降的問題。在提出的工作中,采用了一種基于錨點(diǎn)的高斯初始化方法來對體素特征進(jìn)行高斯化,并使用更密集的高斯點(diǎn)來表示3D場景,從而在避免NeRF基方法中光線采樣導(dǎo)致的過度內(nèi)存消耗的同時,實(shí)現(xiàn)了更高的分割精度。
世界模型常用于未來幀預(yù)測并輔助機(jī)器人做出決策。隨著端到端自動駕駛的逐漸發(fā)展,世界模型也被應(yīng)用于預(yù)測未來場景和制定決策。與傳統(tǒng)自動駕駛方法不同,世界模型方法集成了感知、預(yù)測和決策制定。許多當(dāng)前的方法將相機(jī)-激光雷達(dá)數(shù)據(jù)進(jìn)行融合,并將其輸入到世界模型中,用于預(yù)測和制定運(yùn)動規(guī)劃。其中,OccWorld提出利用3D占用率作為世界模型的輸入。然而,OccWorld在利用純2D輸入方面效率較低,且在編碼過程中由于信息丟失而難以準(zhǔn)確預(yù)測未來場景。因此,我們設(shè)計了一個Img2Occ模塊,將2D標(biāo)簽轉(zhuǎn)換為3D占用標(biāo)簽,以增強(qiáng)世界建模能力。
RenderWorld方法介紹
本節(jié)中將描述RenderWorld的總體實(shí)現(xiàn)。首先,提出了一個Img2Occ模塊,用于占用率預(yù)測和3D占用標(biāo)簽的生成。隨后,介紹了一個基于空氣mask變分自編碼器(AM-VAE)的模塊,以優(yōu)化占用率表示并增強(qiáng)數(shù)據(jù)壓縮效率。最后,詳細(xì)闡述了如何集成世界模型以準(zhǔn)確預(yù)測4D場景演變。
1)使用多幀2D標(biāo)簽進(jìn)行3D占用率預(yù)測
直接優(yōu)化Σ可能會導(dǎo)致不可行的矩陣,因?yàn)樗仨毷钦攵ǖ?。為了確保Σ的有效性,我們將其分解為縮放矩陣S和旋轉(zhuǎn)矩陣R,以表征3D高斯橢球體的幾何形狀:
然后,通過計算相機(jī)空間協(xié)方差矩陣Σ',將3D高斯體投影到2D以進(jìn)行渲染:
其中J是投影變換的仿射近似的雅可比矩陣,W是視圖變換。然后,可以通過對排序后的高斯體應(yīng)用alpha混合來計算每個像素的語義/深度:
為了計算真實(shí)深度與渲染深度之間的差異,利用皮爾遜相關(guān)系數(shù),它可以測量兩個2D深度圖之間的分布差異,遵循以下函數(shù):
2)空氣mask變分自編碼器(AM-VAE)
傳統(tǒng)的變分自編碼器(VAEs)無法對非空氣體素的獨(dú)特特征進(jìn)行編碼,這阻礙了模型以細(xì)粒度級別表示場景元素。為了解決這個問題,這里引入了空氣掩碼變分自編碼器(AM-VAE),這是一種新穎的VAE,它涉及訓(xùn)練兩個獨(dú)立的向量量化變分自編碼器(VQVAE),以分別編碼和解碼空氣和非空氣占用體素。假設(shè)o代表輸入占用表示,而和分別代表空氣和非空氣體素。
首先利用一個3D卷積神經(jīng)網(wǎng)絡(luò)對占用數(shù)據(jù)進(jìn)行編碼,輸出是一個連續(xù)的潛在空間表示,記為f。編碼器q?(s|o)將輸入f映射到潛在空間s。然后使用兩個潛在變量和來分別表示空氣和非空氣體素:
每個編碼后的潛在變量或使用可學(xué)習(xí)的碼本或來獲得離散tokens ,然后在輸入到解碼器之前,用與該tokens 最相似的codebook替換它。這個過程可以表示為:
然后,解碼器pθ(o|s)從量化的潛在變量和中重建輸入占用:
為了促進(jìn)占用表示中空氣和非空氣元素的分離,用M表示非空氣類別的集合。然后,在修改后的占用中,空氣和非空氣的指示函數(shù)可以定義如下:
修改后的空氣占用和非空氣占用由以下等式給出:
然后,為訓(xùn)練AM-VAE構(gòu)建了損失函數(shù),它包含重建損失和commitment損失LReg:
AM-VAE在統(tǒng)一的編碼器-解碼器設(shè)置中,為空氣和非空氣體素分別使用了不同的碼本。這種方法有效地捕獲了每種體素類型的獨(dú)特特征,從而提高了重建準(zhǔn)確性和泛化潛力。
3)世界模型
通過在自動駕駛中應(yīng)用世界模型,將3D場景編碼為高級tokens ,我們的框架可以有效地捕獲環(huán)境的復(fù)雜性,從而實(shí)現(xiàn)對未來場景和車輛決策的準(zhǔn)確自回歸預(yù)測。
受OccWorld的啟發(fā),使用3D占用率來表示場景,并采用自監(jiān)督的分詞器來推導(dǎo)高級場景tokens T,并通過聚合車輛tokens z0來編碼車輛的空間位置。世界模型w是根據(jù)當(dāng)前時間戳T和歷史幀數(shù)t來定義的,然后使用以下公式建立預(yù)測:
同時,采用了一種時間生成式Transformer架構(gòu)來有效預(yù)測未來場景。它首先通過空間聚合和下采樣處理場景tokens ,然后生成一個分層的tokens 集合{T0, · · · , TK}。為了在不同空間尺度上預(yù)測未來,采用多個子世界模型w = {w0, · · · , wK}來實(shí)現(xiàn),并且每個子模型wi使用以下公式對每個位置j的tokens 應(yīng)用時間注意力:
在預(yù)測模塊中,首先利用自監(jiān)督的分詞器e將3D場景轉(zhuǎn)換為高級場景tokens T,并使用車輛tokens z0來編碼車輛的空間位置。在預(yù)測了未來的場景tokens后,應(yīng)用一個場景解碼器d來解碼預(yù)測的3D占用率,并學(xué)習(xí)一個車輛解碼器,用于生成相對于當(dāng)前幀的車輛位移。預(yù)測模塊通過生成未來車輛位移和場景變化的連續(xù)預(yù)測,為自動駕駛系統(tǒng)的軌跡優(yōu)化提供決策支持,確保安全和自適應(yīng)的路徑規(guī)劃。
這里實(shí)現(xiàn)了一個兩階段訓(xùn)練策略來有效地訓(xùn)練預(yù)測模塊。在第一階段,使用3D占用率損失來訓(xùn)練場景分詞器e和解碼器d:
然后,使用學(xué)習(xí)到的場景分詞器e來獲取所有幀的場景tokens z,對于車輛tokens ,同時學(xué)習(xí)車輛解碼器,并在預(yù)測的位移和真實(shí)位移p上應(yīng)用L2損失。第二階段的總體損失可以表示為: