感知模块联调避坑指南 - 第2节

一、传感器标定:为什么这是联调的第一道坎?

做感知模块联调,我踩过最大的坑是什么?

说出来你可能不信——是传感器标定。

有一次,我们团队花了两周时间排查融合结果不准的问题。最后发现,摄像头和激光雷达的外参差了 2 厘米。就这 2 厘米,让整个感知系统像喝醉了酒一样,目标位置永远对不上。

所以,标定这件事,我建议你从一开始就认真对待。别等到联调出问题了再回头补课,那代价太大了。

核心观点:标定是感知系统的"地基"。地基歪了,上面盖的房子再漂亮也没用。

二、内参标定:摄像头自己的"体检报告"

2.1 什么是内参?

内参,说白了就是摄像头自己的"身体数据"。包括焦距、主点坐标、畸变系数这些。每个摄像头出厂时都不一样,甚至同一个型号的两颗摄像头,内参也有细微差别。

我见过有人直接拿厂家给的参数用,结果呢?投影误差大得离谱。厂家给的是"平均脸",不是"你的脸"。

2.2 内参标定的核心参数

参数 含义 常见问题
fx, fy 焦距(像素单位) 标定板距离太近或太远,导致焦距不准
cx, cy 主点坐标 图像裁剪后忘记更新主点
k1, k2, k3 径向畸变系数 鱼眼镜头需要更多参数,别用针孔模型硬套
p1, p2 切向畸变系数 镜头装配偏差导致,一般数值较小

2.3 内参标定的常见坑

  • 标定板不够大:我曾经用 A4 纸打印的棋盘格标定广角摄像头,结果边缘畸变根本标不准。后来换了 1.2m×0.9m 的大板子,效果立竿见影。
  • 图片数量不够:至少 20 张,覆盖各个角度和位置。别偷懒,我见过有人拍 5 张就敢标定,结果重投影误差 0.8 像素,根本不能用。
  • 忽略标定板平整度:打印的棋盘格贴在硬板上,别贴软板上。弯曲的标定板会让内参标定结果"漂移"。

我的习惯:内参标定完成后,我会用一张棋盘格图片做"反投影验证"——把标定板角点投影回图像,看误差是否在 0.3 像素以内。超过这个值,我会重新标定。

三、外参标定:让传感器"对齐"坐标系

3.1 外参到底在标什么?

外参标定,就是求两个传感器之间的旋转矩阵 R 和平移向量 t。比如摄像头和激光雷达,它们各自有自己的坐标系,外参就是告诉系统:激光雷达看到的一个点,在摄像头图像里对应哪个像素。

你想想看,如果这个对应关系错了,融合出来的目标位置能对吗?

3.2 外参标定的几种方法

  • 基于标定板的方法:用棋盘格或 ArUco 板,同时被两个传感器看到。这是最可靠的方法,我推荐新手从这里入手。
  • 基于自然特征的方法:用场景中的角点、边缘等特征做匹配。适合在线标定,但精度不如标定板。
  • 基于手眼标定的方法:适合机械臂上的传感器,通过运动约束求解外参。

3.3 外参标定的避坑指南

我曾经在标定摄像头和激光雷达的外参时,发现重投影误差总是很大。排查了两天,最后发现是激光雷达的点云时间戳和图像时间戳没对齐。传感器数据不同步,标定结果怎么可能准?

所以,标定前一定要确认:

  • 两个传感器的数据是否时间同步?
  • 标定板是否在两个传感器的视野内?
  • 标定板是否足够大,能覆盖整个视场?

警告:外参标定不是一次性的。传感器受到震动、温度变化后,外参可能会漂移。我建议每次联调前都做一次快速验证,用几帧数据检查重投影误差是否在合理范围内。

四、标定板选择:别小看这块板子

4.1 常见标定板类型

类型 适用场景 优缺点
棋盘格 摄像头内参、摄像头-摄像头外参 简单可靠,但角点检测受光照影响大
ArUco 码 摄像头-激光雷达外参、单目位姿估计 自带 ID,支持多板同时使用,但精度略低于棋盘格
圆形标定板 激光雷达标定 圆形中心检测精度高,但需要特殊处理
AprilTag 高精度位姿估计 编码鲁棒性好,适合远距离标定

4.2 我的标定板选择经验

我个人习惯:

  • 摄像头内参标定:用棋盘格,格子数量 9×7 或 11×8,格子大小 30-50mm。
  • 摄像头-激光雷达外参:用 ArUco 板,因为激光雷达能检测到板的边缘,ArUco 码的角点检测更稳定。
  • 多摄像头系统:用 AprilTag,每个摄像头看到不同的 Tag ID,方便自动匹配。

小技巧:标定板不要用反光材料。我吃过这个亏——用亚克力板做的标定板,在强光下反光严重,角点检测全乱了。后来改用哑光喷漆的铝板,问题解决。

五、标定流程:一步一步来,别跳步

5.1 标准标定流程

  1. 准备阶段:固定传感器,布置标定板。确保标定板平整、无遮挡。
  2. 数据采集:移动标定板,覆盖不同位置和角度。采集 20-30 帧数据。
  3. 内参标定:先标定每个摄像头的内参。这一步不能省,外参标定依赖内参。
  4. 外参标定:用标定板上的特征点,求解传感器之间的 R 和 t。
  5. 验证:用新的数据验证标定结果。重投影误差、点云投影误差都要检查。

5.2 标定流程中的常见问题

  • 数据采集不充分:标定板只在一个平面内移动,导致外参求解退化。我建议标定板在三维空间内移动,包括前后、左右、上下、旋转。
  • 忽略传感器同步:摄像头和激光雷达的数据时间戳不对齐,标定结果会引入额外误差。
  • 验证不充分:只用标定数据验证,没有用独立数据验证。这就像考试时用原题做练习,成绩不能反映真实水平。

我的经验:标定完成后,我会用一组"挑战数据"做验证——比如标定板放在视野边缘、倾斜角度大、光照变化大的场景。如果这些场景下误差仍然可控,我才认为标定合格。

六、标定知识体系总览

下面这张图,是我自己总结的标定知识体系。你可以把它当作一个"检查清单",每次标定时对照着看,避免遗漏。

传感器标定知识体系 传感器标定 内参标定 焦距 fx, fy 主点 cx, cy 畸变系数 k1,k2,k3 外参标定 旋转矩阵 R 平移向量 t 时间同步 标定板选择 棋盘格 ArUco 码 AprilTag 标定流程:准备 → 数据采集 → 内参标定 → 外参标定 → 验证 常见问题:数据不足 | 时间不同步 | 验证不充分 | 标定板不平整 避坑指南:重投影误差 < 0.3px | 独立数据验证 | 定期复检

七、总结

传感器标定这件事,说难不难,说简单也不简单。关键是要理解每个参数的含义,知道哪些坑容易踩,以及如何验证标定结果是否可靠。

我个人觉得,标定就像给传感器"配眼镜"——配得准了,整个世界都清晰;配不准,看什么都重影。所以,别嫌麻烦,每一步都认真做,联调的时候你会感谢自己的。

最后一句:标定不是一次性的工作。传感器在使用过程中会老化、受震动、温度变化,外参会漂移。我建议每隔一段时间做一次快速验证,确保标定参数仍然有效。

可可精品资料库