1. 课程导论:什么是图像畸变?相机标定的核心思想与工程价值

大家好,欢迎来到《图像畸变校正与相机标定实战》的第一章。

我是这门课的主讲。在计算机视觉领域摸爬滚打了十几年,我踩过最多的坑,就是“相机没标好”。

你想想看,一个视觉项目,从算法设计到落地部署,花了好几个月。结果一上真实场景,检测框对不准、测量尺寸差几厘米、三维重建出来全是扭曲的……

嗯,十有八九,问题出在相机标定这一步。

所以,咱们这门课的第一章,先把基础打牢。什么是图像畸变?为什么要做相机标定?它在工程里到底值多少钱?

搞明白这些,后面的路才走得稳。

1.1 什么是图像畸变?

说白了,图像畸变就是相机拍出来的照片“变形”了。

理想情况下,我们希望相机像小孔成像一样,光线笔直穿过,投影到传感器上。但现实中的镜头是一堆透镜的组合。光线经过透镜时会发生折射,导致实际成像位置和理想位置产生偏移。

这种偏移,就是畸变。

核心结论:畸变是镜头的物理缺陷,不是算法能完全消除的,但我们可以通过标定来“补偿”它。

畸变主要分两类:径向畸变和切向畸变。

1.1.1 径向畸变

这是最常见的一种。光线在镜头边缘弯曲得比中心厉害。我习惯把它叫做“鱼眼效应”。

  • 桶形畸变:图像向外膨胀,像木桶一样。常见于广角镜头。
  • 枕形畸变:图像向内收缩,像枕头一样。常见于长焦镜头。

我在项目中遇到过最夸张的一次,是用一个廉价USB摄像头做车道线检测。图像边缘的车道线直接弯成了弧形。如果不做校正,算法根本没法用。

1.1.2 切向畸变

这个稍微绕一点。它是因为镜头和成像平面不平行造成的。说白了,就是镜头装歪了。

切向畸变会让图像中的直线变成斜线,或者产生梯形变形。在工业相机安装时,如果固定支架有公差,就容易出现这个问题。

畸变类型 产生原因 典型表现 常见场景
径向畸变(桶形) 光线在透镜边缘弯曲更大 图像向外膨胀 广角镜头、手机前置摄像头
径向畸变(枕形) 光线在透镜边缘弯曲更小 图像向内收缩 长焦镜头、望远镜
切向畸变 镜头与成像平面不平行 直线变斜线、梯形变形 工业相机安装偏差、手机镜头模组公差

1.2 相机标定的核心思想

相机标定,到底在干什么?

我个人理解,它就是在做一件事:建立从“三维世界”到“二维图像”的映射关系。

这个映射关系,由一组参数来描述。我们把这组参数叫做相机参数。

相机参数分两类:

  • 内参:描述相机本身的特性。比如焦距、主点坐标、畸变系数。这些参数决定了光线如何在相机内部投影。
  • 外参:描述相机在世界坐标系中的位置和朝向。也就是旋转矩阵和平移向量。

标定的过程,就是通过拍摄已知尺寸的标定板(比如棋盘格),然后解算出这组参数。

一个小技巧:我建议初学者先用棋盘格标定板。它的角点检测算法非常成熟,鲁棒性高。圆点标定板虽然精度更高,但对光照和遮挡更敏感。

标定的数学本质,其实是一个最优化问题。我们通过最小化重投影误差,来找到最优的相机参数。

重投影误差是什么?

简单说,就是:我们把三维空间中的点,通过当前估计的相机参数投影到图像上,得到一个预测位置。这个预测位置和实际检测到的位置之间的像素距离,就是重投影误差。

误差越小,说明参数越准。

注意:重投影误差不是越小越好。如果误差小到0.01像素以下,反而要警惕过拟合。我见过有人把误差压到0.001像素,结果换一个场景就崩了。标定追求的是泛化能力,不是训练集上的极致精度。

下面这张图,展示了相机标定的核心逻辑流程:

相机标定核心逻辑流程图 拍摄标定板图像 角点/特征点检测 建立2D-3D对应关系 求解相机参数 最小化重投影误差 输出内参/外参/畸变系数 迭代优化,直到收敛 💡 核心思想: 通过已知3D点(标定板)和检测到的2D点,反向求解相机内参、外参和畸变系数。

1.3 相机标定的工程价值

说了这么多理论,它到底能解决什么实际问题?

我随便举几个例子,你就明白了。

1.3.1 三维重建与测量

这是最直接的应用。没有标定,你从图像里算出来的三维坐标全是错的。

我记得有一次做工业零件尺寸检测。客户要求精度0.1mm。我们用了高分辨率工业相机,镜头也是进口的。结果测出来总是偏0.3mm左右。

查了两天,最后发现是相机标定文件里,主点坐标差了5个像素。重新标定后,精度直接达标。

你看,一个标定参数,决定了整个项目的成败。

1.3.2 视觉SLAM与自动驾驶

在自动驾驶里,相机标定是感知系统的基石。

多相机系统的外参标定,决定了不同相机之间的空间关系。如果外参标不准,融合出来的障碍物位置会前后矛盾。

我曾经参与过一个园区无人车的项目。前视相机和侧视相机的外参差了2度。结果车在转弯时,检测到的行人位置跳来跳去。最后重新做了联合标定,问题才解决。

1.3.3 增强现实(AR)

AR的核心,是把虚拟物体“锚定”在真实世界里。这需要精确的相机位姿估计。

而位姿估计的前提,就是相机内参已经标定好了。

你玩手机AR应用时,觉得虚拟物体“粘”在桌面上很稳。这背后,是相机标定在默默工作。

应用领域 标定的作用 不标定的后果
工业测量 提供精确的像素-物理尺寸映射 测量误差大,无法满足公差要求
自动驾驶 多传感器空间对齐,障碍物定位 感知结果不一致,决策错误
AR/VR 虚拟物体与真实场景精确融合 虚拟物体漂移,沉浸感差
视觉SLAM 提供准确的相机运动估计 轨迹漂移严重,地图构建失败
安防监控 图像畸变校正,全景拼接 画面扭曲,目标跟踪丢失

1.4 本章小结

好,我们来快速回顾一下这一章的核心内容:

  • 图像畸变是镜头物理缺陷导致的成像变形,主要分径向畸变和切向畸变。
  • 相机标定的本质,是求解从三维世界到二维图像的映射参数(内参、外参、畸变系数)。
  • 工程价值体现在测量、定位、融合、重建等几乎所有视觉任务中。标定不准,后续一切免谈。

一句话总结:相机标定是计算机视觉的“第一性原理”。你花在标定上的时间,会在项目后期十倍百倍地省回来。

下一章,我们会深入相机成像的数学模型。我会带你手推一遍投影公式,把内参矩阵、外参矩阵、畸变模型彻底讲透。

准备好了吗?我们继续。