论文地址:2311.11722 (arxiv.org)
代码地址:HorizonRobotics/Sparse4D (github.com)
在自动驾驶感知系统中,3D 检测和跟踪是两项基本任务。本文在 Sparse4D 框架的基础上更深入地探讨了这一领域。作者引入了两个辅助训练任务(Temporal Instance Denoising 【类似DN-DETR】和 Quality Estimation),并提出了解耦注意力以进行结构改进,从而显着提高检测性能。此外,作者使用一种简单的方法将检测器扩展到跟踪器中,该方法在推理过程中分配实例 ID,进一步突出了基于查询(query-based)的算法的优势。在nuScene基准测试上进行的广泛实验验证了本文提出的改进的有效性。以ResNet50为backbone,见证了 mAP、NDS 和 AMOTA 的提升 3.0%、2.2% 和 7.6%,分别达到 46.9%、56.1% 和 49.0%。本文最好的模型在nuScenes测试集上实现了 71.9% 的 NDS 和 67.7% 的 AMOTA。
在时序多视图感知研究领域,基于稀疏的算法已经取得了重大进展,达到了与基于密集BEV的算法相当的感知性能,同时提供了以下几个优势:
1) 自由视图转换。这些稀疏方法消除了将图像空间转换为 3D 矢量空间的需要。
2) 检测头的恒定计算负载,这与感知距离和图像分辨率无关。
3) 通过端到端方式更容易实现集成下游任务。
作者选择Sparse4Dv2作为实施改进的基线。该算法的整体结构如图1所示。图像编码器将多视图图像转换为多尺度特征图,而解码器模块则利用这些图像特征来优化实例并生成感知结果。
首先,作者观察到,与基于密集的算法相比,基于稀疏的算法在收敛方面遇到了更大的挑战,最终影响了它们的最终性能。这个问题在 2D 检测领域已经得到了彻底的研究,主要归因于使用一对一的正样本匹配。这种匹配方法在训练的初始阶段不稳定,并且与一对多匹配相比,还会导致正样本数量有限,从而降低了解码器训练的效率。此外,Sparse4D 利用稀疏特征采样而不是全局交叉注意力,由于正样本稀缺,这进一步阻碍了编码器的收敛。在 Sparse4Dv2中,引入了密集深度监督,以部分缓解图像编码器面临的这些收敛问题。
本文主要旨在通过关注解码器训练的稳定性来提高模型性能。作者将降噪任务作为辅助监督,并将降噪技术从 2D 单帧检测扩展到 3D 时序检测。它不仅确保了稳定的正样本匹配,而且显着增加了正样本的数量。此外,作者引入了质量评估任务作为辅助监督。这使得输出置信度分数更加合理,从而优化了检测结果排名的准确性,并产生了更高的评估指标。
此外,作者增强了 Sparse4D 中实例自注意力和时序交叉注意力模块的结构,引入了一种解耦的注意力机制,旨在减少注意力权重计算过程中的特征干扰。 如图 3 所示,当将锚点嵌入(anchor embedding)和实例特征(instance feature)相加,并作为注意力计算的输入时,生成的注意力权重中存在异常值的实例。这无法准确反映目标特征之间的相互关联,导致无法聚合正确的特征。通过用 concatening 替换 add,显著减少了这种错误现象的发生。这种增强与 Conditional DETR有相似之处。然而,关键的区别在于我们强调查询之间的注意力,而不是Conditional DETR,后者专注于查询和图像特征之间的交叉注意力。此外,本文的方法涉及一种独特的编码方法。
最后,为了提升感知系统的端到端能力,作者探索将 3D 多目标跟踪任务集成到 Sparse4D 框架中,实现物体运动轨迹的直接输出。与检测跟踪方法不同,这样做消除了数据关联和过滤的需要,将所有跟踪功能集成到检测器中。此外,与现有的联合检测和跟踪方法不同,本文的跟踪器不需要修改训练过程或损失函数。它不需要提供真值 ID,但可以实现预定义的 instance-to-tracking 回归。本文的跟踪实现最大限度地集成了检测器和跟踪器,不需要修改探测器的训练过程,也不需要额外的微调。
本文的贡献如下:
(1) 提出了 Sparse4D-v3,这是一个有效的 3D 感知框架,具有三种有效的策略:时序实例去噪、质量估计和解耦注意力。
(2) 将 Sparse4D 扩展为端到端跟踪模型。
(3) 展示了本文对 nuScenes 的改进的有效性,在检测和跟踪任务中实现了最先进的性能。
本文方法
网络结构和推理流程与 Sparse4Dv2相同(上方图片所示)
Temporal Instance Denoising
在3D检测任务中,通过时序实例去噪(Temporal Instance Denoising)来提高模型收敛稳定性和检测性能。具体内容包括:
-
2D到3D的扩展:将2D单帧去噪扩展到3D时序去噪,使用Sparse4D框架将实例(称为查询)解耦为隐式实例特征和显式锚点。
-
锚点初始化:在训练过程中,初始化两组锚点。一组是通过k-means方法均匀分布在检测空间中的锚点,作为可学习参数;另一组是通过向真实值(GT)添加噪声生成的锚点。
-
噪声生成:详细描述了如何生成带噪声的锚点,并解释了如何通过二分图匹配来确定正负样本,以避免误分配。
-
时序传播:将单帧噪声实例通过时序传播扩展到多帧,以更好地适应稀疏循环训练过程。在每一帧的训练中,随机选择噪声实例组投影到下一帧。
-
独立性保持:确保每组实例的相互独立性,避免噪声实例与正常实例之间的特征交互,从而避免潜在的歧义。
通过这些方法,作者旨在提高3D检测任务的性能和稳定性。
Quality Estimation
现有的基于稀疏的方法主要估计正样本和负样本的分类置信度,以衡量与真实值之间的一致性。优化目标是最大化地提高所有正样本的分类置信度。然而,不同正样本之间的匹配质量存在显著差异。因此,分类置信度不是评估预测边界框质量的理想指标。为了便于网络理解正样本的质量,一方面加速收敛,另一方面合理化预测排名,故而引入了预测质量估计的任务。
对于 3D 检测任务,使用以下公式定义两个质量指标:centerness 和 yawness
loss表示为:
Decoupled Attention
本文对 Sparse4D v2 中的 anchor 编码器、self-attention 和 temporal cross-attention 进行了简单的改进。该架构如图 5 所示。设计原则是以串联方式组合来自不同模态的特征,而不是使用加法方法。与 Conditional DETR 相比存在一些差异。首先,本文在查询之间的注意力机制上进行了改进,而不是在查询和图像特征之间的交叉注意力上;交叉注意力仍然利用了来自Sparse4D的可变形聚合方法。此外,本文不是在单头注意力级别连接位置嵌入和查询功能,而是在多头注意力级别进行外部修改,为神经网络提供了更大的灵活性。
Extend to Tracking
在 Sparse4D v2 的框架中,时序建模采用递归形式,将前一帧的实例作为输入投影到当前帧上。临时实例类似于基于查询的跟踪器中的跟踪查询,区别在于跟踪查询受更高阈值的限制,表示高度可信的检测结果。相比之下,本文的时序实例很多,其中大多数可能无法准确表示前几帧中检测到的对象。
为了在 Sparse4D v2 框架内从检测扩展到多目标跟踪,本文直接将实例从检测边界框重新定义为轨迹。轨迹包括每个帧的 ID 和边界框。由于设置了大量冗余实例,因此许多实例可能没有与精确的目标相关联,也没有被分配明确的 ID。尽管如此,它们仍然可以传播到下一帧。一旦实例的检测置信度超过阈值 T ,就会认为该实例被锁定到目标上并分配了一个 ID,该 ID 在整个时间传播过程中保持不变。因此,实现多对象跟踪就像将 ID 分配过程应用于输出感知结果一样简单。
跟踪过程中的生命周期管理由 Sparse4Dv2 中的 top-k 策略无缝处理,无需额外修改。具体细节可以在 算法 1 中参考。