识别失败需要显式反馈与手动补救
别名: 识别失败反馈 · 手动放置 · 追踪状态 · relocalizing
概念解释
平面一直没出来,界面却还是「点一下放下」。人松手之后,物体停在半空,或在下一次追踪跳变时飞走。追踪失败反馈(tracking failure feedback)要求把「此刻认不出可放置的表面」说出来,并给出不依赖这次识别的退路——指定一个点、确认一块手动圈出的面、或取消放置。
沉默不是中立。系统在失败时若继续做出「可以放」的姿态,用户会把后果当成自己没放准。
机制
运行时其实已有状态:初始化中、特征不足、移动过快、重定位中、正常。这些状态在 ARKit 的 limited 与 ARCore 的失败原因里是分开的,但应用层经常把它们折成同一种「还在加载」。折在一起,人就无法选择对症的动作——该停下来等,该换一块表面,还是该改用手动。
手动补救能成立,是因为它把附着对象从「算法检出的面」换成「用户声明的面」。声明可以很粗(墙上点一下、地面点一下),精度低于检测成功时,但位姿有了主人,后续追踪至少知道该锁哪一块。没有这条退路,失败只能靠重试,而重试在同一表面上会无限循环。
怎么研究
把追踪状态对用户隐藏或显式呈现作为条件,再提供或不提供「点一下指定落点」的退路,看放置任务的完成率、错误附着次数、以及人是否能在失败后说出下一步该做什么。提示文案要按平台原因枚举来分条件,不要只用一条万能句子。
自变量:状态是否可见、退路是否存在、提示是否对应具体原因。 因变量:任务完成率、从失败到恢复的时间、用户给出可执行下一步的比例。
生态效度的陷阱:实验室一提示人就会照做;现场里提示若挡住正在看的表面,会被立刻关掉,等于没有反馈。
边界
始终能出几何的预扫描房间里,失败反馈很少被用到,但它仍应作为设备突然被遮挡时的分支存在。纯手动放置的工具(每次都由用户点表面)不依赖识别成功,反馈的对象变成「这一点能不能用」,而不是「检测失败了」。把失败写进日志却不写进界面,对研究者有用,对佩戴者等于没有。儿童或首次使用者需要比专家更短的状态名;专家能读懂「relocalizing」,首次使用者不能。
怎么落地
- 把放置按钮和「尚未识别到表面」绑在一起:未识别时按钮不可当成功用,并显示一句对应原因的话(光线不够、动得太快、换一块有花纹的面)。
- 提供手动落点:用户点一下墙或地面,系统把物体附着在这一点的估计平面上,并标明「由你指定,可能不准」。
- 重试不要无声循环。几次之后把手动落点抬成主路径,而不是继续转圈。
- 验证:用手遮住摄像头或对准一面空白墙去放置。若界面仍显示「已放下」、物体悬空,就是失败被吞了。补上反馈和手动点选后再测一次,人应能在不提问的情况下把物体放到一块自己选的面上。