N5.04.3relocalization设计研究

锚点丢失需要可恢复的重定位

别名: 重定位 · 锚点丢失 · tracking lost · 找回

概念解释

用手挡住摄像头,或走出门再回来,原来钉在墙上的菜单可以整块消失,也可以在另一面墙上突然冒出来。重定位(relocalization)要的是第三条路:承认此刻找不到这个锚点,进入可恢复状态,一旦特征对上就把内容放回原来的物理位置——找不到也不要用错误坐标顶替。

丢失是正常路径。可恢复指有一条从「找不到」走回「还在那面墙上」的路,而不是把丢失当成崩溃或当成重新布置。

机制

跟踪一旦失去对当前地图的锁定(镜头被遮、进入一段无特征走廊、快速甩头),运行时只能外推或报无效位姿。锚点的内容若仍按最后一次有效坐标画,就会钉在错误的房间位置上;若直接卸掉,用户以为被删了。ARKit 把这一段标成 relocalizing,OpenXR 允许继续给推断位姿但清掉「已跟踪」标志——两边都在说:位姿还在出,可信度已经没了。

恢复依赖再次看见当初的签名。人需要被引导去看那一块,而不是在原地等。恢复失败时,正确的降级是「这个锚点目前用不了,要不要重新钉」,不是把物体留在推断坐标上假装还准。

怎么研究

丢失—恢复程序:放置后用遮挡镜头、离开房间、进入弱纹理区三种方式制造丢失,记录进入丢失的时间、重定位成功与否、恢复后相对真实标记的误差,以及用户是否理解当前是「正在找」而不是「没了」。ARKit TrackingState 与 ARCore 失败原因可作为过程标记,因变量仍应是物体有没有回到原处、人有没有误操作。

自变量:丢失原因、丢失时长、重新对准时是否看见原表面。 因变量:重定位成功率、恢复后的位姿误差、在丢失期间发生的误点击次数。

同一区域内一闪而过的跟踪中断通常不该当成要重钉的丢失,实验里要把短中断和真正需要重定位的丢失分开。

边界

从未离开已跟踪体积、特征一直够的桌面任务,重定位分支很少走到,但镜头被衣袖挡住仍会发生。3DoF 没有位置可丢,这一条不适用。把应用杀掉再开是重新进入,不是会话内重定位,两套状态不要并成一个提示。恢复成功但位姿已经偏了,那是漂移,不是「还没找到」。现场若原表面被搬走,重定位会一直失败,此时应走向重新钉,而不是无限转圈。

怎么落地

  • 丢失时进入明确的「正在找这个房间」状态,内容先收起或冻结,不要继续按推断坐标接收操作。
  • 提示对准当初放置的那块有特征的区域(那扇门、那张桌),提示必须是人做得到的朝向,而不是「请稍候」。
  • 超时仍找不到,提供「重新钉在这里」和「先不显示」,禁止把物体丢在当前朝向正前方冒充找回。
  • 验证:放置后遮住镜头十秒再放开。物体应在原处重新出现,或进入正在找的状态;若它跳到另一面墙并仍可点击,就是丢失被当成了有效位姿。

延伸

  • 同组N5.04.1 锚定使内容在重新进入时保持位置 · N5.04.2 环境变化会导致锚点漂移
  • 相邻N5.09 空间锚定与持久化 · N5.03 平面检测与环境理解
  • 站内检索relocalization · tracking lost · limited tracking

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/N5.04.3