【论文翻译】TNT: Target-driveN Trajectory Prediction

TNT:目标驱动的轨迹预测

在这里插入图片描述
摘要: 预测移动代理的未来行为,对于现实世界的应用至关重要。这是具有挑战的,因为代理的意图和相应的行为是未知的并且本质上是多模态的。我们的关键见解是:对于中等时间范围内的预测,未来模式可以被一组目标状态有效地捕获。这就引出了我们的目标驱动轨迹预测(TNT)框架。TNT有三个端到端训练的阶段。它首先通过编码代理与环境和其他代理的交互来预测代理未来T步的潜在目标状态。然后TNT生成以目标为条件的轨迹状态序列。最后阶段估计轨迹可能性并选择最终紧凑的轨迹预测集。这与之前的研究形成了鲜明的对比,之前的研究将代理意图作为隐变量进行建模,并依赖于测试时间采样来生成不同的轨迹。我们在车辆和行人的轨迹预测上以TNT为基准进行了测试,我们的表现超过了在Argoverse Forecasting、 INTERACTION、Stanford Drone和内部Pedestrian-at-Intersection数据集上最优秀的模型。

关键词: 轨迹预测、多模态预测

1. 前言

在机器人技术中,预测在现实环境中移动代理的未来状态的是重要而基本的问题。例如,在公共道路上的自动驾驶设置中,准确理解未来其他车辆和行人可能在哪里是非常重要的,以便自动驾驶汽车采取安全有效的行动。

未来预测的一个关键挑战是高度的不确定性,这在很大程度上是由于不知道其他代理的意图和潜在特征。例如,车辆通常具有多模态的未来分布:它可以转弯、直行、减速、加速等。根据其他场景元素,它可以通过、让行、改变车道或驶入车道。在过去的几年里,这一挑战引起了很多人的兴趣。对高度多模态进行建模的一种方法是采用可以从中抽取样本的灵活隐式分布——条件变分自动编码器(CVAEs)[1]、生成对抗网络(GANs)[2]、和单步策略推出方法[3]。尽管它们的表现具有竞争力,但使用隐变量来建模意图会阻止它们被解释,并且通常需要测试时间抽样来评估概率查询(例如,“代理向左转的可能性有多大?”)。此外,在大型机器学习社区[4]中,特别是自动驾驶汽车中,已经有相当大的努力来解决这类模型中的模式崩溃问题[5,6]。

为了解决这些限制,我们观察到,对于我们的任务(例如车辆和行人轨迹预测),在较长的未来中的不确定性主要可以通过对代理可能目标的预测来捕获。这些目标不仅基于可解释的物理实体(例如位置),而且与意图密切相关(例如变道或右转)。我们推测目标空间可以在场景中被离散化——允许确定性模型并行生成不同的目标——并且后来改进得更精确了。

这些观察导致我们提出了目标驱动轨迹预测框架,名为 TNT。我们首先将未来预测问题转化为预测在离散目标上的分布状态,然后制定一个概率模型,其中轨迹估计和可能性是基于这样的目标。生成的框架有三个端到端训练的阶段:(1)目标预测 估计给定场景背景下的候选目标上的分布;(2)以目标为条件的移动估计 预测每个目标的轨迹状态序列;(3)评分和选择 估计每个预测轨迹的可能性,并考虑所有其他预测轨迹的背景。我们通过排序可能性和抑制冗余的轨迹最终得到了一系列紧凑的多样预测。我们三个阶段模型的说明应用于车辆轨迹预测如图1所示。尽管我们的模型是端到端训练的,但是它的三个阶段的布局,在每个阶段都有可解释的输出,紧密遵循了传统机器人运动预测和规划系统的典型处理步骤 [7, 8],因此,很容易在部署期间合并领域知识。

在这里插入图片描述
图1:应用于车辆未来轨迹预测任务时的TNT框架示意图。TNT由三个阶段组成:(a)目标预测,它提出了一系列在所有候选者(菱形)中合理的目标(五角星);(b)以目标为条件的运动估计,它估计了到每个可选目标的轨迹(分布);(c)评分和选择,对轨迹假设进行排序并最终选择一系列具有似然分数的轨迹预测。

