对于AR,确定用户意图是一个问题。在名为“Multi-factor intention determination for augmented reality (ar) environment control”的专利申请中,微软就介绍了一种通过对控制对象采用多因素意图确定来提高用户意图确定的准确性。例如,可以根据两个因素来确定用户意图:手势+眼睛注视。
以这种方式,可以改进用于AR的计算设备的操作,并改善体三维计算中的用户体验。
图2示出了使用AR设备200的用户102。在图2中注释了眼睛注视510和头部方向520(基于AR设备200的指向方向)。眼睛注视510和头部方向520由传感器套件152感测,并可以用作用户意图的指示。
图4示出了在工业环境400中的多个实际应用。AR应用程序110为工人提供了一种工具,允许他们需要根据现实采取行动,并且广泛适用于多个行业场景。微软指出,AR增强了工人的自然适应性,提供见解和灵活的指导,并帮助工人完成复杂的任务,例如通过与提供指令的远程专家无缝协作。
图5示出了用于调用控制对象的手势500。其中,控制对象可以是菜单、键盘、输入面板、虚拟显示器或虚拟触控屏。在手势500中,用户的手502对传感器套件152可见,并且定向为使得手掌504可见。
图6示出了作为菜单的控制对象600。所示菜单具有四个按钮,其中一个按钮激活第二控制对象的显示。手势500仅仅是用户希望显示控制对象600的单个指示,并且可以在用户102使用手502执行特定工作功能时由于其他原因而发生。当仅使用单一因素来确定意图时,可能会出现过多的假警报。控制对象的虚警激活可能会分散注意力,并且在用户用手工作的场景中可能更普遍。
因此,可以通过多因素意图确定用于调用控制对象600。在一个示例中,多因素意图确定包括双因素意图确定。使用任一只手的手势500可以是一种指示。另一个指示可以是朝向手掌504的眼睛注视510、朝向手掌504的头部注视520和语音命令中的任何一个。
控制对象600显示在AR环境300中靠近用户102的位置,例如停靠在手502的一侧。这允许控制对象600与手502一起移动。当检测到手势500时,诸如施加到手502的辉光或高亮效果之类的视觉指示提醒用户102已经检测到手势500。
当控制对象600没有显示在AR环境300内的任何地方时,或者甚至当控制对象60固定在适当位置时,用户102可以调用控制对象600。
一旦控制对象600对接到手502,并且手502继续保持姿势500,则即使眼睛注视510和头部注视520指向其他地方,控制对象600保持对接(并显示)。然而,当手502移出手势500时,计时器154启动作为用于显示控制对象600的超时。超时时间(过期值)为两秒。在超时时段期间,控制对象600将保持在固定位置。
在另一个示例中,用另一只手802执行手势500将导致控制对象600停靠到另一只手中802,并取消计时器154。
如果在超时时段到期时,用户102没有提供继续与控制对象600一起工作的意图的指示,则控制对象600的显示停止。控制对象600将从AR环境300移除,或者控制对象600可以弹回AR环境300内的先前位置。
然而,如果用户102确实提供了与控制对象600一起工作的意图的指示,则在定时器154达到到期值之前(例如超时周期结束),控制对象600的显示继续。
在一个实施例中,使用控制对象600的意图的指示包括指向控制对象600和/或在控制对象600的接近阈值1002内的手。任一只手可以用于指示继续与控制对象600一起工作的意图,手势500召唤控制对象600的手502,或者另一只手802。
图7示出了用户102给出意图用手502使用控制对象600的指示700,手502是与用于调用控制对象600相同的手。在图7中,手502在超时时间段内翻转,使得手502的背部704对传感器套件152可见,并且手指706指向控制对象600。
另外,手502在控制对象600的非常接近的范围内。根据可访问性考虑,在超时时段期间以及在检测到指示700之后,控制对象600在AR环境300内保持固定就位(世界锁定)。
图8示出了用户102使用双手,一只手502召唤控制对象600,另一只手802(不同的手)给出使用控制对象600的意图的指示700。
在图8中,手指806指向控制对象600,另一只手802的背部804对传感器套件152可见,并且另一只手802在控制对象600的附近。图,同时存手势500和指示700。当使用双手时,手势500或指示700可以保持控制对象600的显示。然而,当面向手掌的手势500和指示700都消失时,计时器154开始倒计时以清理控制对象600的显示。
图10示出了用于控制对象600的接近阈值1002。接近条件可以充当用户102打算使用控制对象600的指示1000。当手502或另一只手802在控制对象600的接近阈值1002内时,指示1000可以用作继续显示控制对象600。
在一个示例中,眼睛注视510继续显示控制对象600。然而,当没有手在控制对象600的接近阈值1002内时,指示1000不是真的(并且眼睛注视510在其他地方),计时器154启动以清理控制对象600。接近阈值1002可以是10厘米(cm)。
图11示出了在由控制对象600进行对接之前的持久性对象1100的显示。在所示的示例中,持久性对象1100是输入面板,它可以是控制对象。
在一个示例中,持久性对象1100可以是控制对象121-123中的任何一个,例如另一个菜单、键盘、虚拟显示器或虚拟触控屏。
图12示出了停靠到持久性对象1100的控制对象600。在持续性对象1100的显示开始后不久,控制对象600停靠到持续性对象110。
在图12中,菜单停靠位置是持久性对象1100的左侧,控制对象600仅停靠到手或持久对象1100(其由控制对象600激活),或者在定时器154是超时周期的倒计时时保持固定在适当位置。
一旦控制对象600对接到持久性对象1100,它就保持可用,并且在AR环境300内固定在适当位置。换句话说,控制对象600的显示继续,而持久性对象1100保持在AR环境300内。
在一个示例中,当持久性对象1100由用户102解除时,控制对象600同样被解除。在其他实施例中,当永久性对象1100由用户102解除,则控制对象600保持超时时段,以允许用户102提供指示700或指示1000来保持控制对象600的显示。
图13示出了用户102在调整对接布置1200的位置时抓握的操纵点1300。当手502接近对接布置1200时,操纵点1300高亮显示以向用户102示出其边缘。
图14示出了用户102通过用手502抓住操纵点1300并移动手502来重新定位对接布置1200。一旦重新定位,对接布置1200将保持在新位置,直到用户102再次重新定位对接布置1200或解除对接布置1200。
图25A和25B一起示出了示例性操作的流程图2500。
操作2502启动AR环境。操作2504向AR环境内的用户提供关于使用多因素意图确定来调用第一控制对象的教程。
与操作2508–2512一起执行的操作2506执行多因素意图确定,用于在AR环境中使用第一组指示来调用第一控制对象。第一组指示包括多个指示。第一组指示包括从由以下组成的列表中选择的至少两个指示:手势、眼睛注视、头部注视、手指位置、手的运动、菜单选择和语音命令等等。
操作2508检测第一指示,并且操作2510检测第二指示。操作2512提供检测第一组指示中的至少一个指示的视觉指示。在视觉指示包括显示手的高亮效果。
操作2514包括,至少基于指示用户的召唤请求的第一组指示,在AR环境中在靠近用户的第一位置显示第一控制对象。
2516有条件地继续显示第一控制对象,同时保留第一组指示中的至少一个指示。
操作2518检测第一组指示中的至少一个指示的丢失。判定操作2520确定是否已经检测到使用第一控制对象的意图。
如果不是,则操作2522包括,至少基于检测到至少一个指示的丢失,启动计时器。
判定操作2524确定计时器是否已经过期。如果是,则流程图2500前进到操作2526。
操作2526包括,至少基于计时器达到到期值并且没有检测到使用第一控制对象的意图的指示,停止显示第一控制对象。
流程图2500然后返回到操作2506。然而,如果在判定操作2524中,计时器尚未过期,则操作2528继续显示第一控制对象,同时计时器尚未达到过期值。流程图2500然后返回到决策操作2520。
如果在判定操作2520中,已经检测到使用第一控制对象的意图,则操作2530停止并重置计时器。
操作2530包括,至少基于在定时器达到到期值之前检测到使用第一控制对象的意图的指示,继续显示第一控制对象。
操作2532检测持久性对象的激活。如果没有持久对象被激活,则流程图2500返回到操作2516。
继续图5B,如果持久对象已经被激活,则操作2534包括至少基于对第一控制对象的选择来显示持久对象。操作2536将第一控制对象停靠到持久性对象。操作2538继续显示第一控制对象,同时持久性对象保持在AR环境内。
操作2540包括,至少基于对第一控制对象或持久性对象的选择,显示第三控制对象。操作2542将第三控制对象停靠到持久性对象或第一控制对象。
在操作2544中,用户移动离开第一控制对象。操作2546将第一控制对象重新定向为面向用户。操作2546包括,至少基于第一控制对象的面向方向和从第一控制对象到用户的方向之间的角度超过阈值角度,重新定向第一控制对象以面向用户。操作2548包括至少基于第一控制对象和用户之间的距离来缩放第一控制对象,并包括括至少基于第四控制对象和用户之间的距离来缩放第四控制对象。
操作2550使用AR环境中的第二组指示来执行多因素意图确定,用于从AR环境内的持久性对象上的停靠位置调用第一控制对象,第二组显示包括多个显示。
操作2550可以类似于操作2508。操作2552包括,至少基于指示用户的召唤请求的第二组指示,在AR环境中在靠近用户的第二位置显示第一控制对象。
基于可选的实现选择,然后执行操作2554–2558中的一个。操作2554包括,至少基于将第一控制对象显示在第二位置,将持久性对象保持在AR环境中的当前位置。操作2556包括,至少基于在第二位置显示第一控制对象,从AR环境中移除持久性对象。
评论