原文链接:https://arxiv.org/abs/2406.03877

简介:目前的端到端自动驾驶(E2E-AD)方法通常以开环的记录回放方式,使用L2误差和碰撞率指标进行评估(如nuScenes),但这种评估方法无法全面反映算法的驾驶性能。对那些闭环评估的E2E-AD方法,通常使用驾驶分数作为指标(如CARLA),但其因为指标函数不光滑且长路线中较大的随机性而有较大的方差。此外,这些方法通常使用自己采集的数据集,无法进行算法层面的公平比较。本文推出Bench2Drive,是第一个以闭环方式评估E2D-AD系统多方面能力的基准。其评估协议需要E2E-AD系统通过不同地点和天气下的交互场景,从而对其不同环境下的驾驶能力进行全面且可分离的评估。

0. 引言

目前E2E-AD系统的评估存在瓶颈(见简介部分)。本文提出Bench2Drive,使用SotA的专家模型Think2Drive在CARLA中采集官方数据集,包含不同城镇和天气下的44中交互场景。评估协议包括220条短程路线,每条包括一个特定的场景,从而可在AD系统的不同技能上进行独立评估和比较。
在这里插入图片描述
Bench2Drive的特点包括:

  • 全面的场景覆盖
  • 细粒度的技能评估
  • 闭环评估协议
  • 多样化的大规模官方训练数据(约2M帧)

此外,经典的闭环评估指标——驾驶分数 缺乏细节,且严苛的惩罚机制会鼓励AD系统采用过度保守的驾驶策略;Bench2Drive则能全面评估不同方法的能力。

1. Bench2Drive

1.1 数据采集智能体

在仿真中,通常使用教师模型采集数据。教师模型可使用现实世界不可获取的信息(称为特权信息),如周围智能体的真实位置、状态和意图,以及交通灯的真实状态。

本文使用基于世界模型的强化学习教师——Think2Drive来收集数据,因其是唯一能解决所有44种场景的专家模型。

1.2 专家数据集

在这里插入图片描述
本文的大型专家数据集以10Hz采集数据,标注包括3D边界框、深度、语义分割。此外,还提供了Think2Drive的值估计和特征,以为学生模型提供指导。

传感器设置与nuScenes相似,包含1个64线激光雷达、6个摄像机、5个雷达、IMU&GNSS、BEV摄像机(用于可视化等)和HD图像。

此外,本文尽可能保证天气情况、景观和行为在数据集中均匀分布,以避免数据长尾分布对感知和行为的影响。

数据集分为mini、base和full三个子集以适应不同的算力。

1.3 多方面能力评估

目前的规划基准使用所有路线上的平均分数来衡量AD系统的性能,但无法指出不同模型的优势和弱势。本文提出更细粒度的评估,在每个场景下设计5个不同路线,衡量AD系统的单方面能力。

每条路线包括起点和终点坐标,使用两种指标评估性能:

  • 成功率(SR):若在无违规情况下从一条路线的起点到达终点,则该路线被视为成功。记成功路线数为 n s u c c e s s n_{success} nsuccess,总路线数为 n t o t a l n_{total} ntotal,则
    S R = n s u c c e s s n t o t a l SR=\frac{n_{success}}{n_{total}} SR=ntotalnsuccess
  • 驾驶分数(DS):同时考虑路线完成情况和违规惩罚的指标,类似CARLA的官方指标。其基于违规严重程度进行惩罚,并取所有路线完成百分比(该路线的完成距离)的平均。记 R C i RC_i RCi为路线 i i i的晚餐百分比, p i j p_{ij} pij为路线 i i i上违规 j j j的惩罚, n i , p e n a l t y n_{i,penalty} ni,penalty为路线 i i i上的违规数量。
    D S = ∑ i = 1 n t o t a l R C i ⋅ ∏ j = 1 n i , p e n a l t y p i j DS=\sum_{i=1}^{n_{total}}RC_i\cdot \prod_{j=1}^{n_{i,penalty}}p_{ij} DS=i=1ntotalRCij=1ni,penaltypij

