CARLA中的自动驾驶模仿学习

arXiv cs.AI 论文

摘要

本文研究了在CARLA模拟器中基于离线专家演示训练的多模态行为克隆策略的闭环驾驶能力,展示了无碰撞的有效自动驾驶,并发布了所有相关成果。

arXiv:2609.17757v1 公告类型:新 摘要:行为克隆在离线专家演示上训练策略,但部署是闭环的:每个动作都会影响策略下次接收的观测。我们研究了一个紧凑的多模态策略在CARLA模拟器中从离线演示中能获得多少闭环驾驶能力。该策略使用RGB图像、LiDAR、车辆遥测和车道路点的五帧历史来预测油门、刹车和方向盘,频率为20Hz。演示在三个阶段收集,最后通过系统性的路线生成过程,枚举生成点和可行操作,并验证完成的自动驾驶路线。发布的1.36百万参数策略在236,882个窗口上训练,代表了来自448次捕获的大约3.3小时的驾驶。所得策略在训练和保留路线上能自主驾驶数小时。在我们的运行中,它无碰撞地驾驶,并且在定性上转移到了具有不同道路几何的未知CARLA城镇。我们还观察到从大轨迹偏差中恢复的情况,尽管我们不声称在没有受控评估的情况下有系统性的恢复。我们报告离线指标,并区分测量结果和定性闭环观察。我们发布了代码、训练检查点、ONNX模型、数据样本以及所报告主张的证据审计。
查看原文
查看缓存全文

缓存时间: 2026/09/17 09:24

# CARLA自动驾驶中的模仿学习

来源:https://arxiv.org/html/2609.17757

###### 摘要

行为克隆在专家状态分布下离线训练策略,但采用自回归方式部署:策略执行的每个动作都会影响其后续观测。我们研究了一个紧凑的多模态策略从CARLA模拟器中的离线专家示范中能获得多少闭环驾驶能力,以及示范分布的设计如何影响部署时的涌现行为。该策略融合了5帧历史的RGB图像、激光雷达鸟瞰图直方图、车辆遥测数据和车道路径点,通过每种模态的编码器和两层时间Transformer处理,并以20Hz频率回归连续的油门、刹车和转向控制。示范数据经历三个阶段:少量手动收集的数据集、更广泛的精选记录,以及最终的*系统化路径生成*流程。该流程枚举生成点,查询道路拓扑结构确定可行机动动作,并在验证机动动作实际执行后才保留自动驾驶轨迹。发布的策略(1.36百万参数)在448次这样的采集中的236,882个窗口(约3.3小时)上训练。尽管离线行为克隆方法简单,生成的策略能够在训练路径和保留路径上自回归行驶数小时,独自在道路上无需人工干预。在作者的运行中,该策略未发生碰撞,并且能够定性地转移到道路几何结构与示范城镇不同的未见过的CARLA城镇。我们还观察到从大幅轨迹偏差中恢复的能力,尽管我们并未声称在没有受控评估的情况下能系统性地恢复。我们报告了测得的离线指标,根据记录工件重建了发布的检查点的来源,并明确说明哪些闭环发现是观测到的而非测得的。所有代码、检查点(Keras和ONNX格式)、数据样本和逐项证据审计均已发布。

## 1 引言

