3、核心输入模态:相机图像、激光雷达点云、毫米波雷达;多模态融合的必要性与挑战
聊到Occupancy网络,绕不开的一个话题就是:到底该用什么传感器喂数据?
我个人习惯把这个问题拆成两个层面来看。第一层,每种传感器单独能干什么、不能干什么。第二层,怎么把它们揉到一起,发挥1+1+1>3的效果。说白了,这就是多模态融合的核心命题。
3.1 三大核心模态:各自的本事与短板
3.1.1 相机图像:最像人眼的感知
相机是我在项目中用得最多的模态。它便宜、信息量大,而且能提供丰富的语义信息——比如车道线颜色、交通标志上的文字、远处行人的轮廓。这些信息,激光雷达和毫米波雷达是给不了的。
但相机有个致命伤:它是被动传感器。没有光照,它就抓瞎。我在夜间测试时遇到过好几次,纯视觉方案在隧道出口突然强光照射下,直接丢失了前方静止车辆。嗯,这就是所谓的“感知黑洞”。
- 优势:高分辨率、丰富的纹理和颜色、语义理解能力强
- 劣势:受光照影响大、缺乏深度信息(单目)、对运动模糊敏感
- 在Occupancy中的角色:提供密集的语义标签,帮助网络理解“这是什么”
3.1.2 激光雷达点云:几何世界的尺子
激光雷达是我最信任的“尺子”。它直接输出三维坐标,精度毫米级。在Occupancy网络中,点云是构建占据网格的黄金标准——因为它能告诉你“这里到底有没有东西”。
但激光雷达也有让人头疼的地方。第一,它稀疏。32线雷达在100米外,一个目标可能只有几个点。第二,它没有语义。你拿到一堆点,知道那里有个物体,但不知道是车还是树。第三,它怕雨雪。我在雨雾天测试时,点云里全是噪点,地面都被“抬”起来了。
- 优势:精确的3D几何信息、不受光照影响、直接测距
- 劣势:点云稀疏、无语义信息、受天气影响大、成本高
- 在Occupancy中的角色:提供精确的占据边界,作为真值或强监督信号
3.1.3 毫米波雷达:穿透迷雾的眼睛
毫米波雷达是三者里最“低调”的。它分辨率低,点云稀疏得像撒胡椒面。但它有一个独门绝技:穿透性。雨、雪、雾、烟尘,对它来说都不是事儿。
我在做矿区无人驾驶项目时,纯视觉方案在扬尘路段直接失效,激光雷达也被灰尘反射干扰。最后是靠毫米波雷达稳住了局面。它虽然看不清细节,但能告诉你“前方30米有障碍物”,这就够了。
- 优势:全天候工作、直接测速(多普勒效应)、成本低
- 劣势:角度分辨率低、点云稀疏、多径反射严重、缺乏高度信息
- 在Occupancy中的角色:提供鲁棒性保障,在恶劣天气下作为“保底”信号
3.2 多模态融合:为什么非做不可?
你想想看,如果只用相机,遇到强光或黑夜就歇菜。如果只用激光雷达,遇到雨雪就抓瞎。如果只用毫米波雷达,连前方是车还是人都分不清。
多模态融合,说白了就是让每个传感器去补别人的短板。
相机提供语义,激光雷达提供几何,毫米波雷达提供全天候鲁棒性。三者结合,才能构建一个在任意场景下都可靠的Occupancy网络。我在实际部署中发现,融合后的模型在极端天气下的mIoU(平均交并比)比单模态高出20%以上。
3.3 融合的挑战:理想很丰满,现实很骨感
道理大家都懂,但真正做起来,坑一个接一个。我总结了三个最头疼的挑战。
3.3.1 空间对齐:坐标系打架
相机在图像坐标系,激光雷达在雷达坐标系,毫米波雷达又在自己的球坐标系。要把它们统一到一个空间,需要精确的外参标定。
我曾经在项目里因为标定板放歪了1度,导致点云投影到图像上偏移了10个像素。结果Occupancy网络学出来的占据边界全是歪的。嗯,那周我加了三天班才排查出来。
| 传感器 | 原始坐标系 | 对齐方式 | 常见误差源 |
|---|---|---|---|
| 相机 | 像素坐标系 (u, v) | 投影到BEV或3D体素 | 内参畸变、外参松动 |
| 激光雷达 | 笛卡尔坐标系 (x, y, z) | 直接映射到体素网格 | 安装角度偏差、运动畸变 |
| 毫米波雷达 | 极坐标系 (r, θ, v) | 转换到笛卡尔后对齐 | 多径反射导致角度偏差 |
3.3.2 时间同步:不同传感器的“时差”
相机通常30fps,激光雷达10fps,毫米波雷达20fps。它们采集的时间戳天然不同。如果不做时间对齐,你拿到的“同一时刻”的数据,可能差了100毫秒。
100毫秒在高速场景下意味着什么?车辆已经移动了3米。你让Occupancy网络去融合一个“错位”的点云和图像,它学出来的占据网格肯定是模糊的。
3.3.3 特征异构:鸡同鸭讲
图像是密集的2D矩阵,点云是稀疏的3D点集,毫米波雷达是更稀疏的带速度信息的点。它们的特征维度、分布、密度完全不同。怎么把它们融合到一个统一的网络里?
常见的做法有:
- 前融合:在输入层就把所有数据投影到同一个空间(比如BEV),然后一起喂给网络。优点是简单,缺点是信息损失大。
- 特征融合:各自提取特征,在中间层通过注意力机制或交叉注意力进行融合。这是目前的主流做法,效果好但计算量大。
- 后融合:各自输出预测结果,最后用规则或轻量网络做决策级融合。鲁棒性好,但无法利用底层互补信息。
我个人更倾向于特征融合。我在项目中用过基于Transformer的交叉注意力模块,让图像特征和点云特征在BEV空间里互相“看”对方一眼。效果确实比前融合好,但部署时要注意显存占用——交叉注意力的计算量是O(n²),点云一多就容易爆显存。
3.4 小结:融合是必选项,不是可选项
回到开头的问题。Occupancy网络为什么需要多模态融合?
因为现实世界太复杂了。没有一种传感器能覆盖所有场景。相机、激光雷达、毫米波雷达,它们就像三个各有所长的侦察兵。只有把它们的情报汇总起来,指挥官(Occupancy网络)才能做出正确的判断。
融合的挑战确实多——标定、同步、异构特征,每一个都能让你加班到怀疑人生。但一旦打通了这条链路,你得到的将是一个在任何天气、任何光照下都能稳定工作的感知系统。这,就是多模态融合的价值所在。