N2.02.2hand tracking occlusion设计研究

遮挡与手部朝向导致追踪丢失

别名: 手部遮挡 · 自遮挡丢追踪 · 手心朝内

概念解释

掌心朝向胸口、手指蜷进拳里,或者一只手从另一只手后面伸出来——头显下沿那几颗向外看的相机就突然什么也读不到。裸手追踪的丢失,主因是遮挡与手部朝向(hand tracking occlusion):相机要看见皮肤上的关键点,这些点一旦被自己的手掌、对侧手、身体或现实物体挡住,姿态估计就断了。

它不是网络断开,也不是「手离开了可追踪范围」这么简单。手还在身前、人还在做那个动作,只是从相机的角度看过去,那只手已经不是一只手。

机制

头显上的手部追踪是由外向内的视觉:传感器在额头附近,朝外下方看。手的可观测姿态因此被一个小小的视锥限制。掌心朝向面部时,指背是可见的;掌心朝向身体、指尖朝内时,相机看到的是一块肉色的剪影,指关节自遮挡,深度也糊。两手交叉、一手握另一腕、手贴着躯干,都会制造第二层遮挡。

估计器在关键点不可见时仍会输出一个姿态,但那是在用运动学先验填空:手腕还在,手指按上一帧的弯曲接着猜。填空在短时间里看起来「还在」,一旦朝向不恢复,猜测会滑向一个合法但不真实的手形——手指穿透掌心、手在肘关节处折断。用户看见的是手「坏了」,原因其实是相机早就没看见。

怎么研究

用一组已知会挡相机的姿态做追踪鲁棒性测试,而不是只用张开的手心朝前。

自变量:掌心朝向(朝相机 / 朝躯干 / 侧向)、双手重叠程度、手与躯干的距离、环境光与背景纹理。 因变量:关键点可见数、跟踪丢失时长、估计姿态与动捕真值的关节角误差、用户报告「手还在不在」的时刻。

动捕手套或外置多相机可作为真值。只靠头显自制的置信度分数会偏乐观:分数还高的时候,朝向已经开始错。把丢失定义成「置信度低于阈值」还是「关节角误差超过某度」,会得到完全不同的发生率。

边界

外置灯塔、手套式惯性传感器不靠头显相机看手,遮挡模式不同,这条的主因不成立。胸前或肩上加了相机的设备,视锥比额头相机宽,朝向问题会减轻。深色皮肤、深色袖口、强逆光会让「看得见」的阈值提前到来,遮挡还没发生,曝光已经把关键点吃掉。单手、始终把掌心对着头显的任务(摊开菜单)很少触发;需要从身体两侧掏东西、双手对捏、把手放到腰后休息的任务会密集触发。儿童的手小、关键点挤在一起,朝向稍偏就整只手从模型里消失。

怎么落地

  • 把需要精细手指的动作放在头显相机能看见的锥里:身前、掌心略朝上或朝外,不要设计成掌心贴腹、手在腰侧掏虚拟口袋。
  • 双手操作不要长时间交叉或一只手被另一只完全挡住。
  • 在姿态估计开始用先验填空时就给用户一个可察觉的降级(手半透明、轮廓变虚),不要等手指已经折进掌心。
  • 验证:让人按产品里的真实动作做一遍,从头显相机的调试画面看,而不是从第三人称预览看。凡是调试画面里手变成色块或消失的段落,都是朝向和遮挡没有被交互避开。

延伸

  • 同组N2.02.1 无需持握但缺少触觉确认 · N2.02.3 追踪丢失是常态而非异常分支
  • 相邻N2.01 手柄控制器 · N2.09 直接抓取与虚拟触碰
  • 站内检索hand tracking occlusion · self-occlusion · inside-out hand tracking

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/N2.02.2