目录

概览

  1. 描述:模型基于LSTM神经网络提出新型的Spatio-Temporal Graph(时空图),旨在实现在拥挤的环境下,通过将行人-行人,行人-静态物品两类交互纳入考虑,对行人的轨迹做出预测。

  2. 训练与测试数据库

    1. 数据库:ETH Walking Pedestrian & UCY Students and Zara
    2. 数据:请参见https://www.cnblogs.com/sinoyou/p/11227348.html

    QUESTION

    数据库ETH和UCY中均只提供行人的轨迹坐标信息,未提供静态物体的坐标和分类方式,有关Obstacle的数据来源未知。

  3. 评价指标与评价结果

    1. ADE(Average Displacement Error) - 计算出每位行人整个轨迹偏差的均值,再对所有行人取平均。

      ADE = \[\Sigma^N_{j=1}{\Sigma^n_{i=1}\sqrt{(\hat x_i^j - x_i^j)^2 + (\hat y_i^j - y_i^j)^2} \over n} \over N\]

    2. FDE(Final Displacement Error)- 计算出每位行人轨迹重点的偏差,再对所有行人取平均。

      FDE = \[\Sigma^N_{j=1}{\sqrt{(\hat x_n^j - x_n^j)^2 + (\hat y_n^j - y_n^j)^2}} \over N\]

    3. 评价结果:

      1. 对比其他Graph-based baselines:S-RNN、Social Attention等,H-H和H-H-O模型的平均测试结果能够减少最大为55%的ADE和61%的FDE。
      2. 对比Social LSTM和SGAN等其他模型,有以下重大提升:
        1. 在静止物体较多的数据集(如Hotel和UCY)中,H-H-O模型在FDE错误率上最高降低93%。
        2. 在人群密集处如入口(ETH)中,人群避免碰撞的情况常发生,H-H-O在FDE错误率上最高降低89%。
      3. 相比于其他模型,此模型更适合预测Finial Step,而不是Entire Step。

模型

本文在此将基于基于图的神经网络资料阅读整理的已有内容着重强调新模型运用Attention机制在原有SRNN模型基础上做出的改进,其他基础型内容请参见链接

Spatio-Temporal Graph

模型中的时空图有两类点和三类边

  1. Pedestrian Node:行人点
  2. Object Node:静态物品点
  3. Spatial-Edge(两类):同一时刻不同点之间的连边。所有行人之间都连有双向的Spatial-Edge,当行人很靠近Object时,有从Object指向行人的单向Spatial-Edge。
  4. Temporal-Edge:相邻时刻连接相同行人点的单向边。

边权(edge features)定义

  1. 不同点之间的边(Spatial-Edge)如\(x_{v_1v_2}\),表示两点之间距离。
  2. 相同点之间的边(Temporal-Edge)如\(x_{v_1v_1}\),表示该点的位置。

LSTM替换st-graph中的部件

  1. 将st-graph因式化分解,st-graph的点和边替换为LSTM序列后得到:temporal edgeLSTM, spatial edgeLSTM, nodeLSTM
  2. 同SRNN结构,nodeLSTM的输出时每一步预测的最终输出,在每一步运行时会将相邻edgeLSTMs的输出经过注意力机制后作为输入,层级在edgeLSTMs之上。

Edge LSTM

spatial edgeLSTM

​ 对于每条edge都有一个LSTM模型,为了适应后续nodeLSTM处理方式,对于spatial edges将统一处理同一个点为起点的所有spatial edges(以 · 表示)。

​ \[e^t_{v_2.} = \phi(x_{v_2.}^t;W_s)\] - embedding

​ \[h^t_{v_2.} = LSTM(h_{v_2.}^{t-1}, e^t_{v_2.}, W_s^{lstm})\] - lstm cell

temporal edgeLSTM

​ 对于每个点都仅有一个temporal edgeLSTM,因此无需批量地处理。

​ \[e_{v_2v_2} = \phi(x^t_{v_2v_2};W_t)\] - embedding

