/ Nweon / 0浏览

苹果AR/VR专利提出连续手势的运动追踪映射



映维网Nweon
2024年08月19日

)用户倾向于使用基于人体解剖学约束的弧形运动。例如,摆动手臂的人类将根据肩关节、肘关节、腕关节或类似关节的约束以弧形移动。当将这种弧形运动作为输入应用于用户界面时,可能会诸如意外输入、无意方向移动和抖动等问题。

在名为“Motion mapping for continuous gestures”的专利申请中,
苹果
提出通过追踪球面坐标系统中基于手势的输入,并将手势从球面坐标系统转换为用户界面平面的2D坐标系统,从而解决相关问题。

这家公司指出,发明改进了将用户运动映射到用户界面的过程,从而提高了设备分析用户输入的能力,并改进了用户界面本身。

在一个实施例中,可以检测到用户的输入运动。可以确定输入运动的起源,例如关于运动弧。输入运动的起源可能与用户的位置有关。例如,起源可以基于用户关节的位置来确定,例如肩部、肘部、手腕或类似。

起源可以沿着向量定位,或者起源于其中一个关节,例如来自其中一关节的重力向量,连接到关节的向量或者类似。弧长可以基于手或手势中心的确定位置来确定,例如作为捏或点的确定中心。然后,弧长可以转换为2D用户输入组件,如用户界面平面。

手势中心的运动可以通过确定可归因于肩部旋转的手势中心运动量、可归因于肘部旋转的手势中心运动量以及可归因于手腕旋转的手势中心运动量来确定。相关运动计算中的每一个都可以以向量的形式确定,当相加时,向量提供了质心手势的完整运动。

以这种确定用户输入运动的方式分解生物力学链提供了技术改进。例如,手势追踪和身体追踪系统以更准确或更频繁的方式提供关节位置。通过确定可归因于各种关节旋转的手势中心运动的方向和/或距离,这可以更准确地反映用户意图。

在图1A中,用户102正在查看显示设备106,并使用手势运动114a来修改用户输入组件120。如图所示,由手104a引起的动作114a以弧形动作提供。球面坐标系提供了与原点104a相关的运动114a的弧长。

运动114a的弧长可以基于半径112a确定,半径112a从起源110a确定到手104a的手势中心。手势中心104a是手上或手附近空间中的一个点,其确定为手执行的输入手势的中心,并用于确定手势的弧长。因此,手势中心通常可以定位为与手上或手附近的点重合。

如运动114a所示,3D空间中的用户运动映射到2D用户界面平面,例如显示器106的用户界面118。基于用户运动114a的映射,用户输入组件120可以在用户界面118的2D平面上沿方向122移动。

