《HiVT: Hierarchical Vector Transformer for Multi-Agent Motion Prediction》论文精读

 原文链接:Zhou_HiVT_Hierarchical_Vector_Transformer_for_Multi-Agent_Motion_Prediction_CVPR_2022_paper.pdf (thecvf.com)

 论文源码:GitHub - ZikangZhou/HiVT: [CVPR 2022] HiVT: Hierarchical Vector Transformer for Multi-Agent Motion Prediction

摘要

现有的方法忽略了问题的对称性,并且计算成本昂贵

我们的方法通过将问题分解局部上下文提取全局交互建模

我们提出了平移不变的场景表示旋转不变的空间学习模块

1.Introduction

痛点:常见的矢量化方法通常对参考系的平移和旋转不具有鲁棒性,为了解决这个问题,现有的研究将场景进行归一化,使其以目标代理为中心,并与目标代理的航向对齐,但随之而来的是计算成本的提高

解决方案:

在第一阶段,我们的框架避免了昂贵的全对全交互建模,并且只在局部提取上下文特征。

在第二阶段,为了补偿受限的局部接受域并捕获场景中的远程依赖,我们通过赋予Transformer编码器局部参考帧之间的几何关系,在以代理为中心的局部区域之间执行全局消息传递。

2.Related Work

略 

3.Approach

3.1.Overall Framework

首先将交通场景矢量化,之后分层的聚合场景中的时空信息

在第一阶段,我们为每个代理编码旋转不变的局部上下文特征。自我运动、相邻智能体运动和局部地图结构的聚合可以提供与建模智能体相关的丰富信息。

在第二阶段,全局交互模块聚合不同代理的本地上下文,并更新每个代理的表示,以捕获远程依赖关系和场景级动态。

最后同时对交通场景中所有智能体进行多模态轨迹预测。

3.2.Scene Representation

不像vectorNet那样涉及到点和绝对位置进行相比实现矢量化,而是使用相对位置,即将智能体的相邻帧的位置相减得到轨迹矢量(对于车道段也是同样的操作),使场景完全变成一个向量集。

但是这样不可避免的损失了agent之间以及agent和lane之间的相对位置关系,为此也引入了agent-agent和agent-lane的相对位置向量,这样就可以在没有任何信息损失的情况下完成交通场景的向量化。

3.3Hierarchical Vector Transformer

由于直接用Transformer应用于整个交通场景的时间复杂度太高,我们将场景划分为N个局部区域,N为场景中智能体的数量

每个局部区域以场景中的一个agent为中心。在每个局部区域内是中心agent的轨迹段和局部环境,其中环境信息包括相邻agent的轨迹段和围绕中心agent的局部车道段

对于每个局部区域,我们通过顺序建模每个时间步agent-agent交互,每个代理的时间依赖关系以及当前时间步agent-lane交互,将本地信息聚合到单个特征向量中。

通过空间维度和时间维度的分解,将计算复杂度从O((NT + L) 2)降低到O(NT2 + TN2 + NL),并通过限制局部区域的半径(k < N和l< L)进一步降低到O(NT2 + TNk + Nl)。

由于局部编码器的信息量会受到局部区域范围的限制。为了避免牺牲预测性能,我们进一步采用全局交互模块来补偿受限的局部接受域和捕获场景级动态。

3.3.1Local Encoder

此部分包含三个部分:A-A Interaction ,Temporal Dependency,Agent-Lane Interaction

A-A Interaction:

采用了旋转不变来处理中心agent和附近agent的交互。使用agent的最接近当前帧的位移作为朝向来旋转local region里所有的物体。旋转后的矢量和别的一些语义feature一起进入MLP获得这个agent在历史每一时刻的feature。(作为Cross attention的query)

对于周围agent和当前agent的交互,相比中心agent需要叠加上周围agent和当前agent的相对位置,这样做是为了嵌入agent之间的相对位置关系(作为key和value)

之后就可以通过mlp编码得到q,k,v

