Progressive Pretext Task Learning for Human Trajectory Prediction | 文献翻译
祥龙回首留胜景,金蛇起舞贺新程。
概述
行人轨迹预测是一项旨在预测行人未来位置的任务,它通常涵盖了从短期到长期的整个时间范围内的轨迹。然而,现有的研究试图通过单一、统一的训练范式来解决整个轨迹预测问题,往往忽视了行人轨迹中短期动力和长期依赖之间的区别。为了克服此限制,我们引入了一种新颖的渐进式预训练任务学习框架(PPT),该框架逐步增强模型捕捉短期动力和长期依赖的能力,以完成最终的整个轨迹预测。具体而言,我们在PPT框架精心设计了三个阶段的训练任务。第一阶段,模型通过下一个位置逐步预测任务来学习理解短期动态;第二阶段,模型通过目的地预测任务进一步增强对长期依赖的理解;第三阶段,模型充分利用前几个阶段的知识来解决整个未来轨迹预测任务。为了减轻知识遗忘,我们进一步应用了跨任务知识蒸馏。此外,我们设计了一种基于Transformer的轨迹预测器,通过整合目的地驱动的预测策略和一组可学习的提示嵌入,能够实现高效的两步推理。在多个流行基准测试上的广泛实验表明,我们提出的方法以高效率实现了最先进的性能。代码可在GitHub - iSEE-Laboratory/PPT: (ECCV 2024) Official PyTorch implementation of paper "Progressive Pretext Task Learning for Human Trajectory Prediction" 获取。
关键词:行人轨迹预测 · 渐进式学习
介绍
图1:将我们的渐进式预训练任务学习框架(PPT)与常规轨迹预测进行比较。(a)现有工作倾向于激进地迫使模型一次性学习复杂完整的时间模式。(b)我们的模型采用三阶段的学习过程,逐步增强模型以进行未来轨迹预测。
人类轨迹预测已在多个关键领域得到了广泛应用,例如自动驾驶[5, 20, 30, 35]、监控系统[43]、机器人导航[6, 21]及路径规划[23, 38]等。给定一段观察到的人类轨迹,人类轨迹预测的目标是精确预测未观察到的可能未来轨迹。这包括从短期到长期未来的位置预测,涵盖轨迹中的所有时间范围。
通常,跨越不同时间距离的预测依赖于理解能力的不同方面。一方面,短期未来预测需要从时间步之间的即时细粒度变化中识别局部动态模式。另一方面,长期未来预测旨在通过捕捉轨迹的长期依赖性来推断全局趋势。然而现有方法[12, 13, 27, 28, 36, 42, 50]往往忽视了这种区别,它们试图通过单一、统一的训练范式同时解决短期和长期预测问题,却常常在短期和长期性能之间陷入次优的折衷。
为了克服这一限制,本文提出了一种新颖的渐进式预训练任务学习框架(PPT),该框架逐步使模型能够捕捉复杂的短期动力和长期依赖,以实现整个未来轨迹的预测。具体而言,PPT包含三个阶段的渐进训练任务。任务I旨在通过预测给定任意长度轨迹的下一个位置使模型具备理解轨迹中固有短期动力的基本能力。任务II旨在通过预测轨迹的目的地来增强模型捕捉长期依赖的能力,其中采用多样性损失来鼓励行人的意图多样性。一旦预训练任务I和任务II完成,模型就获得了捕捉轨迹中短期动力和长期依赖的能力。在此基础上,任务III充分利用增强的知识进行更准确的预测,通过对任务II中预训练良好的模型进行微调,以实现整个未来轨迹的预测。此外,为了保留从先前预训练任务中获得的知识并稳定预测性能,我们引入了跨阶段知识蒸馏方法,将任务I和任务II的知识转移到任务III的模型中。
在我们的PPT框架中,我们进一步设计了一种基于Transformer的新型轨迹预测器。与之前自回归生成未来位置的Transformer预测器[9,12,34,53,55]相比,我们的模型能够在仅两步内高效预测任意长度的轨迹:首先确定目的地,然后一次性生成其余未来点。具体而言,我们的模型由目的地预测器和轨迹预测器组成。前者旨在捕捉长期依赖性以预测目的地,后者则利用这些目的地来指导生成整个未来轨迹。为了高效并行生成轨迹点,我们引入了一系列的可学习的提示嵌入来表示特定的时间步。
大量实验表明,我们的框架在多个流行数据集上实现了最优结果,验证了其优越性。此外,消融研究验证了每个预训练任务及其他关键组件的有效性。从定性角度来看,我们的框架能生成更准确且时间上合理的行人轨迹。总体而言,我们的贡献总结如下:
1)提出PPT框架,一种新颖的渐进式预训练任务学习框架,逐步使模型能够捕捉行人轨迹中跨不同时间范围的复杂依赖性,包括短期动力和长期依赖,以实现整个未来轨迹的预测。
2)提出一种基于Transformer的轨迹预测器,采用两步目的地驱动策略,并集成了一系列可学习的提示嵌入,以实现高效且有效的预测。
3)在四个常用数据集上的广泛实验表明,我们的框架能够持续优于目前最先进的方法。
相关工作
行人轨迹预测的目标是根据观察到的运动序列预测合理的未来路径。深入考虑到人类运动的不确定性,这一任务尤其具有挑战性,因为它需要预测所有时间步的精确位置坐标,这要求同时解决短期动力和长期依赖问题。
2.1行人轨迹预测
现有研究可以大致分为两个方向:一个方向侧重于利用场景地图[19,25,34,46,56],而另一个方向则致力于挖掘运动模式交互[13,17,26,28,36,39,42,47–50]。考虑到建模场景地图的计算成本,本文遵循第二个方向,试图探索一种更加有效的方法来理解轨迹中的时间运动模式。为了解决这一任务,已经有许多努力。例如,Gupta等人[13]最初提出利用基于GAN[10]的网络,并通过直接对齐未来轨迹中的各种时间位置与真实值GT来训练模型而没有进行区分。Gu等人[12]采用基于Transformer的扩散网络,并训练模型一次性生成整个未来轨迹。然而,这些工作由于忽视了短期和长期预测学习模式之间的差异,导致联合优化过程的性能不佳。尽管最近基于目的地的方法[26,49,57]试图通过首先使用一个预测器预测目的地,然后使用另一个预测器插值中间位置来缓解这一问题,但它们忽视了目的地预测和中间位置预测之间的知识转移,这导致目的地预测器和轨迹预测器之间存在显著差距。为了克服这些局限性,本文设计了一种渐进式预训练任务学习框架,通过引入两个精心设计的预训练任务,逐步增强模型以捕捉短期动力和长期依赖,从而实现整个未来轨迹的预测。
2.2基于Transformer的行人轨迹预测
近年来,Transformer [41,44] 架构在捕捉复杂序列依赖性方面展现了令人印象深刻的能力。鉴于其有效性,研究人员[9,12,34,37,53,55]越来越多地将Transformer应用于行人轨迹预测。例如STAR [53] 将人群建模为图,并利用基于图的Transformer来学习人群运动的时空交互。此外Tsao等人[42]使用Transformer作为骨干模型,并提出关于跨序列建模的预训练任务。然而,由于它们以自回归方式生成轨迹点,因此在推理过程中效率较低。最近,MID和TUTR尝试在这一任务中探索非自回归Transformer。然而,MID [12]依赖于扩散模型,这显著增加了推理时间。TUTR [37] 忽视了轨迹中的时间运动动态,导致性能不佳。在本研究中,我们提出了一种新颖的非自回归Transformer,以克服上述局限性。与TUTR相比,我们的模型引入了一系列有效的可学习提示嵌入来表示未观察到的位置,从而显著提高了预测性能。
2.3渐进式预训练
图2:我们的整体渐进式预训练任务学习框架(PPT)示意图。(a) 展示了我们的渐进式训练流程,其中每个训练阶段都采用相应的任务,逐步增强模型对整个未来轨迹预测的能力。为了避免知识遗忘,引入了跨任务知识蒸馏。具体而言,如(b)所示,我们依次执行逐步下一个位置预测(任务I)、跨越式目的地预测(任务II)和完整轨迹预测(任务III)。(c) 展示了我们的骨干模型。
迄今为止,渐进式学习技术已在多种任务中得到探索,包括图像生成[11,14]、图像增强[7,22]、目标检测[4,8,16,29]和运动预测[24,40]。具体而言,Karras等人[14]提出从低分辨率图像开始,然后通过向网络添加层逐步提高分辨率。PGBIG [24] 利用多个阶段逐步优化未来帧的初始猜测。Fu等人[7]引入了一种渐进式学习策略用于低光图像增强。在自知识蒸馏过程中,他们逐渐增加低光图像作为子分支输入的比例,旨在逐步提高学生的学习难度。然而,在行人轨迹预测领域,渐进式预训练仍未得到探索。据我们所知,我们的工作是首次在行人轨迹预测中探索渐进式预训练,通过引入两个精心设计的预训练任务,逐步使模型能够捕捉短期动力和长期依赖,以实现整个未来轨迹的预测。
研究方法
问题表述
行人轨迹预测旨在基于观察过去轨迹以准确预测未来轨迹,其核心挑战在于捕捉短期动力和长期依赖关系。形式上,给定一系列过去观察到的轨迹,表示为S_T1:Th = {(x_T1, y_T1), ..., (x_Th, y_Th)}N_n-1,这些轨迹是N个代理在时间T1, T2, ..., Th的轨迹,行人轨迹预测的目标是预测未观察到的未来S_Th+1:Th +Tf = {(x_Th+1, y_Th+1), ..., (x_Th+Tf, y_Th+Tf)}的后续二维位置。在下文中,我们将Te = Th + Tf表示为整个轨迹的长度。
概述
如图2所示,我们提出了一种用于轨迹预测的渐进式预任务学习(PPT)框架,旨在逐步增强模型理解过去轨迹并预测未来轨迹的能力。具体而言,我们的框架由三个阶段的渐进式训练任务组成,如图2(b)所示。第一阶段,我们在预任务I上对我们的预测器进行预训练,旨在通过预测任意长度轨迹的下一个位置,充分理解每个轨迹的短期动力;第二阶段,我们在预任务II上进一步训练该预测器,旨在通过预测轨迹的目的地来捕捉长期依赖关系。一旦任务I和任务II完成,模型便能够捕捉轨迹中的短期动力和长期依赖关系;最后第三阶段,我们复制我们的模型以获得两个预测器:一个用于目的地预测,另一个用于中间路径点预测。在此阶段,我们执行任务III,使模型能够实现完整的行人轨迹预测。为了稳定训练,我们进一步采用跨任务知识蒸馏,以避免知识遗忘。
骨干网络
本研究中,我们采用Transformer编码器[44]作为我们的骨干模型,如图2(c)所示。给定二维位置作为输入,例如从时间Tm到Tn的轨迹序列S_Tm:Tn ,我们首先使用嵌入层将其转换为输入特征。然后,这些特征与相应的时间位置嵌入{Tm, Tm + 1, ..., Tn}一起通过多个Transformer层传递,每个层由预归一化[45]、多头注意力机制、层归一化(LN)和一个多层感知机(MLP)组成。模型通过学习不同位置之间的特征交互来理解轨迹,并输出每个位置的交互表示。这些输出被送入最终的LN层,随后通过一个线性投影器获得未来的二维位置Sˆ_Tm+1:Tn +1,这表示与每个输入位置对应的预测下一帧位置。特别地,对于任务II和任务III,我们采用可学习的提示嵌入来表示轨迹中尚未观察到的未来位置,如图2(b)所示。具体细节将在下文介绍。
3.1任务-I:逐步下一位置预测
给定任意长度的观察轨迹序列,第一个预任务的目标是准确预测下一个点的位置。该任务促使模型探索运动模式并理解每个行人轨迹的短期动力。
具体来说,对于轨迹序列S_T1:Te ,我们随机采样其子序列S_T1:Tt −1,然后将其输入模型θ以推断下一个位置S_Tt,如图2(b)所示。随机性可以带来数据增强的效果。在实践中,为了提高训练效率,通常会从一个轨迹中采样多个随机子序列,这可以通过利用因果自注意力掩码[32]有效实现。我们用θI表示通过任务I训练的模型。
尽管该任务简单直接,但它能够有效地使模型识别运动模式并捕捉轨迹中的短期动态。由于理解轨迹的模式和动态是轨迹预测的关键能力,这些知识可以迁移并进一步利用,以促进后续任务中的预测。
3.2任务-II:跨越式目的地预测
第二个预任务的目标是预测轨迹的目的地。这一任务具有挑战性,因为它要求模型从过去的轨迹中推测行人的移动意图,并捕捉最终目的地与过去轨迹之间的长期依赖关系。
具体来说,以过去的轨迹序列S_T1:Th 作为输入,任务II继续训练θI以预测整个轨迹的目的地S_Te。考虑到人类运动固有的不确定性,我们遵循先前的工作[13, 49, 50],一次性预测多个目的地(例如K个)。在实践中,我们将目的地处的输出特征输入到一个多层感知机(MLP)中,以回归K个目的地。为了确保预测的准确性,我们引入了一个精度损失[13],以最小化真实目的地E与其最接近的预测目的地之间的距离,其形式为L_Precision = min_k L2(Eˆ_k, E)。这里,L2是欧几里得距离函数。此外,为了防止K个预测目的地落入同一模态,我们采用多样性损失[51, 54]以提供足够的多样性。如图2(b)所示,我们通过以下公式优化轨迹目的地之间的成对距离:
其中σs是一个缩放因子。通过这种多样性损失,模型可以生成更加多样化的目的地,从而产生更加多样化的轨迹。
该任务中目的地预测的损失函数表示为以下公式:
其中,λd用于平衡预测目的地的准确性和多样性。
值得注意的是,为了与模型θI的输入对齐,我们为每个位置分配了相应的位置编码。然而,由于未来轨迹的真实数据缺失,无法访问第(Te - 1)个位置作为输入来预测第Te个位置(目的地)。因此,我们引入了一个可学习的提示嵌入,并将其附加在过去轨迹序列之后,旨在以跨越式的方式预测目的地。我们进一步将此可学习嵌入的位置编码设置为Te - 1,以保持与任务I的一致性,表明其对第Te个位置(目的地)的预测,如图2(b)所示。
通过这一跨越式目的地预测任务,训练良好的模型θII可以获得长期预测的能力,这可以为整个未来轨迹预测提供指导参考以及与长期依赖关系相关的知识。
3.3任务-III:全面轨迹预测
通过对任务I和任务II的训练,模型θII具备了理解短期动态(从任务I中获得)和捕捉未来轨迹中长期依赖关系(从任务II中获得)的能力。在最终任务中,我们充分利用这些知识来完成完整的轨迹预测任务:预测未来轨迹中的所有位置。
具体来说,我们将模型θII复制为一个目的地预测器和一个轨迹预测器,如图2(b)所示。我们使用目的地预测器生成K个候选目的地,如任务II中所述,然后将最接近真实值(GT)的目的地输入到轨迹预测器中。轨迹预测器的输入序列可以分为三部分:从T1到Th的观察轨迹、从Th + 1到Te - 1的未观察未来轨迹,以及在Te处的伪目的地。特别地,对于未观察的未来轨迹,我们使用可学习的提示嵌入作为输入。通过这些输入,轨迹预测器输出整个未来轨迹的二维位置,即S_Th+1:Te 。在任务III期间,我们联合训练目的地预测器和轨迹预测器以回归整个未来轨迹。
为了避免先前预任务中的知识被遗忘,我们设计了一种跨任务知识蒸馏方法,用于在任务III中进行额外的正则化。具体来说,我们分别惩罚θI与轨迹预测器之间以及θII与目的地预测器之间的输出差异,此阶段的损失函数被表述为以下公式:
其中,F_t^i 和 F_d^i 分别表示在第i个任务中获得的未来轨迹和目的地的输出特征。P_t 和 P_d 表示线性投影器。
总体而言,此阶段的损失函数被表述为以下公式:
其中,L_Recon 是预测的未来轨迹与真实未来轨迹之间的L2距离。λ_t_kd 和 λ_d_kd 用于控制不同损失项之间的权衡。
3.4推理
在完成所有三个任务的训练后,模型逐步具备了预测整个未来轨迹的能力。在最终阶段,我们使用训练良好的目的地预测器和轨迹预测器进行推理。具体来说,我们首先利用目的地预测器预测K个目的地。然后,我们将这些目的地中的每一个作为轨迹预测器的输入,指导生成K条未来轨迹。
实验
表1:在SDD数据集上以minADE20 / minFDE20(像素)为度量标准,与当前最先进方法的比较,加粗文本表示最佳结果。实验表明,我们的方法大幅超越了其他方法。
本节中我们在多个流行的行人轨迹预测基准数据集上进行了广泛的实验。结果表明,我们的方法在定量和定性上均优于当前的最先进方法。此外,我们还提供了消融研究,以证明我们提出的框架中关键组件的有效性。
4.1实验设置
表2:在ETH/UCY数据集上以minADE20 / minFDE20(米)为度量标准,与当前最先进方法的比较。加粗文本表示最佳结果。在所有这些方法中,我们提出的方法取得了最佳性能。
表3:在GCS数据集上以minADE20 / minFDE20(像素)为度量标准,与当前最先进方法的比较。加粗文本表示最佳结果。我们的PPT方法显著优于其他方法。
数据集
我们提出的PPT框架在四个广泛使用的公共行人数据集上进行了评估:斯坦福无人机数据集(SDD)、ETH/UCY数据集和大中央车站(GCS)数据集。SDD是其中一个非常受欢迎的基准数据集,它是一个由无人机摄像头以鸟瞰视角记录的大规模数据集。该数据集包含了在八个不同场景中的5232名行人的轨迹。ETH/UCY是两个数据集的组合,包含五个不同的场景。ETH数据集包含两个场景,ETH和HOTEL,共有750名行人,而UCY由三个场景组成,包括786名行人,分别是UNIV、ZARA1和ZARA2。GCS数据集捕捉了美国最大和最繁忙的火车站之一内复杂且人口密集的场景。该数据集包括在大约一小时内12684名行人的轨迹。
评估指标
我们采用了与以往工作相同的数据处理程序和评估配置。在性能评估方面,我们采用了平均位移误差(ADE)和最终位移误差(FDE)作为评估指标,分别衡量预测轨迹与真实轨迹(GT)之间的平均位置距离和目标位置距离。考虑到未来的固有不确定性和人类运动的不确定性,我们为每个过去的轨迹生成K=20个未来轨迹,并计算最小ADE和FDE(Best-of-20策略)的性能,正如以往工作中所做的那样。对于所有数据集,我们将过去8步(3.2秒)作为观察轨迹,并预测接下来的12步(4.8秒)。
实施细节
我们框架的实现中,所有阶段的Transformer编码器都包含三层,其中Transformer的维度设置为128,并应用了8个注意力头。方程(1)中的缩放因子σs被赋予了1的值,方程(2)中的权重超参数λd被设置为100。我们在方程(4)中让λtkd=5和λdkd=0.5。为了最大程度地保留从任务I获得的知识,在训练阶段II时,我们最初训练一个多层感知器(MLP)用于目的地回归作为热身,然后联合训练整个模型。我们为所有三个训练阶段使用Adam优化器,并将学习率分别设置为{0.001, 0.0001, 0.0015}。我们的所有实验都是使用PyTorch在单个RTX 3090 GPU上进行的。
4.2与最新方法的比较
图3:跨任务知识蒸馏(KD)的效用分析。通过跨任务知识蒸馏,模型能够更一致地产生准确的未来轨迹。
表4:对SDD数据集上预训练任务的分析。我们研究了在没有任务I和任务II、只有任务II以及同时有任务I和任务II的情况下,我们框架的性能。
我们对提出的渐进式预训练任务学习(PPT)框架与多种现有方法在不同数据集上进行了定量比较。结果显示,我们的框架稳定达到了最先进的(SOTA)性能,特别是在SDD和GCS数据集上,与现有的最先进的方法相比,我们的框架在ADE/FDE指标上分别超过了0.58/1.01和1.22/3.15的显著差距。
在斯坦福无人机数据集(SDD)上,我们将我们的框架与8种现有方法进行了比较,结果如表1所示。可以看出,我们的方法显著提高了系统性能,将ADE指标从7.61降低到7.03,将FDE指标从11.66降低到10.65,与当前最先进的方法相比。这说明了采用三阶段渐进式预训练任务来学习短期动力和长期依赖关系的有效性,逐步使模型具备预测整个未来轨迹的能力。
在ETH/UCY数据集上,我们将我们的方法与10种现有方法进行了比较。如表2所示,我们的渐进式预训练任务学习框架再次实现了最佳的预测性能,与当前最先进的方法相比,将平均FDE性能从0.33降低到0.31,将平均ADE性能从0.21降低到0.20。
在大中央车站数据集(GCS)上,我们将提出的框架与8种最近的方法进行了比较。表3中的结果表明,我们的渐进式预训练任务学习框架在ADE和FDE指标上分别显著优于当前最先进的方法EigenTrajectory [2],提高了16.4%和25.2%,进一步验证了我们的PPT框架在预测未来轨迹方面的优越性。
4.3消融研究
图4:ADE/FDE作为方程2中权重λd的函数。λd=100提供了最佳性能。
图5:基于Transformer模型的推理速度和预测精度。
我们在SDD数据集上进一步进行了消融研究,以全面分析和研究我们PPT框架中不同组件的影响,包括预文本任务、跨任务知识蒸馏以及在任务II中利用的多样性损失。
渐进预文本任务的效果
在表4中,我们评估了所使用的渐进预文本任务,即任务I和任务II,对系统性能的影响。具体来说,我们首先使用所有三个预测任务训练模型,然后依次移除任务I和任务II进行比较。可以看出,这两个预文本任务都对提高系统性能有积极的贡献。此外,我们的实验还表明,在任务I的基础上,任务II中的目的地预测性能在FDE指标上从11.58提高到10.70。我们归因于以下事实:i)完成任务I的模型能够有效捕捉行人轨迹建模中固有的短期动力,这对预测精度贡献很大。ii)完成任务II为最终的轨迹序列预测提供了指导参考和长期依赖的知识,从而显著提高了FDE和ADE指标的预测性能。
跨任务知识蒸馏的分析
为了检验使用跨任务知识蒸馏(KD)的有效性,我们比较了使用和不使用KD训练的模型的预测性能。
我们对每个模型进行了超过20次独立运行(使用不同的随机种子),并将实验结果以箱线图的形式报告在图3中。如图所示,使用知识蒸馏(KD)训练的模型在ADE和FDE指标上均实现了更好的预测性能且方差更小,这表明跨任务知识蒸馏在实现预测稳定性方面很有效。
多样性损失的权重影响
图4展示了不同权重λd(在方程2中)对预测性能的影响。可以看出,当权重λd=100时,系统实现了最佳性能。λd过小或过大都会导致性能下降。这是因为:i)当λd过小时,模型倾向于忽略行人的意图模态,导致多样性不足和预测性能变差;ii)当λd过大时,多样性损失逐渐主导训练过程。因此,模型倾向于牺牲精度以最小化多样性损失,从而导致预测精度下降。
PPT的效率
为了验证我们PPT的效率,我们首先对其推理时间与五种现有的基于Transformer的方法进行了比较分析。如图5所示,1)利用所提出的可学习提示嵌入进行高效的并行生成,我们的预测器实现了显著超过所有自回归预测模型的推理速度,并且与一步预测模型TUTR(5.28ms对比4.06ms)相当。此外,2)通过我们的渐进式预训练任务学习框架进行训练,我们的预测器在性能上始终优于所有现有的基于Transformer的方法。此外,我们还注意到早期的预训练加速了后续阶段的收敛,从而使得我们的PPT框架在训练时间上非常高效,例如在SDD数据集上仅需4.7小时。所有结果都证明我们所提出框架的高效率和强有效性。
4.4定性结果
在本小节中,我们提供了一些可视化结果,以验证我们的渐进式预训练任务学习框架(PPT),并与当前最先进的方法进行定性比较。
渐进预训练任务的分析
图6:对预训练任务的定性分析。我们使用任务I和任务II训练的模型能够产生更准确且在时间上更可接受的轨迹。
我们仔细检查了使用或不使用预训练任务I和任务II训练的框架所预测的未来轨迹。如图6所示,一方面,当使用预训练任务I时,模型可以产生更准确的近期未来轨迹,验证了使用预训练任务I捕捉短期动力的有效性。另一方面,通过使用预训练任务II,实现了更好的长期预测性能,这表明任务II的利用对捕捉长期依赖有很大贡献。此外,使用预训练任务I和任务II,我们的框架可以直观地生成更准确且在时间上更可接受的未来轨迹,展示了我们PPT框架中每个渐进预训练任务的有效性。
与其他方法的比较
图7:在ETH/UCY数据集上预测轨迹的可视化。每一行展示不同场景中的一个样本。前四列展示了由PCCSNet [39]、SocialVAE [50]、MemoNet [49]和我们的PPT框架预测的20条轨迹。最后一列展示了这些方法产生的20个预测中最好的一个。红色轨迹表示真实(GT)未来轨迹。
图7可视化了四种不同方法(包括PCCSNet [39]、SocialVAE [50]、MemoNet [49]和我们的PPT框架)在ETH/UCY数据集场景中预测的未来轨迹。最后一列展示了这些方法生成的20个预测中最好的一个。结果表明,在所有方法中,我们的PPT框架预测的未来轨迹最符合真实未来轨迹,从视觉上验证了我们提出的框架的优越性。更详细地分析,前四列展示了这四种方法相应预测的20条未来轨迹。我们观察到,与其他方法相比,我们的PPT框架在目的地预测上表现出更大的变异性,同时保持了预测的准确性,从而生成了更准确和多样化的未来轨迹。此外当给定一个目的地时,行人通常会以相对均匀的速度朝这个目的地移动。如图所示,与MemoNet [49]相比,我们方法能产生更符合这种运动模式的未来轨迹。这验证了在我们PPT框架中学习和理解时间动态,特别是短期动力和长期依赖,对于人类轨迹建模的有效性。
结论
在本文中,我们提出了一种新颖的渐进式预训练任务学习(PPT)框架,用于制定行人轨迹预测,通过有效地捕捉轨迹中的短期动力和长期依赖,解决了以往工作的局限性。PPT包括三个阶段的渐进训练任务,以增强模型的能力。任务I旨在使模型具备理解轨迹中固有的短期动力的基本能力。任务II旨在增强模型捕捉长期依赖的能力。在任务III中,我们对模型进行微调,以进行整个未来轨迹预测,利用之前获得的知识。引入了跨任务知识蒸馏以保留来自先前预训练任务的知识。此外,我们设计了一个基于Transformer的预测器来补充我们的框架,该预测器通过两步推理实现了很高的效率。进行了广泛的实验以证明我们精心设计的框架的优越性。
鸣谢
这项工作得到国家自然科学基金(U21A20-471, U22A2095, 62076260, 61772570)、广东省自然科学基金项目(2023B1515040025)、广东省自然科学基金杰出青年项目(2022B15-15020009)、广东省信息安全技术重点实验室(2023B1212060026)及广州市科技计划项目(202201011134)的部分支持。
参考
相关文章:

