VoxelNeXt
- 摘要
- 引言
- 方法
- Sparse CNN Backbone Adaptation
- Sparse Prediction Head
- 3D Tracking
- 实验
- 结论
摘要
3D物体检测器通常依赖于手工制作的方法,例如锚点或中心,并将经过充分学习的2D框架转换为3D。因此,稀疏体素特征需要通过密集预测头进行密集化和处理,这不可避免地需要额外的计算成本。在本文中,我们提出了VoxelNext来进行完全稀疏的3D物体检测。我们的核心见解是直接基于稀疏体素特征来预测对象,而不依赖于手工制作的方法。我们强大的稀疏卷积网络VoxelNeXt完全通过体素特征检测和跟踪3D物体。它是一个优雅而高效的框架,不需要稀疏到密集的转换或NMS后处理。我们的方法在nuScenes数据集上实现了比其他主机检测器更好的速度-精度权衡。我们首次证明了一个完全稀疏的基于体素的表示可以很好地用于LIDAR 3D目标检测和跟踪。在nuScenes、Waymo和Argoverse2基准测试上进行的大量实验验证了我们方法的有效性。我们的模型在nuScenes跟踪测试基准上优于所有现有的LIDAR方法。代码和模型可在github.com/dvlab-research/VoxelNeXt上获得。
引言
锚点和中心首先是为规则和网格结构的图像数据设计的,不考虑3D数据的稀疏性和不规则性。这种方法将3D稀疏特征转换为2D密集特征,从而为有序的锚点或中心构建密集的检测头。尽管有用,但这种密集的头部传统会导致其他限制,包括效率低下和管道复杂。
在图1中,我们将CenterPoint中的热图可视化[57]。很明显,很大一部分空间的预测分数几乎为零。由于固有的稀疏性和背景点多,只有少数点有响应,即nuScenes验证集中Car类的平均响应不到1%。然而,密集预测头根据密集卷积计算的要求对特征映射中的所有位置进行计算。它们不仅浪费了大量的计算,而且由于冗余的预测而使检测管道复杂化。它需要使用非最大抑制(NMS),如后处理来删除重复检测
在本文中,我们提出了VoxelNeXt。它是一个简单,高效,无后处理的3D物体检测器。我们设计的核心是一个体素到对象的方案,它通过一个强大的全稀疏卷积网络,直接从体素特征预测3D对象。
我们在图2中说明了主流3D探测器和我们的pipeline的区别。
高推理效率是由于我们的体素到目标方案避免了密集的特征映射。它只对稀疏和必要的位置进行预测,如表1所示,与CenterPoint[57]进行比较。这种表示也使得voxelnext可以很容易地扩展到使用离线跟踪器的3D跟踪。先前的工作[57]只跟踪预测的对象中心,这可能涉及到对其位置的预测偏差。在VoxelNeXt中,查询体素,即用于框预测的体素,也可以被跟踪以进行关联。
【NDS】在目标检测任务中,NDS(Normalized Detection Score)是一个综合评价指标,用于衡量模型在多种检测任务上的表现。NDS通常综合了多个指标,以便更全面地评估模型的性能。虽然具体的计算方式可能因不同的研究或竞赛而有所不同,但一般包括以下几个方面:
- mAP(mean Average Precision):平均精度的均值,通常是目标检测中最常用的评估指标,衡量模型在不同
- IoU(Intersection over Union)阈值下的检测精度。
- AP(Average Precision):对不同类别的目标分别计算平均精度,然后取其平均值。
- Precision(精确率)和Recall(召回率):精确率是正确检测出的正样本数占所有检测出样本数的比例,召回率是正确检测出的正样本数占所有实际正样本数的比例。
- IoU(Intersection over Union):预测框与实际框的交并比,用于衡量检测框的准确度。
- FPS(Frames Per Second):检测速度,表示模型每秒能处理的帧数。
NDS的具体计算公式可能会根据不同的任务和场景进行调整。例如,在自动驾驶中的目标检测任务中,NDS可能综合考虑不同类别的目标(如行人、车辆、交通标志)的检测精度和速度。
下面是一个假设的NDS计算示例:
NDS=α⋅mAP+β⋅Precision+γ⋅Recall+δ⋅FPS
其中,𝛼𝛽𝛾𝛿δ是权重系数,用于平衡不同指标的重要性。
总之,NDS作为一个综合指标,可以更全面地反映模型在目标检测任务中的整体性能,有助于选择和优化模型。
最近,FSD[16]利用了完全稀疏框架。受VoteNet[37]的启发,它对对象中心进行投票,并采用迭代细化。由于3D稀疏数据通常分散在物体表面上,因此这种投票过程不可避免地会引入偏差或误差。因此,需要改进,如迭代组校正,以确保最终的准确性。该系统因其对对象中心的强烈信仰而变得复杂。FSD[16]在大范围Argoverse2上很有前景,但其效率不如我们,如图3所示。为了证明VoxelNeXt的有效性,我们在nuScenes[3]、Waymo[45]、Argoverse2[52]数据集的三个大规模基准上评估了我们的模型。VoxelNeXt在这两个基准测试中都以高效的3D对象检测实现了领先的性能。它还具有最先进的3D跟踪性能。没有花哨的功能,它在所有仅使用激光雷达的nuScenes跟踪测试中排名第一[3]。
方法
点云或体素不规则分布,通常散布在3D对象的表面,而不是中心或内部。这促使我们沿着一个新的方向进行研究,直接基于体素而不是手工制作的锚点或中心来预测3D盒子。为此,我们的目标是进行最小的修改,使普通的3D稀疏CNN网络适应直接的体素预测。在下文中,我们将介绍骨干自适应(第3.1节)、稀疏头设计(第3.2节)和对3D对象跟踪的扩展(第3.3节)。
Sparse CNN Backbone Adaptation
额外下采样:具有足够感受野的强特征表示是确保对稀疏体素特征进行直接和正确预测的必要条件。尽管普通稀疏CNN骨干网已被广泛应用于3D对象检测器[12,41,57],但最近的工作表明了它的弱点,并提出了各种方法来增强稀疏骨干网,例如使用设计良好的卷积[7]、大核[8]和变换器[25,26,35]。
与所有这些方法不同,我们只使用额外的下采样层,尽可能少地进行修改来实现这一点。默认情况下,普通稀疏CNN骨干网有4个阶段,特征步长为{1,2,4,8}。我们分别将输出稀疏特征命名为{F1,F2,F3,F4}。此设置无法直接预测,特别是对于大型对象。**为了增强其能力,我们只需添加两个额外的下采样层,即可获得{F5,F6}的步幅为{16,32}的特征。**这一微小变化直接对扩大感受野产生了显著影响。我们结合了最后三个阶段{F4,F5,F6}到Fc的稀疏特征。它们的空间分辨率都与F4对齐。对于第i阶段,Fi是一组单独的特征fp。p∈Pi是3D空间中的一个位置,坐标为(xp,yp,zp)。该过程如图4所示。值得注意的是,这种简单的稀疏连接不需要其他参数化层。稀疏特征Fc及其位置Pc可通过下式获得:
我们在图5中可视化了有效感受野(ERF)。通过额外的下采样层,ERF更大,预测框更准确。它足够有效,几乎不需要额外的计算,如表2所示。因此,我们使用这种简单的设计作为骨干网。
稀疏高度压缩:[12,41,57]的3D对象检测器通过将稀疏特征转换为密集特征,然后将深度(沿z轴)组合到通道维度中,将3D体素特征压缩为密集的2D图。这些操作需要占用内存和计算空间。在VoxelNet中,我们发现2D稀疏特征对于预测是有效的。VoxelNeXt中的高度压缩是完全稀疏的。我们只是将所有体素放在地面上,并在相同的位置总结特征。它的成本不超过1ms。我们发现,对压缩的2D稀疏特征的预测成本低于使用3D稀疏特征的成本,如表5所示。压缩的稀疏特征Fc及其位置Pc可通过以下方式获得:其中S̄p={p|xp=x̄p,yp=ȳp,p∈Pc},包含放置在相同2D位置p上的体素。
**空间体素修剪:**我们的网络完全基于体素。3D场景通常包含大量冗余的背景点,对预测几乎没有好处。我们沿着下采样层逐渐修剪不相关的体素。遵循SPS Conv[32],我们抑制了特征量较小的体素的膨胀,如图6所示。
将抑制比设为0.5,我们仅扩展特征量|fp|(在通道维度上的平均值)排名前半的体素,如表3所示,体素修剪在不影响性能的情况下大大节省了计算。
Sparse Prediction Head
Voxel Selection:
图4显示了体素NeXt模型的详细框架。我们不依赖于密集特征图M,而是直接基于3D CNN骨干网络V∈RN×F的稀疏输出来预测对象。我们首先预测K类体素的分数,s∈RN×K。在训练过程中,我们将最靠近每个带注释的边界框中心的体素指定为阳性样本。我们使用Focal loss[31]进行监督。我们注意到,在推理查询过程中,体素通常不在对象中心。它们甚至不一定在边界框内,例如图9中的行人。我们在nuScenes验证集的表7中统计了查询体素的分布。
在推理过程中,我们通过使用稀疏最大池来避免NMS后处理,因为特征足够稀疏。类似于子流形稀疏卷积[19],它只对非空位置进行操作。这是基于预测的分数s,并针对每个班级单独进行的。我们采用稀疏最大池来选择具有空间局部最大值的体素。去除的体素将被排除在框预测中,这节省了头部的计算。
Box Regression
边界框直接从正或选定的稀疏体素特征v∈Rn×F回归。根据CenterPoint[57]中的协议,我们回归位置(∆x,y)∈R2,高度h∈R,三维尺寸s∈R3,旋转角度(sin(α),cos(α))∈R。对于nuScenes数据集或跟踪,我们通过任务定义对速度v∈R2进行回归。在训练期间,这些预测在L1损失函数下进行监督。对于Waymo数据集,我们还预测了IoU,并在IoU损失的情况下进行训练,以提高性能[22]。我们只需使用核大小为3的全连接层或3×3子流形稀疏卷积层进行预测,而无需其他复杂的设计。我们发现,3×3稀疏卷积比全连接层产生更好的结果,负担有限,如表6所示。
3D Tracking
我们的框架自然扩展到3D跟踪。CenterPoint[57]通过二维速度v∈R2跟踪预测的对象中心,该速度也受L1损失的监督。我们使用体素关联来包含更多与查询体素位置匹配的轨迹。
如图8所示,我们记录了用于预测每个框的体素的位置。与中心关联类似,我们计算L2距离进行匹配。查询位置是通过将其索引追溯到原始输入体素来选择的,而不是遍历8个位置。被跟踪的体素存在于输入数据中,其偏差小于预测的中心。此外,相邻帧之间的查询体素与框具有相似的相对位置。我们在表11中实证表明,体素关联改善了跟踪。
实验
结论
在本文中,我们提出了一种完全稀疏和基于体素的3D目标检测和跟踪框架。它技术简单,运行速度快,没有太多额外成本,并且在没有NMS后处理的情况下以优雅的方式工作。我们首次证明了基于体素的直接预测是可行和有效的。因此,基于规则的方案,例如锚或中心,以及密集的头部在我们的方案中变得不必要。VoxelNeXt在大规模数据集上展示了有前景的结果,包括nuScenes[3]、Waymo[45]和Argoverse2[52]。凭借其高效率,它在3D物体检测方面取得了领先的性能,并在nuScenes 3D跟踪激光雷达基准测试中排名第一。局限性理论FLOP和实际推理速度之间存在差距。VoxelNeXt的FLOP为38.7G,比CenterPoint的186.6G小得多[57]。实际的延迟减少很明显,但不如表1中的FLOP那么大,因为它在很大程度上取决于实施和设备。