1. 标定基础
1.1 先聊聊“标定”到底在干什么
相机标定,说白了就是给相机“量尺寸、定规矩”。
你买回来一个工业相机,镜头拧上,接上线,图像出来了。但这时候相机并不知道自己看到的物体有多大、在什么位置、有没有变形。它只是把光信号转成了像素矩阵。
标定要做的,就是建立“像素坐标”和“真实世界坐标”之间的数学关系。
我刚开始做视觉项目时,总觉得标定是可有可无的步骤。直到有一次,在一条手机中框检测线上,测出来的尺寸总是偏0.15mm。折腾了两天,最后发现是标定参数没更新——镜头换过,但标定文件还是旧的。嗯,从那以后,我再也不敢跳过标定了。
一句话总结:相机标定 = 求解相机内参 + 外参 + 畸变系数,让像素能换算成毫米。
1.2 为什么工业视觉必须做标定?
工业场景和日常拍照完全不同。你想想看,手机拍照时,畸变、透视、比例不对,人眼能自动脑补。但机器不行。
工业视觉要的是:可重复、可测量、可追溯。
具体来说,标定解决了三个核心问题:
- 像素当量换算:一个像素等于多少毫米?没有标定,你没法做精确测量。
- 畸变校正:镜头天生有畸变,尤其是广角和远心镜头。不校正,边缘的测量值全是错的。
- 空间定位:机械手抓取、对位贴合,需要知道物体在机器人坐标系下的位置。这靠的是外参标定。
| 应用场景 | 不标定的后果 | 标定后的效果 |
|---|---|---|
| 尺寸测量(如PCB焊盘检测) | 误差0.2~0.5mm,无法通过质检 | 精度可达0.01mm(配合高分辨率相机) |
| 定位引导(如机械手抓取) | 抓偏、撞机、损坏工件 | 定位误差<0.1mm,稳定运行 |
| 缺陷检测(如玻璃划痕) | 边缘畸变导致误检、漏检 | 全视野一致检测,误报率降低80% |
| 3D重建(如结构光扫描) | 点云扭曲,无法拼接 | 重建误差<0.05mm |
避坑提醒:我曾经见过一个项目,标定板用的是普通A4纸打印的,结果因为纸张受潮变形,标定出来的焦距偏差了3%。工业标定板必须用陶瓷或玻璃基板,热膨胀系数要匹配现场温度。
1.3 小孔成像模型——标定的物理根基
所有相机标定算法,追根溯源,都建立在小孔成像模型上。
这个模型很简单:光线从物体表面反射,穿过一个小孔(光心),在成像平面上形成倒立的像。
数学上,它可以用一个透视投影矩阵来描述:
s * [u, v, 1]^T = K * [R | t] * [X, Y, Z, 1]^T
其中:
[u, v]:像素坐标[X, Y, Z]:世界坐标K:内参矩阵(焦距、主点、像素尺寸)[R | t]:外参矩阵(旋转、平移)s:尺度因子
这个公式,就是标定的核心方程。所有标定算法,本质上都是在求解K和[R|t]。
我的经验:很多初学者只关注内参,忽略了外参。但在工业现场,外参才是最容易出问题的——相机稍微震动一下,外参就变了。我建议每次换产或维护后,至少做一次外参校验。
1.4 小孔成像模型的局限性
理想很丰满,现实很骨感。小孔模型假设光线是直线传播的,但实际镜头有:
- 径向畸变:光线通过透镜边缘时弯曲,导致图像桶形或枕形变形
- 切向畸变:镜头和成像平面不平行,导致图像倾斜
- 薄棱镜畸变:镜头制造误差引起的不规则变形
所以,实际标定要在小孔模型基础上,加上畸变校正模型。最常用的是Brown-Conrady模型:
x_distorted = x * (1 + k1*r^2 + k2*r^4 + k3*r^6) + [2*p1*x*y + p2*(r^2 + 2*x^2)]
y_distorted = y * (1 + k1*r^2 + k2*r^4 + k3*r^6) + [p1*(r^2 + 2*y^2) + 2*p2*x*y]
其中k1、k2、k3是径向畸变系数,p1、p2是切向畸变系数。
注意:畸变系数不是越多越好。我见过有人用5阶径向畸变模型,结果过拟合,标定误差反而更大。工业场景,一般用2~3阶径向 + 2阶切向就足够了。
1.5 标定的知识体系总览
下面这张图,把标定的核心知识结构串起来了。你可以把它当作整个课程的“地图”。
1.6 标定的工程流程
在实际项目中,标定不是一次性的。它是一套完整的流程:
- 准备标定板:选择棋盘格或圆点阵,尺寸要覆盖视场1/3以上
- 采集图像:在不同角度、不同位置拍摄15~25张图像
- 提取角点:用亚像素算法提取特征点坐标
- 求解参数:用最小二乘法或LM优化求解内参、外参、畸变系数
- 重投影验证:计算重投影误差,一般要求<0.1像素
- 保存参数:将标定结果写入配置文件或相机固件
我的习惯:每次标定完,我都会拍一张标定板放在实际工作距离上,然后用标定参数反算尺寸,和实际值对比。这叫“闭环验证”,能发现很多隐藏问题。
1.7 本章小结
相机标定,是工业视觉的第一道门槛。没有准确的标定,后面的测量、定位、检测都是空中楼阁。
这一章我们讲了:
- 标定的本质:建立像素到物理世界的映射
- 工业场景为什么必须标定:精度、畸变、定位
- 小孔成像模型:标定的数学根基
- 畸变模型:从理想到现实的修正
- 标定的工程流程:从准备到验证