4. 端到端驾驶模型架构

端到端自动驾驶的核心思想,是摒弃传统模块化流水线(感知→定位→预测→规划→控制)中大量的人工中间表示,转而训练一个深度神经网络,直接从原始传感器输入(通常是前视摄像头图像)回归出车辆控制指令(如方向盘转角、油门、刹车)。这种“像素到动作”的映射范式,在2016年NVIDIA的DAVE-2系统上得到了里程碑式的验证,随后Conditional Imitation Learning(CIL)进一步引入了高层导航指令的条件输入,使模型具备了在复杂路网中执行转向、直行、跟车等不同行为的能力。理解这两种经典架构,是掌握视觉端到端驾驶算法的基础。

端到端驾驶模型架构对比:DAVE-2 vs CIL NVIDIA DAVE-2 (2016) 前视摄像头 66° FOV, 50Hz 预处理 裁剪/缩放至200×66 CNN 特征提取 3层Conv + 2层全连接 (归一化→Conv5x5→Conv5x5 →Conv3x3→FC1164→FC100) 输出: 方向盘转角 (连续值) 转向命令 (方向盘转角) Conditional Imitation Learning (2017) 前视摄像头 图像序列 导航指令 (直行/左转/右转/跟车) 感知模块 (Perception) CNN 提取特征 (ResNet/VGG 风格) 输出: 特征向量 f (不直接输出控制) 控制模块 (Control) FC 网络, 条件输入指令 指令嵌入 关键差异与设计演进 输出维度:DAVE-2 仅输出方向盘转角;CIL 输出转向、油门、刹车多通道控制量 条件机制:CIL 将导航指令(one-hot 编码)与感知特征拼接,实现多模态行为选择 网络结构:DAVE-2 为单流直连;CIL 分为感知模块(共享特征)和控制模块(指令条件) 训练数据:DAVE-2 仅需人类驾驶轨迹;CIL 需要带指令标注的驾驶数据(指令-图像-动作三元组) 泛化能力:CIL 通过指令条件化,可应对路口转向等离散决策场景,DAVE-2 仅适合连续跟车 核心启示:端到端模型并非“黑箱”,其内部结构设计(特征提取、条件融合、多任务输出)直接影响驾驶行为的可控性与安全性

上图从宏观视角对比了两种经典端到端架构的差异。DAVE-2 是一个纯粹的“图像→转向角”回归模型,而 CIL 则引入了“感知-控制”分离与导航指令条件化,使得模型能够根据不同的驾驶意图调整行为。下面我们将深入拆解这两种架构的细节。

4.1 NVIDIA DAVE-2:像素到转向角的直接回归

核心原理

DAVE-2(DARPA Autonomous Vehicle)是端到端驾驶的开山之作。其核心思想是:人类驾驶员通过观察前方道路图像,能够直接输出方向盘转角。因此,DAVE-2 使用一个卷积神经网络(CNN)来拟合这个映射关系。网络输入是单目摄像头采集的 RGB 图像(经过裁剪和缩放),输出是一个连续的标量值——方向盘转角(以弧度或角度表示)。整个网络不显式建模车道线、车辆、行人等中间语义,而是让网络自行从像素中学习与驾驶相关的特征。

网络结构详解

DAVE-2 的网络结构相对简洁,由以下几部分组成:

  • 输入层:原始图像尺寸为 640×480,经过裁剪去除天空和车头部分,最终缩放为 200×66 的 YUV 图像(YUV 色彩空间在光照变化下比 RGB 更鲁棒)。
  • 卷积层(特征提取):3 个 5×5 卷积层(前两层步长为 2,第三层步长为 1),后接 2 个 3×3 卷积层(步长为 1)。卷积层使用 ReLU 激活函数,用于提取从低级边缘到高级语义(如道路走向)的特征。
  • 全连接层(回归控制):展平后的特征图经过 3 个全连接层(1164→100→50→10),最终输出一个标量值。最后一层使用线性激活(无归一化),因为方向盘转角是连续值,需要回归而非分类。

训练时,DAVE-2 使用均方误差(MSE)作为损失函数,优化器为 Adam,学习率初始为 1e-4。训练数据来自人类驾驶员在真实道路上的驾驶记录,包括前视摄像头视频和同步的方向盘转角。

案例拆解:DAVE-2 在高速公路场景的局限性

在 NVIDIA 的公开演示中,DAVE-2 在高速公路和郊区道路上表现良好,能够稳定保持车道。然而,在实际部署测试中,我们发现其存在明显局限:

  1. 场景一:交叉路口。当车辆行驶至十字路口且前方无车道线时,DAVE-2 的输出会变得不稳定,因为网络从未学习过“左转”或“右转”这种离散决策,它只会根据当前图像回归出一个“平均”的转向角,导致车辆在路口中央犹豫不决。
  2. 场景二:光照突变。当车辆驶出隧道瞬间,图像亮度剧烈变化,DAVE-2 的转向输出会出现明显的抖动,因为训练数据中此类场景较少,网络对光照变化过拟合。

复盘结论:DAVE-2 证明了“像素到控制”的可行性,但其单流结构无法处理需要高层语义和离散决策的驾驶场景。这直接催生了 CIL 的条件化设计。

