自动驾驶可能是目前 AI 领域最让人兴奋的应用领域,近几年计算机视觉顶会出现了大量自动驾驶相关论文。激光雷达是自动驾驶车辆最常见的传感器,围绕点云数据的 3D 目标检测与多目标跟踪已经成为一大热门方向。
本文介绍一篇 ICCV 2021 收录的 3D 多目标跟踪论文:Exploring Simple 3D Multi-Object Tracking for Autonomous Driving,不同于常见的 tracking-by-detection 类方法,该文探索出了一种端到端的简单且精确的 3D 多目标跟踪范式。这种端到端的新方法,有望引领该领域的新研究。作者来自业内知名的自动驾驶公司轻舟智航、美国约翰霍普金斯大学。
论文标题:
Exploring Simple 3D Multi-Object Tracking for Autonomous Driving
论文链接:
https://arxiv.org/pdf/2108.10312.pdf
代码链接:
https://github.com/cuhksz-nlp/RE-AGCN
动机 3D 多目标跟踪是自动驾驶感知模块的关键技术,因而在近年来吸引了学术界和产业界的持续关注。 在 2D 多目标跟踪领域中,tracking-by-detection 是常用的跟踪方法,该方法首先在每一帧上得到检测框,然后匹配帧间的检测框来完成跟踪任务。基于这种方法,很多学者在研究如何更好地利用运动信息、外观特征来定义帧间检测框的匹配度。 对于 3D 多目标跟踪领域,tracking-by-detection 的方法更是居于主导地位。最近有一些论文研究如何基于已有的 3D 目标检测算法通过优化数据关联(data association)来提高跟踪器性能,比如AB3DMOT、CenterPoint、PnPNet等。 基于 tracking-by-detection 方法最大的弊端是,启发式匹配步骤(heuristic matching step)通常需要人工设计匹配规则和调试相关参数。这在实际的工程应用中带来了诸多困难: 1. 人工设计的规则受限于工程师的领域和先验知识,其效果往往不如基于数据驱动的方法好,后者可以通过机器学习从大量数据中自主学习发掘规律; 2. 调试匹配规则参数时,往往费时费力。比如在无人驾驶场景中需要检测和跟踪多种类别目标(车、行人、两轮车等等),手动调参时,需要针对每一类别进行特定调试; 3. 传统方法可扩展性比较差,容易重复劳动——这个数据场景调好的参数,可能在另一个数据场景效果不佳,需要重新调试。 论文标题中的“simple”即围绕以上三点,体现了轻舟智航非常注重底层技术能力,用“造火箭”替代“搭梯子” ,真正解决工程落地问题。 作者尝试在点云 3D 目标跟踪任务中去除启发式匹配步骤,如下图所示:
作者提出的方法 SimTrack,可以替换传统的 tracking-by-detection 模式,用于点云 3D 目标一体化检测和跟踪。该方法可以很方便地与基于 pillar 或者 voxel 的 3D 目标检测算法结合。SimTrack 将目标关联、dead object 清除、new-born object 检测集成在了一起,降低了跟踪系统的复杂程度。
总体结构 给定原始点云数据,首先使用 pillar 或 voxel 方法将其体素化(voxelize),然后使用 PointNet 提取每个 pillar 或 voxel 的特征,在 backbone 中使用 2D 或 3D 卷积操作得到鸟瞰图特征。在 detection head 中使用 centerness map 上的位置表示目标所在位置,除了输出 centerness map 外,detection head 还输出目标尺寸和朝向等信息。 算法的总体结构如下图所示: