文献阅读报告 - Social LSTM:Human Trajectory Prediction in Crowded Spaces
概览
简述
文献所提出的模型旨在解决交通中行人的轨迹预测(pedestrian trajectory prediction)问题,特别是在拥挤环境中——人与人交互(interaction)行为常有发生的地方。
文献构建的数据驱动模型,利用在序列预测上表现突出的LSTM模型以行人为单位进行轨迹预测,同时为了解决多个行人的LSTMs之间无法捕捉行人空间中交互的问题,模型在LSTMs每一步运行之间加入了“Social”池化层,池化层将整合其他行人的隐藏状态(Hidden State),并作为隐藏状态一部分传递下去,最终形成模型Social LSTM。
由于池化层的引入,使得LSTMs间出现动态数据(在模型运行中才能得到)的依赖,模型训练时需要有多个LSTMs同步并行运行和反向传播,为了简化训练压力,文献也提出了O-LSTM模型,该模型可针对每位行人的轨迹进行独立的训练。

最后,文献使用了ETH和UCY两个公开数据库数据,从轨迹平均误差、重点误差和轨迹非线性区间误差三个指标衡量多重模型的预测性能,得出Social-LSTM和O-LSTM性能整体上优于其他模型的结论。
相关研究
前人对交互环境下的轨迹预测已经提出了多种方法,例如以Social Force为基础的将行人行动模型之间刻画吸引力和排斥力的模型,已发展出了相当多的方法,然而文献中提到这些方法大都受限于两个方面:
- 需要手工构造函数以刻画交互而不是数据驱动,导致模型的环境适应性差,并且只能较好捕捉简单的交互情景。
- 模型所针对的通常是距离很相近的情景,而没有考虑更远距离可能发生的交互。
数据库
数据源:ETH、UCY
数据格式(经处理和提取以适应此训练任务)
元数据标签:time frame(时间片序号)、pedestrian ID(行人标识符)、position x、position y
时间精度:time frame之间间隔均为10的倍数,精度为0.4秒
位置精度:训练数据中x和y均经过标准化处理,\(0 <= x,y <= 1\) 。源数据中x,y,z精度为米。
横向评估标准
- Average displacement error:即均方误差(MSE)。\(MSE = \frac{1}{N}{ \sum_{i=1}^n(Y_i - \hat Y_i)^2}\)
- Final displacement error:终点平方误差。\(DSE = (Y_{T_{pred}} - \hat Y_{T_{pred}})^2\)
- Average non-linear displacement error:MSE的改良版,误差计算周期不再是整个周期,而是轨迹有明显非线性变化的区域,旨在突出Social LSTM对非线性轨迹预测的效果。非线性区域判断依据是自适应阈值的轨迹二阶导数,但并未在源代码中找到相关实现。
Social LSTM模型简介
LSTM
LSTM模型被证明为解决序列预测问题的有效方式,由一个LSTM Cell经过多次迭代,每步迭代中都会接受输入和产生输出,从而产生序列型输出。有关RNN及LSTM标准模型本文不再详细介绍,此处仅说明实际应用时的要点。

- 建模方法:一“条”LSTM模型对应一个行人的轨迹序列,所有LSTM模型都共用同一个LSTM Cell。
- 输入输出:不考虑Minibatch的实际训练方法对数据维度的影响:LSTM Cell每步运行的输入数据格式为“由[x,y]经embedding后得到的向量”;LSTM Cell每步运行的输出数据经线性变换后成为\([ \mu_x, \mu_y, \sigma_x, \sigma_y, \rho ]\),之所以不是平面二维的2个数据,是由于原文采用了输出数据分布为二维高斯分布的假设,5个数据恰对应高斯分布参数。
- 池化层引入必要性:由建模方法和输入输出可知,在现有LSTMs模型中的LSTM之间完全独立,运行前中后都没有数据信息的共享,因此无法表现行人间交互信息。为此,Social LSTM在上图所示的\(h_1, h_2, h_3, ..., h_t\)上进行改动以达到每“条”LSTM运行一步后都会进行信息共享,Social LSTM Cell的隐藏状态将由池化层经处理整合后得到。
Social Tensor
Social Tensor是使得每位行人的LSTM模型进行信息交换的途径,实质是一个池化层,每个行人\(i\)在每个时间点\(t\)均对应一个Social Tensor-\(H^i_t\),用于记录在该行人划定的范围\(Z^i_t\)中,其他行人的信息,并作为行人\(i\)隐藏状态的一部分,参与其下一步轨迹预测从而起到传递行人间交互信息的作用。
量化描述:
Shape : [\(N_0\), \(N_0\), \(D\)](其中\(N_0\)是\(Z_i\)区域的进一步等距划分,\(D\)是隐藏状态 Hidden State的维度大小)
数据组成:每个\(H^i_t\)均由其他LSTM模型的\(h^i_t\)按一定策略加和。首先,只有处在\(Z^t_i\)区域中的行人的LSTM模型的\(h^i_t\)会被累积;其次,\(Z_t^i\)区域存在进一步分区,对于被累积的\(h^i_t\),其会被累加至对应的分区上。
\[H_t^i(m,n,:) = \sum_{j \in N_i } 1_{mn}[x_t^j - x_t^i, y_t^j - y_t^i]h_{t-1}^j\]
其中,\(1_{mn}[...]\)是01函数用于判断是否处在区域中,\(h_{t-1}^j\)是隐藏状态,\(N_i\)是相邻行人。