我们证明了TNT在多挑战轨迹预测基准上的有效性。在驾驶领域,我们在Argoverse Forecasting数据集 [9] 和INTERACTION数据集[10] 上进行了评估;对于行人,在Stanford Drone数据集 [11] 和内部Pedestrian-at-Intersection数据集上进行了评估。我们在所有基准上达到了最优性能。

2. 相关工作

轨迹预测最近受到了广泛关注,尤其在自动驾驶 [9, 10, 12-14] 、社会互动预测 [15-18] 和体育 [19, 20] 方面。关键挑战之一是对多模态未来分布进行建模。一种流行的方法是将未来模型隐含地建模为潜在变量 [1-3, 21-25],其目的是捕捉代理的潜在意图。例如,DESIRE [1] 使用条件 VAE [26] 而 PRECOG [3] 使用基于流的生成模型 [27] ;SocialGAN [2] 提出一种对抗鉴别器来预测现实的未来;Hong等人 [22] 用潜在高斯混合模型建模运动模式。但是,不可解释的隐变量的使用使得将专家知识整合进系统变得具有挑战性。此外,这些模型需要从潜在空间随机采样获得运行时的隐式分布。这些特性使它们不太适合实际部署。

或者,一些方法试图将轨迹预测任务分解为子任务,希望每个子任务更易解决并且提供可解释的中间结果。例如,Ziebart 等人 [28] 提出了基于规划的行人预测,他们首先估计了目的地的贝叶斯后验分布,然后使用逆强化学习 (IRL) 来规划轨迹。Rehder等人 [29] 引入了定义为短期目的地的目标概念,并将问题分解为目标分布估计和目标导向规划。目标被定义为高斯隐变量的混合。他们的后续工作 [30] 证明了整个框架可以通过IRL进行联合训练。与我们工作同时进行的Mangalam等人 [31] 提出了生成端点来指导完整的轨迹生成。与 TNT 不同,他们的方法仍然依赖 CVAE 中的隐变量对端点的潜在模式进行建模。

与TNT 最相关的工作是将输出空间离散化为意图 [32] 或者是带有锚点 [33,34] 的工作。IntentNet [32] 为自动驾驶车辆手动定义了几种常见的运动类别,例如左转和变道,并且为每个意图学习了一个单独的运动预测器。这种手动分类依赖于任务和数据集,并且可能由于太粗糙而无法捕捉类别内的多模态特征。最近,MultiPath [33] 和 CoverNet [34] 选择将轨迹量化为锚点,其中轨迹预测任务被重新表述为锚点选择和偏移回归。这些锚点要么被预先聚集成先验的固定集,要么基于运动学启发式算法 [34] 动态获得。与锚点轨迹不同,TNT 中的目标维度要低得多,可以通过均匀采样或基于专家知识(例如高清地图)轻松离散化。因此,可以更可靠地估计它们。尽管它们很简单,但我们证明了目标有足够信息量捕捉预测未来状态的大部分不确定性,并且我们的目标驱动框架优于基于锚的方法。

3. 公式

给定一个单个代理的观测状态序列 S P = [ s − T ′ + 1 , s − T ′ + 2 , . . . , s 0 ] S_P = [s_{-T^{'}+1}, s_{-T^{'}+2}, ..., s_0] SP=[sT+1,sT+2,...,s0],我们的目标是预测它的未来状态 S F = [ s 1 , s 2 , . . . , s T ] S_F = [s_1, s_2, ..., s_T] SF=[s1,s2,...,sT] 到某个固定时间步 T。自然地,代理与由其它代理和场景元素组成的环境交互作为背景: C P = [ c − T ′ + 1 , c − T ′ + 2 , . . . , c 0 ] C_P = [c_{-T^{'}+1}, c_{-T^{'}+2}, ..., c_0] CP=[cT+1,cT+2,...,c0]。为简洁起见,我们记 X = ( s P , c P ) X = (s_P, c_P) X=(sP,cP),因此我们想捕捉的整体概率分布是 p ( S F ∣ X ) p(S_F|X) p(SFX)

