背景
首先问大家一个问题,什么是自动驾驶车辆的最大挑战?答案是理解行人的运动并且预知行人之后的轨迹。人类的运动可以被认为是多模态性的,即人类有可能在任何给定的时刻向多个方向移动。而这种行为是自动驾驶汽车面临的最大挑战之一,因为它们的行驶路线受人的影响很大。在本篇博客中,主要介绍几种经典的轨迹预测网络。
SS-LSTM: Social-Scene-LSTM
该文是比较早的用了多个模态的信息输入来预测人类的未来轨迹。文章的网络结构主要时基于RNNs的encoder-decoder架构。
动机
- 之前的工作很少将场景的信息和相邻的轨迹考虑到模型设计中,本文提出了一种基于LSTM的分层模型,该模型具有三个层次尺度,融合了所有可能影响行人轨迹的因素。
- 能够对人与人之间的交互关系进行很好的建模。
方法
大体框架
该文基于RNNs的架构,使用分层LSTM encoder分别对三个层次(个人,社会,场景)的信息进行特征提取,以及一个LSTM decoder预测人的未来轨迹。
个人层级
对输入的个人轨迹 X i = { x i − T o b s + 1 , ⋯ x i 0 } X_{i}=\{x_{i}^{-T_{obs}+1},\cdots x_i^0 \} Xi={xi−Tobs+1,⋯xi0}使用LSTM进行编码,其中 x i t x_i^t xit表示第 i i i 个人在 t t t 时刻的位置。我们使用LSTM得到个人轨迹特征: p i t = L S T M p ( X i ) p_i^t = LSTM_p(X_i) pit=LSTMp(Xi)。
社会层级
为了学习到附近其他行人的影响,我们为每个行人构建了一张距离地图。通过将行人的邻域划分为不重叠的单元格来构建距离图。在 t t t时刻,第 i i i 个行人与周围邻居之间的空间关系在距离图 O i t O_i^t Oit 中建模。 O i t = ∑ j ∈ N i α x j t O_i^t=\sum_{j\in \mathcal{N}_i}\alpha x_j^t Oit=∑j∈Niαxjt; 其中 α \alpha α 是个判别函数,用于判断第 j j j 个行人的坐标是否在第 i i i 个行人的邻域内。我们使用LSTM得到社会层级特征: o i t = L S T M o ( O i ) o_i^t = LSTM_o(O_i) oit=LSTMo(Oi)。
场景层级
场景层级就是先使用一个CNN网络提取场景特征
F
i
t
F_i^t
Fit,然后将
F
i
t
F_i^t
Fit 送入到LSTM得到场景层级的特征:
o
i
t
=
L
S
T
M
s
(
F
i
)
o_i^t = LSTM_s(F_i)
oit=LSTMs(Fi)。
最后将三个层级的特征拼接到一起送入到一个LSTM的decoder中,得到最后的预测结果。Loss是简单的 L 2 \mathcal{L}_2 L2 损失,计算真实轨迹和预测轨迹的距离。
Social GAN
这是最早使用 GAN 预测人类未来轨迹的论文之一。该文试图通过预测人类在社会上合理的未来轨迹来解决这个问题,这将有助于自动驾驶汽车做出正确的决定。
动机
- 在场景中的所有人之间建立一个效率高的交互模型。
- 希望可以预测出符合现实场景的多条轨迹。
方法
大体框架
该文提出了一个基于 GAN 的编码器-解码器(encoder-decoder)网络,使用LSTM对每个人的 历史轨迹进行建模和一个池化模块建模它们之间的关系。整个框架主要由三个部分组成。
生成器
生成器由encoder和decoder组成。对于每个人,encoder将输入作为 X i X_i Xi。它对每个人的位置编码,并在 t t t 时刻作为固定长度向量输入到LSTM 单元。LSTM 权重在场景中的所有人之间共享,这将有助于池化模块建模人与人之间的交互关系。与之前的工作不同,该文使用了以下两种方法:
- 先前的工作中使用隐藏状态来预测二元高斯分布的参数。然而,这在训练过程中引入了困难,因为通过不可微的采样过程进行反向传播。我们通过直接预测坐标来避免这种情况。
- 没有直接提供社交上下文(轨迹的交互关系)作为编码器的输入,而是间接将encoder的输出经过交互模块后,作为解码器的输入。这导致速度提高到 16 倍。
判别器
判别器的encoder使用LSTM层对每个人的轨迹编码。这个鉴别器的目的是区分真实轨迹和虚假轨迹。理想情况下,如果轨迹不符合现实情况的话,它应该将轨迹分类为“假”。
汇聚模块
汇聚模块的基本思想如Figure3 所示。此方法计算目标人物1(以红色表示)和所有其他人(以蓝色和绿色表示)的相对位置。然后将其与隐藏状态连接起来,并分别送入到MLP中。最终,每个元素通过最大池化得到目标人物1的池化向量
P
1
P_1
P1。
Loss
- Adversarial loss: 该损失是典型的 GAN 损失,有助于区分真实和虚假的轨迹。(你可以理解为 D ( x ) D(x) D(x)是为了让真实轨迹预测趋近于1, D ( G ( Z ) ) D(G(Z)) D(G(Z))是为了让生成的轨迹趋近于0) m i n G m a x D ( G , D ) = E x ∼ p d a t a ( x ) [ l o g D ( x ) ] + E z ∼ p ( z ) [ 1 − l o g D ( G ( z ) ) ] \underset {G}{min} \underset {D}{max} (G,D)=\mathbb{E}_{x \sim p_{data(x)}}[logD(x)] + \mathbb{E}_{z \sim p_{(z)}}[1-logD(G(z))] GminDmax(G,D)=Ex∼pdata(x)[logD(x)]+Ez∼p(z)[1−logD(G(z))]
- L 2 \mathcal{L}_2 L2 Loss: 这种损失取预测和真实轨迹之间的距离,并测量生成的样本与真实样本的距离。
- Variety Loss:这种损失有助于生成多个不同的轨迹,即多模态轨迹。这个想法非常简单,对于每个输入,通过从 N(0, 1) 中随机采样“z”来预测 N 个不同的可能结果。最终,选择具有最小 L 2 \mathcal{L}_2 L2 值的最佳轨迹。 L v a r i e t y = m i n k ∣ ∣ Y i − Y ^ i k ∣ ∣ 2 \mathcal{L}_{variety} = \underset{k}{min} ||Y_i-\hat{Y}_i^k||_2 Lvariety=kmin∣∣Yi−Y^ik∣∣2
Sophie: An Attentive GAN
该文扩展了 Social GAN 的工作,并使用物理和社会信息预测目标的未来路径。尽管目标仍然与 Social GAN 相同,但本文也借助每一帧的图像添加了场景信息。
动机
- 行人或车辆的轨迹不仅需要受到其自身状态历史的影响,还需要受到相邻的行人或车辆状态,和其路径周围的环境的影响。
- 网络学习两种类型的注意力:1) 物理注意力:有助于注意和处理周围的局部和全局空间信息。2) 社会注意力,更多地关注周围环境中相邻物体的运动和决策;
方法
本文的框架主要分为 3 个模块(如Figure2 所示),特征提取模块,注意力模块,GAN模块。
特征提取器
这一模块以两种不同的形式从输入中提取特征,第一种是每帧的图像,第二种是每个行人在
t
t
t 时刻的状态。
为了从图像中提取视觉特征,他们使用了 VGGNet-19 作为 CNN 网络。该网络的权重由 ImageNet 初始化。为了从所有行人的过去轨迹中提取特征,他们使用与 Social GAN 类似的方法,并使用 LSTM 作为编码器。
为了了解行人之间的交互并捕捉每个行人轨迹对另一行人的影响,Social GAN 中使用了池化模块。本文提到了该方法的 2 个限制:
- Max 函数可能会丢弃输入的重要特征,因为它们可能会失去其唯一性;
- 在 Max 操作之后,所有的轨迹都被连接起来,这可能导致具有相同的连接特征表示。
由于这些限制,它们定义了一个排序结构。在此,他们使用 sort 作为置换不变函数而不是 max(在 Social GAN 中使用)。他们通过计算目标行人与其他行人之间的欧几里德距离对行人进行排序。
注意力模块
使用物理或社会注意力机制,该模块有助于突出输入下一个模块的重要信息。随着人类更加关注环境中的某些障碍物或物体,例如即将到来的转弯或走向它们的人,需要学习类似的注意力。如上所述,该网络倾向于学习 两种不同的注意力。
对于物理注意力,来自 GAN 模块的 LSTM 隐藏状态和从场景中学习到的特征作为输入提供。这有助于更多地了解物理约束,例如路径是直的还是弯曲的、当前的移动方向、位置等是什么?
对于社会注意力,从特征提取器中学习的 LSTM 特征以及来自 GAN 模块的 LSTM 的隐藏状态作为输入提供。这会筛选出对未来预测影响大的其他行人轨迹。文章来源:https://www.toymoban.com/news/detail-400359.html
GAN
生成器的输入是从注意力模块中选择的特征以及从多元正态分布中采样的噪声 “ z z z”。该模块使用了带有注意力的输入特征,生成一条符合社会现实的行人未来轨迹。GAN 模块主要受到 Social GAN 的启发,几乎没有进一步的变化。Loss 同样用的是 Social Gan 的loss。文章来源地址https://www.toymoban.com/news/detail-400359.html
总结
- 人体轨迹预测在现实场景有着极具挑战且有着重要的应用,例如人机交互的问题,自动驾驶汽车的感知能力。
- 如何对人与人之间的交互进行建模是上述方法之间的主要区别。从方法和结果来看,我认为相邻人之间的交互和人于环境的交互也是在之后工作值得探讨的方向。
引用
- Xue, Hao, Du Q. Huynh, and Mark Reynolds. “SS-LSTM: A hierarchical LSTM model for pedestrian trajectory prediction.” WACV, 2018.
- Agrim Gupta, Justin Johnson, Li Fei-Fei. “Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks.” CVPR 2018
- Amir Sadeghian, Vineet Kosaraju, Ali Sadeghian. “Sophie: An Attentive GAN for Predicting Paths Compliant to Social and Physical Constraints.” CVPR 2018
到了这里,关于轨迹预测论文解读系列——几种经典的网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!