3. 多模态学习入门
自动驾驶系统天然是一个多模态系统:摄像头提供稠密纹理与语义,激光雷达提供精确三维几何,毫米波雷达提供速度与恶劣天气下的鲁棒性,文本承载人类先验与驾驶常识,地图给出道路拓扑与先验约束。多模态学习的核心任务,就是把这五种异构信息统一到可计算、可对齐、可融合的表示空间中,让模型在场景理解与推理时"看得全、对得准、融得稳"。
一、核心原理:五种模态的表示与互补性
不同模态的物理本质决定了它们的表示形式与信息偏好。视觉以像素张量表示,语义丰富但缺乏绝对深度;激光雷达以点云集合表示,几何精确但稀疏且无语义;毫米波雷达以距离-多普勒-角度谱表示,对速度敏感、穿透性强但角分辨率低;文本以离散 token 序列表示,抽象但可迁移;地图以矢量图层或栅格语义表示,提供长期稳定的先验。
多模态学习要解决三个层次的问题:表示(各模态如何编码成向量)、对齐(不同模态的向量如何建立语义对应)、融合(对齐后的信息如何组合成统一决策依据)。三者层层递进,缺一不可。
二、方法流程:从单模态编码到统一表征
工程上通常按以下流程构建多模态管线:
- 单模态编码:视觉用 ResNet/ViT 提取特征图;激光雷达用 PointNet++ 或体素网络编码点云;毫米波雷达将距离-多普勒-角度谱转为 BEV 特征;文本用 BERT/CLIP 文本塔编码;地图用矢量 Transformer 编码车道线与拓扑。
- 空间对齐:通过相机-激光雷达外参标定与投影矩阵,将点云投影到图像平面,或将图像特征反投影到 BEV 网格,实现像素级与体素级的空间对应。
- 语义对齐:使用对比学习(如 CLIP 式图文对)或交叉注意力,让"红色卡车"的文本嵌入与图像中卡车区域、点云中对应簇的嵌入在向量空间中靠近。
- 特征融合:在 BEV 统一空间拼接或加权融合,输出统一场景表征,供下游检测、预测与推理头使用。
# 伪代码:中期融合的 BEV 特征拼接
img_feat = image_encoder(img) # [B, C, H, W]
lidar_bev = lidar_encoder(points) # [B, C, H, W]
radar_bev = radar_encoder(radar) # [B, C, H, W]
map_bev = map_encoder(map_vec) # [B, C, H, W]
# 空间对齐后按通道拼接
fused = concat([img_feat, lidar_bev, radar_bev, map_bev], dim=1)
fused = fusion_conv(fused) # 降维 + 交互
det_out = detection_head(fused)
三、融合范式对比与选型
融合发生的阶段决定了信息交互的深度与工程复杂度。下表对比四种主流范式:
| 融合范式 | 融合位置 | 优点 | 局限 | 典型场景 |
|---|---|---|---|---|
| 早期融合 | 原始数据/输入层 | 信息保留最完整 | 需严格时空同步,噪声敏感 | 标定良好的相机-激光雷达 |
| 中期融合 | 特征层 | 兼顾信息量与灵活性 | 需设计对齐与融合模块 | BEV 感知主流方案 |
| 晚期融合 | 决策/输出层 | 模块解耦,易调试 | 丢失跨模态细粒度交互 | 多传感器冗余校验 |
| 混合融合 | 多层多阶段 | 表达能力强 | 计算开销大,训练复杂 | 高阶自动驾驶研究 |
四、案例与场景:城市路口的多模态协同
以城市无保护左转为例:视觉识别到对向车辆与行人,但强逆光下置信度下降;激光雷达给出对向车辆的精确距离与轮廓,但无法判断其是否打转向灯;毫米波雷达测得对向车辆速度稳定、无减速趋势;地图提示该路口允许左转但需让行直行;文本先验"左转让直行"提供规则约束。四路信息在 BEV 空间对齐后,模型综合判断:对向车直行且速度稳定,本车应等待。若仅依赖视觉,逆光可能漏检;仅依赖激光雷达,无法理解转向灯语义;仅依赖地图,无法感知动态目标。多模态融合正是通过互补性提升鲁棒性。
五、常见误区与复盘
- 误区一:模态越多越好。若某模态噪声大或对齐差,反而拖累整体。应做模态有效性评估与门控。
- 误区二:只做空间对齐,忽略语义对齐。空间对齐解决"在哪里",语义对齐解决"是什么",二者缺一不可。
- 误区三:融合层越深越好。深层融合计算昂贵且易过拟合,需根据算力与数据量权衡。
- 误区四:忽略时间同步。不同传感器采样频率不同,时间戳对齐误差会直接破坏融合效果。
掌握表示、对齐与融合三个层次,是后续学习 BEV 感知、多模态大模型与场景推理的基础。只有在统一表征空间中,视觉、激光雷达、毫米波雷达、文本与地图才能真正"对话",为自动驾驶提供完整、鲁棒、可解释的场景理解能力。