同样是uniad上交团队出品,也是在carla中实现uniad中的一个步骤。并且其中用到了think2drive。
简而言之这篇论文就是提供了一个先进的闭环评估标准,并且在Think2Drive提供的世界模型上训练了现有的SOTA算法。
项目网站:https://thinklab-sjtu.github.io/Bench2Drive
论文链接:https://arxiv.org/abs/2406.03877
github:https://github.com/Thinklab-SJTU/Bench2Drive
摘要 Abstract^
背景:
- 在基础模型快速发展的时代,端到端自动驾驶因为数据驱动逐渐成为主流。
- 现有的方法大多在open-loop log-replay进行评估,使用L2误差和碰撞率作为指标(nuScenes数据集),但是这种方法没办法很好的反应算法的架势性能。
- 在closed-loop下的方法,通常在固定线路,使用驾驶评分作为指标(CARLA),但是指标因计算函数不平滑等原因有较高的方差。
- 上述两种方法通常收集自己的数据进行训练,算法公平性比较上不可行。
贡献:
- 为了满足全自动驾驶测试环境全面、公平等要求,提出了Bench2Drive,一个首创的端到端基准测试平台。
- 官方训练集包含了来自Carla LeaderBoardv2的200万帧完全标注的图像,数据来自一万个短视频片段,这些片段有44种scenarios,23种天气还有12个城镇。
- 评估协议要求模型能够在不同地点和情况通过44种交互场景,合计220条路线。
- 在Bench2drive中实现了sota模型(Uniad、Vad),并进行了评估。
1 介绍 Introduction
- 对摘要中提到的背景进行了进一步说明:
- nuScenes数据集75%都是直行场景,导致了只需要对车辆自身状态编码就能媲美复杂算法。
- Carla自身太简单并且场景固定,LeaderBoard v2的官方路线又有点太复杂艰巨,往往难以完美完成,所有不好比较各种模型。
- 对贡献进行了进一步说明:
- 由Think2Drive收集的官方数据集。
- 优化了路线和评估标准。
Bench2Drive特征总结:
- 全场景覆盖
- 精细技能评估
- 闭环测试协议
- 多样化的官方数据
进一步的贡献:
- 实现了几个经典的baseline,包括TCP、ThinkTwice、DriveAdapter、UniAD、VAD和AD-MLP,并在Bench2Drive中对其进行了评估。
- 证实了L2等开环指标不能反应实际的驾驶性能
- 对传统的闭环指标容易导致驾驶策略变保守的情况进行了优化。
源码中还实现了PID控制,
2 相关工作
2.1 规划基准
特定任务数据集:感知——KITTI 预测——NGSIM/hignD、BARK
综合数据集:

2.2 端到端自动驾驶
- 起源于1980。现在神经网络特别是transformer的发展给了很大动力。
- 然而他们都是在open-loop方法上评估。
- Bench2Drive提供了更复杂和具有挑战性的方法。
3 Bench2Drive
简单介绍:
- 大规模全注释数据集
- 用于精细驾驶技能评估的评估工具包
- 几种最先进的E2E-AD方法的实现
- 开源
3.1 专家数据集
总览:
- 闭环评估下,数据集的规模和分布会显著影响算法的表现。
- 构建了大规模专家数据集,包括3D bounding box、深度信息、语义分割
- 用think2drive提供了专家模型。
- 采用了与nuScenes类似的传感器配置
- 一个激光雷达
- 六个相机
- 五个雷达
- 一个IMU和GNSS
- 一个BEV摄像头
- 高清地图

数据集的多样性:
- 为了解决long tail问题,使得天气、场景和行为分布更均匀。
- 在carla leaderboard v2的路线上,增加了更多可用的location和scenario,增强数据多样性。