Progressive Pretext Task Learning for Human Trajectory Prediction | 文献翻译
祥龙回首留胜景,金蛇起舞贺新程。 概述 行人轨迹预测是一项旨在预测行人未来位置的任务,它通常涵盖了从短期到长期的整个时间范围内的轨迹。然而,现有的研究试图通过单一、统一的训练范式来解决整个轨迹预测问题,往往忽视了行人轨…...

54.数字翻译成字符串的可能性|Marscode AI刷题
1.题目 问题描述 小M获得了一个任务,需要将数字翻译成字符串。翻译规则是:0对应"a",1对应"b",依此类推直到25对应"z"。一个数字可能有多种翻译方法。小M需要一个程序来计算一个数字有多少种不同的…...
【数据结构】_链表经典算法OJ(力扣版)
目录 1. 移除链表元素 1.1 题目描述及链接 1.2 解题思路 1.3 程序 2. 反转链表 2.1 题目描述及链接 2.2 解题思路 2.3 程序 3. 链表的中间结点 3.1 题目描述及链接 3.2 解题思路 3.3 程序 1. 移除链表元素 1.1 题目描述及链接 原题链接:203. 移除链表…...
【Linux】统计文本中每行指定位置出现的字符串的次数
统计文本中每行指定位置出现的字符串的次数 假定情景 某些项目,会把某个特定事件记录到Log中并且落盘(保持到硬盘)。基于落盘后的日志,要统计这些日志里产生该特定事件的次数 统计脚本 可以写一个sh脚本,来解析某个…...

