2024-06-20 重新定义端到端自动驾驶!SparseDrive:所有任务都超过现有SOTA(清华&地平线)

论文链接:https://arxiv.org/pdf/2405.19620
github链接: https://github.com/swc-17/SparseDrive

不得不说,地平线真的很喜欢在在sparse上做文章!之前开源的3D目标检测工作”Sparse4D”,无论是性能还是部署端的友好程度,都在业内不小的反响。这篇论文,地平线又通过稀疏的场景表达,实现端到端的自动驾驶,达到 SOTA。命名为”SparseDrive“!

在端到端火热起来之前,成熟的模块化自动驾驶系统被分解为不同的独立任务,例如感知、预测和规划,从而导致模块间信息丢失和错误累积。相比之下,端到端范式将多任务统一到一个完全可微分的框架中,从而允许以规划为导向进行优化。尽管端到端范式具有巨大潜力,但现有方法的性能和效率都不令人满意,特别是在规划安全方面。作者将其归因于计算成本高昂的 BEV 特征以及较为简单的预测和规划设计。为此,作者探索了稀疏表示并回顾了端到端自动驾驶的任务设计,提出了一个名为 SparseDrive 的新范式。具体点说,SparseDrive 由对称稀疏感知模块和并行运动规划器组成。稀疏感知模块将检测、跟踪和在线建图与对称模型架构统一起来,学习驾驶场景的完全稀疏表示。对于运动预测和规划,我们发现这两个任务之间的巨大相似性,从而为运动规划器提出了一个并行设计。基于这种将规划建模为多模态问题的并行设计,作者提出了一种分层规划选择策略,该策略结合了碰撞感知重新评分模块,以选择合理且安全的轨迹作为最终规划输出。凭借这种有效的设计,SparseDrive 在所有任务的性能上都实现 SOTA,同时实现了更高的训练和推理效率。

为什么要做?

为了充分利用端到端范式的潜力,作者回顾了现有方法的任务设计,并认为运动预测和规划之间有三个主要相似之处被忽略了:

  • 为了预测周围智能体和自车的未来轨迹,运动预测和规划都应考虑道路智能体之间的高阶和双向交互。然而,以前的方法通常采用顺序设计进行运动预测和规划,忽略了自车对周围智能体的影响。
  • 准确预测未来轨迹需要语义信息来理解场景,几何信息来预测智能体的未来运动,这适用于运动预测和规划。虽然这些信息是在周围智能体的上游感知任务中提取的,但对于自车却被忽略了。
  • 运动预测和规划都是具有内在不确定性的多模态问题,但以前的方法只预测规划的确定性轨迹。为此,我们提出了 SparseDrive,一种以稀疏为中心的范例,

如上图所示,SparseDrive 由对称稀疏感知模块和并行运动规划器组成。利用解耦的实例特征和几何锚点作为一个实例(动态道路智能体或静态地图元素)的完整表示,对称稀疏感知将检测、跟踪和在线地图任务与对称模型架构统一起来,学习完全稀疏的场景表示。在并行运动规划器中,首先从自我实例初始化模块获得语义和几何感知的自我实例。利用来自稀疏感知的自我实例和周围智能体实例,同时进行运动预测和规划,以获得所有道路智能体的多模态轨迹。为了确保规划的合理性和安全性,采用了结合碰撞感知重新评分模块的分层规划选择策略,从多模态轨迹提案中选择最终的规划轨迹。

通过上述有效的设计,SparseDrive 发挥了端到端自动驾驶的巨大潜力,如上图c 所示。我们的基础模型 SparseDrive-B 无需任何花哨的手段,就能将平均 L2 误差降低 19.4%,并将碰撞率降低到 71.4%。与之前的 SOTA(最先进)方法 UniAD 相比,我们的小型模型 SparseDrive-S 在所有任务中都取得了优异的性能,同时训练速度提高了 7.2 倍,推理速度提高了 5.0 倍。

工作的主要贡献总结如下:

  • 我们探索了端到端自动驾驶的稀疏场景表示,并提出了一种以稀疏为中心的范式 SparseDrive,它将多个任务与稀疏实例表示统一起来。
  • 我们修改了运动预测和规划之间的巨大相似性,相应地带来了运动规划器的并行设计。我们进一步提出了一种分层规划选择策略,其中包含一个碰撞感知重新评分模块,以提高规划性能。
  • 在具有 nuScenes 数据集上,SparseDrive 在所有指标方面都超越了之前的 SOTA 方法,尤其是安全关键指标碰撞率,同时保持了更高的训练和推理效率。

相关工作

多视角3D检测(Multi-view 3D Detection)

