摘要
开发安全的人机交互系统是实现自主代理在社会中广泛整合的必要步骤。这种系统的关键组成部分是能够推断场景中其他代理人的许多潜在未来(例如轨迹)。为此,我们提出了Trajectron,这是一种图形结构模型,可以在高动态和多模态场景中同时预测多个代理的许多潜在未来轨迹(即场景中的代理数量随时间变化而且有很多可能每个代理人的高度复杂的未来)。它结合了循环序列建模和变分深度生成建模的工具,为场景中的每个代理生成未来轨迹的分布。我们在几个数据集上演示了我们模型的性能,获得了标准轨迹预测指标的最新结果,并引入了一个新的指标来比较输出分布的模型。
1.Introduction
对人类未来行为进行建模是朝着发展作为社会一部分的安全自治系统迈出的重要一步。人类自然能够通过许多社交互动场景(例如穿越密集的人群或在高速公路上协商交通)的主要原因之一是人类具有内在的心理理论(ToM),即能够推断其他人在其国家方面的行为[14]。目前,大多数自治系统没有这样的推理能力,迫使他们以最小的人机交互操作低风险角色,这一事实肯定会随着制造,仓库和运输中自动化的不断增长而发生变化。因此,需要开发可被自治系统使用的 computational ToM models,以通知他们自己的计划和决策,帮助他们自然地通过相同的社交互动场景进行导航。然而,开发人类行为模型涉及解决一系列独特的挑战。一些最苛刻的挑战是人类具有高度多变性,动态性和可变性。在这里,“多模态”指的是许多高度不同的未来行为的可能性;“动态”是指人类在场景中出现和消失的能力,例如:当他们进出相机时;“变量”是指在任何场景中都可以有不同数量的人,这意味着任何多智能体模型都需要能够处理不同数量的输入。 现实世界人体运动的多模式,动态和可变性质的一个例子如图1所示。已经有针对性的努力分别处理这些挑战(或三分之二),但很少有。
具体而言,多模态是人类轨迹建模的先前方法所忽略的一个方面,因为它们主要侧重于预测每个代理人的单一未来轨迹[1,18,22,43,44],而不是可能的轨迹的分布[13,20]。我们认为分布对下游任务更有用(例如,运动规划和决策制定),其中诸如差异的信息可用于做出更安全的决策。
我们的贡献有两个:
(1)我们提出了Trajectron,一个用于建模多模态,动态和可变多智能体场景的框架。它有效地模拟了人类轨迹的多模态方面,并解决了动态图建模的问题,最近被确定为图网络架构中的一个开放问题[3]。
(2)我们在标准轨迹预测基准上获得了最先进的性能,优于以前的方法,并提出了一种比较生成轨迹模型的新方法。
图1.随着时间的推移,ETH多人类轨迹数据集中的场景。还可视化同一场景的无向图表示,说明其结构随时间变化的方式。节点和边缘分别表示为白色圆圈和实心黑色线条。箭头描绘了潜在的未来代理速度,颜色代表不同的高级行为模式。为清楚起见,它们仅显示一次。最好用颜色来区分。
2. Related Work
Human Trajectory Forecasting
人类轨迹预测有大量先前的工作。早期作品,如社会力量模型[18],采用动态系统来模拟影响人体运动的力量(例如,对其目标位置的吸引力和对其他人的抵抗力,从而避免碰撞)。从那时起,许多其他类型的方法已经将轨迹预测形成为序列建模回归问题,以及强有力的方法,如反向强化学习(IRL)[27],高斯过程回归(GPR)[8,34,44]和递归神经网络(RNNs)[1,28,43]的应用具有很强的性能。然而,IRL主要依赖于单因素假设的相互作用结果[24,29];探测器成为长时间推断的牺牲品,因此机器人使用它是不可行的;和标准RNN方法无法处理多模态数据。
其中,基于RNN的模型的表现优于以前的作品,因此它们构成了当今许多人类轨迹预测模型的支柱[1,21,43]。但是,仅RNN无法处理空间背景,因此需要额外的结构。大多数这种附加结构以用于编码相邻人类信息的方法的形式出现。因此,这些方法中的大部分都可以被视为图形模型,因为对节点行为进行建模以及它们如何受边缘影响的问题是人类轨迹预测的更一般版本。
Graphical Models
许多方法已将图形结构作为其基本构建块。特别是,时空图(STG) 是一种流行的选择,因为它们自然地捕获空间和时间信息,这两者都是多智能体建模的必要部分。
图形结构有三个关键的好处,它们
(1)自然地允许一般数量的输入进入另一个固定模型;
(2)作为一般的中间代表,提供从特定领域的问题元素的抽象,并使基于图形的方法能够部署在各种各样的应用上;
(3)鼓励模型重用作为图的不同部分可以使用相同的基础模型,从而实现超线参数缩放等益处[20]。
不幸的是,许多图形模型依赖于静态图假设,该假设表明图形组件随时间不变。
PGM是图形模型的原理实例[5,10,30,41,42]。然而,它们可能需要长时间的推断,因为它们的采样需要用像马尔可夫链蒙特卡罗[7,15]这样的方法,这对于我们需要multi-Hz预测频率的机器人使用情况来说太慢了。另一方面,图形建模的深度学习方法不会受到相同的推断复杂性的影响。在用于图形建模的深度学习方法中,模型之间有一个描述,它明确地模拟了其体系结构中的输入问题图(即,图形直接定义了深度学习体系结构)[20,21,26,43]和图作为输入并提供n步预测作为其输出的方法[3,4,23,36]。
Graphs as Architecture
这组方法通常将代理表示为节点及其作为代理的交互,使用深度序列模型(如长短期记忆网络(LSTM)[19])进行建模,使模型通过边缘模型捕获空间关系通过节点模型捕获时间关系。
沿着这种方法开展的一项工作是Structural-RNN [21],它为STG建模制定PGM,并用图形LSTM架构实现。在[1,43]中探索了基于汇集的不同边缘组合方法。值得注意的是,[43]提出了对所有节点的软关注。然而,这样做需要在线维护一个完整的图形以确定哪些边缘是相关的,一个
O
(
N
2
)
O\left(N^{2}\right)
O(N2)命题与图形大小的关系很差,特别是当拥挤的环境在同一场景中可能有数百个人时[25]。[20,26]提出了基于图形的建模框架,用CVAEs解决了多模态,但忽略了动态图的考虑。最近,[13]沿着我们的需求提出了一个深入的轨迹生成模型。然而,对于机器人使用情况来说这是不切实际的,因为它反复采样很慢并且其性能有很多不足之处,这两者都将在第5节中显示。
Graphs as Data
另一种图形建模范例,图形网络(GNs),以相同的方式表示代理及其交互,但假设有向多图形场景结构[3]。在GN中,学习了一个函数,它在输入图上运行,用PGM启发的更新规则更新它们的属性(例如消息传递[45])。由于这些方法在每个时间步长处获取图G,因此它们能够处理在预测步之间改变的图。然而,这只是处理动态边缘的隐含能力,目前还不清楚如何明确处理动态节点和边缘[3,23]。此外,GN还没有多模态建模功能[3,4]。
总的来说,我们选择将我们的模型作为“图形作为体系结构”方法的一部分,作为其状态图表示(产生在线有效迭代预测)和模块化(启用模型重用和广泛参数共享)的结果。
3. Problem Formulation
在这项工作中,我们感兴趣的是同时在一个场景中对每个智能体共同推理和生成未来轨迹分布。我们假设每个场景都经过预处理,以跟踪和分类代理,并在每个时间步长获得空间坐标。结果,每个代理i具有分类类型C i(例如“行人”)。令
X
i
t
=
(
x
i
t
,
y
i
t
)
X_{i}^{t}=\left(x_{i}^{t}, y_{i}^{t}\right)
Xit=(xit,yit)表示第i个代理在时间t的位置,并且令
X
1
,
…
,
N
t
X_{1, \ldots, N}^{t}
X1,…,Nt表示相同的量,但它是对于场景中的所有代理。
令
X
i
(
t
1
:
t
2
)
=
X_{i}^{\left(t_{1} : t_{2}\right)}=
Xi(t1:t2)=
(
X
˙
i
t
1
,
X
i
t
1
+
1
,
…
,
X
i
t
2
)
\left(\dot{X}_{i}^{t_{1}}, X_{i}^{t_{1}+1}, \ldots, X_{i}^{t_{2}}\right)
(X˙it1,Xit1+1,…,Xit2)表示在
[
t
1
,
t
2
]
\left[t_{1}, t_{2}\right]
[t1,t2] for
t
1
≤
t
2
t_{1} \leq t_{2}
t1≤t2的序列价值。
与之前的工作[1,13,43]一样,我们将场景
X
1
,
…
,
N
(
1
:
t
o
b
s
)
X_{1, \ldots, N}^{\left(1 : t_{o b s}\right)}
X1,…,N(1:tobs)中所有代理的先前轨迹作为输入,并且旨在产生预测
X
^
1
,
…
,
N
(
t
o
b
s
+
1
:
t
o
b
s
+
T
)
\widehat{X}_{1, \ldots, N}^{\left(t_{o b s}+1 : t_{o b s}+T\right)}
X
1,…,N(tobs+1:tobs+T),匹配真实的未来轨迹
X
1
,
…
,
N
(
t
o
b
s
+
1
:
t
o
b
s
+
T
)
⋅
X_{1, \ldots, N}^{\left(t_{o b s}+1 : t_{o b s}+T\right)} \cdot
X1,…,N(tobs+1:tobs+T)⋅ 。注意,我们没有假设N是静态的,即我们可以有N = f(t)。
4. The Trajectron
我们的解决方案,我们命名为Trajectron,结合了变分深度生成模型(特别是CVAE),循环序列模型(LSTM)和动态时空图形结构的元素,以生成高质量的多模态轨迹,模拟和预测多人的未来行为。我们的完整架构如图2所示。
我们认为人类i的质心服从单积分动力学:
U
i
t
=
X
i
t
=
(
x
˙
i
t
,
y
˙
i
t
)
U_{i}^{t}=X_{i}^{t}=\left(\dot{x}_{i}^{t}, \dot{y}_{i}^{t}\right)
Uit=Xit=(x˙it,y˙it)。这是一个直观的选择,因为一个人的动作都是位置改变的,例如步行增加了一个方向的位置,奔跑也是如此且速度更快。我们对任何人类的速度强制设置12.42m / s的上限,这是当前的速度世界纪录[12]。因此,Trajectron实际上模拟了人体的速度,然后将其数值积分以产生空间轨迹。由于
X
i
t
=
X
i
t
−
1
+
U
i
t
X_{i}^{t}=X_{i}^{t-1}+U_{i}^{t}
Xit=Xit−1+Uit,因此我们实际上是对改变位置的残差进行建模,而这种建模选择取自剩余架构[16,17]。速度数据很容易获得,因为我们可以在数值上区分提供的位置
X
1
,
…
,
N
(
1
:
t
o
b
s
)
X_{1, \ldots, N}^{\left(1 : t_{o b s}\right)}
X1,…,N(1:tobs)。因此,我们的全部输入是
x
=
[
X
1
,
…
,
N
(
1
:
t
o
b
s
)
;
X
˙
1
,
…
,
N
(
1
:
t
o
b
s
)
;
X
¨
1
,
…
,
N
(
1
:
t
o
b
s
)
]
∈
R
6
\mathbf{x}=\left[X_{1, \ldots, N}^{\left(1 : t_{o b s}\right)} ; \dot{X}_{1, \ldots, N}^{\left(1 : t_{o b s}\right)} ; \ddot{X}_{1, \ldots, N}^{\left(1 : t_{o b s}\right)}\right] \in \mathbb{R}^{6}
x=[X1,…,N(1:tobs);X˙1,…,N(1:tobs);X¨1,…,N(1:tobs)]∈R6和目标
y
=
X
˙
1
,
…
,
N
(
t
o
b
s
+
1
:
t
o
b
s
+
T
)
∈
R
2
\mathbf{y}=\dot{X}_{1, \ldots, N}^{\left(t_{o b s}+1 : t_{o b s}+T\right)} \in \mathbb{R}^{2}
y=X˙1,…,N(tobs+1:tobs+T)∈R2。
我们希望学习pdf概率密度函数
p
(
y
∣
x
)
p(\mathbf{y} | \mathbf{x})
p(y∣x)。为此,我们利用CVAE框架并引入一个离散的隐变量z(1):
p
(
y
∣
x
)
=
∑
z
p
ψ
(
y
∣
x
,
z
)
p
θ
(
z
∣
x
)
d
z
p(\mathbf{y} | \mathbf{x})=\sum_{z} p_{\psi}(\mathbf{y} | \mathbf{x}, z) p_{\theta}(z | \mathbf{x}) d z
p(y∣x)=z∑pψ(y∣x,z)pθ(z∣x)dzz的目的是在相互作用中模拟潜在结构,既可以提高学习效果,又可以对结果进行解释[20,37,40]。在我们的工作中,使用适合于最大化可观测的交互数据集D =
{
(
x
,
y
)
1
,
…
,
(
x
,
y
)
N
D
}
\left\{(\mathbf{x}, \mathbf{y})_{1}, \ldots,(\mathbf{x}, \mathbf{y})_{N_{D}}\right\}
{(x,y)1,…,(x,y)ND}神经网络对
p
ψ
(
y
∣
x
,
z
)
p_{\psi}(\mathbf{y} | \mathbf{x}, z)
pψ(y∣x,z) and
p
θ
(
z
∣
x
)
p_{\theta}(z | \mathbf{x})
pθ(z∣x)进行建模,通过最大化evidence-based lower bound(ELBO)的对数似然
log
p
(
y
∣
x
)
\log p(\mathbf{y} | \mathbf{x})
logp(y∣x)的来执行这种优化[9]。在形式上,我们希望解决(2)
max
ϕ
,
θ
,
ψ
∑
i
=
1
N
E
z
∼
q
ϕ
(
z
∣
x
i
,
y
i
)
[
p
ψ
(
y
i
∣
x
i
,
z
)
]
−
D
K
L
(
q
ϕ
(
z
∣
x
i
,
y
i
)
∥
p
θ
(
z
∣
x
i
)
)
\begin{aligned} \max _{\phi, \theta, \psi} \sum_{i=1}^{N} \mathbb{E}_{z \sim q_{\phi}\left(z | \mathbf{x}_{i}, \mathbf{y}_{i}\right)}\left[p_{\psi}\left(\mathbf{y}_{i} | \mathbf{x}_{i}, z\right)\right] \\ &-D_{K L}\left(q_{\phi}\left(z | \mathbf{x}_{i}, \mathbf{y}_{i}\right) \| p_{\theta}\left(z | \mathbf{x}_{i}\right)\right) \end{aligned}
ϕ,θ,ψmaxi=1∑NEz∼qϕ(z∣xi,yi)[pψ(yi∣xi,z)]−DKL(qϕ(z∣xi,yi)∥pθ(z∣xi))
其中x i和y i分别表示人i的过去轨迹信息和期望的预测输出。
图2.顶部:包含四个节点的示例图。a是我们的模型节点,类型为T 3。它有三个邻居:类型为T 1的b,类型为T 2的c,类型为T 1的d。在这里,c即将与a连接。下图:节点a的相应架构。这个图最好用彩色看。
Graphical Representation
当出现输入问题时,我们首先自动创建表示场景的无向图G =(V,E)(如图1所示)。节点代表代理,我们根据代理的空间接近度形成边缘,如先前的工作[1,20]。
Encoding Trajectory History
我们使用节点历史编码器Node History Encoder(NHE) 来编码节点的状态历史。它是一个具有32个隐藏维度的LSTM网络。形式上,我们的NHE计算(3)
h
i
,
n
o
d
e
t
=
L
S
T
M
(
h
i
,
n
o
d
e
t
−
1
,
x
i
t
;
W
N
H
E
,
C
i
)
h_{i, n o d e}^{t}=L S T M\left(h_{i, n o d e}^{t-1}, \mathbf{x}_{i}^{t} ; W_{N H E, C_{i}}\right)
hi,nodet=LSTM(hi,nodet−1,xit;WNHE,Ci)其中C i是节点i的分类类型,而且
W
N
H
E
,
C
i
W_{N H E, C_{i}}
WNHE,Ci是在相同类型的节点之间共享的LSTM权重。
在训练期间,我们还使用节点未来编码器Node Future Encoder(NFE) 来编码节点的地面实况未来轨迹。它是一个双向LSTM网络,具有32个隐藏维度,输出表示为
h
i
,
n
o
d
e
∗
t
+
h_{i, n o d e^{*}}^{t+}
hi,node∗t+。我们选择使用双向LSTM,因为它在其他序列总结任务中表现出强大的性能[6]。
Encoding Dynamic Influence from Neighbors
使用边缘编码器Edge Encoders(EE) 来综合邻近节点的影响。它们是具有8个隐藏维度的LSTM。形式上,对于节点i和类型k的边,我们的EEs计算(4)
e
i
,
k
t
=
[
x
i
t
;
∑
j
∈
N
k
(
i
)
x
j
t
]
h
i
,
k
t
=
L
S
T
M
(
h
i
,
k
t
−
1
,
e
i
,
k
t
;
W
E
E
,
k
)
\begin{aligned} e_{i, k}^{t} &=\left[\mathbf{x}_{i}^{t} ; \sum_{j \in N_{k}(i)} \mathbf{x}_{j}^{t}\right] \\ h_{i, k}^{t} &=L S T M\left(h_{i, k}^{t-1}, e_{i, k}^{t} ; W_{E E, k}\right) \end{aligned}
ei,kthi,kt=⎣⎡xit;j∈Nk(i)∑xjt⎦⎤=LSTM(hi,kt−1,ei,kt;WEE,k)其中[a; b]是级联,
N
k
(
i
)
N_{k}(i)
Nk(i)是沿着类型k的边缘的代理i的邻居集合,并且
W
E
E
,
k
W_{E E, k}
WEE,k是在相同类型的边缘之间共享的LSTM权重。我们通过将特定边缘类型的所有相邻节点的状态相加并将结果馈送到适当的边缘编码器中来组合这些状态,从而获得边缘影响表示。 我们选择以这种方式组合表示而不是通过连接来处理具有固定架构的可变数量的相邻节点,同时保留计数信息[4,20,21]。
然后通过标量乘法传递这些特征,它根据 the age of an edge调制边缘编码器EE的输出,从而实现动态边缘。(5)
h
i
,
k
t
~
=
h
i
,
k
t
⊙
min
{
∑
j
∈
N
k
(
i
)
M
[
t
,
i
,
j
]
,
1
}
\widetilde{h_{i, k}^{t}}=h_{i, k}^{t} \odot \min \left\{\sum_{j \in N_{k}(i)} M[t, i, j], 1\right\}
hi,kt
=hi,kt⊙min⎩⎨⎧j∈Nk(i)∑M[t,i,j],1⎭⎬⎫
其中M是具有形状(T,N,N)的3D边缘调制张量,并且min是逐元素的。
M
[
t
,
i
,
j
]
M[t, i, j]
M[t,i,j]是时刻t的节点i和j之间的边缘调制因子。这样可以最大限度地减少训练开销,因为它可以将动态边缘容量减少到3元组查找和逐元素相乘。为了处理相同类型的多个动态边缘,我们类似地对边缘的调制函数求和并应用逐元素最小化,以便适当地缩放得到的组合调制函数。
对于训练,我们通过用“边缘掩模”E并使用特定的1D滤波器(用A表示加法和R用于去除边缘)来预先计算M中的所有值.E是一个3D二元张量,由时间上的邻接矩阵组成,形状为(N,N,T)。从形式上看,(6)
M
=
min
{
A
∗
E
+
R
∗
E
,
1
}
M=\min \{A * E+R * E, 1\}
M=min{A∗E+R∗E,1}其中*表示1D卷积,min是逐元素操作的。
在测试时间期间计算M是更简单的过程,因为每个时间步长仅需要计算一个N×N切片。这是通过递增 the age of edges上的计数器(仅检查前一步骤的邻接矩阵)并计算必要的边缘调制因子(如果最近创建了边缘e则为
A
(
t
e
)
A\left(t_{e}\right)
A(te))和最近删除e时的
R
(
t
e
)
R\left(t_{e}\right)
R(te)来完成的。)。
例如,如果我们希望鼓励边缘加法(例如超过5个步骤)和锐边清除(例如超过1个步骤),我们可以将滤波器定义为
A
=
0.2
t
e
∀
0
≤
t
e
≤
5
A=0.2 t_{e} \forall 0 \leq t_{e} \leq 5
A=0.2te∀0≤te≤5 and
R
=
1
−
t
e
∀
0
≤
t
e
≤
1
R=1-t_{e} \forall 0 \leq t_{e} \leq 1
R=1−te∀0≤te≤1
其中te是边e的年龄。我们对A和R施加的唯一条件是它们从0开始并以1结束。为什么人们可能更喜欢平滑边缘添加和删除的一个例子是它拒绝高频切换,例如如果代理人在传感器限制下抖动。然后通过附加注意模块[2]将该调制表示与其他边缘影响合并,以获得总边缘影响编码。从形式上看,(7)
s
i
k
t
=
v
C
i
T
tanh
(
W
1
,
C
i
h
i
,
k
t
~
+
W
2
,
C
i
h
i
,
n
o
d
e
t
)
a
i
t
=
softmax
(
[
s
i
1
t
,
…
,
s
i
K
t
]
)
∈
R
K
h
i
,
edges
t
=
∑
k
=
1
K
a
i
k
t
⊙
h
i
,
k
t
~
\begin{aligned} s_{i k}^{t} &=v_{C_{i}}^{T} \tanh \left(W_{1, C_{i}} \widetilde{h_{i, k}^{t}}+W_{2, C_{i}} h_{i, n o d e}^{t}\right) \\ a_{i}^{t} &=\operatorname{softmax}\left(\left[s_{i 1}^{t}, \ldots, s_{i K}^{t}\right]\right) \in \mathbb{R}^{K} \\ h_{i, \text {edges}}^{t} &=\sum_{k=1}^{K} a_{i k}^{t} \odot \widetilde{h_{i, k}^{t}} \end{aligned}
siktaithi,edgest=vCiTtanh(W1,Cihi,kt
+W2,Cihi,nodet)=softmax([si1t,…,siKt])∈RK=k=1∑Kaikt⊙hi,kt
其中
v
C
i
,
W
1
,
C
i
,
W
2
,
C
i
v_{C_{i}}, W_{1, C_{i}}, W_{2, C_{i}}
vCi,W1,Ci,W2,Ci是在相同类型的节点之间共享的学习参数。我们选择使用
h
i
,
n
o
d
e
t
h_{i, n o d e}^{t}
hi,nodet作为“查询”向量,因为我们正在寻找与代理当前状态最相关的边的组合。我们选择使用加性注意 additive attention,因为它在自然语言处理中显示了序列建模体系结构的最佳性能[6]。总体而言,Trajectron采用了混合边缘组合方案,结合了社会注意[43]和Structural-RNN [21]的各个方面。
Generating Distributions of Trajectories
利用先前的输出,我们形成一个连接的表示
h
e
n
c
h_{e n c}
henc,然后参数化CVAE框架中的识别
q
ϕ
(
z
∣
x
i
,
y
i
)
q_{\phi}\left(z | \quad \mathbf{x}_{i}, \mathbf{y}_{i}\right)
qϕ(z∣xi,yi)和先前的
p
θ
(
z
∣
x
i
)
p_{\theta}\left(z | \mathbf{x}_{i}\right)
pθ(z∣xi)分布[40]]。我们从这些网络中对z进行采样,并将z和
h
i
,
enc
t
h_{i, \text {enc}}^{t}
hi,enct输入解码器。该解码器是具有128个隐藏维度的LSTM,其输出是高斯混合模型Gaussian
Mixture Model(GMM)参数,其中
N
G
M
M
N_{G M M}
NGMM = 16个分量,我们从中采样。从形式上看,(8)
h
i
,
e
n
c
t
=
[
h
i
,
edges
t
;
h
i
,
node
t
]
ϕ
=
M
L
P
(
[
h
i
,
e
n
c
t
;
h
i
,
n
o
d
e
t
+
]
;
W
ϕ
,
C
i
)
θ
=
M
L
P
(
h
i
,
e
n
c
t
;
W
θ
,
C
i
)
\begin{aligned} h_{i, e n c}^{t} &=\left[h_{i, \text {edges}}^{t} ; h_{i, \text {node}}^{t}\right] \\ \phi &=M L P\left(\left[h_{i, e n c}^{t} ; h_{i, n o d e}^{t+}\right] ; W_{\phi, C_{i}}\right) \\ \theta &=M L P\left(h_{i, e n c}^{t} ; W_{\theta, C_{i}}\right) \end{aligned}
hi,enctϕθ=[hi,edgest;hi,nodet]=MLP([hi,enct;hi,nodet+];Wϕ,Ci)=MLP(hi,enct;Wθ,Ci)
z
∼
{
q
ϕ
(
z
∣
x
i
,
y
i
)
,
for training
p
θ
(
z
∣
x
i
)
,
for testing
z \sim\left\{\begin{array}{l}{q_{\phi}\left(z | \mathbf{x}_{i}, \mathbf{y}_{i}\right), \text { for training }} \\ {p_{\theta}\left(z | \mathbf{x}_{i}\right), \text { for testing }}\end{array}\right.
z∼{qϕ(z∣xi,yi), for training pθ(z∣xi), for testing
y
^
i
t
∼
G
M
M
(
L
S
T
M
(
[
y
i
t
−
1
^
,
z
,
h
i
,
e
n
c
t
]
;
W
ψ
,
C
i
)
)
\hat{\mathbf{y}}_{i}^{t} \sim G M M\left(L S T M\left(\left[\widehat{\mathbf{y}_{i}^{t-1}}, z, h_{i, e n c}^{t}\right] ; W_{\psi, C_{i}}\right)\right)
y^it∼GMM(LSTM([yit−1
,z,hi,enct];Wψ,Ci))其中
W
ϕ
,
C
i
,
W
θ
,
C
i
,
W
ψ
,
C
i
W_{\phi, C_{i}}, W_{\theta, C_{i}}, W_{\psi, C_{i}}
Wϕ,Ci,Wθ,Ci,Wψ,Ci是在相同类型的节点之间共享的学习参数。最后,我们在数值上积分
y
^
i
t
\widehat{\mathbf{y}}_{i}^{t}
y
it产生
X
^
i
(
t
o
b
s
+
1
:
t
o
b
s
+
T
)
\hat{X}_{i}^{\left(t_{o b s}+1 : t_{o b s}+T\right)}
X^i(tobs+1:tobs+T)。使用GMMs的一个主要好处是它们是可解析的分布。这意味着下游任务可以利用其分析形式并直接使用分布参数而不是首先采样(例如,确定经验均值或方差)。
Additional Considerations and Implementation
请注意,我们关注的是节点和边缘类型,而不是单个节点和边缘。这允许更有效的参数缩放和数据集效率,因为我们在相同类型的图形组件之间重用模型权重。根据场景,E和M可能是密集的或稀疏的。我们对这种工作中的邻接结构没有做出任何假设。但是,可以注入这种附加的结构,以使计算对于特定应用更有效。另外,我们没有具体地模拟这项工作中的障碍,但是可以通过引入障碍物类型的静止节点来结合它们。“障碍”或“树”,如在先前的方法[33]。
Trajectron是在PyTorch [32]中编写的,在运行Ubuntu 18.04的台式计算机上进行了训练和实验,其中包含AMD Ryzen 1800X CPU和两个NVIDIA GTX 1080 Ti GPU。
5. 实验
我们在两个公开可用的数据集上评估方法,即ETH [33]和UCY [25]行人数据集。它们由真实的人类轨迹和丰富的多人交互场景组成。总共有5组数据,4个独特场景,共1536名行人。这些数据集是该领域的标准基准,因为它们包含具有挑战性的行为,例如夫妻走路,彼此交叉的群体,以及形成和分散的群体[33]。
我们以两种配置显示模型的结果:
- Full:我们模型预测的全部范围,其中z和y都根据它们的测试时间分布进行采样,
即 z ∼ p θ ( z ∣ x ) , y ∼ p ψ ( y ∣ x , z ) z \sim p_{\theta}(z | \mathbf{x}), y \sim p_{\psi}(\mathbf{y} | \mathbf{x}, z) z∼pθ(z∣x),y∼pψ(y∣x,z)。 -
z
b
e
s
t
z_{b e s t}
zbest:我们模型的一个版本,其中只有y被采样,z是
p
θ
(
z
∣
x
)
p_{\theta}(z | \mathbf{x})
pθ(z∣x)的模式,
即 z b e s t z_{b e s t} zbest= arg max z p θ ( z ∣ x ) , y ∼ p ψ ( y ∣ x , z b e s t ) \arg \max _{z} p_{\theta}(z | \mathbf{x}), y \sim p_{\psi}\left(\mathbf{y} | \mathbf{x}, z_{b e s t}\right) argmaxzpθ(z∣x),y∼pψ(y∣x,zbest)。
在以下所有结果中,我们的模型仅针对每个数据集进行了2000步的训练。与传统的深度学习方法相比,这是非常小的,因为我们的方法是积极的权重分享方案。
Evaluation Metrics.
与之前的工作[1,13,43]类似,我们使用两个错误指标。我们还介绍了产生分布的方法的第三种:
- Average Displacement Error (ADE)平均位移误差:地面实况与我们预测的轨迹之间的平均L2距离。
- Final Displacement Error(FDE)最终位移误差:预测最终目的地与预测地平线T之后的地面实况最终目的地之间的L2距离.
- Negative Log Likelihood (NLL)负对数似然:地面实况轨迹的平均负对数似然性。如图5所示,在相同的预测时间步长下,通过输出密度来确定输出采样量。
基线
我们将与以下基线进行比较:
- Linear: 线性回归量,通过最小化最小平方误差来估计线性参数。
- Vanilla LSTM:LSTM网络,不包含相邻的行人信息。
- Social LSTM:[1]中提出的方法。每个行人被建模为LSTM,其中使用建议的社交池层在每个时间步汇集相邻的行人隐藏状态。
- Social Attention:[43]中提出的方法。每个行人都被建模为LSTM,所有其他行人隐藏状态通过建议的社会关注层进行整合。
- Social GAN (SGAN):[13]中提出的方法。每个人被建模为LSTM,其中所有其他行人隐藏状态与全局池模块合并。然后将汇总数据以及编码轨迹输入生成对抗网络(GAN)[11]以生成未来轨迹。
这些模型中的前四个可以被广泛地视为确定性回归量,而SGAN和这项工作是生成概率模型。因此,我们明确地与SGAN进行比较,并使用自己的公共列车/验证/测试数据集拆分。
Evaluation Methodology
与之前的工作[1,43,13]一样,我们使用留一法,对4组进行训练并对剩余组进行测试。我们观察轨迹至少8个步骤(3.2s)并在接下来的12个(4.8s)时间步长内评估预测结果。
图3.左:每个数据集的所有方法的定量ADE结果,以及它们的整体性能。我们的方法以及SGAN显示了箱线图,因为它们产生了轨迹的分布。在两个模型的每个预测时间步长处对2000个轨迹进行采样,每个样本的ADE包括在箱图中。“x”标记表示平均ADE。来自其他基线的平均ADE可视化为水平线。右:FDE指标的结果。我们的方法平均优于平均FDE中的所有其他方法。
5.1定量评估
Standard Trajectory Prediction Benchmarks标准轨迹预测基准
由于[13]和[1]中同一作者报告的结果存在矛盾,因此很难确定该领域的最新技术水平。在[1]的表1中,社交LSTM在没有合并的情况下令人信服地胜过基线LSTM。然而,在[13]的表1中,社交LSTM实际上比平均相同的基线差。另外,[13]中报告的错误是通过重复采样来自SGAN的输出并报告来自最低错误轨迹的结果而获得的。这是一个不正确的评估,因为它使用来自测试集的未来信息。目前还不清楚如何在没有未来知识的情况下在线重现这种表现。基于此类评估的错误置信可能导致灾难性后果,特别是在自动驾驶汽车等HRI环境中。在这项工作中,当与Social LSTM进行比较时,我们报告了[13]表1中总结的结果,因为它是同一作者的最新作品。在报告SGAN结果时,我们使用自己的ADE和FDE指标实现,并评估作者发布的经过培训的SGAN模型。
我们将ADE和FDE指标的方法与图3中的不同基线进行比较。由于这些指标的性质,我们期望我们的 z b e s t z_{b e s t} zbest配置将表现最佳,因为它是我们的模型最接近的模拟预测源,由一个确定性回归量训练,以减少均方误差(MSE)。即使没有像MSE这样的损失函数的训练(正如所有其他方法那样,以及ADE和FDE直接对应),我们仍然能够获得有竞争力的表现。
事实上,我们的Full和
z
b
e
s
t
z_{b e s t}
zbest模型在平均FDE方面优于其他所有模型。我们模型的两种配置在每个数据集上都优于SGAN,对于Full,P = .01的最大P值,对于
z
b
e
s
t
z_{b e s t}
zbest,P = .002,对于我们和SGAN均值误差之间的差异使用双尾t检验。我们的方法的误差分布(在图3中可视化为方框图)通常也较低且更集中。我们相信我们的方法表现更好,因为ELBO损失力输出紧紧围绕地面实况。这可以通过我们的预测的低方差定性地看出,其示例在图4中示出。
A New Distributional Evaluation Benchmark新的分布评估基准
虽然ADE和FDE是比较确定性回归量的有用指标,但它们无法比较生成模型产生的分布,忽略了方差等方面。为了弥补评估指标中的这一差距,我们引入了一个新的指标,它可以在一个看不见的数据集上公平地估计方法的NLL,而不对方法的输出分布结构做任何假设。
Kernel Density Estimate(KDE)[31,35,38,39]在每个预测时间步长处获得该时间步长的采样轨迹的pdf。根据这些密度估计,我们计算地面实况轨迹的平均对数似然。该过程在图5中示出。为了确保将其应用于多个方法的公平性,我们使用现成的KDE函数和默认参数,它们分别对每个方法执行自己的带宽估计。虽然Trajectron可以计算自己的对数似然,但我们应用相同的评估方法来维持直接可比的性能测量。结果如图6所示。在该指标上,我们希望我们的full模型能够在使用我们模型的完整多模态概率模型能力时表现最佳。
图5.我们的概率评估方法的说明。它使用每个时间步的核密度估计来计算每个时间步的地面实况轨迹的对数似然,在时间上求平均以获得单个值。
图6.每个数据集的平均NLL。误差条表示启动95%置信区间。越低越好。
我们的两种方法在ETH数据集,UCY Univ数据集上的表现明显优于SGAN(平均值(P <.001;对我们和SGAN平均NLL之间差异的双尾t检验)。在UCY Zara 2数据集中,我们的full模型在性能上与SGAN相同(P = .99;相同的t检验)。然而,在UCY Zara 1数据集上,我们的full模型比SGAN表现更差(P = .03;相同的t检验)。我们认为,这种解决方案比其他数据集更频繁地改变了方向,导致它们的地面实况轨迹常常位于我们预测的边缘,而SGAN的高方差预测使其具有密度。我们在图7中展示了一些这样的例子。在所有数据集中,我们的full配置优于我们的
z
b
e
s
t
z_{b e s t}
zbest配置,验证我们模型的完整多模式建模能力是有强大表现的必要条件。
我们还评估了模型时间上的性能,以确定性能在预测范围内的变化程度。结果显示在图8中。可以看出,我们的完整模型在每个时间步长时都明显优于SGAN(P <.001;双尾t检验在两者之间的差异,即SGAN’meanNLLateachtimestep)。这强化了我们的方法不仅在平均方面更好,而且随着时间的推移始终保持强劲的表现。另一个有趣的观察是,我们的z最佳性能接近并满足SGAN在最后预测时间步长的表现,再次验证了我们关于明确建模多模态的必要性的假设。
Runtime Performance
开发机器人应用模型的一个关键考虑因素是它们的运行时间复杂性。因此,我们评估从商品模型中抽取许多轨迹所需的时间。结果总结在表1中。在该度量上,我们期望我们的zbest模型将比我们的full配置快一点,因为Full模型需要从每个新轨迹的pθ(z | x)进行采样,而zbest每个代理只需要采用pθ(z | x)模式一次。我们选择显示每个数据集的结果,因为运行时取决于代理的数量以及所需的轨迹样本的数量。我们的方法比SGAN的采样速度快得多(所有数据集的P <.001;对我们和SGAN采样200个轨迹的平均时间之差的双尾t检验)。由于我们的状态图表示,我们实现了这样的速度,使我们能够重新计算整个编码器表示
h
i
,
e
n
c
t
h_{i, e n c}^{t}
hi,enct,在新观察到的轨迹数据上执行几个LSTM单元。此外,我们假设zbest配置稍微快一点也适用。
5.2. Qualitative Analyses
Modularity and Few-Timestep Predictions.
Trajectron的核心是由多个独立的模型组成,每个模型都有不同的角色。因此,给定非常少的数据点,与单片SGAN相比,我们的方法可以做出准确的预测,SGAN产生大量可能的轨迹,其中大部分远离实际情况。这种行为的一个例子如图9所示。具有这种保守预测是不可取的,因为它可能导致自主代理过于保守的行为(阻止其达到目标),或者当不需要时避免操作(引导 -在场景中的其他代理人之间混淆)。Trajectron采用模块化设计,分为两层。第一个是在单个节点级别,我们的架构包含多个较小的专用神经网络。第二个是图的级别,因为节点及其边缘是我们架构的每个实例。它们共享权重和图形组件可以轻松添加,互换和删除,其示例在[21]中显示。
图9.由于Trajectron的模块化,即使测试时间t obs小于训练时间t obs,它也可以进行合理的预测。每个模型采样200个轨迹。
Interpretability解释性
与先前方法相比,我们的方法的一个关键优势是我们可以可视化我们的模型识别的高级行为模式以及他们能产生输出。这些不同的高级模式由我们的离散隐变量z捕获。展示这一点的场景如图10所示。由于我们选择了一个连续的潜在变量,我们保持这种程度的可解释性,在这种情况下,解析个别行为模式会更加困难。
图10.两个行人相互交叉的场景。颜色对应于导致输出的z值。出现两种高级行为模式,大致对应于一个代理移向另一个,反之亦然。
6.结论
在这项工作中,我们提出了Trajectron,这是一种新颖的,最先进的多智能体建模方法,它明确地解释了人类行为的关键方面,即它们是多模态的,动态的和可变的。以前并非所有模型都考虑过的方面。我们在标准人类轨道预测基准上提出了最先进的结果,同时还为生成模型引入了新的度量标准。我们希望Trajectron将为未来的确定性回归量,生成模型以及两者在多智能体轨迹建模领域的组合提供一个共同的比较点。未来的一个关键方向是将该模型的输出结合到较低级别的机器人规划,决策制定和控制模块中。每个都是机器人在线连续执行以确定其未来动作的关键任务。因此,机器人可以通过合并我们模型的输出,从而生成更安全,更明智的未来行动。