4. 端到端驾驶模型架构

端到端自动驾驶的核心思想,是摒弃传统模块化流水线中“感知-预测-规划-控制”逐级传递中间表征(如目标框、语义栅格、轨迹点)的方式,转而训练一个深度神经网络,将原始传感器输入(摄像头图像、激光雷达点云、毫米波雷达数据)直接映射为车辆控制指令(方向盘转角、油门、刹车)。这种“从像素到转向”的直接映射,在理论上消除了模块间信息损失与误差累积,并允许模型在数据驱动下自发学习驾驶策略。本章将深入解析端到端驾驶模型的架构本质、主流实现方案(条件模仿学习与神经规划器),并结合工程实践讨论其优势、局限与验证方法。

端到端驾驶模型架构对比:条件模仿学习 vs 神经规划器 条件模仿学习 (CIL) 传感器输入 高级指令 (导航/转向命令) 感知编码器 (CNN/Transformer) 提取特征,融合指令 策略网络 (MLP/GRU) 学习驾驶策略 控制输出 方向盘/油门/刹车 损失函数 L = ||a_hat - a_gt||² (行为克隆) 神经规划器 (Neural Planner) 传感器输入 高精地图/导航 (可选) 感知编码器 (BEV/Transformer) 生成鸟瞰视角特征 轨迹生成器 (候选轨迹) 采样/预测多条轨迹 轨迹评分/选择 安全/舒适/效率加权 损失函数 L = L_BC + L_safety + L_smooth vs

上图从工程实现角度对比了两种主流端到端架构的差异。条件模仿学习(CIL)将高级指令(如“左转”、“直行”)与传感器输入共同送入网络,直接回归控制量;而神经规划器则先感知环境生成候选轨迹,再通过评分网络选择最优轨迹,最后交由底层控制器执行。两者的核心区别在于:CIL是“感知-控制”的直接映射,而神经规划器在中间引入了“可解释的轨迹表征”。下面我们将逐一展开。

4.1 核心原理:从模块化到端到端的范式转变

传统自动驾驶系统采用“感知-预测-规划-控制”的串行流水线架构。每个模块独立设计、独立调优,模块间通过人工定义的接口传递信息。例如,感知模块输出目标列表(位置、速度、类别),预测模块基于目标列表预测未来轨迹,规划模块在预测轨迹基础上生成自车轨迹,最后控制模块跟踪轨迹。这种架构的优势是每个模块可解释、可单独验证,但存在三个致命缺陷:信息瓶颈(中间表征丢失了原始数据中的细节)、误差累积(上游模块的错误会逐级放大)、特征工程依赖(需要人工设计目标检测规则、轨迹预测模型等)。

端到端架构试图用一个深度神经网络替代整个流水线。其核心假设是:驾驶行为本质上是一个“感知-决策”的映射函数,而这个函数可以通过大量驾驶数据直接学习得到。网络输入为原始传感器数据(如多路摄像头图像、激光雷达点云),输出为控制指令(方向盘转角、油门开度、刹车压力)。在训练阶段,使用人类驾驶员的真实操作作为监督信号,通过行为克隆(Behavior Cloning)或强化学习(Reinforcement Learning)优化网络参数。

关键设计维度:端到端模型并非“一个黑盒”,其内部结构仍有多种设计选择。主要包括:
  • 输入表征:直接使用原始像素 vs 使用预处理的BEV(鸟瞰视角)特征;
  • 中间表征:是否引入隐式或显式的中间表示(如语义分割图、目标框、轨迹);
  • 输出形式:直接输出控制量 vs 输出轨迹再由PID/MPC跟踪;
  • 训练范式:纯行为克隆 vs 行为克隆+强化学习微调 vs 多任务学习。

从系统集成角度看,端到端架构的最大价值在于消除了模块间的接口定义和误差传递,使得系统可以以“整体”为单位进行优化。但这也带来了新的挑战:模型的可解释性差、安全验证困难、对数据分布外场景的泛化能力未知。因此,在实际工程落地中,往往采用“端到端为主、规则兜底”的混合架构。

4.2 主流架构解析:条件模仿学习(CIL)

