淘先锋技术网

首页 1 2 3 4 5 6 7

这篇论文的名称是《A Spatial-Temporal Attention Model for Human Trajectory Prediction》作者的思路来源于两个当前研究工作的局限:(1)没有捕捉到当前观察轨迹中不同时间行人位置对未来轨迹预测的重要性不同(2)大部分工作中直接使用的数据是对于某个视频不同时刻标注好的行人的坐标,而不是真实的全局信息。针对这两个问题作者引入注意力机制来学习不同帧的时间重要性、并使用预训练好的模型捕获全局信息,然后通过MLP和内积操作得到不同邻居节点的权重。

除了每个时间帧上所有行人的位置坐标外、作者还使用了预训练的模型提取出每个行人的bounding box。假定某一帧中有n个行人,对于当前行人p_{i}在时间t上的位置为L_{t}^{i}=(x_{t}^{i},y_{t}^{i}),第j个行人p_{j}在t时刻的边界框为B_{t}^{j}。给定1到Tobs帧上的当前行人位置和周围行人的bounding boxes预测T_{obs+1}T_{pred}帧的行人坐标。

文中的主要模型图如下:

该论文采用编码-解码器架构。编码器由自模块和交互模块组成,其中自模块通过目标行人的位置来建模目标运动特征,而交互模块通过画面中观察到的其他行人的边界盒来获取邻居之间的交互关系特征;解码器由注意力模块和预测模块组成,将上述特征向量在时间上做加权求和,并用LSTM预测未来该行人的轨迹。

(1)Ego Module

自模块由一个LSTM来实现,首先把该行人p_{i}在t时刻的位置坐标L_{t}^{i}通过一个非线性Relu函数\phi嵌入到向量e_{t_{}}中,其中嵌入权重为W_{e},接着作者把e_{t_{}}输入到自模块LSTM中以得到t时刻的隐藏状态h_{t}。经过整个LSTM后得到了表征目标运动特征的T_{obs}\times d维特征向量Ego(h_{1},h_{2},.....h_{obs}),其中d是LSTM的隐藏层大小。

(2)Interaction Module

给定一组通过与训练得到的行人p_{j}在t时刻观察到的边界框B_{t}^{j},通过多层感知机MLP把它映射成定长的向量z_{t}^{j}。接着通过对z_{t}^{i}z_{t}^{j}的内积归一化结果得到i和j行人在t时刻的空间亲和力a_{t}^{ij}

此外,同样把观察盒B_{t}^{j}嵌入到定长向量r_{t}^{j}中,然后通过a_{t}^{ij}r_{t}^{j}的乘积和得到附近人对目标在t时刻的影响量c_{t}^{i}。通过交互模块,得到了T_{obs}\times d维的空间特征表示Inter(h_{1},h_{2},.....h_{obs})

(3)Attention Module

该文章对Ego(h_{1},h_{2},.....h_{obs})Inter(h_{1},h_{2},.....h_{obs})都计算了注意力分数,以Ego为例,假设第k个人在Ego中的第k个序列为h_{k},在上一时间点t'-1解码器LSTM输出的隐藏状态为s_{t'-1},计算score(h_{k},s_{t'-1})反映编码器对前一解码器状态之间的依赖关系。其中W_{1},W_{2}和v是可学习的参数,s_{t'-1}类似于transformer中的查询矩阵,h_{k}类似于关键矩阵(key matrix)。接着所有的注意力分数减去其最大值,防止他们变大,使训练更加稳定。

然后通过u_{t'k}计算反映了编码器状态h_{k}在确定下一个状态s_{t'}和在t'时间生成下一个轨迹位置时的重要性的\beta _{t'k},然后解码器特征向量d_{t'}^{2}被作为在时间维度的加权和给出。如果一个输入序列在某一时刻发挥了更重要的作用,它将在解码器特征向量中占据较大的比例。同样的方法,得到针对于Inter(h_{1},h_{2},.....h_{obs})的解码器特征向量d_{t'}^{3}

(4)预测模块

将上一时间片对应的当前行人坐标<x_{t}^{i},y_{t}^{i}>嵌入到解码器特征向量d_{t'}^{1}中,联合注意力模块中得到的d_{t'}^{2}d_{t'}^{3},把它们连接成张量q_{t'}提供给LSTM解码器以得到解码器状态s_{t'}。最后,直接通过一个全连接层通过s_{t'}得到目标行人p_{i}在t'时间对应的未来轨迹坐标L_{t'}^{i}