实际上, p ( S F ∣ X ) p(S_F|X) p(SFX)可以是高度多模态的。例如,车辆驶近十字路口时可能左转、直行或改变车道。直观上,未来状态的不确定性可以被分解为两部分:目标或者意图的不确定性,比如左右转的决定;以及控制的不确定性,比如转弯时需要的细粒度运动。因此,我们可以通过对目标设定条件,然后将其边缘化,从而对概率分布进行分解: p ( S F ∣ X ) = ∫ τ ∈ τ ( C P ) p ( τ ∣ X ) p ( S F ∣ τ , X ) d τ , (1) p(S_F|X) = \int_{\tau\in\tau(C_P)}p(\tau|X)p(S_F|\tau,X)d_\tau,\tag{1} p(SFX)=ττ(CP)p(τX)p(SFτ,X)dτ,(1)
其中 τ \tau τ ( C P ) (C_P) (CP)表示取决于观察到的背景 C P C_P CP的合理目标空间。

在这个公式下,我们的主要见解是,对于轨迹预测等应用,通过正确设计目标空间 τ \tau τ ( C P ) (C_P) (CP)(如目标位置),目标分布 p ( τ ∣ X ) p(\tau|X) p(τX)可以很好地捕捉意图不确定性。一旦目标确定,我们会进一步证明控制不确定性(如轨迹)可以通过简单的单模态分布可靠地建模。我们用一组离散位置来模拟目标空间 τ \tau τ ( C P ) (C_P) (CP),将 p ( τ ∣ X ) p(\tau|X) p(τX)的估计主要转化为一个分类任务。与隐变分模型相比,我们的模型以明确的目标分布的形式提供了更好的可解释性,并且在设计目标空间 τ \tau τ ( C P ) (C_P) (CP) 时可以自然地结合专家知识(如道路拓扑)。

我们的整体框架有三个概念阶段。第一阶段是目标预测,其目标是用基于观察背景 X X X的目标空间 τ \tau τ的离散集合对意图不确定性进行建模,并且输出目标分布 p ( τ ∣ X ) p(\tau|X) p(τX)。第二个阶段是目标条件运动估计,它用单模态分布对从初始状态到目标可能的未来运动进行建模。前两个阶段产生了以下概率预测 p ( S F ∣ X ) = ∑ τ ∈ τ ( C P ) p ( τ ∣ X ) p ( S F ∣ τ , X ) p(S_F|X) = \sum_{\tau\in\tau(C_P)}p(\tau|X)p(S_F|\tau, X) p(SFX)=ττ(CP)p(τX)p(SFτ,X)

许多下游应用,例如实时行为预测,需要一小组具有代表性的未来预测,而不是所有可能未来的完整分布。我们的最终阶段,评分和选择,就是为此目的量身定制的。我们从所有代表性预测上学习一个评分函数 ϕ ( S F ) \phi(S_F) ϕ(SF),并选择一个最终的多样化预测集。

4. 目标驱动轨迹预测

本节详细描述我们提出的TNT框架。 我们专注于移动道路代理的未来轨迹预测任务,其中状态和目标由它们的物理位置 ( x t , y t ) (x_t, y_t) (xt,yt) 表示。我们通过描述如何高效编码背景信息来开始本节。然后我们详细介绍提出的三个阶段是如何适应任务的。TNT 模型的结构概述如图2所示。

在这里插入图片描述
图2:TNT 模型概述。场景背景首先被编码为模型的输入。接下来是TNT的核心三个阶段:(a)目标预测,提出了一组初始化的 M 个目标;(b)以目标为条件的运动估计,它估计了每个目标的轨迹;(c)评分和选择,对轨迹假设进行排名并输出一组最终的 K 个预测轨迹。

4.1 场景背景编码

建模场景背景是轨迹预测的第一步,以获取代理-道路和代理-代理之间的交互。TNT可以使用任何合适的背景编码器:当高清地图可用时,我们使用最优秀的层次图神经网络 VectorNet [35] 对背景进行编码。具体来说,使用多段线来抽象出高清地图元素 C P C_P CP(车道,交通标志) 和代理轨迹 S P S_P SP;采用子图(subgraph)网络对多段线进行编码,多段线包含可变数量的向量;然后使用全局图(global graph)对多段线之间的交互进行建模。输出是每个建模代理的全局背景特征 X X X。如果场景背景只在自上而下的图像形式中可用,则使用卷积网络作为背景编码器。

