1. 标签识别介绍

AprilTag 是一种视觉基准系统(Visual Fiducial System),由密歇根大学的 APRIL 实验室开发,由黑白相间的方形图案组成。每个标签包含唯一的 ID,广泛应用于增强现实(AR)、机器人导航、相机校准、无人机定位等领域。AprilTag 标签分为多个类型,每类标签具有不同的编码结构和容量。常见包括:TAG16H5、TAG25H7、TAG25H9、TAG36H10、TAG36H11、ARTOOLKIT。

在标签识别功能下,HUSKYLENS 2可以检测出四种类型的AprilTag标签:AprilTag 16h5、AprilTag 25h9 、AprilTag 36h10 、AprilTag 36h11,学习、识别、追踪指定的标签。

Interface Diagram

2. 标签识别使用说明

这一部分我们将了解如何使用HUSKYLENS 2检测画面中的AprilTag标签,并学习、识别指定的AprilTag标签。

:标签识别功能下,HUSKYLENS 2默认设置识别的标签类型为APRIL_TAG36H11,可在参数Dict中手动设置要识别的其他标签类型。标签识别时实际标签类型要与参数Dict中设置的标签类型保持一致。

AprilTag 标签在线生成网站:https://www.2weima.com/aruco.html

2.1 选择标签识别功能

给HUSKYLENS 2供电,启动成功后,滑动屏幕,找到“标签识别”功能。

Interface Diagram

2.2 观察标签检测效果

将HUSKYLENS 2“看”向含AprilTag标签的画面,画面中所有标签将被白色方框框出,方框上会显示标签内包含的信息。

Interface Diagram

2.3 学习标签,观察结果

HUSKYLENS 2对准要学习的指定AprilTag标签,调整HUSKYLENS 2“看”的角度,使屏幕中间的“十”字在白框内,然后按下HUSKYLENS 2右上角的A键,学习该标签。

Interface Diagram

学习完成后,如识别到已学习的AprilTag标签,屏幕将以彩色方框框出该标签,并在上方显示“name: IDx” ,name默认为标签内的信息。学习更多AprilTag标签,可依此类推。

Interface Diagram

3. 标签识别参数设置

HUSKYLENS 2出厂的默认参数已满足基础功能使用需求,如需更细化的功能,可手动调节各个参数。以下参数均基于“标签识别”功能,因此,首先确保已进入“标签识别”功能,如图所示。

Interface Diagram

要修改的参数,可通过向左或向右滑动屏幕下方的参数文字进行选择。

Interface Diagram

3.1 遗忘ID

如需遗忘前面学习过的所有AprilTag标签:第一步,点击屏幕上的“遗忘ID”;第二步,出现弹窗“遗忘全部ID和名字”后,点击“确认”。

Interface Diagram

此时,可将HUSKYLENS 2屏幕中间的“十”字对准曾学习但已遗忘的标签,屏幕出现白框并显示标签内的信息,但不会显示其ID号,说明“遗忘”完成。

Interface Diagram

3.2 Dict

使用标签识别功能时,需通过本参数选择要检测的AprilTag标签类型,目前支持以下四类标签:AprilTag 16h5、AprilTag 25h9 、AprilTag 36h10 、AprilTag 36h11。

标签识别时实际标签类型要与参数Dict中设置的标签类型保持一致。
如下图标签为“AprilTag 36h11”类型,若检测时实际标签类型与Dict中设置的目标标签类型不一致,HUSKYLENS 2则无法框出出画面中的标签。

Interface Diagram

3.3 设置名字

本参数可以给学习过的AprilTag标签设置名字,中英文均可。
设置步骤:点击“设置名字”,上下滑动左上角的数字,选择为哪个ID设置名字;点击屏幕上的键盘可设置名字,如左图;设置完毕需点击右下角√键保存,保存成功则右上角会显示绿色对勾标志。
注意:设置名字后识别框左上角将不会显示识别出的标签信息,而是显示设置的名字,若想重新显示标签信息需要遗忘ID。

Interface Diagram

3.4 显示名字

本参数可以控制识别到已学习的AprilTag标签时,是否显示名字,默认为显示。
设置步骤:点击“显示名字”,其上方开关为蓝色,即打开状态,识别到已学习的AprilTag标签时,会显示其名字,效果如左图;点击开关,开关变为白色,即关闭状态,识别到已学习AprilTag标签时,不会显示名字,效果如右图。

Interface Diagram

3.5 恢复默认

本参数可将所有设置项恢复为默认状态,并遗忘已学习的ID,但不清空导出的模型(关于导出模型请看下文)。
设置步骤:点击“恢复默认”,出现“恢复默认配置”弹窗后,点击“确认”。

Interface Diagram

3.6 导出模型

本参数可将当前设置的参数、学习的ID、设置的名字,保存、导出到HUSKYLENS 2本地内存。适用于迁移参数至另一个HUSKYLENS 2等场景。此操作无需插TF卡。
导出步骤:点击“导出模型”,出现左图“保存配置到”弹窗时,上下滑动数字,选择保存为几号模型(共可保存5个模型),随后点击弹窗左下角的“确认”按钮以保存。确认后,自动导出,如右图。

Interface Diagram

查看导出的模型:弹窗“导出中”消失后,可以通过电脑查看导出的模型文件。 首先,将HUSKYLENS 2连接至电脑USB接口。

Interface Diagram

其次,通过电脑,根据下图路径访问HUSKYLENS 2的内存,可查看到扩展名为.json和.bin两个模型相关文件,扩展名前面的数字就是保存配置时选择的“模型号”。2个文件均可复制、粘贴到别处。

Interface Diagram

3.7 导入模型

本参数可以将HUSKYLENS 2(以下称“二哈A”)导出的模型导入到另一个HUSKYLENS 2(以下称“二哈B”)上,以便二哈B不用重新学习也可以识别出二哈A学习过的AprilTag标签是ID几。
导入步骤:
第一步,将二哈A连接电脑,把导出的2个文件复制到电脑桌面。
第二步,将二哈B连接电脑,把上一步的2个文件粘贴到二哈B的指定文件夹,路径如图所示。(如找不到apriltag文件夹,请先执行第三步,导入过模型,会自动创建本文件夹,随后再回到第二步。)

Interface Diagram

第三步,首先确认已经进入到“标签识别”功能,然后点击“导入模型”,出现“加载配置”弹窗后,上下滑动数字,选择加载几号模型,此处应与上一步保存的模型号一致。例如,粘贴进二哈B的模型文件为config1.json和repo1.bin,故选择数字1。最后,点击“确认”以导入。

Interface Diagram

第四步,等待弹窗“加载中”消失,即导入完成。

Interface Diagram

随后可做标签识别测试。以下左图为二哈B导入模型前的标签识别情况,右图为二哈B导入模型后的标签识别情况。

Interface Diagram

4. 相关编程示例