安心定志
论文名称:HPNet: Dynamic Trajectory Forecasting with Historical Prediction Attention
作者单位:中科院计算所,中科院大学,好未来教育
论文出处:CVPR 2024
摘要:
预测道路代理的轨迹对于自动驾驶系统至关重要。最近主流的方法遵循一种静态范式,即通过使用固定时长的历史帧来预测未来的轨迹。这些方法即使在相邻时间步骤上也独立做出预测,这可能导致潜在的不稳定性以及时间上的不一致。由于连续的时间步骤具有很大程度上重叠的历史帧,它们的预测应该具有内在的相关性,例如,重叠的预测轨迹应该是连贯的,或者虽然不同但应根据路况共享相同的运动目标。基于此,在这项工作中,我们引入了HPNet,一种新颖的动态轨迹预测方法。为了实现稳定和准确的轨迹预测,我们的方法不仅利用了包括地图和代理状态在内的历史帧,还利用了历史预测。具体来说,我们新设计了一个历史预测注意力模块,以自动编码连续预测之间的动态关系。此外,由于使用了历史预测,它还扩展了注意力范围,超出了当前可见窗口。所提出的历史预测注意力与代理注意力和模式注意力一起被进一步构建成三重因子注意力模块,作为HPNet的核心设计。在Argoverse和INTERACTION数据集上的实验表明,HPNet达到了最先进的性能,并生成了准确且稳定的未来轨迹。我们的代码可在https://github.com/XiaolongTang23/HPNet 获取。
引言
准确且可靠的道路上代理(如车辆和行人)轨迹预测,对于自动驾驶系统的决策和安全性至关重要。然而,轨迹预测极具挑战性。一方面,代理的运动不仅受到道路几何形状和规则的影响,还受到周围其他代理的影响。另一方面,代理的意图通常是未知的,这导致未来存在高度不确定性。
近年来,诸如Macformer [10]、HiVT [46] 和 Multipath++ [34] 等研究通过设计复杂的网络架构,成功实现了无缝融合异构信息(包括代理历史信息、代理-代理交互以及代理-地图交互),并取得了显著成果。Wayformer [26] 进一步探索了用于融合这些异构信息的统一架构。此外,为了应对未来的不确定性,近期的研究工作 [3, 17, 20, 24, 26–28, 34, 36, 38, 43, 45, 47] 已经开始转型生成多模态的未来轨迹而非单一轨迹,是因为即使在相同的场景下,道路上的代理(如车辆和行人)也可能做出不同的决策。基于锚点的方法[3, 17, 36, 43, 45]使用多个候选目标或预定义路径作为锚点,以指示各种潜在的未来情况,从而便于生成多模式轨迹。最近,一些模型[24, 26, 34, 38, 47]采用可学习查询来生成多模式预测,并取得了令人鼓舞的结果。
这种方法的进步反映了轨迹预测领域的一个重要趋势,即从提供单一的未来轨迹预测转向能够表达不同可能性的多模式预测。这不仅提高了对复杂交通环境中不确定性的适应能力,也更好地模拟了真实世界中道路使用者的行为多样性。通过利用多种候选目标或路径作为锚点,以及采用先进的机器学习技术来探索这些可能性,研究者们正在开发更加精确和可靠的轨迹预测系统,这对于提升自动驾驶系统的安全性和决策质量至关重要。
尽管现有方法在预测准确性方面取得了显著进展,但它们大多将轨迹预测视为静态任务,即使用固定数量的历史帧来预测未来轨迹。如图1所示,连续的预测本质上是独立的,即使它们的输入有相当大的重叠。这种静态的轨迹预测范式可能导致连续预测中的不稳定性和时间不一致性,不利于自动驾驶系统做出安全可靠的决策。为了追求更稳定的预测,DCMS [40] 提出将轨迹预测建模为一个动态问题。它明确考虑了连续预测之间的相关性,并施加了一个时间一致性约束,要求相邻时间步骤中预测轨迹的重叠部分保持一致。此外,QCNet [47] 引入了一种以查询为中心的编码范式,分别对依赖位置的特征和独立于位置的特征进行编码,从而避免了连续预测中的冗余编码。这些初步研究展示了将轨迹预测建模为动态任务的有效性和合理性。
这些工作[40, 47]启发我们认识到连续预测之间的内在关系应当更加普遍,而不仅仅是保持一致。例如,重叠部分可能如DCMS [40]中那样保持一致或仅发生轻微变化。更有甚者,当代理正在通过拥堵的多路交叉口导航时,连续的预测可能会有很大不同,但仍共享相同的运动目标,如图4(b)所示。因此,在这项工作中,我们提出了一种新颖的动态轨迹预测方法——HPNet。它将连续预测之间的动态关系建模为历史预测注意力的过程。具体来说,HPNet由三个组件组成:时空上下文编码、三因子注意力和多模式输出。首先,模式查询聚合时空上下文形成初步预测嵌入。随后,包括代理注意力、历史预测注意力和模式注意力在内的三因子注意力分别模拟代理之间、预测之间以及模式之间的交互,以获得信息量更大的预测嵌入。最后,这些嵌入被解码为最终模块中的多模式未来轨迹。这种方法不仅提升了预测的准确性和稳定性,还能够更好地应对真实世界中的复杂交通场景。
我们的方法具有两个明显的优势:
首先,我们的模型建立了连续预测之间的一般关系,利用历史预测作为参考来提高稳定性和准确性。这种方法不仅考虑了相邻预测间的直接一致性,还允许存在一定变化,以适应动态环境中的不同情况。**
其次,在线推理过程中,现有的基于静态注意力的方法由于数据集大小或计算资源的限制,往往局限于固定的可见历史范围内。相比之下,我们的方法能够在不增加计算负担的情况下实现更大的可见范围(即更长的注意力跨度),这在实际应用中对于提高准确性非常有利。
通过这种方式,我们的方法不仅可以提供更加稳定和准确的预测结果,而且还能够更好地应对真实世界中的不确定性和多变性。特别是在自动驾驶等对实时性和准确性要求极高的领域,这种增强的预测能力可以显著提升系统的性能和可靠性。此外,扩展的注意力范围使得模型能够利用更多的历史信息进行决策,从而做出更加明智和前瞻性的预测。这对于确保自动驾驶系统能够在复杂和不可预测的道路环境中安全、高效地运行至关重要。
Attention Mechanism.
Transformer [35] 在自然语言处理和计算机视觉等领域取得了显著成功,这主要归功于注意力机制。该机制能够考虑整体上下文,并聚焦于输入数据中的重要部分。近年来,许多方法 [6, 7, 15, 16, 19, 24, 26, 27, 32, 38, 41, 44, 46–48] 使用注意力机制来处理代理的历史序列或建模代理-代理以及代理-车道之间的交互,在轨迹预测任务中取得了巨大成功。
轨迹预测任务的输入通常涵盖时间和空间维度的数据。相比于将输入直接展平为一个联合自注意力机制 [6, 38, 41],对每个轴分别应用注意力机制 [16, 24, 26, 27, 46, 47] 可能更适合轨迹预测任务。这种方法不仅提高了语义一致性,还降低了计算复杂度。在我们的工作中,核心模块 三因子分解注意力(Triple Factorized Attention) 也采用了后一种注意力方式,包括历史预测注意力、代理注意力和模式注意力,用于从三个不同维度建模代理之间的交互。
Multimodal Output.
为了建模未来不确定性分布,概率方法 [2, 9, 18, 30, 31, 41] 首次提出使用生成模型(如 GAN、VAE)通过多次采样获得多模态输出。然而,这些方法需要的采样迭代次数不确定,导致其在自动驾驶后续决策过程中不够可靠。
随后,确定性方法 [3, 17, 20, 22–24, 26–28, 33, 34, 36–40, 45–47] 提出消除多次采样的需求,并直接一次性输出多模态未来轨迹,从而实现更精确的轨迹预测。其中,基于锚点的方法通常采用两类锚点:候选目标 [17, 20, 36, 45] 和预定义路径 [3, 28, 43]。这些锚点指示了多种潜在的未来轨迹,从而有效提升了多模态轨迹预测的准确性。然而,这些方法的性能高度依赖于锚点的质量,有时不良的锚点可能导致不可修复的糟糕结果。
因此,受 DETR [1] 的启发,一些方法提出使用可学习查询(learnable queries)[24, 26, 33, 34, 38, 47] 而非多模态输出的锚点来进行预测。这种方式避免了对预定义锚点的依赖,同时通过端到端的学习过程直接生成多模态轨迹。这种方法不仅提升了预测的灵活性和鲁棒性,还能更好地适应复杂的交通场景和不确定性。 在这些方法中,每个模式查询(mode query)能够根据样本的上下文自适应地为每一个样本生成潜在的轨迹,这比预定义的固定锚点更加灵活,从而在轨迹预测中取得了有希望的表现。最近,出现了一些结合基于查询和基于锚点的方法 [7, 33, 38, 47, 48]。例如,ProphNet [38] 根据样本生成特定的锚点,并将锚点信息输入到可学习的模式查询中,以帮助产生多模态轨迹。QCNet [47] 则通过无锚点的模式查询自适应地生成轨迹建议,然后使用基于锚点的模式查询基于上下文细化这些建议。
这种方法的结合利用了基于查询的方法的灵活性以及基于锚点的方法的结构化优势。通过这种方式,模型可以在不确定性和具体场景需求之间取得平衡,既能够探索多样化的未来轨迹可能性,又能确保这些轨迹与已知环境和行为模式保持一致。这种混合策略不仅提高了预测的准确性,还增强了模型对复杂交通情况的适应能力,对于自动驾驶技术的发展尤为重要。它允许系统更精确地理解和预测周围道路使用者的行为,进而做出更安全、更高效的驾驶决策。
方法
轨迹预测的函数定义:
轨迹预测旨在根据代理的历史状态预测其未来的轨迹。具体来说,给定一个固定长度的历史状态帧序列 f−T+1,f−T+2,...,f0{f_{-T+1}, f_{-T+2}, ..., f_0}f−T+1,f−T+2,...,f0,目标是为N个代理预测K种不同的模式轨迹,如下所示:
L0={L0,n,k}n∈[1,N],k∈[1,K]L_0 = \{L_{0,n,k}\}_{n\in[1,N], k\in[1,K]}L0={L0,n,k}n∈[1,N],k∈[1,K]
这里,(f_t = {a^1_t \sim N, M}),其中 (a^1_t \sim N) 表示在时间t场景中所有代理的特征,而M表示包含M条车道段的高清(HD)地图。每条轨迹包含了接下来F个时间步长的未来位置:
L0,n,k={l1,n,k,l2,n,k,...,lF,n,k}L_{0,n,k} = \{l_{1,n,k}, l_{2,n,k}, ..., l_{F,n,k}\}L0,n,k={l1,n,k,l2,n,k,...,lF,n,k}
其中,li,n,k∈R2l_{i,n,k} \in R^2li,n,k∈R2 表示代理n在模式k下的第i个时间步的位置预测。同时,通常会为每个预测的轨迹获得一个概率分数,以指示该轨迹实际被代理遵循的可能性。
这种轨迹预测方法不仅考虑了单个代理的行为,还结合了周围环境的信息(如高清地图),以及同一场景中其他代理的影响。通过预测多种可能的轨迹及其相应的概率分数,这种方法能够更好地应对现实世界中的不确定性和多变性,从而提高自动驾驶系统决策的安全性和可靠性。对于每一个代理而言,这样的预测模型可以提供关于它们未来运动方向和路径的重要洞察,有助于提前做出适应性的调整。
就是简单的将空间注意力和时间注意力拼在一起,然后经过prediction的embedding 后,加上
Agent attention,historical attention, 以及 mode attention。
3.1. 时空上下文编码
HPNet 基于图神经网络(Graph Neural Networks, GNNs),并采用相对时空位置编码方法 [19, 44, 47, 48]。它通过将代理的与位置无关的特征编码为节点嵌入,同时将相对时空位置编码为边嵌入,从而捕捉场景中的动态和静态信息。
编码代理特征
代理特征包括每个时间步中每个代理的空间位置、运动状态和语义属性。在图结构中,每个时间步的每个代理被视为一个节点,其特征表示为:
atn={pt,nx,pt,ny,θt,n,vt,nx,vt,ny,ct,na}
a_t^n = \{p_{t,n}^x, p_{t,n}^y, \theta_{t,n}, v_{t,n}^x, v_{t,n}^y, c_{t,n}^a\}
atn={pt,nx,pt,ny,θt,n,vt,nx,vt,ny,ct,na}
其中:
- (pt,nx,pt,ny)(p_{t,n}^x, p_{t,n}^y)(pt,nx,pt,ny):代理的位置。
- θt,n\theta_{t,n}θt,n:代理的方向。
- (vt,nx,vt,ny)(v_{t,n}^x, v_{t,n}^y)(vt,nx,vt,ny):代理的速度。
- ct,nac_{t,n}^act,na:代理的语义属性(如类型:车辆、行人等)。
对于每个时间步的每个代理,我们将其位置视为局部极坐标系的原点,并将其方向视为正方向。在此参考框架下,速度 (vt,nx,vt,ny)(v_{t,n}^x, v_{t,n}^y)(vt,nx,vt,ny) 被重新表示为极坐标形式,以便更好地捕捉代理的运动特性。
相对时空位置编码
为了捕捉代理之间的交互关系,HPNet 使用相对时空位置编码。具体来说,代理之间的相对位置和方向被编码为边嵌入。假设代理 iii 和代理 jjj 在时间步 ttt 的位置分别为 (pt,ix,pt,iy)(p_{t,i}^x, p_{t,i}^y)(pt,ix,pt,iy) 和 (pt,jx,pt,jy)(p_{t,j}^x, p_{t,j}^y)(pt,jx,pt,jy),则它们之间的相对位置可以表示为:
Δpt,ij=(pt,jx−pt,ix,pt,jy−pt,iy)
\Delta p_{t,ij} = (p_{t,j}^x - p_{t,i}^x, p_{t,j}^y - p_{t,i}^y)
Δpt,ij=(pt,jx−pt,ix,pt,jy−pt,iy)
类似地,相对方向和速度也可以通过类似的计算得到。这些相对信息被进一步映射为边嵌入,用于建模代理之间的交互关系。
动机与优势
通过这种设计,HPNet 不仅能够捕捉代理的独立特征,还能有效建模代理之间的相对时空关系。这种方法的优势在于:
- 位置无关性:通过局部极坐标系的引入,模型能够更好地处理代理的旋转和移动,增强了对不同场景的适应性。
- 交互建模:相对时空位置编码提供了丰富的上下文信息,有助于更准确地预测代理之间的交互行为。
- 灵活性:该方法可以轻松扩展到多模态场景,适用于复杂的交通环境。
通过上述步骤,HPNet 的时空上下文编码模块为后续的注意力机制和轨迹预测奠定了坚实的基础。
注意力模块随后被拼接并通过一个两层的多层感知机(MLP)进行融合,生成初步的预测嵌入表示:
qt,n,k=MLP([qt,n,kS;qt,n,kT]), q_{t,n,k} = \text{MLP}([q_{t,n,k}^S; q_{t,n,k}^T]), qt,n,k=MLP([qt,n,kS;qt,n,kT]),
其中,[qt,n,kS;qt,n,kT][q_{t,n,k}^S; q_{t,n,k}^T][qt,n,kS;qt,n,kT] 表示空间注意力和时间注意力结果的拼接操作。这样,每个模式查询节点 qt,n,kq_{t,n,k}qt,n,k 的嵌入就包含了代理与车道之间的交互信息以及历史轨迹的时间动态信息。
动机与优势
通过这种时空注意力机制的设计,HPNet 能够同时捕捉以下关键信息:
- 时间维度的信息聚合:通过时间注意力模块,模型能够利用代理的历史状态信息,从而更好地理解其运动趋势。
- 空间维度的交互建模:通过空间注意力模块,模型能够捕捉代理与车道之间的关系,特别是在复杂交通场景中车道对代理行为的影响。
- 局部上下文增强:通过在指定的空间半径 R1R_1R1 和时间跨度 I1I_1I1 内限制注意力范围,模型能够在计算效率和上下文捕捉之间取得平衡。
此外,边特征 EeE_eEe 的引入使得模型能够更精确地描述节点之间的相对时空关系,进一步增强了对复杂场景的建模能力。
总结
时空上下文编码和时空注意力模块共同构成了 HPNet 的核心组件之一。通过将代理特征、地图特征和相对时空位置编码为节点和边嵌入,并结合多头注意力机制,HPNet 能够有效地捕捉代理的历史动态、代理-车道交互以及节点间的时空关系。这些嵌入表示为进一步的三因子分解注意力(Triple Factorized Attention)提供了高质量的输入,从而为最终的多模态轨迹预测奠定了坚实的基础。
3.2. 代理注意力(Agent Attention)
在代理注意力模块中,对于每个模式和每个时间步,基于预测嵌入 Pt,n,kP_{t,n,k}Pt,n,k 在代理之间执行自注意力机制:
Pt,n,kA=MHA(Pt,n,k,[Pt,n′,k,Ee],[Pt,n′,k,Ee]),
P_{t,n,k}^A = \text{MHA}(P_{t,n,k}, [P_{t,n',k}, E_e], [P_{t,n',k}, E_e]),
Pt,n,kA=MHA(Pt,n,k,[Pt,n′,k,Ee],[Pt,n′,k,Ee]),
其中,(n’) 表示在相同模式和时间步下,与第 (n) 个代理距离在一定半径 (R_2) 内的所有代理。一方面,代理注意力建模了代理在其各自时空上下文中的交互关系;另一方面,它也可以被看作是对不同代理未来轨迹的交互建模,从而缓解潜在的碰撞风险。
3.3. 历史预测注意力(Historical Prediction Attention)
在聚合了代理的历史状态、代理-车道交互以及代理-代理交互后,传统方法通常开始预测未来轨迹。然而,我们观察到当前预测与历史预测通常是相关的,而大多数现有方法忽略了这一点。例如:
- 当代理在直线上稳定移动时,连续预测的重叠部分应该几乎相同或仅有微小变化。
- 当代理穿越繁忙的多车道交叉口时,连续预测可能会有很大差异,但仍然共享相同的运动目标(如图4(b)所示)。
我们的实验表明,这种连续预测之间的相关性不仅对预测的稳定性至关重要,还对准确性有显著影响。
因此,为了进一步提高轨迹预测的稳定性和准确性,我们设计了这一新颖的历史预测注意力模块。该模块通过引入历史预测来指导当前预测,并利用注意力机制建模连续预测之间的动态相关性。具体来说,对于每个代理和每个模式,每个预测嵌入 (P_{t,n,k}^A) 与时间跨度 (I_2) 内的历史预测嵌入执行自注意力:
Pt,n,kHP=MHA(Pt,n,kA,[Pt−I2∼t,n,kA,Ee],[Pt−I2∼t,n,kA,Ee]). P_{t,n,k}^{HP} = \text{MHA}(P_{t,n,k}^A, [P_{t-I_2 \sim t,n,k}^A, E_e], [P_{t-I_2 \sim t,n,k}^A, E_e]). Pt,n,kHP=MHA(Pt,n,kA,[Pt−I2∼t,n,kA,Ee],[Pt−I2∼t,n,kA,Ee]).
通过这种方式,模型能够捕捉到连续预测之间的内在联系,从而生成更加稳定和一致的未来轨迹。
动机与优势
- 动态相关性建模:历史预测注意力模块通过注意力机制显式地建模了连续预测之间的动态相关性,避免了传统方法中独立预测导致的时间不一致性问题。
- 提升稳定性和准确性:通过利用历史预测信息,模型能够更好地适应复杂的动态场景,从而生成更加稳定和精确的轨迹。
- 灵活性:该模块允许模型根据场景特性(如稳定直线行驶或复杂交叉口导航)自动调整预测行为,增强了模型的泛化能力。
总结
代理注意力和历史预测注意力分别从代理间交互和时间序列相关性两个角度增强了模型的预测能力。代理注意力通过建模代理间的交互关系,提升了对复杂交通场景的理解;历史预测注意力则通过引入历史预测信息,解决了连续预测之间的时间不一致性问题,从而进一步提高了预测的稳定性和准确性。这些模块共同为后续的模式注意力和最终的多模态输出奠定了坚实的基础。
3.4. 模式注意力(Mode Attention)
在历史预测注意力之后,对于每个代理和每个时间步,对不同模式的预测嵌入应用自注意力机制,以建模不同未来轨迹之间的模式-模式交互,从而增强多模态输出:
Pt,n,kM=MHA(Pt,n,kHP,[Pt,n,1∼KHP,Ee],[Pt,n,1∼KHP,Ee]). P_{t,n,k}^M = \text{MHA}(P_{t,n,k}^{HP}, [P_{t,n,1 \sim K}^{HP}, E_e], [P_{t,n,1 \sim K}^{HP}, E_e]). Pt,n,kM=MHA(Pt,n,kHP,[Pt,n,1∼KHP,Ee],[Pt,n,1∼KHP,Ee]).
这一步骤通过模式注意力模块增强了预测嵌入,使得不同模式之间的信息得以充分交互。三因子分解注意力机制重复 (N_{attn} = 2) 次,以确保所有预测嵌入能够充分相互作用,从而实现更准确的预测。
3.5. 多模态输出(Multimodal Output)
最后,所有的预测嵌入通过一个两层的多层感知机(MLP)解码,得到多个未来的位点位置:
Lt1,n,k=MLP(Pt,n,kM), L_t^{1,n,k} = \text{MLP}(P_{t,n,k}^M), Lt1,n,k=MLP(Pt,n,kM),
其中 Lt1,n,k∈RF×2L_t^{1,n,k} \in \mathbb{R}^{F \times 2}Lt1,n,k∈RF×2 表示未来 FFF 个时间步长的位置坐标。
为了进一步增强输出轨迹,类似于 QCNet [47] 的方法,Lt1,n,kL_t^{1,n,k}Lt1,n,k 被用作整个流水线的输入,以进一步细化预测轨迹。具体来说,Lt1,n,kL_t^{1,n,k}Lt1,n,k 被视为轨迹建议,并通过另一个两层 MLP 编码成模式查询。这些模式查询随后被反馈到模型中,以改进预测结果,确保最终输出的轨迹更加精确和稳定。
动态关系建模与观察窗口扩展
值得注意的是,在 Eq. (7) 中使用的预测嵌入而非最终的历史预测轨迹来建模动态关系的原因是,使用后者会将训练过程从并行执行变为串行执行,大大增加训练所需的时间。
此外,这种注意力机制不仅提高了预测的准确性和稳定性,还能够吸收超出当前可见窗口的更长时间的历史信息,即扩展了注意力范围。具体而言:
- 在没有历史预测注意力的情况下,PtHPP_t^{HP}PtHP 的观察窗口局限于区间 [t−I1,t][t - I_1, t][t−I1,t],因为它仅使用了之前的 I1I_1I1 帧。
- 相比之下,如果 I2=I1I_2 = I_1I2=I1,则历史预测注意力的观察窗口为两倍长,即 [t−I1−I1,t][t - I_1 - I_1, t][t−I1−I1,t]。
- 实际上,最远时间步 t−I1t - I_1t−I1 的预测嵌入已经包含了从 [t−I1−I1,t−I1][t - I_1 - I_1, t - I_1][t−I1−I1,t−I1] 帧获取的注意力信息。因此,历史预测注意力的实际观察窗口是这两个区间的总和,即 [t−I1−I1,t][t - I_1 - I_1, t][t−I1−I1,t]。
- 在一般情况下,当I2=I1I_2 = I_1I2=I1 时,历史预测注意力的实际观察窗口为 [t−I2−I1,t][t - I_2 - I_1, t][t−I2−I1,t],这比大多数现有方法的[t−I1,t][t - I_1, t][t−I1,t] 更长。
这种更长的注意力范围能够在不增加额外计算成本的情况下提供更有益的信息,从而改善轨迹预测的效果。
总结
通过引入历史预测注意力和模式注意力,HPNet 不仅增强了对未来轨迹的预测能力,还显著提升了预测的稳定性和准确性。历史预测注意力通过利用历史预测信息扩展了注意力范围,而模式注意力则促进了不同模式之间的信息交互,从而实现了更加丰富和多样化的输出。最终,通过多层感知机解码生成的多模态输出轨迹经过进一步的细化处理,确保了预测结果的精确性和一致性。这种方法不仅适用于复杂的交通场景,也为自动驾驶技术的发展提供了有力支持。
3.6. 训练目标(Training Objective)
在训练过程中,我们遵循现有的工作 [8, 11, 24, 26, 38, 46, 47],采用 Winner-Takes-All 策略 [21] 来优化模型。
边际预测(Marginal Prediction)
对于每个代理 (n) 和时间步 (t),需要优化的模式 (k_{t,n}) 是根据预测轨迹 ({L_t^{1,n,k}}{k \in [1,K]}) 与真实轨迹 (G{t,n} = {g_{t+1,n}, g_{t+2,n}, …, g_{t+F,n}}) 的终点位移最小值来确定的:
kt,n=argmink∈[1,K](∥lt+F,n,k1−gt+F,n∥). k_{t,n} = \arg\min_{k \in [1,K]} (\|l_{t+F,n,k}^1 - g_{t+F,n}\|). kt,n=argk∈[1,K]min(∥lt+F,n,k1−gt+F,n∥).
通过这种方式,我们为每个代理选择了一个最佳模式 (k_{t,n}),该模式对应于预测轨迹与真实轨迹最接近的情况。
回归损失(Regression Loss)
回归损失函数包含两个部分,分别用于优化轨迹建议和最终精细化轨迹。每部分均使用 Huber 损失:
-
轨迹建议的回归损失:
Lt,nreg1=LHuber(Lt1,n,kt,n,Gt,n), L_{t,n}^{\text{reg1}} = L_{\text{Huber}}(L_t^{1,n,k_{t,n}}, G_{t,n}), Lt,nreg1=LHuber(Lt1,n,kt,n,Gt,n), -
精细化轨迹的回归损失:
Lt,nreg2=LHuber(Lt2,n,kt,n,Gt,n), L_{t,n}^{\text{reg2}} = L_{\text{Huber}}(L_t^{2,n,k_{t,n}}, G_{t,n}), Lt,nreg2=LHuber(Lt2,n,kt,n,Gt,n),
其中 (L_t^{1,n,k_{t,n}}) 是初始预测的轨迹建议,(L_t^{2,n,k_{t,n}}) 是经过细化后的最终轨迹。
分类损失(Classification Loss)
概率分数 {π^t,n,k}k∈[1,K]\{\hat{\pi}_{t,n,k}\}_{k \in [1,K]}{π^t,n,k}k∈[1,K] 使用交叉熵损失函数进行优化:
Lt,ncls=LCE({π^t,n,k}k∈[1,K],kt,n), L_{t,n}^{\text{cls}} = L_{\text{CE}}(\{\hat{\pi}_{t,n,k}\}_{k \in [1,K]}, k_{t,n}), Lt,ncls=LCE({π^t,n,k}k∈[1,K],kt,n),
这一步确保模型能够正确地分配高概率给最优模式 (k_{t,n})。
总损失函数(Total Loss Function)
整个模型的总损失函数由所有代理和时间步的回归损失和分类损失组成:
L=1TN∑t=−T+10∑n=1N(Lt,nreg1+Lt,nreg2+Lt,ncls). L = \frac{1}{T N} \sum_{t=-T+1}^{0} \sum_{n=1}^{N} (L_{t,n}^{\text{reg1}} + L_{t,n}^{\text{reg2}} + L_{t,n}^{\text{cls}}). L=TN1t=−T+1∑0n=1∑N(Lt,nreg1+Lt,nreg2+Lt,ncls).
通过这种设计,模型能够在训练过程中同时优化轨迹预测的准确性和模式选择的概率分布。
联合预测(Joint Prediction)
在联合预测中,我们将所有代理在同一模式下的预测视为一个整体未来,并通过联合终点位移来确定需要优化的模式。有关联合预测的详细训练目标,请参阅补充材料中的说明。
动机与优势
- Winner-Takes-All 策略:通过选择最优模式,模型能够专注于最具代表性的预测轨迹,从而提高预测的准确性。
- 分阶段优化:将轨迹建议和精细化轨迹分开优化,既保证了初步预测的合理性,又通过精细化过程进一步提升了结果的质量。
- 多任务学习:结合回归损失和分类损失,模型不仅能够生成精确的轨迹,还能合理分配不同模式的概率分数,增强了多模态输出的鲁棒性。
总结
HPNet 的训练目标通过结合回归损失和分类损失,实现了对轨迹预测和模式选择的联合优化。这种设计使得模型能够在复杂交通场景中生成更加稳定、准确且多样化的多模态轨迹预测,为自动驾驶技术的实际应用提供了重要的支持。
在本文中,我们提出了一种新颖的动态轨迹预测方法——HPNet。该方法特别设计了一个历史预测注意力模块,用于建模连续预测之间的动态关系。通过使用历史预测嵌入来指导当前的预测,使得预测出的轨迹更加准确和稳定。
具体来说,HPNet 采用了一种创新的方式,不仅关注代理间的交互、历史状态以及地图特征,还通过历史预测注意力机制引入了对连续预测之间相关性的考虑。这种方法允许模型利用历史预测信息,从而增强对未来轨迹预测的理解和准确性。实验结果表明,HPNet 在 Argoverse 和 INTERACTION 数据集上均取得了最先进的性能,这证明了历史预测注意力模块的有效性,它可以显著提高预测的准确性和稳定性。
此外,通过对三因子分解注意力机制的深入分析,我们可以看到每个组成部分(包括代理注意力、历史预测注意力和模式注意力)都在提升模型表现方面发挥了重要作用。特别是,历史预测注意力在捕捉连续预测之间的动态关系方面展现出了独特的优势,这对于生成一致且可靠的多步预测至关重要。
总之,本文提出的 HPNet 不仅为轨迹预测提供了一个强大的新工具,而且也展示了如何通过有效的注意力机制来增强模型处理复杂交通场景的能力。这些发现对于推进自动驾驶技术和多智能体系统的实际应用具有重要意义。
这里有个上下文编码器,应该看着不错。
还有预测的embedding,跟position embedding有什么区别呢?
还有一个堆叠的模块,agent + historical + mode 三因子注意力,为什么有效。
还有两个mlp 它的作用是什么?