课程导论与预备知识:什么是外参标定?为什么需要标定?

大家好,我是你们这门课的主讲人。

先聊点实在的。你想想看,一辆自动驾驶车上,激光雷达和相机各司其职。激光雷达能精确测距,但没颜色信息;相机看得清红绿灯、车道线,但不知道物体到底离你多远。这两兄弟要是配合不好,车就相当于一个近视眼加色盲——你说危险不危险?

外参标定,说白了就是给它们俩「牵红线」。让激光雷达的每一个点,都能准确投影到相机的像素上。我当年刚入行时,觉得这事不就是调几个参数嘛,结果第一次实车测试,点云投影到图像上歪了半个车身——嗯,从那以后我再也不敢小看标定了。

1.1 什么是外参标定?

外参,全称是「外部参数」。它描述的是两个传感器之间的相对位置和姿态关系。

具体来说,我们需要求解一个 旋转矩阵 R 和一个 平移向量 t。有了这俩,就能把激光雷达坐标系下的点 (x, y, z),变换到相机坐标系下,再通过相机内参投影到图像上。

核心公式(记住这个就行):

P_cam = R * P_lidar + t

其中:

  • P_lidar:激光雷达坐标系下的3D点
  • R:3x3 旋转矩阵
  • t:3x1 平移向量
  • P_cam:相机坐标系下的3D点

你可能要问:为什么是6个自由度?因为三维空间里,一个刚体有3个旋转自由度(俯仰、偏航、翻滚)和3个平移自由度(x、y、z)。我习惯把这6个参数叫做「传感器的身份证」——每个传感器组合都有自己独一无二的一组值。

1.2 为什么需要标定?

这个问题,我直接用项目里的血泪史回答你。

场景一:感知融合
有一次,我们做目标检测融合。相机检测到前方有个行人,激光雷达也检测到同一个行人。但因为外参不准,两个目标在空间上差了30厘米。融合算法认为这是两个不同目标,结果车直接急刹车——乘客的咖啡洒了一身。你说这标定重不重要?

场景二:BEV感知
现在流行的鸟瞰图感知,需要把相机特征投影到地平面。外参差1度,投影误差在50米外能差出将近1米。车道线直接对不上,车就压线跑了。

场景三:建图定位
高精地图构建时,激光雷达和相机的数据要叠加。外参不准,地图里的杆子就是重影的。定位算法一看,嗯?这杆子怎么有两根?直接懵了。

避坑指南(我踩过的坑):

我曾经在量产项目上,因为标定板没贴平,导致外参误差0.2度。结果路测时,车辆在隧道里频繁误识别——隧道墙壁上的点云投影到图像上,跟实际位置差了5个像素。排查了整整两天,最后发现是标定板变形了。从那以后,我每次标定前都会先检查标定板的平整度。

1.3 传感器融合概述

传感器融合,不是简单地把数据堆在一起。它分三个层次:

融合层次 输入数据 典型方法 外参精度要求
数据级融合 原始点云 + 原始图像 点云投影到图像、RGB点云 极高(< 0.1°)
特征级融合 点云特征 + 图像特征 BEV特征融合、注意力机制 高(< 0.3°)
目标级融合 检测框 + 跟踪轨迹 匈牙利匹配、卡尔曼滤波 中等(< 0.5°)

我个人经验是:外参精度决定了融合的上限。算法再牛,外参不准也是白搭。你想想看,数据级融合要求最高,因为像素级的对齐不能有半点马虎;目标级融合相对宽松,因为检测框本身就有一定大小,允许小误差。

1.4 课程目标与学习路径

这门课的目标很明确:让你从零到一,亲手完成一套激光雷达与相机的外参标定。

具体来说,学完这门课,你能做到:

  • 理解外参标定的数学原理,不再害怕旋转矩阵和李群李代数
  • 掌握至少3种标定方法:基于标定板、基于自然特征、基于在线优化
  • 能独立编写标定代码,处理实车数据中的各种异常情况
  • 知道如何评估标定精度,以及如何在实际项目中调试

学习路径我建议这样走:

  1. 打好数学基础(第1-3章):坐标系变换、旋转表示、优化理论
  2. 动手做标定(第4-15章):从最简单的棋盘格标定,到多传感器联合标定
  3. 进阶与实战(第16-25章):在线标定、自动标定、标定质量评估
  4. 项目实战(第26-30章):完整项目流程,从数据采集到部署

我的学习建议:

别急着看代码。先把坐标系变换搞明白。我见过太多人,一上来就调OpenCV的solvePnP,结果参数调出来也不知道对不对。先理解原理,再动手写代码,事半功倍。

好了,第一章就到这里。记住一句话:外参标定是传感器融合的基石。这块地基打不牢,上面的楼盖得再高也是危房。

外参标定知识体系 外参标定 数学基础:坐标系变换 旋转矩阵 / 四元数 李群李代数 优化理论 标定方法 基于标定板 基于自然特征 在线标定 应用:感知融合 / BEV / 建图 原理 方法 落地

可可精品资料库