条件模仿学习(Conditional Imitation Learning, CIL)是端到端驾驶中最经典的架构,由Codevilla等人于2018年提出。其核心思想是:将驾驶任务分解为“感知”和“控制”两部分,但两者通过一个条件变量(高级指令)耦合。网络结构通常包含一个感知编码器(如ResNet、VGG)和一个策略网络(如全连接层或GRU)。感知编码器提取图像特征,策略网络将特征与高级指令(如“直行”、“左转”、“右转”)拼接,输出控制量。

组件功能典型实现输出
感知编码器提取视觉特征ResNet-34 / EfficientNet特征向量 (512-d)
指令编码器将高级指令向量化Embedding层 / One-hot指令向量 (8-d)
融合层拼接特征与指令Concat + FC融合特征 (256-d)
策略网络回归控制量MLP (256→128→3)转向、油门、刹车

训练方法:CIL采用行为克隆(Behavior Cloning)进行训练。损失函数为均方误差(MSE),即预测控制量与人类驾驶员实际控制量之间的欧氏距离。训练数据来自人类驾驶记录,包括摄像头图像、车辆状态(速度、加速度)以及对应的方向盘转角、油门、刹车值。在数据采集时,需要同步记录高级指令(由导航系统或人工标注提供)。

工程经验:CIL训练时,数据增强至关重要。由于行为克隆本质上是“模仿”,模型容易过拟合到训练数据的分布。建议采用随机裁剪、颜色抖动、水平翻转(注意翻转后指令需同步调整)等增强手段。此外,数据平衡是关键——直行样本通常占多数,而左转/右转样本较少,需要过采样或加权损失来平衡类别。

局限性:CIL的致命弱点是因果混淆(Causal Confusion)。模型可能学习到“刹车灯亮→前车减速”的虚假关联,而非真正的因果关系。例如,如果训练数据中所有“左转”样本都出现在特定路口,模型可能学会“看到该路口→左转”,而不是“理解左转规则”。此外,CIL对高级指令的依赖较强,若指令错误或缺失,控制性能会急剧下降。

4.3 主流架构解析:神经规划器(Neural Planner)

神经规划器(Neural Planner)是近年来更受工业界青睐的端到端架构,代表方案包括Waymo的“Model-Based Imitation Learning”和特斯拉的“Occupancy Network + Planner”。其核心思想是:网络不直接输出控制量,而是输出一条(或多条)未来轨迹,再由底层控制器(如MPC)跟踪轨迹。这种设计保留了“规划”的中间层,使得系统在可解释性和安全性上优于CIL。

神经规划器的典型结构分为三部分:

  1. 感知编码器:将多传感器输入转换为BEV(鸟瞰视角)特征图。BEV表示将3D空间投影到2D俯视图,便于进行路径规划。常用方法包括LSS(Lift-Splat-Shoot)和Transformer-based的BEVFormer。
  2. 轨迹生成器:基于BEV特征,生成候选轨迹集合。轨迹通常表示为一系列路径点(waypoints),每个点包含位置(x,y)和速度v。生成方式可以是“采样+打分”或“直接回归”。
  3. 轨迹评分器:对候选轨迹进行安全性和舒适性评估,选择最优轨迹。评分函数通常考虑碰撞风险、车道偏离、加速度变化率等因素。
# 神经规划器伪代码示例
def neural_planner(obs, map, goal):
    # 1. 感知编码
    bev_feat = encoder(obs, map)  # 输出BEV特征图 [B, C, H, W]
    # 2. 轨迹生成
    candidates = generate_trajectories(bev_feat, num=64)  # 输出 [B, 64, T, 2]
    # 3. 轨迹评分
    scores = scorer(bev_feat, candidates)  # 输出 [B, 64]
    best_idx = argmin(scores)  # 选择最低风险轨迹
    return candidates[best_idx]

训练损失:神经规划器的损失函数通常包含多个项:行为克隆损失(预测轨迹与人类轨迹的L2距离)、安全性损失(轨迹与障碍物的最小距离惩罚)、舒适性损失(加速度/曲率变化率惩罚)。这种多任务学习方式使得模型在模仿人类驾驶的同时,能够学习到安全约束。

