预测附近车辆的多个可能的未来轨迹对于自动驾驶的安全至关重要。最近的运动预测方法试图通过隐式正则化特征或显式生成多个候选方案来实现这种多模态运动预测。然而,它仍然具有挑战性,因为潜在特征可能集中在最频繁的数据模式上,而基于提议的方法在很大程度上依赖于先验知识来生成和选择提议。在这项工作中,我们提出了一种新的多模态运动预测变压器框架,称为mmTransformer。设计了一种基于堆叠变压器的新型网络结构,通过一组固定的独立方案在特征级对多模进行建模。然后,开发基于区域的训练策略,以诱导生成建议的多模态。在Argoverse数据集上的实验表明,该模型在运动预测方面达到了最新水平,大大提高了预测轨迹的多样性和准确性。演示视频和代码可在https://decisionforce.github.io/mmTransformer
预测附近车辆的未来轨迹对于自动驾驶汽车系统了解周围环境并做出信息决策至关重要。 多模态预测旨在生成目标车辆的多个似是而非的轨迹,在处理运动预测中的不确定性和提高运动规划的安全性方面起着关键作用。 由于未来事件的不确定性,交通车辆即使在同一场景下也可能表现不同。 然而,在每个驾驶场景中只收集了一个地面实况轨迹。 因此,实现多模态预测的一个挑战在于如何学习以有限的训练样本覆盖给定场景中的所有可能结果。
最近的运动预测方法主要遵循概率方法 [20, 17, 30] 或基于提议的方法 [35, 28, 5, 11] 来解决上述问题。 概率方法通过将潜在的可能模型定义为潜在变量来隐式模拟轨迹的不确定性。 他们要么使用以不同潜在变量为条件的生成器来实现多模态预测,要么直接约束概率分布(例如 GMM)上的输出以获得不同的结果。
这些方法在很大程度上依赖于预定义的先验分布和精心设计的损失函数,这可能容易出现优化不稳定性和模式崩溃问题。 与通过对模态的潜在分布进行建模来生成多模态输出的概率方法不同,基于提议的方法 [11, 35, 5, 27] 以另一种方式执行,首先将候选点或轨迹定义为提议,然后回归或 将这些建议归类为基本事实。 通过预定义的建议,这些方法减轻了优化负担并缩小了解决方案的可行空间。 尽管这些方法取得了良好的性能,但它们仍然存在以下两个问题:1)由于采用启发式方法对候选点进行采样,因此结果在很大程度上依赖于预定义锚点的质量。 2)无法保证多模态预测,因为在训练期间仅提供一个基本事实不能很好地捕捉轨迹预测的多模态性质。
在这项工作中,我们提出了一种新颖的端到端多模态运动预测框架,称为 mmTransformer,其中提议首先随机初始化,然后细化以包含上下文信息。 mmTransformer 是基于 Transformer 架构设计的,它被证明在对序列数据建模方面是有效的。 整个模型可以看作是堆叠的 Transformer,其中过去的轨迹、道路信息和社交互动与多个 Transformer 编码器解码器模块分层聚合。 整个交通场景的两个多模态预测示例如图 1 所示。
我们开发了两种新机制来改善相同特征带来的单峰效应。 首先,我们将轨迹提议机制引入到运动预测领域。 具体来说,mmTransformer 解码器中的查询被表示为轨迹提议,它渐近地聚合来自编码器的多个上下文信息通道,并进行独立预测。 由于这些提议彼此正交,因此每个提议都将带有定制的特征,从而促进了多样性和多模态。 其次,开发了一种基于区域的训练策略 (RTS) 来明确确保多模态,从而协商真实情况的唯一性与预测的多模态性质之间的冲突。 我们将周围空间划分为几个区域,并将轨迹建议分组为不同的集合,每个集合分配给一个区域。 在训练期间,只有分配给地面实况所在区域的提议集才会用于优化框架。 这种新策略强制单个提案专注于特定模式,而不会影响其他提案学习的潜在特征。
本文的贡献总结如下:
(1) 据我们所知,mmTransformer 是第一个使用堆叠变换器进行轨迹建议以聚合多个上下文信息通道并实现多模态预测的模型。
(2) 为了保持运动预测的多模态特性,我们设计了一种新颖的基于区域的训练策略,以确保每个单独的建议都能够捕获特定的模式。
(3) 大量实验表明,所提出的模型架构和量身定制的基于区域的训练策略带来了实质性的改进。我们的模型在 2020 年 11 月 16 日的 Argoverse 基准排行榜上排名第一,并且在排行榜上保持竞争力。
图1. 复杂驾驶场景中的多模式运动预测示例。对于靠近ego车辆的每辆移动车辆,所提出的模型预测了三条可能的未来轨迹。
运动预测 最近,基于深度学习的方法已广泛用于运动预测 [1, 15, 8, 2, 11]。典型的管道是首先通过光栅化 [10, 34] 或向量化 [7, 22, 12] 周围信息来创建输入表示,然后使用深度神经网络(例如,CNN、长短期记忆(LSTM)、图神经网络) network[33, 16]) 来提取信息特征。最后,轨迹由模型 [12] 直接生成或基于先验知识 [11, 35, 5]。
为此,运动预测方法大致可以分为两类:基于特征的方法和基于提议的方法。对于第一种方法,他们大多侧重于如何从环境中提取有用的信息。 CNN Encoder-Decoder 在 [33] 中提出,用于从车辆过去的位置和方向中提取特征,并直接回归未来的位置。图神经网络 [22] 的出现是为了解决场景不能轻易用像素矩阵或简单向量表示的问题。 SoPhie [29] 利用了从物理环境、注意力机制和对抗性训练中提取的特征。然而,对于这些基于特征的方法,很难保证模型的多模态预测。对于另一种模型[35,28,5,11],首先根据先验知识和候选点生成候选轨迹集,然后通过设计的代价函数或后处理优化和减少这些候选轨迹以获得最终的预言。尽管这些方法成功地对多模态建模,但仍有许多未解决的问题。由于这些方法侧重于预测轨迹或候选者的操纵,因此通常会忽略潜在特征的含义,这可能会损害模型的稳定性。因此,性能将受到作者先前假设的稳健性的显着影响。
与上面不同的是,我们的模型在特征和建议级别都实现了多模态预测。基于区域的训练策略进一步细化了提议,减少了提议的相关性,保证了预测轨迹的多样性。同时,通过在训练过程中将模态明确地考虑到提案中,mmTransformer 具有更可解释的管道。
变压器 Transformer 是一种新颖的基于注意力的方法,在 [31] 中首次引入。它已成功部署在多个应用程序中(例如,神经机器翻译和图像字幕生成 [9, 25])。
Transformer 最重要的部分是自注意力机制。 Transformer 中注意力机制的优势在于它能够通过考虑整个上下文来学习高质量的特征。轨迹预测领域的一些最新方法在序列和交互建模中采用了注意力机制 [21, 13, 26]。例如,引入了一个交互转换器 [21] 来模拟交通车辆之间的交互。 Ind-TF [13] 用 vanilla 变换器代替 RNN 来模拟轨迹序列。与这些使用变换器作为特征提取器一部分的方法不同,在我们的案例中使用完全基于变换器的架构来解决多模态运动预测问题。
图2.mmTransformer概述:拟议的mmTransformer使用堆叠式变压器作为主干,聚合固定轨道提案的上下文信息。建议特征解码器分别通过轨迹生成器和选择器对每个建议特征进行解码,从而进一步生成轨迹和相应的置信度分数。此外,轨迹发生器和轨迹选择器是两个前馈网络,其结构与变压器中的FFN相同[31]。详细的网络架构见附录。
运动预测旨在根据场景中交通车辆的历史轨迹以及道路和交通信息等其他上下文信息,准确预测目标车辆的未来运动。为了解决多模态运动预测问题,我们首先学习一个包含各种提议特征 y ∈ Y 的特征集 Y。每个 y 都是从 Fθ(x) 生成的,其中 x 是场景信息,涉及运动历史和周围环境。使用一组提议特征,我们可以通过 Gφ(y) 生成多个未来轨迹 S = {si ∈ R T×2 : 1 ≤ i ≤ K},其中 T 表示未来的视野,K 表示预测的总数。此外,预测集 S ⊂ S 其中 S 是可能 S 的整个空间,并且 Fθ(·) 和 Gφ(·) 分别由 θ 和 φ 参数化。
我们的目标是构建一组合适的提议特征 Y ⊂ Y 以确保准确性和多模态。因此,我们引入了一种新颖的 mmTransformer 来获取信息性建议,然后应用基于区域的训练策略来确保建议的多模态。
3.1. Stacked Transformers Transformer
在处理顺序数据方面表现出色。为了将变换器应用于轨迹预测,我们需要扩展模型以包含各种上下文信息,因为普通变换器仅支持编码单一类型的数据(例如,语言变换器中的语料库标记 [9],以及视觉转换器中的图像 [4])。一个简单的解决方案是将所有类型的输入(例如过去的轨迹和车道信息)连接到一系列上下文嵌入中,并将它们输入到转换器中。由于变压器需要固定大小的输入,简单的解决方案将消耗大量资源。此外,由于不同类型的信息将在此类设计中复合并由注意力层聚合,因此潜在特征的质量可能会受到影响。因此,我们考虑单独合并多个信息渠道的替代方案。
在不同输入的情况下,挑战在于如何将多路信息作为输入合并到变压器中。我们建议将转换器解码器的查询定义为轨迹建议,为我们的多模态轨迹预测任务量身定制。该设计的灵感来自 [4] 中使用的变压器的并行版本。
它的优势在于并行轨迹提议可以独立地整合来自编码器的信息,允许每个单独的提议携带解开的模态信息。堆叠架构通过多个定制的特征提取器适应多输入环境,分层集成不同的上下文信息。
具体来说,堆叠变换器的结构分别由三个独立的变换器单元、运动提取器、地图聚合器和社会构造器组成,每个单元都将来自前一个变换器的更新轨迹提议作为其解码器的输入来改进提议。该框架如图 2 所示。
为简单起见,变压器模块保留了 [4] 中介绍的结构。由于转换器解码器是置换不变的,K 个提议必须彼此不同,以表示不同的模式并生成不同的轨迹。在转换器模块的每个解码器层之前添加学习的位置编码。我们将在下面更详细地说明这三个组件。
运动提取器 运动提取器的编码器输入是观察车辆的历史轨迹,如 H = {hi ∈ R Tobs×2 : 1 ≤ i ≤ Nvehicle},其中 Nvehicle 是观察车辆的数量,包括目标车辆,Tobs 是历史观察的长度。解码器的输入是轨迹提议 Y = {yi ∈ R n : 1 ≤ i ≤ K}, textcolorred 由一组可学习的位置编码初始化,每个编码的特征大小为 n。解码器的输出可以被视为提议特征。
需要注意的是,所有观察到的车辆共享相同的运动提取器架构,地图聚合器也相同
地图聚合器 由于车辆的行为在很大程度上取决于地图的拓扑结构,例如道路结构,我们利用此转换器融合来自高清地图的几何和语义信息,以细化输入建议的特征。在[12]之后,我们将每个中心线段编码为矢量化表示,并使用[12]中的子图模块来处理每个矢量化折线。之后,折线的潜在特征被馈送到地图聚合器以显式建模场景。受益于 Transformer 内部编码器-解码器注意力模块的可解释性,该提案可以根据其预先分配的模态检索相应的地图特征。
社会建设者 与之前的 Transformer 不同,社会构造函数在所有观察到的车辆中对车辆特征进行编码,旨在对它们之间的交互进行建模。特别是,每个观察到的车辆的车辆特征是通过多层感知(MLP)汇总每个车辆的所有建议来获得的。车辆特征也可以被视为每个交通车辆未来运动的分布。由于我们的目标是预测目标车辆的未来轨迹,我们只利用社会构造函数的解码器来更新目标车辆的提议,而不是所有车辆,以追求更高的效率。
总的来说,我们框架背后的动机是建立内部数据的内在关系(例如,使用地图聚合器的编码器提取地图拓扑),并渐近地集成来自不同编码器的上下文信息以更新每个建议并突出其预先指定的模式。
直观地,堆叠变压器可以分为两部分。第一部分仅通过运动提取器和地图聚合器单独对每个车辆的信息进行编码,不涉及任何交互信息。然后应用社会构造函数来聚合附近的信息并对所有车辆之间的依赖性进行建模。因此,顺序在逻辑上是连续的,即社会关系应该基于个体车辆特征来构建。此外,其他变换器的顺序已通过表 2 中所示的实验结果进行了实证验证。基于这种堆叠架构,我们的模型可以捕获上下文信息与确保多模态预测的各种提议特征之间的潜在联系。
3.2. Proposal Feature Decoder
最终的Proposal Feature Decoder 包含两个分支,即用于轨迹预测的Trajectory Generator 和用于Proposal score 的Trajectory Selector 分支。对于 K 个目标提议中的每一个,我们应用三层 MLP G(·) 来生成如下预测,S = {si ∈ RT×2 : si = G(yi ), yi ∈ Y, 1 ≤ i ≤ K} (1) 其中 yi ∈ Y 是由社会构造函数生成的第 i 个提议特征,s 是预测轨迹的张量,T 是未来时间步的数量。
对于评分,我们应用具有与回归分支相同结构的 MLP W(·) 来为每个轨迹建议生成 K 个置信度分数。
公式(2)
3.3.基于区域的训练策略
如之前的工作 [35] 所示,所有轨迹建议的直接回归导致模式平均问题,这阻碍了模型的多模态特性。
克服模式平均问题的一种可行解决方案是仅使用具有最小最终位移误差的建议来计算回归损失和分类损失。我们将其称为原版训练策略。
虽然我们的模型在使用 6 个轨迹建议的训练策略下取得了有竞争力的结果,但由于使用了少量建议,预测结果仅限于真实轨迹周围的局部区域。然而,当我们试图增加提案数量以提高多样性时,就会出现模态崩溃问题。
为了解决 vanilla 训练策略的局限性,我们提出了一种称为基于区域的训练策略 (RTS) 的新训练策略,该策略根据地面实况端点的空间分布将轨迹建议分组为多个空间集群,并优化框架以改进每个集群内的预测结果。
该策略如图3所示。对于每个场景,我们首先旋转场景,使目标车辆的航向与+y轴对齐,并使所有坐标以目标车辆的最后一个观察点为中心。
在此基础上,将目标车辆的样本空间划分为M个区域,每个区域之间没有重叠。
区域形状和区域编号的详细分析如第4.3节所示,分区程序如附录所示。然后,我们将mmTransformer的全部K个方案平均分为M个部分,每个部分分配到一个特定区域。因此,每个区域将拥有N个单独的提案,其中N=K/M。值得注意的是,我们工作中的预处理确保所有样本可以共享同一分区
3.4训练
由于所有模块都是可微的,我们的框架产生了完全监督的端到端训练。 我们模型的最终损失由回归损失、评分损失和多任务学习的辅助损失组成。 它们分别是用于回归的 Huber 损失、用于评分轨迹的 KL 散度和用于区域分类的辅助损失。 损失明细如下:
回归损失。 Lreg 是每步坐标偏移上的 Huber 损失。
公式(3)
其中 s i 是提议特征解码器生成的第 i 个预测轨迹,s gt 是真实轨迹。
**置信度损失。**为了给每个轨迹分配一个置信度分数,我们遵循 [35] 通过最大熵模型解决轨迹预测的评分问题,
公式(4)
其中 Yregion ⊂ Y 是由基于区域的训练策略从 Y 中选择的提议特征的子集。
公式(5)
其中每个预测轨迹 si 的 D(si) 由其端点到地面实况端点的 L2 距离定义,D(si , sj) = ksi,T − sj,Tk2 。
公式(6)
由于我们希望预测分数的分布接近等式 5 中计算的目标分布,因此我们使用 Kullback-Leibler Divergence 作为损失函数。
分类损失。 我们引入了区域分类损失以确保模型可以识别正确的区域。 当提议数 K 较大时,我们发现使用这种辅助损失 Lcls 有助于正则化置信损失,从而加速 mmTransformer + RTS 的收敛。 Lcls 的详细信息在附录中提供。
中间层损失。 为了加速训练过程,我们在社会构造函数的每个解码器层之后添加了 Proposal Feature Decoder 和上述损失的组合。
总体损耗。 由于总损失函数可以被视为多个不同任务的总和,我们在 [18, 23] 中使用多任务学习方法来平衡它们。
公式(7)
其中 σi , i ∈ {1, 2, 3} 是可学习的损失权重。
3.5. 推理
在推理过程中,所有 K 个提议都用于生成最终结果。 为了合并多模态预测,受非极大值抑制算法启发的选择算法用于基于端点的欧几里德距离拒绝接近重复的轨迹(详细过程可以在附录中找到)。
4.1.实验设置数据集。
我们在 Argoverse 运动预测基准 [6] 上进行实验,其中涉及 340k 5s 长轨迹序列和相应的上下文信息。 这些序列分别分为 205,942 个训练、39,472 个验证和 78,143 个测试用例。 给定 2 秒的历史轨迹和上下文作为输入,目标是预测目标车辆在接下来的 3 秒内的未来运动。 对于每个场景,本地地图信息都可以表示为来自 HD 地图的一组基于中心线的折线。 此外,还包括相邻车辆和自驾车的过去轨迹和位置,以便对它们之间的交互进行建模。
指标。 我们根据广泛使用的平均位移误差 (ADE) 和最终位移误差 (FDE) 来评估我们的模型。 由于轨迹预测的多模态特性,还按照 Argoverse 基准的评估标准报告了前 K 个(K=6)轨迹的 minADE、minFDE 和未命中率(MR)。
4.2. 结果
我们将我们的模型与 Argoverse 测试集中的最新方法进行了比较。 表 1 中不同方法的分数是在 CVPR 提交截止日期(16/11/2020)之前从 Argoverse 排行榜中提取的。
如表 1 所示,我们包括了使用普通 mmTransformer 和 mmTransformer 模型训练的结果即时通讯。 它表明我们的模型在所有指标方面都达到了最佳性能,这表明我们的方法能够通过使用堆叠变换器来学习高质量的建议特征,并通过使用 RTS 获得有希望的多模态结果。 与没有 RTS 的 6-proposal mmTransformer 相比,我们观察到在带有 RTS 的 36-proposal mmTransformer 中 minADE 和 minFDE 略有下降。 正是大量的提案导致了 minADE 和 minFDE 的下降。
我们以 36-proposal mmTransformer 的结果为例解释原因:受最终输出的固定数量 (6) 的限制,我们在后处理期间丢弃冗余候选提案以保留多样性(即 MR)。 作为副作用,GT 区域中选择的提议数量减少,这可能会损害准确性,即 minFDE 和 minADE。 我们认为这是准确性和多样性之间的权衡。 此外,后处理导致的准确率下降是机器学习社区 [3] 中的一个常见问题,尤其是在从大型候选集中选择最终预测时。
多模态运动预测的可视化。 在图 4 中,我们展示了 mmTransformer 在 Argoverse 验证集上的多模态预测结果。 我们可以看到 mmTransformer 生成的轨迹涵盖了每个驾驶场景中所有可能的模式。 尽管 mmTransformer 本身能够使用轨迹建议做出合理的预测(第 1,2 列),但在更具挑战性的场景(第 3,4 列)中,它无法实现与 mmTransformer+RTS 相当的性能,因为模态可能集中在特定区域。
4.3. 消融研究
我们首先进行消融研究以分析模型中每个组件的重要性。 然后,我们评估两种不同的分区方法,K-means 和手动分区。 我们最终测量了区域 M 的数量和每个区域 N 中的提案数量对 mmTransformer+RTS 的影响。
每个变压器模块和 RTS 的重要性。 到分析mmTransformer中每个组件的重要性,我们比较了几个模型在Argoverse验证集上的结果。 我们将 mmTransformer 中的运动提取器视为基线模型,并逐步添加其他转换器模块以聚合上下文信息,并利用 RTS 来鼓励多模态预测。 观察结果可以从表 2 中所示的实验结果中得出。
首先,所有结构组件都有助于框架的性能。 我们观察到,通过应用所有变压器模块(第 1-4 行),MR 从 23.3% 提高到 10.6%。 通过每个模块捕获和合并上下文信息,模型可以更全面地了解场景。 例如,地图聚合器捕获的地图信息带来了有用的道路特征(例如车道线的布局),这有利于整体性能(从 23.3% 到 14.4%)。 此外,带有地图聚合器和社交构建器的模型进一步将 MR 提升到 10.6%。 需要注意的是,由于不同上下文信息之间的逻辑关系,我们将这些模块分层堆叠而不是遵循并行设计。
此外,RTS 通过增加提议的数量来促进多模态预测,从而促进最终结果。 如表 2 所示,基于区域的训练策略大幅提升了性能,从 MR 的 17.6% 到 9.2%。 我们将大幅改进归因于 RTS 使用的大量提案。 然而,使用 vanilla 策略训练大量的提案并不能产生可比的性能,因为优化在这种情况下,单个提案的重用会损害其他提案。 比较结果表明 RTS 有助于保留模态信息。
空间分区。 我们评估了两种为 RTS 划分周围空间的方法。 第一个采用受约束的 K-means [32],而我们手动将空间分成扇形区域(类似于图 3)用于另一个区域。
训练样本均匀分布在每个区域以实现数据平衡。 为了公平比较,我们根据区域的数量将空间划分为 6 个区域,并为每个区域分配 6 个提案(表示为区域提案)。 与基于 K-means 的划分算法相比,手动划分可以成功地将一些模糊的样本划分为正确的区域。 由于我们假设错误分类的样本可能会扰乱区域提议的学习,因此手动划分可以获得稍高的性能,如表 3 所示。如何对样本进行分类以帮助训练仍然是一个悬而未决的话题。
提案数量。 我们进一步进行实验以探索在 mmTransformer+RTS 中使用的适当数量的提议和区域。 我们假设区域的数量(M)和每个区域的提案数量区域(N)共同控制预测轨迹的集中度和覆盖度。 我们发现,当提案总数不是很大时,M 和 N 之间的比率显着影响性能。 具体来说,当比率远离 1 时,性能下降。但是,无论比率如何变化,当提案总数很大时,性能都会略有增加甚至变得更糟。 根据我们的实验,当 M 和 N 都等于 6 时,模型给出了最理想的性能。
基于区域的培训策略的可视化。 图 5 说明了 RTS(36 个提案)的有效性。 我们在 Argoverse 验证集上进行实验。 如图 5 的 MR 矩阵所示,单元格 (i, j) 表示在预测属于第 j 个区域的所有案例时分配给第 i 个区域的提议(称为区域提议)的丢失率。
对角线中的低 MR 表明区域提案已在指定区域中学习了专业化。 我们观察到每个提议都倾向于生成轨迹它以预先分配的区域结束,这表明 mmTransformer 已经以基于区域的方式学习了不同的模式。
图4.mmTransformer(6个方案)和mmTransformer+RTS(36个方案)在Argoverse验证集的四种驾驶场景下的定性比较。绿色矩形表示目标车辆。红色和黄色箭头表示具有高置信度的基本事实和预测轨迹。为了清晰的可视化,我们在每个场景中过滤分数低于均匀概率的轨迹。可以看出,我们的预测结果涵盖了大多数可能的领域。
**图5.Argoverse验证集上多模态预测结果的可视化。**我们利用mmTransformer的所有轨迹建议为每个场景生成多个轨迹,并在图中可视化所有预测端点(左三列)。为了清楚地说明,我们过滤置信度低于均匀概率(1/K)的点。背景表示所有预测结果,彩色点表示特定提案组(区域提案)的预测结果。我们观察到,每组区域提案产生的端点位于相关区域内。区域提案的未命中率(MR)矩阵显示在右上角,其中每个单元格(i,j)中的值表示分配给区域i的提案和区域j中的地面真相计算的MR。当燃气轮机位于其所在区域时,建议书具有较高的准确性。为了便于参考,右下角显示了受约束K-均值[32]生成的区域布局。
我们开发了一种基于变压器的运动预测模型,称为 mmTransformer,用于准确的多模态预测。 引入了一种新的分区训练方法来改进多模态预测。 实验显示了 Argoverse 基准测试的竞争结果。
A实施细节
按照之前基于变压器的方法[4,31],我们使用AdamW[24]作为优化器,初始学习率、权重衰减和梯度最大范数设置为1×10−3 , 1 × 10−分别为4和0.1。mmTransformer中的所有参数都使用Xavier初始化进行初始化[14]。mmTransformer中的所有变压器模块都包含128个隐藏单元。每个transformer模块有两个编码器层和两个解码器层,除了social constructor的解码器,它包含四层。地图信息我们实现中的信息覆盖了65m×65m的局部区域,集中在最后一个观测点的目标代理位置。此外,如前所述,目标代理在最后一个观察点的航向与+y轴对齐。为了增强模型的鲁棒性,我们进一步通过水平翻转轨迹并在前十个时间步随机掩蔽轨迹来进行数据扩充。
B细节架构
mmTransformer中使用的转换器的详细架构如图6所示。将周围信息传递给编码器,以获得上下文特征的内存。此外,空间位置编码被添加到每个多头自关注层的查询和键中。
然后,解码器接收建议(随机初始化)、建议的位置编码以及编码器内存,并通过多个多头自我注意和解码器-编码器注意层生成细化的轨迹建议。注意,可以跳过运动提取器的第一解码器层中的第一自我注意层。
C分类损失函数
这样做的目的是鼓励分配给地面真相区域的弹道建议获得更高的分数。具体来说,损失项中的每个logit是属于相应区域的分数之和
公式(8)
我在哪里∈ {1,N+1,2N+1(M− 1) N+1},然后我们应用交叉熵损失来计算惩罚
公式(9)
其中gt是地面真值区域指数,δ是指示函数。辅助损失有利于模型的推广和收敛。
D划分算法的实现过程
让我们以K-means为例来描述划分过程。步骤1:使用本文第435行中描述的标准化,提取所有标准化GT轨迹端点。步骤2:应用约束K-均值[32]将这些样本平均划分为M个簇。步骤3:用凸包算法找到每个区域的顶点;聚集这些顶点以形成区域。该过程如图7所示
E.推理
在推理阶段,我们利用NMS算法过滤重复轨迹。NMS算法的细节如下:我们首先根据预测轨迹的置信度按降序排序,然后贪婪地选择它们。具体来说,我们设置了一个阈值,并排除了接近任何选定轨迹的轨迹。我们不断重复上述两个步骤,直到收集到足够的预测轨迹。