前言

文章地址:SCENE TRANSFORMER

老文章分享多了,来看一篇预测领域比较新的论文,是2021年下半年的论文SCENE TRANSFORMER。视觉领域在VIT出来后的21年,各种变种的Vit如雨后春笋一般出现,迅速在视觉领域攻城掠地。到现在TRANSFORMER已经是各个领域最normal的一种结构了,预测领域也不例外。文章提出了一种对多目标轨迹预测的统一的框架,直观感觉,与之前最大的不同,就是大量使用attention结构进行信息交互。与之前的TNT HOME等还有一点不同的是,这里是按帧级别,一次性输出所有障碍物的未来轨迹,尽管backbone更大,但是不需要反复推理同帧的多个障碍物了,效率上并不落下风,下面一起来具体看看吧。

##框架
文章的题目说自己是一种unified方法,采用了一个mask的策略,也是本文的创新点之一,如下:
在这里插入图片描述
途中第一行均放置自动驾驶车的信息,下方放置other obj的信息,左一图表示的是最普遍的一种轨迹预测的情况,所有的信息都是当前帧及之前的信息。所谓的 conditional motion prediction 是指这里加入了自车未来帧的信息,这属于一种高层的规划信息,在这个前提下,预测他车的轨迹,最右侧的,条件是只有自车远期的一个goal点。通过不同种类的mask,实现多种预测任务。
在这里插入图片描述

创新点之二就是,网络的框架,几乎通篇都是用attention实现,有点暴力出奇迹的意思。结构如上图所示。利用attention过后tensor形状大小不变的特性,疯狂融合信息。一通操作后,将不同时间、不同障碍物、地图对agent的信息进行了融合。下面分别看一下encoder 和 decoder。

encoder

在这里插入图片描述

可以看到为了降低计算量,文章采用是轴卷积。先对time进行卷积,是考虑在每个agent内部,交换不同时间的信息。cross attention 中,queries来自agents, key ,values 是road graph, 这样就把编码后的道路环境信息融合到agent 信息中。
注意到中间存在一个 add extra agent/time dim 层,该层是为了输出一个场景的打分(概率)。到该层时候,计算特征沿着Az轴和T轴的均值,把它作为一个人造的Agent 和Time补充到原有的ATD矩阵中,参与运算,收集场景信息,最后通过2层MLP和softmax层得到概率值。
除此之外,还有一些其他的细节,如一开始使用正弦位置编码,编码了时间,x,y,z 维度。object type, lane type, 物体的长宽高,yaw ,速度都被编码到初始特征中。 动态路网信息用2层MLP编码到D维度,静态的信息,为了减小路点个数,使用了类似PointNet的方式,使用了一个 max pooling留下一段plyline的特征。所有层都用了 ReLU。
多次的信息融合后,让每个obj的信息充分理解当前时空下的信息,最终得到 agent features(A+1,T+1,D)。

decoder

在这里插入图片描述

如图所示,F是 future的个数,也就是可能的多模个数。 F维度是复制tiled出来的,为了区别F维度互相之间的不同,用one-hot编码的方式,在D的维度上面增加了F维度的输出,也就是 A +1 T+1 D 的维度 变为了 F,A +1, T+1, D+F,再经过一个小的MLP模型最终得到的tensor是 F,A +1, T+1, D。在此基础上,继续进行attention操作,如上图所示 模型的最终输出是 F A T 7, 维度7的话有x y z 以及三个对应的不确定性,最后一个是heading 。其中不确定性是遵循Laplace 分布的参数

其他

训练:不确定性的训练。方法借鉴的是 Learning an Uncertainty-Aware Object Detector for Autonomous Driving, 对于横向和纵向位移的训练,为了得到有意义的结果,都针对每个待预测物体做了 axis aligned。即再obj坐标系进行。
数据增强:用了agent dropout , 0.1的概率移除不需要预测的agent。另外数据增强是随机旋转整个场景坐标。

在这里插入图片描述
上图给了goal conditional motion prediction模式下的一些可视化,不同的goal点影响自车规划和他车的预测,有点意思。
最后,文章附录的部分内容都较为详细,基本上各种细节都交代了。基本上从vectornet出来之后,栅格化的方法就慢慢消失匿迹了,基于Transformer做预测的方法大行其道。框架中隐含着预测规划的一体化的思想,上面的goal conditional motion prediction,就是再预测他车基础上同时有自车的规划输出,不过这里面的多模还是没有强监督,全靠网络学,不知道轨迹同时刻相撞的概率如何。anyway,一篇值得一读的文章~

Logo

更多推荐