【赵渝强老师】K8s中Pod探针的ExecAction
在K8s集群中,当Pod处于运行状态时,kubelet通过使用探针(Probe)对容器的健康状态执行检查和诊断。K8s支持三种不同类型的探针,分别是:livenessProbe(存活探针)、readinessProbe&#…...

商品信息管理自动化测试
目录 前言 一、思维导图 二、代码编写 1.在pom.xml文件中添加相关依赖 2.自动化代码编写 三、代码测试 小结 前言 1. 针对商品信息管理项目进行测试,商品信息管理项目主要有商品列表页、部门列表页、员工列表页,主要功能:对商品信息的…...

Redis实战(黑马点评)——redis存储地理信息、位图、HyperLogLog 用法
Redis存储geo数据类型基本介绍 geo 就是 geolocation 的简写形式,代表地理坐标。redis 在 3.2 版本中加入了对 geo 的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有: geoadd:添加一个地理空…...
判断1到100之间有多少个素数,并输出所有的素数。
def is_prime(num): #判断一个数是否素数if num<1:return False #因为1和负数都不是素数for i in range(2,int(num**0.5)1): #从2开始到根号num的整数结束,因为一个数num不是素数,那么把必定有一个小于或等于根号num的因素if num%i0:return False #如…...

JAVA:利用 Content Negotiation 实现多样式响应格式的技术指南
1、简述 Content Negotiation(内容协商) 是 RESTful 服务的重要特性,允许客户端和服务器根据请求的不同特性动态选择适合的响应格式。它是一种在 HTTP 协议中实现的机制,通过它,服务器能够根据客户端需求返回适合的内…...
layui Table单元格编辑支持Enter键换行,包括下拉框单元格
layui Table表格编辑支持Enter键换行 可编辑单元格 $(".layui-table td").keydown(function (e) {// console.log("111",e);var index $(this).index(),tr $(this).parent(tr),isKeydown (event.type "keydown");if (e.code "Enter&q…...
Swoole的MySQL连接池实现
在Swoole中实现MySQL连接池可以提高数据库连接的复用率,减少频繁创建和销毁连接所带来的开销。以下是一个简单的Swoole MySQL连接池的实现示例: 首先,确保你已经安装了Swoole扩展和PDO_MySQL扩展(或mysqli,但在这个示…...

无人机红外热成像:应急消防的“透视眼”
无人机红外热成像:应急消防的“透视眼” 亲爱的小伙伴们,每年一到夏天,应急消防的战士们就像上紧了发条的闹钟,时刻准备应对各种灾害。炎热天气让火灾隐患“蹭蹭”往上涨,南北各地还有防洪救灾、台风、泥石流等灾害轮…...
【redis】Redis操作String类型key的发生了什么?
关于Redis操作(添加、删除、修改、查询)String类型key的完整过程,包括引用源码数据、时序图、磁盘IO读写、数据长度限制和故障处理机制。 数据结构 Redis对象(robj) typedef struct redisObject {unsigned type:4; …...

hdfs之读写流程
写入流程: 客户端Client想将文件a.txt上传至hdfs,首先向Namenode发送请求进行权限校验,Namenode通过后会计算出来三个节点,并将这三个节点告知客户端,客户端将输入进行切割成块,一个一个的块进行传输&…...

研发的立足之本到底是啥?
0 你的问题,我知道! 本文深入T型图“竖线”的立足之本:专业技术 技术赋能业务能力。研发在学习投入精力最多,也误区最多。 某粉丝感发展遇到瓶颈,项目都会做,但觉无提升,想跳槽。于是&#x…...

Baklib揭示内容中台与人工智能技术的创新协同效应
内容概要 在当今信息爆炸的时代,内容的高效生产与分发已成为各行业竞争的关键。内容中台与人工智能技术的结合,为企业提供了一种新颖的解决方案,使得内容创造的流程更加智能化和高效化。 内容中台作为信息流动的核心,能够集中管…...

智慧消防营区一体化安全管控 2024 年度深度剖析与展望
在 2024 年,智慧消防营区一体化安全管控领域取得了令人瞩目的进展,成为保障营区安全稳定运行的关键力量。这一年,行业在政策驱动、技术创新应用、实践成果及合作交流等方面呈现出多元且深刻的发展态势,同时也面临着一系列亟待解决…...
自定义数据集,使用 PyTorch 框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
在本文中,我们将展示如何使用 NumPy 创建自定义数据集,利用 PyTorch 实现一个简单的逻辑回归模型,并在训练完成后保存该模型,最后加载模型并用它进行预测。 1. 创建自定义数据集 首先,我们使用 NumPy 创建一个简单的…...
UE5 特效
能帮到你的话,就给个赞吧 😘 文章目录 post processexposurebloomvignettesaturationunbound material材质蓝图alt z base colorconstant3Vector roughnessconstant metallicconstant pbrroughnessmetallicmake more realmake some areas rougher than o…...
CMAKE工程编译好后自动把可执行文件传输到远程开发板
# 设置 CMake 最低版本要求 cmake_minimum_required(VERSION 3.10)# 设置项目名称 project(MyProject)# 添加可执行文件,这里以项目名作为可执行文件的名称 add_executable(${PROJECT_NAME} main.cpp)# 设置开发板信息 set(DEVELOPMENT_BOARD_IP "192.168.1.10…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...