微软AR/VR专利探索基于速度的手势交互控制
基于速度的手势控制
(映维网Nweon 2022年06月15日)尽管虚拟现实和混合现实技术今天最常见的交互控制方法是使用控制器,但开发者和研究人员一直在探索用户与数字对象交互的最佳方式。随着技术的发展,裸手交互越发成为MR/VR系统的重要输入方式。在名为“Velocity-based controls”的专利申请中,微软就探索了用于裸手交互的技术。具体来说,所述发明描述了基于速度的手势控制。
图1A描绘了在头戴式显示器设备102呈现的示例混合现实体验100。显示器104呈现的混合现实内容包括具有虚拟控件110A和110B的用户界面108,以及温度读数112。
在这个示例中,虚拟控件110可用于改变位于物理环境106中的恒温器设置,从而控制物理环境中的温度。例如,恒温器可以通过无线通信链路通信地耦合到头显设备102。
头显102实现手部追踪管道,从而允许用户116通过操纵手部114来提供输入。在一个实施例中,头显102捕获周围环境的图像帧。当手114位于成像系统的视场内时,可以在一个或多个图像帧中捕获手的姿势、运动和/或其他方面,并进行分析以确定输入。
例如,可以对手114成像以确定用户116的食指指尖的位置,其中指尖位置可以用于控制光标、检测虚拟控件110的选择和/或导出任何其他合适的信息。
头显102分析手114的感测方面,以确定是否满足为虚拟控件110定义的选择条件。当满足标准时,触发虚拟控件110及其相应功能的执行。图1B示出了为虚拟控件110B定义的选择条件的满足情况,并触发控件外观的变化,从而提供指示其选择的视觉反馈。
在图1A和图1B中,我们可以看到虚拟控件110A和110B可以精准地附接到墙面。为了将虚拟控件110准确地连接到墙118,可以对墙进行表面分析。
例如,头显设备102可以基于成像系统收集的图像数据来制定墙118的几何表示。然而,表面分析处理可能会受到错误的影响,比如说由于捕获的图像数据中的噪点。这种错误可能导致墙118的映射不准确,反过来可能表现为虚拟控件110与墙118的连接不准确。
图2示出了将虚拟控制器110B连接到墙壁118的潜在不确定性示例。在所述示例中,虚拟控件110B需要连接到墙118,以便与墙基本共面,从而实现一种有形性和真实性,并潜在地模拟真实控件的外观和/或功能。
但由于表面分析过程中的错误,映射墙118的精度,或者更具体地说,确定墙壁外表面200位置的精度限制为沿墙的法线方向的距离202。
换言之,尽管虚拟空间110B设计为与墙壁118外表面200共面,但连接过程的精度使得虚拟控件可以定位在距离202内的任何位置。如果需要虚拟控件110B与墙118的共面连接,可以将控件的z坐标(例如深度坐标)设置为基本等于墙的z坐标。
但如果连接过程中存在误差,则墙的z坐标可能会表现出由距离202表示的不确定性。其他误差源可能会对将混合真实内容附加到物理表面的过程造成进一步的不确定性,包括但不限于手部追踪、眼动追踪、显示光学和渲染中的误差。
为了解决所述问题,微软提出了一种基于速度的选择条件。如下所述,基于速度的选择条件可以定义为在检测到用户手指的速度降低到阈值速度以下时触发控制。所述速度可相对于控制装置所附的物理表面进行测量。
微软指出,这一解决方案利用了对人类行为的观察,并提供了与用户期望和感知更紧密一致的虚拟控制。
具体来说,当用户尝试选择虚拟控件时,人类手指或手动输入设备往往会表现出一定的速度特性。例如,对于连接到物理表面的控件,用户手指可能会在手指触及表面时显示速度下降。当用户尝试按下未连接到物理表面的控件时,我们同样可以观察到速度下降。
因此,速度下降可用于推断用户感知到控制装置将定位的位置,然后可以根据用户感知对控制装置的驱动进行计时。
另外,如果控件的感知位置与其显示位置之间存在偏移,则可以基于偏移来调整控件和/或基于速度的选择条件的各个方面。例如,可以进一步将控件定位和/或触发定时与用户感知对齐,并调整触发控件的灵敏度。
所以,微软认为专利描述的方法可以帮助校准将控件连接到物理表面的过程,量化和减少表面分析过程中的不确定性,并提供适应用户感知的用户界面,从而改善用户体验。
图3A示出了如何为虚拟控制110B定义基于速度的选择条件,并将其用于选择性地触发虚拟控制110B。参考虚拟控制110B的表示300来说明基于速度的选择条件,其中所述表示的各个方面可用于定义和/或识别基于速度的选择条件的满足度。
在一个示例中,表示300可以对虚拟控件110B的外观和几何体进行编码。然而,虚拟控件及其表示可以采用任何合适的维度和形式。例如,可以为后续触发检测定义表示300的以下一个或多个方面:表示的中心位置、表示的法线方向302、指示表示方向的向上方向,表示的长度和宽度等等。
如上所述,基于速度的选择条件可以包括用户手指的速度降低到阈值速度以下,即速度下降。在一个实施例中,所述准则可定义为用户手指的瞬时速度是用户手指平均速度的预定分数。
瞬时速度和平均速度可以从任意适当数量的n个图像帧中确定,其中n可以调整以调谐虚拟控制驱动的灵敏度和/或基于如下所述的用户反馈。另外,用户手指的速度可以相对于虚拟控制器110B连接到的墙118确定,或者在与之相对应的参考帧中确定。
通常,用户手指或其他指定输入设备的速度可以相对于虚拟控件附着的物理表面或虚拟控件未附着的不同物理表面进行测量。在其他示例中,可以相对于虚拟表面或由其执行提供混合现实体验100的应用程序建立的表面来测量速度。虚拟表面可以定位在物理环境中的固定位置。
速度下降标准可通过其他方式定义。例如,速度下降标准可以根据加速度来定义。例如,所述标准可以包括识别预定加速度、识别用户手指的加速度降低到阈值加速度以下,和/或识别沿法线方向302从表示300到预定距离的预定加速度。
作为另一示例,速度下降标准可以包括用户手指相对于表面的速度至少以阈值速率下降。
图3A进一步描绘了为虚拟控制110B定义的命中区域304,其中命中区域可用于识别为控制定义的基于速度的选择条件的满足情况。
在这个示例中,命中区域304是从表示300沿法线方向302挤出的三维形状,例如长方体。在其他示例中,可以通过沿法线方向302或另一方向部分挤出表示300来定义命中区域。
在一个实施例中,确定是否满足为虚拟控制110B定义的基于速度的选择条件可以响应于用户手指或其他指定输入设备的位置是否已进入命中区域304。作为一个示例,图3A描绘了命中区域304内用户手指308的指尖位置306。
当检测到指尖位置306已进入命中区域304时,头显102可开始评估是否满足为虚拟控件110B定义的基于速度的选择条件。在头显102获取或处理图像帧序列的示例中,指尖位置306可以每个帧更新,以确定是否应该评估基于速度的选择条件的满足度。
基于速度的选择条件可以包括用户手指在命中区域304内的位置。例如,如果指尖位置306进入但随后离开命中区域304,则头显102可以停止评估基于速度的选择条件和其他处理步骤的满意度。
换句话说,指尖位置306偏离命中区域304可能导致基于速度的选择条件不满足。因此在这样的示例中,可以在指尖位置306在命中区域304内而不是指尖位置在命中区域之外时,确定满足基于速度的选择条件。
鉴于所述标准和相对于物理表面定位虚拟控件的不确定性,命中区域304在表示300的上方和下方延伸,以便即使指尖位置306低于表示,都可以实现基于速度的选择条件的满足。
例如,如果需要虚拟控件110B与墙118的共面布置,但虚拟控件放置在墙118前方一段距离处,则命中区域304允许在其标准满足指尖位置306高于和低于表示300的情况下检测基于速度的选择的满足度。然而,命中区域可以相对于虚拟控件的任何适当扩展。例如,命中区域可以扩展到控件上方而不是下方,可以扩展到控件下方而不是上方。
基于速度的选择条件可以包括用户手指308,其沿着虚拟控件110B的表示300的法线方向302至少遍历阈值距离310。为此,可以确定在命中区域304内沿法线方向302穿过的距离。另外,基于速度的选择条件可以包括用户手指308沿表示300的法线方向302的主要运动方向。
由于用户手指308可能经历三维运动,因此可以预期在法线302以外的方向上的一定运动;然而,如果用户手指的运动主要是在正常方向以外的方向上,则这可能指示用户意图执行除触发虚拟控制110B之外的动作。
因此,定义基于速度的选择条件以包括主要沿法线方向302的用户数字运动可以过滤掉否则可能被识别为误报的这种意图。可以以任何合适的方式确定和比较用户数字308在每个方向上的运动。例如,可以计算表示用户数字308在命中区域304中的平均运动的向量及其方向分量(例如,沿法线方向302和两个垂直方向的分量)。
在这个示例中,如果向量在法线方向上的分量大于其他分量,则可以主要考虑用户数字308沿法线方向302的运动。作为另一示例,可以将角度阈值应用于用户数字308的运动,以将指向虚拟控制110B的运动与指向别处的运动分离。
在一个示例中,基于速度的选择条件可以包括上述所有标准。在这类示例中,在确定(i)用户手指的速度降低到阈值速度以下时,满足基于速度的选择条件;(ii)用户手指的位置保持在相应的命中区域内;(iii)用户手指已沿相应虚拟控件表示的法线方向至少穿过阈值距离;以及(iv)用户手指的主要运动方向沿虚拟控件表示的法线方向。例如,可通过满足标准(i)-(iv)来提示驱动虚拟控件110B及其相应功能的执行。
在一个示例中,在触发虚拟控件110B之后,随后触发虚拟控件110B的能力可能取决于满足为虚拟控件定义的重置条件。换言之,在这样的示例中,在满足重置条件之前,虚拟控件110B可以不可触发。图3B示出了为虚拟控件110B定义的示例复位条件,其中复位条件包括用户手指或其他指定的输入设备在法线方向302上穿过距离表示300至少一个阈值释放距离312。
在所述示例中,释放距离312是从位置314测量。其中,指尖位置306在命中区域304中最接近表示300。在满足重置条件时,虚拟控件110B可以重置为空闲状态,其中虚拟控件可触发。在一个示例中,可以定义重置条件,使得如果指尖位置306退出命中区域304,则虚拟控件110B重置为空闲状态。
如上所述,用户感知到的虚拟控件的位置可以从其用户输入的各种特征推断出来。例如,满足基于速度的选择条件的用户数字的位置基本上可以推断为用户感知到的虚拟控件的位置。所述感知位置可与虚拟控件的显示位置进行比较,以确定可用于更紧密地将控件行为与用户感知对齐的偏移量。
图4示出了在连接到表面404的虚拟控件403的感知位置402和虚拟控件的显示位置406之间确定的示例偏移400。
在这个示例中,感知位置402是从用户手指408的运动推断出来。例如,感知位置基本上可以推断为如上所述检测到速度下降的位置。然后,偏移400可以确定为感知位置402和显示位置406之间的距离,沿表面404的法线方向410。
为了使虚拟控件403的行为更接近于推断的用户感知,可以基于偏移400调整虚拟控件的各个方面。例如,可以调整虚拟控件403的表示的显示位置406,例如,使得显示位置与感知位置402基本匹配。
可选地或附加地,可以基于偏移400来调整与为虚拟控制403定义的基于速度的选择条件相关的一个或多个标准或方面。例如,为虚拟控制定义的命中区域的位置、命中区域的大小、阈值速度、瞬时速度与用户手指408的平均速度的预定比率/分数等等。
另外,可以基于用户反馈调整为分配给虚拟控件403的命中区域定义的释放距离(例如释放距离312)。
例如,在初始释放距离设置为1.5cm的情况下,如果虚拟控件403放置在距离表面410 2cm的位置,并且在用户手指408的位置距离表面1cm的情况下成功触发虚拟控件,则释放距离可以调整为0.5cm。通常,释放距离可以基于用户手指沿控件的法线方向与虚拟控件的最近距离来调整。
可以调整各种其他参数/标准,以改变触发虚拟控制的灵敏度,并控制控制驱动控制的真阳性和假阳性指示的速率。调整触发灵敏度可能会降低或增加虚拟控件的触发难度。作为一个示例,通过将瞬时速度的预定分数从大约1/5更改为平均速度,可以使虚拟控制更容易触发。
在一个示例中,可根据基于速度的选择条件触发未连接到物理表面的虚拟控件。可选地或另外,可根据基于位置的选择条件触发未附接到物理表面的虚拟控件。
在图5A中,头显501未附接到物理环境502中的物理表面,而是看起来在物理环境中浮动。可在检测到基于位置的选择条件的满足时触发虚拟控制500,而选择条件可包括进入为虚拟控制定义的命中区域的指尖位置504(或另一指定输入设备的位置)。
在一个示例中,基于速度的选择条件和基于位置的选择条件之一可用于确定是否基于虚拟控件500对物理表面的附着或不附着来触发虚拟控件500。例如,头显501可以确定虚拟控件500未连接到物理表面,例如通过分析用户输入、推断用户意图、分析物理环境502,并且响应于所述确定,使用基于位置的选择条件来影响虚拟控件的触发。
如图5B所示,虚拟控件500可连接和分离到物理表面。在所述示例中,头显501可以确定虚拟控件附接到物理表面(例如台面506),并且响应于所述确定,使用基于速度的选择条件来实现虚拟控件的触发。
通常,头显501可以利用表面识别、对象识别和/或任何其他合适的技术来识别虚拟控件对一般表面或特定类型表面的附着或不附着,并相应地选择基于速度和基于位置的选择条件之一。
名为“Velocity-based controls”的专利申请最初在2020年11月提交,并在日前由美国专利商标局公布。