文献阅读报告 - Context-Based Cyclist Path Prediction using RNN
原文引用
Pool, Ewoud & Kooij, Julian & Gavrila, Dariu. (2019). Context-based cyclist path prediction using Recurrent Neural Networks. 824-830. 10.1109/IVS.2019.8813889.

概览
前段时间读了几篇有关轨迹预测的文章,这些文章大多在鸟瞰监控视角下,以提升准确性、多样性和合理性为目的,提出对各情景通用的轨迹预测模型。今天这篇文章则有所不同,是我目前看到少有的基于RNN的轨迹预测落地应用的文章,其针对T字形路口情景中,车前骑行者的轨迹(直行/借道转弯)预测,在考虑了常用的认知特点后,RNN序列模型表现出相较Dynamic Model较大的提升。

HighLights
- 基于常见认知的多种类输入:针对路口的骑行轨迹预测,模型加入了骑行者距离路口的距离、速度不变时汽车超越骑行者所需时间和骑行者的手臂是否举起三个特征作为轨迹以外的语义信息,符合人类在常见情况下的认知规律。
- 动态输入,定点预测,更符合模型实际应用情景:模型最终衡量的是\(p(x_{t+n}|y_{0:t})\),也就是Prediction Point(预测点\(t\))后的第\(n\)步预测结果。其中\([0:t]\)的定义比较特别,其长度是动态的(在实际情况中,我们可以理解成骑行者被检测到时就开始输入RNN模型),在模型训练和测试时,都是通过指定不同的预测点\(t\)来产生多组数据和情景。
- 通过实验证明模型对语义信息的捕捉能力和语义信息抽取的合理性:文章在后面实验中着重探究了模型在“紧急/非紧急”和“挥手/不挥手”的情景数据下表现能力。对于模型对语义信息的捕捉能力,并不是一味地高准确率就好,只有正常语境下的正确预测与不正常语境下的错误预测才反映出模型对语义与轨迹行为相关性的捕捉;而对于语义信息抽取的合理性,则是通过模型能够学习出语义信息与行为的相关性而间接反映的。
- 充分的测试与细致的定性分析
- 对数据标准化和隐藏状态重置两种正则化方法必要性进行研究,得出对准确性提升的结论。
- 路口转向时,不确定性分布的可视化。
- 通过设定不同时刻的Prediction Point(开始预测的时间点),观察准确性变化,研究过拟合的情况。
- 探讨训练数据中加入不正常行为后预测准确性增加的原因。
- 利用GRU序列模型,减少训练参数数量,匹配于有限数据量
Questions
- “隐藏状态重置”的正则化方法理解:随机失活?全盘重置?
- TTE定义的合理性:TTE=0被定义为骑行者跨过某个点的时刻,这个点被定义为数据集中25%的转弯者已经左转弯。如何定义左转弯?25%选择的合理性?
- 合理情形和不合理情形分类的标准。
模型
简介
如下图所示,预测模型整体是一个RNN模型,输入RNN的数据由两部分组成,首要的是模型下方的轨迹数据\(x_0,x_1,x_2...\)(具体作为模型输入时还需再处理,详见下文),其次是三个语义环境信息组成的\(c_t\)向量:
- Static Context:骑行人沿主干方向距离路口的距离。
- Dynamic Context:汽车与骑行人保持同样速度,发生超越的时间。
- Object Context:行人挥手行人。(通过CNN网络预训练得到,用\(0-1\)之间的置信度表示。
通过指定预测点\(t\)和预测长度\(n\),预测点后的轨迹将以二维高斯分布的形式进行预测:
- When Training:损失函数的计算将评估\([x_{t},x_{t+n}]\)整个区间。
- When Interface:评价指标将只关注\(x_{t+n}\)的预测情况。

RNN模型
受限于训练数据的有限性,文章选择了GRU作为RNN模型的单位,虽然轨迹与语义情景的输入与输出由同一个RNN序列完成,但我们可以大致将其分为输入和预测两个阶段。
输入阶段:
对于每一步的GRU Cell的输入\(y_t\),其是轨迹输入和语义情景输入经过处理和拼接后得到的,实际上\(y_t\)中的轨迹坐标部分,其输入实际为当前位置相对于上一时刻的偏移(offset):
\[y_t = [x_t-x_{t-1},c_t]^T\]
而经过GRU Cell得到的隐藏状态\(h_t\),会用解码器得到隐藏状态的解码值\(h_{t,dec}\),并与\(\tilde y_t\)做减法运算,得到的差经过编码器处理作为下一步GRU的输入。
\[u_t = W_{enc}(\tilde y_t - W_{dec}(h_t)) = W_{enc}(\begin{bmatrix} {x_t - x_{t-1} \\ c_t}\end{bmatrix} - \begin{bmatrix} W_{pos}(h_t) \\ W_{cues}(h_t)\end{bmatrix})\]
[注意]这篇文章中的RNN模型输入与常见模型有着很大的不同,其在输入阶段就已经有迭代化(上一步输出参与当前步的输入运算)的现象。而将预测与输入做差结果作为GRU的输入其实就反映RNN模型的输入是真实与预测之间的差异。

预测阶段:
在输入阶段,每一步GRU的输入均是“Offset的预测值与Offset的真实值差异”的编码值,而在预测阶段真实值肯定是不存在的,因此这时我们每次传递给编码器的值就是\(0\)(言下之意:神经网络你太棒啦!分毫不差!)
\[u_t = W_{enc}(0).\]
由于每步输出的都是相对上一步的偏移值Offset,因此\(t+n\)时刻的坐标计算如下:
\[\hat x_{t+n} = x_t + \sum_{i=1}^nW_{pos}(h_{t+i})\]

文献阅读报告 - Context-Based Cyclist Path Prediction using RNN的更多相关文章
- 文献阅读报告 - Social LSTM:Human Trajectory Prediction in Crowded Spaces
概览 简述 文献所提出的模型旨在解决交通中行人的轨迹预测(pedestrian trajectory prediction)问题,特别是在拥挤环境中--人与人交互(interaction)行为常有发生 ...
- 文献阅读报告 - Pedestrian Trajectory Prediction With Learning-based Approaches A Comparative Study
概述 本文献是一篇文献综述,以自动驾驶载具对外围物体行动轨迹的预测为切入点,介绍了基于运动学(kinematics-based)和基于机器学习(learning-based)的两大类预测方法. 并选择 ...
- 文献阅读报告 - 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(时空图),旨在实现在拥挤的环境下,通过将行人-行人,行人-静态物品两类交互纳入考虑,对行人的轨迹做出预测 ...
- 文献阅读报告 - 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 ...
- 文献阅读报告 - Move, Attend and Predict
Citation Al-Molegi A , Martínez-Ballesté, Antoni, Jabreel M . Move, Attend and Predict: An Attention ...
- 文献阅读报告 - 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 ...
- Adaptively handling remote atomic execution based upon contention prediction
In one embodiment, a method includes receiving an instruction for decoding in a processor core and d ...
随机推荐
- jenkins构建python项目时,提示python不是内部或外部命令的解决办法
1.回到 Jenkins 首页,点击 “构建执行状态”或“Build Executor Status” ,右则会列出本机信息. 完美解决!!!
- ss性能
ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信 ...
- 编程练习:求某个数的n次方,返回其个位和十位
#!/usr/bin/env python def pow1(n,m): if m==0: return 1 if m==-1: return (1/n) if m & 1 != 0: ret ...
- vue - 动态绑定 class
<template> <div class="todo-item" :class="{'is-complete':todo.completed}&q ...
- grep -o -E
sed 命令可以很好的进行行匹配,但从某一行中精确匹配某些内容,则使用 grep 命令并辅以 -o 和 -E 选项可达到此目的.其中 -o 表示“only-matching”,即“仅匹配”之意.光用它 ...
- Day6 - I - Sticks Problem POJ - 2452
Xuanxuan has n sticks of different length. One day, she puts all her sticks in a line, represented b ...
- 西门子 S7-200CN CPU 224CN EEPROM芯片
拆下来了个 224CN 的EEPROM芯片
- HTTP和HTTPS的区别及HTTPS加密算法
一.HTTP和HTTPS的概念 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传 ...
- 《ES6标准入门》(阮一峰)--5.字符串的新增方法
1.String.fromCodePoint() ES5 提供String.fromCharCode()方法,用于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于0xFFFF的字符. ...
- HDU - 1698 Just a Hook (线段树---区间修改)
题意:n个棍子,初始值全为1,给定Q个区间,分别赋值,问n个棍子的总值. 分析:lazy标记主要体现在update上. 当l <= L && R <= r时,该结点的子结点 ...