风险提示:神经规划器虽然引入了轨迹中间层,但轨迹生成器的设计仍然依赖人工先验(如采样范围、轨迹数量)。若采样空间过小,可能漏掉最优轨迹;若采样空间过大,计算量激增。此外,轨迹评分器的可解释性不足——当模型选择了一条“看似合理但实际危险”的轨迹时,很难通过规则进行干预。

4.4 案例拆解:从CIL到神经规划器的工程演进

为帮助理解两种架构在实际项目中的差异,我们以一个L4级园区接驳车项目为例进行拆解。该项目要求车辆在封闭园区内以最高20km/h速度行驶,完成固定路线的乘客接驳任务。

初始方案(CIL):团队首先采用CIL架构,使用3路摄像头(前视、左视、右视)和GPS/IMU作为输入,输出转向角和速度。训练数据采集了200小时的园区驾驶数据。在测试中,车辆在晴天、光照良好的条件下表现良好,但在雨天或逆光场景下频繁偏离车道。分析发现,模型过度依赖图像中的阴影和纹理特征,而非车道线本身。

问题定位:通过可视化网络中间层激活图,发现模型在雨天场景下对路面反光区域产生了高响应,导致转向误判。此外,CIL对GPS信号的依赖较强,当车辆经过树荫遮挡导致GPS漂移时,控制输出出现抖动。

方案升级(神经规划器):团队将架构升级为神经规划器。感知部分采用BEV编码器,融合3路摄像头和激光雷达点云,生成BEV特征图。轨迹生成器在BEV空间采样64条候选轨迹,轨迹评分器综合考虑碰撞距离、车道保持误差和舒适性指标。底层控制器采用MPC跟踪最优轨迹。

关键改进与结果:

指标CIL方案神经规划器方案提升幅度
车道保持偏差 (cm)351265.7%
雨天场景脱轨次数8次/100km1次/100km87.5%
平均规划耗时 (ms)1528-86.7% (变慢)
可解释性评分 (1-5)24+100%

复盘经验:神经规划器之所以在雨天表现更好,是因为BEV特征图显式编码了空间位置关系,模型能够更鲁棒地识别车道线(即使被雨水反光干扰)。同时,轨迹评分器中的安全约束(如与路沿的最小距离)提供了额外的正则化,防止模型输出激进轨迹。但代价是计算量增加,需要更强大的车载计算平台(从Orin NX升级到Orin AGX)。

架构选型建议:
  • 若项目预算有限、计算平台较弱、且驾驶场景简单(如低速园区、固定路线),CIL是快速验证的首选;
  • 若项目要求高安全性、强可解释性、且场景复杂(如城市道路、恶劣天气),应优先考虑神经规划器;
  • 实际工程中,可采用“CIL预训练 + 神经规划器微调”的渐进式策略,降低训练成本。

4.5 常见误区与总结复盘

在端到端驾驶模型的开发与集成中,工程师常陷入以下误区:

  • 误区一:认为端到端模型不需要规则兜底。实际上,即使是最先进的端到端系统,在遇到训练分布外场景(如交通事故现场、极端天气)时仍可能失效。工程上必须保留安全监控模块(如碰撞检测、紧急制动),作为端到端模型的“安”。
  • 误区二:忽视数据质量而盲目追求数据量。行为克隆的性能上限由数据质量决定。如果训练数据中包含大量“驾驶员分心”或“违规驾驶”的样本,模型会学习到不良驾驶习惯。数据清洗和筛选比数据量更重要。
  • 误区三:将CIL和神经规划器视为互斥选择。两者可以结合——例如,使用CIL作为“快速反射”模块处理紧急情况,使用神经规划器作为“常规规划”模块。这种混合架构在量产车中已有应用。
  • 误区四:忽略时序信息。驾驶是一个时序决策过程,单帧图像无法捕捉动态物体的运动趋势。无论是CIL还是神经规划器,都应引入时序建模(如LSTM、Transformer的时序注意力),否则在十字路口或行人横穿场景下会表现迟钝。