3. 标定板的选择:陶瓷标定板与玻璃标定板、棋盘格与圆点阵、标定板尺寸与精度要求
标定板选错了,后面所有工作都是白费。这话听起来有点,但我在项目里确实见过不少因为标定板没选对,导致标定结果反复飘移的案例。今天咱们就把这件事彻底聊透。
3.1 材质之争:陶瓷 vs 玻璃
先解决最基础的问题——标定板用什么材料做的?市面上主流就两种:陶瓷和玻璃。它们各有各的脾气。
| 对比项 | 陶瓷标定板 | 玻璃标定板 |
|---|---|---|
| 热膨胀系数 | 低(约 6-8 ppm/°C) | 极低(约 0.5-1 ppm/°C) |
| 表面硬度 | 高,耐刮擦 | 中等,易碎 |
| 反光特性 | 漫反射为主 | 镜面反射明显 |
| 适用光源 | 环形光、条形光均可 | 需搭配同轴光源或背光 |
| 典型精度 | ±1-2 μm | ±0.5-1 μm |
| 价格 | 适中 | 较贵 |
陶瓷标定板是我个人用得最多的。为什么?因为它皮实。现场环境复杂,操作人员不一定都经过严格培训,陶瓷板掉地上最多磕个角,玻璃板可能直接就碎了。而且陶瓷表面是漫反射,对光源角度不敏感,用环形光就能拍出清晰的图案。
玻璃标定板精度更高,但娇气。我记得有个项目做半导体晶圆检测,要求标定精度达到亚微米级,陶瓷板的热膨胀已经不能满足要求了,只能上玻璃板。但玻璃板必须配同轴光源,否则表面反光会让你怀疑人生。
3.2 图案选择:棋盘格 vs 圆点阵
图案选哪个?这问题我当年也纠结过。后来做多了发现,其实没有的好坏,关键看你的应用场景。
棋盘格
棋盘格的优势在于角点检测非常成熟。OpenCV 的 findChessboardCorners 函数经过十几年优化,稳定性和速度都没得说。而且棋盘格的角点位置是亚像素精度的,理论上可以达到 0.1 像素的定位精度。
但棋盘格有个坑——方向歧义性。你想想看,一个黑白相间的格子,旋转 90 度后看起来几乎一样。这就导致标定时如果标定板放反了,算法可能检测到错误的角点顺序。我曾经在一个项目里因为这个原因,标定结果一直收敛不了,折腾了两天才发现是标定板方向搞反了。
圆点阵
圆点阵就没有方向歧义的问题。圆心的位置是唯一的,不管你怎么旋转,算法都能正确识别。而且圆点阵对畸变的敏感度更低,特别适合广角镜头或大视场角的线扫相机。
但圆点阵也有自己的问题——椭圆拟合误差。当标定板倾斜时,圆形投影会变成椭圆,圆心位置会偏移。这个偏移量虽然可以通过算法补偿,但总归是多了一个误差源。
| 特性 | 棋盘格 | 圆点阵 |
|---|---|---|
| 角点/圆心检测 | 成熟稳定 | 需椭圆拟合 |
| 方向歧义 | 有 | 无 |
| 畸变敏感度 | 中等 | 较低 |
| 亚像素精度 | 0.1 px 级别 | 0.2-0.3 px 级别 |
| 适用场景 | 常规线扫、面阵 | 大畸变、高精度 |
3.3 尺寸与精度:选多大?多准?
标定板的尺寸和精度,直接决定了标定结果的可靠性。这里有几个硬指标,我建议你记下来。
尺寸选择原则
标定板的有效区域,至少覆盖相机视场的 1/3 到 1/2。太小了,边缘畸变校正不准确;太大了,操作不方便,而且大尺寸标定板本身的平面度很难保证。
举个例子:如果你的线扫相机视场是 100mm,标定板的有效宽度应该在 35-50mm 之间。我习惯取中间值 40%,也就是 40mm 左右。
精度要求
标定板的精度,通常用「图案位置公差」来衡量。这个值应该比你的检测精度要求高一个数量级。
| 检测精度要求 | 标定板精度要求 | 推荐标定板等级 |
|---|---|---|
| ±10 μm | ±1 μm | 标准级 |
| ±5 μm | ±0.5 μm | 精密级 |
| ±1 μm | ±0.1 μm | 超精密级(玻璃) |
3.4 知识结构图
下面这张图把标定板选择的整个决策流程串起来了,你可以对照着看。
3.5 避坑指南
最后分享几个我踩过的坑,希望能帮你省点时间。
- 标定板脏了别用酒精擦。 陶瓷板还好,玻璃板的镀膜层很容易被酒精腐蚀。用无尘布蘸纯水轻轻擦拭就行。
- 别用手直接摸标定板表面。 手上的油脂会改变局部反光特性,导致标定图像出现异常亮斑。我见过有人用手摸完标定板,结果标定出来的畸变参数全是错的。
- 标定板要定期校验。 陶瓷板用久了,表面的图案会磨损。建议每半年用高精度测量设备校验一次,如果图案位置偏差超过标称精度的两倍,就该换了。
- 别买太便宜的标定板。 市面上有些几十块钱的标定板,图案是用喷墨打印的,精度根本没法保证。你想想看,标定板本身都不准,标定出来的结果能准吗?