系列: 与 AI 一起学编程

亚毫米级锚定与书法难题

从笔尖追踪到亚毫米级锚定姿态叠加层。

亚毫米级锚定 叠加层每一帧、每一次眨眼都落在同一个位置 配准标记 → 6 自由度纸张姿态 笔尖 < 1 mm 叠加层漂移 ~2 ms 每帧标记检测耗时
锚定在纸张上,而不是房间里——误差链就此崩塌。

大多数 AR 能容忍几厘米的漂移。一位书法导师什么都不能容忍。RakuAI 就是为了这种让 AR 不再只是一个演示、而开始成为一位老师的精度而构建的。

这个周六早上,一场合作伙伴对话还在我脑海中记忆犹新,随之而来的还有一个让我有点心惊的精度目标。NTT QONOQ 在日本一直在做严肃的文化 AR 工作,而他们希望这个引擎支持的书法用例,有一个不留情面的规格要求:叠加在一张练习纸上的虚拟墨迹笔画引导,必须每一帧、每一次眨眼都精确落在同一张纸上的同一个位置。

大多数 AR 体验对精度是宽容的。如果一个虚拟机器人站在你地板上的某个位置,当你看向别处再看回来时它漂移了三厘米,你可能都不会注意到。机器人就是机器人。机器人会走动。

一位书法导师不会这么宽容。三厘米的漂移是一个毫无用处的产品。三毫米的漂移是一个令人沮丧的产品。亚毫米级才是及格线。这个周末,运行时开始迈过这条线。

落地了什么

五个 API 和一条合作伙伴引用:

  • 用于高精度 AR 内容对齐的亚毫米级锚定姿态 API
  • 用于基于标记的纸张校准的纸张计算机视觉检测 API
  • 用于实时笔和毛笔追踪的笔画路径计算机视觉分析
  • 语音延迟事件时间戳和实时指标
  • 用于动画驱动型演示的动画延迟追踪
  • README 中一条关于与 NTT QONOQ 展开研究合作的引用

整个周末七十次提交。大部分工程工作集中在前三项上。

为什么”亚毫米级”是正确的数字

亚毫米级的要求不是来自一次营销练习。它来自一个用例。一个用户手持一支书法毛笔,悬在一张练习纸上方。运行时观察这支笔,观察这张纸,观察这个房间。它把用户接下来应该写的笔画,以纸上一道微光的形式叠加出来。用户跟随这道微光书写。

如果这道微光哪怕稍微偏离纸张,整个体验就会崩溃,因为用户的眼睛会盯着微光而不是实际的笔尖,而实际的笔画会跟随这道错位的微光走偏。叠加层里的漂移,会在练习出的笔画里产生漂移。产品就此消失。

所以这条及格线不是”亚毫米级令人印象深刻”。这条及格线是”对于这个用例来说,亚毫米级是唯一可以接受的失败情形”。超过这个数字,产品就会崩溃。

亚毫米级锚定是如何工作的

这个机制(简化版):纸张本身成为锚点。练习纸上印刷的配准标记每一帧都会被检测。运行时以六自由度计算纸张相对于用户视角的姿态。叠加层以纸张本地坐标而非房间本地坐标渲染。当用户的头部移动时,计算沿反方向进行:纸张姿态更新,叠加层重新投影,微光落在下一笔应该写的位置上。

这与标准做法”把虚拟物体锚定到房间上、依赖房间重建”是不同的设计。房间重建对于家具尺度的精度来说是够用的。它对于纸张尺度的精度来说是不够的,因为房间重建的误差会与用户头部姿态的误差叠加。通过直接锚定到一个已知的物理物体(纸张)、并让叠加层针对该物体进行配准,我们让这条误差链崩塌了。

代价是这张纸必须是一个已知的物理物体。我们这个周末用基于标记的纸张计算机视觉检测 API 解决了这一点。这个标记很小,不显眼,印在这个演示随附的每一张练习纸上。运行时每帧大约用两毫秒检测到这个标记,并在典型光照条件下稳定地追踪它。

而胜利在于,我们是在 AR 眼镜拥有的算力包络内、实时、每一帧都做到这一点,并且在正常使用下把叠加层漂移控制在一毫米以内。

NTT QONOQ 的引用

我这个周末在 README 里加了一条关于 NTT QONOQ 的引用,因为我们正处于积极的研究对话之中。日本的 NTT QONOQ 一直在真实世界 AR 以及 AR 体验如何锚定到物理制品这个问题上做着严肃的工作。这个书法用例与日本空间计算社区一直在推动的那种文化 AR 工作是吻合的。

这不是宣布一项合作伙伴关系。这是一个说明:合作伙伴对话正在进行,而这个周末的工程工作反映了要良好支持这项合作所需要的东西。”你能不能在东京的一间书法教室里做到这一点”这个产品问题,比”你能不能在某个地方做到这一点”这个产品问题要具体得多。具体的问题会产出更好的工程。

笔画路径计算机视觉:更难的那部分

亚毫米级锚定是这个周末的头条。真正最难的工程部分是笔画路径计算机视觉。

在 AR 眼镜上实时追踪一支笔或毛笔并不是一个已解决的问题。笔尖很小,常常被用户的手部分遮挡,而且移动速度是变化的。这个周末做的计算机视觉管道会追踪笔尖相对于纸张的位置,推断笔尖何时处于接触状态(而非悬空状态),并以一串带时间戳的点的形式发出一条笔画路径。手部遮挡恢复是最耗时间的部分。我和这个智能体过了三个版本的恢复逻辑,测试轨迹才不再丢失点。

这正是 AI 作为一种运行时基本单元开始发挥作用的那种工程。这个计算机视觉管道接收每一帧。设备上的一个小模型判断当前帧是接触帧还是悬空帧。这个模型的判断输入到笔画路径发射器中。这个模型不是一个聊天机器人。它是一个在模拟步骤中运行的运行时元素。

这种架构模式正在成为这个引擎里反复出现的一个主题。AI 不是你附加上去的功能。AI 是发生在传感器和渲染器之间、每一帧、在用户做任何事情的同时都在发生的那件事。

我想让合作伙伴和构建者从中得到什么

如果你是 NTT QONOQ 或任何其他正在考虑真实环境中精确 AR 叠加层的合作伙伴,这项书法导师的工作是这个引擎所瞄准的那种精度的一个具体演示。这个框架是通用的。它不是专门针对书法的工具。它是一个亚毫米级锚定加上一条笔画路径计算机视觉管道,两者都适用于许多看起来与书法毫无关系的事物。

如果你是一个拥有一个擅长手部或笔部分割的小模型的 AI 实验室,这正是那种能栖居在这个引擎模拟步骤内部的模型。延迟预算很紧张。质量门槛很高。如果你的模型适配得上,这个引擎就有一个位置留给它。

七十次提交。一个演示目标。一场正在加速的合作伙伴对话。这是我不会拿任何东西去交换的那种周六。

精度是一个合作伙伴故事

如果你的产品需要能把位置保持在亚毫米级的 AR 叠加层——文化 AR、培训、精确引导——RakuAI 就是为这条门槛而构建的运行时。来聊聊你的用例需要什么。

← 所有文章