4.2 目标预测

在我们的公式中,目标 τ \tau τ 被定义为一个代理可能在固定时间范围 T上的位置 ( x , y ) (x,y) (x,y)。在第一步目标预测阶段,我们的目的是提供一个代理的未来目标的分布 p ( p( p( τ \tau τ ∣ X ) |X) X)。我们通过一组N个离散的、带有连续偏移的量化位置来建模潜在的未来目标: τ \tau τ = { τ n } = { ( x n , y n ) + ( Δ x n , Δ y n ) } n = 1 N =\{\tau^n\}=\{(x^n,y^n)+(\Delta x^n,\Delta y^n)\}^N_{n=1} ={τn}={(xn,yn)+(Δxn,Δyn)}n=1N。然后这个目标上分布可以通过一个离散-连续分解来建模:
p ( τ n ∣ X ) = π ( τ n ∣ X ) ⋅ N ( Δ x n ∣ v x n ( X ) ) ⋅ N ( Δ y n ∣ v y n ( X ) ) , (2) p(\tau^n|X)=\pi(\tau^n|X)· N(\Delta x^n|v^n_x(X))·N(\Delta y^n|v^n_y(X)),\tag{2} p(τnX)=π(τnX)N(Δxnvxn(X))N(Δynvyn(X)),(2)
其中 π ( τ n ∣ X ) = e f ( τ n , X ) ∑ τ ′ e f ( τ ′ , X ) \pi(\tau^n|X)=\frac{e^{f(\tau^n,X)}}{\sum_{\tau^{'}}e^{f(\tau^{'},X)}} π(τnX)=τef(τ,X)ef(τn,X) 是在位置选择 ( x n , y n ) (x^n,y^n) (xn,yn)上的离散分布。术语 N ( ⋅ ∣ v ( ⋅ ) ) N(·|v(·)) N(v()) 表示一个广义正态分布,其中我们选择Huber作为距离函数。我们将均值表示为 v ( ⋅ ) v(·) v() 并假设单位方差。

可训练函数 f ( ⋅ ) f(·) f() v ( ⋅ ) v(·) v() 由一个2层的多层感知机(MLP)实现,目标坐标 ( x k , y k ) (x^k,y^k) (xk,yk) 和场景背景特征 X 作为输入。它们预测目标位置上的离散分布及其最可能的偏移量。这一阶段的训练损失函数由以下公式给出:
L S 1 = L c l s ( π , u ) + L o f f s e t ( v x , v y , Δ x u , Δ y u ) , (3) L_{S1}=L_{cls}(\pi,u)+L_{offset}(v_x,v_y,\Delta x^u,\Delta y^u),\tag{3} LS1=Lcls(π,u)+Loffset(vx,vy,Δxu,Δyu),(3)
其中 L c l s L_{cls} Lcls 是交叉熵损失, L o f f s e t L_{offset} Loffset 是 Huber 损失;u 是离真实位置最近的目标,并且 Δ x u , Δ y u \Delta x^u,\Delta y^u Δxu,Δyu 是 u 相对于真值的空间偏移量。

离散目标空间的选择在不同应用中是灵活的,如图3所示。在车辆轨迹预测问题中,我们从高清地图里均匀地采样车道中心线上的点并且将他们作为目标候选点(标记为黄色菱形),假设车辆从未远离车道线;对于行人,我们在代理周围生成了一个虚拟网格并将网格点作为目标候选点。对每个候选目标,TNT目标预测器生成了一个 ( π , Δ x , Δ y ) (\pi,\Delta x, \Delta y) (π,Δx,Δy)的元组;回归后的目标以橙色五角星标记。与直接回归相比,将未来建模成一组离散目标的最显著的优势在于,它不受模态平均的影响,模态平均是阻止多模态预测的主要因素。