​ \[h_{v_2v_2}^t = LSTM(h_{v_2v_2}^{t-1}, e_{v_2v_2}^t, W_t^{lstm})\] - lstm cell

Node LSTM

QUESTION

Obstacle是否仅在建边时与pedestrian存在不同,而使用nodeLSTM等都与pedestrian一致?

假设nodeLSTM的输出满足二维正态分布

同SRNN模型,\(v_2\)的nodeLSTM将用注意力机制整合来自\(v_2\)相邻点之间edgeLSTM输出和\(v_2\)的temporal edgeLSTM输出作为输入的一部分(公式中\(H_{v_2}^t\)就是整合得到),最终基于LSTM的输出是二维正态分布的假设,求出预测的位置或计算损失值(与Social LSTM类似)。

\[\mu_{v_2}^{t+1}, \sigma_{v_2}^{t+1}, \rho_{v_2}^{t+1} = W_{out}h_{v_2}^t\]

\[(x_{v_2}^{t+1}, y_{v_2}^{t+1}) \sim N(\mu_{v_2}^{t+1}, \sigma_{v_2}^{t+1}, \rho_{v_2}^{t+1})\]

根据文章的解释,\(x^t_{v_2}\)和\(x^t_{v_2v_2}\)应该相等,即temporal edgeLSTM和nodeLSTM从st-graph所获取的features应该是一样的。

Node LSTM

\[e_{v_2}^t = \phi(x_{v_2}^t; W_{embed}) \] - embedding

\[h_{v_2}^t = LSTM(e_{v_2}^t, concat(h_{v_2}^t, H_{v_2}^t, e_{v2}^t), W^{lstm})\] - lstm cell

\(H_{v_2}^t\)的运算

文献中对于\(H_{v_2}\)的计算方式已经通过图示展现的很清晰明显了,大体就是将来自spatial edgeLSTM和temporal edgeLSTM的输出\(h_{v_2.}^t,h_{v_2v_2}^t\)经过PRelu和softmax得到的归一化\(\hat e_{v_2.}\),与源数据作乘法得到注意力权重\(a_{v_2}^t\),将这些权重累加并取平局即得到加权平均的隐藏状态\(H_{v_2}\)。

QUESTION

该文献与其他文献对于注意力权重的称呼有所不同,其他参考文献中将经过softmax归一化的数据称作注意力权重(coefficient),即\(\hat e_{v_2}\),将\(a_{v_2}.\)称作加权结果,但该文献中将\(a_{v_2}.\)称作注意力权重,权重之和再平均就是加权的隐藏状态。

模型在求得\(H_{v_2}\)使用的正是注意力机制,在借鉴了multi-head attention机制后改进出multi-node attention机制,有以下几个要点:

  1. 引入了PReLU函数,相比于常规Relu有一个可训练的参数P,以便让负值隐藏值有细微跨度差异,实验证明对效果有提升。
  2. multi-node vs multi-head:相较于multi-head attention,模型提出的注意力模型没有使用scale dot-product操作,而是用累加和平均的方式,也就没有大幅压缩向量维度,保留信息更充分。

