0. 论文信息
标题:Is Ego Status All You Need for Open-Loop End-to-End Autonomous Driving?
作者:Zhiqi Li, Zhiding Yu, Shiyi Lan, Jiahan Li, Jan Kautz, Tong Lu, Jose M. Alvarez
机构:南京大学、NVIDIA
原文链接:https://arxiv.org/abs/2312.03031
代码链接:https://github.com/NVlabs/BEV-Planner
1. 摘要
端到端的自动驾驶最近成为一个有前途的研究方向,以从全栈的角度实现自主性。沿着这条线路,许多最新的工作采用了 nuScenes 上的开环评估设置来研究规划行为。在本文中,我们通过进行彻底的分析并解密更多细节中的难点,对这个问题进行了更深入的探讨。我们最初观察到,nuScenes 数据集以相对简单的驾驶场景为特征,导致端到端模型中包含自我状态(例如自我车辆的速度)的感知信息被低效利用。这些模型往往主要依赖于自我车辆的状态进行未来路径规划。除了数据集的局限性之外,我们还注意到当前的度量标准并未全面评估规划质量,这导致可能从现有基准中得出偏见的结论。为了解决这个问题,我们引入了一个新的度量标准来评估预测轨迹是否符合道路。我们进一步提出了一个简单的基线,能够在不依赖感知标注的情况下取得有竞争力的结果。鉴于基准和度量标准目前的局限性,我们建议社区重新评估相关的主流研究,并谨慎地考虑继续追求最新技术是否会得出令人信服和普遍的结论。
0. 引言
端到端自动驾驶旨在以全栈方式共同考虑感知和规划。其潜在动机是将自动驾驶车辆(AV)的感知评估作为达到目标(规划)的手段,而不是过度拟合于某些感知指标。与感知不同,规划通常更加开放且难以量化。规划的这种开放性本质理想情况下会倾向于闭环评估设置,在此设置中,其他代理可以对自车的行为做出反应,原始传感器数据也可以相应变化。然而,迄今为止,闭环评估中的代理行为建模和现实世界数据模拟仍然是具有挑战性的开放问题。因此,闭环评估不可避免地引入了与真实世界的领域差距。
另一方面,开环评估旨在将人类驾驶视为基准真相,并将规划制定为模仿学习。这种制定允许通过简单的日志重放方便地使用真实世界数据集,避免了来自模拟的领域差距。它还提供了其他优势,例如在复杂和多样的交通场景中训练和验证模型的能力,这些场景在模拟中往往难以高保真度地生成。因此,一个成熟的研究领域专注于利用真实世界数据集进行开环端到端自动驾驶。
目前主流的端到端自动驾驶方法通常使用nuScenes进行规划行为的开环评估。例如,UniAD研究了不同感知任务模块对最终规划行为的影响。然而,ADMLP最近指出,一个简单的MLP网络也可以依靠仅自车状态信息实现最先进的规划结果。这激发了我们
提出一个重要问题:自车状态是否是开环端到端自动驾驶所需的全部?
我们的答案是肯定的也是否定的,考虑到当前基准使用自车状态的利弊:
肯定。
自车状态中的速度、加速度和偏航角等信息显然有助于规划任务。为了验证这一点,我们解决了AD-MLP的一个悬而未决的问题,即移除使用历史轨迹地面真值(GTs)以防止潜在的标签泄漏。我们复现的模型Ego-MLP,仅依赖于自车状态,与现有的L2距离和碰撞率指标的先进方法不相上下。另一个观察是,只有将自车状态信息纳入规划器模块的现有方法,才能获得与Ego-MLP相媲美的结果。尽管这些方法使用了额外的感知信息(跟踪、高清地图等),但与Ego-MLP相比,它们并没有表现出优势。这些观察验证了自车状态在端到端自动驾驶的开环评估中的主导作用。
否定。
显然,自动驾驶作为一个关乎安全的应用,不应仅依赖于自车状态进行决策。那么为什么仅仅使用自车状态就能实现最先进的规划结果呢?为了回答这个问题,我们提出了一套涵盖现有开环端到端自动驾驶方法的综合分析。我们识别了现有研究中的主要缺陷,包括与数据集、评估指标和具体模型实现相关的方面。我们将这些缺陷细分并详细说明如下:
不平衡的数据集。NuScenes是一个常用的开环评估任务的基准。然而,我们的分析显示,73.9%的nuScenes数据涉及直线行驶场景,正如图2中轨迹的分布所反映的那样。对于这些直线行驶的场景,大部分时间保持当前速度、方向或转向率可能就足够了。因此,自车状态信息可以轻松地被利用作为规划任务的一种捷径,从而导致Ego-MLP在nuScenes上的出色表现。
现有指标不够全面。剩下的26.1%的nuScenes数据涉及更具挑战性的驾驶场景,可能更适合作为规划行为的更好基准。然而,我们认为目前广泛使用的指标,如预测和规划GT之间的L2距离以及自车与周围障碍物之间的碰撞率,未能准确衡量模型的规划行为质量。通过可视化从各种方法生成的众多预测轨迹,我们注意到一些高风险轨迹,如偏离道路可能不会在现有指标中受到严重惩罚。针对这个问题,我们引入了一个新的度量标准来计算预测轨迹与道路边界之间的交互率。在关注与道路边界的交集率时,基准将经历重大转变。就这个新指标而言,Ego-MLP倾向于比UniAD更频繁地预测偏离道路的轨迹。
自车状态对驾驶逻辑的偏见。考虑到自车状态可能是导致过度拟合的一个潜在来源,我们进一步观察到了一个有趣的现象。我们的实验结果表明,在某些情况下,从现有的端到端自动驾驶框架中完全移除视觉输入并不会显著降低规划行为的质量。这与基本的驾驶逻辑相矛盾,因为预期感知将为规划提供有用信息。例如,在存在自车状态的情况下,将所有相机输入屏蔽在VAD中导致感知模块完全失败,但在规划方面只有轻微的降级。然而,改变输入的自车速度可以显著影响最终预测的轨迹。
综上所述,我们推测最近在端到端自动驾驶中的努力以及它们在nuScenes上的最先进分数可能是由于对自车状态的过度依赖,加上简单驾驶场景的主导地位所致。此外,目前的指标在全面评估模型预测轨迹质量方面存在不足。这些开放问题和缺陷可能低估了规划任务的潜在复杂性,并产生了这样一个误导性印象,即自车状态是开环端到端自动驾驶所需的全部。
当前开环端到端自动驾驶研究中自车状态的潜在干扰引发另一个问题:是否可能通过从整个模型中删除自车状态来消除这种影响?然而,重要的是要注意,即使排除了自车状态的影响,基于nuScenes数据集的开环自动驾驶研究的可靠性仍然存在疑问。
3. 提出的BEV-Planner
事实上,ST - P3,一个以前经常作为基线的方法,在训练和评估过程中使用了部分不正确的GT数据。因此,在进行其他方法与ST - P3的比较时,必须仔细评估所得结论的有效性。因此,在本文中,我们有必要重新设计一个基线方法来与现有的方法进行比较。同时,为了更好地探究自我状态的影响,我们还需要一个相对清晰的基线方法。基于这些考虑,本文设计了一个非常简单的基线,命名为BEV - Planner,如图1 ( c )所示。对于我们的流水线,我们首先生成BEV特征,并将其与历史BEV特征进行拼接,主要沿用之前的方法[ 12、14、21]。请注意,在拼接不同时间步的BEV特征时,我们并没有进行特征对齐。在获得BEV特征后,我们直接在BEV特征和自我查询之间进行交叉注意力[ 36 ],这是一个可学习的嵌入。最终的轨迹是通过MLPs基于精化的自我查询进行预测的。该过程可表述如下:
其中Q为自我查询,B为时间融合后的BEV特征,τ为最终预测轨迹。
为了与现有方法保持一致,我们还设计了将自我状态纳入BEV或计划者模块的基线方法。将自我状态纳入BEV的策略与先前的方法一致。在规划器中融入自我状态的策略是直接将自我查询与包含自我状态的向量串联。
与现有的方法相比,这种简单的方法不需要任何人工标注的数据,包括边界框、跟踪ID、高清地图等。对于本文提出的基线,我们只使用一个L1损失进行轨迹监督。我们希望强调的是,我们提出的基线方法不是用于现实世界的部署,因为它在提供足够的约束和互操作性方面存在不足。
4. 实验
4.1 实验细则
我们的基线使用一个R50的主干。输入分辨率为256 × 704,小于现有方法。BEV分辨率为128 × 128,感知范围约为50米。对于使用历史BEV特征的基线,我们直接将过去4个时间步的BEV特征沿通道维度与当前BEV特征进行拼接,而不进行对齐。进一步使用方法中的BEV编码器将信道维度压缩到256。我们在8个V100 GPU上训练了12轮,批量大小为32,学习速率为1e - 4。
4.2. 指标
碰撞率。
尽管当前的方法倾向于评估计划轨迹的碰撞率,但现有方法在该指标的定义和实施上存在问题。首先,在开环端到端自动驾驶中,其他车辆不会引起自动驾驶汽车的响应。相反,它们严格遵循它们预先确定的轨迹。因此,这导致了碰撞率计算中的偏差。第二个问题源于当前方法生成的规划预测仅由一系列轨迹点组成。因此,在最终的碰撞计算中,自动驾驶汽车的偏航角没有被考虑在内。相反,假定其保持不变。这一假设导致了错误的结果,特别是在转弯场景中,如图3所示。
当前实现中也存在问题。每个单独样本的碰撞率的当前定义为:
其中N表示每t秒的间隔步数,Ii表示在第i步时自动驾驶汽车是否与其他车辆相交。在本文中,我们修改了碰撞的定义为
对于先前的实现,他们假设每个时刻的碰撞是相互独立的,这与现实世界的情况不符。我们修改后的版本产生了更准确地指示沿着预测轨迹发生的碰撞率的值。
与道路边界的交叉率。
在这项研究中,为了更全面地评估预测轨迹的质量,我们采用了一种新的指标,计算了预测轨迹与道路边界之间的交叉率。保持在道路上对于自动驾驶系统的安全至关重要,然而现有的评估指标忽略了地图先验的整合。直观地,安全轨迹应该避免与道路边界发生交互。与道路边界的交互通常表明可能离开可行驶区域,这可能构成安全隐患。我们认识到nuScenes上的某些注释的道路边界确实是可穿越的,而且在特定条件下,地面真实轨迹可能与这些边界相交。然而,从统计的角度来看,该指标可以有效地代表模型预测轨迹的整体合理性。道路边界交叉率指标的实现受碰撞率的启发。为了实现这一点,我们使用0.1米的分辨率对道路边界进行了光栅化。
联合实施。
考虑到评估指标没有官方实现,现有方法在指标实施细节上可能有所不同。在本文中,我们使用其他方法的官方开源存储库生成轨迹预测结果,然后将相同的指标实施应用于评估所有方法,以确保公平性。针对AD-MLP [45]提出的关于由于粗粒度网格尺寸(0.5m)可能导致假碰撞的担忧,我们在我们的工作中采用了更细的默认网格尺寸0.1m,以缓解这个问题。
4.3. 讨论
自我状态起着关键作用。尽管仅关注先前的指标L2距离和碰撞率,但观察到简单策略(ID-7),即简单地以当前速度直行,实际上取得了令人惊讶的良好结果。Ego-MLP模型,未利用感知线索,实际上与UniAD和VAD一样,采用了更复杂的流水线。从另一个角度来看,观察到现有方法只有在将自我车辆状态纳入规划器时才能与Ego-MLP的性能相匹配。相反,仅依赖摄像头输入导致的结果明显不及Ego-MLP。考虑到这些观察结果,我们可以暂时推断出一个有趣的结论:利用感官信息和自我状态的组合似乎可以产生与仅使用自我状态相当的结果。因此,在集成了自我车辆状态和感知信息的模型中,一个相关的问题出现了:从摄像头输入获取的感知信息在最终规划模块中扮演着什么具体角色?
自我状态与感知信息。毫无疑问,感知信息构成了所有自动驾驶系统的不可或缺的基础,自我状态还提供了关键的数据,如车辆的速度和加速度,以辅助系统的决策过程。在最终规划中同时整合感知信息和自我状态确实应该是端到端自动驾驶系统中的明智策略。
然而,如表1所示,仅依赖自我状态可能会产生与或甚至优于利用先前L2或对齐率指标上的自我状态和感知模块的方法相当的规划结果。
为了确定感知信息和自我状态在最终规划过程中所起的作用,我们对图像和自我状态进行了不同程度的扰动,如表2所示。我们使用官方的VAD模型(在规划模块中利用自我状态)作为基础模型。可以观察到,当对图像添加扰动时,规划结果略微减少,甚至可能表现出改善,而感知性能显著恶化。令人惊讶的是,即使使用空白图像作为输入,导致感知模块完全崩溃,模型的规划能力基本上保持不受影响。相应的可视化结果如图4所示。
与模型对图像输入变化的显着鲁棒性相比,它对自我状态的敏感性显著。改变自我车速后,我们可以观察到模型的规划结果明显受到影响,如图6所示。将自我车速设定为100 m/s会导致模型生成极不切实际的规划轨迹。我们认为,显示出对自我状态信息高度敏感的自动驾驶系统存在着相当大的安全风险。此外,由于规划结果主要由自我状态决定,模型中其他模块的功能不能得到体现。例如,当比较VAD(ID-6)和BEV-Planner++(ID-12)时,我们可以观察到它们在L2和碰撞率方面基本上获得了类似的结果。我们是否可以断言,即使在不使用感知数据的情况下,以其简单性和有效性为特点的我们的BEV-Planner++设计也能获得与其他更复杂的方法相媲美的结果?实际上,由于最终规划模块的性能主要受到自我车辆状态的影响,其他组件的设计并不会显著影响规划结果。因此,我们认为利用自我状态的方法不能直接进行比较,也不应该从这样的比较中得出结论。
不使用自我状态怎么样?
鉴于自我车辆状态对规划结果具有主导影响,这引发了一个重要的问题:在开环端到端研究中排除自我状态是否可行且有益?感知阶段忽略自我状态。事实上,一个关键问题是这种方法是否真的完全消除了自我状态的影响。现有的开环端到端自动驾驶方法的流程基本上遵循图1(b)的流程。鉴于自我状态对规划结果具有重大影响,这些方法实际上清楚地解释了是否在规划器中引入自我状态。然而,方法忽视了在早期感知阶段引入自我状态对规划结果的影响。具体来说,UniAD和VAD都使用BEVFormer作为他们的BEV生成模块。对于BEVFormer,它涉及将自我状态投影到隐藏特征上,并将其纳入BEV查询,如图7所示。这一技巧对感知性能产生了边缘效应,如表3所示。然而,当BEVFormer集成到端到端流程中时,这一初始阶段引入自我状态会对最终的规划性能产生重大影响。如表1所示,在BEV阶段移除自我状态输入后,VAD和UniAD的规划性能都明显下降。重要的是要澄清的是,我们的立场并不反对使用自我状态;相反,我们认为在当前数据集和评估指标的背景下,整合自我状态可以显著影响甚至决定规划结果。不幸的是,现有的端到端自动驾驶方法在感知模块中常常忽视自我状态的整合。因此,在对不同方法进行比较分析时,仔细审查自我状态的作用和影响,以确保评估的公平性和一致性是至关重要的。
没有自我状态,越简单越好吗?
人们可能会想知道为什么我们的BEV-Planner在不使用额外的感知任务(包括深度、HD地图、跟踪等)和自我状态的情况下,在L2距离和碰撞率方面的表现优于其他方法(ID-1和4)。由于我们的BEV-Planner在与道路边界相交方面表现不佳,如果我们向基线添加地图感知任务会发生什么?为了回答这些问题,我们设计了一个"BEV-Planner+Map"模型,通过将地图感知任务引入到我们的流程中,主要遵循UniAD的设计。如表4所示,当引入地图感知时,模型在L2距离和碰撞率指标方面表现较差。唯一与我们期望相符的方面是,地图感知的引入显著减少了与道路边界的相交率。通过比较BEV-Planner和BEV-Planner (init*),我们观察到使用地图预训练权重可以提高性能。这一发现意味着,在"BEV-Planner+Map"中集成MapFormer后观察到的L2和碰撞率下降不是由于预训练权重造成的。我们认为在大多数直行驾驶场景中,添加车道信息可能不会产生明显有效的信息,而且可能会引入一定程度的干扰。为验证我们的假设,我们评估了这些方法在不同驾驶命令下的表现。如表5和表6所示,添加地图信息显著增加了直行命令的L2距离误差和碰撞率。相比之下,在转弯场景中,地图信息的引入有效降低了碰撞率。
基于以上观察,我们可以初步得出以下结论:
• 在简单的直行驾驶场景中,添加感知信息似乎并不会增强模型在L2距离和碰撞率方面的性能。相反,更复杂的多任务学习范式的实施实际上可能会导致模型整体效能的降低。
• 在更复杂的场景中,比如转弯,整合感知信息可能有助于规划目的。然而,考虑到现有评估数据集中转弯场景的相对比例(13%),感知信息的引入往往会对最终分析中的平均性能指标(L2距离和碰撞率)产生不利影响。
• 开发一个更健壮和代表性的评估数据集是必要的。当前评估数据集产生的指标并不完全具有说服力,并且未能准确反映模型的真实能力。新的指标将带来新的结论。先前的方法主要集中在L2距离和碰撞率指标上。到目前为止,我们的讨论主要集中在这两个指标上。我们要强调的是,这两个指标,L2距离和碰撞率,只反映了模型规划能力的部分方面。仅根据这两个指标评估模型的质量是不明智的。在本文中,我们引入了一个新的指标来评估模型对地图的理解和遵循:与道路边界的交集率。如表1所示,我们可以观察到GoStright策略经常与道路边界相交,这符合我们的预期。在这个新指标方面,Ego-MLP比UniAD和VAD表现得更差。我们的方法BEV-Planner,在这个指标上表现最差,因为它没有使用任何地图信息。我们断言,评估开环自动驾驶系统需要一个更多样化和严格的评估框架。这将能够更准确地反映这些系统的能力和局限性。
基于我们提出的新指标,我们还发现现有的碰撞率指标可以通过后处理进行操纵。具体来说,在UniAD中,采用非线性优化模块来优化端到端模型预测的轨迹,确保预期的路径远离占用格,从而旨在预防碰撞。然而,这种优化虽然显著降低了与其他代理的碰撞率,却无意中引入了额外的安全风险。其优化过程中缺乏充分的约束条件,比如地图先验的整合,显著增加了优化轨迹侵犯道路边界的风险,如表7所示。在本文中,我们默认报告了UniAD没有经过后处理的结果。
基线在其BEV中学到了什么?
如图8所示,在自我状态的影响下,模型迅速收敛。考虑到从视觉图像中生成有价值的BEV特征的挑战,并比较不使用自我状态的BEV-Planner的收敛曲线,这进一步证明了自我状态信息主导了学习过程。由于我们的基线仅由自我轨迹监督,我们想知道模型从图像中学到了什么。如图9所示,我们观察到一个明显的现象:在BEV-Planner++中,特征图的激活范围主要包围在自车附近的直接区域,经常出现在车辆后方。这种模式与BEV-Planner的BEV特征明显不同,后者通常集中于车辆前方的区域。我们推测,这是由于引入了自我状态信息,使模型无需从BEV特征中提取信息。因此,BEV-Planner++方法几乎没有学到任何有效信息。
失败案例。
尽管nuScenes数据集中的大多数场景相对较简单,但确实包含了一些具有挑战性的场景,特别是涉及连续转弯的场景。如图10所示,在导航高曲率弯道时,具有不同设置的方法都产生了次优的预测轨迹。对于像转弯这样的具有挑战性的场景,系统必须持续做出演变的决策,评估开环自动驾驶系统面临着重大挑战。开环方法的一个局限性是它们不会受到累积误差的影响。具体而言,在给定时间步骤上预测的轨迹出现极端错误的情况下,下一个时间步骤的轨迹起点仍基于GT轨迹。我们利用的指标,与道路边界的交集,擅长识别低质量的轨迹。然而,一个能有效突出高质量轨迹的适当指标仍然是一个值得进一步探索的有趣方向。
5. 结论
这篇文章对当前的开环端到端自动驾驶方法中固有的缺陷进行了深入分析,目标是为端到端自动驾驶的渐进发展贡献发现。
结论总结如下:
(1)基于 nuScenes 的现有开环自动驾驶模型的规划性能受到自我状态(速度、加速度、偏航角)的高度影响。涉及自我状态后,模型的最终预测轨迹基本上由其主导,导致感知信息的使用减少。
(2)现有的规划指标未能充分捕捉模型的真实性能。模型的评估结果在不同指标上可能存在显著差异。我们主张采用更多样化和全面的指标,以防止模型在特定指标上实现局部最优,这可能导致对其他安全隐患的忽视。
(3)与在现有 nuScenes 数据集上推动最先进性能相比,我们认为开发更适合的数据集和指标代表了一个更为关键和紧迫的挑战。
限制
。不同规划指标之间存在权衡。设计一个用于开环评估的综合评估系统是一个重大挑战。尽管我们的基线方法在 L2 距离和碰撞率方面表现出色,但其在与道路边界的交叉率指标上的表现并不突出,主要是因为我们的方法没有利用任何感知标注,比如 HD 地图。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
计算机视觉工坊交流群
目前我们已经建立了3D视觉方向多个社群,包括
2D计算机视觉
、
大模型
、
工业3D视觉
、
SLAM
、
自动驾驶
、
三维重建
、
无人机
等方向,细分群包括:
2D计算机视觉:
图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
大模型:
NLP、CV、ASR、生成对抗大模型、强化学习大模型、对话大模型等
工业3D视觉:
相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM
:
视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:
深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、BEV感知、Occupancy、目标跟踪、端到端自动驾驶等。
三维重建:
3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:
四旋翼建模、无人机飞控等
除了这些,还有
求职
、
硬件选型
、
视觉产品落地
、
最新论文
、
3D视觉最新产品
、
3D视觉行业新闻
等交流群