【如果笔记对你有帮助,欢迎关注&点赞&收藏,收到正反馈会加快更新!谢谢支持!】
目录
论文7:Hidden Biases of End-to-End Driving Models [ICCV 2023]
论文8:Is Ego Status All You Need for Open-Loop End-to-End Autonomous Driving? [CVPR 2024]
上期笔记
自动驾驶端到端梳理笔记(一):UniAD, ReasonNet, VAD, VADv2-CSDN博客
补充说明:端到端自动驾驶的开环和闭环评估
- 开环评估(Open-loop Evaluation):基于预录制的数据进行的评估(常用nuScenes 数据集),动作轨迹预先设定好,不会受模型预测出的指令的影响(无法交互)【单一轨迹,无多样性】
- 闭环评估(Close-loop Evaluation):在模拟环境(常用CARLA)中进行动态、交互式的测试,系统可以根据环境反馈调整行为,更接近真实驾驶【但仿真器中驾驶环境和真实环境存在偏差】
论文5:Think Twice before Driving: Towards Scalable Decoders for End-to-End Autonomous Driving [CVPR 2023, OpenDriveLab]
- 现有端到端模型问题:
- Encoder 只编码特征,无法知道自车的驾驶意图,并且是个重量的模块(如Resnet, Transformer)
- Decoder 需要从大量的感知信息中找出安全关键区域并推断未来情况(负担重),并且只是简单的MLP或GRU【不平衡的资源-任务分配】
- 如何解决:
- 充分利用Encoder的能力:分担一部分未来相关的任务(本来都由解码器完成)
- 提升Decoder的能力:用Dense Supervision的方法扩展Decoder
- ThinkTwice方法流程:环视图&激光雷达【输入】→ BEV Encoder【编码为两个模态融合的BEV特征】→ Decoder { 粗预测动作和轨迹 → [观察模块 & 预测模块 → 细化模块]×N} → 动作和轨迹
- BEV Encoder
- Decoder
-
Coarse Prediction Module(粗预测模块):用下采样的BEV特征(即环境特征)和导航信息(目标点、高级命令、当前速度等)通过MLP得到初始预测的未来动作和轨迹
-
Look Module(观察模块):阻止发生碰撞或违反交规
- Prediction Module(预测模块):基于上层输出点预测动作,预测未来场景的变化
- 输入BEV特征和上一层预测的 t 时刻动作和轨迹 → GRU预测 t+1 时刻的 BEV
- 输入BEV特征和上一层预测的 t 时刻动作和轨迹 → GRU预测 t+1 时刻的 BEV
- Refinement Module(细化模块)
- MLP预测 “GT动作和轨迹” 和 “预测出的动作和轨迹” 之间的差
- 输入:Look Module的特征、Prediction Module的特征、上一层预测的动作和轨迹、环境特征、导航信息
- 用来细化动作和轨迹预测结果
-
- CARLA上闭环验证实验
论文6:DriveAdapter: Breaking the Coupling Barrier of Perception and Planning in End-to-End Autonomous Driving [ICCV 2023 Oral, OpenDriveLab]
- 基于模仿学习(Imitation Learning)的端到端自动驾驶:以 TransFuser 为代表,Teacher/Expert(相当于人类安全员)负责收集驾驶数据,包括传感器输入和动作输出 → 监督Student网络的训练
- 基于强化学习(Reinforcement Learning)的端到端自动驾驶:以 Roach 为代表,利用奖励机制学习环境和自车的交互
- 现有问题:
- (a) 直接强化学习:直接从原始传感器数据中学习驾驶策略,使模型具有因果关系,但训练效率低,需要大量数据才能收敛
- (b) 教师 - 学生范式:能更高效地进行强化学习,但学生模型可能学习到错误的因果关系
- (c) 本文的 DriveAdapter范式:添加适配器模块(Adapter Module) 连接学生模型的输出和教师模型的输入,高效学习且避免因果混淆
- 因果混淆问题(Casual Confusion):比如人类驾驶时是因绿灯状态而前行,但是agent收集的数据大多是绿灯且前面有车的情况,此时容易把车的前行错误归因成前面有车
- DriveAdapter方法:
- 流程:环视图 & 激光雷达【传感器输入】→ 学生模型【感知,生成BEV map】→ 适配器【适配感知结果和教师模型特权输入之间的差异,输出适配后的特征】→ Frozen教师模型【规划】 → 控制信号
- 学生模型(用于感知):传感器输入 → BEV特征提取(BEVFusion) → BEV分割头(Mask2former) → BEV Map输出
- 适配器模块(Adapter Module):
- 为什么要添加Adapter?因为教师模型(Roach)是用BEV map真值训练的,对预测的 BEV map中的噪声非常敏感(存在分布差异)
- 教师模型的特权输入(Privileged Input)是什么? 指训练时可以访问,但实际驾驶中无法直接获取的额外信息(如其他agent的位置和运动状态信息、地图元素、BEV map真值等)
- 实现:
- 流程:环视图 & 激光雷达【传感器输入】→ 学生模型【感知,生成BEV map】→ 适配器【适配感知结果和教师模型特权输入之间的差异,输出适配后的特征】→ Frozen教师模型【规划】 → 控制信号
- CARLA上闭环验证实验
论文7:Hidden Biases of End-to-End Driving Models [ICCV 2023]
- 名词解释:
- 横向控制(转向控制):目标是保持车辆在车道中心线上行驶
纵向控制(速度控制):目标是调节车辆的速度以适应交通状况和交通规则 - 目标点(Target Point, TP):自车应遵循的路径的中间点,通常位于车道中心线上,每隔一定距离放置一个
- 横向恢复:通过目标点引导,可以提高路线完成率,但当目标点距离较远时,可能导致车辆在转弯时直接冲向目标点,而不是沿着道路的自然曲线行驶
- 横向控制(转向控制):目标是保持车辆在车道中心线上行驶
- 端到端模型常见的bias:
- 横向恢复偏差(Lateral Recovery Bias):倾向于跟随目标点来实现横向恢复
- 纵向平均偏差(Longitudinal Averaging Bias):路径点是多模态的(即未来速度有多种可能,这里的“多模态”和感知中数据的“多模态“不同),但模型只输出单一的路径点,会把“平均”未来速度,导致模型可能难以明确区分路径和速度
- 本文的TransFuser++ (TF++)
- 架构
- 改进的池化方法(Improved Pooling):全局平均池化(Global Average Pooling, GAP)→ 基于注意力的池化方法【保留空间信息,提高模型对路径的预测精度】
- 路径和速度的解耦(Path and Speed Disentanglement):将路径和目标速度分开预测,不直接从路径点中提取速度,让模型可以更明确地表示不确定性
- 数据增强(Data Augmentation):引入平移和旋转的数据增强方法,帮助模型学习从横向误差中恢复的能力。
- 架构
- CARLA上闭环验证实验
论文8:Is Ego Status All You Need for Open-Loop End-to-End Autonomous Driving? [CVPR 2024]
- 核心问题:自车状态(Ego Status,如速度、加速度和偏航角)是否是开环端到端自动驾驶的全部所需?
- Yes【实验结果好】:作者使用 Ego-MLP 仅输入自身车辆状态(移除历史轨迹真值)用MLP预测轨迹,就与最先进的方法相当(L2 距离和碰撞率指标)
- And No【自动驾驶不应仅依赖自车状态信息来进行决策】:现有开环端到端的数据和评测存在问题
- 现有开环端到端工作的问题:在 nuScenes 数据集中,驾驶场景相对简单(大多直行),导致模型在规划时过度依赖自车状态(比如在这个数据集里,过去是直行的未来也大概率是直行),此时感知信息就不重要了 【不平衡的数据集 和 自车状态对驾驶逻辑的偏差问题】
- 几种端到端模型:
- AD-MLP:自车状态和真值历史轨迹【输入】→ MLP → 未来轨迹
- 存在问题:模型依赖于历史轨迹的真值
- Ego-MLP:自车状态【输入】→ MLP → 未来轨迹
- 存在问题:完全依赖于自身状态,忽略了感知模块的作用,可能只在nuScenes 数据集上表现好
- 常见的端到端自动驾驶模型架构:传感器数据【输入】→ 感知模块 → 预测模块 → 规划模块 (自车状态集成到 BEV 生成模块或规划模块中)→ 未来轨迹
- 可以充分利用感知和预测模块的信息,适用于复杂多变的驾驶场景
- 存在问题:模型复杂度较高,训练和推理成本较大
- BEV-Planner(本文提出的模型):传感器数据【输入】→ BEV 特征提取 → 交叉注意力机制 【用可学习的Ego Query表示自车状态】 → MLP【根据Ego Query预测】→ 未来轨迹
- AD-MLP:自车状态和真值历史轨迹【输入】→ MLP → 未来轨迹
- BEV-Planner特点
- 简单性:设计简单,不依赖复杂的感知模块或预测模块,也不需要任何人类标注的感知数据
- 高效性:训练和推理速度快
- 可扩展性:可以通过引入额外的感知任务(如地图感知)来增强其性能。
- nuScenes 开环实验结果
参考
https://arxiv.org/pdf/2305.06242
https://arxiv.org/pdf/2306.07957
https://arxiv.org/pdf/2312.03031
https://zhuanlan.zhihu.com/p/648361060