文献阅读报告 - Situation-Aware Pedestrian Trajectory Prediction with Spatio-Temporal Attention Model的更多相关文章

  1. 文献阅读报告 - Social LSTM:Human Trajectory Prediction in Crowded Spaces

    概览 简述 文献所提出的模型旨在解决交通中行人的轨迹预测(pedestrian trajectory prediction)问题,特别是在拥挤环境中--人与人交互(interaction)行为常有发生 ...

  2. 文献阅读报告 - 3DOF Pedestrian Trajectory Prediction

    文献 Sun L , Yan Z , Mellado S M , et al. 3DOF Pedestrian Trajectory Prediction Learned from Long-Term ...

  3. 文献及代码阅读报告 - SS-LSTM:A Hierarchical LSTM Model for Pedestrian Trajectory Prediction

    概览 简述 SS-LSTM全称Social-Scene-LSTM,是一种分层的LSTM模型,在已有的考虑相邻路人之间影响的Social-LSTM模型之上额外增加考虑了行人背景的因素.SS-LSTM架构 ...

  4. 文献阅读报告 - Pedestrian Trajectory Prediction With Learning-based Approaches A Comparative Study

    概述 本文献是一篇文献综述,以自动驾驶载具对外围物体行动轨迹的预测为切入点,介绍了基于运动学(kinematics-based)和基于机器学习(learning-based)的两大类预测方法. 并选择 ...

  5. 文献阅读报告 - Social Ways: Learning Multi-Modal Distributions of Pedestrian Trajectories with GANs

    文献引用 Amirian J, Hayet J B, Pettre J. Social Ways: Learning Multi-Modal Distributions of Pedestrian T ...

  6. 文献阅读报告 - Context-Based Cyclist Path Prediction using RNN

    原文引用 Pool, Ewoud & Kooij, Julian & Gavrila, Dariu. (2019). Context-based cyclist path predic ...

  7. 文献阅读报告 - Social BiGAT + Cycle GAN

    原文文献 Social BiGAT : Kosaraju V, Sadeghian A, Martín-Martín R, et al. Social-BiGAT: Multimodal Trajec ...

  8. 文献阅读报告 - Move, Attend and Predict

    Citation Al-Molegi A , Martínez-Ballesté, Antoni, Jabreel M . Move, Attend and Predict: An Attention ...

  9. 文献阅读报告 - Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks

    paper:Gupta A , Johnson J , Fei-Fei L , et al. Social GAN: Socially Acceptable Trajectories with Gen ...

随机推荐

  1. 安卓平分位置layout_weight学习记录

    weight (权重)  使用把layout_width写成0   weight 为平分剩余父容器位置 两个标签平分 <?xml version="1.0" encoding ...

  2. IDA使用初步

    按空格看结构图,再按空格看汇编代码,按F5反编译 shift+F12 搜索中文字符串,通过字符串所在位置定位关键信息. 双击可能出flag的语句跳转至关键字符串. 想F5生成C伪代码,先crtl+X打 ...

  3. 九九乘法表的四种三角形排布方式(for循环以及while循环的互换)

    #region //右上 for (int i = 1; i <= 9; i++){ for (int j = 1; j <= 9; j++){ if (i > j){ Consol ...

  4. UVA - 10305 Ordering Tasks(拓扑排序)

    题意:给定优先关系进行拓扑排序. 分析:将入度为0的点加入优先队列,并将与之相连的点入度减1,若又有度数为0的点,继续加入优先队列,依次类推. #pragma comment(linker, &quo ...

  5. CAD转PDF再由pdf转jpg图片

    免费的PDF转JPG图片 https://www.gaitubao.com/pdf-to-jpg/

  6. 前端解析返回的对象时json显示$ref问题的解决

    在mapper中写的语句,结果集中association,采用的一个对象,整个list列表中每个元素有一个对象元素,如果第二个元素中有一个与第一个元素中对象同名的,就会去引用上一个元素的地址,在jso ...

  7. 利用ThoughtWorks.QRCode生成二维码

    一.项目添加ThoughtWorks.QRCode.dll和System.Drawing.dll的引用 二.创建二维码公共处理类(QRCodeHandler.cs) /// <summary&g ...

  8. 新手学Java,有哪些入门知识点?

    很多小伙伴们在刚接触Java的时候,会有些迷茫,不知道该从哪里入手,不管是做前端还是后端,程序员都会用到JAVA,那该掌握哪些必要的基础知识呢.今天就跟大家分享新手学Java,有哪些入门知识点? 下面 ...

  9. Spark 内存管理

    Spark 内存管理 Spark 执行应用程序时, 会启动 Driver 和 Executor 两种 JVM 进程 Driver 负责创建 SparkContext 上下文, 提交任务, task的分 ...

  10. oracle 使用触发器实现id自增

    前提:存在数据库di_test,主键为id.1.创建一个索引sequence create sequence di_test_id minvalue 1 nomaxvalue start with 1 ...