文章目录
TNT: target-drivenN trajectory Prediction CoRL 2020
代码:https://github.com/Henry1iu/TNT-Trajectory-Prediction (别人复现的代码)
论文:https://arxiv.org/abs/2008.08294
预测移动代理的未来行为对于现实世界的应用至关重要。由于智能体的意图和相应的行为是未知的,并且本质上是多模态的,因此具有挑战性。我们的关键见解是:对于中等时间范围内的预测,未来模式可以通过一组目标状态有效地捕获。这就引出了我们的目标驱动轨迹预测(TNT)框架。TNT有三个阶段是端到端的。它首先通过编码智能体与环境和其他智能体的相互作用来预测智能体未来的潜在目标状态。然后TNT生成以目标为条件的轨迹状态序列。最后阶段估计轨迹可能性,并选择最终紧凑的轨迹预测集。这与之前将代理意图建模为潜在变量的工作形成对比,并依赖于测试时间采样来生成不同的轨迹。我们在车辆和行人的轨迹预测上对TNT进行了基准测试,在这方面,我们在Argoverse预测、INTERACTION、斯坦福无人机和内部行人十字路口数据集上的表现优于最新技术。
1 引言:
在现实世界的环境中预测移动代理的未来状态是机器人技术中一个重要而根本的问题。例如,在公共道路上自动驾驶的设置中,必须准确了解其他车辆和行人在未来可能的位置,以便自动驾驶汽车采取安全有效的行动。
未来预测的一个关键挑战是高度的不确定性,这在很大程度上是由于不知道其他代理人的意图和潜在特征。例如,车辆通常具有多模式的未来分布:它可以转弯、直行、减速、加速等。根据其他场景元素,它可以超车、退让、变道或驶入车道。这一挑战在过去几年里引起了很多人的兴趣。对高度多模态建模的一种方法是采用灵活的隐式分布,可以从中提取样本——条件变分自编码器(CVAEs)[1]、生成对抗网络(GANs)[2]和单步策略推出方法[3]。尽管它们具有竞争性的性能,但使用潜在变量对意图进行建模阻止了对它们的解释,并且通常需要测试时间采样来评估概率查询(例如,“代理向左转的可能性有多大?”)。此外,在机器学习社区[4],特别是自动驾驶汽车[5,6]中,人们已经付出了相当大的努力来解决这些模型中的模式崩溃问题。
为了解决这些限制,我们观察到,对于我们的任务(例如车辆和行人轨迹预测),在中等长时间内的不确定性可以主要通过预测智能体的可能目标来捕获。这些目标不仅基于可解释的物理实体(例如位置),而且还与意图(例如变道或右转)密切相关。我们推测目标空间可以在场景中离散化-允许确定性模型并行生成多个目标-然后进行细化以提高精度。
根据这些观察结果,我们提出了目标驱动的轨迹预测框架,并将其命名为 TNT。我们首先将未来预测问题转化为预测离散化目标状态的分布,然后建立一个概率模型,在该模型中,轨迹估计和可能性都以这些目标为条件。由此产生的框架分为三个阶段,进行端到端训练:
- (1) 目标预测,根据场景背景估计候选目标的分布;
- (2) 目标条件运动估计,预测每个目标的轨迹状态序列;
- (3) 评分和选择,估计每个预测轨迹的可能性,同时考虑所有其他预测轨迹的背景。
我们通过对可能性进行排序并抑制多余轨迹,最终得到一组紧凑多样的预测结果。图 1 展示了我们的三阶段模型在车辆轨迹预测中的应用。虽然我们的模型是端到端训练的,但它的三阶段布局以及每个阶段的可解释输出,与传统机器人运动预测和规划系统的典型处理步骤非常接近[7, 8 ],因此在部署过程中很容易纳入领域知识。
我们在多个具有挑战性的轨迹预测基准上证明了TNT的有效性。在自动驾驶领域,我们对Argoverse预测数据集[9]和INTERACTION数据集[10]进行评估;对于行人,使用斯坦福无人机数据集[11]和内部行人路口数据集。我们在所有基准测试中都达到了最先进的性能。
2 相关工作
轨迹预测近年来受到了广泛关注,特别是在自动驾驶[9,10,12 - 14]、社会交互预测[15-18]和体育[19,20]等领域。其中一个关键挑战是建模多模态未来分布。一种流行的方法是将未来模式隐式地建模为潜在变量[1 - 3,21 - 25],其目的是捕获代理的潜在意图。例如,DESIRE[1]使用条件VAE[26],而PRECOG[3]使用基于流的生成模型[27];SocialGAN[2]提出了一种对抗性鉴别器来预测现实的未来;Honget等人[22]用潜在高斯混合模型对运动模式进行建模。然而,使用不可解释的潜在变量使得将专家知识纳入系统具有挑战性。此外,这些模型需要从潜在空间随机采样以获得运行时的隐式分布。这些属性使得它们不太适合实际部署。
另外,一些方法试图将轨迹预测任务分解为子任务,希望每个子任务更易于解决并提供可解释的中间结果。例如,Ziebart等人[28]提出了基于规划的行人预测,他们首先估计了目的地的贝叶斯后验分布,然后使用逆强化学习(IRL)来规划轨迹。Rehder等人[29]引入了目标的概念,将目标定义为短期目的地,并将问题分解为目标分布估计和目标导向规划。目标定义为高斯潜在变量的混合。他们的后续工作[30]证明了整个框架可以通过IRL进行联合训练。与我们的工作同步,Mangalam等人[31]提出了生成端点来指导完整轨迹的生成。与TNT不同的是,他们的方法仍然依赖于CVAE中的潜在变量来模拟端点的潜在模式。
与TNT相关最多的是将输出空间离散为意图[32]或使用锚点 [33,34]的工作。IntentNet[32]手动定义了自动驾驶车辆的几个常见运动类别,如左转和变道,并为每个意图学习了一个单独的运动预测器。这种手动分类依赖于任务和数据集,可能过于粗糙,无法捕获类别内的多模态。最近,MultiPath[33]和CoverNet[34]选择将轨迹量化为锚点,其中轨迹预测任务被重新表述为锚点选择和偏移回归。锚点要么先验地预先聚类成一个固定的集合[33],要么基于运动学启发式方法动态地获得[34]。与锚定轨迹不同,TNT中的目标是低维的,可以通过均匀采样或基于专家知识(例如高清地图)轻松地离散化。因此,可以更可靠地估计它们。尽管它们很简单,但我们证明了目标的信息量足以捕获预测未来状态的大多数不确定性,并且我们的目标驱动框架优于基于锚定的方法。
3 问题表述
给定单个代理的观察状态序列 s P = [ s − T ′ + 1 , s − T ′ + 2 , . . . , s 0 ] \mathbf{s}_{P}=[s_{-T^{\prime}+1},s_{-T^{\prime}+2},...,s_{0}] sP=[s−T′+1,s−T′+2,...,s0]。我们的目标是预测其直到某个固定时间步 T 的未来状态 s F = [ s 1 , s 2 , . . . , s T ] \mathbf{s}_F=\begin{bmatrix}s_1,s_2,...,s_T\end{bmatrix} sF=[s1,s2,...,sT]。同时,还考虑代理与由其他代理和上下文场景元素组成的环境交互: c P = [ c − T ′ + 1 , c − T ′ + 2 , . . . , c 0 ] \mathbf{c}_{P}=[c_{-T^{\prime}+1},c_{-T^{\prime}+2},...,c_{0}] cP=[c−T′+1,c−T′+2,...,c0]。为简洁起见,我们表示 x = ( s P , c P ) \mathbf{x}=(\mathbf{s}_P,\mathbf{c}_P) x=(sP,cP),因此我们想要捕获的整体概率分布是 p ( s F ∣ x ) p(\mathbf{s}_{F}|\mathbf{x}) p(sF∣x)。
在实践中,
p
(
s
F
∣
x
)
p(\mathbf{s}_{F}|\mathbf{x})
p(sF∣x) 可以是高度多模态的。例如,靠近十字路口的车辆可以左转、直车道或改变车道。直观地说,未来状态的不确定性可以分解为两部分:目标或意图不确定性,例如左转和右转之间的决策;以及控制不确定性,例如执行转弯所需的细粒度运动。因此,我们可以通过对目标进行条件化然后边缘化来相应地分解概率分布:
T
(
c
P
)
\mathcal{T}(\mathbf{c}_P)
T(cP)表示根据观察到的上下文
c
P
\mathbf{c}_P
cP得到的可信目标的空间。
根据这一表述,我们的主要见解是,对于轨迹预测等应用,通过适当设计目标空间
T
(
c
P
)
\mathcal{T}(\mathbf{c}_P)
T(cP) (例如目标位置),目标分布
p
(
τ
∣
x
)
p(τ | \mathbf{x})
p(τ∣x)可以很好地捕捉意图的不确定性。目标确定后,我们进一步证明,控制不确定性(如轨迹)可以通过简单的单模态分布可靠地建模。我们用一组离散位置来近似目标空间
T
(
c
P
)
\mathcal{T}(\mathbf{c}_P)
T(cP),将
p
(
τ
∣
x
)
p(τ | \mathbf{x})
p(τ∣x)的估计主要转化为分类任务。与潜在变分模型相比,我们的模型以明确的目标分布形式提供了更好的可解释性,并能在设计目标空间
T
(
c
P
)
\mathcal{T}(\mathbf{c}_P)
T(cP) 时自然地纳入专家知识(如道路拓扑结构)。
我们的总体框架分为三个概念阶段。第一阶段是目标预测,其目标是根据观察到的上下文
x
\bf{x}
x,用一组离散的目标状态
T
\mathcal{T}
T 来模拟意图的不确定性,并输出目标分布
p
(
τ
∣
x
)
p(τ | \mathbf{x})
p(τ∣x)。第二阶段是以目标为条件的运动估计,即用单模态分布对从初始状态到目标的未来可能运动进行建模。前两个阶段会产生以下概率预测结果
p
(
s
F
∣
x
)
=
∑
τ
∈
T
(
c
P
)
p
(
τ
∣
x
)
p
(
s
F
∣
τ
,
x
)
.
p(\mathbf{s}_F|\mathbf{x})=\sum_{\tau\in\mathcal{T}(\mathbf{c}_P)}p(\tau|\mathbf{x})p(\mathbf{s}_F|\tau,\mathbf{x}).
p(sF∣x)=∑τ∈T(cP)p(τ∣x)p(sF∣τ,x).
许多下游应用(如实时行为预测)需要一小部分有代表性的未来预测,而不是所有可能未来的完整分布。我们的最后阶段–评分和选择–就是为这一目的量身定制的。我们在所有代表性预测中学习评分函数
ϕ
(
s
F
)
\phi(\mathbf{s}_{F})
ϕ(sF),并选出最终的多样化预测集。
4 目标驱动轨迹预测
本节将详细介绍我们提出的 TNT 框架。我们的重点是移动道路代理的未来轨迹预测任务,其中状态和目标都由其物理位置
(
x
t
,
y
t
)
(x_t,y_t)
(xt,yt)表示。本节首先介绍了如何对上下文信息进行高效编码。然后,我们将详细介绍如何根据任务调整所提出的三个阶段。TNT 模型架构概览如图 2 所示。
4.1 场景上下文编码 (HD Map:向量编码;光栅图:CNN 编码)
建模场景上下文是轨迹预测的第一步,以捕获agent-road和agent- agent交互。TNT可以使用任何合适的上下文编码器:当高清地图可用时,我们使用最先进的分层图神经网络VectorNet[35]对上下文进行编码。具体来说,折线用于抽象高清地图元素
c
P
{\bf{c}}_P
cP(车道、交通标志)和智能体轨迹
s
P
{\bf{s}}_P
sP;采用子图网络对每条折线进行编码,其中包含可变数量的向量;然后使用全局图来模拟折线之间的相互作用。输出是每个建模代理的全局上下文特征
x
\bf{x}
x。如果场景上下文仅以自上而下的图像形式可用,则使用卷积神经网络作为上下文编码器。
4.2 目标预测
目标
τ
τ
τ被定义为agent在固定时间范围
T
T
T上可能出现的位置
(
x
,
y
)
(x, y)
(x,y)。在第一个目标预测阶段,我们的目标是提供一个智能体未来目标的分布
p
(
T
∣
x
)
p(\mathcal{T} |x)
p(T∣x)。我们通过一组
N
N
N个离散的、具有连续偏移量的量化位置来模拟潜在的未来目标:
T
=
{
τ
n
}
=
{
(
x
n
,
y
n
)
+
(
Δ
x
n
,
Δ
y
n
)
}
n
=
1
N
\mathcal{T}=\{\tau^n\}=\{(x^n,y^n)+(\Delta x^n,\Delta y^n)\}_{n=1}^N
T={τn}={(xn,yn)+(Δxn,Δyn)}n=1N。然后可以通过离散连续分解对目标的分布进行建模:
p
(
τ
n
∣
x
)
=
π
(
τ
n
∣
x
)
⋅
N
(
Δ
x
n
∣
ν
x
n
(
x
)
)
⋅
N
(
Δ
y
n
∣
ν
y
n
(
x
)
)
,
p(\tau^n|\mathbf{x})=\pi(\tau^n|\mathbf{x})\cdot\mathcal{N}(\Delta x^n\mid\nu_x^n(\mathbf{x}))\cdot\mathcal{N}(\Delta y^n\mid\nu_y^n(\mathbf{x})),
p(τn∣x)=π(τn∣x)⋅N(Δxn∣νxn(x))⋅N(Δyn∣νyn(x)), (2)
π
(
τ
n
∣
x
)
=
exp
f
(
τ
n
,
x
)
/
∑
τ
′
exp
f
(
τ
′
,
x
)
\begin{aligned}\pi(\tau^n|\mathbf{x})=\exp f(\tau^n,\mathbf{x})/\sum_{\tau^{\prime}}\exp f(\tau^{\prime},\mathbf{x})\end{aligned}
π(τn∣x)=expf(τn,x)/τ′∑expf(τ′,x) 是位置选择的离散分布
(
x
n
,
y
n
)
(x^n, y^n)
(xn,yn)。
N
(
⋅
∣
ν
(
⋅
)
)
\mathcal{N} (\cdot|ν(\cdot))
N(⋅∣ν(⋅)) 表示广义正态分布,我们选择 Huber 作为距离函数。我们将均值记为
ν
(
⋅
)
ν(\cdot)
ν(⋅),并假设方差为单位方差。
可训练函数
f
(
⋅
)
f(·)
f(⋅) 和
ν
(
⋅
)
ν(·)
ν(⋅) 使用具有目标坐标
(
x
k
,
y
k
)
(x^k, y^k)
(xk,yk) 和场景上下文特征
x
\bf{x}
x 作为输入的 2 层多层感知器 (MLP) 实现。它们预测目标位置及其最可能的偏移量的离散分布。 训练此阶段的损失函数如下:
Note:
其中
L
c
l
s
\mathcal{L}_{cls}
Lcls为交叉熵,
L
o
f
f
s
e
t
\mathcal{L}_{offset}
Loffset为Huber损失;
u
u
u为最接近ground truth位置的目标,
∆
x
u
∆x^u
∆xu,
∆
y
u
∆y^u
∆yu为
u
u
u与ground truth的空间偏移量。
Huber 损失
L
(
y
,
f
(
x
)
)
=
{
1
2
(
y
−
f
(
x
)
)
2
if
∣
y
−
f
(
x
)
∣
≤
δ
δ
∣
y
−
f
(
x
)
∣
−
1
2
δ
2
if
∣
y
−
f
(
x
)
∣
>
δ
L(y, f(x)) = \begin{cases} \frac{1}{2} (y - f(x))^2 & \text{if } |y - f(x)| \le \delta \\ \delta |y - f(x)| - \frac{1}{2} \delta^2 & \text{if } |y - f(x)| > \delta \end{cases}
L(y,f(x))={21(y−f(x))2δ∣y−f(x)∣−21δ2if ∣y−f(x)∣≤δif ∣y−f(x)∣>δ
**其中:**y 是真实值f(x)。是预测值。δ 是一个超参数,控制 Huber 损失函数对异常值的敏感程度
Huber 损失函数的优点:
对异常值具有鲁棒性
在较小的误差下与 MSE 相同
Huber 损失函数的缺点:
需要设置超参数 δ
如图 3 所示,在不同的应用场景中,离散目标空间的选择是灵活的。在车辆轨迹预测问题中,我们从高清地图中对车道中心线上的点进行均匀采样,并将其作为候选目标(标记为黄色黑桃),假设车辆从未远离车道;对于行人,我们在代理周围生成一个虚拟网格,并将网格点作为候选目标。对于每个候选目标,TNT 目标预测器都会生成一个由
(
π
,
∆
x
,
∆
y
)
(π, ∆x, ∆y)
(π,∆x,∆y) 组成的元组;回归后的目标标记为橙色星星。与直接回归相比,将未来建模为离散的目标集的最大优势在于它不会受到模式平均化的影响,而模式平均化是阻碍多模态预测的主要因素。在实践中,我们对大量目标候选者进行过采样,例如N = 1000,以增加潜在未来地点的覆盖范围;然后保留较小数量的输出,例如top M = 50,以便进一步处理,因为一个好的M的选择有助于平衡目标召回率和模型效率。
note: 离散目标空间优势
离散目标空间的选择取决于具体应用场景 (as illustrated in Figure 3)。
对于车辆轨迹预测:
- 从高精度地图 (HD map) 的车道中心线上均匀采样点 (uniformly sample points on lane centerlines) 作为目标候选者 (target candidates)。
- 这些目标候选者用黄色尖头符号 (yellow spades) 表示。
- 该方法基于车辆通常不会偏离车道太远的假设。
对于行人轨迹预测:
- 在行人周围生成虚拟网格 (generate a virtual grid around the agent)。
- 使用网格上的点作为目标候选者。
对于每个目标候选者,TNT 目标预测器会输出一个包含三个值的元组 (tuple of (π, ∆x, ∆y)):
- π 表示到达该目标的概率。
- ∆x 和 ∆y 表示相对于目标中心的偏移量。
- 预测的目标用橙色星星 (orange stars) 表示。
与直接回归相比,使用离散目标空间建模未来的主要优势在于:
- 可以避免模式平均 (mode averaging) 问题。
- 模式平均是阻碍多峰预测 (multimodal predictions) 的主要因素。
4.3 目标条件运动估计
在第二阶段,我们将给定目标的轨迹的可能性建模为
p
(
s
F
∣
τ
,
x
)
=
∏
t
=
1
T
p
(
s
t
∣
τ
,
x
)
p({\bf{s}}_F |τ, x) =∏^T_{t = 1}p ({\bf{s}}_t|τ, \bf{x})
p(sF∣τ,x)=∏t=1Tp(st∣τ,x),再次使用广义正态分布。这里有两个假设。首先,未来的时间步长是条件独立的,这使得我们的模型通过避免顺序预测来提高计算效率,如[21,31,33,34]所做的那样。其次,我们做出了强有力但合理的假设,即给定目标的轨迹分布是单峰(正态)的。这在短期内当然是正确的;对于较长的时间范围,可以在(中间)目标预测和运动估计之间进行迭代,以便假设仍然成立。
这隐含了两个假设:
1. 条件独立性:_ 未来时间步长之间条件独立,这使得我们可以避免像文献 [21, 31, 33, 34] 中那样进行序列预测,从而提高了模型的计算效率。
2. 单峰分布: 第二个假设是强但是合理的,即给定目标的情况下,轨迹的分布是单峰的 (unimodal),也就是正态分布的。对于较短的预测时间范围,这一假设显然成立。对于较长的预测时间范围,可以通过迭代进行 (中间) 目标预测和运动估计来保持该假设成立。_
这个阶段是用2层MLP实现的。它将上下文特征
x
\bf{x}
x和目标位置
τ
τ
τ作为输入,并为每一个目标输出一个最可能的未来轨迹
[
s
^
1
,
.
.
.
,
s
^
T
]
\left[\hat{s}_{1},...,\hat{s}_{T}\right]
[s^1,...,s^T]。由于它以第一阶段的预测目标为条件,为了使学习过程顺利进行,我们在训练时采用教师强迫技术[36],将 Ground-truth 位置
(
x
u
,
y
u
)
(x^u, y^u)
(xu,yu)作为目标。这一阶段的损失项是预测状态
s
^
t
\hat{\bf{s}}_t
s^t与真实状态
s
t
{\bf{s}}_t
st之间的距离:
其中
L
r
e
g
\mathcal{L}_{reg}
Lreg被实现为每步坐标偏移的Huber损失。
4.4 轨迹评分与选择
最后一个阶段估计未来完整轨迹
s
F
{\bf{s}}_F
sF的可能性。这与随着时间的推移分解步骤和目标的第二阶段不同,也与第一阶段不同,第一阶段只知道目标,但不知道完整的轨迹。例如,目标可能被估计有很高的可能性,但到达该目标的完整轨迹可能不会。
我们使用最大熵模型对第二阶段的所有 M 个轨迹进行评分:
其中
g
(
⋅
)
g(·)
g(⋅) 被建模为 2 层 MLP。训练阶段的损失项是预测分数和 ground-truth 分数之间的交叉熵
其中,每条预测轨迹的 Ground-truth 得分由其与 Ground-truth 轨迹的距离
ψ
(
s
F
)
=
exp
(
−
D
(
s
,
s
G
T
)
/
α
)
/
∑
s
′
exp
(
−
D
(
s
′
,
s
G
T
)
/
α
)
\psi(\mathbf{s}_{F})=\exp(-D(\mathbf{s},\mathbf{s}_{GT})/\alpha)/\sum_{\mathbf{s'}}\exp(-D(\mathbf{s'},\mathbf{s}_{GT})/\alpha)
ψ(sF)=exp(−D(s,sGT)/α)/∑s′exp(−D(s′,sGT)/α) 定义,其中
D
(
⋅
)
D(\cdot)
D(⋅) 单位为米,α 为温度。距离度量定义为
D
(
s
i
,
s
j
)
=
max
(
∣
∣
s
1
i
−
s
1
j
∣
∣
2
2
,
.
.
.
,
∣
∣
s
t
i
−
s
t
j
∣
∣
2
2
)
D(\mathbf{s}^i,\mathbf{s}^j)=\max(||s_1^i-s_1^j||_2^2,...,||s_t^i-s_t^j||_2^2)
D(si,sj)=max(∣∣s1i−s1j∣∣22,...,∣∣sti−stj∣∣22)。
为了从得分较高的 M 条轨迹中获得最终的 K 条预测轨迹,我们采用了轨迹选择算法,以剔除近乎重复的轨迹。首先,我们根据得分从高到低对轨迹进行排序,然后贪婪地挑选轨迹;如果一条轨迹与所有被选轨迹的距离足够远,我们就将其也选中,否则就将其排除在外。这里使用的距离度量与评分过程相同。这一过程的灵感来源于计算机视觉问题(如物体检测)中常用的非最大抑制算法。
4.5 训练和推理细节
上述TNT公式产生完全监督的端到端训练,具有总损失函数
其中
λ
1
λ
2
λ
3
λ_1 \ λ_2 \ λ_3
λ1 λ2 λ3是用来平衡训练过程的。在推理时,TNT 的工作原理如下:
- (1) 对上下文进行编码;
- (2) 取样 N N N 个候选目标作为目标预测器的输入,根据 π ( τ ∣ x ) π(τ |\bf{x}) π(τ∣x)的估计取前 M M M个目标;
- (3) 从运动估计模型 p ( s F ∣ τ , x ) p(\mathbf{s}_{F}|\tau,\mathbf{x}) p(sF∣τ,x)中为 M M M 个目标中的每个目标提取 MAP 轨迹;
- (4) 通过
ϕ
(
s
F
∣
τ
,
x
)
\phi(\mathbf{s}_F|\tau,\mathbf{x})
ϕ(sF∣τ,x) 对
M
M
M 个轨迹进行评分,并选出最终的
K
K
K 个轨迹集。
5 实验
5.1 数据集
Argoverse预测数据集[9]为未来的轨迹预测提供了轨迹历史、上下文代理和车道中心线。数据集中有333K个5秒长的序列。轨迹采样频率为10Hz,观测时间为(0,2] 秒,未来预测时间为(2,5] 秒。
INTERACTION数据集[10]侧重于高度交互驾驶场景下的车辆行为预测。它提供了4种不同类型的交互驾驶场景:环形交叉路口(10479辆)、无信号交叉口(14867辆)、信号交叉口(10933辆)、合并变道(3775辆)。
**内部行人路口数据集(PAID)**是在人行横道和十字路口周围收集的内部行人数据集。大约有77K唯一行人用于训练,12k唯一行人用于测试。轨迹以10Hz采样,用1秒的历史轨迹预测3秒的未来。地图功能包括人行横道、车道边界和停车/退让标志。
斯坦福无人机数据集(Stanford Drone dataset, SDD)[11]是由无人机采集的自上而下记录大学校园场景的视频数据集。RGB视频帧提供了类似于其他数据集中的路线图的上下文。我们遵循其他文献的做法[2,16,37],只关注行人轨迹:帧以2.5 Hz采样,2秒的历史(5帧)作为模型输入,4.8秒(12帧)是未来的预测。
5.2 实现细节
上下文编码 根据VectorNet[35],我们将地图元素和轨迹转换为一组折线和向量。每个向量表示为
[
p
s
,
p
e
,
f
,
i
d
p
]
[p_{s},p_{e},f,id_{p}]
[ps,pe,f,idp],其中
p
s
p_s
ps和
p
e
p_e
pe为向量的起点和终点,
f
f
f 为特征向量,可以包含车道状态等特征类型,
i
d
p
id_{p}
idp为向量所属的折线索引。我们将向量坐标归一化,使其在最后一个观测时间步长以目标代理的位置为中心。向量化后,使用VectorNet对建模agent的上下文进行编码,其输出的特征将被TNT消耗。一个例外是斯坦福无人机数据集,它不提供地图数据,因此我们使用标准的ResNet-50[38]卷积神经网络来编码鸟瞰图像以进行上下文编码。
目标候选抽样。对于车辆轨迹预测,我们从车道中心线(Argoverse数据集)或车道边界(INTERACTION数据集)中采样点作为目标候选者。每米至少采样一个点。对于行人轨迹预测,由于行人具有更大的移动灵活性,我们在智能体周围构建了一个矩形二维网格(例如10m × 10m),每个单元格的中心(例如1m × 1m)是目标候选。
模型的细节。TNT的三个阶段的模型架构都是2层mlp,隐藏单位的数量设置为64个。我们设
ψ
(
s
F
)
ψ({\bf{s}}_F)
ψ(sF)中的温度α为0.01。损失权值
λ
1
=
0.1
,
λ
2
=
1.0
,
λ
3
=
0.1
λ_1 = 0.1, λ_2 = 1.0, λ_3 = 0.1
λ1=0.1,λ2=1.0,λ3=0.1 。使用Adam优化器对TNT进行端到端训练,训练时间约为50个epoch[39]。学习率设置为0.001,批大小设置为128。
指标。我们采用了广泛使用的平均位移误差(ADE)和最终位移误差(FDE)。为了评估一组K个预测轨迹的ADE和FDE,我们使用
minADE
K
\text{minADE}_K
minADEK和
minFDE
K
\text{minFDE}_K
minFDEK。除了斯坦福无人机数据集以像素为单位外,位移都是以米为单位测量的。在Argoverse上,我们还报告了错误率(MR),它衡量的是根据FDE,所有预测都不在地面真实情况2米范围内的情况的比例。
5.3 消融研究
按阶段划分的性能表。我们通过追踪Argoverse数据集上的性能来讨论TNT的每个阶段的功效,如表1所示。我们可以看到,在M = 50时,由minFDE和Miss Rate可以看出,S1达到了很好的目标召回率;S2进一步生成由minADE度量评估的轨迹。S1和S2之间的minFDE几乎相同,这证实了条件运动估计能够生成以条件目标为终点的轨迹。最后,S3将预测数缩小到K = 6,与M = 50相比损失不大。
目标候选抽样。目标候选采样密度对TNT的性能有影响,如Argoverse上的表2和PAID上的表3所示。对于Argoverse中的车辆,我们从车道上采样目标,沿着折线测量目标间距。对于PAID中的行人,由于他们有更多的行动自由,我们的经验发现网格目标比基于地图的目标表现得更好,并且只报告网格目标结果。我们观察到,在饱和点之前,更密集的目标导致更好的性能
目标回归。S1中有无目标偏移回归的对比如表4所示。我们可以看到,通过回归,性能提高了0.16m,这表明了从原始目标坐标进行位置细化的必要性。
运动估计方法。在 S2 运动估计方面,我们比较了单模态 Huber 回归器和可生成多模态预测的 CVAE 回归器。对于 CVAE,我们将采样轨迹的数量控制在 1 到 10 之间。结果如表 5 所示。不出所料,两者在只有 1 个轨迹的情况下表现相似。然而,即使我们将 CVAE 的采样轨迹数量增加 10 倍,它也只能在 minADE 指标上略有改进。这支持了我们在 S2 中的假设,即给定目标时,机器人的运动是单模态的。
5.4 与最先进方法的比较
车辆预测基准。对于车辆的轨迹预测,我们将TNT与Argoverse和INTERACTION基准上最先进的方法进行了比较。为了进行公平的比较,我们重新实现了MultiPath[33]和DESIRE[1],用VectorNet[35]取代了它们的ConvNet上下文编码器。如表6和表7所示,TNT的性能大大优于其他所有方法,达到了最先进的性能。Argoverse上TNT预测的可视化显示如图4所示。我们进一步将我们的单一模型TNT结果提交给Argoverse排行榜。如表6底部几行所示,TNT的表现与2020年Argoverse挑战赛的获胜者持平或更好(其细节未披露)。
行人预测基准。对于行人的轨迹预测,我们将TNT与内部行人路口数据集(PAID)和斯坦福无人机数据集(SDD)上最先进的方法进行了比较。在 PAID 上,我们从20m × 20m的网格中采样目标,网格尺寸为0.5m。我们用VectorNet增强DESIRE和Multipath进行上下文编码。
在SDD上,由于没有提供地图数据,我们在感兴趣的代理周围裁剪分辨率为800 × 800的图像补丁,并使用ResNet-50提取上下文特征。我们使用距离为300 × 300的网格,网格大小为6作为目标。如表8和表9所示,TNT优于所有之前的方法,在两个数据集上都达到了最先进的性能。
总结笔记:
三阶段实现:
- 第一阶段:目标预测
- 使用带有目标坐标和场景上下文特征的 2 层多层感知器 (MLP) 预测目标的离散分布。
- 训练目标函数使用 Huber 损失函数。
- 第二阶段:运动估计
- 使用广义正态分布对每个目标的未来轨迹进行建模。
- 使用带有目标预测结果和场景上下文特征的 2 层多层感知器 (MLP) 预测每个目标的未来状态。
- 训练目标函数使用最大似然估计 (MLE)
- 第三阶段 轨迹评分与选择
- 估计未来完整轨迹 s F {\bf{s}}_F sF的可能性
- 使用最大熵模型对第二阶段的所有 M 个轨迹进行评分
- 步骤:
- 计算每个轨迹的似然得分: 使用广义正态分布计算每个轨迹的似然得分。
- 计算每个轨迹的多样性得分: 使用轨迹之间的平均距离来计算每个轨迹的多样性得分。
- 根据似然得分和多样性得分对轨迹进行排序: 首先根据似然得分对轨迹进行排序,然后根据多样性得分对轨迹进行排序。
- 选择最终的轨迹集: 选择具有最高似然得分和多样性得分的轨迹。
- 细节:
- 似然得分: 似然得分衡量每个轨迹与真实轨迹的匹配程度。使用广义正态分布计算似然得分
- 多样性得分: 多样性得分衡量每个轨迹与其他轨迹的差异程度。使用轨迹之间的平均距离来计算多样性得分。
- 排序: 首先根据似然得分对轨迹进行排序,然后根据多样性得分对轨迹进行排序。这可以确保选择具有最高似然得分和多样性得分的轨迹。
- 选择: 选择具有最高似然得分和多样性得分的轨迹。最终的轨迹集可以包含多个轨迹,以表示未来的可能性。