N5.03.1plane detection设计研究

放置依赖对环境几何的识别

别名: 平面检测 · 场景理解 · hit-test · 环境几何

概念解释

「把灯放到那张桌子上」听起来是用户的意图,执行却取决于系统有没有认出那张桌子。平面检测(plane detection)和环境网格把真实表面变成可命中的几何;没有这份几何,放置只能停在头显自己的坐标系里,灯会悬空、跟着人走,或在下一次追踪修正时跳开。

放置在这里不是选一个坐标,是选一个已被识别的表面。意图来得再明确,也替不了那次识别。

机制

视觉 SLAM 先从图像里抽出稳定特征,拟合出平面或网格,再在用户的射线或手的落点上做 hit-test。命中的是检测结果,不是桌面这个物理对象——检测晚半拍,落点就在半空;检测把两张邻接的桌子收成一块,灯会骑在缝上。语义标签(地面、墙、桌面)只是在几何之上再加一层约束,它不能从无到有变出表面。

因此放置成功是一条链:特征足够 → 几何收敛 → hit-test 打在用户以为的那块上。任一环停住,用户看到的是「我已经放下了」,系统记下的是一个尚未附着的位姿。

怎么研究

在已知家具布局的房间里,让人把同一件虚拟物放到指定表面上,记录从开始观察到物体真正贴住的时间,以及贴住后与真实表面的法向偏差。对照条件提供预重建网格与现场检测两档。ARCore / ARKit 的平面范围、更新事件可作为过程数据,但因变量应是用户侧的「放上去了没有」,不是 API 回报了几个平面。

自变量:表面类型(水平 / 垂直 / 不规则)、检测是否已收敛、有无语义标签。 因变量:首次贴合时间、法向误差、用户以为已放下但实际悬空的次数。

边界

用二维码、磁吸座这类事先铺好的附着点,放置不走环境识别,这条依赖不成立。完全空中操作、明确不要求落在家具上的内容(环身菜单、跟随身体的面板)也不依赖平面。预扫描好的展厅可以在用户进门前就有几何,现场检测的等待被挪到了布展阶段,但依赖本身还在,只是不发生在这次会话的前几秒。室外大尺度地面识别的误差模型和室内桌面不是同一套数字。

怎么落地

  • 在几何收敛之前,不要把「放置」画成已经完成:预览可以跟手,落定必须等 hit-test 命中。
  • 把已识别的表面用很轻的轮廓露出来,让人对准的是系统看见的那块,而不是自己以为的那张桌子。
  • 只在需要贴合的对象上要求平面;环身工具不要等地面检测才允许打开。
  • 验证:指定「放到那张咖啡桌上」,录下从指到到物体不再晃的时间。若人已经松手、物体还在桌面上漂,就是放置没有等识别。

延伸

  • 同组N5.03.2 弱纹理与反光表面识别失败 · N5.03.3 识别失败需要显式反馈与手动补救
  • 相邻N5.04 空间锚定 · N3.10 深度冲突与穿模
  • 站内检索plane detection · hit-test · scene understanding

同组卡片

快捷操作

分享

分享当前页面

ios_share

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