大幅降低計(jì)算量!PointOcc:基于點(diǎn)云的3D語(yǔ)義占用預(yù)測(cè)新思路
本文經(jīng)自動(dòng)駕駛之心公眾號(hào)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
我們提出了一種基于點(diǎn)云柱坐標(biāo)三視角表示的高效3D語(yǔ)義占有預(yù)測(cè)方法PointOcc,通過(guò)在nuScenes公開(kāi)數(shù)據(jù)集上進(jìn)行大量實(shí)驗(yàn),驗(yàn)證了PointOcc在3D語(yǔ)義占有預(yù)測(cè)和點(diǎn)云分割任務(wù)上可以取得最佳的性能,同時(shí)大幅降低計(jì)算量。PointOcc僅使用點(diǎn)云數(shù)據(jù)作為輸入,在mIoU和IoU兩種指標(biāo)上大幅超越了OpenOccupancy benchmark中的多模態(tài)方法。
論文:https://arxiv.org/abs/2308.16896
代碼:https://github.com/wzzheng/PointOcc
1. 提出的背景
當(dāng)前自動(dòng)駕駛領(lǐng)域中的語(yǔ)義分割正在經(jīng)歷從稀疏的點(diǎn)云分割到密集的3D語(yǔ)義占有預(yù)測(cè)的變革。3D語(yǔ)義占有預(yù)測(cè)任務(wù)的目標(biāo)是對(duì)3D空間中的每一個(gè)體素都預(yù)測(cè)一個(gè)語(yǔ)義標(biāo)簽,以實(shí)現(xiàn)對(duì)3D場(chǎng)景更加魯棒、準(zhǔn)確的感知建模。但由于其密集的預(yù)測(cè)空間,當(dāng)前基于點(diǎn)云體素表示的方法將承受巨大的計(jì)算和存儲(chǔ)負(fù)擔(dān),從而嚴(yán)重限制模型的性能。另一類更加高效的點(diǎn)云表示是基于2D投影表示的方法,例如BEV和range-view表示。盡管相比于體素表示更加高效,但由于其在投影過(guò)程中的信息損失,僅使用單平面特征難以建模復(fù)雜3D場(chǎng)景中的細(xì)粒度結(jié)構(gòu),從而無(wú)法處理具有密集預(yù)測(cè)空間的3D語(yǔ)義占有預(yù)測(cè)任務(wù)。
為了解決這個(gè)問(wèn)題,我們提出了一種新的基于柱坐標(biāo)三視角的點(diǎn)云表示來(lái)高效、完整地建模3D場(chǎng)景,并進(jìn)一步提出了一個(gè)高效的3D語(yǔ)義占有預(yù)測(cè)模型PointOcc。我們采用彼此互補(bǔ)的三視角平面來(lái)高效建模點(diǎn)云特征,并使用高效的2D backbone處理。我們提出柱坐標(biāo)劃分和空間分組池化來(lái)減少投影過(guò)程中的信息損失,在保持高效的同時(shí)進(jìn)一步提升模型建模復(fù)雜3D場(chǎng)景的能力。實(shí)驗(yàn)表明,我們的模型PointOcc在點(diǎn)云分割任務(wù)中達(dá)到了基于2D投影表示方法中的最佳性能,而無(wú)需復(fù)雜的后處理操作;并在3D語(yǔ)義占有預(yù)測(cè)任務(wù)上取得了比OpenOccupancy benchmark上多模態(tài)方法更好的性能,同時(shí)大幅降低模型的計(jì)算和存儲(chǔ)負(fù)擔(dān)。
2. 我們的方法
本文提出了一種新的基于柱坐標(biāo)三視角的點(diǎn)云表示方法,通過(guò)彼此互補(bǔ)的三個(gè)2D平面來(lái)共同建模3D空間特征。我們僅采用2D backbone來(lái)高效處理三視角平面特征,并通過(guò)柱坐標(biāo)劃分和空間分組池化來(lái)減少投影過(guò)程中的信息損失。最后通過(guò)聚合三平面中彼此互補(bǔ)的特征視角下的特征,實(shí)現(xiàn)對(duì)3D空間高效細(xì)致的建模。
2.1 點(diǎn)云的柱坐標(biāo)三視角表示
在基于點(diǎn)云的自動(dòng)駕駛感知中,一個(gè)重要問(wèn)題是學(xué)習(xí)到有效且高效的3D場(chǎng)景表示。而在當(dāng)前的主流方法中,3D體素表示會(huì)造成巨大的計(jì)算和存儲(chǔ)負(fù)擔(dān),2D投影表示會(huì)由于信息損失而無(wú)法恢復(fù)出密集的3D空間特征。為了實(shí)現(xiàn)在2D平面高效處理點(diǎn)云特征并保留3D結(jié)構(gòu)信息,我們將Tri-Perspective View (TPV)的思想引入點(diǎn)云,采用三視角下的平面特征來(lái)建模3D場(chǎng)景。每個(gè)平面負(fù)責(zé)建模特定視角下的3D場(chǎng)景特征,三個(gè)平面彼此正交互補(bǔ),通過(guò)聚合三平面的特征就能恢復(fù)出3D空間中任意一點(diǎn)的結(jié)構(gòu)信息??紤]到激光雷達(dá)點(diǎn)云在空間中分布的不均勻特性,即近處的點(diǎn)云更加密集而遠(yuǎn)處更加稀疏,我們進(jìn)一步提出在柱坐標(biāo)系下建立點(diǎn)云的三視角表示,以實(shí)現(xiàn)對(duì)近處區(qū)域更加細(xì)粒度的建模,并在投影過(guò)程中采用空間分組池化來(lái)更好地保留3D結(jié)構(gòu)信息。
2.2 PointOcc
基于點(diǎn)云的柱坐標(biāo)三視角表示,我們提出了一個(gè)高效的3D語(yǔ)義占有預(yù)測(cè)模型PointOcc,僅利用2D backbone實(shí)現(xiàn)模型在性能和效率上的最佳表現(xiàn)。PointOcc主要分為三個(gè)模塊:點(diǎn)云的三視角轉(zhuǎn)化、三視角特征編碼、重構(gòu)3D空間特征
- 點(diǎn)云的三視角轉(zhuǎn)化:給定輸入點(diǎn)云,首先需要通過(guò)體素化(voxelization)和空間池化操作(spatial max pooling)其轉(zhuǎn)化為三個(gè)視角下的平面特征??紤]到激光雷達(dá)點(diǎn)云在空間中的分布密度不一致性,采用直角坐標(biāo)系下均勻的方格劃分會(huì)導(dǎo)致體素中點(diǎn)云密度分布極不均勻,近處點(diǎn)云極度密集而遠(yuǎn)處存在大量空體素,造成計(jì)算效率下降。因此我們采用柱坐標(biāo)系下的體素劃分,由于柱坐標(biāo)系中對(duì)近處劃分更加密集而遠(yuǎn)處更加稀疏,從而使點(diǎn)云密度分布更加均勻。對(duì)點(diǎn)云進(jìn)行體素劃分后,我們沿柱坐標(biāo)系下的三個(gè)坐標(biāo)軸分別進(jìn)行分組池化+特征聯(lián)結(jié),得到點(diǎn)云在柱坐標(biāo)下的三視角特征。
- 三視角特征編碼:我們采用2D圖像backbone來(lái)編碼每個(gè)三視角特征平面,并由FPN聚集每個(gè)平面的多尺度特征,最終解碼出高分辨率的三視角特征表示。由于僅在2D空間中進(jìn)行特征的表示和編碼,我們的模型在計(jì)算和存儲(chǔ)上具有高效性。
- 重構(gòu)3D空間特征:基于點(diǎn)云的三視角特征平面,我們可以高效完整地重構(gòu)出3D空間的特征表示。對(duì)于3D空間中的任意一個(gè)查詢點(diǎn),我們首先通過(guò)柱坐標(biāo)轉(zhuǎn)換將其分別投影到三視角平面上并采樣相應(yīng)特征。我們通過(guò)相加的方式聚合該點(diǎn)在三視角平面上的特征,并作為最終的3D特征表示。在進(jìn)行點(diǎn)云分割和3D語(yǔ)義占有預(yù)測(cè)時(shí),只需要查詢相應(yīng)點(diǎn)的三視角特征,并由輕量級(jí)的分類頭進(jìn)行預(yù)測(cè)。
3. 實(shí)驗(yàn)
3.1 3D語(yǔ)義占有預(yù)測(cè)實(shí)驗(yàn)結(jié)果
如下表所示,本文方法在nuScenes 3D語(yǔ)義占有預(yù)測(cè)任務(wù)中在mIoU和IoU兩項(xiàng)指標(biāo)上都達(dá)到了最佳性能。本文方法僅使用點(diǎn)云輸入,就在性能上大幅超越了OpenOccupancy中的多模態(tài)方法,顯示了PointOcc方法的優(yōu)越性。
我們進(jìn)一步比較了PointOcc與其他方法在性能和計(jì)算量上的綜合表現(xiàn)。如下圖所示,PointOcc在保持優(yōu)越性能的同時(shí)大幅降低了模型的計(jì)算量,顯示了本文方法在處理密集預(yù)測(cè)任務(wù)時(shí)具有高效建模復(fù)雜3D場(chǎng)景的能力。
3.2 點(diǎn)云分割實(shí)驗(yàn)結(jié)果
我們同樣在nuScenes點(diǎn)云分割任務(wù)上驗(yàn)證本文方法的有效性。如下圖所示,本文方法在性能上超越了所有基于2D投影表示的方法而不需要任何后處理操作,并達(dá)到了與基于3D體素表示方法相當(dāng)?shù)男阅?。此外,我們?yàn)證了2D圖像backbone在圖像數(shù)據(jù)上預(yù)訓(xùn)練后,能夠提升其在點(diǎn)云感知任務(wù)上的性能。
3.3 消融實(shí)驗(yàn)
我們?cè)趎uScenes點(diǎn)云分割任務(wù)上進(jìn)行消融實(shí)驗(yàn),首先驗(yàn)證三視角平面彼此互補(bǔ)的特性。如下表所示,相比于單平面特征,同時(shí)利用三個(gè)平面來(lái)共同建模3D場(chǎng)景時(shí)能夠獲得更大的性能提升。
我們還驗(yàn)證了三視角表示的分辨率和空間分組池化的分組數(shù)對(duì)模型性能的影響。如下表所示,當(dāng)三視角表示分辨率越高、空間池化分組越多時(shí),模型的性能越高。這也證明了對(duì)3D場(chǎng)景進(jìn)行更細(xì)粒度的建模能夠有效提升模型的性能。
考慮到ViT模型在從圖像遷移到點(diǎn)云數(shù)據(jù)時(shí)展現(xiàn)出驚人的性能,我們進(jìn)一步探索了將在ImageNet上預(yù)訓(xùn)練的ViT中部分權(quán)重凍結(jié)時(shí)對(duì)模型性能的影響。如下表所示,當(dāng)僅凍結(jié)注意力層或FFN層時(shí)模型性能并沒(méi)有大幅下降,顯示了在圖像數(shù)據(jù)上預(yù)訓(xùn)練的ViT模型可以很好地泛化到點(diǎn)云感知任務(wù)上。
3.4 可視化結(jié)果
原文鏈接:https://mp.weixin.qq.com/s/7l-hG-y3o51dBzKbNlVJeA