数据划分:
- 将驾驶过程划分成短片段,每个150米左右,并包含一个特定场景。
- 使得可以对单独的驾驶技能进行课程学习。
- 为了适应不同的计算能力,设计了四个数据子集。
- mini 子集:包含 10 个片段,主要用于 调试和可视化,适合低资源环境或初步开发阶段。
- base 子集:包含 1,000 个片段,数量与 nuScenes 数据集相当,适合配备 8xRTX3090 服务器 进行中等规模的实验。
- full 子集:包含 10,000 个片段,用于 大规模研究,适合高性能计算环境,能够支持更复杂的训练和实验。
- [x] 什么是专家数据集和专家模型 ➕ 2024-11-06 ✅ 2024-11-06
这两个概念是在模仿学习(imitation learning)中的。
模仿学习的过程是收集专家(高水平系统或人类)数据集,再训练专家模型。- 专家数据集(Expert Dataset): 在模仿学习中,专家数据集 是关键的训练材料。专家数据集包含了专家在执行任务时的感知数据(例如,图像、深度数据、传感器数据)以及相应的行为标签(例如,行动选择、控制命令等)。这些数据是模仿学习的基础,智能体通过学习这些数据来模仿专家的行为。
例如,在自动驾驶的模仿学习中,专家数据集可能包括车辆的传感器数据(如摄像头、激光雷达、雷达等数据)以及专家在每个时刻所做的决策(例如,加速、刹车、转向)。智能体会基于这些数据学习如何进行驾驶。 - 专家模型(Expert Model): 专家模型 是指通过专家数据集训练出来的高性能模型,这个模型在特定任务上表现优异,能够有效地决策并执行任务。在模仿学习中,专家模型的作用通常是作为一个“示范”或“行为规范”。专家模型通过自己的决策过程来为学生模型提供“目标”或“参考”。
在模仿学习的过程中,学生模型的目标是学习如何像专家模型一样做出决策。具体来说,专家模型的行为可以通过模仿学习被“复制”或模仿,以使得学生模型能够在类似的环境中进行有效的决策。
- 专家数据集(Expert Dataset): 在模仿学习中,专家数据集 是关键的训练材料。专家数据集包含了专家在执行任务时的感知数据(例如,图像、深度数据、传感器数据)以及相应的行为标签(例如,行动选择、控制命令等)。这些数据是模仿学习的基础,智能体通过学习这些数据来模仿专家的行为。
3.2 多能力评估
概览
- 现有基准通过在所有路线上的平均分数进行评估,这个方法不能确定不同方法的具体优缺点。并且由于过长的路线导致分数有过高的方差。
- 为解决这个问题,为每个场景设计了5条不同的短路线,每个都有不同的天气和城镇。这样可以评估独立能力,并进行更细致的分析。
- 总结了5项高级技能:合并、超车、让路、交通信号、紧急制动。

细节
评估集合包含了220条路线,每个路线在特定的town和天气下都有起始点,给了原始传感器输入和target waypoint,车辆就可以从起点到终点。
评估标准:
- 成功率(Success Rate):分配时间内无违规完成路线的比例。
- 驾驶分数(Driving Score):使用CARLA官方标准,包含路线完成和违规惩罚。

4 实验
4.1 Baseline和数据集
4.1.1 Baseline
- UniAD
- 主要特点:明确地将 感知 和 预测 任务分开,并使用 Transformer Query 来传递信息。
- 贡献:UniAD通过感知和预测的模块化设计,使得每个部分都能高效地工作,Transformer Query的使用有助于在感知和预测之间传递关键信息。
- BEVFormer
- 主要特点:采用 鸟瞰视角(BEV) 表示环境,并使用 Transformer 来处理和建模场景。
- 贡献:BEVFormer基于鸟瞰视角输入,有助于对环境进行空间上的全局理解,提升了自动驾驶系统对周围环境的感知能力。
- VAD (Vectorized AD)
- 主要特点:采用 Transformer Query 和 向量化的场景表示 来提升效率。
- 贡献:通过向量化场景表示,VAD方法使得计算更加高效,同时保留了Transformer模型处理动态场景的优势。
- 目的:提高处理效率,尤其是在复杂场景下,能够更快速地进行决策。
- AD-MLP (Autonomous Driving MLP)
- 主要特点:直接将 自车历史状态 输入到 多层感知器(MLP) 中,来预测未来的轨迹。
- 贡献:这是一个简单的基线方法,通过自车历史状态来预测未来轨迹,适用于需要较为简单的轨迹规划的场景。
- TCP (Trajectory Control Planner)
- 主要特点:仅使用 前置摄像头 和 自车状态 作为输入,来预测 轨迹 和 控制信号。
- 贡献:TCP是一种简单但有效的基线方法,适用于 CARLA v1 仿真平台,特别在只依赖基本传感器数据(如前摄像头和自车状态)时能够高效运行。
- ThinkTwice
- 主要特点:通过 逐层精细化 规划路线,采用 粗到细 的思路,并提炼专家特征。
- 贡献:ThinkTwice提出了通过分层精细化来改进规划路线,旨在逐步提升路径规划的精度,并在此过程中引入专家的知识以提高决策质量。
- DriveAdapter
- 主要特点:提出了一种新的范式,通过 解耦 来充分释放专家模型的能力。
- 贡献:DriveAdapter通过解耦输入/输出的学习过程,充分利用专家模型的优势,从而在训练过程中提高性能,尤其在专家知识的迁移和应用方面表现突出。
4.1.2 数据集
在base数据集上训练,即1000条道路,训练使用950,开环评估使用50。评估集至少有每个场景的一个片段,天气分布均匀。
计算资源
- AD-MLP 和 TCP:这两个模型使用了 1 个 A6000 GPU 进行训练。
- ThinkTwice、DriveAdapter、UniAD 和 VAD:这四个模型使用了 8 个 A100 GPU 进行训练
闭环评估
- 评估环境:所有模型都在 CARLA 仿真平台 中进行闭环测试。
- 测试路线:使用了 220 条测试路线 来评估模型的性能。
- 评估指标:评估结果通过一系列指标来衡量,可能包括模型的轨迹预测准确性、控制信号的执行效果等。
错误处理
- 模型错误:某些模型可能在特定的测试路线中出现错误行为(例如,车辆驶入错误的地点,导致仿真崩溃)。如果模型在某个路线中发生崩溃,该路线的得分为 0。
- 评分方式:为保证评估的公正性,如果模型在某些路线中无法成功运行(例如,出现严重的控制错误或仿真崩溃),这些路线将不计入模型的最终得分。
4.2 结果