在这里插入图片描述
图3:TNT支持灵活选择目标。从车道中心线对车辆目标候选点进行采样。从以行人为中心的虚拟网格对行人目标候选点进行采样。

在实践中,我们对大量候选目标进行了过采样,作为本阶段的输入,例如 N = 1000 N=1000 N=1000,来增加潜在未来位置的覆盖率;然后将他们中的一小部分作为输出,例如 top M = 50 M=50 M=50,为了进一步的处理,因为选择好的 M 有助于平衡目标召回率和模型效率。

4.3 目标条件运动估计

在第二阶段,我们将给定目标轨迹的可能性建模为 p ( S F ∣ τ , X ) = ∏ t = 1 T p ( s t ∣ τ , X ) p(S_F|\tau,X)=\prod^T_{t=1}p(s_t|\tau,X) p(SFτ,X)=t=1Tp(stτ,X),同样采用了广义正态分布。这里有两个假设。首先,未来时间步是条件独立的,这使得我们的模型通过避免顺序预测提高了计算效率,如 [21, 31, 33, 34] 所述。其次,我们正在作出有力但合理的假设,即给定目标的轨迹分布是单模态(正态)的。对于短的时间范围来说,这当然是正确的;对于更长的时间范围,可以在(中间)目标预测和运动估计之间迭代,以便假设仍然成立。

这一阶段使用2层的MLP实现。它将背景特征 X 和目标位置 τ \tau τ 作为输入,并且每个目标输出一条最可能的轨迹 [ s 1 ^ , . . . , s T ^ ] [\hat{s_1},...,\hat{s_T}] [s1^,...,sT^]。由于它以第一阶段的预测目标为条件,为了实现平滑的学习过程,我们在训练时采用教师强制技术[36],将真实位置 ( x n , y n ) (x^n,y^n) (xn,yn) 作为目标。该阶段的损失项是预测状态 s t ^ \hat{s_t} st^ 和真值 s t s_t st 之间的距离:
L S 2 = ∑ t = 1 T L r e g ( s ^ , s t ) , (4) L_{S2}=\sum^T_{t=1}L_{reg}(\hat{s},s_t),\tag{4} LS2=t=1TLreg(s^,st),(4)
其中, L r e g L_{reg} Lreg 作为每一步坐标偏移的 Huber 损失来实现。

4.4 轨迹评分和选择

我们的最终阶段估计未来完整轨迹 S F S_F SF 的可能性。这和第二阶段不同,第二阶段分解时间步和目标,也和第一阶段不同,第一阶段只知道目标,但没有完整的轨迹——例如,一个目标可能被估计有很高的可能性,但到达该目标完整轨迹的可能性可能不是。

我们使用最大熵模型对第二阶段的所有 M 条轨迹进行评分:
ϕ ( S F ∣ X ) = e g ( S F , X ) ∑ m = 1 M e g ( S F m , X ) , (5) \phi(S_F|X)=\frac{e^{g(S_F,X)}}{\sum_{m=1}^Me^{g(S_F^m,X)}} ,\tag{5} ϕ(SFX)=m=1Meg(SFm,X)eg(SF,X),(5)
其中 g ( ⋅ ) g(·) g() 被建模为一个2层的 MLP。这一阶段训练的损失项是预测分数和真值分数之间的交叉熵,
L S 3 = L C E ( ϕ ( S F ∣ X ) , ψ ( S F ) ) , (6) L_{S3}=L_{CE}(\phi(S_F|X),\psi(S_F)),\tag{6} LS3=LCE(ϕ(SFX),ψ(SF)),(6)
其中每个预测轨迹的真值评分由预测轨迹到真值轨迹的距离 ψ ( S F ) = e x p ( − D ( S , S G T ) / α ) ∑ s ′ e x p ( − D ( S ′ , S G T ) / α ) \psi(S_F)=\frac{exp(-D(S,S_{GT})/\alpha)}{\sum_{s^{'}}exp(-D(S^{'},S_{GT})/\alpha)} ψ(SF)=sexp(D(S,SGT)/α)exp(D(S,SGT)/α) 定义,其中 D ( ⋅ ) D(·) D() 单位为米, α \alpha α 是温度。距离度量定义为 D ( S i , S j ) = m a x ( ∣ ∣ s 1 i − s 1 j ∣ ∣ 2 2 , . . . , ∣ ∣ s t i − s t j ∣ ∣ 2 2 ) D(S^i,S^j)=max(||s^i_1-s^j_1||^2_2,...,||s^i_t-s^j_t||^2_2) D(Si,Sj)=max(s1is1j22,...,stistj22)

