3、传感器模型:雷达、激光雷达、摄像头、IMU的测量模型与噪声特性
做目标跟踪这些年,我最大的体会就是:算法再漂亮,传感器数据一塌糊涂,结果也是白搭。说白了,传感器模型就是整个跟踪系统的「眼睛」。眼睛近视了,大脑再聪明也看不清路。
这一章,咱们就聊聊四种主流传感器的测量模型和噪声特性。我会结合自己踩过的坑,帮你把这些传感器的「脾气秉性」摸清楚。
3.1 雷达(Radar)测量模型
雷达这东西,我最早接触是在做车载毫米波雷达的项目。它的原理其实不复杂:发射电磁波,等它碰到目标弹回来,根据时间差算距离,根据多普勒频移算速度。
3.1.1 测量模型
雷达通常输出极坐标下的测量值:
z_radar = [r, θ, v_r]^T
其中:
- r — 径向距离
- θ — 方位角
- v_r — 径向速度(多普勒速度)
测量方程可以写成:
r = sqrt(x² + y²) + w_r
θ = atan2(y, x) + w_θ
v_r = (x·v_x + y·v_y) / sqrt(x² + y²) + w_v
这里的 w_r、w_θ、w_v 就是噪声项。
关键点:雷达的测量是在极坐标系下的,而目标状态通常是在笛卡尔坐标系。做滤波时,要么把测量转换到笛卡尔系(会有偏差),要么用扩展卡尔曼滤波(EKF)处理非线性。
3.1.2 噪声特性
雷达噪声有几个特点,我当年在高速场景测试时深有体会:
- 距离噪声:通常与距离成正比。远距离目标,噪声明显增大。我记得有一次测试,200米外的卡车,距离抖动能达到±2米。
- 角度噪声:受天线波束宽度影响。普通车载雷达角度分辨率大概在1°~3°,这个误差在远距离会被放大。
- 速度噪声:多普勒测速相对精准,一般误差在0.1~0.5 m/s。
| 参数 | 典型噪声标准差 | 影响因素 |
|---|---|---|
| 距离 r | 0.1 ~ 2.0 m | 距离、信噪比 |
| 角度 θ | 0.5° ~ 3.0° | 天线设计、目标角度 |
| 径向速度 v_r | 0.1 ~ 0.5 m/s | 多普勒分辨率 |
我的经验:实际项目中,我习惯把雷达噪声建模为高斯分布,但要注意——远距离目标的噪声分布其实有点「拖尾」,用高斯近似会低估大误差的概率。如果你做的是安全关键系统,建议用更保守的噪声模型。
3.2 激光雷达(LiDAR)测量模型
激光雷达,说白了就是用激光代替雷达的电磁波。它的优势是角度分辨率极高,能生成点云数据。
3.2.1 测量模型
激光雷达每个点可以表示为:
z_lidar = [x, y, z]^T (笛卡尔坐标)
或者
z_lidar = [r, θ, φ]^T (球坐标)
测量方程(球坐标形式):
r = sqrt(x² + y² + z²) + w_r
θ = atan2(y, x) + w_θ
φ = asin(z / r) + w_φ
3.2.2 噪声特性
激光雷达的噪声,我总结为「三高一低」:
- 距离精度高:一般误差在±2cm以内。我测试过某款16线激光雷达,10米内测距误差不到1cm。
- 角度精度高:水平角分辨率可达0.1°~0.4°。
- 数据率高:每秒几十万点,但这也带来了计算压力。
- 环境敏感:雨、雾、雪天气下性能急剧下降。这个坑我踩过——有次雨天测试,点云直接少了一半。
| 参数 | 典型噪声标准差 | 备注 |
|---|---|---|
| 距离 r | 0.01 ~ 0.05 m | 近距精度极高 |
| 水平角 θ | 0.1° ~ 0.5° | 取决于线束密度 |
| 俯仰角 φ | 0.1° ~ 0.5° | 垂直分辨率通常较低 |
注意:激光雷达的点云不是均匀分布的。远处点稀疏,近处点密集。做目标检测时,这个特性会影响聚类算法的参数设置。我曾经就因为没处理好这个问题,导致远处目标经常漏检。
3.3 摄像头(Camera)测量模型
摄像头嘛,说白了就是模仿人眼。但它有个致命问题——没有深度信息。单目相机只能给出像素坐标,深度要靠「猜」。
3.3.1 测量模型
经典的针孔相机模型:
z_cam = [u, v]^T (像素坐标)
从3D世界到2D图像的映射:
u = f_x * (x / z) + c_x + w_u
v = f_y * (y / z) + c_y + w_v
其中 f_x、f_y 是焦距,c_x、c_y 是主点坐标。这些参数需要标定得到。
3.3.2 噪声特性
摄像头噪声,我把它分成两类:
- 几何噪声:像素量化误差(±0.5像素)、镜头畸变、标定误差。
- 光度噪声:光照变化、运动模糊、传感器热噪声。
| 参数 | 典型噪声标准差 | 说明 |
|---|---|---|
| 像素坐标 u, v | 0.5 ~ 2.0 像素 | 受光照和纹理影响 |
| 深度(单目) | 与距离平方成正比 | 单目无法直接测距 |
| 深度(双目) | 与距离平方成正比 | 基线越长精度越高 |
我的建议:如果你用摄像头做目标跟踪,千万别把像素噪声当成独立同分布的高斯噪声。实际上,图像边缘的畸变更大,光照变化时噪声特性也会变。我习惯在预处理阶段做畸变校正,然后根据目标在图像中的位置动态调整测量噪声协方差矩阵。
3.4 IMU(惯性测量单元)测量模型
IMU 是个「老实人」——它只测加速度和角速度,不依赖外部信号。但老实人也有缺点:它漂移。
3.4.1 测量模型
IMU 输出:
z_imu = [a_x, a_y, a_z, ω_x, ω_y, ω_z]^T
测量方程:
a_m = a_true + b_a + n_a
ω_m = ω_true + b_g + n_g
其中 b_a 和 b_g 是零偏(bias),n_a 和 n_g 是白噪声。
3.4.2 噪声特性
IMU 噪声有两个核心参数:
- 白噪声(角度随机游走):高频噪声,可以用 Allan 方差分析得到。
- 零偏稳定性(bias instability):低频漂移,这是 IMU 最头疼的问题。
| 参数 | 消费级IMU | 工业级IMU | 战术级IMU |
|---|---|---|---|
| 加速度计白噪声 | 100~300 μg/√Hz | 10~50 μg/√Hz | <10 μg/√Hz |
| 陀螺仪白噪声 | 0.01~0.1 °/s/√Hz | 0.001~0.01 °/s/√Hz | <0.001 °/s/√Hz |
| 加速度计零偏稳定性 | 0.1~1 mg | 0.01~0.1 mg | <0.01 mg |
| 陀螺仪零偏稳定性 | 1~10 °/h | 0.1~1 °/h | <0.1 °/h |
避坑指南:我曾经在一个无人机项目中,直接用 IMU 的原始数据做积分求位姿,结果 10 秒后位置误差就超过了 10 米。后来才意识到,IMU 的零偏必须在线估计和补偿。记住:IMU 数据绝对不能直接积分用,必须配合其他传感器做融合。
3.5 传感器模型对比与选择
四种传感器各有优劣,我画了张图帮你理清思路:
选传感器时,我一般遵循几个原则:
- 室内/近距离:激光雷达 + IMU,精度高,不受光照影响。
- 室外/远距离:雷达 + 摄像头,雷达提供距离和速度,摄像头提供分类信息。
- 高动态场景:IMU 必须上,而且要用高频 IMU(200Hz以上)来填补其他传感器的帧间空白。
核心总结:没有完美的传感器,只有合适的组合。理解每种传感器的测量模型和噪声特性,是做好多传感器融合的第一步。我个人习惯在项目初期花大量时间做传感器标定和噪声建模——这一步省了,后面调试滤波器的日子会很难过。
嗯,传感器模型这块就聊到这儿。记住:模型是死的,但噪声是活的。实际系统中,噪声参数往往需要根据工况动态调整。这个咱们在后面的章节会详细讲。