我一直觉得,自动驾驶感知里最危险的假设,是默认“所有传感器都会一直正常”。现实路上并不配合:相机可能被雨滴遮住、画面可能丢帧,激光雷达可能出现稀疏回波、串扰,甚至直接不可用。车不会因为其中一个传感器出了问题就停下世界,因此感知系统也不该只在信息最完整时表现出色。

最近我看到 Uni-Map 的思路,最打动我的并不是把相机和激光雷达简单拼在一起,而是用一个模型同时适配纯相机、纯激光雷达和两者融合三种输入。它把“多传感器融合”从性能竞赛,拉回到了可靠性与部署成本的现实问题。

一, 一张车道线地图,为什么会变成三套模型?

在线高精地图不是导航软件里那张预先下载好的地图,而是车辆根据当前观测实时画出的道路结构:车道分隔线、路缘、斑马线等静态元素。它是规划与导航的“地基”。

过去常见的做法是:

- 只有相机,训练一套模型;
- 只有激光雷达,训练一套模型;
- 两者都在,再训练一套融合模型。

这样的分工看似自然,代价却很高:三次训练、三份模型、三组维护链路。更棘手的是,融合模型往往默认两类传感器都完好,一旦相机失效或雷达数据异常,性能会出现断崖式下滑。

我认为,真正成熟的感知不应该问“现在有什么传感器,就换哪个模型”,而应该问“无论剩下什么信息,我能否维持同一套道路理解能力”。

二,我理解的 Uni-Map:让不同传感器先说同一种语言

Uni-Map 的主线很清晰:先把来自相机和激光雷达的内容都转换到鸟瞰图(BEV)空间,再把不同来源的 BEV 特征对齐到一个共享的隐空间,最后交给同一个地图解码器。

![文中插图:多传感器统一到共享 BEV 表示](unimap-illustration.png)

我把它概括为三个动作:

1. 分别编码:相机擅长语义,雷达擅长几何;它们先各自提取特征。
2. 投影对齐:一个轻量投影器把两类 BEV 特征映射到共享空间,减少“同一条车道线在两种传感器里像两件事”的表征鸿沟。
3. 混合训练,按需切换:训练阶段把相机、雷达和融合特征都喂给同一个解码器;部署阶段则依据实际可用输入选择对应特征。

下面用伪代码理解这种思路会更直观:

```python
camera_bev = camera_encoder(images)
lidar_bev = lidar_encoder(points)
fused_bev = fuse(camera_bev, lidar_bev)

训练时:同一个解码器见过三种“语言”
for bev in [camera_bev, lidar_bev, fused_bev]:
    loss += map_decoder(projector(bev), labels)

部署时:哪个输入可用,就切到哪个分支
bev = fused_bev if camera_ok and lidar_ok else camera_bev if camera_ok else lidar_bev
hd_map = map_decoder(projector(bev))
```

关键不在 `if` 这行代码,而在解码器已经学会从三种输入分布中提取同一类道路几何。因此“切换”不是故障后的临时补丁,而是训练时就准备好的能力。

三,最值得关注的,不是晴天成绩,而是传感器坏掉之后

我尤其认可其中的测试方式:没有只报告干净数据上的指标,而是构造了 13 类相机、雷达以及联合损坏情景,例如相机崩溃、画面丢失、雷达缺失、跨传感器干扰和不完整回波。

结果说明了一件很朴素的事:统一训练不只是省模型,也能让模型更抗故障。面对相机缺失、只剩雷达输入时,Uni-Map 的 mAP 达到 61.2,而对比系统为 22.5,差距为 38.7 个点。在 nuScenes 上,基于 MapTR 的统一版本相较各自独立训练的相机、雷达与融合版本,分别提升 4.6、5.6、5.6 mAP;在 Argoverse2 上,也保持三种输入形态的同步提升。

这比“融合模型在完美条件下更准”更接近真实安全问题。车辆并不总有最丰富的传感器信息,真正可用的能力是:降级以后还能不能看清路。

四,一次训练,为什么不等于简单地把三份数据拼起来?

多模态统一最容易踩的坑,是让一种信息源压制另一种。相机特征和激光雷达特征的物理来源不同、分布不同,如果只把它们拼接,解码器可能仍然偷偷依赖某一种输入。

Uni-Map 的“混合堆叠模态”训练,使用同一份地图标注监督相机、雷达和融合特征,并让它们共同经过共享解码器。这样做像是在反复告诉模型:无论输入来自哪里,最后都要回答同一个问题——这里的车道线、路缘和斑马线在哪里。

从工程账本看,这种设计也很有吸引力。传统做法要分别训练三套系统;统一版本只需训练一份参数规模约 39.9 MB 的模型,推理速度和各自独立版本保持一致。少维护两份模型,不仅节约计算,更减少了版本漂移、部署验证和故障切换中的隐患。

五,我也不会把“统一”误解成万能

首先,地图构建主要刻画静态道路元素,并不直接解决动态目标跟踪、长尾行为预测和控制决策。其次,13 类损坏情景很有价值,但开放道路上的极端天气、传感器脏污、地域道路样式变化,仍可能带来更复杂的分布偏移。最后,一个模型能接住传感器缺失,不代表整车系统已经安全:时间同步、标定误差、定位漂移、规划冗余和故障监测仍要一起工作。

但这正是我从中得到的最大启发:自动驾驶的可靠性,不该只靠“再加一个传感器”,而要把故障当作正常状态的一部分写进训练与部署流程。

当相机、雷达和融合输入都能汇入同一张可用的道路地图,车辆获得的不是一份更漂亮的分数,而是一种更接近现实世界的从容。
参考资料:

更多推荐