导读: 本篇文章提出了一种基于联合预测的轨迹预测模型,包括交互模块、意图模块和风险评估模块。实验结果表明,本文模型在正常场景中保持高准确性,并且展现了在事故场景中应对具有挑战性或者突发情况的潜力。©️【深蓝AI】编译
1. 摘要
准确预测周围车辆的轨迹是自动驾驶汽车面临的关键挑战。在复杂的交通场景中,当前的自动驾驶系统存在两个重大问题:预测的认知不确定性和缺乏风险意识,这限制了自动驾驶的进一步发展。为了应对这一挑战,本文引入了一种新的轨迹预测模型,该模型结合了驾驶行为、道德决策和风险评估的见解和原则。根据联合预测,本文的模型由交互、意图和风险评估模块组成。在交互模块中,可以在每个时间戳全面获取车辆之间交互的动态变化。基于交互信息,本文模型考虑了车辆的主要意图,以增强轨迹生成的多样性。预测轨迹的优化遵循高级的风险感知决策原则。实验结果在DeepAccident数据集上进行评估,本文方法在正常场景和事故场景中展现出其卓越的预测性能,分别比最先进的算法提升了至少28.9%和26.5%。本文所提出的模型提高了复杂交通场景中轨迹预测的准确性和适应性。
2. 介绍
在复杂的交通环境中,像人类驾驶员一样准确预测周围车辆的轨迹仍然是自动驾驶汽车(AV)所面临的主要挑战。本文着重于解决这些复杂场景中AV的轨迹预测问题。
车辆的行为不仅受到其历史运动的影响,还受到周围车辆行为的影响。为了解决这个问题,Tolstaya等人提出了一种基于条件边际预测(CMP)的模型,该模型基于查询的AV未来轨迹预测其它车辆的未来轨迹。
然而,CMP存在一个缺陷:即使在并道、变道或者无保护左转等关键情况下,AV也只能够被动地对其它车辆的预测行为做出反应。
在这些场景下,AV与其它智能体主动协调是至关重要的,而不仅仅是对预测做出反应。因此,本文模型采用了联合预测设置,同时预测多智能体的轨迹,有效地建模它们之间的未来交互。
由于驾驶员行为中固有的随机性和不确定性,即使在相同的情况下,也可能存在多种合理的轨迹选择。面对这类不确定性,传统的预测模型往往会生成多条可能的轨迹,这增加了决策的复杂性。然而,意图识别可以通过识别给定情况下最可能的驾驶行为或者轨迹来有效降低这种不确定性。因此,本文模型优先考虑基于意图的轨迹预测,而不是考虑所有可能的运动模式,使得决策更为高效且准确。
在复杂的混合交通场景(特别是那些有碰撞风险的场景)中,决策策略必须着重于避免事故。现有的方法大致可以分为经典的方法和基于学习的方法。经典的方法(例如模型预测控制(MPC)与势场技术相结合)通常依赖于固定的参数。尽管基于学习的方法简单且高效,但是它们通常依赖于手动设置的因子和参数。相比之下,本文方法结合了风险评估来评估生成的轨迹,从而增强高风险场景下的决策。
本文模型通过引入基于驾驶行为的意图预测来解决不确定性问题,这约束了生成的轨迹。此外,通过应用风险道德原则,本文模型提高了在复杂场景中的适应性,如图1所示。
本项工作的主要贡献总结如下:
1)本文提出了一种新的注意力特征模块,该模块通过着重于意图相关的轨迹而不是考虑所有可能的运动模式来增强轨迹预测,从而提高自动驾驶(AD)系统的准确性和效率;
2)本文引入了一种轨迹优化模块,它考虑了潜在风险,使车辆能够做出更具适应性且更安全的决策;
3)在正常和事故场景中,本文模型比最先进的(SOTA)基线高出至少28.9%和26.5%,这证明了其在复杂交通环境中的有效性和适应性。
3. 准备工作
本文假定驾驶场景可以描述为一个连续空间-离散时间系统,它涉及自动驾驶汽车(AV)(表示为 A 0 A_0 A0)和其他智能体(标记为 A 1 A_1 A1至 A N A_N AN)。这些智能体的状态受到场景上下文 M M M的影响。给定所有智能体在先前 H H H个时间步长的历史状态 s s s,定义如下:
X = { s − H : 0 0 , s − H : 0 1 , s − H : 0 2 , . . . , s − H : 0 N } ( 1 ) X = \lbrace s^0_{-H:0}, s^1_{-H:0}, s^2_{-H:0},...,s^N_{-H:0} \rbrace \qquad(1) X={s−H:00,s−H:01,s−H:02,...,s−H:0N}(1)
其中, s s s包括其位置、偏航角、车辆类型、横向和纵向行为以及场景上下文。
本文将所有智能体的 K K K条可能的未来轨迹集合表示为:
Y k = { s ^ 1 : T 0 , s ^ 1 : T 1 , . . . , s ^ 1 : T N } , k = 1 , . . . , K ( 2 ) Y_k = \lbrace \hat{s}^0_{1:T}, \hat{s}^1_{1:T}, ..., \hat{s}^N_{1:T} \rbrace, k = 1,...,K \qquad(2) Yk={s^1:T0,s^1:T1,...,s^1:TN},k=1,...,K(2)
其中, Y k Y_k Yk表示智能体 i i i在时间步长1到T上预测的状态集合,其中每条预测的轨迹与概率 { p k ∣ k = 1 , . . , K } \lbrace p_k | k = 1,..,K\rbrace {pk∣k=1,..,K}相关联。最后,本文考虑AV的初始轨迹 s ^ 1 : T 0 \hat{s}^0_{1:T} s^1:T0、其它智能体的预测以及定义的代价函数来优化未来轨迹。
4. 提出的模型
图2展示了本文网络的结构。
交互模块通过地图编码器和轨迹编码器来处理历史轨迹和地图信息。相对位置编码器进一步优化了智能体之间的位置关系。随后,对智能体之间的交互关系进行建模。在意图模块中,计算并且融合了纵向和横向意图概率,以获得智能体的运动意图。最后,通过风险评估模块来计算场景风险值,并且用于引导轨迹优化。通过与不同模块的协作,整个系统可以有效地预测和评估多车交互中的风险,以确保在复杂场景中驾驶的熟练度和适应性。
4.1 交互模块
对于每个智能体,通过在特定范围内采集潜在的交互式场景上下文来构建局部场景上下文。本文计算每个智能体的几何属性,并且获得相对位置嵌入,以帮助模型理解智能体随时间的位置变化。对于具有绝对时空位置 ( d i , v i , t ) (d_i, v_i, t) (di,vi,t)和 ( d j , v j , s ) (d_j, v_j, s) (dj,vj,s)的元素,元素 i i i和元素 j j j之间的相对位置由三个量来描述:航向差 α i → j \alpha_{i \rightarrow j} αi→j、相对方位角 β i → j \beta_{i \rightarrow j} βi→j和距离 d i → j d_{i \rightarrow j} di→j。为了提高数值稳定性,角度使用正弦和余弦值表示。本文将航向差 α i → j \alpha_{i \rightarrow j} αi→j表示为 s i n ( α i → j ) = v i × v j ∥ f v i ∥ ∥ v j ∥ sin(\alpha_{i \rightarrow j}) = \frac{v_i \times v_j}{\lVert fv_i \rVert \lVert v_j \rVert} sin(αi→j)=∥fvi∥∥vj∥vi×vj, c o s ( α i → j ) = v i ⋅ v j ∥ f v i ∥ ∥ v j ∥ cos(\alpha_{i \rightarrow j}) = \frac{v_i \cdot v_j}{\lVert fv_i \rVert \lVert v_j \rVert} cos(αi→j)=∥fvi∥∥vj∥vi⋅vj,将相对方位角 β i → j \beta_{i \rightarrow j} βi→j表示为 s i n ( β i → j ) = d i → j × v j ∥ d i → j ∥ ∥ v j ∥ sin(\beta_{i \rightarrow j}) = \frac{d_{i \rightarrow j} \times v_j}{\lVert d_{i \rightarrow j} \rVert \lVert v_j \rVert} sin(βi→j)=∥di→j∥∥vj∥di→j×vj, c o s ( β i → j ) = d i → j ⋅ v j ∥ d i → j ∥ ∥ v j ∥ cos(\beta_{i \rightarrow j}) = \frac{d_{i \rightarrow j} \cdot v_j}{\lVert d_{i \rightarrow j} \rVert \lVert v_j \rVert} cos(βi→j)=∥di→j∥∥vj∥di→j⋅vj。相对时空信息变为 r i → j = [ s i n ( α i → j ) , c o s ( α i → j ) , s i n ( β i → j ) , c o s ( β i → j ) , ∥ d i → j ∥ ] r_{i \rightarrow j} = [sin(\alpha_{i \rightarrow j}), cos(\alpha_{i \rightarrow j}), sin(\beta_{i \rightarrow j}), cos(\beta_{i \rightarrow j}), \lVert d_{i \rightarrow j} \rVert] ri→j=[sin(αi→j),cos(αi→j),sin(βi→j),cos(βi→j),∥di→j∥]。本文将智能体的几何属性与语义属性(例如智能体的类别)相联系,并且通过多层感知(MLP)来获得相对位置嵌入。
本文使用长短期记忆(LSTM)网络作为历史轨迹的编码器。地图编码器使用MLP对地图嵌入进行编码。本文使用两层自注意力Transformer编码器作为智能体-智能体交互编码器,其中查询、键和值(Q、K、V)为编码智能体的历史轨迹嵌入。本文使用Transformer编码器作为智能体-地图编码器,其中智能体的交互特征为查询(Q),并且使用地图嵌入(包括编码的路径点序列)作为键和值(K、V)。多次执行此操作以处理来自智能体的所有地图矢量,从而产生一系列智能体-地图矢量注意力特征。本文为未来时间系建立一个以每个智能体为中心的交互模型。每个智能体的交互图都是根据其特征和周围环境独立构建的,可以更精确地捕获其独特的行为模式和交互需求。
4.2 注意力模块
由于可能的驾驶意图的复杂性和多样性,车辆在现实世界交通场景中的实际轨迹往往是不确定的。本文将主要的驾驶意图分为横向(左转(LT)、直行(ST)和右转(RT))和纵向(加速(ACC)、恒速(CON)和减速(DEC))。为了解决预测中的不确定性和可变性,本文引入了一个意图模块,它负责预测这些驾驶意图的概率分布。具体而言,本文使用MLP层将交互特征从历史数据转换为未来预测,生成特定意图嵌入。为了获得意图特征 Z Z Z,通过使用softmax激活函数的MLP将特定意图嵌入与意图类别 l a l_a la和 l o l_o lo的预测概率联系起来,其中, l a ∈ { L T , S T , R T } l_a \in \lbrace LT,ST,RT \rbrace la∈{LT,ST,RT}和 l o ∈ { A C C , D E C , C O N } l_o \in \lbrace ACC,DEC,CON \rbrace lo∈{ACC,DEC,CON}。
Z = s o f t m a x ( M L P ( e l a ⊕ e l o , W l o ) ) ( 3 ) Z = softmax(MLP(e^{la} \oplus e^{lo}, W_{lo})) \qquad(3) Z=softmax(MLP(ela⊕elo,Wlo))(3)
意图特征 Z Z Z与交互特征 I I I连接起来。然后将组合的表示传入解码网络。为了预测每条未来联合轨迹(所有智能体)的概率分布,本文使用最大池化来聚合来自所有智能体的信息,并且使用MLP来解码这些概率。本文方法评估了车辆可能执行的各种潜在意图,并且量化了与每个预测相关的置信水平。这对于有关预期意图做出明智决策是特别有用的,因为它使自动驾驶汽车(AV)能够考虑预测中的固有不确定性。轨迹优化过程将使用概率最高的预测结果作为输入,包括初始规划和其它智能体的预测。
4.3 风险评估模块
如上所述,构建的模型在不考虑任何有关场景风险的信息的情况下输出预测结果。然而,现实世界交通环境是动态且充满不确定性的。优化输出结果需要额外的信息,特别是在训练数据不足或者不可用的情况下。因此,量化场景的风险对于开发可靠且值得信赖的自动驾驶系统是至关重要的。为了解决这个问题,本文引入了一个基于风险道德原则的风险评估模块来优化轨迹。
1)风险估计: 根据智能体的航向角和维度,本文计算了每个智能体的前后位置,这些位置与智能体的中心位置一起用于碰撞检测。碰撞概率被定义为遵循多元正态分布。通过计算中心、前方和后方位置的概率分布并且将其相加,确定了车辆在该时刻的整体碰撞概率。
当考虑影响碰撞的因素时,本文仅考虑双方的质量、速度和偏航角等因素,这些因素不受人为改变。根据碰撞角度,碰撞类型分为前方、侧方和后方。为了简化碰撞计算,本文对碰撞区域应用对称处理。本文模型区分了受保护(车辆、卡车等)和未受保护(行人、骑行者等)智能体。通过下式计算危害程度:
Δ
v
A
=
m
B
m
A
+
m
B
v
A
2
+
v
B
2
−
2
v
A
v
B
c
o
s
θ
(
4
)
\Delta v_A = \frac{m_B}{m_A+m_B}\sqrt{v^2_A+v^2_B-2v_Av_Bcos\theta} \qquad(4)
ΔvA=mA+mBmBvA2+vB2−2vAvBcosθ(4)
H
=
1
1
+
e
−
(
μ
0
+
μ
1
⋅
Δ
v
+
μ
a
r
e
a
)
(
5
)
H = \frac{1}{1+e^{-(\mu_0 + \mu_1 \cdot \Delta v + \mu_{area})}} \qquad(5)
H=1+e−(μ0+μ1⋅Δv+μarea)1(5)
其中, m m m和 v v v是两个智能体的质量和速度, θ \theta θ是碰撞角度, μ 0 \mu_0 μ0、 μ 1 \mu_1 μ1和 μ a r e a \mu_{area} μarea是经验上确定的系数。
风险模型旨在将估计的危害分配给每个碰撞概率,然后获得每个采样轨迹在规划范围内随时间变化的风险。为了便于后续计算,本文旨在通过单个风险值来描述每条可能的轨迹,因此选择未来时间步长的最大风险作为每条轨迹的风险值:
R = m a x t ( H ⋅ P t ) ( 6 ) R=\mathop{max}\limits_{t}(H \cdot P_t) \qquad(6) R=tmax(H⋅Pt)(6)
2)代价函数: 代价函数包含各种精心设计的风险代价,这些代价考虑了驾驶决策中的不同关键因素,包括自保护(安全性)、对弱势群体的关注(谨慎)和对突发高风险的反应(灵敏度)。以下是每种代价计算的详细信息。
安全性代价的计算考虑了自车风险、障碍物风险和边界危害:
c s = 1 2 n ( ∑ i = 1 n R i + R b ) ( 7 ) c_s=\frac{1}{2n}(\sum^n_{i=1}R_i + R_b) \qquad(7) cs=2n1(i=1∑nRi+Rb)(7)
其中,
R
i
R_i
Ri表示自车风险,
R
j
R_j
Rj表示其它车辆风险,
R
b
R_b
Rb表示与道路边界发生碰撞的风险。场景中所有检测到的智能体的风险都被累积和归一化。根据安全性原则,必须在代价函数中选择总体风险最低的轨迹。这一原则为所有道路使用者做出最佳决策。
为了保护弱势群体(例如行人和骑行者),本文引入了谨慎代价:
c c = 1 n ∑ i = 1 n ∑ j = 1 n ∣ R i − R j ∣ ( 8 ) c_c = \frac{1}{n}\sum^{n}_{i = 1} \sum^{n}_{j = 1}\lvert R_i - R_j\rvert \qquad(8) cc=n1i=1∑nj=1∑n∣Ri−Rj∣(8)
它计算了不同风险值之间的平均差。受保护群体和未受保护群体的风险差越大,则谨慎代价就越高。这一原则旨在避免在追求较低安全性代价时,给弱势群体带来不成比例的高风险。
为了应对突发的高风险情况,响应函数根据最大最小原则来评估轨迹的风险代价,确保即使在最不利的条件下(即风险很高时),智能体的性能也保持在可接受的水平。
c r = m a x ( ∑ i = 1 n f ( R i ) ) ( 9 ) c_r = max(\sum^n_{i = 1}f(R_i)) \qquad(9) cr=max(i=1∑nf(Ri))(9)
该原则通过计算智能体之间的最大最小值来评估潜在风险,并且使用缩放因子来调整最终风险代价。这意味着,当面对突发的高风险时,智能体将优先考虑可能造成最大危害的情况,确保即使在最坏的情况下也能有效地管理风险代价。
最终的代价函数为:
L r i s k = ω s ⋅ c s + ω c ⋅ c c + ω r ⋅ c r ( 10 ) L_{risk} = \omega_s \cdot c_s + \omega_c \cdot c_c + \omega_r \cdot c_r \qquad(10) Lrisk=ωs⋅cs+ωc⋅cc+ωr⋅cr(10)
基于最终的代价函数,智能体可以获得与周围智能体相关的风险值,并且进一步优化车辆的轨迹。其中, ω s = ω c = ω r = 33.3 \omega_s = \omega_c = \omega_r = 33.3 ωs=ωc=ωr=33.3,表明该模型对这三种考虑因素同等对待。
4.4 模型训练
对于意图预测,交叉熵损失的应用如下:
L m a n = − ∑ l a , l o Q g t ⋅ l o g Q p r e ( 11 ) L_{man} = -\sum_{la, lo}Q_{gt} \cdot logQ_{pre} \qquad(11) Lman=−la,lo∑Qgt⋅logQpre(11)
其中, Q g t Q_{gt} Qgt和 Q p r e Q_{pre} Qpre分别表示当前训练样本的实际意图和预测意图。对于轨迹预测,模型选择最接近现实世界轨迹的情况,然后计算平滑的L1损失。
L p r e = m i n k ∑ i = 1 N S m o o t h L 1 ( y ^ i ( k ) , y i ) ( 12 ) L_{pre} = \mathop{min}\limits_{k}\sum^N_{i = 1}SmoothL1(\hat{y}^{(k)}_i, y_i) \qquad(12) Lpre=kmini=1∑NSmoothL1(y^i(k),yi)(12)
其中, y ^ i ( k ) \hat{y}^{(k)}_i y^i(k)是最接近真值的预测分支, y i y_i yi表示真值轨迹。
本文制定了一种分阶段的策略。特别是,在前五次迭代中,使用损失来评估观测到的轨迹和预测轨迹之间的偏差。在随后的迭代中,将风险对轨迹生成的影响考虑在内。因此,总损失如下:
{ L = L p r e + τ L m a n , S t a g e 1 L = L p r e + τ L m a n + ( 1 − τ ) L r i s k , S t a g e 2 ( 13 ) \begin{cases} L = L_{pre} + \tau L_{man}, \quad \quad \quad \quad \quad \quad \quad Stage1 \\ L = L_{pre} + \tau L_{man} + (1 - \tau)L_{risk}, \quad Stage2 \end{cases} \qquad(13) {L=Lpre+τLman,Stage1L=Lpre+τLman+(1−τ)Lrisk,Stage2(13)
5. 实验
5.1 实验装置
在本项研究中,DeepAccident数据集用于评估,它包含总共285k个标注的样本和57k个V2X帧,频率为10Hz。此外,本文以0.7、0.15和0.15的比例划分数据,用于训练、验证和测试。该数据集提供了对现实交通场景有价值的见解,从而能够得出有意义的结论。在实验中,在NVIDIA GeForce RTX 4090 24GB GPU上进行模型训练和推理。为了匹配这个硬件平台,在Ubuntu 18.04和Pytorch 3.8环境中实现了所提出的模型。在此过程中,本文使用了批量规模32和Adam优化器,其学习率从2e-4开始,权重衰减率为3e-4。
5.2 结果
为了验证所提出模型的有效性,本文将其与SOTA轨迹预测模型进行比较。这些包括众所周知的基准,例如S-LSTM、SGAN、Pishgu和DIPP。请注意,由于SGAN包含一个带有池化的优化模型,本文引入了另一个基线SGAN-P。
本文使用平均位移误差(ADE)和终点位移误差(FDE)来全面评估模型的性能。ADE是指在所有预测的时间步长内,真值和预测之间的平均L2距离,而FDE是在预测阶段的最后时刻测量的真值与预测之间的距离。
结果如表1所示:
驾驶场景分为碰撞和非碰撞类别。本文模型始终优于当前的SOTA基线,在正常场景下,准确率提升了28.9%至61.1%;在事故场景中,准确率提升了26.5%至41.5%;整体准确率提升了27.3%至50.8%。鉴于事故场景的高度复杂性和不可预测性,因此事故场景中的结果是重要的。这一提升突显了将驾驶行为和风险感知加入到轨迹预测中的重要作用。通过有效地建模车辆之间的交互和评估潜在风险,本文模型可以更好地导航和预测高风险情况下的结果。在正常场景中,本文方法最初的性能与DIPP类似,但是展现出更好的长期预测能力。这种增强的长期性能突显了该模型在扩展的预测范围内保持准确性的能力,这对有效的自动驾驶是至关重要的。
此外,本文根据不同的车辆意图对数据进行进一步分类,包括直行、左转和右转,从而能够对模型在各种交通行为中的能力进行详细评估,如表2所示。
具体而言,在直行驾驶测试子集中,与SOTA基线相比,本文模型实现了明显较低的ADE值,这证明了本文方法在提高预测准确性方面的有效性。此外,本文模型在左转和右转测试子集中展现出显著的改进,这突出了其在准确预测各种驾驶场景和意图下的未来车辆轨迹方面的鲁棒性和有效性。总体而言,本文的研究成果证实了所提出的模型在预测车辆轨迹方面的能力和效率。
5.3 消融研究
表格3展现了三个关键组件的分析:交互模块、意图模块和风险评估模块。本文测试了五个模型:模型A(没有交互模块)、模型B(没有意图模块)、模型C(没有风险评估模块)和模型D(所有模型组件)。
当评估正常和事故场景时,与综合模型D相比,模型A、B和C的性能较差。模型D的性能突出了集成多个模块的重大影响。交互模块的集成显著提高了性能,突出了建模交互行为以增强预测准确性的重要性。意图模块通过有效地获取各种场景中的驾驶意图来进一步提高性能。值得注意的是,与其它模型相比,模型C在事故场景中表现更差。这表明,风险感知在这种高风险情况下尤为重要。模型C的性能突显了将风险评估加入轨迹预测系统的重要性。如果没有一个鲁棒的机制来评估和应对潜在风险,模型可能无法有效地应对事故多发的场景。
6. 总结
在复杂环境中预测周围车辆的轨迹对AD系统而言是必要的。为了克服这一挑战,本文提出了一种基于联合预测的模型,该模型由三个部分组成:交互模块、意图模块和风险评估模块。本文模型在正常场景中保持高准确性,并且展现了在事故场景中应对具有挑战性或者不寻常情况的潜力。通过消融研究,验证了每个模块的重要性,并且强调了加入交通行为原则的必要性。总体而言,本文方法的性能验证了它的熟练度和适应性。未来,计划研究与所提出的预测模块相对应的规划模块,并且构建了一个功能齐全的AD系统。©️【深蓝AI】
Ref:
Intention-based and Risk-Aware Trajectory Prediction for Autonomous Driving in Complex Traffic Scenarios
编译|auto_driver
审核|Los