AprilTag
机器人定位与位姿估计领域的标准视觉基准标记系统
许可证
BSD-2-Clause
概述
AprilTag 是由密歇根大学 APRIL 机器人实验室开发的视觉基准标记(fiducial)系统。可打印的二维条码式标签在相机图像中被检测出来,并给出每个标签相对于相机的完整 6 自由度(6-DOF)位姿,对光照、视角和部分遮挡具有很强的鲁棒性。核心检测器是一个小巧、无外部依赖的 C 库,可运行在从桌面 GPU 工作站到微控制器级 CPU 的各种平台上。
AprilTag 在相机图像中检测方形二进制基准标记,并计算每个标签相对于相机的精确三维位置、姿态和身份 ID。第 3 版检测器新增了灵活的标签布局(圆形和自定义网格),以及提升小尺寸标签检测能力的解码锐化(decode-sharpening)步骤。该库为纯 C99 实现,零外部依赖,极易嵌入;官方提供 Python 封装,社区维护的 ROS 1/ROS 2 节点(apriltag_ros)可将标签位姿以 TF 坐标系形式发布。预生成的标签族(tag36h11、tag25h9、tagCircle、tagCustom)通过配套的 apriltag-imgs 仓库分发,标签坐标系和尺寸约定都有精确文档,可满足标定级应用需求。
为何重要
AprilTag 是机器人研究和工业界事实上的标准基准标记——广泛用于真值采集装置、相机与手眼标定、无人机着陆标记、仓储机器人对接以及多机器人定位。当一篇机器人论文说"我们用基准标记跟踪物体"时,指的几乎总是 AprilTag。
解决的问题
机器人经常需要对已知物体、对接坞或标定目标进行厘米级精度、可识别身份的位姿估计,而无需训练视觉模型。AprilTag 提供可打印的目标加上轻量级检测器,让任何标定过的相机变成可靠的 6 自由度位姿传感器。
要点
- 检测可打印的基准标签,返回每个标签的身份 ID 及完整 6 自由度位姿
- 纯 C99 实现,无外部依赖——从桌面 CPU 到嵌入式开发板均可运行
- 标签族 tag36h11、tag25h9、tagCircle 和 tagCustom 覆盖标准与自定义布局
- AprilTag 3 的解码锐化提升了对小尺寸和远距离标签的检测能力
- 通过 apriltag_ros 提供一流的 ROS 1/ROS 2 集成,将标签以 TF 坐标系发布
适用人群
- 需要真值或标定目标的机器人研究人员
- 为对接或着陆对准添加功能的 ROS 开发者
- 无人机和 AMR 开发者
- 计算机视觉专业学生
局限
- 获得精确的度量位姿需要标定过的相机
- 在极端视角和相对标签尺寸的远距离下,位姿精度会下降
- 标签必须物理放置在环境中——不是自然特征跟踪器
- 卷帘快门相机和运动模糊会降低检测可靠性