ArUco与AprilTag 标签

一、简介

在许多计算机视觉应用程序中,姿势估计非常重要:机器人导航,增强现实等等。 该过程基于发现真实环境中的点与其2d图像投影之间的对应关系。 这通常是一个困难的步骤,因此通常使用合成或基准标记来简化操作。

最受流行的方法之一是使用二进制方形基准标记。 这些标记的主要优点是单个标记可提供足够的对应关系(四个角)来获得相机的姿势。 而且,内部二进制编码使它们特别强大,从而允许应用错误检测和纠正技术。

通常,我们将AprilTags和ArUco标记用于:

  • 相机校准
  • 物体尺寸估算
  • 测量相机和物体之间的距离
  • 3D位置
  • 目标对象方向检测
  • 机器人与自主导航
    等等

AprilTag是一种视觉基准系统,类似的视觉基准标签还有:ArUco、ARTag、TopoTag等。而AprilTag是改进的ARToolkit、 ARTag。因其对旋转、光照、模糊具有良好的鲁棒性,因此被广泛应用于目标跟踪、室内定位、增强现实等领域。在AR,机器人,相机校准领域广泛使用。通过特定的标志(与二维码相似,但是降低了复杂度以满足实时性要求),可以快速地检测标志,并计算相对位置。
April Tag的种类家族(family)有以下几种:

TAG16H5 → 0 to 29
TAG25H7 → 0 to 241
TAG25H9 → 0 to 34
TAG36H10 → 0 to 2319
TAG36H11 → 0 to 586
ARTOOLKIT → 0 to 511

官网:AprilTagThe APRIL Robotics Laboratory at the University of Michigan investigates Autonomy, Perception, Robotics, Interfaces, and Learning, and is part of the Computer Science and Engineering department. It is led by Associate Professor Edwin Olson.icon-default.png?t=N7T8https://april.eecs.umich.edu/software/apriltag.htmlAprilTag示例

二、AprilTag过程
AprilTag内容主要包含三个步骤。

第一步,是如何根据梯度检测出图像中的各种边缘。
第二步,即如何在边缘图像中找出需要的四边形图案并进行筛选,AprilTag尽可能的对检测出的边缘检测,首先剔除非直线边缘,在直线边缘进行邻接边缘查找,最终若形成闭环则为检测到一个四边形。
最后一个步,便是如何进行二维码编码和二维码解码,编码方式分为三种,其黑边色块长度分别为8,7,6三个色块长度(不同编码方式其点阵的个数不相同,根据选择编码方式不同有8 ∗ 8 , 7 ∗ 7 , 6 ∗ 6 可选,其编码方式由使用者对物体进行标定时确定,根据编码方式的不同,生成不同的内点坐标),对于解码内容,要在检测到的四边形内生成点阵列用于计算每色块的值,再根据局部二值模式(Local Binary Patterns)构造简单分类器对四边形内的色块进行分类,将正例色块编码为1将负例色块编码为0,就可以得到该二维码的编码。得到编码以后再与已知库内的编码进行匹配,确定解码出的二维码是否为正确。

三、ArUco

ArUco标记是一种二进制正方形的基准标志物,可用于相机的姿态估计,该标准板主要的优点是检测快速,简单且稳健。

ArUco标记,由宽的黑色边框和确定其标识符(id)的内部二进制矩阵组成。 黑色边框有助于其在图像中的快速检测,并且二进制编码允许其识别以及错误检测和纠正技术的应用。 标记大小决定内部矩阵的大小。 例如,标记大小4x4由16位组成。

ArUco模块包括检测这些不同类型的标记板的方法,以及使用它们进行姿态估计和相机标定的工具。

此外,ChArUco功能将ArUco标记与传统棋盘相结合,以实现简单而多功能的角点检测。该模块还包括检测ChArUco角点并将其用于姿态估计和相机机标定的功能。

在opencv中aruco有以下几个模块:

(1)Detection of ArUco Markers:检测单个ArUco标记板:基于单个ArUco标记板的基本检测和姿态估计。

(2)Detection of ArUco Boards:基于ArUco标记板的检测与姿态估计

(3) Detection of ChArUco Corners检测ChArUco标记板角点:检测ChArUco标记板的角点

(4)Detection of Diamond Markers:基于ChArUco标记板的检测与姿态估计

(5)Calibration with ArUco and ChArUco:使用ArUco和ChArUco标定板进行相机标定

(6)ArUco module FAQ : 关于ArUco 模块的常见且有用问题的汇总

相关推荐

  1. HTML标签介绍

    2024-06-06 19:42:06       36 阅读
  2. spring——BeanFactoryApplicationContext接口、bean标签

    2024-06-06 19:42:06       23 阅读
  3. 标签多分类的区别

    2024-06-06 19:42:06       36 阅读
  4. go中标签创建引用

    2024-06-06 19:42:06       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 19:42:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 19:42:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 19:42:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 19:42:06       18 阅读

热门阅读

  1. C语言经典例题-8

    2024-06-06 19:42:06       9 阅读
  2. 我入门AI的学习感想

    2024-06-06 19:42:06       5 阅读
  3. Linux 命令 `diff` 的深度解析

    2024-06-06 19:42:06       8 阅读
  4. springboot动态切换数据源

    2024-06-06 19:42:06       9 阅读
  5. make 是啥

    2024-06-06 19:42:06       8 阅读
  6. Android基础-工程目录结构说明

    2024-06-06 19:42:06       7 阅读
  7. 呼叫中心系统如何融入信创国产战略?

    2024-06-06 19:42:06       7 阅读
  8. 程序员高效工作(摸鱼)的 10 个方法

    2024-06-06 19:42:06       7 阅读