四、标定板设计与制作
标定板这东西,看着简单,但坑特别多。我见过不少项目,算法调了半天,最后发现是标定板本身有问题。说白了,标定板就是相机的“尺子”,尺子不准,后面全白搭。
4.1 标定板类型怎么选?
四线扫相机常用的标定板,主流就两种:棋盘格和圆点阵。我个人的习惯是,根据应用场景来选,没有的好坏。
| 类型 | 优点 | 缺点 | 我常用的场景 |
|---|---|---|---|
| 棋盘格 | 角点检测算法成熟,速度快 | 边缘模糊时精度下降快,对光照敏感 | 实验室环境、高对比度场景 |
| 圆点阵 | 亚像素定位精度高,抗噪能力强 | 检测速度稍慢,需要圆心拟合 | 现场产线、光照不稳定环境 |
我记得有一次在汽车玻璃检测项目里,用了棋盘格,结果玻璃反光导致角点偏移了半个像素。后来换成圆点阵,问题就解决了。你想想看,半个像素在四线扫里意味着什么?可能就是0.02mm的误差。
我的建议: 如果现场光照可控,用棋盘格;如果光照复杂或者有反光,优先选圆点阵。别纠结,选错了后面改起来更麻烦。
4.2 精度要求与尺寸计算
标定板的精度,直接决定了标定结果的可靠性。我见过有人用打印纸随便打一张就开干,结果标定出来的参数偏差大得离谱。
这里有个核心公式,我一直在用:
标定板精度 ≥ 相机分辨率 × 3
举例:
相机像元尺寸 5μm,分辨率 4096 像素
标定板精度要求 ≤ 5μm × 3 = 15μm
说白了,标定板的制造误差,不能超过相机一个像素对应物理尺寸的三倍。否则标定出来的内参,误差会直接吃掉你的测量精度。
尺寸计算三步走
- 确定视场范围: 四线扫相机通常覆盖 200mm~600mm 宽度,标定板宽度要覆盖视场的 80% 以上。
- 确定特征点数量: 棋盘格建议 12×9 以上,圆点阵建议 15×11 以上。点太少,拟合出来的畸变模型不稳定。
- 计算单个格子/圆点尺寸: 用视场宽度除以特征点列数,再乘以 0.8~0.9(留边距)。
实战案例: 一个 300mm 视场的项目,我选了 15×11 的圆点阵,圆点直径 12mm,间距 18mm。标定板总尺寸 270mm×200mm,刚好覆盖视场。标定出来的重投影误差控制在 0.03 像素以内。
4.3 标定板安装与固定
嗯,这里要注意。标定板装不好,前面算得再准也没用。我踩过最大的坑,就是标定板没装平。
曾经的血泪教训: 有一次在产线上,标定板用双面胶贴在传送带上,结果贴歪了 0.5 度。标定出来的外参全是错的,花了整整两天排查。后来我规定:标定板必须用专用夹具固定,安装后要用水平仪打一遍。
安装要点清单
- 平面度: 标定板平面度误差 ≤ 0.05mm,最好用陶瓷或玻璃基板,别用亚克力(热胀冷缩太严重)。
- 垂直度: 标定板平面与相机光轴垂直,偏差不超过 0.1°。我习惯用激光十字线辅助对位。
- 固定方式: 推荐用真空吸附或机械压紧,别用磁吸(四线扫相机附近常有强磁场干扰)。
- 环境控制: 温度变化超过 ±5°C 时,重新标定一次。陶瓷基板的热膨胀系数约 2.5×10⁻⁶/°C,300mm 的板子温度变化 10°C,尺寸变化 7.5μm,这个误差不能忽略。
4.4 标定板设计流程总图
下面这张图,是我做标定板设计时的完整流程。每次做新项目,我都会按这个走一遍,基本不会漏东西。
4.5 避坑指南
最后,分享几个我踩过的坑,希望能帮你省点时间。
- 别用亚克力板: 热膨胀系数是玻璃的 5 倍,温度一变,标定板尺寸就变了。我吃过这个亏,标定完过半小时再测,参数全变了。
- 圆点阵别用实心圆: 用空心圆环,圆心提取精度更高。实心圆在光照不均匀时,重心会偏移。
- 标定板别太小: 至少覆盖视场的 80%,否则边缘畸变标定不出来。我见过有人用 1/3 视场的板子,标出来的畸变参数全是错的。
- 定期重新标定: 产线运行 3 个月以上,或者设备搬动过,必须重新标定。别偷懒,这个省不了。
总结一句话: 标定板是标定的基石。花在标定板上的时间和成本,会在后面十倍百倍地省回来。别在这上面省钱,真的不值得。