VoxelNeXt:用于3D检测和跟踪的纯稀疏体素网络
VoxelNeXt:Fully Sparse VoxelNet for 3D Object Detection and Tracking
目前自動駕駛場景的3D檢測框架大多依賴于dense head,而3D點(diǎn)云數(shù)據(jù)本身是稀疏的,這無疑是一種低效和浪費(fèi)計算量的做法。我們提出了一種純稀疏的3D 檢測框架 VoxelNeXt。該方法可以直接從sparse CNNs 的 backbone網(wǎng)絡(luò)輸出的預(yù)測 sparse voxel 特征來預(yù)測3D物體,無需借助轉(zhuǎn)換成anchor, center, voting等中間狀態(tài)的媒介。該方法在取得檢測速度優(yōu)勢的同時,還能很好地幫助多目標(biāo)跟蹤。VoxelNeXt在nuScenes LIDAR 多目標(biāo)跟蹤榜單上排名第一。
1.概述
在本文中,我們提出了VoxelNeXt。這是一個簡單、高效且無需后期處理的3D對象檢測器。我們設(shè)計的核心是體素到對象方案,其根據(jù)體素特征直接預(yù)測3D對象一個強(qiáng)大的完全稀疏的卷積網(wǎng)絡(luò)。關(guān)鍵的優(yōu)點(diǎn)是我們的方法可以去掉錨代理,稀疏到密集轉(zhuǎn)換、區(qū)域建議網(wǎng)絡(luò)和其他復(fù)雜組件。
?由于我們的體素到對象方案避免了密集的特征圖,所以網(wǎng)絡(luò)可以高效推理。它只預(yù)測稀疏和必要的位置,如表1所示,與CenterPoint[57]相比。這種表示也使得VoxelNeXt可以很容易地擴(kuò)展到使用離線跟蹤器的3D跟蹤。先前的工作[57]只跟蹤預(yù)測的物體中心,這可能涉及對其位置的預(yù)測偏差。在VoxelNeXt中,查詢體素(用于框預(yù)測的體素),也可以被跟蹤以進(jìn)行關(guān)聯(lián)。
最近,FSD[16]利用了完全稀疏的框架。在VoteNet[37]的推動下,它投票支持對象中心,并采用迭代細(xì)化。由于3D稀疏數(shù)據(jù)通常分散在物體表面,因此這種投票過程不可避免地會引入偏差或誤差。因此,需要諸如迭代群校正之類的細(xì)化來確保最終的準(zhǔn)確性。該系統(tǒng)因其對客體中心的強(qiáng)烈信念而變得復(fù)雜。FSD[16]在大范圍表現(xiàn)不錯,但其效率不如我們的,如圖所示。
?2.具體方法
如果不使用2D檢測頭,直接用voxel稀疏會有什么問題呢?
稀疏探測器[16,46,47]的方法避免了密集的探測頭,而是引入了其他復(fù)雜的管道。RSN[47]對距離圖像執(zhí)行前景分割,然后檢測剩余圖像上的3D對象稀疏數(shù)據(jù)。SWFormer[46]提出了一種具有精細(xì)窗口分割和具有特征金字塔的多個頭的稀疏變換器。受VoteNet[37]的啟發(fā),FSD[16]使用點(diǎn)聚類和組校正來解決中心特征缺失的問題。
這些檢測器進(jìn)行稀疏預(yù)測,但以不同的方式使檢測管道復(fù)雜化。在我們的工作中,這個中心缺失的問題也可以通過具有大感受野的稀疏網(wǎng)絡(luò)簡單地跳過。我們對常用的稀疏神經(jīng)網(wǎng)絡(luò)進(jìn)行最小的調(diào)整,以實(shí)現(xiàn)完全稀疏的檢測器。
稀疏神經(jīng)網(wǎng)絡(luò)因其效率而成為3D深度學(xué)習(xí)[10,11,23,41]中的大型骨干網(wǎng)絡(luò)。人們普遍認(rèn)為,它的表現(xiàn)能力對于預(yù)測是有限的。與所有這些解決方案相反,我們證明,在沒有任何其他復(fù)雜設(shè)計的情況下,通過額外的下采樣層可以簡單地解決感受野瓶頸不足的問題。
點(diǎn)云或體素分布不規(guī)則,通常分散在3D對象的表面,而不是中心或內(nèi)部。這促使我們沿著一個新的方向進(jìn)行研究,直接基于體素而不是手工制作的錨或中心來預(yù)測3D盒子。
2.1.稀疏CNN骨干網(wǎng)適配
具有足夠感受野的強(qiáng)特征表示是確保對稀疏體素特征進(jìn)行直接和正確預(yù)測的必要條件。盡管普通稀疏CNN骨干網(wǎng)絡(luò)已被廣泛用于3D對象檢測器[12,41,57],但最近的工作表明了其弱點(diǎn),并提出了各種方法來增強(qiáng)稀疏骨干,例如使用精心設(shè)計的卷積[7]、large kernels [8], and transformers [25, 26, 35]。
與所有這些方法不同,我們盡可能少地進(jìn)行修改來實(shí)現(xiàn)這一點(diǎn),只使用額外的下采樣層。默認(rèn)情況下,簡單稀疏的CNN骨干網(wǎng)絡(luò)有4個階段,其特征步長為{1,2,4,8}。我們將輸出稀疏特征分別命名為{F1,F2,F3,F4}。此設(shè)置無法進(jìn)行直接預(yù)測,尤其是對于大型對象。為了增強(qiáng)其能力,我們簡單地包括兩個額外的下采樣層,以獲得{F5,F6}的步長為{16,32}的特征。
這種微小的變化直接對擴(kuò)大感受野產(chǎn)生了顯著的影響。我們將最后三個階段{F4,F5,F6}到Fc的稀疏特征進(jìn)行組合。它們的空間分辨率都與F4對齊。對于階段i,Fi是一組單獨(dú)的特征fp。p∈Pi是三維空間中的一個位置,坐標(biāo)為(xp,yp,zp)。該過程如圖4所示。值得注意的是,這種簡單的稀疏串聯(lián)不需要其他參數(shù)化層。稀疏特征Fc和它們的位置Pc被獲得為:
?
?圖4 VoxelNeXt框架的詳細(xì)結(jié)構(gòu)。圖中帶圓圈的數(shù)字對應(yīng)于第3.1節(jié)和第3.2節(jié)中的段落。1-額外向下取樣。2-稀疏高度壓縮。3-體素選擇。4-框回歸。為了簡單起見,我們在這里省略了F1、F2和F3的生成。
在附加下采樣層的情況下,有效感受野ERF更大,預(yù)測框更準(zhǔn)確。它足夠有效,并且?guī)缀醪恍枰~外的計算,如表2所示。因此,我們使用這種簡單的設(shè)計作為骨干網(wǎng)絡(luò)。
稀疏高度壓縮
3D對象檢測器通過將稀疏特征轉(zhuǎn)換為密集特征,然后將深度(沿z軸)組合為通道維度,將3D體素特征壓縮為密集的2D圖。這些操作需要占用占用內(nèi)存和計算。
在VoxelNet中,我們發(fā)現(xiàn)2D稀疏特征對于預(yù)測是有效的。VoxelNeXt中的高度壓縮是完全稀疏的。我們只需將所有體素放在地面上,并在相同的位置對特征進(jìn)行累加。它的成本不超過1毫秒。我們發(fā)現(xiàn),對壓縮的2D稀疏特征的預(yù)測成本低于使用3D稀疏特征的成本,如表5所示。壓縮的稀疏特征F’c及其位置P’c如下所示:
?
?空間體素修剪
我們的網(wǎng)絡(luò)完全基于體素。3D場景通常包含大量冗余的背景點(diǎn),并且對預(yù)測幾乎沒有好處。我們沿著下采樣層逐漸修剪不相關(guān)的體素。根據(jù)SPS Conv[32],我們抑制了具有小特征量值的體素的膨脹,如圖6所示。
?
將抑制比設(shè)為0.5,我們僅對特征幅度|fp|(在通道維度上平均)位于所有體素的上半部分的體素進(jìn)行擴(kuò)張。體素修剪在很大程度上節(jié)省了計算,而不會影響性能,如表3所示。
?2.2. 稀疏檢測頭
體素選擇
圖4顯示了VoxelNeXt模型的詳細(xì)框架。我們不依賴于密集特征圖M,而是直接基于3D CNN骨干網(wǎng)絡(luò)V∈R的稀疏輸出來預(yù)測對象 N×F。我們首先預(yù)測K類體素的分?jǐn)?shù),s∈R
N×K。在訓(xùn)練過程中,我們將離每個注釋邊界框中心最近的體素指定為正樣本。我們使用焦點(diǎn)損失[31]進(jìn)行監(jiān)督。我們注意到,在推理查詢過程中,體素通常不在對象中心。它們甚至不一定在邊界框內(nèi),例如圖中的行人。我們在表7中統(tǒng)計了nuScenes驗(yàn)證集上查詢體素的分布。
?
?在推理過程中,我們通過使用稀疏最大池來避免NMS后處理,因?yàn)樘匦宰銐蛳∈琛Ec子流形稀疏卷積[19]類似,它只對非空位置進(jìn)行運(yùn)算。這是基于預(yù)測的分?jǐn)?shù)s,并針對每個類別單獨(dú)進(jìn)行。
我們采用稀疏最大池來選擇具有空間局部最大值的體素。去除的體素將被排除在框預(yù)測中,這節(jié)省了頭部的計算。
框回歸
從正的或選定的稀疏體素特征v∈Rn×F直接回歸邊界框。根據(jù)CenterPoint[57]中的協(xié)議,我們回歸位置(?x,?y)∈R2,高度h∈R,3D尺寸s∈R3,旋轉(zhuǎn)角度(sin(α),cos(α))∈R2
對于nuScenes數(shù)據(jù)集或跟蹤,我們通過任務(wù)定義回歸速度v∈R2。這些預(yù)測是在訓(xùn)練期間在L1損失函數(shù)下監(jiān)督的。對于Waymo數(shù)據(jù)集,我們還預(yù)測了IoU,并在IoU損失的情況下進(jìn)行訓(xùn)練,以提高性能[22]。我們簡單地使用核大小為3的全連通層或3×3子流形稀疏卷積層進(jìn)行預(yù)測,而不需要其他復(fù)雜的設(shè)計。我們發(fā)現(xiàn),3×3稀疏卷積比全連接層產(chǎn)生更好的結(jié)果,負(fù)擔(dān)有限,如表6所示
?2.3 3D跟蹤
?我們的框架自然擴(kuò)展到了3D跟蹤。CenterPoint[57]通過二維速度v∈R2跟蹤預(yù)測的物體中心,該速度也受到L1損失的監(jiān)督。我們將此設(shè)計擴(kuò)展到VoxelNeXt中。我們的解決方案是使用體素關(guān)聯(lián)來包括更多與查詢體素位置匹配的軌跡。
如圖8所示,我們記錄了用于預(yù)測每個框的體素的位置。與中心關(guān)聯(lián)類似,我們計算L2距離以進(jìn)行匹配。通過將查詢位置的索引回溯到原始輸入體素而不是stride-8位置來選擇查詢位置。被跟蹤的體素存在于輸入數(shù)據(jù)中,其比預(yù)測的中心具有更小的偏差。此外,相鄰幀之間的查詢體素共享與框相似的相對位置。我們的經(jīng)驗(yàn)表明,體素關(guān)聯(lián)改善了表11中的跟蹤。
?
?
?3.總結(jié)及實(shí)驗(yàn)結(jié)果
文章相對centerpoint 有較大提升,思想源于centerpoint,創(chuàng)新點(diǎn)在于直接使用真值中心最近對應(yīng)的voxel作為有無目標(biāo)的回歸,而centerpont中還是基于2d特征的heatmap。跟蹤時也使用原始查詢voxel表現(xiàn)突出。具體指標(biāo)如下:
?
?
?原論文:https://arxiv.org/pdf/2303.11301.pdf
?
總結(jié)
以上是生活随笔為你收集整理的VoxelNeXt:用于3D检测和跟踪的纯稀疏体素网络的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML在黑色框中加白色文字,文字一部分
- 下一篇: 【CVPR2022】Lite Visio