安上 3 张硬纸板后,不忍直视的壮汉撒娇立马对味儿了:
没错,就是这样平平无奇的纸板:
这样一个看上去分分钟就能 DIY 出来的纸板,居然能用来捕捉动作?
没错,不仅能,而且质量相当可以 —— 通过这种全身跟踪技术生成的虚拟模型十分灵活,玩个《节奏光剑》毫无问题:
这就是基于视觉定位系统,AprilTag 所实现的 VR 全身跟踪系统。
整个项目开源免费,设置流程也非常简单:
(基本所有的连接和校对工作,全都可以用 GUI 界面快速完成)
那么接下来,就来一起看看这款 VR 全身追踪器的使用方法吧。
Apriltag 实现全身跟踪
首先,我们需要打印这样一张图片:
这张看上去像是简化版二维码的图片,其实是包含了不同 ID 的特定标签。
将这种 Tag 放在待检测对象身上后,Apriltag 就能检测并返回其 ID,再计算得到 Tag 与相机之间的相对位置,最终达到定位的目的。
所以,我们将这张 Tag 图片打印出来,并沿红线剪开,沿蓝线折叠,再粘贴在硬纸板上。
最终就制成了 3 个简易的跟踪器:
接下来安装 SteamVR 驱动程序:
安装完成后,先在电脑上运行 Apriltag 追踪器:Start _ apriltagtrackers.bat。
这时,根据你的需求设置特定的摄像头参数。
比如输入高度或宽度参数来控制摄像头窗口的大小,或设置相机的曝光度。
紧接着就是校准摄像机。
当摄像机窗口打开时,慢慢移动相机,使其每隔几秒就从不同角度拍摄一张图片:
在校对的圆点为紫色,并且网格也尽量稳定地分布在整个图像之上时,摄像机校对就完成了。
然后在两腿及臀部穿戴好设备,开始校对追踪器:
其中黄色表示正在添加,红色表示不能添加,绿色标记表示已经添加。
在确保自己穿戴的所有跟踪器都被以绿色标记后,准备连接到 SteamVR:
连接完成,现在我们终于可以进入 VR 世界了!
Apriltag 定位原理
那么,这个帮我们实现了全身跟踪的 AprilTag 到底是什么?
这是由密歇根州立大学的 April 实验室于 2011 年开发的一款视觉定位系统。
▲ 图源 Apriltag 官网
而名字中的 Tag 则是一种拥有单一 ID 的视觉定位标志符。
官方提供预先生成的 Tag 图像,用户也可以使用官方工具 AprilTag-generation 自己生成 Tag。
而 AprilTag 算法的主要内容则包含边缘检测、四边形检测,以及对 Tag 的编解码:
对于这一系统,April 实验室到目前为止共发表了 4 篇论文,其中最近的一篇发表在 2019 年的 IROS 上:
这篇论文描述了一种比 AprilTag 2 和 ArUco 更快的检测器,在保持精度的同时,还拥有更高的召回率。
同时也提出了一种允许非方形形状(如圆形、环形)的更加灵活的 Tag 布局。
现在,AprilTag 正广泛应用于 AR/VR、机器人、相机校准领域。