这篇论文的名称是《A Spatial-Temporal Attention Model for Human Trajectory Prediction》作者的思路来源于两个当前研究工作的局限:(1)没有捕捉到当前观察轨迹中不同时间行人位置对未来轨迹预测的重要性不同(2)大部分工作中直接使用的数据是对于某个视频不同时刻标注好的行人的坐标,而不是真实的全局信息。针对这两个问题作者引入注意力机制来学习不同帧的时间重要性、并使用预训练好的模型捕获全局信息,然后通过MLP和内积操作得到不同邻居节点的权重。
除了每个时间帧上所有行人的位置坐标外、作者还使用了预训练的模型提取出每个行人的bounding box。假定某一帧中有n个行人,对于当前行人在时间t上的位置为
,第j个行人
在t时刻的边界框为
。给定1到Tobs帧上的当前行人位置和周围行人的bounding boxes预测
到
帧的行人坐标。
文中的主要模型图如下:
该论文采用编码-解码器架构。编码器由自模块和交互模块组成,其中自模块通过目标行人的位置来建模目标运动特征,而交互模块通过画面中观察到的其他行人的边界盒来获取邻居之间的交互关系特征;解码器由注意力模块和预测模块组成,将上述特征向量在时间上做加权求和,并用LSTM预测未来该行人的轨迹。
(1)Ego Module
自模块由一个LSTM来实现,首先把该行人在t时刻的位置坐标
通过一个非线性Relu函数
嵌入到向量
中,其中嵌入权重为
,接着作者把
输入到自模块LSTM中以得到t时刻的隐藏状态
。经过整个LSTM后得到了表征目标运动特征的
维特征向量
,其中d是LSTM的隐藏层大小。
(2)Interaction Module
给定一组通过与训练得到的行人在t时刻观察到的边界框
,通过多层感知机MLP把它映射成定长的向量
。接着通过对
和
的内积归一化结果得到i和j行人在t时刻的空间亲和力
。
此外,同样把观察盒嵌入到定长向量
中,然后通过
和
的乘积和得到附近人对目标在t时刻的影响量
。通过交互模块,得到了
维的空间特征表示
。
(3)Attention Module
该文章对和
都计算了注意力分数,以Ego为例,假设第k个人在Ego中的第k个序列为
,在上一时间点t'-1解码器LSTM输出的隐藏状态为
,计算
反映编码器对前一解码器状态之间的依赖关系。其中
和v是可学习的参数,
类似于transformer中的查询矩阵,
类似于关键矩阵(key matrix)。接着所有的注意力分数减去其最大值,防止他们变大,使训练更加稳定。
然后通过计算反映了编码器状态
在确定下一个状态
和在t'时间生成下一个轨迹位置时的重要性的
,然后解码器特征向量
被作为在时间维度的加权和给出。如果一个输入序列在某一时刻发挥了更重要的作用,它将在解码器特征向量中占据较大的比例。同样的方法,得到针对于
的解码器特征向量
。
(4)预测模块
将上一时间片对应的当前行人坐标嵌入到解码器特征向量
中,联合注意力模块中得到的
和
,把它们连接成张量
提供给LSTM解码器以得到解码器状态
。最后,直接通过一个全连接层通过
得到目标行人
在t'时间对应的未来轨迹坐标
。