SelfOcc:首篇純視覺環(huán)視自監(jiān)督三維占有預(yù)測(清華大學(xué))
本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
寫在前面&筆者的個人理解
三維場景標(biāo)注通常需要耗費大量的人力物力財力,是制約自動駕駛模型訓(xùn)練迭代的一大瓶頸問題,從大量的二維視頻中自監(jiān)督地學(xué)習(xí)出有效的三維場景表示是一個有效的解決方案。我們提出的SelfOcc通過使用NeRF監(jiān)督首次實現(xiàn)僅使用視頻序列進(jìn)行三維場景表示(BEV或TPV)學(xué)習(xí)。SelfOcc在自監(jiān)督單目場景補全、環(huán)視三維語義占有預(yù)測、新視角深度合成、單目深度估計和環(huán)視深度估計等任務(wù)上均取得了SOTA的性能。
SelfOcc的相關(guān)背景
自監(jiān)督3D占用預(yù)測
在當(dāng)前的自動駕駛技術(shù)領(lǐng)域,以視覺為核心的系統(tǒng)通常依賴于精細(xì)的三維(3D)標(biāo)注來學(xué)習(xí)有效的3D表示。然而,這種依賴精細(xì)3D標(biāo)注的方法面臨著嚴(yán)峻挑戰(zhàn),主要表現(xiàn)在3D標(biāo)注獲取的高成本,尤其是在近來被提出的3D占用預(yù)測任務(wù)中,這一問題尤為突出。
3D占用預(yù)測任務(wù)的核心在于預(yù)測一個場景中各個體素是否被占用。但是,要實現(xiàn)這一點,大多數(shù)現(xiàn)有方法需要對每個體素進(jìn)行逐一的語義監(jiān)督。這種方法雖然能夠提供精確的3D表示,但其訓(xùn)練過程極其耗時且成本高昂,這使得這些方法難以應(yīng)用于大規(guī)模數(shù)據(jù)訓(xùn)練。為了解決這一問題,目前已有一些自監(jiān)督的3D占用預(yù)測方法被提出,如SceneRF和BTS。然而,這些方法主要針對單目視頻,無法有效處理環(huán)視場景。
在這種背景下,SelfOcc方法的提出顯得尤為重要。SelfOcc的目標(biāo)是通過自監(jiān)督學(xué)習(xí)方式,有效學(xué)習(xí)3D表示。與傳統(tǒng)方法不同,SelfOcc不單單聚焦于單一視角,而是通過顯式建模3D表示,天然地融合了單目和環(huán)視兩種視角。這種方法能夠利用單目視頻的數(shù)據(jù)來理解3D結(jié)構(gòu),同時也能夠處理環(huán)視視頻,從而為自動駕駛車輛提供更全面、更精確的環(huán)境感知能力。
可泛化神經(jīng)輻射場
以2D圖像為基礎(chǔ)的自監(jiān)督3D重建的主要范式是神經(jīng)輻射場(NeRF),它通過從多個視角捕獲的2D圖像來重建3D場景。NeRF的核心優(yōu)勢在于其能夠生成高度真實且連續(xù)的三維視覺效果,但傳統(tǒng)的NeRF方法在訓(xùn)練過程中需要大量的同一場景的不同視角圖像,這在實際應(yīng)用中是一個顯著的限制。而且,傳統(tǒng)NeRF缺乏對新場景的泛化能力,意味著它無法有效處理之前未見過的場景。
為了克服這些限制,部分研究工作提出了以圖像特征為條件的NeRF。這種方法的目的是通過較少的視角來實現(xiàn)對3D場景的重建,同時增強模型對新場景的泛化能力。然而,這種方法僅依賴于2D圖像特征作為主要的信息源,而忽略了3D特征編碼對于深層次的3D感知和理解的重要性。
在這個背景下,SelfOcc提供了一個新的視角。與傳統(tǒng)的以2D圖像特征為基礎(chǔ)的方法不同,SelfOcc顯著地強調(diào)了學(xué)習(xí)場景級別的3D表示的重要性。它的特征提取過程主要在三維空間內(nèi)進(jìn)行,這意味著SelfOcc不僅關(guān)注二維圖像所呈現(xiàn)的表面信息,而更重要的是,它能夠探索和理解空間中的深層結(jié)構(gòu)和關(guān)系。這種方法通過直接在三維空間內(nèi)提取和處理特征,能夠更全面地捕捉到場景的三維特性,從而提高了三維重建的質(zhì)量和準(zhǔn)確性。
自監(jiān)督深度估計
NeRF的訓(xùn)練過程面臨著一些顯著的挑戰(zhàn),特別是收斂速度慢和容易發(fā)生過擬合的問題。這些問題主要源于NeRF對場景的高度非線性建模和對訓(xùn)練數(shù)據(jù)的密集依賴。為此,一些研究工作開始引入深度信息作為輔助監(jiān)督,或者采用自監(jiān)督深度估計約束。
引入深度信息作為輔助監(jiān)督的方法基于這樣一個理念:通過提供額外的深度信息,可以幫助NeRF更好地理解場景的空間結(jié)構(gòu),從而加速訓(xùn)練過程并減少過擬合的風(fēng)險。同時,自監(jiān)督深度估計約束的引入旨在通過對深度估計的優(yōu)化來提高NeRF模型的泛化能力。然而,這些方法在實際應(yīng)用中也面臨一些固有的挑戰(zhàn)。首先,NeRF的體渲染積分過程為優(yōu)化深度引入了多余的自由度,這使得深度優(yōu)化變得復(fù)雜且不穩(wěn)定。此外,視角變換后的雙線性插值限制了優(yōu)化深度的感受野,導(dǎo)致深度估計易受局部特征的影響,從而容易陷入局部最優(yōu)。
為了克服這些挑戰(zhàn),SelfOcc提出了一種創(chuàng)新的MVS-embedded策略,以實現(xiàn)穩(wěn)定高效的自監(jiān)督深度優(yōu)化。MVS(Multi-View Stereo)技術(shù)是一種成熟的三維重建技術(shù),它能夠從多個視角的圖像中重建出精確的三維模型。SelfOcc通過將MVS技術(shù)嵌入到NeRF的訓(xùn)練過程中,利用MVS的強大深度估計能力來指導(dǎo)NeRF模型的優(yōu)化。這種策略有效地減少了體渲染過程中的自由度,使得深度優(yōu)化過程更加穩(wěn)定和高效。同時,MVS-embedded策略通過整合多個視角的信息,擴大了深度優(yōu)化的感受野,從而減少了局部最優(yōu)的風(fēng)險。
詳解SelfOcc算法
上圖是SelfOcc方法的整體流程圖:SelfOcc首先利用2D圖像主干網(wǎng)絡(luò)提取得到多尺度圖像特征,再使用3D特征編碼器從圖像特征中提取3D場景表示,最后通過輕量級解碼器將3D表示解碼為符號距離場(SDF),并通過時序幀之間的提渲染約束實現(xiàn)監(jiān)督。
從2D圖像到3D占用
SelfOcc首先通過一個圖像編碼器處理2D輸入圖像。該圖像編碼器的主要任務(wù)是將標(biāo)準(zhǔn)的2D圖像轉(zhuǎn)換為包含豐富信息的多尺度特征圖,從而為后續(xù)的三維表示提供必要的原始數(shù)據(jù)。隨后,SelfOcc利用三維編碼器處理這些多尺度圖像特征圖。三維編碼器的功能是將二維圖像特征轉(zhuǎn)化為三維空間表示(BEV/TPV)。這一轉(zhuǎn)換過程是將二維平面信息擴展到三維空間的關(guān)鍵步驟,它使得模型能夠探索和理解空間中的深層結(jié)構(gòu)和關(guān)系。最后,SelfOcc使用一個輕量級的解碼器從3D表示中解碼出最終的三維占用預(yù)測結(jié)果。
從3D占用到2D圖像
為了有效地自監(jiān)督生成的3D表示,SelfOcc采用了基于SDF的體渲染技術(shù),將3D表示渲染為2D圖像和深度圖。
具體而言,SelfOcc首先使用解碼器將3D表示解碼為符號距離場(SDF)。SDF提供了一種描述物體表面的有效方式,其中每個點的值表示該點到最近表面的距離,正負(fù)號表示點在物體內(nèi)部還是外部。相較于密度場,SDF具有更加明確的物理意義和關(guān)于梯度大小的約束,從而使其在進(jìn)行正則化和優(yōu)化時更加高效。此外,SDF的另一個優(yōu)點是其在處理復(fù)雜幾何形狀時的精確度,因為一個點的符號可以直接確定它在表面內(nèi)還是在表面外。
得到SDF場之后,SelfOcc通過體渲染生成2D結(jié)果。在這個過程中,一條從觀察點出發(fā)穿過三維場景的光線被模擬,沿光線路徑收集體素的屬性信息,然后基于這些信息計算出最終像素的顏色和強度。
以3D占用為核心的監(jiān)督策略
基于MVS的深度優(yōu)化策略
SelfOcc提出了一種創(chuàng)新的深度優(yōu)化策略,稱之為MVS-embedded策略,旨在解決NeRF框架下使用傳統(tǒng)自監(jiān)督深度估計約束時遇到的一些關(guān)鍵問題。自監(jiān)督深度估計通常需要經(jīng)過一個復(fù)雜的積分過程,該過程涉及將深度信息積分到一個單一的值,隨后通過透視投影進(jìn)行兩個視角間的轉(zhuǎn)換,并最終通過比較目標(biāo)像素和源圖像上經(jīng)過雙線性插值得到的源像素來評估深度估計的準(zhǔn)確性。然而,這種做法存在一些本質(zhì)的限制。首先,積分過程的多自由度問題導(dǎo)致了深度估計在優(yōu)化過程中的震蕩和不確定性。此外,采用雙線性插值的方法限制了深度優(yōu)化的感受野,意味著深度估計過程過于依賴于局部特征,難以捕捉到更廣闊的場景上下文,從而容易陷入局部極值。
為了克服這些限制,SelfOcc提出了一種直接優(yōu)化一條射線上的多個深度proposal的權(quán)重的方法,從而避免了復(fù)雜的積分過程。這種策略的核心在于,通過對射線上不同深度點的權(quán)重進(jìn)行優(yōu)化,我們可以更直接地評估每個深度點的貢獻(xiàn)和重要性,從而獲得更準(zhǔn)確和穩(wěn)定的深度估計。此外,這種方法中多個深度proposal的引入顯著增大了深度優(yōu)化的感受野,這意味著我們的優(yōu)化過程可以考慮到更廣泛的場景信息,從而減少局部極值的問題。
時序約束和SDF場的正則化
考慮到自動駕駛相機通常朝外并且每個相機的視角重疊區(qū)域較小,SelfOcc選擇使用時序上相鄰的幀——即之前和之后的幀——作為NeRF的監(jiān)督目標(biāo)。這種方法考慮到了自動駕駛場景中視角變化的獨特性,通過利用時間上的連續(xù)性來彌補空間視角重疊不足的問題。
在SDF場的正則化方面,我們采用了多種措施以確保SDF的物理意義和連續(xù)性。首先,我們引入了Eikonal loss,這是一種常用于保證SDF物理合理性的正則化方法。Eikonal loss的主要作用是確保SDF在空間中的梯度大小保持恒定,這有助于保持SDF場的一致性和準(zhǔn)確性。其次,我們還引入了二階導(dǎo)數(shù)約束,這種約束的目的是提高SDF的空間連續(xù)性。通過限制SDF的二階導(dǎo)數(shù),我們可以更好地控制SDF場的平滑度,減少在復(fù)雜幾何形狀處的不連續(xù)和尖銳變化。除此之外,我們還引入了稀疏性約束,這是為了強制模型將看不到的區(qū)域預(yù)測為空。在自動駕駛的應(yīng)用中,由于視角的限制,總會有一部分區(qū)域是不可見的。通過稀疏性約束,我們可以確保這些不可見區(qū)域在SDF場中被合理處理,避免在這些區(qū)域產(chǎn)生誤導(dǎo)性的預(yù)測。這些正則化措施在面對少視角的欠定問題時,能夠有效地引導(dǎo)SDF學(xué)習(xí)過程,確保學(xué)到的SDF場在滿足視角重建的要求的同時,盡可能地與物理先驗對齊。
實驗
我們在三個主要自動駕駛數(shù)據(jù)集上開展了實驗,包括nuScenes,SemanticKITTI和KITTI-2015,覆蓋三維占有預(yù)測,新視角深度預(yù)測和深度估計等自監(jiān)督三維理解任務(wù)。所有實驗在8張RTX 3090上進(jìn)行,訓(xùn)練和測試代碼均已開源。以下是主要實驗結(jié)果和可視化,更多內(nèi)容詳見論文和GitHub倉庫。
自監(jiān)督3D占用預(yù)測
表1和表2列出了3D占用預(yù)測任務(wù)的結(jié)果。在Occ3D數(shù)據(jù)集上,與有監(jiān)督方法相比,我們的方法沒有使用任何形式的3D監(jiān)督,仍取得了較高的IoU以及合理的mIoU。45.01%的IoU表明SelfOcc從視頻序列中學(xué)習(xí)到了有意義的幾何結(jié)構(gòu)。更重要的是,相比LiDAR監(jiān)督的TPVFormer和3D真值監(jiān)督的MonoScene,SelfOcc甚至取得了更高的IoU和mIoU。
在SemanticKITTI數(shù)據(jù)集上,我們將各種方法歸類為3D真值、深度和圖片監(jiān)督三種類別。從表2可以看出,SelfOcc取得了基于視覺的深度監(jiān)督和圖片監(jiān)督的3D占有預(yù)測方法的新SOTA,并且在IoU指標(biāo)上超過上一任SOTA方法SceneRF達(dá)58.7%。
自監(jiān)督新視角深度預(yù)測
表3展示了SelfOcc在自監(jiān)督新視角深度預(yù)測任務(wù)上的性能。SelfOcc在SemanticKITTI和nuScenes數(shù)據(jù)集上的所有指標(biāo)上都優(yōu)于之前最先進(jìn)的SceneRF。
自監(jiān)督深度預(yù)測
表4展示了SelfOcc在自監(jiān)督深度估計任務(wù)上的性能。SelfOcc在nuScenes上取得了SOTA結(jié)果,且與KITTI-2015數(shù)據(jù)集上的SOTA方法性能相當(dāng)。
可視化
上面兩幅圖展示了SelfOcc在nuScenes數(shù)據(jù)集上的自監(jiān)督3D占有預(yù)測和深度估計的可視化結(jié)果。
論文信息
作者:黃原輝*,鄭文釗*,張博睿,周杰,魯繼文
機構(gòu):清華大學(xué)自動化系
文章鏈接:https://arxiv.org/pdf/2311.12754.pdf
項目主頁:https://huang-yh.github.io/SelfOcc/
代碼倉庫:https://github.com/huang-yh/SelfOcc (已開源)
原文鏈接:https://mp.weixin.qq.com/s/3ysN139lRE8Txl1YU7Nfyw