4、标定板设计:棋盘格、圆点阵、Charuco板的优缺点对比,以及选型实战建议
做视觉标定这么多年,我见过太多人在标定板选型上栽跟头。有人买了高精度陶瓷板,结果现场用不了;有人用A4纸打印棋盘格,精度却怎么也提不上去。说白了,标定板选型这件事,没有绝对的好坏,只有合不合适。
今天我就把三种主流标定板——棋盘格、圆点阵、Charuco板——掰开揉碎了讲清楚。我会结合自己踩过的坑,给你一些实实在在的选型建议。
4.1 棋盘格标定板:最经典,也最容易被低估
棋盘格大家都不陌生。黑白相间的方块,角点检测算法成熟,OpenCV里直接调 findChessboardCorners 就行。我最早做相机标定时用的就是它,那时候觉得这东西太简单了,没什么好研究的。
后来我才发现,简单的东西往往藏着坑。
棋盘格的核心优势:
- 角点检测算法极其成熟,OpenCV、Halcon、VisionPro都原生支持
- 角点坐标是亚像素级的,精度高
- 黑白对比明显,对光照要求相对宽松
- 制作成本低,打印出来就能用
但它的缺点也很明显。棋盘格的角点检测要求整张棋盘格都在视野内,不能有遮挡。我在一个项目中遇到过,机械臂抓取工件时刚好挡住了棋盘格的一角,结果标定直接失败。嗯,这里要注意——棋盘格对部分遮挡是零容忍的。
另外,棋盘格对镜头畸变比较敏感。如果镜头畸变很大,棋盘格边缘的方块会严重变形,角点检测的精度就会下降。你想想看,一个本来应该是正方形的格子,在图像里变成了梯形,角点位置还能准吗?
| 特性 | 棋盘格 |
|---|---|
| 检测算法成熟度 | ★★★★★ |
| 抗遮挡能力 | ★☆☆☆☆ |
| 畸变适应性 | ★★★☆☆ |
| 制作成本 | 极低 |
| 适用场景 | 实验室、固定工位、无遮挡环境 |
4.2 圆点阵标定板:抗遮挡能力强,但有个致命弱点
圆点阵标定板,说白了就是用一排排圆点代替棋盘格。它的核心优势是——即使部分圆点被遮挡,剩下的圆点依然可以用来标定。
我记得有一次在汽车产线上做标定,现场空间狭小,标定板只能斜着放。用棋盘格试了好几次都检测不到角点,换成圆点阵一次就过了。为什么?因为圆点阵的检测算法是基于圆心的,只要能看到足够多的圆点,就能计算出标定参数。
但圆点阵有个致命弱点——圆心提取精度受透视变形影响大。当标定板倾斜角度较大时,圆在图像中会变成椭圆,圆心位置的计算就会产生偏差。我曾经做过对比实验,在同样倾斜30度的情况下,圆点阵的标定误差比棋盘格大了将近一倍。
避坑指南:
我曾经在一个项目中,用圆点阵标定后做测量,结果总是偏0.2mm。排查了两天才发现,是标定板倾斜角度太大导致的圆心偏移。后来我换成了Charuco板,问题就解决了。
所以,如果你需要高精度标定,且标定板无法保证完全正对相机,慎用圆点阵。
| 特性 | 圆点阵 |
|---|---|
| 检测算法成熟度 | ★★★★☆ |
| 抗遮挡能力 | ★★★★★ |
| 畸变适应性 | ★★☆☆☆ |
| 制作成本 | 低 |
| 适用场景 | 大视野、有遮挡、对精度要求不极端 |
4.3 Charuco板:棋盘格和ArUco码的结合体,我的最爱
Charuco板是我个人最推荐的一种标定板。它把棋盘格的角点和ArUco码的编码信息结合在了一起。每个格子内部都有一个唯一的编码,这样即使部分区域被遮挡,也能通过编码信息推断出缺失的角点位置。
说白了,Charuco板既有棋盘格的精度,又有圆点阵的抗遮挡能力。而且它还有一个隐藏优势——支持单张图片标定。传统的棋盘格标定需要拍摄多张不同角度的图片,而Charuco板因为每个角点都有唯一ID,理论上单张图片就能完成标定。
我的实战经验:
在自动化产线上,我最常用的是7x7的Charuco板,每个格子边长30mm。这个尺寸在大多数工业相机视野里都能覆盖15-20个角点,标定精度足够。而且Charuco板的检测速度很快,在嵌入式平台上也能跑到30fps以上。
当然,Charuco板也有缺点。它的制作比棋盘格复杂,需要生成ArUco码并打印。而且如果ArUco码的字典选择不当,可能会出现误检测。我建议使用 DICT_6X6_250 这个字典,它在鲁棒性和编码数量之间取得了很好的平衡。
| 特性 | Charuco板 |
|---|---|
| 检测算法成熟度 | ★★★★☆ |
| 抗遮挡能力 | ★★★★☆ |
| 畸变适应性 | ★★★★★ |
| 制作成本 | 中 |
| 适用场景 | 自动化产线、高精度、复杂环境 |
4.4 三种标定板的对比总结
我整理了一张对比表,方便你快速决策:
| 维度 | 棋盘格 | 圆点阵 | Charuco板 |
|---|---|---|---|
| 角点精度 | 高 | 中 | 高 |
| 抗遮挡 | 差 | 好 | 好 |
| 畸变适应性 | 中 | 差 | 好 |
| 单张标定 | 不支持 | 不支持 | 支持 |
| 制作难度 | 低 | 低 | 中 |
| 算法成熟度 | 高 | 高 | 中 |
| 推荐指数 | ★★★☆☆ | ★★★☆☆ | ★★★★★ |
4.5 选型实战建议
说了这么多,到底该怎么选?我给出几条实战建议:
- 实验室环境,无遮挡,追求极致精度:选棋盘格。成本低,算法成熟,精度有保障。
- 产线环境,有遮挡,视野大:选Charuco板。抗遮挡能力强,单张标定省时间。
- 大视野标定,对精度要求不高:选圆点阵。制作简单,抗遮挡能力最强。
- 嵌入式平台,算力有限:选棋盘格。检测算法轻量,不需要解码ArUco码。
- 高精度测量,镜头畸变大:选Charuco板。它对畸变的适应性最好。
我的个人习惯:
我现在做项目,默认首选Charuco板。除非客户明确要求用棋盘格,或者现场条件实在不适合打印Charuco板。为什么?因为Charuco板在精度和鲁棒性之间取得了最好的平衡。你想想看,一个标定板如果能同时满足实验室和产线的需求,那它大概率就是最优解。
4.6 知识体系图
下面这张图展示了三种标定板的核心特性对比,以及选型决策路径:
好了,标定板选型这部分就讲到这里。记住一句话:没有最好的标定板,只有最适合你场景的标定板。下次做项目时,先问问自己:我的现场有没有遮挡?精度要求多高?算力够不够?想清楚这三个问题,选型就不会出错。