重塑路側BEV感知!BEVSpread:全新體素化暴力漲點(浙大&百度)
本文經(jīng)自動駕駛之心公眾號授權轉載,轉載請聯(lián)系出處。
寫在前面&筆者的個人理解
基于視覺的路側3D目標檢測在自動駕駛領域引起了越來越多的關注,因其在減少盲點和擴大感知范圍方面具有不可忽略的優(yōu)勢。而先前的工作主要集中在準確估計2D到3D映射的深度或高度,忽略了體素化過程中的位置近似誤差。受此啟發(fā),我們提出了一種新的體素化策略來減少這種誤差,稱為BEVSpread。具體而言,BEVSpread不是將包含在截頭體點中的圖像特征帶到單個BEV網(wǎng)格,而是將每個截頭體點作為源,并使用自適應權重將圖像特征擴展到周圍的BEV網(wǎng)格。為了實現(xiàn)更好的特征傳遞性能,設計了一個特定的權重函數(shù),根據(jù)距離和深度動態(tài)控制權重的衰減速度。在定制的CUDA并行加速的幫助下,BEVSpread實現(xiàn)了與原始體素化相當?shù)耐评頃r間。在兩個大型路側基準上進行的大量實驗表明,作為一種插件,BEVSpread可以顯著提高現(xiàn)有基于frustum的BEV方法。在車輛、行人和騎行人幾類中,提升幅度為(1.12,5.26,3.01)AP。
開源鏈接:https://github.com/DaTongjie/BEVSpread
介紹
以視覺為中心的3D目標檢測在自動駕駛感知中發(fā)揮著關鍵作用,有助于準確估計周圍環(huán)境的狀態(tài),并以低成本為預測和規(guī)劃提供可靠的觀測結果?,F(xiàn)有的大多數(shù)工作都集中在自車輛系統(tǒng)上,由于缺乏全局視角和遠程感知能力的限制,該系統(tǒng)面臨著安全挑戰(zhàn)。近年來,路側3D目標檢測引起了越來越多的關注。由于路邊攝像頭安裝在離地幾米的電線桿上,它們在減少盲點、提高遮擋魯棒性和擴展全局感知能力方面具有固有優(yōu)勢。因此,作為提高自動駕駛安全性的補充,提高道路側感知性能是很有希望的。
最近,鳥瞰圖(BEV)已成為處理3D目標檢測任務的主流范式,其中基于frustum的方法是一個重要的分支,其流程如圖1a所示。它首先通過估計深度或高度將圖像特征映射到3D frustum,然后通過降低Z軸自由度將frustum匯集到BEV網(wǎng)格上。廣泛的工作集中在提高深度估計或高度估計的精度,以提高2D到3D映射的性能。然而,很少考慮由體素化過程引起的近似誤差。如圖1a所示,預測點通常不位于BEV網(wǎng)格中心。為了提高計算效率,先前的工作將預測點中包含的圖像特征近似累積到單個對應的BEV網(wǎng)格中心,導致位置近似誤差,并且該誤差是不可恢復的。增加BEV網(wǎng)格的密度可以減輕這種誤差,但會顯著增加計算工作量。特別是在路邊場景中,由于感知范圍大,計算資源有限,BEV網(wǎng)格只能設計得相對稀疏,以確保實時檢測,這恰恰加劇了這種誤差的影響。因此,我們提出了一個問題:我們如何在保持計算復雜性的同時減少這種誤差?
在這項工作中,我們提出了一種新的體素化策略來減少這種位置近似誤差,稱為BEVSpread。BEVSpread不是將包含在截頭體點中的圖像特征添加到單個BEV網(wǎng)格,而是將每個截頭體點將視為源,并使用自適應權重將圖像特征擴展到周圍的BEV網(wǎng)格。我們發(fā)現(xiàn),分配給周圍BEV網(wǎng)格的權重應該與距離和深度有關。首先,權重隨著距離的衰減可以有效地保留更多的位置信息,這有利于后續(xù)的網(wǎng)絡學習。其次,我們注意到,具有更深深度的相同大小的圖像塊表示較大3D尺度的目標,這導致遠處的目標包含很少的圖像特征。因此,為遠處目標的周圍BEV網(wǎng)格分配更大的權重是合理的。受此啟發(fā),設計了一個特定的權重函數(shù)來實現(xiàn)卓越的擴展性能,其中權重和距離遵循高斯分布。這種高斯分布的方差與控制衰減速度的深度信息呈正相關。特別是,BEVSpread是一個插件,可以直接部署在現(xiàn)有的基于截頭體的BEV方法上。
為了驗證BEVSpread的有效性,在兩個具有挑戰(zhàn)性的基于視覺的路邊感知基準DAIR-V2X-I和Repo3D上進行了廣泛的實驗。在部署擴展體素化策略后,BEVHeight和BEVDepth的3D平均精度在三個主要類別中平均提高了3.1和4.0。
總結來說,本文的主要貢獻如下:
- 我們指出,當前的體素化方法存在位置近似誤差,嚴重影響了路邊場景中3D目標檢測的性能,而這一問題在以前的工作中被忽略了。
- 我們提出了一種新的擴展體素化方法,即BEVSpread,該方法在擴展過程中考慮了距離和深度效應,以減少位置近似誤差,同時通過CUDA并行加速保持可比較的推理時間。
- 大量實驗表明,作為一種插件,BEVSpread在車輛、行人和騎自行車的類別中分別以(1.12、5.26、3.01)AP的大幅度顯著提高了現(xiàn)有基于截頭體的BEV方法的性能。
相關工作回顧
近年來,鳥瞰圖(BEV)為多傳感器提供了統(tǒng)一的特征空間,清晰地呈現(xiàn)了目標的位置和尺度,成為自動駕駛中3D目標檢測的主流范式。在本節(jié)中,我們詳細介紹了BEV感知、路邊BEV感知和體素化策略。
BEV感知。根據(jù)傳感器類型,BEV方法主要可分為三部分,包括基于視覺的方法、基于激光雷達的方法和基于融合的方法。基于視覺的BEV方法由于其低部署成本而成為一個具有重要意義的話題,它又分為基于Transformer和基于Frustum的方案?;赥ransformer的方法引入了3D目標查詢或BEV網(wǎng)格查詢來回歸3D邊界框。基于截頭體的方法首先通過估計深度或高度將圖像特征映射到3D截頭體,然后通過體素化生成BEV特征。這項工作側重于基于截頭體的方法中的體素化化過程,這一過程很少被探索,但至關重要。
路測BEV感知。路測BEV感知是一個新興領域,但尚未得到充分的探索。BEVHeight首先關注路邊感知,它預測高度分布以取代深度分布。CBR側重于設備的魯棒性,它在沒有外部校準的情況下生成BEV特征,而精度有限。CoBEV融合了以幾何為中心的深度和以語義為中心的高度線索,以進一步提高性能。MonoGAE考慮地平面的先驗知識。與這些方法不同的是,本文提出了一種插件來提高現(xiàn)有基于截頭體的BEV方法的性能。
體素化策略。LSS是基于frustum的BEV方法的開創(chuàng)性工作,其中首次提出了體素化。大量的工作遵循這一設置。SA-BEV提出了一種新的體素化策略,即SA-BEVPool,用于過濾背景信息。而未過濾出的截頭體點采用與LSS相同的體素化化方法。在這項工作中,我們重點消除LSS體素化化過程中的位置近似誤差。
方法詳解
網(wǎng)絡整體框架如下圖所示:
Top-k Nearest BEV Grids:定義來表示BEV網(wǎng)格中任意位置的集合,來代表BEV網(wǎng)格中心的集合。
Spread Voxel Pooling:在擴展體素池化階段,我們首先通過減小Z軸自由度來計算3D幾何體中每個點在BEV空間中的對應位置p。我們不是將包含的上下文特征累積到相應的單個BEV網(wǎng)格中心,而是將具有特定權重的fC傳播到其鄰居Ω,這些鄰居Ω是p周圍的n個最近的BEV網(wǎng)格。具體而言,擴展體素池化的過程可以公式化為:
權重函數(shù)。我們發(fā)現(xiàn),在傳播過程中,權重應該與距離和深度有關。(a) 權重隨距離衰減可以保留更多的位置信息,有利于通過后續(xù)的網(wǎng)絡學習恢復p∈PBEV的準確位置,從而消除原始體素池化過程中的位置近似誤差。此外,我們還設計了一個直觀的實驗來證明這一點。(b) 如圖3所示,具有較深深度的相同大小的圖像塊表示較大3D尺度的目標,導致較遠的目標包含很少的圖像特征。因此,為遠處目標的周圍BEV網(wǎng)格分配更大的權重是合理的,這表明權重隨著距離的推移衰減得更慢,如圖2所示。
為此,我們設計了一個特定的權重函數(shù),巧妙地使用高斯函數(shù)來整合距離和深度信息。函數(shù)定義為:
總之,擴展體素池策略的偽代碼如算法1所示。
實驗
本文在DAIR-V2X-I和Rope3D上展開實驗。
Comparison with state-of-the-art
為了進行全面評估,我們將所提出的BEVSpread與DAIR-V2X-I和Rope3D上最先進的BEV探測器進行了比較。由于所提出的擴展體素池策略是一個插件,我們將其部署到BEVHeight,稱為BEVSpread。結果描述如下。
DAIR-V2X-I的結果。表1說明了DAIR-V2X-I的性能比較。我們將我們的BEVSpread與最先進的基于視覺的方法進行了比較,包括ImVoxelNet、BEVFormer、BEVDepth和BEVHeight,以及傳統(tǒng)的基于激光雷達的方法,包括PointPillars、SECOND和MVXNet。結果表明,BEVSpread在車輛、行人和騎自行車的類別中分別以(1.12、5.26和3.01)AP的顯著優(yōu)勢優(yōu)于最先進的方法。我們注意到,以前的方法僅在0-100m中進行訓練,而DAIR-V2X-I包含0-200m的標簽。為此,我們涵蓋了更長范圍的3D目標檢測,將目標定位在0-200m內,在表1中表示為DAIR-V2X-I*。
Rope3D上的結果。我們將BEVSpread與最先進的以視覺為中心的方法進行了比較,包括在同源設置中的Rope3D驗證集上的BEVDepth和BEVHeight。如表1所示,BEVSpread全面優(yōu)于所有其他方法,在車輛、行人和騎自行車的情況下分別顯著提高了(2.59、3.44和2.14)AP。
可視化結果。如圖4所示,我們在圖像和BEV視圖中顯示了BEVHeight和BEVSpread的可視化結果。在上半部分可以觀察到,BEVSpread在多個場景中檢測到BEVHeight未命中的目標。主要原因顯示在下半部分。圖像特征表明,BEVSpread將更多的注意力集中在前景區(qū)域。并且BEVSpread生成的BEV特征比BEVHeight生成的特征更平滑。BEVHeight錯過了行人,因為沒有相應的圖像特征被投影到正確的BEV網(wǎng)格上。而BEV將圖像特征擴展到周圍的BEV網(wǎng)格,并準確地覆蓋正確的BEV柵格,從而成功地檢測到目標。
Proof Experiment for Position Recovery
我們設計了一個直觀的實驗來證明所提出的擴展體素池策略可以在BEV空間中實現(xiàn)精確的位置恢復。最初,隨機生成表示圖像特征的10個C維隨機矢量。然后,我們隨機生成3D點,并為這10個特征進行分配?;谠俭w素池和擴展體素池,將3D點投影到16×16邊界元網(wǎng)格上,以獲得邊界元特征。U-Net編碼器網(wǎng)絡用于回歸第一圖像特征在BEV空間中的準確位置,并使用MSE損失。請注意,訓練過程包含5000次迭代,并且每次迭代的批量大小設置為128。每次迭代的輸入都是隨機的。實驗過程如圖1所示。如圖5所示,當鄰居數(shù)量≥3時,我們的擴展體素池恢復了具有0.003 MSE損失的隨機點位置,而原始體素池獲得0.095 MSE損失。
消融實驗
作為插件的性能。所提出的擴展體素池策略作為一種插件,可以顯著提高現(xiàn)有基于截頭體的BEV方法的性能。如表3所示,部署到BEVDepth[16]后,性能在三個類別中顯著提高了(4.17、8.93和8.2)AP。在部署到BEVHeight[44]后,性能在三個類別中提高了(1.55、5.58和7.56)AP。值得注意的是,兒科醫(yī)生和自行車手的識別能力有了很大提高。
鄰居選擇分析。圖6顯示了三個類別的mAP如何隨著鄰居數(shù)量k而變化。對于每個超參數(shù)選擇,我們重復3次,淺藍色區(qū)域表示誤差范圍??梢杂^察到,k≥2的性能明顯優(yōu)于k B11(基線)。隨著k的增加,性能逐漸提高并變得穩(wěn)定。
權重函數(shù)分析。我們在表4中驗證了權重函數(shù)的深度和可學習參數(shù)α的有效性。在三個主要類別中的改進證明了深度和可學習參數(shù)α的應用允許更好的擴展性能。兩者兼而有之時,中等難度的三個類別的綜合表現(xiàn)分別為65.80%、31.00%和56.34%。
對不同骨干的分析。我們使用不同的主鏈進一步比較了BEVSpread和BEVHeight。ResuNet-50/101的結果列于表1和表3,ConvNeXt-B的實驗列于表5。結果表明,更強的主干會帶來更高的性能,我們的方法可以進一步提高它。
Limitations and Analysis
所提出的擴展體素池帶來了一定的計算量,導致延遲增加。雖然我們的方法可以靈活地通過調整擴展范圍來平衡精度和速度,擴展范圍表示為相鄰大小k。如表6所示,當k=2時,BEVSpread仍然在沒有延遲增加的情況下實現(xiàn)了Avg AP的顯著改進,這得益于我們的CUDA優(yōu)化。此外,這些擴散點的坐標在本版本中是在線計算的。在實際部署階段,BEVSpread可以使用類似于BEVPoolv2的預處理查找表來增強加速。
結論
在本文中,我們指出了當前體素池化方法中的一個近似誤差。我們提出了一種稱為BEVSpread的新的體素池策略來減少這種誤差。BEVSpread將每個截頭體點視為一個源,并使用自適應權重將圖像特征擴展到周圍的BEV網(wǎng)格。此外,還設計了一個特定的權重函數(shù),用于根據(jù)距離和深度動態(tài)控制衰減速度。在DAIR-V2X-I和Rope3D中的實驗表明,BEVSpread顯著提高了現(xiàn)有基于截頭體的BEV方法的性能。