3. 神经网络基础
端到端自动驾驶系统需要直接从传感器原始数据(摄像头图像、激光雷达点云、毫米波雷达回波)中提取语义信息,并映射为车辆控制指令(转向、油门、制动)。这一过程对神经网络的感知能力、时序建模能力和长距离依赖捕捉能力提出了极高要求。本章将深入剖析卷积神经网络(CNN)、循环神经网络(RNN)、Transformer以及注意力机制的核心数学原理与结构设计,并结合自动驾驶中的具体场景(如车道线检测、目标轨迹预测、多传感器融合)说明其应用方式与工程选型依据。
上图展示了自动驾驶神经网络的整体架构逻辑:传感器数据首先经过CNN进行空间特征提取,随后通过RNN或Transformer进行时序建模,注意力机制则在整个流程中起到关键信息筛选与权重分配的作用。下面分别深入讲解各网络结构的核心原理与工程应用。
3.1 卷积神经网络(CNN):空间特征提取的基石
3.1.1 核心原理:局部感受野与参数共享
CNN通过卷积操作实现局部连接和权重共享,有效降低了参数量并提取平移不变特征。其核心操作包括:
- 卷积层:使用可学习的卷积核(如3×3、5×5)在输入特征图上滑动,计算局部区域的点积,生成特征图。对于多通道输入(如RGB图像),卷积核的深度与输入通道数一致。
- 激活函数:通常使用ReLU(Rectified Linear Unit)及其变体(Leaky ReLU、ELU),引入非线性并缓解梯度消失问题。
- 池化层:最大池化或平均池化,降低特征图空间分辨率,扩大感受野,同时保留主要特征。
- 批量归一化(Batch Normalization):对每个特征通道进行归一化,加速训练收敛并提高泛化能力。
在自动驾驶中,CNN的输入通常是前视摄像头图像(分辨率如1280×720)或鸟瞰图(BEV)表示。以目标检测任务为例,骨干网络(如ResNet-50、EfficientNet)提取多尺度特征,再通过特征金字塔网络(FPN)融合不同层级的语义信息与空间细节。
3.1.2 判断方法:如何选择CNN架构
| 架构类型 | 参数量 | 推理延迟(GPU) | 适用场景 | 自动驾驶典型应用 |
|---|---|---|---|---|
| ResNet-18/34 | 11M-21M | 3-6ms | 嵌入式平台(Jetson Orin) | 车道线检测、轻量级目标检测 |
| ResNet-50/101 | 25M-44M | 8-15ms | 车载计算平台(多GPU) | 3D目标检测、BEV特征提取 |
| EfficientNet-B0-B7 | 5M-66M | 4-20ms | 需要平衡精度与速度 | 语义分割、可行驶区域识别 |
| MobileNetV3 | 2.5M-4.5M | 1-3ms | 低功耗嵌入式设备 | 驾驶员监控、近距障碍物检测 |
选择CNN架构时需考虑:计算预算(TOPS)、内存带宽、目标帧率(通常要求≥30 FPS)以及精度指标(如mAP、IoU)。对于L2+级辅助驾驶,ResNet-34+FPN是常见选择;对于L4级自动驾驶,需要更深的网络与多尺度特征融合。
3.1.3 案例拆解:基于CNN的车道线检测
以经典的车道线检测网络LaneNet为例,其采用Encoder-Decoder结构:Encoder使用VGG16或ResNet提取特征,Decoder通过转置卷积恢复空间分辨率,最终输出每个像素属于车道线/背景的概率图。在实际工程中,我们遇到以下问题:
场景:某L2级量产车型在雨天夜间场景下车道线检测准确率下降至78%(晴天为95%)。
分析:低光照导致图像对比度不足,雨水反光产生噪声,CNN的浅层特征无法有效区分车道线与路面纹理。
解决方案:① 在输入层增加图像增强模块(自适应直方图均衡化);② 在骨干网络中加入注意力模块(如CBAM),增强对车道线区域的关注;③ 使用多帧融合策略,将前3帧特征进行时序平均。
结果:雨天夜间准确率提升至89%,推理延迟增加2ms(从12ms到14ms),满足30FPS要求。
3.1.4 常见误区与总结
- 误区一:认为CNN只能处理2D图像。实际上,3D卷积(如VoxelNet)可直接处理激光雷达点云体素化数据。
- 误区二:盲目增加网络深度。在自动驾驶中,延迟与精度需要权衡,过深的网络可能导致帧率不足。
- 误区三:忽略感受野的影响。小卷积核堆叠可以增大感受野,但需要更多层数,需根据目标尺寸选择合适的基础卷积核。
3.2 循环神经网络(RNN)与LSTM:时序建模的经典方案
3.2.1 核心原理:隐藏状态与门控机制
RNN通过循环连接处理序列数据,其隐藏状态 \( h_t \) 由当前输入 \( x_t \) 和上一时刻状态 \( h_{t-1} \) 共同决定:\( h_t = \tanh(W_{xh}x_t + W_{hh}h_{t-1} + b_h) \)。然而,标准RNN存在梯度消失/爆炸问题,难以捕捉长距离依赖。LSTM(长短期记忆网络)通过引入输入门、遗忘门、输出门和细胞状态 \( C_t \) 解决这一问题:
- 遗忘门:决定丢弃哪些历史信息,\( f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) \)。
- 输入门:决定哪些新信息存入细胞状态,\( i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) \),候选值 \( \tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C) \)。
- 细胞状态更新:\( C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t \)。
- 输出门:决定输出哪些信息,\( o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o) \),\( h_t = o_t \odot \tanh(C_t) \)。
GRU(门控循环单元)是LSTM的简化版本,将遗忘门和输入门合并为更新门,参数量更少,训练更快。
3.2.2 判断方法:何时使用RNN/LSTM
在自动驾驶中,RNN/LSTM适用于以下场景:
- 轨迹预测:输入历史轨迹序列(如过去3秒的位置、速度、航向角),预测未来5秒的轨迹点。
- 驾驶员意图识别:基于方向盘转角、油门踏板开度等时序信号,判断驾驶员是否准备变道或刹车。
- 传感器时序融合:融合连续帧的雷达点云特征,提高目标检测的稳定性。
但需注意:RNN/LSTM的串行计算特性导致训练和推理速度较慢,且难以并行化。当序列长度超过50步时,Transformer通常表现更优。
3.2.3 案例拆解:基于LSTM的车辆轨迹预测
我们设计了一个LSTM网络用于高速公路场景下的车辆轨迹预测:输入为过去3秒(10Hz采样,共30个时间步)的目标车辆相对位置、速度、加速度,以及周围车辆的交互特征;输出为未来5秒的轨迹点(50个时间步)。网络结构为两层LSTM(隐藏单元256),后接全连接层输出轨迹坐标。
关键参数:训练集包含10万条真实高速轨迹,验证集2万条。使用Adam优化器,初始学习率0.001,batch size 128,训练50个epoch。
结果:平均位移误差(ADE)为0.85m,最终位移误差(FDE)为1.92m,优于基于物理模型的卡尔曼滤波(ADE 1.4m)。
风险与代价:LSTM对输入噪声敏感,当传感器数据丢失超过0.5秒时,预测误差急剧增大。解决方案:引入mask机制,对缺失时间步进行掩码处理。
3.2.4 常见误区与总结
- 误区一:认为LSTM可以处理任意长度的序列。实际上,LSTM的有效记忆长度约为100-200步,超过后性能下降。
- 误区二:忽略序列数据的预处理。轨迹数据需要归一化、去噪(如使用Savitzky-Golay滤波),否则影响收敛。
- 误区三:将LSTM用于所有时序任务。对于周期性强的信号(如车速),Transformer或时序卷积网络(TCN)可能更合适。
3.3 Transformer与注意力机制:全局建模的新范式
3.3.1 核心原理:自注意力与多头机制
Transformer最初用于自然语言处理,其核心是自注意力(Self-Attention)机制。对于输入序列 \( X \in \mathbb{R}^{n \times d} \),通过三个可学习权重矩阵 \( W_Q, W_K, W_V \) 计算查询(Query)、键(Key)、值(Value):
\[ Q = XW_Q, \quad K = XW_K, \quad V = XW_V \]
注意力权重计算为:
\[ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V \]
其中 \( d_k \) 是键的维度,除以 \( \sqrt{d_k} \) 防止点积过大导致梯度消失。多头注意力将输入分成多个头(如8头),分别计算注意力后拼接并线性变换,使模型能够关注不同子空间的信息。
由于自注意力不包含位置信息,需要添加位置编码(Positional Encoding),常用正弦函数或可学习的位置嵌入。在自动驾驶中,Transformer可处理非结构化输入(如点云集合)和变长序列,且支持并行计算。
3.3.2 判断方法:Transformer vs RNN vs CNN
| 维度 | CNN | RNN/LSTM | Transformer |
|---|---|---|---|
| 计算并行性 | 高(卷积可并行) | 低(串行依赖) | 高(自注意力可并行) |
| 长距离依赖 | 需堆叠层数 | 有限(100-200步) | 强(全局感受野) |
| 计算复杂度 | O(n·k²·c) | O(n·d²) | O(n²·d) |
| 自动驾驶应用 | 图像特征提取 | 轨迹预测 | BEV感知、多模态融合 |
在自动驾驶中,Transformer主要用于:
- BEV感知:将多摄像头特征通过交叉注意力投影到鸟瞰图空间,实现统一的目标检测与地图分割。
- 多模态融合:将摄像头特征与激光雷达特征通过交叉注意力融合,提高3D检测精度。
- 轨迹预测:使用Transformer编码器建模车辆间的交互关系,解码器生成多模态轨迹。
3.3.3 案例拆解:基于Transformer的BEV感知网络
以特斯拉的BEVFormer为例,其使用6个摄像头输入,通过可变形注意力(Deformable Attention)将2D图像特征投影到3D BEV空间。具体流程:
- 初始化BEV查询(Query)网格,每个网格对应BEV空间中的一个位置(如0.5m分辨率)。
- 对于每个查询,通过可变形注意力采样对应图像特征中的关键点。
- 通过多层Transformer编码器迭代更新BEV特征。
- 输出BEV特征图,用于目标检测(3D框)和地图分割(车道线、可行驶区域)。
工程实践:在NVIDIA A100 GPU上,BEVFormer处理6张1280×720图像,单帧推理时间约35ms(28 FPS),满足L4级自动驾驶的实时性要求。但部署到车规级芯片(如Orin)时,需将模型量化为INT8,推理时间降至18ms,精度损失约1.5% mAP。
3.3.4 常见误区与总结
- 误区一:认为Transformer完全取代CNN。实际上,在自动驾驶中,CNN仍用于提取底层视觉特征,Transformer负责全局建模。
- 误区二:忽略计算复杂度。自注意力的O(n²)复杂度在BEV网格较大时(如200×200=40000个查询)计算量巨大,需使用可变形注意力或窗口注意力降低复杂度。
- 误区三:位置编码选择不当。在BEV空间中,应使用可学习的3D位置编码,而非正弦编码。
3.4 注意力机制在自动驾驶中的综合应用
3.4.1 核心原理:从软注意力到自注意力
注意力机制的本质是动态分配计算资源:对重要信息赋予更高权重,对无关信息进行抑制。在自动驾驶中,注意力机制的应用包括:
- 空间注意力:在特征图上生成空间权重图,突出关键区域(如行人、车辆)。
- 通道注意力:对特征通道进行加权,强调重要语义(如边缘、纹理)。
- 时间注意力:在时序特征中,对关键帧赋予更高权重。
- 交叉注意力:在不同模态(图像与点云)之间建立对应关系。
3.4.2 判断方法:注意力机制的选择策略
| 应用场景 | 推荐注意力类型 | 理由 |
|---|---|---|
| 图像目标检测 | CBAM(通道+空间) | 轻量级,可嵌入任意CNN骨干 |
| 多传感器融合 | 交叉注意力 | 建立模态间对应关系 |
| 轨迹预测 | 图注意力(GAT) | 建模车辆间交互关系 |
| BEV感知 | 可变形注意力 | 降低计算复杂度,适应稀疏特征 |
3.4.3 案例拆解:注意力机制在3D目标检测中的应用
以PointPillars+注意力模块为例:首先将点云划分为柱体(Pillar),通过PointNet提取特征,然后使用2D CNN处理BEV特征图。我们在骨干网络后添加了通道-空间注意力模块(CBAM),实验结果显示:
实验设置:KITTI数据集,Car类别,IoU=0.7。
结果对比:
- 基线(PointPillars):AP 74.3%
- +CBAM:AP 77.1%(+2.8%)
- +自注意力(Transformer编码器):AP 78.5%(+4.2%),但推理时间增加8ms
分析:CBAM在几乎不增加计算量的情况下提升了精度,适合实时系统;自注意力虽然精度更高,但延迟增加明显,适合对延迟要求较低的L4级场景。
3.4.4 常见误区与总结
- 误区一:注意力机制越多越好。过多的注意力模块会导致计算量激增,且可能过拟合。
- 误区二:忽略注意力权重的可视化分析。通过可视化注意力热图,可以诊断模型是否关注了正确的区域。
- 误区三:在训练和推理时使用不同的注意力策略。例如,训练时使用全局注意力,推理时使用局部注意力,会导致性能下降。
3.5 本章总结与工程选型建议
在端到端自动驾驶系统中,CNN、RNN/Transformer和注意力机制各有其不可替代的作用:
- CNN:负责从原始传感器数据中提取空间特征,是感知任务的基础。
- RNN/LSTM:适用于短时序建模,如轨迹预测和驾驶员意图识别,但存在并行性差和长依赖不足的问题。
- Transformer:凭借自注意力机制实现全局建模,在BEV感知、多模态融合和复杂交互预测中表现优异,但计算成本较高。
- 注意力机制:作为通用增强模块,可嵌入CNN或Transformer中,提升模型对关键信息的关注能力。
工程选型建议:对于L2+级辅助驾驶,推荐使用CNN+CBAM+轻量级LSTM的组合,在保证实时性的同时获得可靠性能;对于L4级自动驾驶,推荐使用CNN骨干+Transformer编码器+可变形注意力的架构,充分利用全局信息进行感知与预测。无论选择哪种架构,都需要在实车测试中验证模型在极端天气、光照变化、传感器故障等场景下的鲁棒性。