为了从已评分的 M 个轨迹获得最终一小组 K 个预测轨迹,我们实现了一个轨迹选择算法来排除近似重复的轨迹。我们首先根据他们的分数对轨迹进行降序排列,并且贪婪地选择轨迹; 如果一个轨迹距离所有的选择轨迹都足够远,我们也会选择它,否则排除它。这里使用的距离度量和评分过程相同。这个过程的灵感来源于通常应用于计算机视觉问题(如目标检测)的非极大值抑制算法。

4.5 训练和推理细节

上述的 TNT 公式产生全监督的端到端训练,具有损失函数
L = λ 1 L S 1 + λ 2 L S 2 + λ 3 L S 3 , (7) L=\lambda_1 L_{S1}+\lambda_2 L_{S2}+\lambda_3 L_{S3},\tag{7} L=λ1LS1+λ2LS2+λ3LS3,(7)
其中,选择 λ 1 , λ 2 , λ 3 \lambda_1,\lambda_2,\lambda_3 λ1,λ2,λ3 来平衡训练过程。

在推理时,TNT 的工作原理如下:(1) 背景编码;(2) 采样 N 个候选目标作为目标预测器的输入,取由 π ( τ ∣ X ) \pi(\tau|X) π(τX) 估计的前 M 个目标;(3) 从运动估计模型 p ( S F ∣ τ , X ) p(S_F|\tau,X) p(SFτ,X) 中获取 M 个目标中每个目标的 MAP 轨迹;(4) 通过 ϕ ( S F ∣ τ , X ) \phi(S_F|\tau,X) ϕ(SFτ,X) 给 M 个轨迹评分,并且选择一组最终的 K 个轨迹。

5. 实验

5.1 数据集

Argoverse forecasting 数据集 [9] 提供了历史轨迹、背景代理以及道路中心线,用来预测未来轨迹。数据集中有333K个5秒长的序列。轨迹以10Hz 采样,(0, 2] 秒用于观测,(2, 5] 秒用于未来预测。

INTERACTION 数据集 [10] 专注于高度互动驾驶场景下的车辆行为预测。它提供了4种不同类别的交互式驾驶场景:环形交叉路口(10479辆)、无信号指示交叉路口(14867辆)、有信号指示交叉路口(10933辆)、并线和变道(3775辆)。

内部 Pedestrian-at-Intersection dataset (PAID) 数据集 是在人行道和交叉路口收集的内部行人数据集。大约有77K个单独的行人用于训练以及12K个单独行人用于测试。轨迹以10Hz采样,用1秒的历史轨迹来预测3秒的未来轨迹。地图特征包括人行道、车道边界和停车/让道标志。

