一、前言
AprilTags被广泛用作物体检测、定位应用的视觉标记,并作为相机校准的目标。AprilTags类似于QR码,但旨在编码更少的数据,因此可以更快地解码,这对于实时机器人应用程序非常有用。使用 AprilTags 作为校准模式的优点包括更好的特征点检测以及一致、可重复的检测。
二、使用功能界面进行相机校准
步骤 1:生成校准模式
下载并准备标签图像
可以使用 Web 浏览器或运行以下代码从此处下载所有受支持系列的预生成标记:
使用标记图像生成校准目标,以实现特定的标记排列。图案图像包含在 中,可用于打印图案。该示例使用 tag36h11 系列,该系列在检测性能和误报检测的鲁棒性之间提供了合理的权衡。
在此模式上使用 函数会导致检测将各个标记的角位置组合在一起。函数可用于将此排列转换为列主排列,如棋盘格。
准备图像以进行校准
准备校准图像时需要注意的几点:
-
在本例中,虽然图案打印在纸上,但请考虑将其打印在保持平坦的表面上,并且不会因潮湿等而变形。
-
由于校准程序假设图案是平面的,因此图案中的任何缺陷(例如不平坦的表面)都会降低校准的准确性。
-
校准过程需要至少 2 张图案图像,但使用 10 到 20 张图像会产生更准确的结果。
-
捕获图案的各种图像,使图案填充大部分图像,从而覆盖整个视野。例如,为了最好地捕捉镜头失真,请在图像帧的所有边缘放置图案的图像。
-
确保图案在捕获的图像中完全可见,因为具有部分可见图案的图像将被拒绝。
第 2 步:检测并本地化 AprilTags
函数用于检测和定位捕获图像中的标签,并以棋盘方式排列它们,以用作校准过程中的关键点。
步骤 3:为校准模式生成世界点
生成的AprilTag模式使得标签采用棋盘格方式,在这里,正方形的大小被标签的大小所取代,电路板的大小是从上一步获得的。测量标签一侧外黑边之间的标签大小。
步骤 4:估计相机参数
使用图像和世界点对应关系,可视化校准的准确性和外部相机参数。在捕获的图像中显示校准图案的平面。
检查检测到的图像点和重新投影点的位置,这些点是使用估计的相机参数获得的。
使用其他校准模式
虽然此示例在校准模式中使用 AprilTags 标记,但相同的工作流程也可以扩展到其他平面模式。
-
imagePoints:从捕获的图像中获得的图像坐标中校准模式中的关键点。
-
世界点:校准模式中关键点的对应世界点坐标。
如果有一种方法可以获得这些关键点,校准工作流程的其余部分将保持不变。
三、将AprilTag校准模式支持集成到相机校准器应用程序中
为方便使用,上述工作流程也可以集成到相机校准器应用程序中。整个工作流程保持不变,步骤如下:
1.使用四月标签添加图像。
2. 导入 AprilTags 的自定义模式检测器类。检测器必须执行以下操作:
-
检测并本地化四月标签
-
为校准模式生成世界点
3. 估计相机参数。
四、程序
使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)
程序有偿获取:评论区下留言,博主看到会私信你。