3、棋盘格标定板设计:从尺寸到公差,一个都不能少
棋盘格标定板,说白了就是双目视觉标定的“尺子”。
这把尺子准不准,直接决定了你的标定精度。我见过太多项目,算法调得再好,标定板设计一塌糊涂,最后标出来的参数根本没法用。今天咱们就聊聊,怎么设计一块靠谱的棋盘格标定板。
3.1 棋盘格尺寸计算:别拍脑袋,要算
很多人上来就问:“棋盘格做多大合适?”
我的回答是:看你的相机视野和分辨率。
这里有个经验公式,我个人用了好多年:
单个方格尺寸 = (视野宽度 × 0.1) / (内角点列数 - 1)
举个例子:
- 你的相机视野是 500mm 宽
- 你想用 9×7 的内角点(也就是 10×8 的棋盘格)
- 那么单个方格 ≈ (500 × 0.1) / (9 - 1) = 6.25mm
嗯,这里要注意:方格尺寸不能太小。我在项目中遇到过,有人用 2mm 的方格去标定大视野相机,结果角点提取全是噪声。为什么?因为每个方格在图像里就占几个像素,亚像素精度根本提不出来。
核心原则:每个方格在图像中至少占 20×20 像素。这是底线。
3.2 角点数量与分布:不是越多越好
角点数量,我建议控制在 50-200 个之间。
你想想看:
- 角点太少(比如 4×3),标定方程欠约束,畸变参数算不准
- 角点太多(比如 20×15),图像边缘的角点畸变太大,反而引入误差
我个人习惯用 9×7 或 11×8 的内角点布局。这个数量刚好覆盖整个视野,又不会让边缘角点太离谱。
避坑指南:我曾经用过一个 15×11 的棋盘格,边缘角点畸变严重,标定出来的重投影误差高达 0.8 像素。换成 9×7 后,误差直接降到 0.15 像素。别贪多。
3.3 黑白格对比度要求:亮暗分明
对比度不够,角点检测就飘。
我要求黑白格的灰度差至少 150(0-255 灰度范围)。说白了,白格要够白,黑格要够黑。
| 材料 | 白格反射率 | 黑格反射率 | 推荐度 |
|---|---|---|---|
| 亚光相纸 | ≥85% | ≤5% | ★★★★★ |
| 铝基板+油墨 | ≥70% | ≤8% | ★★★★ |
| 普通打印纸 | ≥80% | ≤15% | ★★★ |
| 亚克力喷绘 | ≥60% | ≤10% | ★★ |
为什么亚光相纸最好?因为它不反光。我在产线上吃过亏,用亮面材料做的标定板,灯光一打,白格变灰格,角点检测直接崩了。
3.4 制作公差控制:毫米级的讲究
棋盘格的制作公差,我分三个等级:
- 普通标定(比如机器人手眼标定):公差 ±0.1mm 就够了
- 高精度标定(比如 3D 测量):公差 ±0.05mm
- 科研级标定:公差 ±0.02mm,得用光刻工艺
怎么控制?
- 打印出来的棋盘格,用高精度尺子量 10 个方格的总宽度
- 总宽度误差 ÷10 = 单个方格的平均误差
- 如果误差超过 0.1mm,这张板子就别用了
警告:别信打印店的“高精度打印”。我测过好几家,号称 1200dpi 的打印,实际方格误差能到 0.3mm。一定要自己验证。
3.5 一张图看懂棋盘格设计流程
下面这张 SVG 图,是我总结的棋盘格设计核心逻辑:
3.6 我的个人经验总结
做了这么多年标定,我总结了几条铁律:
- 方格尺寸宁大勿小——小了角点提不准,大了还能裁剪视野
- 角点数量宁少勿多——50 个高质量角点,比 200 个带噪声的角点强
- 对比度宁高勿低——黑白分明是角点检测的命根子
- 公差宁严勿松——±0.05mm 是性价比最高的选择
最后说一句:标定板是消耗品。用久了会磨损、会翘曲、会脏。我建议每 3 个月换一块新的。别省这点钱,标定参数不准,后面全白干。
公众号:蓝海资料掘金营,微信deep3321