多视角 3D 检测是自动驾驶系统安全的先决条件。LSS 利用深度估计将图像特征提升到 3D 空间,并将特征分层到 BEV 平面。后续工作将 lift-splat 操作应用于 3D 检测领域,在准确率和效率方面取得了显着提升。一些工作预定义了一组 BEV 查询并将其投影到透视视图以进行特征采样。另一条研究路线消除了对密集 BEV 特征的依赖。PETR 系列引入了 3D 位置编码和全局注意力来隐式学习视图变换。Sparse4D 系列在 3D 空间中设置显式锚点,将它们投影到图像视图以聚合局部特征并以迭代方式细化锚点。

端到端跟踪(End-to-End Tracking)

大多数多目标跟踪 (MOT) 方法采用基于检测的跟踪方式,这种方式依赖于数据关联等后处理。这种流程无法充分利用神经网络的功能。一些工作引入了轨迹查询,以流式方式对跟踪实例进行建模。MOTR 提出了轨迹感知标签分配,这迫使轨迹查询不断检测相同的目标,并遭受检测和关联之间的冲突。Sparse4Dv3 证明时间传播的实例已经具有一致性,并通过简单的 ID 分配过程实现了 SOTA 跟踪性能。

在线建图(Online Mapping)

由于高清地图构建成本高昂且耗费大量人力,在线建图被提出作为高清地图的替代方案。HDMapNet将 BEV 语义分割与后处理相结合,以获得矢量化地图实例。VectorMapNet 利用两阶段自回归变换器进行在线地图构建。MapTR 将地图元素建模为等价排列的点集,避免了地图元素定义的歧义。BeMapNet 采用分段贝塞尔曲线来描述地图元素的细节。StreamMapNet 引入了 BEV 融合和查询传播进行时间建模。

端到端运动预测(End-to-End Motion Prediction)

端到端运动预测的提出是为了避免传统流程中的级联误差。FaF 采用单个卷积网络来预测当前和未来的边界框。IntentNet 更进一步,推理高级行为和长期轨迹。PnPNet引入了一个在线跟踪模块来聚合轨迹级特征以进行运动预测。ViP3D 使用智能体查询执行跟踪和预测,以图像和高清地图作为输入。PIP 用局部矢量化地图取代了人工注释的高清地图。

端到端规划(End-to-End Planning)

端到端规划的研究自上个世纪以来一直在进行。早期的论文省略了感知和运动预测等中间任务,这些任务缺乏可解释性并且难以优化。一些研究从感知或预测结果中构建显式损失图以增强可解释性,但依靠手工制作的规则来选择损失最低的最佳轨迹。最近,UniAD 提出了一种统一的查询设计,将各种任务集成到一个面向目标的模型中,在感知、预测和规划方面取得了显著的表现。VAD 采用矢量化表示进行场景学习和规划约束。GraphAD 利用图模型进行交通场景中的复杂交互。FusionAD 将端到端驾驶扩展到多传感器输入。然而,以前的方法主要侧重于场景学习,并采用简单的预测和规划设计,没有充分考虑这两个任务之间的相似性,极大地限制了性能。

具体怎么做?

模型概述

对称稀疏感知(Symmetric Sparse Perception)

并行运动规划器(Parallel Motion Planner)

如图 4 所示,平行运动规划器由三部分组成:自我实例初始化、时空交互和分层规划选择。

这样做有两个优点:

  • 最小特征图已经编码了驾驶场景的语义上下文
  • 密集特征图作为稀疏场景表示的补充,以防存在一些黑名单障碍物,而稀疏感知无法检测到这些障碍物。

端到端学习(End-to-End Learning)

Multi-stage Training:SparseDrive 的训练分为两个阶段。在阶段 1 中,我们从头开始训练对称稀疏感知模块,以学习稀疏场景表示。在阶段 2 中,稀疏感知模块和并行运动规划器一起训练,没有模型权重冻结,充分感受端到端优化的好处。

Loss Functions:损失函数包括四个任务的损失,每个任务的损失可以进一步分为分类损失和回归损失。对于多模态运动预测和规划任务,我们采用赢家通吃策略。对于规划,还有一个额外的回归损失用于自我状态。我们还引入深度估计作为辅助任务,以增强感知模块的训练稳定性。端到端训练的整体损失函数为:

做的怎么样?