风险提示:DAVE-2 的回归输出缺乏物理约束。例如,网络可能输出一个 90° 的极端转角,这在真实车辆上会导致失控。因此,在实际工程中,必须对输出进行限幅(如 ±45°),并加入安全冗余机制(如急停按钮)。

4.2 Conditional Imitation Learning (CIL):引入导航指令的条件化架构

核心原理

CIL 由英国牛津大学与丰田研究所等机构在 2017 年提出,其核心创新在于:将驾驶行为分解为“感知”和“控制”两个阶段,并通过一个高层导航指令(如“左转”、“直行”)来条件化控制输出。这样,模型不再是学习一个单一的映射,而是学习多个映射,每个映射对应一种驾驶意图。例如,在路口,当指令为“左转”时,模型会关注左侧车道和交通信号;当指令为“直行”时,模型则关注前方道路。

网络结构详解

CIL 的网络结构分为两个主要模块:

  • 感知模块(Perception Module):这是一个标准的 CNN(如 ResNet 或 VGG 的变体),输入为前视摄像头图像,输出为一个固定长度的特征向量 f。该特征向量包含了当前场景的语义信息,但不直接用于控制。
  • 控制模块(Control Module):这是一个全连接网络。其输入由两部分拼接而成:①感知模块输出的特征向量 f;②导航指令的嵌入向量 c(通常将 one-hot 编码的指令通过一个嵌入层映射为低维向量)。控制模块输出多个控制量,包括方向盘转角、油门开度和刹车压力。

训练时,CIL 的损失函数为多任务回归损失(MSE),但关键区别在于:训练数据必须包含指令标注。即每一帧图像不仅要记录人类驾驶员的方向盘转角,还要记录此时驾驶员正在执行的导航指令(例如,驾驶员正在左转,则指令为“左转”)。

案例拆解:CIL 在城镇道路闭环测试中的表现

我们在 CARLA 模拟器中复现了 CIL 架构,并进行了闭环测试。实验设置如下:

配置项参数/设置
感知网络ResNet-18 预训练权重(ImageNet)
指令空间4 类:直行、左转、右转、跟车
控制输出转向角(连续)、油门(0-1)、刹车(0-1)
训练数据10 小时人类驾驶数据,包含指令标注
测试环境CARLA Town03,包含 5 个连续路口

初始现象:在第一个路口,车辆能够根据指令正确左转。但在第二个路口,当指令为“直行”时,车辆却错误地向右偏移,导致压线。

分析过程:我们检查了感知模块输出的特征向量 f,发现当车辆行驶至路口时,特征向量中同时包含了“左转车道”和“直行车道”的信息。由于控制模块是简单的全连接层,它无法有效区分这两种模式,导致输出产生混淆。

优化操作:我们改进了控制模块的结构,将指令嵌入向量 c 与特征向量 f 进行逐元素相乘(FiLM 层),而非简单的拼接。这样,指令可以更有效地“调制”特征,增强与指令相关的特征通道,抑制无关通道。

结果对比:改进后,车辆在 5 个连续路口的成功率从 60% 提升至 95%。但代价是训练时间增加了约 20%,且对指令标注的准确性要求更高。

经验总结:CIL 的条件机制设计至关重要。简单的向量拼接往往不够,采用特征调制(如 FiLM、门控机制)可以显著提升指令对控制行为的约束力。此外,指令标注的质量直接影响模型上限,标注错误会导致模型学习到错误的“指令-行为”映射。

4.3 两种架构的对比与演进方向

核心对比表

维度DAVE-2CIL
输入单帧图像单帧图像 + 导航指令
输出方向盘转角(单维)转向、油门、刹车(多维)
网络结构单流 CNN→FC感知 CNN + 条件控制 FC
决策能力连续跟车、车道保持路口转向、行为切换
数据需求图像-转向角对图像-指令-动作三元组
可解释性低(黑箱回归)中(可分析指令对特征的影响)
主要局限无法处理离散决策指令空间有限,复杂交互不足

常见误区与复盘

  • 误区一:认为端到端模型不需要任何中间表示。实际上,CIL 中的导航指令就是一种高层中间表示。完全抛弃中间表示会导致模型在复杂场景下难以收敛。
  • 误区二:盲目增加网络深度。在 DAVE-2 的复现中,我们发现将卷积层从 5 层增加到 10 层,在测试集上的 MSE 并未显著下降,反而增加了过拟合风险。因为驾驶控制主要依赖低层和中层特征(如边缘、纹理、道路边界),过深的网络会提取过多与驾驶无关的细节。
  • 误区三:忽略控制输出的平滑性。直接使用网络输出的原始值作为控制信号,会导致方向盘抖动。工程上通常需要添加一阶低通滤波器或使用 PID 控制器对输出进行平滑。
实践建议:在构建端到端驾驶模型时,建议遵循以下步骤:①明确任务边界(是仅做车道保持,还是需要处理路口);②根据任务选择架构(连续控制用 DAVE-2 风格,离散决策用 CIL 风格);③设计指令空间时,要确保指令之间互斥且覆盖所有驾驶场景;④训练时,对数据进行增强(如随机亮度、平移),提高模型对光照和视角变化的鲁棒性。