论文地址:SparseDrive: End-to-End Autonomous Driving via Sparse Scene Representation
源代码:SparseDrive
摘要
传统的模块化自动驾驶系统被分解为不同的独立任务,例如感知、预测和规划,这导致了信息丢失和跨模块的误差累积。相比之下,端到端范式将多任务统一到一个完全可微分的框架中,允许以规划为导向进行优化。尽管端到端范式潜力巨大,但现有方法在性能和效率方面并不令人满意,特别是在规划安全性方面。我们认为这是由于计算成本高昂的 BEV(鸟瞰图)特征和直接的预测与规划设计。为此,我们探索了稀疏表示并回顾了端到端自动驾驶的任务设计,提出了一种名为 SparseDrive 的新范式。具体来说,SparseDrive 包括一个对称的稀疏感知模块和一个并行运动规划器。稀疏感知模块通过对称的模型架构统一了检测、跟踪和在线地图构建,学习驾驶场景的完全稀疏表示。对于运动预测和规划,我们回顾了这两个任务之间的相似性,导致运动规划器的并行设计。基于这种并行设计,将规划建模为多模态问题,我们提出了一种分层规划选择策略,其中包括一个避免碰撞的重新评分模块,以选择合理且安全的轨迹作为最终规划输出。通过这些有效的设计,SparseDrive 在所有任务的性能上都大大超越了以前的最先进方法,同时实现了更高的训练和推理效率
1 导言
传统的自动驾驶系统以顺序的模块化任务为特点。虽然这在解释和错误追踪方面有优势,但它不可避免地导致信息丢失和跨连续模块的累积错误,从而限制了系统的最佳性能潜力。
最近,端到端驾驶范式作为一项有前景的研究方向出现了。这种范式将所有任务集成到一个整体模型中,并且可以针对最终的规划追求进行优化。然而,现有方法在性能和效率方面并不令人满意。一方面,先前的方法依赖于计算成本高昂的 BEV(鸟瞰图)特征。另一方面,预测和规划的直接设计限制了模型性能。我们将先前的方法总结为图 1a 中的 BEV-Centric 范式。
图 1: 各种端到端范式的比较。(a) BEV中心范式。(b) 提出的稀疏中心范式。(c) 我们的方法与之前最先进方法[15]的性能和效率比较。
为了充分利用端到端范式的潜力,我们回顾了现有方法的任务设计,并认为三个主要的相似点在运动预测和规划之间被忽视了:(1) 旨在预测周围代理和自我车辆的未来轨迹,运动预测和规划都应该考虑道路代理之间高阶和双向的交互作用。然而,先前的方法通常采用顺序设计进行运动预测和规划,忽略了自车对周围代理的影响。(2) 准确的预测未来轨迹需要场景理解的语义信息和预测代理未来运动的几何信息,这适用于运动预测和规划。虽然这些信息在上游感知任务中为周围代理提取,但对于自车却被忽视了。(3) 运动预测和规划都是具有固有不确定性的多模态问题,但先前的方法只预测规划的确定性轨迹。
为此,我们提出了 SparseDrive,一个如图 1b 所示的 Sparse-Centric 范式。具体来说,SparseDrive 由一个对称的稀疏感知模块和一个并行运动规划器组成。通过解耦的实例特征和几何锚点作为实例(动态道路代理或静态地图元素)的完整表示,对称稀疏感知通过对称的模型架构统一了检测、跟踪和在线地图构建任务,学习驾驶场景的完全稀疏表示。在并行运动规划器中,首先从自我实例初始化模块获得语义和几何感知的自我实例。有了自我实例和来自稀疏感知的周围代理实例,运动预测和规划将同时进行,为所有道路代理获得多模态轨迹。为确保规划的合理性和安全性,应用了一个分层规划选择策略,其中包括一个避免碰撞的重新评分模块,以从多模态轨迹建议中选择最终规划轨迹。
通过上述有效的设计,SparseDrive 释放了端到端自动驾驶的巨大潜力,如图 1c 所示。没有花哨的装饰,我们的基线模型 SparseDrive-B 大幅降低了平均 L2 误差 19.4%(0.58 米 vs. 0.72 米)和碰撞率 71.4%(0.06% vs. 0.21%)。与以前的最先进方法 UniAD[15] 相比,我们的小型模型 SparseDrive-S 在所有任务中都取得了更优越的性能,同时训练速度提高了 7.2 倍(20 小时 vs. 144 小时),推理速度提高了 5.0 倍(9.0 FPS vs. 1.8 FPS)。
主要贡献总结如下:
-
我们探索了端到端自动驾驶的稀疏场景表示,并提出了一个名为 SparseDrive 的 Sparse-Centric 新范式,它通过稀疏实例表示统一了多个任务。
-
我们重新审视了运动预测和规划之间的相似性,相应地提出了运动规划器的并行设计。我们进一步提出了一个包含避免碰撞的重分模块的分层规划选择策略,以提升规划性能。
-
在具有挑战性的 nuScenes[1] 基准测试中,SparseDrive 在所有指标上都超越了先前的最先进方法,尤其是在安全性关键指标碰撞率方面,同时保持了更高的训练和推理效率。
2 相关工作
2.1 多视图3D检测
多视图3D检测是自动驾驶系统安全性的先决条件。LSS[42]利用深度估计将图像特征提升到3D空间,并将特征喷涂到BEV(鸟瞰图)平面。后续工作将提升-喷涂操作应用于3D检测领域,并在准确性[18, 16, 25, 24]和效率[37, 17]方面取得了显著改进。一些工作[26, 48, 21, 5]预定义了一组BEV查询,并将它们投影到透视图进行特征采样。另一系列研究消除了对密集BEV特征的依赖。PETR系列[35, 36, 47]引入了3D位置编码和全局注意力来隐式学习视角转换。Sparse4D系列[31, 32, 33]在3D空间中设置显式锚点,将它们投影到图像视图以聚合局部特征,并以迭代方式细化锚点。
2.2 端到端跟踪
大多数多目标跟踪(MOT)方法采用基于检测的跟踪方式,这依赖于数据关联等后处理。这样的流水线不能充分利用神经网络的能力。受到[2]中对象查询的启发,一些工作[52, 55, 50, 41, 46, 54]引入了轨迹查询来以流式方式建模跟踪实例。MOTR[52]提出了轨迹感知标签分配,这迫使轨迹查询持续检测同一目标,并遭受检测和关联之间的冲突[55, 50]。Sparse4Dv3展示了时间传播的实例已经具有身份一致性,并以简单的ID分配过程实现了最先进的跟踪性能。
2.3 在线地图构建
在线地图构建被提出作为高清地图的替代方案,因为高清地图构建的成本高昂且需要大量的人力。HDMapNet[23]将BEV语义分割与后处理结合起来,以获得矢量化地图实例。VectorMapNet[34]利用两阶段自回归transformer进行在线地图构建。MapTR[29]将地图元素建模为等价排列的点集,避免了地图元素定义的歧义。BeMapNet采用分段贝塞尔曲线描述地图元素的细节。StreamMapNet[51]引入了BEV融合和查询传播,用于时间建模。
2.4 端到端运动预测
端到端运动预测被提出以避免传统流水线中的级联错误。FaF[40]采用单一卷积网络来预测当前和未来的边界框。IntentNet[3]更进一步,推理高水平的行为和长期轨迹。PnPNet[28]引入了在线跟踪模块,以聚合轨迹级特征进行运动预测。ViP3D[10]采用代理查询执行跟踪和预测,以图像和高清地图作为输入。PIP[19]用局部矢量化地图替换了人工注释的高清地图。
2.5 端到端规划
端到端规划的研究自上个世纪以来一直在进行[43]。早期的工作[6, 7, 44]省略了像感知和运动预测这样的中间任务,这缺乏可解释性并且难以优化。一些工作[14, 4, 45, 8]从感知或预测结果构建了显式的代价图,以增强可解释性,但依赖手工制定的规则以最小的代价选择最佳轨迹。最近,UniAD[15]提出了统一查询设计,将各种任务整合到目标导向的模型中,在感知、预测和规划方面取得了显著的性能。VAD[20]采用矢量化表示进行场景学习和规划约束。GraphAD[56]利用图模型处理交通场景中的复杂交互。FusionAD[49]将端到端驾驶扩展到多传感器输入。然而,先前的方法主要关注场景学习,并采用直接的预测和规划设计,没有充分考虑这两个任务之间的相似性,大大限制了性能。
图 2: SparseDrive的概览。SparseDrive首先将多视图图像编码成特征图,然后通过对称稀疏感知学习稀疏场景表示,最后以并行方式执行运动预测和规划。设计了一个实例记忆队列用于时间建模。
3 方法
3.1 概述
SparseDrive的总体框架如图2所示。具体来说,SparseDrive由三部分组成:图像编码器、对称稀疏感知和并行运动规划器。给定多视图图像,图像编码器(包括主干网络和颈部网络)首先将图像编码为多视图多尺度特征图 𝐼={𝐼𝑠∈𝑅𝑁×𝐶×𝐻𝑠×𝑊𝑠∣1≤𝑠≤𝑆},其中S是尺度数量,N是摄像机视图数量。在对称稀疏感知模块中,特征图I被聚合成两组实例,以学习驾驶场景的稀疏表示。这两组实例分别代表周围代理和地图元素,被送入并行运动规划器与初始化的自我实例进行交互。运动规划器同时预测周围代理和自我车辆的多模态轨迹,并通过分层规划选择策略选择安全轨迹作为最终规划结果。
3.2 对称稀疏感知
图 3: 对称稀疏感知的模型架构,它以对称结构统一了检测、跟踪和在线地图构建。
如图3所示,稀疏感知模块的模型结构展示了结构对称性,统一了检测、跟踪和在线地图构建。
稀疏检测 周围代理由一组实例特征 𝐹𝑑∈𝑅^(𝑁𝑑×𝐶) 和锚框 𝐵𝑑∈𝑅^(𝑁𝑑×11) 表示,其中 𝑁𝑑 是锚点数量,C是特征通道维度。每个锚框都格式化为包含位置、尺寸、偏航角和速度:
稀疏检测分支由 𝑁𝑑𝑒𝑐 个解码器组成,包括一个非时间解码器和 𝑁𝑑𝑒𝑐−1 个时间解码器。每个解码器以特征图I、实例特征 𝐹𝑑 和锚框 𝐵𝑑 为输入,输出更新的实例特征和细化的锚框。非时间解码器以随机初始化的实例为输入,而时间解码器的输入来自当前帧和历史帧。具体来说,非时间解码器包括三个子模块:可变形聚合、前馈网络(FFN)以及用于细化和分类的输出层。可变形聚合模块在锚框 𝐵𝑑周围生成固定或可学习的键点,并将它们投影到特征图I上进行特征采样。实例特征 𝐹𝑑通过与采样特征的求和来更新,并负责在输出层预测分类分数和锚框的偏移。时间解码器还有两个额外的多头注意力层:时间实例之间的时间交叉注意力和当前实例之间的自注意力。在多头注意力层中,锚框被转换为高维锚嵌入 𝐸𝑑∈𝑅𝑁𝑑×𝐶,并作为位置编码。
在线地图构建 在线地图构建分支与检测分支共享相同的模型结构,但实例定义不同。对于静态地图元素,锚被格式化为具有 𝑁𝑝 个点的折线:
然后,所有地图元素都可以由地图实例特征 𝐹𝑚∈𝑅𝑁𝑚×𝐶 和锚折线 𝐿𝑚∈𝑅𝑁𝑚×𝑁𝑝×2 表示,其中 𝑁𝑚 是锚折线的数量。
稀疏跟踪 对于跟踪,我们遵循Sparse4Dv3[33]中的ID分配过程:一旦实例的检测置信度超过阈值 𝑇𝑡ℎ𝑟𝑒𝑠ℎ,它就被锁定到一个目标上,并被赋予一个ID,这个ID在整个时间传播过程中保持不变。这种跟踪策略不需要任何跟踪约束,从而为稀疏感知模块提供了一个优雅且对称的设计。
3.3 并行运动规划器
图 4: 并行运动规划器的模型结构,该结构同时进行运动预测和规划,并输出安全的规划轨迹。
如图4所示,平行运动规划器由三部分组成:自车实例初始化、空间时间交互和分层规划选择。
自车实例初始化 与周围代理类似,自车由自车实例特征 ∈和自车锚框 ∈ 表示。虽然以前的方法是将自车特征随机初始化,我们认为自车特征同样需要丰富的语义和几何信息来进行规划,类似于运动预测。然而,周围代理的实例特征是从图像特征图I聚合而来的,这对于自车是不可行的,因为自车在摄像头的盲区内。因此,我们使用前视摄像头的最小特征图来初始化自车实例特征:
这样做有两个优点:最小的特征图已经编码了驾驶场景的语义上下文,密集的特征图作为稀疏场景表示的补充,以防有些障碍物在稀疏感知中无法被检测到。
对于自车锚框 ,位置、尺寸和偏航角可以自然设置,因为我们知道这些自车的信息。对于速度,直接从真实速度初始化会导致自车状态泄露,如[27]所示。所以我们增加了一个辅助任务来解码当前的自车状态 ,包括速度、加速度、角速度和转向角。每一帧,我们都使用上一帧预测的速度作为自车锚速度的初始化。
空间时间交互 为了考虑所有道路代理之间的高层交互,我们将自车实例与周围代理连接起来,得到代理级实例:
由于自车实例是在没有时间线索的情况下初始化的,这对于规划很重要,我们设计了一个实例记忆队列,大小为 (+1)×𝐻 用于时间建模,H是存储帧的数量。然后执行三种类型的交互来聚合空间时间上下文:代理-时间交叉注意力、代理-代理自注意力和代理-地图交叉注意力。请注意,在稀疏感知模块的时间交叉注意力中,当前帧的实例与所有时间实例交互,我们称之为场景级交互。而在这里的代理时间交叉注意力中,我们采用实例级交互,使每个实例专注于自身的历史信息。
然后,我们预测多模态轨迹 𝜏𝑚∈𝑅^(×𝐾𝑚×𝑇𝑚×2),𝜏𝑝∈𝑅^(𝑁𝑐×𝐾𝑝×𝑇𝑝×2)和分数 ∈𝑅^(×𝐾𝑚),∈𝑅^(×𝐾𝑝),分别用于周围代理和自车,其中 𝐾𝑚 和 𝐾𝑝 分别是运动预测和规划的模态数量,𝑇𝑚 和 𝑇𝑝 分别是运动预测和规划的未来时间戳数量,是规划的驾驶命令数量。按照常见做法[15, 20],我们使用三种驾驶命令:左转、右转和直行。对于规划,我们还额外预测了当前自车状态,从自车实例特征中得到。
分层规划选择 现在我们有了多模态规划轨迹建议,为了选择一个安全的轨迹 𝜏𝑝∗来跟随,我们设计了一个分层规划选择策略。首先,我们选择一个对应于高级命令 cmd 的轨迹建议子集 𝜏(𝑝,𝑐𝑚𝑑)∈𝐾𝑝×𝑇𝑝×2。然后,采用新颖的避免碰撞重分模块来确保安全。有了运动预测结果,我们可以评估每个规划轨迹建议的碰撞风险,对于碰撞概率高的轨迹,我们降低这个轨迹的分数。在实践中,我们简单地将发生碰撞的轨迹分数设置为0。最后,我们选择分数最高的轨迹作为最终规划输出。
3.4 端到端学习
多阶段训练 SparseDrive的训练分为两个阶段。在第一阶段,我们从头开始训练对称稀疏感知模块,学习稀疏场景表示。在第二阶段,稀疏感知模块和并行运动规划器一起训练,没有冻结模型权重,充分享受端到端优化的好处。更多的训练细节提供在附录B.4。
损失函数 损失函数包括四个任务的损失,每个任务的损失可以进一步分为分类损失和回归损失。对于多模态运动预测和规划任务,我们采用胜者全拿策略。对于规划,还有额外的自我状态回归损失。我们还引入了深度估计作为辅助任务,以增强感知模块训练的稳定性。端到端训练的总体损失函数为:
更多关于损失函数的细节提供在附录B.3。
表1: nuScenes验证数据集上的感知结果。SparseDrive在所有端到端方法中的感知任务上均取得了最佳性能。†:使用官方checkpoint进行复现。
4 实验
我们的实验是在具有挑战性的nuScenes数据集上进行的,该数据集包含1000个复杂的驾驶场景,每个场景持续约20秒。每个任务的评估指标在附录A中有描述。我们有两个模型变体,它们只在主干网络和输入图像分辨率上有所不同。对于我们的小型模型SparseDrive-S,我们使用ResNet50作为主干网络,输入图像大小为256×704。对于我们的基线模型SparseDrive-B,我们将主干网络更换为ResNet101,输入图像大小更改为512×1408。所有实验都在8个NVIDIA RTX 4090 24GB GPU上进行。更多的配置细节提供在附录B。
4.1 主要结果
我们与之前的最佳方法进行了比较,包括模块化和端到端方法。在端到端方法中,我们的轻量级模型SparseDrive-S在所有任务上都超越了先前的最佳方法,而我们的基线模型SparseDrive-B进一步提升了性能界限。每个任务的主要指标在表格中的灰色背景中标记。
感知 在表1a的3D检测中,SparseDrive实现了49.6%的mAP和58.8%的NDS,与UniAD[15]相比,mAP和NDS分别显著提高了+11.6%和+9.0%。在表1b的多目标跟踪中,SparseDrive实现了50.1%的AMOTA,并且ID切换次数最低为632,与UniAD[15]相比,在AMOTA方面提高了+14.2%,并将ID切换次数降低了30.2%,显示了跟踪轨迹的时间一致性。在表1c的在线地图构建中,SparseDrive得到了56.2%的mAP,也比之前的方法VAD[20]提高了+8.6%。
表2:nuScenes验证数据集上的运动预测和规划结果。SparseDrive以较大优势超越了之前的方法。†:使用官方检查点进行复现。*:基于激光雷达的方法。
预测 在表2a的运动预测中,SparseDrive以0.60m的minADE、0.96m的minFDE、13.2%的Miss Rate和0.555的EPA取得了最佳性能。与UniAD[15]相比,SparseDrive在minADE和minFDE上分别降低了15.5%和5.9%的错误。
规划 在表2b的规划中,SparseDrive在所有方法中实现了显著的规划性能,L2误差最低为0.58m,碰撞率为0.06%。与之前的最佳方法VAD[20]相比,SparseDrive将L2误差降低了19.4%,将碰撞率降低了71.4%,证明了我们方法的有效性和安全性。
效率 如表3所示,除了出色的性能外,SparseDrive在训练和推理方面也实现了更高的效率。在相同的主干网络下,我们的基线模型与UniAD[15]相比,在训练和推理上分别快了4.8倍和4.1倍。我们的轻量级模型可以在训练和推理上分别达到7.2倍和5.0倍的加速。
表3:效率比较结果。SparseDrive在训练和推理方面都实现了高效率。UniAD的训练时间和FPS分别在8个和1个NVIDIA Tesla A100 GPU上测量。SparseDrive的训练时间和FPS分别在8个和1个NVIDIA Geforce RTX 4090 GPU上测量。
4.2 消融研究
我们进行了广泛的消融研究,以证明我们的设计选择的有效性。我们使用SparseDrive-S作为消融实验的默认模型。
运动规划器中的设计效果 为了强调考虑预测和规划之间相似性的重要性,我们设计了几个具体的实验,如表4所示。ID-2通过将预测和规划的并行设计改为顺序,忽略了自我车辆对周围代理的影响,导致运动预测和碰撞率的性能下降。ID-3将自我实例特征随机初始化,并将所有自我锚参数设置为0,移除了自我实例的语义和几何信息,导致L2误差和碰撞率的性能下降。ID-4将规划视为确定性问题,仅输出一个确定的轨迹,导致最高的碰撞率。此外,ID-5去除了实例级代理时间交叉注意力,严重降低了L2误差至0.77m。对于避免碰撞的重分,我们在下一段中有详细的讨论。
碰撞感知重分 在先前的方法[15, 56]中,采用了基于感知结果的后优化策略来确保安全。然而,我们认为这种策略破坏了端到端范式,导致L2误差严重下降,如表5所示。此外,根据我们重新实现的碰撞率指标,后优化并没有使规划更安全,反而更危险。相比之下,我们的碰撞感知重分模块将碰撞率从0.12%降低到0.08%,L2误差的增加可以忽略不计,展示了我们方法的优越性。
多模态规划 我们对规划模态的数量进行了实验。如表6所示,随着规划模态数量的增加,规划性能持续提高,直到在6个模态时饱和,再次证明了多模态规划的重要性。
表4:并行运动规划器中设计的消融。"PAL"表示运动预测和规划任务的并行设计;"EII"表示自我实例初始化;"MTM"表示规划的多种模式;"ATA"表示代理时间交叉注意力;"CAR"表示避免碰撞的重分
表5:碰撞感知重分和后优化的消融研究
表6:规划模态数量的消融研究
5 结论和未来工作
结论:在这项工作中,我们探索了端到端自动驾驶领域的稀疏场景表示,并回顾了任务设计。由此产生的端到端范式SparseDrive实现了显著的性能和高效率。我们希望SparseDrive的卓越性能能够激发社区重新思考端到端自动驾驶的任务设计,并推动这一领域的技术进步。
未来工作:我们的工作还存在一些限制。首先,我们的端到端模型的性能仍然落后于单一任务方法,例如在线地图构建任务。其次,数据集的规模不足以完全发挥端到端自动驾驶的潜力,开放环评估不能全面代表模型的性能。我们将这些问题留作未来的探索。
自动驾驶技术交流群:770744998
A 评估指标
评估检测和跟踪遵循标准的评估协议[1]。对于检测,我们使用平均精度(mean Average Precision, mAP)、平均误差的平移(mean Average Error of Translation, mATE)、尺度(Scale, mASE)、方向(Orientation, mAOE)、速度(Velocity, mAVE)、属性(Attribute, mAAE)和nuScenes检测分数(nuScenes Detection Score, NDS)来评估模型性能。对于跟踪,我们使用平均多目标跟踪精度(Average Multi-object Tracking Accuracy, AMOTA)、平均多目标跟踪准确率(Average Multi-object Tracking Precision, AMOTP)、召回率(RECALL)和身份切换(Identity Switches, IDS)作为指标。对于在线地图构建,我们计算车道分隔线、人行横道和道路边界三个地图类别的平均精度(Average Precision, AP),然后计算所有类别的平均值以得到平均平均精度(mAP)。对于运动预测,我们采用最小平均位移误差(minimum Average Displacement Error, minADE)、最小最终位移误差(minimum Final Displacement Error, minFDE)、缺失率(Miss Rate, MR)和端到端预测精度(End-to-end Prediction Accuracy, EPA)作为评估指标,这些指标与[10]中提出的对齐。运动预测基准与UniAD[15]对齐。
对于规划,我们采用常用的L2误差和碰撞率来评估规划性能。L2误差的评估与VAD[20]对齐。对于碰撞率,之前的[15, 20]实现存在两个缺点,导致规划性能评估不准确。一方面,先前的基准将障碍物边界框转换为占用地图,网格大小为0.5米,导致某些情况下出现虚假碰撞,例如自车接近小于单个占用地图像素大小的障碍物[53]。另一方面,假设自车的航向保持不变,没有考虑变化[27]。为了准确评估规划性能,我们通过轨迹点估计偏航角的变化情况,并在检查自车与障碍物边界框之间的重叠时评估碰撞的发生。我们使用官方检查点[15, 20]在我们的基准上复现规划结果,以进行公平比较。
B 实现细节
B.1 感知
对于稀疏感知模块,我们将解码器层数 𝑁dec 设置为6,包括1个非时间解码器和5个时间解码器。锚框 𝐵𝑑和锚折线 𝐿𝑚 的位置通过在训练集上使用K-Means聚类获得,其他锚框参数初始化为 {1,1,1,0,1,0,0,0}。每个地图元素由20个点表示。锚框 𝑁𝑑 和折线 𝑁𝑚 的数量分别设置为900和100,检测和在线地图构建的时间实例数量分别为600和33。跟踪阈值 𝑇thresh设置为0.2。对于检测,感知范围是一个半径为55米的圆。对于在线地图构建,感知范围是60米×30米纵向和横向。对于多头注意力,我们采用Flash Attention[9]以节省GPU内存。
B.2 运动规划器
实例记忆队列中的存储帧数 𝐻 设置为3。运动预测的模态数量 𝐾𝑚 和规划的模态数量 𝐾𝑝均设置为6。运动预测的未来时间戳数量 𝑇𝑚 和规划的未来时间戳数量 𝑇𝑝 分别设置为12和6。在运动规划器中进行空间时间交互后,我们使用多层感知器(MLP)解码当前帧的自我状态 𝐸𝑆𝑇 与自我特征 𝐹𝑒:
对于多模态轨迹和分数,我们使用K-Means聚类获得先前的意图点,并将其转换为运动模式查询 𝑀𝑄𝑚 和规划模式查询 𝑀𝑄𝑝,然后添加模式查询与代理实例特征,使用MLP解码轨迹和分数:
在避免碰撞重分模块中,我们使用运动预测中两个最有信心的轨迹来确定自车是否会与周围障碍物发生碰撞。
B.3 损失函数
对于感知,匈牙利算法被用来匹配每个真实值与一个预测值。检测损失是分类的Focal损失和边界框回归的L1损失的线性组合:
由于在ID分配过程中没有跟踪约束,我们没有轨迹损失。在线地图构建损失与检测损失类似:
对于深度估计,我们使用L1损失进行回归:
对于运动预测和规划,我们计算多模态输出和真实轨迹之间的平均位移误差(ADE),ADE最低的轨迹被视为正样本,其余为负样本。对于规划,还额外预测了自我状态。我们还使用分类的Focal损失和回归的L1损失:
B.4 训练细节
我们使用AdamW优化器[39]和余弦退火[Cosine Annealing][38]调度器进行模型训练。训练超参数列在表7中。
C 可视化
Figure 5: Visualization results. SparseDrive learnes different turning modes at intersections.
Figure 6: Visualization results. SparseDrive learns to yield to moving agents or avoid collision with obstacles.