转向图1B,从手104b(到用户身体的距离变化导致球面坐标系的起源发生变化。例如,当用户将手拉向身体(例如弯曲肘部)时,起源可能会转移到不同的位置。

在一个实施例中,起源转移到不同的关节,如110A所示,位置与肘部重合,而不是与肩部重合。或者,起源可以向下移动到肩部的矢量,如肩部的重力矢量,或从肩部到肘部或其他关节的矢量。

作为另一个例子,向量可能起源于躯干的位置,并朝下方向。另外,更新的起源位置可以基于手和/或手势中心与用户的动态距离来确定,例如与手和/或者手势中心与使用者躯干或肩部位置的距离成比例。

同样,运动114b的弧长可以基于半径112b来确定,半径112b从更新的起源110b确定为手104b的手势中心。如运动114a所示,3D空间中的用户运动被映射到2D用户界面平面,例如显示器106的用户界面118。

因此,基于用户运动114b的映射,用户输入组件120可以在用户界面118的2D平面上沿方向122移动,由于不同的起源和弧长,其可以提供与运动114a不同的输入。

图2描述了将用户输入运动从球面坐标系映射到提供用户输入的2D UI平面的流程图200。

从205开始,在一个场景中监控一只或多只手。例如,可以通过用户设备的手追踪系统监控手。

在210,检测到输入运动。

在215,确定手与身体参考点之间的距离。例如,身体的参考点可以根据使用者的肩膀、躯干、头部位置、颈部位置或类似位置确定。

在220,确定输入运动的起源。在一个实施例中,起源确定为与用户肩部位置一致。另外,肩部位置可根据估计胸部姿势的固定偏移确定。例如,胸部姿势可以通过确定胸部面向的方向来指示使用者躯干的方向。例如,可以根据面向身体的摄像机或捕获用户胸部的其他传感器信息来确定胸部姿势。

在一个实施例中,起源可能位于与肩部不同的位置。例如,起源位于某些情况下与其他关节重合的点。换句话说,起源可以定位在与用户肘部一致的点,与用户手腕一致的点或类似的点。

在225,为输入运动确定弧长。弧长是根据球面坐标系确定的。根据一个或多个实例,球面坐标系可能起源于与用户相关的点,因此可能是以用户为中心的球面坐标系。弧长可能表示手在输入运动期间执行的手势的距离和方向。

在230,输入运动从球面坐标系映射到与UI相关联的二维平面。弧长沿颈和节距测量,并映射到X和Y坐标。弧长映射到Z坐标。球面坐标系中的坐标投影在UI平面。

在23,基于映射在UI平面修改UI组件的表示。例如,光标或其他输入组件可能会根据映射沿UI平面移动。由于映射将距离视为方向,所以基于UI组件的变化表示,相应的距离和方向将变得明显。

图3显示了修改起源的技术流程图。从310开始,根据肩部位置确定初始起源位置。在一个实施例中,初始位置可能是确定与肩部位置一致的位置。

或者,起源可能基于从确定的关节位置的偏移,例如与肩部位置的矢量起源、肘部或手腕交叉或类似。换句话说,根据一个或多个情况,手和/或身体追踪可用于确定和追踪手臂和/或手的不同关节。初始位置可根据追踪确定的接头之一确定。

图4显示了用于运动映射的身体上各种位置的图表。具体而言,肩部408显示在确定的颈部位置406和确定的头部位置404。在某些情况下,提供运动映射的系统可以同时追踪头部位置404和/或颈部位置406,并从所述位置可以确定肩部位置。

返回图3,在315,确定从初始起源到手的距离。或者,距离可以根据手部位置、手势中心或参考位置确定。图4示出了距离416的示例。在图4的示例图400中,确定肩部位置408和手势质心414之间的距离。

在320,基于从315确定的距离修改初始起源位置。如图4所示,根据用户的姿势,例如手和肩膀之间的距离,起源可以可选地位于肘部410或手腕412。

在325,根据重力矢量或来自起源位置的躯干向下矢量确定修改的起源位置。

在330,可以沿着从肩部位置到另一位置的向量确定修改的起源位置。

在335继续,为运动确定弧长。弧长是根据执行手势时用户手在3D空间中沿着曲线路径的距离确定的。

在340,输入运动从球面坐标系映射到基于修改原点的用户界面平面的2D坐标系。

图5描述了一个示例系统设备500。特别地,图5示出了用户102使用手104的手势运动514导致用户输入在显示设备106修改用户输入组件120。如图所示,由手104引起的动作514以弧形动作提供。球面坐标系提供了运动514与起源502的弧形链接。球面坐标系统的原点502位于腕部。

运动514的弧长可以根据半径512确定,半径512从起源502确定到手势质心104。手势中心104是空间中的一个点,确定为手执行输入手势的中心。因此,手势中心通常可以定位为与手上或手附近的点重合。

如运动514所示,3D空间中的用户运动映射到2D用户界面平面,例如显示器106的用户界面118。例如,基于用户运动514的映射,用户输入组件120可以在用户界面118的2D平面上沿方向122移动。

图6显示了基于手腕位置的映射和输入运动技术的流程图。

从605开始,确定用户的手腕位置。例如,可以基于手动追踪技术或基于捕获的用户手腕的图像数据或其他传感器数据来确定手腕位置。

在615,基于腕部位置确定起源。

可选地,如625所示,可以根据从肘关节到腕部位置的向量确定起源位置。

在630,输入运动从球面坐标系映射到与UI相关联的二维平面。如可选640所示,可以选择灵敏度水平进行映射。灵敏度水平可以指示输入运动映射的比例。

流程图600在645结束,其中基于映射在UI平面上修改UI组件的表示。例如,光标或其他输入组件会根据映射沿UI平面移动。由于映射将距离视为方向,因此基于UI组件的变化表示,相应的距离和方向将变得明显。

图7显示了可随时间追踪的各种关节位置的示例图。这包括一个肩部708,它可能是定义用户输入运动的起点。当手势开始时,手臂可能与肩部位置708、原始肘部位置710和原始腕部位置712相关联。

在用户输入手势的第二点,一个或多个关节可能会移动到新的位置,如最终肘部位置720、最终手腕位置722和最终手势中心724所示。

根据一个或多个实例,从原始关节位置到最终关节位置的运动结果可确定为手势中心运动730。在一个实施例中,基于原始手势中心714和最终手势中心724确定手势中心运动730可能导致错误。例如,由于每个关节都有用户的运动,手势中心体运动730的用户意图可能会丢失。

另外,当仅考虑两个关节位置时,手或身体追踪数据中的伪影可能导致确定手势中心体运动730的错误。因此,所以确定可归因于每个关节的运动量。当追踪数据不仅可用于手势中心位置,而且可用于手臂上的一个或多个额外关节位置时,这可能会非常有用。

一般来说,发明旨在分解沿臂的生物力学链,以识别初始姿势和最终姿势之间的运动损失。例如,第一帧或第一组身体追踪数据可以在第一姿势中为手臂提供姿势信息,第二帧或第二组身体追踪信息可以在第二姿势中为手臂提供姿势信息。这样可以确定从第一个姿势到第二个姿势的运动。

恢复丢失运动数据的示例过程开始于图8A。图800A依赖于手臂的原始姿势,包括肩部位置708、原始肘部位置710、原始手腕位置712和原始手势中心位置714。

一开始,确定可归因于肩部708旋转的手势质心运动730的特征。最初,确定肩部旋转820。肩部旋转820可以基于从肩部位置708到原始肘部位置710的第一段和从肩部位置70到最终肘部位置720的第二段之间的角度距离来确定。

一旦确定了肩部旋转820,则肩部旋转的相关角度可用于推断其他关节将在图7所示的输入运动结束时结束的位置。如果肩部旋转,但其他关节保持锁定,使得其他关节不影响臂的运动。

另一方面,可以根据肩部旋转而不是手腕或肩部旋转来估计手腕位置和手势中心位置。相关估计位置对应于估计的最终手腕位置和最终手势中心位置。由于肩部旋转820,第一腕部猜测812指示从原始腕部位置712的平移位置。类似地,第一个质心猜测814指示由于肩部旋转820,从原始手势质心位置的平移位置。

在确定第一个质心猜测814时,可以确定第一个手势质心矢量824。第一个手势质心矢量824可能指示手势质心运动730的特征。

根据一个或多个实例,第一个手势质心向量824可以以单位向量的形式确定。第一个手势质心向量824可以基于第一个囊质心猜测在坐标空间中表示。

图8B示出确定可归因于肘部旋转的运动特性。图800B显示了两个混合臂姿势。在图中,第二个混合姿势对应于可归因于肘部旋转830的手势中心的估计位置,并且不考虑手腕的任何旋转。

肘部旋转830可以基于从最终肘部位置720到第一腕部位置812的第一段和从最终肘部定位720到最终腕部位置722的第二段之间的角度距离来确定。由于肘部旋转是根据第一手腕位置812而不是原始手腕位置712确定,因此肩部引起的运动实际上是从肘部的全运动推断出来。

在确定第二个质心猜测834时,可以确定第二个手势质心矢量826。第二个手势质心矢量826可以指示可归因于肘部旋转830的手势质心运动730的特征。

图8C示出确定可归因于手腕旋转的运动的特征。腕部旋转840可以基于从最终肘位720到第一腕部猜测位置812的第一段和从最终肘位置720到最终腕部位置722的第二段之间的角度距离来确定。

第三手势质心矢量828可以基于第二质心猜测834和最终质心位置724来确定。第三手势中心体向量828可以指示可归因于手腕旋转840的手势中心体运动730的特征。例如,距离和/或方向可以由第三手势质心向量828表示。

转向图8D,如图850所示,最终输入运动矢量852可以通过添加图8A的第一手势质心矢量824、图8B的第二手势质心向量826和图8C的第三手势质心向量828来确定。根据一个或多个实例,第一手势中心向量824、第二手势中心向量826和第三手势中心向量828可以以单位向量的形式表示。

因此,输入运动向量852可以提供用户输入运动的最终方向。输入运动向量852可以缩放为一个单位向量,然后乘以原始手势中心714和最终手势中心724之间的距离,以获得比简单分析更准确反映用户意图输入运动的距离和方向。

一旦确定了输入运动矢量852,则可以将输入运动矢量852转换为用户输入动作。在示例用户界面860显示中,输入运动矢量852被转换为输入运动870,从而致使项目沿用户输入平面移动。根据一个或多个实例,输入运动矢量可以在2D或3D中确定。类似地,如果需要,用户输入运动可以转换为2D或3D。


相关专利


Apple Patent | Motion mapping for continuous gestures

名为“Motion mapping for continuous gestures”的苹果专利申请最初在2023年9月提交,并在日前由美国专利商标局公布。