标定板设计原理:棋盘格与圆点阵列的对比、材质与精度要求、HALCON标准规格
标定板这东西,说白了就是相机的“尺子”。你拿一把不准的尺子去量东西,结果肯定一塌糊涂。我见过不少项目,算法调了半天,最后发现是标定板本身就不合格——白费功夫。
这一章咱们就聊聊标定板到底该怎么选、怎么用。棋盘格还是圆点阵?玻璃基板还是陶瓷基板?精度到底要多少?这些坑我都踩过,今天一并说清楚。
棋盘格 vs 圆点阵列:两种主流方案
先看一张对比图,帮你快速建立整体认知:
棋盘格:经典之选,但也有脾气
棋盘格是标定界的“老大哥”。HALCON 里 find_caltab 和 find_marks_and_pose 这两个算子,就是专门为它设计的。我个人习惯用棋盘格做第一轮粗标定,因为快——角点检测基本是毫秒级。
但有个问题很多人忽略:棋盘格的角点对图像模糊非常敏感。你想想看,角点是由四个黑白区域交汇形成的,一旦镜头有点离焦,边缘变模糊,角点位置就会往白色区域“漂移”。
所以用棋盘格时,记住三点:
- 保证高对比度:黑白格反射率差异至少 5:1
- 避免过曝:白色区域灰度值不要超过 230(8bit 图像)
- 保持清晰:边缘模糊宽度不要超过 2 个像素
圆点阵列:抗造,但定位麻烦
圆点阵列的优势在于圆心拟合。说白了,圆是旋转对称的,不管你怎么拍,圆心位置理论上不变。哪怕图像有点模糊,只要圆点轮廓还在,拟合出来的圆心偏差通常小于 0.05 像素。
我在一个高速运动场景的项目里用过圆点阵列——传送带上拍移动的 PCB 板,运动模糊不可避免。棋盘格根本没法用,角点全糊了。换成圆点阵列后,标定结果稳定多了。
但圆点阵列有个麻烦:如何确定每个圆点的编号?棋盘格靠角点顺序自然编号,圆点阵列不行——所有圆点长得一样。所以 HALCON 的圆点标定板会在四个角或中心区域加入“编码图案”,比如不同大小的圆点组合,用来唯一标识每个点的位置。
• 相机存在明显的运动模糊或离焦
• 视场角大于 60°,畸变严重
• 标定环境光照不均匀
否则,用棋盘格更省事。
标定板材质与精度要求
材质这东西,很多人觉得随便打印一张纸就行。嗯,我刚开始也这么干过,结果被现实狠狠教育了一回。
| 材质类型 | 热膨胀系数 (ppm/°C) | 平面度 (mm) | 适用场景 | 典型寿命 |
|---|---|---|---|---|
| 相纸/打印纸 | ~50 | ≥0.5 | 教学演示、快速验证 | 数天~数周 |
| PET 胶片 | ~20 | ≥0.2 | 实验室环境、中等精度 | 数月 |
| 玻璃基板 | ~8 | ≤0.05 | 工业检测、高精度测量 | 数年 |
| 陶瓷基板 | ~6 | ≤0.02 | 极端温度、超高精度 | 十年以上 |
看到这个表,你应该明白了:精度和材质是直接挂钩的。打印纸的热膨胀系数是玻璃的 6 倍多——车间温度变化 10°C,一张 A4 纸大小的标定板尺寸变化接近 0.1mm。对于像素当量在 0.01mm/pixel 级别的测量系统,这个误差是灾难性的。
HALCON 标准标定板规格
HALCON 官方提供了几种标准标定板规格,我直接列出来,方便你对照选型:
| 型号 | 图案类型 | 阵列尺寸 | 特征间距 (mm) | 板面尺寸 (mm) | 推荐视场 |
|---|---|---|---|---|---|
| CAL_30_30_7.5 | 棋盘格 | 7×7 | 7.5 | 60×60 | 50~100mm |
| CAL_50_50_10 | 棋盘格 | 7×7 | 10.0 | 80×80 | 80~200mm |
| CAL_100_100_12.5 | 棋盘格 | 7×7 | 12.5 | 100×100 | 150~400mm |
| CAL_200_200_20 | 棋盘格 | 7×7 | 20.0 | 160×160 | 300~800mm |
| CAL_300_300_25 | 棋盘格 | 11×11 | 25.0 | 300×300 | 500~1500mm |
| CAL_500_500_35 | 圆点阵列 | 11×11 | 35.0 | 420×420 | 800~3000mm |
这里有个关键点:特征间距的选择要和你的视场匹配。我一般遵循“标定板在图像中至少占 1/3 视场”的原则。举个例子,如果你的视场是 200mm×150mm,选 CAL_100_100_12.5 就刚好——标定板 100mm 边长,占视场的一半,特征点数量足够,又不会太小。
create_caltab 算子中自定义参数。但说实话,我建议尽量用标准板——省心,而且 HALCON 的标定算法对标准板有优化。
标定板使用中的常见误区
最后聊几个我见过最多的翻车现场:
- 标定板脏了还在用——指纹、油污会改变局部反射率,导致特征点检测偏移。清洁时用无尘布蘸无水乙醇,别用纸巾。
- 标定板没放平——尤其是大尺寸标定板,四个角不在同一平面。用塞尺检查,平面度超过 0.1mm 就要重新固定。
- 只用一张图标定——至少拍 10~15 张不同位姿的图像,覆盖视场的各个区域。我习惯拍 20 张,多花 5 分钟,省得后面返工。
- 忽略温度影响——如果标定环境和实际工作环境温差超过 5°C,建议在目标温度下标定。特别是用玻璃基板时,虽然热膨胀小,但也不是零。