本文介紹在3D 目標(biāo)檢測領(lǐng)域的新工作:SparseBEV。我們所處的 3D 世界是稀疏的,因此稀疏 3D 目標(biāo)檢測是一個重要的發(fā)展方向。然而,現(xiàn)有的稀疏 3D 目標(biāo)檢測模型(如 DETR3D[1],PETR[2] 等)和稠密 3D 檢測模型(如 BEVFormer[3],BEVDet[8])在性能上尚有差距。針對這一現(xiàn)象,我們認(rèn)為應(yīng)該增強(qiáng)檢測器在 BEV 空間和 2D 空間的適應(yīng)性(adaptability)。
基于此,我們提出了高性能、全稀疏的 SparseBEV 模型。在 nuScenes 驗證集上,SparseBEV 在取得 55.8 NDS 性能的情況下仍能維持 23.5 FPS 的實時推理速度。在 nuScenes 測試集上,SparseBEV 在僅使用 V2-99 這種輕量級 backbone 的情況下就取得了 67.5 NDS 的超強(qiáng)性能。如果用上 HoP[5] 和 StreamPETR-large[6] 等方法中的 ViT-large 作為 backbone,沖上 70+ 不在話下。
我們的工作已被 ICCV 2023 接收,論文、代碼和權(quán)重(包括我們在榜單上 67.5 NDS 的模型)均已公開:
論文標(biāo)題:
SparseBEV: High-Performance Sparse 3D Object Detection from Multi-Camera Videos
論文鏈接:https://arxiv.org/abs/2308.09244
代碼鏈接:https://github.com/MCG-NJU/SparseBEV
引言
現(xiàn)有的 3D 目標(biāo)檢測方法可以被分類為兩種:基于稠密 BEV 特征的方法和基于稀疏 query 的方法。前者需要構(gòu)建稠密的 BEV 空間特征,雖然性能優(yōu)越,但是計算復(fù)雜度較大;基于稀疏 query 的方法避免了這一過程,結(jié)構(gòu)更簡單,速度也更快,但是性能還落后于基于 BEV 的方法。因而我們自然而然地提出疑問:基于稀疏 query 的方法是否可以實現(xiàn)和基于稠密 BEV 的方法接近甚至更好的性能?
根據(jù)我們的實驗分析,我們認(rèn)為實現(xiàn)這一目標(biāo)的關(guān)鍵在于提升檢測器在 BEV 空間和 2D 空間的適應(yīng)性。這種適應(yīng)性是針對 query 而言的,即對于不同的 query,檢測器要能以不同的方式來編碼和解碼特征。這種能力正是之前的全稀疏 3D 檢測器 DETR3D 所欠缺的。
因此,我們提出了 SparseBEV,主要做了三個改進(jìn)。首先,設(shè)計了尺度自適應(yīng)的自注意力模塊(scale-adaptive self attention, SASA)以實現(xiàn)在 BEV 空間的自適應(yīng)感受野。其次,我們設(shè)計了自適應(yīng)性的時空采樣模塊以實現(xiàn)稀疏采樣的自適應(yīng)性,并充分利用長時序的優(yōu)勢。最后,我們使用動態(tài) Mixing 來自適應(yīng)地 decode 采到的特征。
早在今年的2月9日,ICCV 投稿前夕,我們的 SparseBEV(V2-99 backbone)就已經(jīng)在 nuScenes 測試集上取得了65.6 NDS 的成績,超過了 BEVFormer V2[7] 等方法。如下圖所示,該方案命名為 SparseBEV-Beta,具體可見 eval.ai 榜單:https://eval.ai/web/challenges/challenge-page/356/leaderboard/1012
最近,我們采用了一些來自 StreamPETR 的最新 setting,包括將 bbox loss 的 X 和 Y 的權(quán)重調(diào)為 2.0,并使用 query denoising 來穩(wěn)定訓(xùn)練等等。現(xiàn)在,僅采用輕量級 V2-99 作為 backbone 的 SparseBEV 在測試集上就能夠?qū)崿F(xiàn) 67.5 NDS 的超強(qiáng)性能,在純視覺 3D 檢測排行榜中排名第四(前三名均使用重量級的 ViT-large 作為 backbone):
在驗證集的小規(guī)模的 Setting(ResNet50,704x256)下,SparseBEV 能取得 55.8 NDS 的性能,同時保持 23.5 FPS 的實時推理速度,充分發(fā)揮了 Sparse 設(shè)計帶來的優(yōu)勢。
方法
模型架構(gòu)
SparseBEV 的模型架構(gòu)如上所示,其核心模塊包括尺度自適應(yīng)自注意力、自適應(yīng)時空采樣、自適應(yīng)融合。
Query Initialization
現(xiàn)有 query-based 方法都用 reference point 作為 query。在 SparseBEV 中,Query 包含的信息更豐富, 包括3D坐標(biāo) 、尺寸 、旋轉(zhuǎn)角 、速度 ,以及對應(yīng)的 維特征。每個 query 都被初始化為 pillar 的形狀, 為 0 且 約為 4,這是因為自駕場景中一般不會在 軸上出現(xiàn)多個物體。Scale-adaptive Self AttentionBEV 空間的多尺度特征提取很重要。基于 Dense BEV 的方法往往通過 BEV Encoder 來顯式聚合多尺度特征(比如 BEVDet[8] 用 ResNet+FPN 組成 BEV Encoder 來提取多尺度的 BEV 特征,BEVFormer 則使用 Multi-scale Deformable Attention 來實現(xiàn) BEV 空間的多尺度),而基于稀疏 query 方法則做不到這一點。我們認(rèn)為,稀疏 query 之間的 self attention 可以起到 BEV Encoder 的作用,而 DETR3D 中使用的標(biāo)準(zhǔn)的 Multi-head self attention (MHSA) 并不具備多尺度能力。因此,我們提出了尺度自適應(yīng)自注意力模塊(scale-adaptive self attention, SASA),讓模型自己去決定合適的感受野:
其中 表示兩個 query 中心點之間的歐式距離, 表示感受野的控制系數(shù),隨著 增大,遠(yuǎn)距離的 query 的注意力權(quán)重減小,感受野相應(yīng)縮小。當(dāng) 時,SASA 退化為標(biāo)準(zhǔn)的擁有全局感受野的自注意力模塊。這里的 是通過對每個 query feature 使用一層 Linear 自適應(yīng)生成的,并且每 個 head 生成的 都不同:
Adaptive Spatio-temporal Sampling
對于每個 query,我們對 query feature 使用一層 Linear 生成一系列 3D Offset:。接著,我們將這些 offset 相對于 query pillar 進(jìn)行坐標(biāo)變換以得到 3D 采樣點。采樣點生成過程如下:![wKgaomUJ_cSAdE-PAAAz-fQeU84079.png](https://file1.elecfans.com//web2/M00/A5/42/wKgaomUJ_cSAdE-PAAAz-fQeU84079.png)
這樣,我們生成的采樣點可以適應(yīng)于給定的 query,從而能夠更好地處理不同尺寸、遠(yuǎn)近的物體。同時,這些采樣點并不局限于給定的 query bbox 內(nèi)部,它們甚至可以撒到框外面去,這由模型自己決定。
接著,為了進(jìn)一步捕捉長時序的信息,我們將采樣點 warp 到不同時刻的坐標(biāo)系中,以此實現(xiàn)幀間對齊。在自動駕駛場景中,有兩種類型的運動:一是車自身的運動(ego motion),二是其他物體的運動(object motion)。對于 ego motion,我們使用數(shù)據(jù)集提供的 ego pose 來實現(xiàn)對齊;對于 object motion,我們利用 query 中定義的瞬時速度向量,并配合一個簡單的勻速運動模型來對運動物體進(jìn)行自適應(yīng)的對齊。這兩種對齊操作都能漲點:
對于稀疏采樣這塊,我們后來也基于 Deformable DETR 寫了一個 CUDA 優(yōu)化。不過,純 PyTorch 實現(xiàn)其實也挺快的,CUDA 優(yōu)化進(jìn)一步提速了 15% 左右。
我們還提供了采樣點的可視化(第一行是當(dāng)前幀,二三兩行是歷史前兩幀),可以看到,SparseBEV 的采樣點精準(zhǔn)捕捉到了場景中不同尺度的物體(即在空間上具備適應(yīng)性),且對于不同運動速度的物體也能很好的對齊(即在時間上具備適應(yīng)性)。
Adaptive Mixing
接著,我們對采到的特征的 channel 和 point 兩個維度分別進(jìn)行 adaptive mixing[9]。假設(shè)共計 幀,每幀 個采樣點,我們首先將其堆疊為 個采樣點。因此 SparseBEV 屬于堆疊時序方案,可以很容易地融合未來幀的信息。接著,我們對這些采樣點得到的特征進(jìn)行 channel mixing,其中 mixing 的權(quán)重是根據(jù) query feature 動態(tài)生成的:
隨后對 point 維度進(jìn)行同樣的 mixing 操作:
Dual-branch SparseBEV
在實驗中,我們發(fā)現(xiàn)將輸入的多幀圖像分為 Fast、Slow 兩個分支處理可以進(jìn)一步提升性能。具體地,我們將輸入分為高分辨率、低幀率的 Slow 分支和低分辨率、高幀率的 Fast 分支。于是,Slow 分支專注于提取高分辨率的靜態(tài)細(xì)節(jié),而 Fast 分支則專注于捕獲運動信息。加入 Dual-branch 的 SparseBEV 結(jié)構(gòu)圖如下所示:![wKgaomUJ_cWAEWWJAATRVyOY3Wc573.png](https://file1.elecfans.com//web2/M00/A5/42/wKgaomUJ_cWAEWWJAATRVyOY3Wc573.png)
![wKgaomUJ_caAZtuTAAAtJ0fTuoM144.png](https://file1.elecfans.com//web2/M00/A5/42/wKgaomUJ_caAZtuTAAAtJ0fTuoM144.png)
實驗結(jié)果
nuScenes test split
![wKgaomUJ_caAYGzeAAAr2pbNr48809.png](https://file1.elecfans.com//web2/M00/A5/42/wKgaomUJ_caAYGzeAAAr2pbNr48809.png)
局限性
SparseBEV 的弱點還不少:1. SparseBEV 非常依賴 ego pose 來實現(xiàn)幀間對齊。在論文的 Table 5 中,如果不使用 ego-based warping,NDS 能掉 10 個點左右,幾乎和沒加時序一樣。2. SparseBEV 中使用的時序建模屬于堆疊時序,它的耗時和輸入幀數(shù)成正比。當(dāng)輸入幀數(shù)太多的時候(比如 16 幀),會拖慢推理速度。3. 目前 SparseBEV 采用的訓(xùn)練方式還是傳統(tǒng)方案。對于一次訓(xùn)練迭代,DataLoader 會將所有幀全部 load 進(jìn)來。這對于機(jī)器的 CPU 能力有較高的要求,因此我們使用了諸如 TurboJPEG 和 Pillow-SIMD 庫來加速 loading 過程。接著,所有的幀全部會經(jīng)過 backbone,對 GPU 顯存也有一定要求。對于 ResNet50 和 8 幀 704x256 的輸入來說,2080Ti-11G 還可以塞下;但如果把分辨率、未來幀等等都拉滿,就只有 A100-80G 可以跑了。我們開源的代碼中使用的 Training 配置均為能跑的最低配置。目前有兩種解決方案:A. 將部分視頻幀的梯度截斷。我們開源的 config 中有個 stop_prev_grad 選項,它會將所有之前幀都以 no_grad 模式推理,只有當(dāng)前幀會有梯度回傳。B. 另一種解決方案是采用 SOLOFusion、StreamPETR 等方法中使用的 sequence 訓(xùn)練方案,省顯存省時間,我們未來可能會嘗試。
![wKgaomUJ_ceAC7fZAAAtTL4L6hI003.png](https://file1.elecfans.com//web2/M00/A5/42/wKgaomUJ_ceAC7fZAAAtTL4L6hI003.png)
結(jié)論
本文中,我們提出了一種全稀疏的單階段 3D 目標(biāo)檢測器 SparseBEV。SparseBEV 通過尺度自適應(yīng)自注意力、自適應(yīng)時空采樣、自適應(yīng)融合三個核心模塊提升了基于稀疏 query 模型的自適應(yīng)性,取得了和基于稠密 BEV 的方法接近甚至更優(yōu)的性能。此外我們還提出了一種 Dual-branch 的結(jié)構(gòu)進(jìn)行更加高效的長時序處理。SparseBEV 在 nuScenes 同時實現(xiàn)了高精度和高速度。我們希望該工作可以對稀疏 3D 檢測范式有所啟發(fā)。![wKgaomUJ_ceAcN_TAAAC0jQz1zo162.jpg](https://file1.elecfans.com//web2/M00/A5/42/wKgaomUJ_ceAcN_TAAAC0jQz1zo162.jpg)
參考文獻(xiàn)
![wKgaomUJ_ceAcN_TAAAC0jQz1zo162.jpg](https://file1.elecfans.com//web2/M00/A5/42/wKgaomUJ_ceAcN_TAAAC0jQz1zo162.jpg)
原文標(biāo)題:CCV 2023 | SparseBEV:高性能、全稀疏的純視覺3D目標(biāo)檢測器
文章出處:【微信公眾號:智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2914文章
44938瀏覽量
377073
原文標(biāo)題:CCV 2023 | SparseBEV:高性能、全稀疏的純視覺3D目標(biāo)檢測器
文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
SciChart 3D for WPF圖表庫
![SciChart <b class='flag-5'>3D</b> for WPF圖表庫](https://file1.elecfans.com/web3/M00/06/FA/wKgZPGeR2MGACTO-AAB0dyVzDd0112.png)
多維精密測量:半導(dǎo)體微型器件的2D&3D視覺方案
![多維精密測量:半導(dǎo)體微型器件的2<b class='flag-5'>D</b>&<b class='flag-5'>3D</b><b class='flag-5'>視覺</b>方案](https://file1.elecfans.com/web3/M00/05/8B/wKgZO2eAtNSACI28ABOqas_Pvn0880.png)
技術(shù)資訊 | 2.5D 與 3D 封裝
![技術(shù)資訊 | 2.5<b class='flag-5'>D</b> 與 <b class='flag-5'>3D</b> 封裝](https://file.elecfans.com/web2/M00/27/37/poYBAGHBmA2AD7e7AAAahjWuYP4250.jpg)
全新升級,洛微發(fā)布高性能3D工業(yè)相機(jī),為機(jī)器視覺注入新動能
![全新升級,洛微發(fā)布<b class='flag-5'>高性能</b><b class='flag-5'>3D</b>工業(yè)相機(jī),為機(jī)器<b class='flag-5'>視覺</b>注入新動能](https://file1.elecfans.com/web2/M00/09/6F/wKgZomcM1k-AAI76AAB30DYPyKc536.png)
![](https://file1.elecfans.com/web2/M00/FD/B0/wKgZomaeFaqAUkV5AAFMo324LCY168.png)
微視傳感高性能3D視覺產(chǎn)品亮相2024上海機(jī)器視覺展
![微視傳感<b class='flag-5'>高性能</b><b class='flag-5'>3D</b><b class='flag-5'>視覺</b>產(chǎn)品亮相2024上海機(jī)器<b class='flag-5'>視覺</b>展](https://file1.elecfans.com/web2/M00/00/C7/wKgZomaxzg2AHWzvAAA4UQrCTpg965.png)
手機(jī)檢測器電路圖 手機(jī)檢測器的功能和應(yīng)用
![手機(jī)<b class='flag-5'>檢測器</b>電路圖 手機(jī)<b class='flag-5'>檢測器</b>的功能和應(yīng)用](https://file1.elecfans.com/web2/M00/F6/0D/wKgaomZ-f8WAHtK8AACihsrxWfE140.png)
英倫科技10.1寸裸眼3D平板電腦——革新您的視覺體驗
![英倫科技10.1寸裸眼<b class='flag-5'>3D</b>平板電腦——革新您的<b class='flag-5'>視覺</b>體驗](https://file1.elecfans.com/web2/M00/E8/7E/wKgaomZMIm2AbgVfAACD6ARO2cM449.png)
微波檢測器的原理是什么 微波檢測器的工作原理和用途
微波檢測器的工作原理 微波檢測器的性能參數(shù)
Cognex發(fā)布了In-Sight? L38 3D視覺系統(tǒng),為3D檢測設(shè)立新標(biāo)準(zhǔn)
Nullmax提出多相機(jī)3D目標(biāo)檢測新方法QAF2D
![Nullmax提出多相機(jī)<b class='flag-5'>3D</b><b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測</b>新方法QAF2<b class='flag-5'>D</b>](https://file1.elecfans.com/web2/M00/C2/52/wKgaomXdn8yATazJAABO4JxQNTQ568.png)
工業(yè)自動化,3D視覺在五金件上下料中的應(yīng)用
![工業(yè)自動化,<b class='flag-5'>3D</b><b class='flag-5'>視覺</b>在五金件上下料中的應(yīng)用](https://file1.elecfans.com/web2/M00/BF/B1/wKgaomW3NmiAYFr8AAQ9jg7Ysl4416.png)
評論