(
映维网Nweon
2024年09月20日
)基于手势的输入特别适合在AR/VR中实现直观的交互。然而,基于手势的输入通常存在诸多限制,包括缺乏约束(开发者可能将任何物理可能的动作设置为手势),以及不同用户的功能和偏好之间缺乏一致性等等。
在一个示例中,开发者将大多数右手手势定义为主要输入,而这可能会令左撇子用户感到沮丧。另外,活动范围有限的用户可能无法可靠地重新创建执行特定功能所需的输入。
在一份专利申请中,
索尼
提出了一种可以根据用户手势生成输入的输入生成系统。其中,不是利用每个交互和预定义手势之间的预定义映射,输入依赖于用户的交互而与特定手势相关联。映射可以以动态方式定义。
这消除了开发者预先定义这种映射的要求,同时消除了用户随后学习映射的要求,亦即意味着映射根本不需要学习,用户可以简单地继续以直观的方式交互,而不需要有意识地考虑已定义的映射。
在一个实施例中,发明描述的系统包括配置为追踪用户运动的用户追踪单元,配置为识别依赖于用户一个或多个手势的手势识别单元,配置为生成代表所识别手势的输入的输入生成单元。如果不存在所述识别手势到输入的预定义映射,则所述输入生成单元配置为依赖于对所述用户预期交互的预测来生成所述输入。
图1示出用户1佩戴的头戴式显示器120,例如
PSVR
2。利用发明描述的技术,用户能够以可靠和简化的方式来使用基于手势的输入来与系统进行交互。
特别地,对于实施例提供的交互过程,输入依赖于用户的交互而与特定手势相关联。不是利用每个交互和预定义手势之间的预定义映射,映射可以以动态方式定义,依赖于用户在特定功能或交互对象方面检测到的运动。
图2示出用于生成这种映射的方法。
步骤200包括捕获执行手势或以其他方式与对象交互的用户的图像。例如,图像可以捕获使用头显来与虚拟对象交互的用户,又可以捕获正在与一个或多个真实对象交互的用户。
步骤210包括识别正在由用户执行的手势。具体地说,这一步可以包含识别与元素或对象交互的意图的功能。
例如,手势识别可以基于对多个连续图像帧的用户身体位置的识别,或者可以包括追踪预定义的标记或外围设备并基于所追踪特征的运动推断用户运动。可以维护可用于识别手势的手势库,或者可以利用其他识别方法,例如使用经过训练的机器学习模型。
步骤220包括确定与该手势相对应的交互。
步骤230包括生成用于将来参考的映射信息。这可以与立即使用输入相结合,从而在与特定应用程序交互期间实时生成映射。映射信息的生成可以指用户执行的特定动作和与虚拟对象或元素的交互之间的任何相关性的生成。例如,这个映射可以存储在一个查找表中。
根据这种方法,可以确定用户手势和与虚拟对象的特定交互之间的映射,从而消除了开发者预先定义这种映射的要求,同时消除了用户随后学习映射的要求。这意味着映射根本不需要学习,用户可以简单地继续以直观的方式交互,而不需要有意识地考虑已定义的映射。
映射是指由用户执行的手势和为控制应用或类似处理而生成的输入之间的任何对应关系。这可能依赖于上下文,例如基于用户的物理状态、与之交互的应用程序、应用中的环境状态和/或用户特定的首选项。
这可能导致动态映射随时间而变化,而用户通常在手势和输入之间有不同的映射。图3示出用于确定与一个或多个虚拟对象或元素交互的方法。
步骤300包括检测用户正在做出手势,例如基于用户捕获的图像或替代运动追踪数据。这个步骤可以包括正在执行的手势的识别和手势的表征或参数化,以协助与手势相关的进一步处理。
步骤310包括检查所述手势是否已与映射相关联。如果是,则继续执行步骤340,并生成相应的输入。这个 步骤可以以任何合适的方式执行,目的是确认是否有任何现有映射对应于在步骤300中检测到的手势。
如果未确定手势已与映射相关联,则方法转到步骤320,包括检查是否存在类似手势的任何映射。
在步骤320中,可以通过修改检查类似映射来执行与步骤310类似的过程。例如,这可以令特定手势的变化与类似的交互联系起来。
这个步骤同时可以考虑检测到的手势是否是包含两个或多个现有映射元素的复合手势。基于这样的确定,可以使用现有映射来生成输。
如果存在类似的映射并可用于生成适当的输入,则方法继续执行步骤340。但若不存在类似映射,方法转而执行步骤330。
步骤330包括确定手势的上下文,以协助确定适当的输入。这可以是用户的真实世界环境,例如确定用户是坐着还是站着,是否存在空间限制,和/或是否与真实世界的对象进行交互。另外,可以考虑用户在一个或多个虚拟对象/元素/环境方面的上下文。
与用户交互的内容类型同时可以视为上下文的一部分,因为类似的手势可能与非常不同的期望输入相关联,这取决于与用户交互的应用程序或其他内容。
有时候,上下文可能包括对用户操作的预测或期望。例如,如果用户的虚拟形象站在一扇虚拟门前,手里拿着一把钥匙,则用户的手势就应该与钥匙在门使用相对应。同样地,如果用户面对敌人,则用户的手势可能会解释为与战斗相关的输入。预测同时可以包括考虑用户可能的决策结果或要采取的行动,而不是仅仅依赖于对象/环境的上下文。
上下文同时可以包括对参数的考虑,例如一天中的时间、用户关注的程度、用户真实世界环境中其他人的存在、用户真实世界环境中是否存在动物或特定对象,或任何其他可能修改用户手势或建议手势与输入之间的替代或修改映射可能是适当的因素。
然后,方法继续到步骤340,包括生成与所述用户进行交互的系统的输入。输入可用于控制处理,例如通过与虚拟对象或元素交互。另外,生成的输入和检测到的手势可以存储以生成一个映射并供将来使用。当在另一个场合检测到相同的手势时,这可以简化输入生成过程。
有时候,可以从预定数量的选项中选择输入,例如,可以从与游戏相关的可能输入列表中选择输入,或者与可用于提供输入而不是手势的特定外设相关的输入数量。或者,可以自由地生成输入,并与应用程序进行交互,任务是将生成的输入转换为适当的操作。
在基于用户的手势确定预期输入时,可以考虑一个或多个附加输入。例如,注视追踪或类似的可以用来识别一个可能的交互目标,这可以用来确定一个适当的输入。其他输入包括生物识别数据和/或音频数据,例如捕获用户叙述其意图或以其他方式给出其意图指示的音频。
作为替代方案,最后步骤340可以包括将检测到的手势和生成的输入存储为供将来使用的映射,而不向用于控制处理的系统提供输入。
有时候,用户可能希望更改手势映射,或者可能在响应映射时生成不正确的输入。在这种情况下,用户可能能够提供指示生成错误输入的输入或删除已知映射的输入。玩家的挫败感可以从用户状态的生物识别读数、用户声音的捕获音频和/或手势中推断出来。
在这种情况下,可以根据本描述中提供的任何方法生成新的映射,而不是使用现有的映射。
在一个实施例中,可以向用户提供对所检测到的手势的反馈。这种反馈可能是基于与其他用户使用的手势的比较而生成。反馈包括关于用户可以考虑的修改的信息,例如修改以减少用户的压力量或修改以增加用户所享有的控制水平或手势的效率。
另外,反馈确定关于用户要考虑的一个或多个外设或配件的建议。例如,如果用户的手势表明难以握住或使用外设,或者存在损伤,则可能建议使用手腕支撑。类似地,可以向使用难以区分的手势的用户推荐一个外设来提高区分手势的能力。例如,一个指挥棒风格的物体可以帮助区分手势,因为追踪指挥棒的末端将提供一个放大的表示。
图4示出用于根据用户所作的手势生成输入的输入生成系统。
系统包括用户追踪单元400、手势识别单元410、输入生成单元420和可选输入反馈单元430。
用户追踪单元400配置为追踪用户的运动。可以使用捕获的用户图像和/或与用户相关的一个或多个传感器或与用户相关的外设的输出来追踪用户的运动。
手势识别单元410配置为识别依赖于所追踪的运动而由用户做出的一个或多个手势。这可以包括任何合适的特征和/或参数化的追踪运动的用户。另外,一个或多个预定义的手势可以用作描述追踪运动的参考。
输入生成单元420配置为生成代表所识别手势的输入,所述输入用于提供与正在由处理设备执行的应用程序的交互。其中,如果不存在所识别手势到输入的预定义映射,则所述输入生成单元420配置为依赖于对用户预期交互的预测来生成所述输入。
在一个实施例中,输入生成单元420可以配置为根据指示用户的一个或多个偏好或物理特征的用户配置文件生成输入。
输入生成单元420可以配置为根据正在执行的应用程序的可接受输入的确定来生成输入。例如,可以列出与游戏相关联的每个输入,并且可以配置输入生成单元420以选择与所识别的手势相对应的这些输入之一。这种选择可以基于输入和所识别的手势之间的相似性,或者与该输入相关联的动作与手势之间的对应关系。
在识别依赖于所识别的手势而生成的输入时,可以考虑执行手势的上下文。这可以是任何描述预期交互的上下文。
输入生成单元420可以配置为根据类似手势的预定义映射来生成对用户预期交互的预测。输入生成单元420同时可以配置为依赖于用户先前追踪的与现实世界对象的交互来生成用户预期交互的预测。
在一个实施例中,输入生成单元420可以配置为根据用户的反馈确定所生成的输入是否对应于所述用户的预期交。为了响应生成的输入不对应于用户预期的交互的这种确定,可以根据相同的已识别手势或用户重复的手势生成替代输入。
输入生成单元420可以进一步配置为与所识别的手势相关联地存储所生成的输入,以生成可用于未来输入生成的映射。这可以包括手势、输入和/或交互的上下文的存储,以便进一步细化映射。
可选输入反馈单元430配置为根据所识别的手势和/或生成的输入为用户生成一个或多个建议。如上所述,建议可能包括对新外设或设备的建议,以改善交互或健康,和/或修改手势,从而实现改进或更有效的交互。
图5示出用于根据用户所作的手势生成输入的输入生成方法。
步骤500包括追踪用户的运动;这可以使用任何合适的基于图像的追踪安排来执行。
步骤510包括识别依赖于所追踪的运动的由用户做出的一个或多个手势。
步骤520包括生成代表所识别手势的输入,所述输入用于提供与正在由处理设备执行的应用程序的交互。其中,如果不存在所识别手势到输入的预定义映射,则依赖于对用户预期交互的预测生成所述输入。
可选步骤530包括根据所识别的手势和/或生成的输入为用户生成一个或多个推荐。
相关专利
:
Sony Patent | Dynamically updating input system and method
名为“Dynamically updating input system and method”的索尼专利申请最初在2024年3月提交,并在日前由美国专利商标局公布。