Stanford Drone dataset (SDD) 数据集[11] 是一个由无人机收集的自上而下的大学校园场景记录的视频数据集。RBG视频帧提供的背景类似于其他数据集中的路线图。我们遵循其他文献 [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 是向量所属的多段线的 index。我们将向量坐标归一化,使其以最后一次观测时间步目标代理的位置为中心。向量化后,使用 VectorNet 对建模代理的背景进行编码,其输出的特征将被 TNT 消耗。一个例外是 Stanford Drone Dataset 数据集,它不提供地图数据,因此我们使用一个标准 ResNet-50 [38] 卷积网络编码鸟瞰图,用于背景编码。

候选目标采样: 对于车辆轨迹预测,我们从车道中心线(Argoverse数据集)或车道边界(INTERACTION数据集)中采样点作为候选目标。每米至少采样一个点。对于行人轨迹预测,由于行人具有更大的移动灵活性,我们在代理周围构建了一个矩形2D网格(例如10m x 10m),每个单元的中心(例如1m x 1m)是一个候选目标。

模型细节: TNT 的三个阶段的模型结构都是2层 MLP,隐藏单元数量设为64。我们将 ψ ( S F ) \psi(S_F) ψ(SF) 中的温度 α \alpha α 设置为0.01。损失权重为: λ 1 = 0.1 , λ 2 = 1.0 , λ 3 = 0.1 \lambda_1=0.1, \lambda_2=1.0, \lambda_3=0.1 λ1=0.1,λ2=1.0,λ3=0.1。TNT 是端到端训练的,使用 Adam 优化器 [39] 训练了50个 epoch。学习率设为0.001,batch size 为128。

表1:Argoverse验证集上每个阶段之后的性能分解

在这里插入图片描述

评价指标: 我们采用了广泛使用的平均位移误差(ADE)和最终位移误差(FDE)。为了评估K组预测轨迹的 ADE 和 FDE,我们使用 m i n A D E K minADE_K minADEK m i n F D E K minFDE_K minFDEK。除了 Stanford Drone Dataset 数据集用的像素,所有的位移都是用米来度量的。在 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 的性能有影响,分别如表2对 Argoverse 的影响和表3对 PAID 的影响。对于 Argoverse 中的车辆,我们从车道线上采样目标,测量的是沿着多段线的目标间距。对于行人来说,在 PAID 中,由于行人具有更大的行动自由度,我们通过实验发现网格目标的表现要比基于地图的目标好得多,并且只报告网格目标的结果。我们观察到,在饱和点之前,密集的目标性能更好。

表2:Argoverse 数据集上地图目标采样密度比较

在这里插入图片描述

表3:PAID上网格目标采样密度比较

在这里插入图片描述
目标回归: S1中有与没有目标偏移回归的比较如表4所示。我们可以看到,通过回归,其性能提高了0.16m,这表明了从原始目标坐标进行位置优化的必要性。

运动估计方法: 对于S2运动估计,我们比较了单模态 Huber 回归和生成多模态预测的 CVAE 回归。对于 CVAE,我们将采样轨迹的数量在1到10之间变化。结果如表5所示。正如预料,两者的表现相似,只有一个轨迹。然而,即使我们将 CVAE 采样轨迹的数量增加10倍,它也只是略微改善了 minADE 指标。这支持了我们在S2中的假设,即给定一个目标,代理的运动是单模态的。

表4:目标偏移回归的消融

在这里插入图片描述

表5:运动估计方法的消融

在这里插入图片描述
表6:与最优方法在 Argoverse 验证和测试集的比较。DESIRE 和 MultiPath 通过 VectorNet 背景编码器重新实现。我们的单一模型结果在测试集上的表现与 Argoverse Challenge 的获胜者持平或更好。
在这里插入图片描述

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TNT4J是一个改进Log4J新的开源Java应用日志框架。用于应用程序活动的跟踪、相关性检查、诊断,可以跨多个应用程序,运行时,服务器,地理的位置。这个API是专门用以解决分布式,并发,多线程,多用户应用,包括活动的相关性,应用程序的状态转储,性能和用户定义的量度。 以下是它的特性: Simple programming model to facilitate fast root-cause, log analysis Automated timing of application activities and sub-activities (elapsed, idle time, message age) Application state dump framework for reporting internal variables, data structures Granular conditional logging based on application tokens, patterns, that can be shared accross applications, runtimes Share logging context across application, thread, runtime boundaries Inter-log correlation of log entries (correlators and tags) between multiple related applications Intra-log correlation of related activities and sub-activities between multiple applications and threads Event location tags such as GPS, server etc. Message flow direction for composite applications that exchange messages (e.g. SOAP, JMS, and SQL etc.) User defined properties such as CPU, memory logging, thread statistics per process/thread Extensible activity, sink, error listeners for pre, post event processing Granular context such as thread id, process id, server, application name 1. 不需要写 "logger.isDebugEnabled()" 2. can log based on filter (e.g wait time longer than certain value) 3. share logging context across apps. 调用路径信息串联起来 4. logging statistics关于日志的统计信息 标签:TNT4J
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值