第一章:核心传感器原理回顾

各位同学,欢迎来到《感知融合性能瓶颈突破实战》。我是你们的老朋友,一个在自动驾驶感知领域摸爬滚打多年的工程师。

今天咱们先不急着上手调代码,得先把地基打牢。说白了,传感器就是自动驾驶的「眼睛」和「耳朵」。你连它们怎么「看」、怎么「听」都不清楚,后面做融合肯定要踩坑。我个人习惯,每次接手新项目,第一件事就是拉着团队把传感器原理再过一遍。嗯,这步省不了。

1.1 Camera:成像原理与坐标系

Camera 的原理,说白了就是小孔成像。光穿过镜头,打在 CMOS 上,光电转换后变成数字信号。但这里有个关键点——像素坐标系和世界坐标系之间的映射关系。

核心公式: 像素坐标 (u, v) 到相机坐标 (Xc, Yc, Zc) 的转换,离不开内参矩阵 K 和外参矩阵 [R|t]。

// 伪代码:像素到相机坐标
// 假设内参 K = [fx, 0, cx; 0, fy, cy; 0, 0, 1]
// 像素点 (u, v),深度 Zc
Xc = (u - cx) * Zc / fx
Yc = (v - cy) * Zc / fy
Zc = 深度值(来自双目或雷达投影)

我在项目中遇到过一个问题:Camera 的畸变。特别是广角镜头,边缘的桶形畸变能把直线变成弯的。如果不做去畸变,后面投影到鸟瞰图(BEV)时,车道线全歪了。我曾经因为忘了标定畸变参数,导致融合后的目标位置偏差了半米多,排查了整整两天。

避坑指南: 标定 Camera 时,棋盘格一定要贴平。我见过有人用 A4 纸打印棋盘格,贴在弯曲的纸箱上,结果标定出来的内参全是错的。

1.2 LiDAR:点云特性与坐标系

LiDAR 发射激光束,测量反射时间,得到距离。同时记录反射强度(intensity)。点云数据就是一堆 (x, y, z, intensity) 的四维点。

LiDAR 的坐标系通常是右手系:x 轴朝前,y 轴朝左,z 轴朝上。但不同厂家定义可能不同。比如 Velodyne 和 Hesai 的坐标系就不完全一样。你想想看,如果融合时坐标系没对齐,那目标位置能对吗?

点云特性:

  • 稀疏性: 64 线 LiDAR 每秒约 130 万个点,但相比图像还是稀疏很多。
  • 距离精度高: 毫米级,但受天气影响大(雨、雾、雪)。
  • 反射强度: 可以用来区分车道线(高反)和沥青路面(低反)。

我记得有一次做目标检测,点云中的行人点太少,只有 3-4 个点。这时候用传统的聚类算法很容易漏检。后来我改用基于 PointPillars 的检测网络,效果好了不少。说白了,点云稀疏的地方,就得靠算法「脑补」。

注意: LiDAR 的盲区问题。近处 0.5 米以内,激光束打不中目标。所以倒车时,纯 LiDAR 方案容易撞到低矮的障碍物。

1.3 Radar:多普勒效应与坐标系

Radar 发射电磁波,利用多普勒效应测量目标的径向速度。这是 Radar 相比 Camera 和 LiDAR 最大的优势——直接测速。

Radar 坐标系通常是极坐标系:距离 r、方位角 θ、俯仰角 φ(部分 4D Radar 支持)。但注意,Radar 的角度分辨率比较差,一般只有几度。所以 Radar 能告诉你「前方 50 米有个东西在动」,但说不清它到底在哪个车道。

传感器 测距精度 测速能力 角度分辨率
Camera 中等(依赖深度估计) 间接(帧间差分) 高(像素级)
LiDAR 高(毫米级) 间接(帧间差分) 中等(线束决定)
Radar 中等(米级) 直接(多普勒) 低(几度)

我在项目中遇到过 Radar 的多径反射问题。比如高架桥下的护栏,Radar 信号会反射多次,产生「鬼影」目标。如果不做滤波,融合模块会以为那里有个静止障碍物,然后急刹车。嗯,这体验可不好。

技巧: 利用 Radar 的RCS(雷达散射截面)可以辅助分类。比如行人的 RCS 通常小于 0 dBsm,而车辆在 10-20 dBsm 之间。虽然不能完全依赖,但可以作为融合时的置信度参考。

1.4 IMU/GNSS:基础与坐标系

IMU(惯性测量单元)提供加速度和角速度。GNSS(全球导航卫星系统)提供绝对位置(经纬度)。两者互补:IMU 短时精度高但会漂移,GNSS 长期稳定但更新频率低(10Hz 左右)。

IMU 的坐标系是载体坐标系(body frame):x 轴朝前,y 轴朝左,z 轴朝上。GNSS 用的是地心地固坐标系(ECEF)或经纬度。融合时,需要把 IMU 数据转换到导航坐标系(比如 ENU)。

融合关键: 卡尔曼滤波(EKF/UKF)是 IMU+GNSS 融合的经典方法。状态量通常包括位置、速度、姿态、以及 IMU 的零偏。

// 简化版 EKF 预测步骤
// 状态向量 x = [px, py, pz, vx, vy, vz, qw, qx, qy, qz, ba_x, ba_y, ba_z, bg_x, bg_y, bg_z]
// 其中 ba 是加速度计零偏,bg 是陀螺仪零偏

// 预测方程(离散化)
x_pred = f(x_prev, u_imu)  // u_imu 包含加速度和角速度
P_pred = F * P_prev * F^T + Q  // F 是雅可比矩阵,Q 是过程噪声

我曾经在隧道里吃过亏。GNSS 信号丢失,纯靠 IMU 积分,结果 10 秒后位置漂移了 20 多米。后来我加了零速检测(Zupt)和车辆运动约束(比如非完整性约束 NHC),才把漂移控制住。说白了,IMU 不能单独用太久,得靠其他传感器「拉」回来。

注意: IMU 的温漂问题。温度变化会导致零偏漂移。我建议每次上电后做 1-2 分钟的静态初始化,估计初始零偏。

知识体系总览

下面这张图,是我自己整理的传感器融合知识体系。你可以把它当作本章的「地图」。

感知融合核心传感器知识体系 多传感器融合 Camera LiDAR Radar IMU/GNSS 成像原理 & 坐标系 • 小孔成像模型 • 像素→相机→世界坐标 • 畸变标定(内参/外参) • 优势:纹理丰富,角度分辨率高 点云特性 & 坐标系 • 激光测距原理 • (x,y,z,intensity) 四维点 • 右手系(x前 y左 z上) • 优势:距离精度高,劣势:稀疏 多普勒效应 & 坐标系 • 电磁波反射 + 多普勒频移 • 极坐标系 (r, θ, φ) • 直接测径向速度 • 优势:全天候,劣势:角度分辨率低 IMU/GNSS 基础 • IMU:加速度+角速度 • GNSS:绝对位置(经纬度) • 载体坐标系 vs 导航坐标系 • 优势:互补(短时+长期) 融合关键:时间同步 + 空间对齐 + 置信度管理

这张图把四个传感器的核心特性和融合关键点串起来了。你仔细看,每个传感器都有自己的「强项」和「弱项」。Camera 看得清但测不准距离,LiDAR 测距准但稀疏,Radar 能测速但角度分辨率差,IMU/GNSS 提供位姿但会漂移。融合,说白了就是取长补短。

好了,第一章的内容就到这里。这些原理看起来简单,但真正做融合时,每一个细节都可能成为性能瓶颈。下一章,我们会深入讨论时间同步这个老大难问题。到时候见。

可可精品资料库