先计算周围哪个agent/lane对当前agent的影响最大,即alpha越大,然后与value相乘得到环境特征m

之后应用了一个门控函数将agent自己的信息和环境特征m融合起来过一个sigmod,作为最终结果中agent本身所占的比重

Temporal Dependency:

在A-A Interaction里我们得到了当前agent历史每一帧的feature,这里我们在末尾加上一个可学习的token,再为每一帧加上可学习的位置编码,此时得到,对其作self-attention

M是一个mask,目的是让当前时间步只能观察到之前的时间步而不能观察到之后的时间步

Agent-Lane Interaction:

把agent的local region里所有车道段旋转到当前agent的朝向下,并且融入车道段和当前agent的相对位置向量和车道段的语义信息

将上一步的结果作为query,此步的结果作为key和value作cross attention

3.3.2Global Interaction Module

两个local region之间的交互被定义为

其中包含两个local region的中心agent之间的相对位置向量、旋转角度差

之后用想预测的agent的local encoder编码后的特征hi作为query,其余的agent的local encoder编码后的特征作为key和value作cross attention

3.3.3 Multimodal Future Decoder

作者把未来轨迹建模为多个拉普拉斯分布的组合,将local encoder后的特征和global interaction残差连接输入到MLP中,输出未来位置和相应的不确定度(输出的轨迹是在agent-centric坐标系下),最后输出形状为[F, N, H ,4](模态数,num of agents,future lenth,坐标和不确定度)。还有另外一个MLP用softmax作为输出层输出每个模态相应的概率[N,F]

3.4. Training

训练策略采用winner-take-all的方式,即在计算损失时只考虑最佳模态的预测,得到

直白的解释的话就是把gt转到agent坐标系,然后计算gt和学到的laplace分布的差(把gt坐标代入laplace分布求值)。因为假设了时间独立,agent独立,因此需要把这个loss乘起来,所以用log后求和来避免特小值。负号确保越接近gt的loss是越小的。

分类loss控制模态概率学习。做法是计算每个模态和gt的差之和,离gt越近的模态算到的值越小,所以取负号使得越接近的模态值越高,然后用softmax计算出一个soft过的one hot label。于是就可以和预测概率去算交叉熵loss了。

4. Experiments

数据集:argoverse1

历史轨迹:20帧

预测轨迹:30帧

评价指标:minFDE、minADE、MR

每个模块的重要性:

门更新以及时间掩码:

平移不变性和旋转不变性:

部分参考:【轨迹预测系列】【笔记】HiVT: Hierarchical Vector Transformer for Multi-Agent Motion Prediction - 知乎 (zhihu.com)

  • 29
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
HIVTHierarchical Vector Transformer for Multi-Agent Motion Prediction)是一种用于多智能体运动预测的分层向量变换器。该模型使用了向量变换器(Vector Transformer)的层级架构,用于对多智能体的运动轨迹进行预测。 HIVT模型旨在解决多智能体之间相互影响和合作的问题。在多智能体系统中,智能体之间的运动和行为往往会相互影响,因此准确预测智能体的运动轨迹变得非常重要。传统的方法往往难以捕捉到智能体之间的复杂相互作用和外部环境的影响,而HIVT模型通过分层向量变换器的架构,可以更好地捕捉到多智能体系统中的相互作用。 HIVT模型首先使用一个全局的向量变换器来处理整个多智能体系统的运动轨迹,以捕捉全局的趋势和相互作用。然后,对于每个智能体,模型使用一个局部的向量变换器来预测其个体的运动轨迹,以考虑个体特定的动态特征和周围智能体的影响。 通过分层向量变换器的架构,HIVT模型能够更好地处理多智能体系统中的动态变化和相互作用,提高了运动轨迹预测的准确性。同时,该模型还可以应用于多个领域,如智能交通、无人机团队协作等。 总而言之,HIVT模型是一种基于分层向量变换器的多智能体运动预测方法,通过捕捉多智能体系统中的相互作用和全局趋势,提高了运动轨迹预测的准确性和适用性。该模型在多个领域具有广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值