标定板设计与制作:棋盘格与圆点阵的选择
标定板这东西,说白了就是给相机看的「尺子」。你想想看,相机标定的本质,就是通过已知空间坐标的点和图像坐标的对应关系,反推出相机内外参数。所以标定板的质量,直接决定了标定结果的精度。
我个人习惯把标定板分为两大类:棋盘格和圆点阵。它们各有各的脾气,选错了后面会吃不少苦头。
棋盘格 vs 圆点阵:怎么选?
先说说棋盘格。这是最经典、最常用的标定图案。黑白格子交替排列,角点检测算法非常成熟。OpenCV 里那个 findChessboardCorners 函数,我用过不下几百次。
圆点阵呢?它用圆形作为特征点。圆心检测的精度理论上比角点更高,因为圆形是亚像素级别的对称特征。但这里有个坑——
| 对比项 | 棋盘格 | 圆点阵 |
|---|---|---|
| 检测算法成熟度 | 极高,OpenCV 原生支持 | 较高,需额外处理 |
| 角点/圆心精度 | 亚像素级(角点) | 亚像素级(圆心) |
| 透视畸变影响 | 较小 | 较大 |
| 光照适应性 | 好,黑白对比明显 | 一般,反光时边缘模糊 |
| 制作难度 | 低,打印即可 | 中,需保证圆形均匀 |
| 适用场景 | 通用标定、大角度拍摄 | 高精度、小角度拍摄 |
我的建议是:如果你是第一次做标定,或者相机视角变化范围大,优先选棋盘格。如果你对精度有极致要求,且相机基本正对标定板,可以试试圆点阵。
图案尺寸与精度要求
这里有个公式要记住:标定板上的特征点间距,应该覆盖整个视场角的 1/3 到 2/3。太小了,标定结果不稳定;太大了,边缘区域没有特征点,畸变校正会出问题。
举个例子。假设你的相机分辨率是 1920×1080,视场角 60°。那么标定板上的格子边长建议在 20mm-40mm 之间。我一般用 30mm 的棋盘格,内角点数量选 9×6 或 11×8。
精度方面,标定板的制造误差要控制在 0.1mm 以内。你想想看,如果格子边长标称 30mm,实际是 30.5mm,那标定出来的焦距就会偏 1.6% 左右。对于高精度测量来说,这个误差不可接受。
打印与粘贴规范
打印标定板,我踩过不少坑。这里直接给清单:
- 纸张选择:用哑光相纸或高光相纸。普通 A4 纸太软,容易褶皱,而且反光严重。
- 打印精度:至少 600 DPI。1200 DPI 更好。打印前用尺子量一下实际尺寸,确认没有缩放。
- 粘贴基板:用 3mm 厚的亚克力板或铝板。不要用纸板,纸板会受潮变形。
- 粘贴方法:喷胶或双面胶。关键是保证标定板完全平整,不能有气泡或褶皱。
- 保护措施:如果经常使用,建议覆一层哑光膜。我有一块标定板用了两年,边角都磨白了,但中间区域依然可用。
不同光照条件下的材质选择
光照是标定过程中最容易被忽视的因素。你想想看,如果标定板表面反光,角点检测就会失败。
我根据光照条件,把材质选择分成三种情况:
| 光照条件 | 推荐材质 | 原因 |
|---|---|---|
| 室内均匀光 | 哑光相纸 + 亚克力板 | 成本低,效果稳定 |
| 室外自然光 | 哑光铝板(阳极氧化) | 耐候性好,不反光 |
| 强光/逆光 | 漫反射陶瓷板 | 几乎零反光,但价格高 |
室内环境最简单。我一般用哑光相纸打印,贴在亚克力板上。注意不要用高光相纸,那玩意在灯光下就是一面镜子。
室外环境就麻烦了。自然光变化大,而且可能有反光。我建议用哑光铝板,表面做阳极氧化处理。这种材质不反光,而且耐水耐晒。我在户外做过一次标定,从早上 8 点拍到下午 5 点,标定板一直放在三脚架上,结果数据依然可用。
强光或逆光场景,比如在车间里对着窗户拍,标定板上的黑白格会严重过曝。这时候只能用漫反射陶瓷板。这种板子表面有微结构,能把光线均匀散射。当然,价格也感人——一块 A3 大小的陶瓷标定板,可能要上千块。
标定板设计流程
下面这张图是我自己总结的标定板设计流程,你可以照着走一遍:
嗯,流程走完,标定板就设计好了。最后再啰嗦一句:标定板做好后,一定要用高精度尺子实测每个格子的尺寸。打印机的缩放误差是真实存在的,我见过最离谱的一次,打印出来的格子比设计值小了 2%。
- 棋盘格通用性强,圆点阵精度高但挑场景
- 格子尺寸覆盖视场角的 1/3 到 2/3
- 制造误差控制在 0.1mm 以内
- 哑光材质优先,避免反光
- 做好后实测尺寸,不要相信打印设置