Spatial-Temporal Block and LSTM Network for Pedestrian Trajectories Prediction
用于行人轨迹预测的时空块和LSTM网络
作者:Dan Xiong
论文地址:
发表时间:
备注:提供改善思路
论文解析
代码开源
代码解析
摘要
在本文中,我们提出了一种新颖的基于LSTM的算法。
我们通过考虑静态场景和行人来解决该问题,静态场景和行人结合了 图卷积网络和时间卷积网络 以从行人中提取特征。
场景中的每个行人都被视为一个节点,我们可以通过图形嵌入来获得每个节点与其邻域之间的关系。
LSTM编码关系,以便我们的模型可以同时预测人群场景中的节点轨迹。
为了有效地预测多种可能的未来轨迹,我们进一步引入时空卷积块以使网络更加灵活。
在两个公共数据集(即ETH和UCY)上的实验结果证明了我们提出的ST-Block的有效性,并且我们获得了人类轨迹预测的最新方法。
1 引言
2 相关工作
**2.1. LSTM networks for sequence prediction序列预测的LSTM网络 **
**2.2. Encoder-Decoder framework **
编码器-解码器学习人的状态并存储他们的运动历史并生成目标序列。单纯的递归模型可能无法正确模拟行人之间的互动。 [20]介绍了一种RNN编码器-解码器框架,该框架使用变分自动编码器(VAE)进行轨迹预测。 [11]将传统的编码器-解码器框架从顺序扩展到顺序建模,以同时包含软注意和硬注意。训练了序列到序列的LSTM编码器-解码器[15,18,26],该序列将观察结果编码为LSTM,然后解码为预测。
** 2.3. Spatial Temporal Graph Convolutional Networks时空图卷积网络 **
尽管深层RNN架构在建模序列方面具有显着的能力,但缺乏直观的高级时空特性。迄今为止,时空图已用于许多领域的预测。研究人员应用时空图对交通预测[32,37]和动态骨架[35,36]进行精确建模。另外,[24]介绍了扩散卷积递归神经网络(DCRNN),它是一种深度学习框架,在交通流中纳入了时空依赖性。 [26]提出了一种方法,该方法结合了高级时空图的功能和递归神经网络(RNN)的序列学习成功性,可以对人体运动和物体相互作用进行建模。然而,很少有人尝试将时空网络和LSTM网络结合起来对行人序列进行建模,并根据行人和时间步长的分布预测其轨迹。
我们的模型能够考虑其他周围的行人,并能够使用GAN模块生成多个合理的路径。
我们的模型ST-LSTM和SocialSTGCNN之间的两个关键区别是,我们提取的特征通过ST块相互链接,并通过LSTM网络绘制交互来直接对行人轨迹进行建模。
2.4. Graph Embedding图嵌入
图形是一种重要的数据表示形式,它出现在各种各样的实际场景中。有效的图形分析可提供对行人数据集的更深入了解。图形嵌入将图形数据转换为低维,紧凑且连续的特征空间。关键思想是保留拓扑结构,顶点内容和其他辅助信息。例如,通过最大化观察以其嵌入为条件的节点邻域的概率,可以将图形中的二阶邻近度保留在嵌入空间中[39]。社交STGCNN从图中提取空间和时间信息,从而创建合适的嵌入[33]。但是我们的工作借鉴了一种新颖的图嵌入框架的经验[38],该框架对场景中空间特征的拓扑结构和节点内容进行编码,以预测行人的轨迹。该模型我们都使用两个时间卷积网络和一个空间卷积网络的STBlock来提取遵循LSTM网络的特征。图的节点表示行人,并且边缘捕获其时空相互作用。通过从图上自动学习空间和时间模式,我们的方法超越了先前方法的局限性。
3 METHOD
我们将每帧的场景视为一个整体,将行人步行空间视为一个连通的图。
我们分别通过图卷积网络和时空卷积网络提取每个场景的时空特征,从而形成时空块。
由于LSTM网络在序列建模中取得了成功,因此我们使用LSTM网络对差异状态的时空特征进行编码,以确保序列的时间依赖性。
LSTM相互连接,以使最终的架构捕获st图形的结构和交互。为了共同促使多个人在LSTM之间共享信息,我们的工作添加了卷积模块。对信息进行解码后,我们的工作可以准确地达到行人轨迹检测的目的。
**3.1. Problem Definition **
3.2. Spatio-Temporal graph network 时空图网络
时空图网络由两部分组成,用于提取图特征。
第一部分是用于提取空间特征的图卷积网络(GCN)。
GCN通过在图中定义卷积运算符来提取图中每个节点的全局邻域。
该模型迭代地聚合节点的邻域嵌入,并使用先前迭代中获得的嵌入和嵌入函数来实现新的嵌入。
它的优势在于,本地邻域的聚合嵌入使网络具有可扩展性,并允许嵌入节点通过多次迭代来描述全局邻域。
另一部分是门控CNN [25],用于提取时间特征。我们在时间轴上采用整个卷积结构来捕获行人流的时间动态行为。
这种特定的设计允许通过形成为分层表示形式的多层卷积结构进行并行和可控的训练过程。
3.3. Graph Representation of Pedestrian Trajectories行人轨迹的图形表示
我们介绍了行人轨迹的图形表示的构造。我们构造了一组空间图G,它们表示每个时间步长t时场景中行人的相对位置,
G
=
{
V
t
,
E
b
,
X
t
}
G=\left\{V_{t}, E_{b}, X_{t}\right\}
G={Vt,Eb,Xt},
其中:
Vt是图Gt中的一组节点,
G
t
,
V
t
=
{
v
t
i
}
,
i
∈
1
,
…
,
n
G_{t}, V_{t}=\left\{v_{t}^{i}\right\}, i \in 1, \ldots, n
Gt,Vt={vti},i∈1,…,n,
n是时间步t的行人总和。
E
t
\mathrm{E}_{t}
Et是一组边缘,表示节点之间的连接线,
E
t
=
{
e
t
i
j
}
,
i
,
j
∈
1
,
…
,
n
E_{t}=\left\{e_{t}^{i j}\right\}, i, j \in 1, \ldots, n
Et={etij},i,j∈1,…,n。
X
t
X_{t}
Xt代表内容特征,描述与每个节点关联的节点本身的属性。图Gt的拓扑结构可以由邻接矩阵A表示。加权邻接矩阵A是图边缘属性的表示。
核函数将
v
t
i
v_{t}^{i}
vti处的属性映射到附加到
e
t
i
j
e_{t}^{i j}
etij的值
A
i
j
A_{i j}
Aij,如果
e
t
i
j
∈
E
t
e_{t}^{i j} \in E_{t}
etij∈Et,则Aij = 1,否则Aij = 0。
3.4. Graph Convolutional Networks for extracting spatial features (图卷积网络提取空间特征)
我们受到ARGA [38]的启发,该技术利用GCN [40]同时编码节点结构信息和节点特征信息。
为了将图形中的拓扑结构和节点内容编码为紧凑的表示形式,我们将图形中每个行人的绝对坐标用作节点,在其上训练了解码器来重构图形结构。
我们的图卷积网络(GCN)将卷积的操作扩展到光谱域中的图形数据,并通过光谱卷积函数学习分层转换:
Z l + 1 = f ( Z l , A ∣ W l ) Z^{l+1}=f\left(Z^{l}, A \mid W^{l}\right) Zl+1=f(Zl,A∣Wl)
其中 Z l Z^{l} Zl是卷积的输入, Z l + 1 Z^{l+1} Zl+1是卷积后的输出。 Z 0 = X ∈ R n × m Z^{0}=X \in R^{n \times m} Z0=X∈Rn×m分别表示节点和特征的集合。 W l W^{l} Wl是我们需要在神经网络中学习的滤波器参数的矩阵。
图卷积网络的每一层都用以下函数表示:
Gconv
0
(
Z
l
,
A
∣
W
l
)
=
ReL
U
(
D
~
−
1
2
A
~
D
~
−
l
2
Z
l
W
l
)
\operatorname{Gconv}_{0}\left(Z^{l}, A \mid W^{l}\right)=\operatorname{ReL} U\left(\widetilde{D}^{-\frac{1}{2}} \widetilde{A} \widetilde{D}^{-\frac{l}{2}} Z^{l} W^{l}\right)
Gconv0(Zl,A∣Wl)=ReLU(D
−21A
D
−2lZlWl)
其中
A
~
=
A
+
I
and
D
~
i
i
=
Σ
j
A
~
i
j
\widetilde{A}=A+I \text { and } \widetilde{D}_{i i}=\Sigma_{j} \widetilde{A}_{i j}
A
=A+I and D
ii=ΣjA
ij,
I是A的单位矩阵。ReLU是激活函数。
图空间嵌入由两层GCN构成:
H
=
Gconv
1
(
Gconv
0
(
Z
,
A
∣
W
0
)
,
A
∣
W
1
)
\mathbf{H}=\operatorname{Gconv}_{1}\left(\operatorname{Gconv}_{0}\left(Z, A \mid W^{0}\right), A \mid W^{1}\right)
H=Gconv1(Gconv0(Z,A∣W0),A∣W1)
其中
H表示图的网络嵌入矩阵,第一层Gconv0和第二层Gconv1分别使用ReLU和线性激活函数。
3.5. Temporal Convolutional Networks for extracting temporal features时间卷积网络提取时间特征
为了准确地提取每个t时刻场景的时间特征,我们选择TCN作为深度网络的起点[41]。
TCN将堆积的顺序数据作为输入,并整体预测一个序列。
TCN是通过两种方法实现的,它使用一维全卷积网络(FCN)架构,其中每个隐藏层的长度与输入层的长度相同,并添加长度的零填充以使后续层的长度与先前的层相同,并使用因果卷积,其中时间t的输出仅与时间t或更早的上一层中的元素卷积。简而言之:
T C N = 1 D F C N + causal convolutions \mathrm{TCN}=1 \mathrm{D} \mathrm{FCN}+\text { causal convolutions } TCN=1DFCN+ causal convolutions
时间模型可以将更多的注意力集中在场景的显着区域和相关性更高的邻近行人上,从而真正地预测未来状态。
3.6. Spatio-temporal Convolutional Block
我们受到[37]的启发,空间和时间特征的融合可以更好地处理图结构的时间序列,而时空卷积块可以根据规模和复杂性来堆叠或扩展网络的图特征,从而使网络灵活。
图2:我们都使用两个时间卷积网络和一个空间卷积网络的ST块,LSTM网络来提取之后的特征。图的节点表示行人,并且边缘捕获其时空相互作用。
如图2的ST-Block部分所示,中间的空间层是桥接两个时间层的,它们可以通过时间卷积从图卷积传播到快速空间状态,以进行比例压缩和特征压缩。
ST块的输入和输出是三维张量,其中包含批大小,最大节点数和序列长度。此外,在每个ST块中都使用了层归一化以防止过度拟合。
3.7. LSTM based Encoder-Decoder framework基于LSTM的编解码器框架
我们需要一个紧凑的表示形式,它将来自不同编码器的信息进行组合,以有效地推理社交互动。
长短期记忆(LSTM)网络已被证明在序列建模中是成功的。在基本的LSTM网络体系结构中,给定以(x1,…,xT)表示的输入序列,可以通过迭代计算 t = 1,…,T公式(1)(2)获得输出序列yt。:
h
t
=
LSTM
(
h
t
−
1
,
x
t
,
W
)
h_{t}=\operatorname{LSTM}\left(h_{t-1}, x_{t}, \boldsymbol{W}\right)
ht=LSTM(ht−1,xt,W)
y
t
=
W
h
y
h
t
+
b
y
y_{t}=\boldsymbol{W}_{h y} h_{t}+b_{y}
yt=Whyht+by
W项表示不同的权重矩阵,by表示yt输出的偏置向量,h表示隐藏状态
3.8. Encoder module
通过遵循先前的工作,我们采用LSTM网络对每个行人的ST块信息进行编码,并捕获不同状态的ST块之间的依赖性。
编码器了解行人的空间和时间状态,并存储行人的轨迹历史。这些嵌入在时间t用作编码器LSTM单元的输入,引入以下重复出现:
其中 b s t t b_{s t}^{t} bstt是ST块, S t , T t S^{t}, T^{t} St,Tt分别是空间特征块和时间特征块。 h b t h_{b}^{t} hbt是t处的隐藏状态,并且场景中的所有人共享LSTM权重(Wencoder)。
3.9. Decoder module
最近的工作33(STGCNN)使用二元高斯分布作为行人位置的正样本。使用此方法确定可以将阳性样本应用于常见的人口密度。此外,我们利用LSTM网络的存储特性对所有行人的时空特征进行解码,并重构图数据以预测节点位置。
其中LSTM权重由Wdecoder表示,而γ是具有ReLU非线性的MLP。我们将L2损失应用于预测轨迹,该轨迹测量预测样本与实际地面真实情况之间的距离。我们还使用图信息A,图结构A和内容信息X来训练预测层,以确定两个节点之间是否存在交互。
我们将解码器损失函数表示为ℒ0,它使图形数据的构造误差最小:
L 0 = E q ( Z ∣ ( X , A ) ) log p ( A ^ ∣ Z ) ] \left.\mathcal{L}_{0}=E_{q(Z \mid(X, A))} \log p(\widehat{A} \mid Z)\right] L0=Eq(Z∣(X,A))logp(A ∣Z)]