轨迹预测文献阅读整理(轨迹多样性、车辆轨迹、图神经网络、潜码)
近日阅读了一些和轨迹预测相关的文献,但由于学业事务较多,因此无法抽出足够的时间对文章进行细致的梳理,在此对所阅读的5篇文章中的亮点进行简要的梳理。
5篇论文的研究目的都是使用端到端的深度学习模型,利用序列型数据预测后续的轨迹行径,研究的对象有经典的俯瞰监控视角的ETH/UCY数据集,也有预测车辆行驶轨迹的数据集。轨迹预测的核心结构依旧以Seq2Seq为主,所提出的不同模型方法主要旨在从交互性建模的效率和预测结果的多样性两个方面进行了创新。
关于这两个创新的方面,存在的问题和一些解决方案有:
- 交互性建模:
- 描述:在复杂的行人道路或行车道路中,个体的轨迹运动决策受到其他个体的相互作用影响,让深度学习模型通过数据自动化地学习到相互作用的影响,有助于生成更准确、更可行的轨迹方案。
- 部分解决方案,可以在个体的位置上建立Grid框,对在框中的其他个体状态进行压缩池化,生成固定长度的交互信息;也可以借助图神经网络,引入图卷积或图注意力机制对交互状态进行编码。
- 预测多样性:
- 描述:常规的学习模型实现的是找到\(f:X \to Y\)的函数映射,但是对于轨迹,从常识来看模型并不是函数,而是one-to-many的映射关系,因此使用常规的训练方式会使模型容易陷入mode-averaging(预测的结果靠近一种折中的状态,但这种并不是所需要的)。
- 部分解决方案:基于生成对抗式网络(GAN)或自动编码机(AutoEnoder)这类常用的生成式结构,通过引入基于分布的噪音(潜码),主要通过设计流程或目标函数,训练模型学习噪音分布与行为模式的关系,从而针对同样的已知信息,能够给定不同的噪音(行为模式),生成多样化的轨迹。
TPPO: A Novel Trajectory Predictor with Pseudo Oracle
Yang B, Yan G, Wang P, et al. TPPO: A Novel Trajectory Predictor with Pseudo Oracle[J]. arXiv preprint arXiv:2002.01852, 2020.
简述:设计了基于俯瞰监控视角的行人轨迹预测模型,在SGAN模型的基础上,重点关注如何更有效地提取交互信息和生成多种可行性的轨迹。
HighLights:
-
适应性潜码的生成:
- 背景:SGAN所基于的conditional-GAN,是在原有只以来噪音的GAN基础上,新增额外的条件信息(即通过已知轨迹所提取的轨迹信息),可认为噪音的分布其实是不同的行动模式。但是,对于不同的输入轨迹,其具有的行动模式可能无法由一个固定的先验噪音分布来刻画,而所需要能够学习不同行动模式的类。
- 改进:如上图模型结构中,在原有的GAN生成结构中新增了生成潜码分布的模块,先验分布的形态保持为正态分布,但其均值和方差值由模型学习得到。有两个分布生成器,训练时,学习整个轨迹的分布器所生成的分布作为潜码分布,同时训练学习已知轨迹的分布器;而预测时,学习已知轨迹的分布器生成的分布作为潜码分布。
-
交互信息编码:
- 交互建模是池化+注意力机制,注意力权重的计算依据的是行人之间几何角度方位的差异,模型借鉴了“Field of View”的定义用来刻画正常个体在行进时能够观察到的视角。与直接划清视角范围,模型利用注意力机制学习视角,建立任意两个个体角度的余弦值,形成矩阵,训练权重矩阵根据余弦值得出注意力权重。
- Value - 周边个体的状态,Key - 周边个体的运动方向,Query - 预测个体的运动方向。
损失函数:
\(L = L_{adv} + \alpha \times L_{variety} + \beta \times L_{KD}\)
第一项:GAN损失;第二项:SGAN中的变种L2损失;第三项:潜码分布生成的KD损失。
Multiple Futures Prediction
Tang C, Salakhutdinov R R. Multiple futures prediction[C]//Advances in Neural Information Processing Systems. 2019: 15398-15408.
概述:文章旨在解决在车辆在常见的行车环境中的行驶轨迹预测,重点尝试研究潜码的定义与生成,以做到更加实际可用的多轨迹生成,同时还研究了如何提取交互型特征。这篇文章的理论性很强,逻辑关联也很紧密。
Highlights:
- 离散型潜码:文章说明了使用连续性分布作为潜码的近似后验分布将无法直接计算,必须要靠蒙特卡洛采样等方法进行近似性的评估,这种采样评估的方式实用价值不高。因此,文章用离散型的\(z^n \sim Multinoulli(K)\)分布作为随机潜码的分布,这种分布的状态数是有限的,模型自动学习将分布与运动模式相联系,推理预测时遍历分布即可。
-
严谨的数学概率推导公式作为支撑:文章中使用了很多篇幅从概率方面重点探讨设计模型的原因和原理,例如:
- 在编码交互信息时,由于其他行人的意识(latent variable)无法直接被求出,因此交互特征的提取只能依靠外在的表现。 -> 由此,概率公式写成了公式(5)。
-
比较详尽的如何设计模型学习的目标函数的过程,包括如何进行变分近似以满足可行性,最终得到的公式(8)就是整体训练优化函数,训练时会拆解成多步进行,框架和TPPO文章中的训练是类似的。
-
数学技巧的注释,例如\(log(\Sigma_Z(p(Y,Z | X; \theta)))= \Sigma_Zp(Z|X,Y;\theta)log(\frac{p(Y,Z|X;\theta)}{p(Z|Y,X;\theta)})\),使用了log-derivative trick的技巧,这些机器学习的技巧还在学习,暂时没有完全弄清楚。Tricks
-
允许what-ifs的假设预测,更好满足计划与决策时的需求:交互性特征提取的模型贯穿整个过程(即在预测阶段也会进行交互特征提取),相较于只在已知轨迹阶段进行交互特征提取,全过程的能够固定某个个体的状态不变,查看其余个体的后续行动。
Stochastic Trajectory Prediction with Social Graph Network
Zhang L, She Q, Guo P. Stochastic trajectory prediction with social graph network[J]. arXiv preprint arXiv:1907.10233, 2019.
简述:模型基于图神经网络和Seq2Seq模型,对监控视角的行人轨迹进行预测。潜码设计是该模型的亮点,相比于SGAN,本模型的潜码设计要复杂很多,是基于时间的潜码。
Highlights:
- 图建模:行人间的交互性不是完全双向的,受限于视角等因素影响存在差异,因此建立的是有向边;将图神经网络设计成了多层——Blocks,类似于MLP的结构,提取更抽象的信息。
- 序列型的潜码构建:红框部分,这种潜码的构建原理在于人在行动过程中,意识随着周围情况可能发生改变。
- 由\(x_{\lt t}\)的序列获取第\(t\)时刻的意识(潜码)\(z_t\),由\(p_{\psi}(z_t|x_{\lt t})=LSTM(x_{\lt t})\)来生成先验分布。
- 为了能够训练好上述的先验分布推理器,需要用$ p_{\phi}(z_t|x_{\le t})=LSTM(x_{\le t})\(来生成后验分布,而后\)\psi\(变利用和\)\phi\(之间的KL散度作为目标函数进行优化。而\)\phi$的学习则是在训练模型预测轨迹的准确性中完成。这和上文TPPO中如何得到潜码生成器的思路是一样的。
- 在训练/推理阶段,红框中的LSTM内容应该是不一样的。
- 分步式生成解码:在图中的蓝框部分,有两层LSTM,第一段LSTM在得到潜码和交互特征后生成轨迹,而后第二段LSTM综合生成的轨迹和最初每条轨迹独立嵌入得到的信息,对轨迹进行微调,使其更符合个人的目标。这种方法有助于当设计一种模型,并重点强化某种考虑的因素。
- 注意:上述模型图理解起来比较抽象,因为其并不是严格执行顺序建立的,只是展示了整个网络的物理结构,大体反映迭代预测一步的执行顺序。
SCALE-Net: Scalable Vehicle Trajectory Prediction Network
1 Jeon H, Choi J, Kum D. SCALE-Net: Scalable Vehicle Trajectory Prediction Network under Random Number of Interacting Vehicles via Edge-enhanced Graph Convolutional Neural Network[J]. arXiv preprint arXiv:2002.12609, 2020.
2 Gong L, Cheng Q. Exploiting edge features for graph neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 9211-9219.
概述:文章旨在使用能够学习边特征的图神经网络对行进车流中其他车辆进行特征提取,并进行所有车辆的轨迹预测,在保持性能不变的条件下的可扩充性是其研究目标,使得在基本不变的运算量情况下保持较好的预测结果。
Highlights:
-
基于EGNN图神经网络的交互信息编码:在上图的整个模型概览中,可以看到由观测到的原始序列数据,化成两条流程生成,最后再交给生成器(解码器)生成轨迹。上方的流程主要就是提取交互性特征的,使用的是论文[2]中所提出的图神经网络,这种模型相较于GAT网络而言,最大的变化是允许边的特征也是多维度的,从而允许图网络的边携带更多的信息。
-
EGNN原始公式:EGNN是多层的图神经网络(可以类比于MLP),对于其中一层的更新状态为:
-
\(X^l = \sigma[\parallel_{p=1}^P (\alpha_{..p}^l(X^{l-1}, E_{..p}^{l-1})g^l(X^{l-1}))]\)
-
其中\(X^l\)代表图中第\(l\)层所有节点的状态,其由边向量的各个\(P\)频道生成的张量拼接在一起经过激活函数\(\sigma\)生成。对于\(\alpha_{..p}^l(X^{l-1}, E_{..p}^{l-1})\)这部分公式的具体流程,论文中给出了两个具体公式:
\(\alpha_{..p}^l=DS(\hat\alpha_{..p}^l)\)
\(\hat\alpha_{ijp}^l=f(X_i^{l-1}, X_i^{l-1})E_{i,j,p}^{i-1}\),
DS - doubly stochastic normalization(双随机正则化?),f函数可以为任何的注意力函数。
-
补充:此外,EGNN模型的原文中还有很多预处理相关的步骤,在此不再展开。
-
-
SCALE-Net采用了EGNN这种模型, 对于每个时刻,每个车为一个节点,节点状态为\(X_l=[x_e, y_e, v_{x_e}, v_{y_e}, \theta_e]\) (x坐标、y坐标、x方向速度、y方向速度和倾角), 而节点间的边大体按照\(E_{ij} = |X_i - X_j|\)表示(当然还有很多细节处理问题),呈现出多维的状态。建好的图就用多层的EGNN算法计算即可。下一个时刻,图模型又会重新建造,EGNN重新运行,每次EGNN最后一层的输出交给序列模型处理。
-
对于EGNN中的几个抽象方法的实现不再这里展开,下面的流程图展示了由t时刻的所有车状态为数据,在计算4号节点的交互特征的\(l+1\)层时流程图,红色为节点状态,绿色为边状态:
-
-
关于坐标基的选择考虑:在编码交互信息时,选择了使用同一的坐标,以便提取出的交互信息所有车都能使用;而在下方的流程中,在独立编码每辆车的运行轨迹时,将坐标切换到了每辆车相对于自己出发点的相对位置,这样的好处在于起到了标准化的作用,这种间接标准化的方法比较新颖。
问题:
- 运算量平行实验指标:为了展示该模型在可扩充的周围车辆环境中运行效率的稳定,将SCALE-Net、LSTM等网络进行了平行的对比实验,得到的结果是“SCALE-Net随车辆增加运行时间基本没有什么变化,而Vanilla LSTM则随着车辆增加线性变化”。这可能是实验代码撰写的差异导致的性能低下,在SCALE-Net中预测轨迹时是多个LSTM并行生成,而在Vanilla LSTM中,则使用LSTM逐个生成,但实际上也可以并行生成。无论怎么来说,Vanilla LSTM可以算作是SCALE-Net中的一小部分,不可能具有更大的计算量。
- 不确定性:车辆驾驶环境下的轨迹预测对安全性和可靠性要求很高,该模型生成的轨迹是单一轨迹,在不确定度、预测概率分布等方面都还没有做考虑。
STGAT
Huang Y, Bi H K, Li Z, et al. STGAT: Modeling Spatial-Temporal Interactions for Human Trajectory Prediction[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 6272-6281.
简述:STGAT基于Seq2Seq的结构,重点在使用GAT(Graph Attention Network)提取交互信息,是一个比较轻量的网络。也加入了固定先验分布的噪音,以生成多样性的轨迹。
Highlights:
- 序列GAT网络:利用序列模型编码每一条轨迹序列,每一步都存在序列模型都会生成状态,而后针对每个个体,使用GAT网络计算注意力权重,将这些状态加权平均形成该个体在时刻的交互信息。
- 在neck vector出新增了噪音,但是由于缺少了GAN、VAE等生成模型的结构,不太清楚模型对噪音-行为模式关联度的学习效果。实验中的multimodal评价的图比较少。
- 模型可解释性:利用GAT中的注意力机制,在绘制预测轨迹时现实了在不同时刻的交互信息的重要性。