Query-Centric Trajectory Prediction
category
type
status
slug
date
summary
tags
password
icon
这篇论文的标题是《Query-Centric Trajectory Prediction》,作者是Zikang Zhou、Jianping Wang、Yung-Hui Li和Yu-Kai Huang,来自香港城市大学、香港城市大学深圳研究院、鸿海研究院和卡内基梅隆大学。
1. 摘要
预测周围智能体的未来轨迹对于自动驾驶车辆的安全运行至关重要。本文提出了QCNet,这是一个建模框架,旨在突破轨迹预测的界限。首先,我们发现现有方法使用的以智能体为中心的建模方案需要在观察窗口向前滑动时重新归一化和重新编码输入,导致在线预测期间的冗余计算。为了克服这一限制并实现更快的推理,引入了一种以查询为中心的场景编码范式,它通过学习与全球时空坐标系统无关的表示来实现过去计算的重用。在所有目标智能体之间共享不变的场景特征,进一步允许多智能体轨迹解码的并行性。其次,即使给定了丰富的场景编码,现有的解码策略也难以捕捉智能体未来行为中固有的多模态性,特别是当预测范围很长时。为了应对这一挑战,我们首先使用无锚点查询以循环方式生成轨迹提议,这允许模型在解码不同范围的航点时利用不同的场景上下文。然后,一个细化模块采用轨迹提议作为锚点,并利用基于锚点的查询进一步细化轨迹。通过为细化模块提供自适应和高质量的锚点,我们的基于查询的解码器可以更好地处理轨迹预测输出中的多模态性。我们的方法在Argoverse 1和Argoverse 2运动预测基准测试中排名第一,以较大优势超越了所有方法。同时,由于以查询为中心的设计,我们的模型可以实现流式场景编码和并行多智能体解码。
2. 相关工作
1.基于矢量的方法可以高效地聚合交通场景中的稀疏信息。几个强大的轨迹预测模型最近采用了Transformer作为编码器,使用分解注意力。尽管这些模型通过分层学习智能体中心表示或在共享坐标系统中编码整个场景来提高效率,但它们的可扩展性仍然受到分解注意力的计算复杂性的限制。
2.编码的场景上下文中解码一组离散轨迹来解决多峰性。由于训练数据中只观察到一种模式,预测多种不同的未来是具有挑战性的。基于锚点的方法通过利用预定义的策略、候选轨迹或地图自适应目标来实现这一点,它们通过锚点指导多峰预测。然而,这些锚点的质量显著影响预测性能。相比之下,基于锚点自由的方法在没有模式崩溃和训练不稳定的风险下自由输出多个假设。
所以作者的解决方案:
1.编码器继承了分解注意力的表示能力,通过使用以查询为中心的编码范式,实现了更高效的场景上下文融合,超越了以智能体为中心的建模,并实现了流式轨迹预测。
2.我们的解码管道利用了基于锚点和基于锚点自由的解决方案的优势,通过数据驱动的方式在锚点自由模块中生成自适应锚点,并在基于锚点的模块中根据场景上下文细化这些锚点。
3. 方法
3.1 输入和输出公式化
考虑一个场景,周围有A个智能体。在在线运行期间,感知模块以固定间隔向预测模块提供智能体状态的流,其中每个智能体状态与其时空位置和几何属性相关联。例如,第i个智能体在时间步t的状态包括空间位置pt i=(pt i,x, pt i,y),角位置θt i(即,偏航角),时间步t和速度vt i。我们还添加了运动向量pt i −pt−1 i到几何属性中,类似于一些基线。此外,预测模块可以访问高清地图上的M个多边形(例如,车道和人行横道),其中每个地图多边形都带有采样点和语义属性(例如,车道的用户类型)。给定T时间步的观察窗口内的地图信息和智能体状态,预测模块的任务是为每个目标智能体预测K条未来轨迹,并为每个预测分配概率分数。
3.2 以查询为中心的场景上下文编码
轨迹预测的第一步是编码场景输入。最近的研究已经发现,分解注意力对于场景编码非常有效。这些方法让一个查询元素一次只关注一个轴上的键/值元素,从而产生时间注意力、智能体-地图注意力和社会注意力(即,智能体-智能体注意力),复杂度分别为O(AT^2)、O(ATM)和O(A^2T)。与典型的编码策略不同,后者首先应用时间网络来压缩时间维度,然后仅在当前时间步执行智能体-地图和智能体-智能体融合,分解注意力在观察窗口内的每个过去时间步进行融合。
本地时空坐标系
在一段时间内,会采用一个固定的坐标系。对于车道和人行横道,会选择车道的起始中心点作为远点,中心点的方向作为坐标轴的方向。
场景元素嵌入
对于每个时空场景元素,如智能体状态或车道,我们计算所有几何属性(例如,智能体状态的速度和运动向量,车道上所有采样点的位置)相对于由元素的局部框架引用的空间点和方向的极坐标。然后,我们将每个极坐标转换为傅里叶特征,以便于学习高频信号。对于每个智能体状态和地图上的每个采样点,傅里叶特征与语义属性(例如,智能体的类别)连接,并传递给多层感知器(MLP)以获得嵌入。为了车道和人行横道产生多边形级表示,我们对每个地图多边形内的采样点的嵌入应用基于注意力的池化。这些操作导致智能体嵌入的形状为[A, T, D]和地图嵌入的形状为[M, D],其中D表示隐藏特征维度。得益于在局部参考框架中建模,每个智能体状态/地图多边形的嵌入只有一个实例,并且可以在随后的观察窗口中重用。相比之下,以智能体为中心的方法不得不多次复制所有输入,将每个副本相对于A个智能体中的一个当前位置和航向编码,并且在观察窗口向前滑动时重新编码所有输入,导致在线推理期间的开销要大得多。
相对时空位置嵌入
我们为场景元素对准备相对位置嵌入,这些将被纳入基于注意力的运算符中,以帮助模型了解两个元素的局部坐标框架之间的差异。对于具有绝对时空位置(pt i, θt i, t)的元素和另一个具有(ps j, θs j, s)的元素,我们使用4D描述符来总结它们的相对位置,其组成部分是相对距离ps j − pt i 2,相对方向atan2(ps j,y−pt i,y, ps j,x−pt i,x) − θt i,相对方向θs j − θt i和时间差距s − t。由于我们可以很容易地从一个元素重建另一个元素的绝对位置,我们保留了场景元素对的所有时空位置信息。然后,我们将4D描述符转换为傅里叶特征,并通过MLP传递以产生相对位置嵌入rs→t j→i。如果两个场景元素中的任何一个是静态的(例如,静态地图多边形),我们可以省略上标,并将其表示为rj→i。
自注意力用于地图编码
我们使用自注意力来模拟地图元素之间的关系,之后更新的地图编码将丰富智能体特征并协助轨迹解码。对于第i个地图多边形,我们从其嵌入mi派生出一个查询向量,并让它关注邻近的车道和人行横道{mj}j∈Ni,其中Ni表示多边形的邻居集。为了在地图编码中纳入空间感知,我们从[mj; rj→i]的连接中生成第j个键/值向量,即mj和相对位置嵌入。由于输入到注意力层的每个三元组(mi, mj, rj→i)与全局时空坐标系统无关,输出的地图编码{m′ i}M i=1也是不变的。因此,它们可以跨所有智能体和所有时间步共享,甚至可以预先计算,从而避免了以智能体为中心的建模所遭受的冗余计算。
分解注意力用于智能体编码
以agent i在t时刻为例子,前面步骤获得的agent state embedding为 , 时间维度attention会使用 作为所有的key和value,直白的讲就是t时刻前所有自己的feature和相对位置的feature拼接的结果。
类似的,对于agent和map元素间的cross attention,map元素制造的key和value为, 即周围地图的embedding和它们相对目标agent的相对位置feature。
对于agent和agent间的attention,key和value分别为 , 即周围agent在同一时刻的embedding和它们的相对位置feature。
附近的定义为agent周围50m范围内。一共会进行 次。
得益于以查询为中心的建模,所有智能体和地图编码都是独特的和固定的,无论我们从哪个时空坐标系统查看它们(即,空间维度的旋转平移不变性和时间维度的平移不变性),使模型能够重用过去的计算并进行流式处理。在线预测期间,我们可以缓存在先前的观察窗口中计算的编码,并增量更新场景表示。如图2所示,我们的模型仅在新数据帧到达时对A个传入的智能体状态执行分解注意力,导致时间注意力的复杂度为O(AT),智能体-地图注意力的复杂度为O(AM),社会注意力的复杂度为O(A^2)。所有这些操作都比它们的非流式对应物便宜一个数量级。最后,我们使用新计算的编码更新缓存的张量。
3.3 轨迹解码
轨迹预测的第二步是利用编码器输出的场景编码来解码每个目标智能体的K条未来轨迹,这是非常困难的,因为编码器只返回一组特征嵌入。受对象检测进展的启发,一些最近的工作使用类似DETR的解码器来处理这样一个一对多问题,其中多个可学习的查询交叉关注场景编码并解码轨迹。然而,这些模型像其他基于锚点自由的方法一样遭受训练不稳定和模式崩溃的困扰。此外,它们在长期预测中表现不佳,因为由于未来不确定性的爆炸性增长,预测任务变得更加具有挑战性
整个网络结构
Mode2Scene and Mode2Mode Attention
Mode2Scene的两步都采用了DETR结构:query为K个轨迹mode(粗的proposal步是直接随机生成的,refine步是由proposal步得到的feature作为输入),然后在场景feature(agent历史,map,周围agent)上做多次cross attention。
Mode2Mode则是在K个mode间进行self attention,企图实现mode间的diverse,不要都聚在一起。
Reference Frames of Mode Queries
为了并行预测多个agent的轨迹,场景的encoding是被多个agent分享的。因为场景feature都是相对于自身的feature,所以要使用的话还是得转到agent的视角下。对于mode的query,会附加上agent的位置和朝向信息。和之前encode相对位置类似的操作,也会对场景元素和agent的相对位置的信息进行embedding作为key和value。(直观上说就是agent每个mode在附近信息使用上的一个加权注意力)
Anchor-Free Trajectory Proposal
第一次是anchor free的办法,采用可以学习的query来制造相对低质量的轨迹proposal,一共会产生K个proposal。我们的提议模块以数据驱动的方式生成K个自适应锚点。得益于交叉注意力层,模式查询可以检索场景上下文并迅速缩小锚点的搜索空间。自注意力层进一步允许查询在生成轨迹提议时相互协作。在较长的预测范围内,智能体可以行驶很长的距离,其周围环境可能迅速变化。因此,将所有需要解码长序列的信息总结到一个查询嵌入中是很困难的。为了减轻查询的上下文提取负担并提高锚点的质量,我们将类似DETR的解码器泛化为循环方式。使用Trec个循环步骤,具有上下文感知能力的模式查询仅在每个循环步骤结束时通过MLP解码T′/Trec个未来航点。在随后的循环中,这些查询再次成为输入,并提取与接下来的几个航点预测相关的上下文。
Anchor-Based Trajectory Refinement
anchor free的办法虽然比较简单,但也存在训练不稳定的问题,有可能mode塌缩。同时,随机生成的mode还需要能在全场景里对于不同agent都有不错的表现,这比较难,很容易生成出不符合运动学的或者不符合交通的轨迹proposal。因此我们想到可以再来一次anchor-based修正。在proposal的基础上预测了一个offset(加到原proposal获得修正后轨迹),并预测了每个新轨迹的概率。
这个模块同样使用了DETR的形式,每个mode的query都是用上一步的proposal来提取,具体是用了一个小的GRU来embed每个anchor(一步步往前走),使用到最后一个时刻的feature作为query。这些基于anchor的query可以提供一定的空间信息,使得attention时更容易捕捉有用的信息。
3.4 训练目标
遵循HiVT,我们参数化第i个智能体的未来轨迹作为拉普拉斯分布的混合:
其中{πi,k}K k=1是混合系数,k-th混合分量在时间步t的拉普拉斯密度由位置µt i,k和尺度bt i,k参数化。然后我们使用分类损失Lcls来优化细化模块预测的混合系数。这个损失最小化了方程(1)的负对数似然,我们停止了位置和尺度的梯度,仅优化混合系数。另一方面,我们采用胜者通吃策略来优化提议和细化模块输出的位置和尺度,该策略仅对最佳预测提议及其细化进行反向传播。为了稳定,细化模块停止了提议轨迹锚点的梯度。最终的损失函数结合了轨迹提议损失、轨迹细化损失和分类损失进行端到端训练:,其中我们使用λ来平衡回归和分类。
4. 实验
4.1 实验设置
我们使用Argoverse 1和Argoverse 2这两个大规模运动预测数据集来测试我们方法的有效性。Argoverse 1数据集收集了迈阿密和匹兹堡的323,557个数据序列,而Argoverse 2数据集包含跨越六个城市的250,000个场景。两个数据集的采样率都是10赫兹。对于Argoverse 1数据集,模型需要在给定2秒的历史观察的情况下预测智能体的3秒未来轨迹。相比之下,Argoverse 2数据集以改善的数据多样性、更高的数据质量、更大的5秒观察窗口和更长的6秒预测范围为特点。使用这两个数据集,我们打算检验模型在各种数据分布和预测范围上的预测能力。指标。按照标准评估协议,我们采用包括最小平均位移误差(minADEK)、最小最终位移误差(minFDEK)、Brier-最小最终位移误差(bminFDEK)和未命中率(MRK)等指标进行评估。指标minADEK计算了真实轨迹和K条预测轨迹中最佳一条之间的ℓ2距离(以米为单位),作为所有未来时间步的平均值。另一方面,指标minFDEK只关注最终时间步的预测误差,以强调长期性能。为了进一步衡量不确定性估计的性能,指标b-minFDEK在最终步骤误差上增加了(1 − ˆπ)^2,其中ˆπ表示模型分配给最佳预测轨迹的概率分数。此外,指标MRK用于计算minFDEK超过2米的情况的比例。作为常见做法,K被选为1和6。如果模型输出超过K条轨迹,评估期间只考虑概率分数最高的K条预测。
4.2 与最先进技术的比较
我们在Argoverse 1和Argoverse 2运动预测基准测试中与最强的基线进行比较。我们首先在Argoverse 2数据集上进行实验,该数据集有利于长期预测的解决方案,因为其预测范围长达6秒。结果如表1所示。即使没有集成,QCNet已经在Argoverse 2测试集的所有指标上超越了所有先前的方法。在使用类似于其他参赛作品的集成技术后,QCNet在所有指标上以较大优势超越了所有方法。我们还评估了我们的模型在Argoverse 1数据集上的性能,以更好地理解我们方法的泛化能力。尽管Argoverse 1基准的性能多年来已经饱和,但表2显示QCNet在大多数指标上显著提高了最先进的水平。在我们提交论文时,QCNet在Argoverse 1和Argoverse 2的排行榜上都排名第一,超越了两个基准上所有已发布和未发布的作品。有关更多结果,请参考补充材料中的Argoverse 2和Waymo Open Motion数据集。
4.3 消融研究
场景上下文融合的效果。我们在表3中研究了场景上下文融合的效果。我们回答的第一个问题是,分解注意力是否值得。如果没有使用分解注意力基础的融合块,编码器就不会涉及场景不同轴的信息交互。即便如此,解码器仍然可以通过模式2场景层访问所有预测所需的信息。正如表3的第一行所示,我们的模型可以在不融合场景上下文的情况下提供坚实的预测性能。但在将融合的编码提供给解码器后,模型在所有指标上都比其非融合变体有显著改进。此外,增加融合块的数量可以带来更好的结果,证明了分解注意力的有效性。然而,由此产生的推理延迟并不适合实时应用,如自动驾驶,使这种建模选择对广泛采用不太有吸引力。幸运的是,我们的以查询为中心的范式允许在在线预测期间重用先前观察窗口的计算,这超越了以智能体为中心的方法,如HiVT。正如表3所示,缓存和重用先前计算的编码大大降低了最密集交通场景中的在线推理延迟。这种“免费午餐”还为设计更先进的解码器提供了性能空间。解码器组件研究。正如表4所示,解码器中的所有层都对性能有一定程度的贡献。首先,尽管编码器中的分解注意力已经为智能体特征带来了上下文感知,我们发现仅使用目标智能体的历史编码是不足以进行准确的轨迹提议的。我们假设将地图和社会信息注入基于锚点自由的解码器可以向查询明确提供未来上下文,使它们能够缩小初始轨迹的搜索空间。另一方面,地图和社会信息也可以帮助基于锚点的查询识别那些不现实的预测,例如违反交通规则或与道路上的静态物体相撞的轨迹。因此,我们的细化模块的作用不仅仅是轨迹平滑。表4还表明,在提议或细化模块中移除模式2模式自注意力将损害长期准确性和多种假设的多样性。表5展示了循环机制和细化模块在不同难度水平和预测范围的数据集上的效果。在Argoverse 1上,大多数智能体只表现出微不足道的行为,场景上下文通常在3秒预测范围内没有显著变化。因此,我们的设计方案在该数据集上评估时只带来了边际改进。然而,在更具挑战性的Argoverse 2数据集上,预测范围为6秒,将循环步骤的数量从1(即无循环)增加到3,可以显著改善长期性能,并且细化模块在准确性和多模态性方面都提供了显著的改进。我们还注意到,使用更多的循环步骤是多余的:当将数量从3增加到6时,模型在Argoverse 2上的性能无法进一步改善。
4.4 定性结果
我们在Argoverse 2验证集上展示了一些定性结果。将图4a和图4b进行比较,我们可以看到,提议模块的循环机制可以减少长期预测误差。图4c进一步展示了细化模块的有效性,它提高了多种假设的多样性和预测轨迹的平滑性。
上一篇
动手学控制理论
下一篇
端到端-理论与实战视频课程
Loading...