我们的实验是在 nuScenes 数据集上进行的,该数据集包含 1000 个复杂的驾驶场景,每个场景持续约 20 秒。我们有两个模型变体,它们仅在主干网络和输入图像分辨率上有所不同。对于我们的小模型 SparseDrive-S,我们使用 ResNet50 作为主干网络,输入图像大小为 256×704。对于我们的基础模型 SparseDrive-B,我们将主干网络更改为 ResNet101,将输入图像大小更改为 512×1408。所有实验均在 8 个 NVIDIA RTX 4090 24GB GPU 上进行。

主要结果

我们与之前的最先进的模块化和端到端方法进行了比较。在端到端方法中,我们的轻量级模型 SparseDrive-S 在所有任务中都超越了之前的 SOTA,而我们的基础模型 SparseDrive-B 将性能界限又推向了更高一步。每个任务的主要指标在表格中以灰色背景标记。

Perception: 对于表 a 中的 3D 检测,SparseDrive 实现了 49.6% 的 mAP 和 58.8% 的 NDS,与 UniAD 相比,mAP 和 NDS 分别显著提高了 +11.6% 和 +9.0%。对于表 b 中的多目标跟踪,SparseDrive 实现了 50.1% 的 AMOTA,最低 ID 切换为 632,在 AMOTA 方面超过 UniAD +14.2%,ID 切换减少了 30.2%,显示了跟踪轨迹的时间一致性。对于在线建图任务,SparseDrive 的 mAP 为 56.2%,也比之前的端到端方法 VAD 高出 +8.6%。

Prediction:对于表 a 中的运动预测,SparseDrive 以 0.60m minADE、0.96m minFDE、13.2% MissRate 和 0.555 EPA 实现了最佳性能。与 UniAD 相比, SparseDrive 在 minADE 和 minFDE 上分别将误差降低了 15.5% 和 5.9%。

Planning:对于表 b 中的规划,在所有方法中,SparseDrive 实现了卓越的规划性能,最低的 L2 误差为 0.58m,碰撞率为 0.06%。与之前的 SOTA VAD 相比,SparseDrive 将 L2 误差降低了 19.4%,碰撞率降低了 71.4%,证明了我们方法的有效性和安全性。

Efficiency:如表3所示,除了出色的性能之外,SparseDrive 在训练和推理方面也实现了更高的效率。与 UniAD 相比,在相同的主干网络下,我们的基础模型在训练中实现了 4.8 倍的速度提升,在推理中实现了 4.1 倍的速度提升。我们的轻量级模型在训练和推理方面分别可以实现 7.2 倍和 5.0 倍的速度提升。

消融研究

我们进行了广泛的消融研究,以证明我们设计选择的有效性。我们使用 SparseDrive-S 作为消融实验的默认模型。

Effect of designs in Motion Planner。为了强调考虑预测和规划之间相似性的重要性,我们设计了几个特定的实验,如表 4 所示。

ID-2 通过将预测和规划的并行设计更改为顺序顺序,忽略了自车对周围智能体的影响,导致运动预测和碰撞率的性能下降。ID-3 随机初始化自我实例特征并将自我锚点的所有参数设置为 0。删除自我实例的语义和几何信息会导致 L2 误差和碰撞率的性能下降。ID-4 将规划视为确定性问题,并且只输出一个确定的轨迹,导致最高的碰撞率。此外,ID-5 删除了实例级智能体时间交叉注意力,将 L2 误差严重降低至 0.77m。

Collision-Aware Rescore。在之前的方法中,采用了后优化策略来确保基于感知结果的安全性。然而,我们认为这种策略打破了端到端范式,导致 L2 误差严重下降,如表 5 所示。此外,在我们重新实施的碰撞率指标下,后优化并没有使规划更安全,反而更危险。相比之下,我们的碰撞感知重新评分模块将碰撞率从 0.12% 降低到 0.08%,L2 误差几乎没有增加,显示了我们方法的优越性

Multi-modal planning。我们对规划模式的数量进行了实验。如表 6 所示,随着规划模式数量的增加,规划性能不断提高,直到 6 种模式饱和,再次证明了多模态规划的重要性。

之后还能做什么?

结论。在这项工作中,我们探索了稀疏场景表示并回顾了端到端自动驾驶领域的任务设计。由此产生的端到端范例 SparseDrive 实现了卓越的性能和高效率。我们希望 SparseDrive 的出色表现能够激励社区重新思考端到端自动驾驶的任务设计,并促进该领域的技术进步。

未来工作。我们的工作仍然存在一些局限性。首先,我们的端到端模型的性能仍然落后于单任务方法,例如在线建图任务。其次,数据集的规模不足以充分发挥端到端自动驾驶的潜力,开环评估不能全面代表模型性能。

参考

[1] SparseDrive: End-to-End Autonomous Driving via Sparse Scene Representation

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注


往期评论