3D点云物体检测对自动驾驶感知至关重要,如何高效地从稀疏点云数据中学习特征表示是3D点云物体检测领域的一个关键挑战。我们在本文中将会介绍团队发表在NeurIPS 2023的HEDNet和CVPR 2024的SAFDNet,其中HEDNet聚焦于解决现有稀疏卷积神经网络难以捕捉远距离特征间依赖关系的问题,而SAFDNet则是基于HEDNet构建的纯稀疏点云检测器。 在点云物体检测中,传统方法往往依赖于手工设计的特征提取器,这种方法在处理稀疏点云数据时效果有限。近年来,基于深度学习的方法在该领域取得了显著的进展。HEDNet利用卷积神经网络对稀疏点云数据进行特征提取,并通过特定的网络结构解决了稀疏点云数据中存在的关键问题,例如捕捉远距离特征间的依赖关系。该方法在NeurIPS 2023的论文中
主流方法通常将非结构化的点云转换为规则的元素,并使用稀疏卷积神经网络或Transformer来提取特征。大多数现有的稀疏卷积神经网络主要通过堆叠子流形流形残差(Submanifold Sparse Residual,SSR)模块构建而来,每个SSR模块包含两个采用小卷积核的子流形卷积(Submanifold Sparse,SS)卷积。然而,子流形卷积要求输入和输出特征图的稀疏度保持不变,这阻碍了模型难以捕捉远距离特征之间的依赖关系。一种可能的解决方案是将SSR模块中的子流形卷积替换为普通稀疏卷积(Regular Sparse,RS)卷积。然而,随着网络深度的增加,这会导致较低特征图的稀疏度,导致计算成本大幅增加。一些研究尝试使用基于大卷积核的稀疏卷积神经网络或Transformer来捕获远距离特征之间的依赖关系,但这些方法要么没有在精度上带来提升,要么需要更高的计算成本。综上所述,我们仍然缺乏一种能够高效地捕捉远距离特征之间依赖关系的方法。
为了提升模型效率,现有的3D点云物体检测器大多采用稀疏卷积来提取特征。稀疏卷积主要包括RS卷积和SS卷积。RS卷积在计算过程中会将稀疏特征扩散到相邻区域,因而会降低特征图的稀疏度。与之相反,SS卷积则保持输入和输出特征图的稀疏度不变。由于降低特征图的稀疏度,RS卷积的计算成本,在现有方法中RS卷积通常仅用于特征图下采样。另一方面,大多数基于元素的方法通过堆叠SSR模块构建稀疏卷积神经网络,以提取点云特征。每个SSR模块包含两个SS卷积和一个融合输入和输出特征的跳跃连接。
图 1(a) 展示了单个SSR模块的结构。图中有效特征 (valid feature) 指非零特征,而空特征 (empty feature) 的值为零,代表该位置原本不包含点云。我们将特征图的稀疏度定义为空特征占据的区域面积与特征图总面积之比。在SSR模块中,输入特征图经过两个SS卷积转换后得到输出特征图,同时输入特征图的信息通过跳跃连接 (Skip conn.) 直接融合到输出特征图中。SS卷积只处理有效特征,以保证SSR模块的输出特征图与输入特征图具有相同的稀疏度。然而,这样的设计阻碍了不连通特征之间的信息交互。例如,顶部特征图中由星号标记的特征点,无法从底部特征图中位于红色虚线框外、由红色三角形标记的三个特征点接收信息,这限制了模型建模远距离特征间依赖关系的能力。
图1 SSR、RSR和SED模块结构比较
针对以上问题,一种可能的解决方案是将SSR模块中的SS卷积替换为RS卷积来捕捉远距离特征之间的依赖关系。我们将这种修改后的模块称为普通稀疏残差(Regular Sparse Residual, RSR)模块,其结构如图1(b)所示。图中,待扩散特征(expanded feature)是有有效特征邻域内的空特征。RS卷积同时处理有效特征和待扩散特征,其卷积核中心会遍历这些特征区域,这种设计导致输出特征图像较低的稀疏度。将叠RS卷积则会更加迅速地降低特征图的稀疏度,进而导致模型效率大幅降低。这也是现有方法通常将RS卷积用于特征下采样的原因。在这里,我们把expanded feature翻译成待扩散特征更为合适。
SED模組的設計目標是克服SSR模組的限制。 SED模組透過特徵下取樣縮短遠距離特徵之間的空間距離,同時透過多尺度特徵融合恢復遺失的細節資訊。圖1(c)展示了一個具有兩個特徵尺度的SED模組範例。本模組首先採用步長為3的3x3 RS卷積進行特徵下取樣 (Down)。特徵下取樣之後,底部特徵圖中不連通的有效特徵被整合進中間特徵圖,與鄰近的有效特徵內。接著,透過在中間特徵圖上使用一個SSR模組提取特徵,來實現有效特徵之間的交互作用。最後,上取樣 (UP) 中間特徵圖以符合輸入特徵圖的解析度。值得注意的是,這裡僅上採樣樣特徵到輸入特徵圖中有有效特徵所對應的區域。因此,SED模組可以維持特徵圖的稀疏度。 SED模組的設計目標是克服SSR模組的限制。 SED模組透過特徵下取樣縮短遠距離特徵之間的空間距離,同時透過多尺度特徵融合恢復遺失的細節資訊。圖1(c)展示了一個具有兩個特徵尺度的SED模組範例。本模組首先採用步長為3的3x3 RS卷積進行特徵下取樣 (Down)。特徵下取樣之後,底部特徵圖中不連通的有效特徵被整合進中間特徵圖,與鄰近的有效特徵內。接著,透過在中間特徵圖上使用一個SSR模組提取特徵,來實現有效特徵之間的交互作用。最後,上取樣 (UP) 中間特徵圖以符合輸入特徵圖的解析度。值得注意的是,這裡僅上採樣樣特徵到輸入特徵圖中有有效特徵所對應的區域。因此,SED模組可以維持特徵圖的稀疏度。 SED模組的設計目標是克服SSR模組的限制
SED模組展示了一種具有三個特徵尺度的SED模組的具體實現方式。括號中的數字表示對應特徵圖的解析度與輸入特徵圖的解析度之比。 SED模組採用了不對稱的編解碼器結構,它利用編碼器提取多尺度特徵,並透過解碼器逐步融合提取的多尺度特徵。 SED模組採用RS卷積作為特徵下採樣層,並採用稀疏反捲積作為特徵上採樣層。透過使用編解碼器結構,SED模組促進了空間中不連通特徵之間的資訊交互,從而使模型能夠捕捉遠距離特徵之間的依賴關係。
圖2 SED和DED模組結構
另一方面,目前主流的3D點雲偵測器主要依賴物件中心特徵進行預測,但在稀疏卷積網路提取在的特徵圖中,物體中心區域可能存在空洞,尤其是在大物體上。為了解決這個問題,我們提出了DED模組,其結構如圖2(b)所示。 DED模組與SED模組具有相同的結構,它將SED模組中的SSR模組替換為密集殘差(Dense Residual, DR)模組,並將用於特徵下採樣的RS卷積替換為步長為2的DR模組以及將用於特徵上採樣的稀疏反捲積替換為密集反捲積。這些設計使得DED模組能夠有效地將稀疏特徵向物體中心區域擴散。
基於SED模組和DED模組,我們提出了層級編解碼器網路HEDNet。如圖3 所示,HEDNet透過一個3D稀疏主幹網路來提取高層稀疏特徵,接著透過2D密集主幹網路將稀疏特徵擴散至物件中心區域,最後將2D密集主幹網路輸出的特徵送入偵測頭進行任務預測。為了方便展示,圖中省略了特徵圖、和之後的特徵下採樣層。宏觀上,HEDNet採用了與SECOND類似的層級網絡結構,其特徵圖的分辨率逐漸降低;微觀上,HEDNet的核心組件SED模組和DED模組均採用了編解碼器結構。這就是HEDNet名字的由來。
圖3 HEDNet整體框架
#我們為什麼會想到要用編解碼器結構呢?實際上HEDNet是從我們的前序工作 CEDNet: A Cascade Encoder-Decoder Network for Dense Prediction (改名之前叫CFNet) 中啟發而來。有興趣可以去看我們的論文。
我們將HEDNet與先前領先的方法在綜合性能上進行了比較,結果如圖4所示。與基於大卷積核CNN的LargeKernel3D和基於Transformer的DSVT-Voxel相比,HEDNet在檢測精度和模型推論速度上均取得更優的結果。值得一提的是,與先前最先進的方法DSVT相比,HEDNet在取得更高檢測準確率的同時,在模型推斷速度上提升了50%。更詳細的結果請參見我們的論文。
圖4 在Waymo Open資料集上的綜合效能比較
混合檢測器,其結構如圖 5(a) 所示。這類方法在小範圍(<75米) 檢測場景上表現優異,但隨著感知範圍擴大,使用密集特徵圖的計算成本急劇增加,限制了它們在大範圍(>200米)檢測場景中的應用。一個可能的解決方案是透過移除現有混合檢測器中的密集特徵圖來建立純稀疏檢測器,但這會導致模型的檢測性能明顯下降,因為目前大多數混合檢測器依賴物體中心特徵進行預測,當使用純稀疏檢測器提取特徵時,大物體的中心區域通常是空的,這就是物體中心特徵缺失問題。因此,學習適當的物體表徵對於建立純稀疏偵測器至關重要。
圖5 混合偵測器、FSDv1和SAFDNet的結構對比為了解決物件中心特徵缺失問題,FSDv1 (圖5(b)) 首先將原始點雲分割為前景點和背景點,接著透過中心點投票機制對前景點進行聚類,並從每個聚類中提取實例特徵用於初始預測,最後再透過Group Correction Head進一步細化。為了減少手工提取實例特徵引入的歸納偏差,FSDv2採用虛擬體素化模組來取代FSDv1中的實例聚類操作。 FSD系列方法與CenterPoint等廣泛使用的偵測框架差異較大,並且引入大量超參數,導致在真實場景中部署這些方法面臨挑戰。與FSD系列方法不同,VoxelNeXt直接基於距離物體中心最近的體素特徵進行預測,但犧牲了檢測準確率。 那麼我們想要的純稀疏點雲偵測器是什麼樣的呢?首先,結構要簡單,這樣便於直接部署到實際應用中,一個直觀的想法是在目前廣泛使用的混合檢測器架構如CenterPoint的基礎上,做最小的改動來構建純稀疏檢測器;其次,在性能上至少要匹配目前領先的混合檢測器,並且能夠適用於不同範圍的檢測場景。圖6 SAFDNet整體框架
由於雷射雷達產生的點雲主要分佈在物體表面,使用純稀疏檢測器提取特徵進行預測將面臨物體中心特徵缺失問題。那麼檢測器能否在盡可能保持特徵稀疏度的同時,提取更接近或位於物體中心的特徵呢?一個直觀的想法是將稀疏特徵擴散到鄰近的體素內。圖6(a)展示了一個稀疏特徵圖的範例,圖中紅點表示物體中心,每一個方格代表一個體素,深橙色方格是幾何中心落在物體邊界框內的非空體素,深藍色方格是幾何中心落在物體邊界框外的非空體素,白色方格是空體素。每個非空體素對應一個非空特徵。圖 7(b) 是將圖 7(a) 中非空特徵均勻擴散到KxK (K取5) 的鄰域後得到。擴散所得的非空體素以淺橙色或淺藍色表示。
圖7 均勻特徵擴散和自適應特徵擴散示意圖
透過分析3D稀疏主幹網路輸出的稀疏特徵圖,我們觀察到:(a) 少於10%的體素落在物體的邊界框內;(b) 小物體通常在其中心體素附近或中心體素上有非空特徵。這項觀察結果表明,將所有非空特徵擴散到相同大小的領域內可能是不必要的,特別是對於小物體邊界框內和背景區域中的體素。因此,我們提出了一種自適應特徵擴散策略,該策略根據體素特徵的位置動態調整擴散範圍。如圖7(c) 所示,該策略透過為大物體邊界框內的體素特徵分配更大的擴散範圍來讓這些特徵更接近物體中心,同時透過為小物體邊界框內和背景區域中的體素特徵分配較小的擴散範圍來盡可能維持特徵稀疏度。為了實現此策略,需要進行體素分類(Voxel classification),以判別任意非空體素的幾何中心是否在特定類別物體的邊界框內或屬於背景區域。關於體素分類的更多細節請參考論文。透過使用自適應特徵擴散策略,偵測器能夠盡可能地保持特徵稀疏度,進而受益於稀疏特徵的高效計算。
我們將SAFDNet與先前最好的方法在綜合性能上進行了比較,結果如圖8所示。在檢測範圍較小的Waymo Open資料集上,SAFDNet和之前最好的純稀疏檢測器FSDv2以及我們提出的混合檢測器HEDNet取得相當的檢測準確率,但SAFDNet的推斷速度是FSDv2的2倍以及HEDNet的1.2倍。在檢測範圍較大的Argoverse2資料集上,與純稀疏檢測器FSDv2相比,SAFDNet在指標mAP上提升了2.1%,同時推斷速度達到了FSDv2的1.3倍;與混合檢測器HEDNet相比,SAFDNet在指標在mAP上提升了2.6%,同時推斷速度達到了HEDNet的2.1倍。此外,當偵測範圍較大時,混合偵測器HEDNet的顯存消耗遠大於純稀疏偵測器。綜上所述,SAFDNet適用於不同範圍的偵測場景,且效能優異。
圖8 主要實驗結果
SAFDNet是純稀疏點雲端偵測器的一種解決方案,那麼它是否有問題呢?事實上,SAFDNet只是我們關於純稀疏偵測器所設想的一個中間產物,筆者認為它過於暴力,也不夠簡潔優雅。敬請期待我們的後續工作!
HEDNet和SAFDNet的程式碼都已經開源,歡迎大家使用。奉上連結: https://github.com/zhanggang001/HEDNet
以上是CVPR\'24 Oral | 一覽純稀疏點雲偵測器SAFDNet的前世今生!的詳細內容。更多資訊請關注PHP中文網其他相關文章!