通过模仿学习的端到端驾驶策略颇具吸引力,因为它将一个困难的控制问题转化为监督学习:记录专家,然后从其观测回归其动作[1 (https://arxiv.org/html/2609.17757#bib.bib1), 2 (https://arxiv.org/html/2609.17757#bib.bib2)]。难点在于监督目标与部署环境不一致。训练最小化在*专家*访问过的状态上的误差。部署将*学习者*置于循环中,其自身的小错误会将其带入专家从未演示过的状态。这些错误可能会累积[4 (https://arxiv.org/html/2609.17757#bib.bib4)]。因此,低验证损失是驾驶能力的必要但非充分证据。我们关注的对象是闭环行为。本报告记录了围绕这一区别构建的完整模仿学习实验。我们没有提出新的架构,而是有意使用一个紧凑的多模态时间策略作为工具。我们提出的问题是:
> 一个多模态行为克隆策略从离线专家示范中能获得多少闭环驾驶能力?示范分布的覆盖范围如何塑造自回归部署下涌现的行为?

项目从一个微小的示范集逐步发展到系统化的、经过验证的路径生成。这相当于对示范分布的*支持域*进行了干预,而支持域正是行为克隆根本上受限的量。

#### 贡献

1. **1. 针对CARLA的系统化示范生成流程。** 该流程枚举生成点,从道路图中推导下一个路口的可行机动动作,随机化起始位姿,并在对实际执行的机动动作进行分类后才接受自动驾驶轨迹。它生成了机动动作平衡的、短小、可复现、带标签的采集数据(§5 (https://arxiv.org/html/2609.17757#S5))。
2. **2. 可复现的行为克隆流程和已发布的策略。** 它涵盖了传感器配置、数据规范、预处理、窗口索引和训练,以及Keras和ONNX格式的训练检查点,其来源与一次记录的训练运行相关联(§4 (https://arxiv.org/html/2609.17757#S4)、§6 (https://arxiv.org/html/2609.17757#S6)、附录A (https://arxiv.org/html/2609.17757#A1))。
3. **3. 关于闭环行为的证据分级说明**(在训练和保留路径上数小时的自主驾驶、到未见过城镇的零样本迁移、从偏差中恢复),每个声明都分类为测得的、观测到的、推断的或未验证的(§7 (https://arxiv.org/html/2609.17757#S7) 及发布的声明审计)。

## 2 相关工作

#### 从示范的端到端驾驶。
ALVINN[8 (https://arxiv.org/html/2609.17757#bib.bib8)]和NVIDIA的PilotNet[2 (https://arxiv.org/html/2609.17757#bib.bib2)]表明,神经网络可以直接将摄像头图像映射为转向控制。PilotNet已经认识到协变量偏移问题,并通过使用合成的位移和旋转视图增强训练来教授恢复。我们的策略沿袭了这一谱系,但它是多模态且基于时间的,并且有意*不包含*合成的恢复增强(§7.4 (https://arxiv.org/html/2609.17757#S7.SS4))。

#### CARLA与条件模仿学习。
CARLA[1 (https://arxiv.org/html/2609.17757#bib.bib1)]在发布时就包含了模仿学习基线作为其参考智能体之一,因此我们的实验属于该模拟器原始研究目的之一。条件模仿学习[3 (https://arxiv.org/html/2609.17757#bib.bib3)]通过基于导航命令调整策略来解决路口的歧义性。我们的策略则接收局部车道路径点。正如我们在§4.1 (https://arxiv.org/html/2609.17757#S4.SS1)中所示,该路径并不总能消除路口的歧义,这使其成为一种弱于[3 (https://arxiv.org/html/2609.17757#bib.bib3)]的调节形式。

#### 协变量偏移与数据聚合。
Ross和Bagnell[9 (https://arxiv.org/html/2609.17757#bib.bib9)]证明行为克隆的成本可能随视野范围平方增长,而DAgger[4 (https://arxiv.org/html/2609.17757#bib.bib4)]通过在访问过的状态上查询专家来修复此问题。Prakash等人[6 (https://arxiv.org/html/2609.17757#bib.bib6)]研究了在CARLA中基于视觉的城市驾驶中,哪些聚合状态是重要的。DART[7 (https://arxiv.org/html/2609.17757#bib.bib7)]向*专家*示范中注入噪声,使得恢复状态出现在数据中。我们的路径生成器随机化的起始位姿也向示范中引入了有限的非正常状态。这在概念上与DART等专家噪声方法相关,尽管扰动是为路径多样性而非恢复训练设计的(§5.2 (https://arxiv.org/html/2609.17757#S5.SS2))。我们在解释恢复能力时考虑到了这一点。

#### 特权教师。
Learning by Cheating[5 (https://arxiv.org/html/2609.17757#bib.bib5)]在真实模拟器状态上训练一个特权智能体,并将其蒸馏到一个感知运动学生智能体中。我们的专家,即CARLA交通管理器的自动驾驶系统,也是特权的。与[5 (https://arxiv.org/html/2609.17757#bib.bib5)]不同,我们的学生在测试时*也*接收特权的路径上下文,因此我们明确说明了哪些信息跨越了该边界(§4.1 (https://arxiv.org/html/2609.17757#S4.SS1)、§8 (https://arxiv.org/html/2609.17757#S8))。

## 3 问题表述

专家策略π* 生成一个示范数据集 D = {(o_t, a_t)}_{t=1}^N, a_t = (τ_t, b_t, δ_t) ∈ [0,1] × [0,1] × [-1,1],(1) 其中包含油门τ、刹车b和转向δ,频率为20Hz。策略观测跨四种模态的K=5帧(0.25秒)时间堆叠,o_t = (I_{t-K+1:t}, L_{t-K+1:t}, s_{t-K+1:t}, W_{t-K+1:t}),(2) 其中I为RGB图像,L为激光雷达鸟瞰图(BEV)直方图,s为遥测数据,W为车道路径点,均处于自车坐标系中。

#### 离线目标。
行为克隆通过经验风险最小化在*专家*状态分布d_{π*}上拟合策略π_θ:
θ* = argmin_θ 𝔼_{(o,a)∼d_{π*}}[ℓ(π_θ(o), a)],
ℓ(â, a) = H₁(τ̂ - τ) + H₁(ŝ - b) + (δ̂ - δ)²,(3)
其中Huber损失H₁(x)在|x|≤1时为(1/2)x²,否则为|x| - 1/2。

#### 闭环部署。
在测试时,动作反馈到模拟器:o_t → π_θ → â_t → CARLA → o_{t+1} → π_θ → â_{t+1} → …(4)
因此,学习者在其自身分布d_{π_θ} ≠ d_{π*}下被评估。如果ε是学习者在d_{π*}下的每步误差率,则在视野范围T上的期望成本仅有以下上界[9 (https://arxiv.org/html/2609.17757#bib.bib9)]:
J(π_θ) ≤ J(π*) + O(T² ε),(5)
因为一个错误就可能将学习者置于没有示范的状态。在20Hz下,一分钟驾驶相当于T=1200次决策。保留动作误差仅衡量在专家状态下的ε;它本身并不能建立驾驶能力,驾驶能力必须最终在闭环中评估(例如通过路径完成率和违规次数,如CARLA自身的基准测试[1 (https://arxiv.org/html/2609.17757#bib.bib1)]所示)。

## 4 多模态时间策略

(图1:策略概念概览。发布检查点的输入为RGB、激光雷达BEV、遥测数据和路径点;过去的控制信号不作为输入(§4.2 (https://arxiv.org/html/2609.17757#S4.SS2))。)

### 4.1 观测

(表1:观测模态。)

#### 激光雷达BEV。
对于传感器坐标系中(x_i, y_i)的点,其方位角Δψ = atan2(y_i, x_i)。高度坐标z被投影到水平面。我们将BEV空间离散化为32×32的网格,每个单元格计算平均反射强度。该表示作为策略的历史帧输入。

#### 路径点。
我们提取车辆前方20米内的局部路径点序列,并将其转换为相对于自车位置的偏移量。该序列提供了即将驶向的车道中心线的局部视图。

#### 遥测数据。
包括自车速度、加速度和角速度。

### 4.2 策略架构
该策略是一个紧凑的多模态时间Transformer。每种模态由特定编码器处理(RGB使用ResNet-18,激光雷达BEV使用CNN,遥测数据和路径点使用MLP),输出的特征序列通过一个两层时间Transformer融合。最终的MLP头部回归20Hz的控制动作(油门、刹车、转向)。

## 5 示范生成

### 5.1 手动采集
初始数据集包含少量手动驾驶录制。

### 5.2 系统化路线生成流程
为扩展数据,我们设计了以下流程:
1. **枚举生成点。** 从CARLA地图中获取所有有效的车辆生成点。
2. **推导可行机动动作。** 对于每个生成点,查询道路拓扑以确定下一个路口可行的机动动作(左转、右转、直行)。
3. **随机化起始位姿。** 采样初始横向偏移(~U(-0.25, 0.25)米)、纵向偏移(~U(-0.5, 0.5)米)和航向角偏移(Δψ₀ ~ U(-3°, 3°))。
4. **进行自动驾驶轨迹。** 以固定目标速度(如18 mph)运行30秒(600帧),禁用车道变换。
5. **验证并接受。** 从自车航向轨迹对实际执行的机动动作进行分类,分类方法与25°阈值相同。仅当在该生成点该机动动作可行且其配额(每种机动的采集数)未满时,才保留该采集。每个生成点最多重试20次。

这个“先验证后接受”的步骤将随机化的专家转变为一个*受控的*数据源。每个存储的采集都包含一个经过验证的机动标签、生成点索引、起始位姿扰动和传感器对齐统计信息。随机化的起始还具有二阶效应:每个采集开始时略微偏离车道中心和航向。这引入了有限的非正常状态,在概念上与DART[7 (https://arxiv.org/html/2609.17757#bib.bib7)]等专家噪声方法相关,尽管扰动是为路径多样性而非恢复训练设计的。我们在§7.4 (https://arxiv.org/html/2609.17757#S7.SS4)中会再次讨论此点。

### 5.3 训练集
我们从记录的工件(附录A (https://arxiv.org/html/2609.17757#A1))重建了发布策略的训练集;表2 (https://arxiv.org/html/2609.17757#S5.T2)对此进行了总结。

(表2:已发布策略的训练集。)

#### 窗口划分。
每帧被标记一个方向标签:若δ≤-0.08则为“左转”,若δ≥0.08则为“右转”,否则为“直行”。一个窗口[t-4, t]仅在其中多数帧为同一方向且至少占60%时才被保留。此过滤器移除了模糊的过渡窗口,使得§6 (https://arxiv.org/html/2609.17757#S6)中的按方向诊断定义明确。这也意味着一些转弯进入过渡被排除在训练之外。即使有机动动作平衡的*采集*,按*窗口*计算的平衡也由直行驾驶主导(89%),因为一个30秒的采集大部分帧都在接近和离开路口。这是一个具体例子,说明为什么示范覆盖度必须在损失实际作用的单位上衡量。

## 6 训练与离线评估

### 6.1 协议
模型使用Adam优化器(学习率3×10⁻³,批大小409)在方程式3 (https://arxiv.org/html/2609.17757#S3.E3)的损失上训练。窗口按*每次录制和每个方向*划分:每个录制中给定方向的窗口的前70%用于训练,剩余30%用于验证,得到165,777个训练窗口和71,108个验证窗口,具有匹配的方向比例。每50步在50个验证批次上评估模型。运行持续53个epoch(21,750步,8.88百万窗口,1.64小时),每10个epoch保存一次检查点。已发布策略是第10个epoch的检查点。

这种划分是在录制内的*时间*保留。它衡量对已见路径未见时刻的插值能力,而非对未见路径或地图的泛化能力。因此,我们仅将其用于诊断拟合情况,从不作为驾驶能力的证据。

### 6.2 指标
除了每个控制信号的损失和平均绝对误差(MAE),我们还记录了旨在捕捉驾驶相关故障模式的诊断指标:
- **转弯检测。** 定义P={t: |δ̂_t| > 0.1}和G={t: |δ_t| > 0.1},我们报告精确率|P∩G|/|P|、召回率|P∩G|/|G|及其调和平均F₁。
- **转弯起始延迟** min P - min G,以帧为单位。
- **滞后误差** (1/(n-k)) Σ_t ||â_t - a_{t+k}||,其中k∈{1,2,3},是与未来k帧目标的误差。随k减小的误差表明预测了即将到来的控制;随k增大的误差表明预测跟踪当前控制。
- **平滑度** (1/(n-1)) Σ_t ||â_{t+1} - â_t||。
- **按方向MSE**,以暴露§5.3 (https://arxiv.org/html/2609.17757#S5.SS3)中的类别不平衡。

### 6.3 结果
(图3:完整运行的训练曲线,从导出的指标历史重新生成。上图:总训练/验证损失和每个控制信号的验证损失。下图:验证的转弯检测、转弯起始延迟和按方向验证MSE。细线为原始评估,实线为9点移动平均;虚线标记已发布的第10个epoch检查点。来源:results/training_curves.ipynb。)
(表3:离线验证指标。Epoch 1:该epoch的最后一次评估。其他行:在指定epoch内所有验证评估的平均值。)

图3 (https://arxiv.org/html/2609.17757#S6.F3)和表3 (https://arxiv.org/html/2609.17757#S6.T3)支持四个

相似文章