此外,除了目标的完成能力,还提出如下指标评估效率和轨迹的平滑性。

  • 效率:通过将自车速度 v e g o v_{ego} vego与周围车辆的平均速度 v ˉ n e a r b y \bar v_{nearby} vˉnearby比较,来确定自车速度是否过低:
    速度百分比 = v e g o v ˉ n e a r b y 速度百分比=\frac{v_{ego}}{\bar v_{nearby}} 速度百分比=vˉnearbyvego

    本文在每条路线上设计20个检查点,在每个检查点处衡量效率。最终的驾驶效率为所有检查点的平均速度百分比。
    若自车没有到达第一个检查点,则该路线不会计入最终效率计算。此外,超过1000%的速度百分比会被滤除,以应对异常速度峰值情况。

  • 舒适度:类似nuPlan的光滑度(舒适度)指标,衡量自车的最大/最小纵向加速度、横向加速度绝对值的最大值,偏航角速度和角加速度,加加速度的纵向分量,和加加速度向量的最大幅值。这些变量会与根据经验确定的阈值比较,并基于是否在阈值范围内来衡量舒适度:
    帧变量光滑度 F V S = { T r u e 下界 ≤ p i ≤ 上界 F a l s e 否则 , p ∈ 光滑度变量 , 0 ≤ i ≤ 总帧数 帧变量光滑度FVS=\begin{cases}True & 下界\leq p_i\leq上界\\False & 否则\end{cases},p\in 光滑度变量,0\leq i\leq总帧数 帧变量光滑度FVS={TrueFalse下界pi上界否则,p光滑度变量,0i总帧数
    光滑度变量为前面介绍的速度、加速度、加加速度等。当轨迹上每一帧所有光滑度变量的FVS都为True时,轨迹被称为光滑的:
    轨迹光滑度 T S = ⋀ i = 0 总帧数 F V S 轨迹光滑度TS=\bigwedge_{i=0}^{总帧数}FVS 轨迹光滑度TS=i=0总帧数FVS

    但整个轨迹上的光滑度易受局部行为影响,例如前车急刹时自车也应急刹,但这样做会破坏整条路线的光滑度。因此本文将轨迹分割为帧数为 n = 20 n=20 n=20的片段,在每个片段内衡量片段光滑度SS。
    最终的光滑度为光滑轨迹片段数与总片段数之比。
    特别地,若自车因被阻滞(速度低于0.1持续60s以上)导致失败,该片段仍被视为光滑的。帧数低于 n n n的轨迹被排除在光滑度评估外。

2. 实验

2.1 基线&数据集

在Bench2Drive上实施UniAD、VAD、AD-MLP、TCP、ThinkTwice、DriveAdapter这些经典E2E-AD模型。

2.2 结果

本文将基线方法进行开环和闭环评估。结论如下:

  • 开环指标可指示模型收敛性,但不能用于高级比较。模型的开环L2误差较大时,能说明系统存在某些问题。但开环L2误差小的模型,闭环性能可能更差,因为开环模型忽视了分布偏移和因果混淆等问题。
  • 专家特征蒸馏有重要指导。由于输入的高维特性(多图像和点云),E2E-AD容易过拟合。使用已有丰富驾驶知识的专家特征进行蒸馏可以缓解这一问题。使用了专家特征蒸馏的方法,其性能大幅超过不使用蒸馏的方法。
  • 交互行为很难学习。所有模型在与强交互相关的技能(如并线、超车或紧急制动)上均表现较差。这可能因为长尾问题(虽然路线尽可能平衡,但路线中交互行为的帧数占比较少)或模仿学习范式(直接使用轨迹或控制信号监督,无法为博弈、思考和推理进行指导)。

局限性:CARLA的渲染与真实世界存在差异。使用扩散模型等生成模型可能可以提供真实的渲染,但其幻觉和伪影问题仍需探索。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