Occupancy Map Pool
Social Tensor池化的简化版,使得模型训练时无需同时处理所有的轨迹,下述公式也可看出Tensor中不再统计隐藏状态的值,而只统计行人数量。
\[ O_t^i(m,n,:) = \sum_{j \in N_i} 1_{mn}[x_t^j - x_t^i, y_t^j - y_t^i]\]
研究拓展方向
- 拓展模型至多类别道路对象(行人、自行车、滑板等),在Occupancy Map 中有自己的标签。
- 将场景的静态图片作为Social LSTM模型的额外输入,在描述Person-Person的交互的基础上,描述Person-Space的交互。
文献阅读报告 - Social LSTM:Human Trajectory Prediction in Crowded Spaces的更多相关文章
- 文献阅读报告 - Social BiGAT + Cycle GAN
原文文献 Social BiGAT : Kosaraju V, Sadeghian A, Martín-Martín R, et al. Social-BiGAT: Multimodal Trajec ...
- 文献阅读报告 - 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 ...
- 文献阅读报告 - 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 ...
- 文献阅读报告 - 3DOF Pedestrian Trajectory Prediction
文献 Sun L , Yan Z , Mellado S M , et al. 3DOF Pedestrian Trajectory Prediction Learned from Long-Term ...
- 文献阅读报告 - Situation-Aware Pedestrian Trajectory Prediction with Spatio-Temporal Attention Model
目录 概览 描述:模型基于LSTM神经网络提出新型的Spatio-Temporal Graph(时空图),旨在实现在拥挤的环境下,通过将行人-行人,行人-静态物品两类交互纳入考虑,对行人的轨迹做出预测 ...
- 文献阅读报告 - Pedestrian Trajectory Prediction With Learning-based Approaches A Comparative Study
概述 本文献是一篇文献综述,以自动驾驶载具对外围物体行动轨迹的预测为切入点,介绍了基于运动学(kinematics-based)和基于机器学习(learning-based)的两大类预测方法. 并选择 ...
- 文献阅读报告 - Context-Based Cyclist Path Prediction using RNN
原文引用 Pool, Ewoud & Kooij, Julian & Gavrila, Dariu. (2019). Context-based cyclist path predic ...
- 文献阅读报告 - Move, Attend and Predict
Citation Al-Molegi A , Martínez-Ballesté, Antoni, Jabreel M . Move, Attend and Predict: An Attention ...
- Social LSTM 实现代码分析
----- 2019.8.5更新 实现代码思维导图 ----- ----- 初始原文 ----- Social LSTM最早提出于文献 "Social LSTM: Human Traject ...
随机推荐
- uboot源码分析1-启动第一阶段
1.不简单的头文件包含 #include <config.h>:这个文件的内容其实是包含了一个头文件:#include <configs/x210_sd.h>". # ...
- DirectX9完全面向对象框架
#pragma once #define UNICODE //Direct3D lib #include<d3d9.h> #include<d3dx9.h> #pragma c ...
- UVALive - 7752 Free Figurines
题意:有n个娃娃,如果大娃娃j直接套小娃娃i,则fa[i] = j.若fa[i] = 0,则该娃娃自由.给出每个娃娃初始的父亲,和改变后的父亲,在满足以下合法操作的条件下,问最少需要多少次变换. 1. ...
- HihoCoder第九周 状态压缩 二 与POJ2411总结
在此我向各位博友求助,特别想知道除了HihoCoder上面的结果要对1e9+7取余之外,这两道题还有什么其他的问题,都是骨牌覆盖问题,都是状态压缩+dp,为什么我能过poj2411的程序过不了Hiho ...
- 洛谷 P2426 删数
题目传送门 解题思路: 区间DP,f[i][j]表示区间i~j可获得的最大值,因为本题的所有区间是可以直接一次性把自己全删掉的,所以所有区间初始化为被一次性删除的值,然后枚举断点,跑区间DP. AC代 ...
- 文本编辑器vim/vi——模式切换及输入模式
vim一共有三种模式:命令模式.输入模式.末行模式 要从命令模式切换到输入模式:a,i,o a——append 属于在后面追加内容:i——insert 属于插入,在前面插入内容:o——other 属于 ...
- 云时代架构阅读笔记一——Java性能优化(一)
Java语言学习了这么长时间之后,自己对于Java编程的一些细节还是稍微有点总结,正好根据云时代架构中<Java高级开发必会的50个性能优化的细节(珍藏版)>来叙述一些我和里面的点比较相符 ...
- 用 Python 编写一个天气查询应用 pyqt5
效果预览: ! 一.获取天气信息 使用python获取天气有两种方式. 1)是通过爬虫的方式获取天气预报网站的HTML页面,然后使用xpath或者bs4解析HTML界面的内容. 2)另一种 ...
- 051-PHP求余运算
<?php $x=10%5; //进行求余运算 $y=10%3; //进行求余运算 $z=10%6; //进行求余运算 echo $x; //输出变量x的值 echo $y; //输出变量y的值 ...
- C# ------ MEF
参考 参考 MEF全称Managed Extensibility Framework, 是一个用于创建可扩展的轻型应用程序的库.开发人员可以利用MEF发现并使用扩展,但并不需要配置,而且还可以在应用程 ...