4.2.1 开环评估(Open-loop metric)可以指示模型收敛性,但对高级比较无效
- 开环评估的作用:开环评估指标,如 L2误差,可以反映模型的收敛情况和拟合状态。当模型的L2误差很高时,通常意味着系统内部存在问题,例如模型无法有效适应数据。
- 开环评估的局限性:尽管开环评估能检查模型的收敛性,但它无法进行 高级比较,特别是在不同模型的实际表现上。开环评估并没有考虑到模型与环境的互动,可能会忽略模型在动态控制或复杂场景下的表现。因此,闭环评估 是更重要的指标,它能真实反映模型在实际应用中的能力。
- 示例:例如,AD-MLP 在 开环评估中 的 L2误差较高,且在 闭环评估 中表现非常差,表明模型的拟合不符合实际应用需求。

4.2.2 专家特征蒸馏提供了重要的指导
- 专家特征蒸馏:由于自动驾驶任务的输入空间非常复杂(包括多种传感器数据如图像和点云),E2E-AD 方法容易发生过拟合。专家模型(具有强驾驶知识的模型)的特征可以通过 蒸馏 被传递给学习模型,从而帮助后者更好地适应任务。
- 专家特征的价值:模型如 TCP、ThinkTwice 和 DriveAdapter,通过 专家特征蒸馏,显著提升了表现。这些方法能够从专家的行为中学习知识,避免过拟合,并且帮助模型处理复杂的驾驶任务。
- 现实中的挑战:尽管专家特征蒸馏能显著提高模型性能,但在现实世界中,获取专家特征可能非常困难。因此,需要进一步研究如何在实际应用中实现这种蒸馏过程,或者探索替代的知识迁移方法。
4.2.3 交互行为的学习是一个难题
- 交互行为的挑战:在自动驾驶中,模型必须能够处理诸如合流、超车和紧急刹车等复杂的交互行为。然而,所有模型在这些交互技能的得分都不理想,原因有两个方面:
- 长尾问题:尽管数据集中的不同场景数量大致相同,但每个场景中涉及交互行为的帧数非常少。结果,模型很难从这些有限的交互数据中有效学习到如何在复杂的交通环境中进行决策。
- 模仿学习的局限性:传统的 模仿学习 方法通过监督训练控制信号或轨迹来模仿专家行为,但这种方式未能帮助模型理解交互中的 思维过程 和 推理过程,例如如何做出判断和预测对方的行为。
- 未来的改进方向:为了更好地学习交互行为,可能需要采用 更先进的训练范式,如 强化学习 或 基于模型的学习。这些方法不仅能处理感知和控制,还能模拟决策过程,帮助模型更好地应对复杂的交互情境。
- [x] 什么是特征蒸馏? ➕ 2024-11-06 ✅ 2024-11-06
- 在 特征蒸馏 中,目标是将专家模型的 隐层特征 或 预测输出 传递给学生模型。这些特征通常是从专家模型的某些中间层(如卷积层、全连接层等)提取的,代表了专家模型对环境的深刻理解。
- 学生模型通过模仿专家模型的特征(而不仅仅是最终的输出),能够学习到更多关于任务的 抽象表示 和 结构化信息。
- 蒸馏过程通常包括最小化学生模型和专家模型之间的 损失函数,例如 均方误差 或 交叉熵损失。这样,学生模型可以逐步调整其参数,以便模仿专家模型的行为。
5 结论
- 提供了一个端到端自动驾驶方法的闭环测试准则。
- 开源了全注释的大规模数据集和评估工具包。
- 实现了最先进的端到端算法。
限制:只实现了在CARLA模拟器上进行,与现实世界还有较大的差距。
社会影响:提供了一个验证自动驾驶系统技能的平台。