姿势风格识别和奖励.pdf

上传人:32 文档编号:1033233 上传时间:2018-03-27 格式:PDF 页数:32 大小:751.90KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010616839.X

申请日:

2010.12.17

公开号:

CN102103408A

公开日:

2011.06.22

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 3/01申请公布日:20110622|||专利申请权的转移IPC(主分类):G06F 3/01变更事项:申请人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150727|||实质审查的生效IPC(主分类):G06F 3/01申请日:20101217|||公开

IPC分类号:

G06F3/01; G06T7/20

主分类号:

G06F3/01

申请人:

微软公司

发明人:

J·蒂亚奎罗

地址:

美国华盛顿州

优先权:

2009.12.18 US 12/642,589

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

黄嵩泉;钱静芳

PDF下载: PDF下载
内容摘要

公开了用于确定一给定姿势是否是以特定风格来执行的系统、方法和计算机可读介质。该风格信息然后可用于个性化游戏或多媒体体验,从而因用户的个人风格而奖励用户。

权利要求书

1: 一种在包括计算环境的系统中的方法, 所述计算环境耦合到用于捕捉用户运动的捕 捉设备, 所述方法个性化软件应用程序中的用户体验, 所述方法包括以下步骤 : a) 在通过 / 失败的基础上检测用户是否执行了姿势 ; b) 除了检测用户是否执行了姿势之外, 检测与用户如何执行所述姿势有关的至少一个 性质方面 ; 以及 c) 基于在步骤 b) 中检测到的所述至少一个性质方面向用户提供反馈。
2: 如权利要求 1 所述的方法, 其特征在于, 所述步骤 b) 包括将所述步骤 a) 中获得的参 数与关于所述至少一个性质方面的一组所存储的规则进行比较的步骤。
3: 如权利要求 1 所述的方法, 其特征在于, 所述步骤 b) 包括将所述步骤 a) 中导出的参 数与关于所述至少一个性质方面的一组所存储的规则进行比较的步骤。
4: 如权利要求 1 所述的方法, 其特征在于, 所述步骤 b) 包括分析以下的至少一项的步 骤: b1) 沿着三条轴相对于所述捕捉设备的最大和最小位置 ; b2) 沿着三条轴随时间的位置变化 ; b3) 沿着三条轴的最大和最小速度 ; b4) 沿着三条轴随时间的速度变化 ; b5) 沿着三条轴的最大和最小加速度 ; b6) 沿着三条轴随时间的加速度变化 ; 以及 b7) 面部表情。
5: 如权利要求 4 所述的方法, 其特征在于, 所述步骤 b) 还包括对多个不同身体部位分 析 b1) 到 b6) 中的至少一项的步骤。
6: 如权利要求 5 所述的方法, 其特征在于, 所述步骤 b) 还包括将所分析的 b1) 到 b7) 中的至少一项的参数与定义与给定姿势相关联的风格的一组存储的规则进行比较的步骤。
7: 如权利要求 5 所述的方法, 其特征在于, 所述步骤 b) 还包括对等于以下中的一项的 时间段分析 b1) 到 b7) 中的至少一项的步骤 : b8) 完成所述姿势之前的预定时间段 ; b9) 执行所检测的姿势所需的时间长度 ; 以及 b10) 执行所检测的姿势所需的时间长度加上所述姿势之前和 / 或之后的预定时间段。
8: 如权利要求 1 所述的方法, 其特征在于, 所述步骤 b) 包括检测与姿势相关联的以下 性质方面中的至少一个的步骤 : b11) 与所述姿势相关联的优雅移动 ; b12) 执行所述姿势所花费的努力量 ; b13) 执行所述姿势时的身体控制 ; b14) 执行所述姿势时的移动精度 ; b15) 执行所述姿势时的移动效率 ; b16) 执行所述姿势时用户身体的各部分保持得有多平稳 ; b17) 执行所述姿势时用户身体的各部分保持得有多放松 ; b18) 执行所述姿势时用户的移动有多剧烈。
9: 如权利要求 1 所述的方法, 其特征在于, 所述步骤 c) 包括基于所述步骤 b) 中检测到 2 的性质方面来更改呈现给用户的软件应用程序的一部分以个性化呈现给用户的内容的步 骤。
10: 一种在游戏系统中的计算机可读存储介质, 所述游戏系统包括耦合到用于捕捉用 户运动的捕捉设备, 所述计算机可读存储介质承载计算机可读指令, 所述计算机可读指令 当在处理器上执行时使得所述处理器执行一种方法, 所述方法包括以下步骤 : a) 接收与用户运动有关的数据 ; b) 在通过 / 失败的基础上确定在所述步骤 a) 中接收的用户运动数据是否对应于预定 义姿势 ; c) 除了确定在所述步骤 a) 中接收的用户运动数据是否对应于预定义姿势之外, 确定 与用户用于在所述步骤 a) 中执行运动的风格有关的至少一个性质方面 ; 以及 d) 基于在步骤 c) 中检测到的所述至少一个性质方面向用户提供反馈。
11: 如权利要求 10 所述的方法, 其特征在于, 在所述步骤 b) 确定用户未执行预定义姿 势的情况下, 所述步骤 c) 可确定至少一个性质方面。
12: 如权利要求 10 所述的方法, 其特征在于, 所述步骤 c) 包括将与所述用户运动的性 质方面有关的元数据与定义用户运动何时作为预定义风格是合格的一组规则进行比较的 步骤。
13: 如权利要求 12 所述的方法, 其特征在于, 所述步骤 c) 包括对不同的预定义姿势存 储不同的一组规则。
14: 如权利要求 12 所述的方法, 其特征在于, 所述步骤 c) 包括存储跨不同预定义姿势 和 / 或不同用户运动应用的单个规则。
15: 如权利要求 12 所述的方法, 其特征在于, 所述步骤 c) 包括存储具有与以下的至少 一个有关的预定义参数值的规则 : 被解释为用于执行用户运动的特定风格的用户身体的一 个或多个部分的位置或位置变化、 速度或速度变化、 或加速度或加速度变化。
16: 如权利要求 12 所述的方法, 其特征在于, 所述步骤 c) 包括存储定义用户运动何时 被解释为以下风格之一的规则 : c1) 与用户运动相关联的优雅移动 ; c2) 执行用户运动花费的努力量 ; c3) 执行用户运动时的身体控制 ; c4) 执行用户运动时的移动精度 ; c5) 执行用户运动时的移动效率 ; c6) 执行用户运动时用户身体的各部分保持得有多平稳 ; c6) 执行用户运动时用户身体的各部分保持得有多放松 ; c8) 执行用户运动时用户的移动有多剧烈。
17: 一种游戏系统, 包括 : 用于捕捉与用户的运动有关的数据的图像捕捉设备 ; 用于从所述捕捉设备接收图像数据并主存游戏应用程序的计算环境, 所述计算环境包 括, 一阶姿势识别引擎, 用于接收与用户的运动有关的数据并在通过 / 失败的基础上确定 用户的运动是否是作为预定义姿势合格的, 3 二阶姿势识别引擎, 用于接收所述数据和从所述数据导出的信息中的至少一个, 并且 除了对用户的运动是否是作为预定义姿势合格的阈值判定之外还确定用户的运动是否包 括作为与用户运动相关联的预定义风格合格的风格属性, 以及 所述二阶姿势识别引擎使用的一组存储的规则, 所述一组存储的规则包括一组预定义 用户运动何时被解释为预定义风格的定义 ; 以及 耦合到所述计算环境的视听设备, 用于基于从所述计算环境接收的信息来呈现所述用 户和所述用户的运动的图形表示, 所述图形表示通过以表示被所述二阶姿势识别引擎确定 为存在的风格的图形来示出用户的运动或周边环境来增强。
18: 如权利要求 17 所述的游戏系统, 其特征在于, 所述计算环境使得所述视听设备示 出被所述一阶姿势识别引擎确定为存在的用户姿势, 并且所述姿势以表示被所述二阶姿势 识别引擎确定为存在的风格的图形示出。
19: 如权利要求 17 所述的游戏系统, 其特征在于, 在所述一阶姿势识别引擎确定用户 运动作为姿势不合格的情况下, 所述计算环境使得所述视听设备示出表示与用户运动相关 联的风格的图形。
20: 如权利要求 17 所述的游戏系统, 其特征在于, 所述二阶姿势识别引擎分析与用户 的运动相关联的参数并将这些参数与所述一组存储的规则中的参数进行比较, 所述参数包 括以下的至少一个 : 所述用户的身体的一个或多个部分的位置或位置变化、 速度或速度变 化、 以及加速度或加速度变化。

说明书


姿势风格识别和奖励

    背景技术 在过去, 诸如计算机游戏和多媒体应用程序等计算应用程序使用控制命令来允许 用户操纵游戏人物或应用程序的其他方面。通常, 此类控制命令使用例如控制器、 遥控器、 键盘、 鼠标等来输入。 近来, 计算机游戏和多媒体应用程序已开始使用照相机和软件姿势识 别引擎来提供人机接口 ( “HCI” )。使用 HCI, 检测、 解释用户姿势并将其用于控制游戏人物 或应用程序的其他方面。
     在常规的游戏和多媒体应用程序中, HCI 用于在通过 / 失败的基础上测量用户是 否响应于提示或场景适当地执行了给定姿势。 相反, 常规系统不测量姿势是如何执行的。 只 要 HCI 系统确定所请求的姿势被执行到一阈值水平, 就根据游戏 / 应用程序度量来奖励用 户。然而, 用户的移动可提供远多于所请求的姿势是否被执行到阈值水平的大量信息。不 同用户以不同方式执行姿势。一些用户可比另一些用户更优美地执行给定姿势。一些用户 可能在执行一姿势时比另一些用户更努力地尝试并尽更大的全力。常规的 HCI 系统在测量 给定姿势的通过 / 失败状态时未将这些参数考虑在内。
     发明内容
     此处所公开的是用于确定一给定姿势是否是采用一特定风格来执行的系统和方 法。 该附加信息然后可用于个性化游戏或多媒体体验, 从而因用户的个人风格而奖励用户。 在一个实施例中, 本发明的技术涉及一种游戏系统, 该游戏系统包括用于捕捉与用户的运 动有关的数据的图像捕捉设备、 用于从该捕捉设备接收图像数据并主存游戏应用程序的计 算环境、 以及耦合到该计算环境的视听设备。
     该计算环境包括一阶姿势识别引擎, 用于接收与用户的运动有关的数据并在通过 / 失败的基础上确定用户的运动作为预定义姿势是否是合格的。该计算环境还包括用于接 收数据或从该数据导出的信息的二阶姿势识别引擎。 二阶姿势识别引擎除了对用户的运动 作为预定义姿势是否是合格的阈值判定之外还确定用户的运动是否包括作为与用户运动 相关联的预定义风格是合格的风格属性。 该计算环境还存储二阶姿势识别引擎使用的一组 规则。该组存储的规则包括对一组预定义用户运动何时被解释为预定义风格的定义。
     该视听设备基于从计算环境接收到的信息来呈现用户和用户的运动的图形表示。 用户或用户周围的图形标识可通过以表示被二阶姿势识别引擎确定为存在的风格的图形 来示出用户的运动来增强。 附图说明 图 1A 和 1B 示出了伴随用户玩游戏的目标识别、 分析和跟踪系统的示例实施例。
     图 2 示出了可在目标识别、 分析和跟踪系统中使用的捕捉设备的示例实施例。
     图 3A 示出了可用于在目标识别、 分析和跟踪系统中解释一个或多个姿势的计算 环境的示例实施例。
     图 3B 示出了可用于在目标识别、 分析和跟踪系统中解释一个或多个姿势的计算
     环境的另一示例实施例。
     图 4A 示出了从图 2 的目标识别、 分析和跟踪系统生成的用户的骨架映射。
     图 4B 示出了图 2 所示的姿势识别器体系结构的进一步细节。
     图 5A 和 5B 示出了可如何堆叠姿势过滤器来创建更复杂的姿势过滤器。
     图 6A、 6B、 6C、 6D 和 6E 示出了用户 502 在橄榄球视频游戏中可以作出以便发出 “完 全接球” 信号的示例姿势。
     图 7A、 7B、 7C、 7D 和 7E 示出了在解析图像数据的每一帧来产生用户的骨架图时图 6A、 6B、 6C、 6D 和 6E 的示例 “完全接球” 姿势。
     图 8 是包括一阶和二阶姿势识别引擎的姿势识别器引擎的框图。
     图 9 是示出二阶姿势识别引擎的框图。
     图 10 是示出二阶姿势识别引擎的操作的流程图。
     图 11 是示出用于确定给定移动是否如二阶姿势识别引擎所检测的满足所存储的 与风格有关的规则的详细步骤的流程图。 具体实施方式 现在将参考图 1-11 来描述本发明的技术的各实施例, 本发明一般涉及其中用户 姿势控制在诸如游戏控制台、 计算机等计算环境上执行的应用程序的系统。 在各实施例中, 本发明的系统以两个过程检测并解释用户移动。 第一个过程由标识用户作出的特定姿势的 一阶姿势识别引擎来执行。 在各实施例中, 一旦一姿势被一阶识别引擎识别出, 二阶姿势识 别引擎就可以执行确定是否能够得出关于所检测到的姿势的性质方面的任何结论的第二 个过程。这些性质方面在本文中有时被称为姿势风格。姿势风格可涉及姿势的各种属性, 例如包括 :
     ·执行姿势的优美度 ;
     ·用户执行姿势所尽的努力 ;
     ·用户在执行姿势时的身体控制 ;
     ·用户在执行姿势时的移动的精确度 ;
     ·用户在执行姿势时的移动的效率 ;
     ·用户在执行姿势时的爆发或剧烈移动 ;
     ·姿势的缓慢和平稳程度的测量 ;
     ·姿势的冷静和放松程度的测量 ;
     构想了其他风格。 以下详细讨论包括用于执行本发明的技术的一阶和二阶姿势识 别引擎在内的硬件和软件。
     最初参考图 1A-2, 用于实现本发明的技术的硬件包括目标识别、 分析和跟踪系统 10, 该系统可用于识别、 分析和 / 或跟踪诸如用户 18 等的人类目标。目标识别、 分析和跟踪 系统 10 的各实施例包括用于执行游戏或其他应用程序的计算环境 12, 以及用于从游戏或 其他应用程序提供音频和视觉表示的视听设备 16。 系统 10 还包括用于检测设备 20 捕捉的 用户的姿势的捕捉设备 20, 计算环境接收并使用该姿势来控制游戏或其他应用程序。这些 组件中的每一各都会在以下详细描述。
     如图 1A 和 1B 所示, 在一示例实施例中, 在计算环境 12 上执行的应用程序可以是
     用户 18 可能正在玩的拳击游戏。例如, 计算环境 12 可使用视听设备 16 来向用户 18 提供 拳击对手 22 的视觉表示。计算环境 12 还可使用视听设备 16 来提供用户 18 可通过他的或 她的移动来控制的玩家化身 24 的视觉表示。例如, 如图 1B 所示, 用户 18 可在物理空间中 挥重拳来使得玩家化身 24 在游戏空间中挥重拳。因此, 根据一示例实施例, 目标识别、 分析 和跟踪系统 10 的计算环境 12 和捕捉设备 20 可用于识别和分析用户 18 在物理空间中的重 拳, 从而使得该重拳可被解释为对游戏空间中的玩家化身 40 的游戏控制。
     用户 18 的其他移动也可被解释为其他控制命令或动作, 诸如上下快速摆动、 闪 避、 滑步、 格挡、 用拳猛击或挥动各种不同力度的重拳等控制。此外, 如以下所解释的, 一旦 系统确定姿势是重拳、 上下快速摆动、 闪避、 滑步、 格挡等中的一个, 则可确定该姿势在物理 空间中的附加性质方面。这些性质方面可影响该姿势 ( 或其他音频或视觉特征 ) 如何在游 戏空间中显示, 如以下所解释的。
     在各示例实施例中, 诸如用户 18 等的人类目标可具有一物体。在这些实施例中, 电子游戏的用户可手持物体从而可以使用玩家和物体的运动来调整和 / 或控制游戏的参 数。例如, 可以跟踪并利用玩家手持球拍的运动来控制电子运动游戏中的屏幕上球拍。在 另一示例实施例中, 可以跟踪并利用玩家手持物体的运动来控制电子格斗游戏中的屏幕上 武器。 图 2 示出可在目标识别、 分析和跟踪系统 10 中使用的捕捉设备 20 的示例实施例。 关于用于本发明的技术的捕捉设备的进一步细节在共同待审的题为 “GESTURE TOOL( 姿势 工具 )” 的专利申请第 ____________ 号和共同待审的题为 “STANDARD GESTURES( 标准姿 势 )” 的专利申请第 ____________ 号中阐明, 这些申请的每一个都通过整体引用结合于此。 然而, 在一示例实施例中, 捕捉设备 20 可被配置成捕捉带有深度图像视频, 该深度图像可 包括经由任何合适的技术——包括例如飞行时间、 结构化光、 立体图像等——的深度值。 根 据一实施例, 捕捉设备 20 可将所计算的深度信息组织为 “Z 层” , 即可与从深度照相机沿其 视线延伸的 Z 轴垂直的层。
     如图 2 所示, 捕捉设备 20 可包括图像照相机组件 22。根据一示例实施例, 图像照 相机组件 22 可以是可捕捉场景的深度图像的深度照相机。深度图像可包括所捕捉的场景 的二维 (2-D) 像素区域, 其中 2-D 像素区域中的每一像素可表示来自照相机的所捕捉的场 景中的对象的长度, 该长度可采用例如厘米、 毫米等单位。
     如图 2 所示, 根据一示例实施例, 图像照相机组件 22 可包括可用于捕捉场景的深 度图像的 IR 光组件 24、 三维 (3-D) 照相机 26、 和 RGB 照相机 28。例如, 在飞行时间分析中, 捕捉设备 20 的 IR 光组件 24 可将红外光发射到场景上, 然后可使用传感器 ( 未示出 ), 使用 例如 3-D 照相机 26 和 / 或 RGB 照相机 28, 来检测来自场景中的一个或多个目标和对象的表 面的反向散射光。
     根据另一实施例, 捕捉设备 20 可包括两个或更多物理上分开的照相机, 这些照相 机可从不同角度查看场景以获得视觉立体数据, 该视觉立体数据可被解析以生成深度信 息。
     捕捉设备 20 还可包括话筒 30。 话筒 30 可包括可接收声音并将其转换成电信号的 变换器或传感器。根据一实施例, 话筒 30 可用于减少目标识别、 分析和跟踪系统 10 中的捕 捉设备 20 与计算环境 12 之间的反馈。另外, 话筒 30 可用于接收也可由用户提供的音频信
     号, 以控制可由计算环境 12 执行的诸如游戏应用程序、 非游戏应用程序等应用程序。
     在一示例实施例中, 捕捉设备 20 还可包括可与图像照相机组件 22 进行有效通信 的处理器 32。 处理器 32 可包括可执行指令的标准处理器、 专用处理器、 微处理器等, 这些指 令可包括用于接收深度图像的指令、 用于确定合适的目标是否可被包括在深度图像中的指 令、 用于将合适的目标转换成该目标的骨架表示或模型的指令、 或任何其他合适的指令。
     捕捉设备 20 还可包括存储器组件 34, 存储器组件 34 可存储可由处理器 32 执行的 指令、 3-D 照相机或 RGB 照相机所捕捉的图像或图像的帧、 或任何其他合适的信息、 图像等 等。根据一示例实施例, 存储器组件 34 可包括随机存取存储器 (RAM)、 只读存储器 (ROM)、 高速缓存、 闪存、 硬盘、 或任何其他合适的存储组件。如图 2 所示, 在一实施例中, 存储器组 件 34 可以是与图像捕捉组件 22 和处理器 32 进行通信的单独的组件。根据另一实施例, 存 储器组件 34 可被集成到处理器 32 和 / 或图像捕捉组件 22 中。
     如图 2 所示, 捕捉设备 20 可经由通信链路 36 与计算环境 12 进行通信。通信链 路 36 可以是包括例如 USB 连接、 火线连接、 以太网电缆连接等的有线连接和 / 或诸如无线 802.11b、 802.11g、 802.11a 或 802.11n 连接等无线连接。根据一实施例, 计算环境 12 可经 由通信链路 36 向捕捉设备 20 提供可用于确定例如何时捕捉场景的时钟。 另外, 捕捉设备 20 可经由通信链路 36 向计算环境 12 提供深度信息和由例如 3-D 照相机 26 和 / 或 RGB 照相机 28 捕捉的图像, 以及可由捕捉设备 20 生成的骨架模型。存在 各种用于确定捕捉设备 20 所检测的目标或对象是否对应于人类目标的已知技术。骨架映 射技术因而可用于确定该用户的骨架上的各个点, 手、 腕、 肘、 膝、 鼻、 踝、 肩的关节, 以及骨 盆与脊椎相交之处。 其他技术包括将图像变换成该人的身体模型表示以及将图像变换成该 人的网格模型表示。
     骨架模型然后可被提供给计算环境 12, 使得计算环境可跟踪骨架模型并呈现与该 骨架模型相关联的化身。 计算环境还可基于例如从骨架模型中识别出的用户的姿势和姿势 风格来确定在计算机环境上执行的应用程序中要执行哪些控制命令。例如, 如图 2 所示, 计 算环境 12 可包括姿势识别器引擎 190。姿势识别器引擎 190 将在下文解释, 但一般可包括 姿势过滤器集合, 每一姿势过滤器包括关于骨架模型可执行 ( 在用户移动时 ) 的姿势的信 息。可将由照相机 26、 28 和捕捉设备 20 捕捉的骨架模型形式的数据以及与其相关联的移 动同姿势识别器引擎 190 中的姿势过滤器进行比较来标识用户 ( 如骨架模型所表示的 ) 何 时执行了一个或多个姿势。那些姿势可与应用程序的各种控制命令相关联。因此, 计算环 境 12 可使用姿势识别器引擎 190 来解释骨架模型的移动并基于该移动来控制应用程序。
     图 3A 示出了可用于在目标识别、 分析和跟踪系统中解释一个或多个姿势的计算 环境的示例实施例。诸如以上参考图 1A-2 描述的计算环境 12 等计算环境可以是诸如游戏 控制台等多媒体控制台 100。如图 3A 所示, 多媒体控制台 100 包括具有 1 级高速缓存 102、 2 级高速缓存 104 和闪存 ROM 106 的中央处理单元 (CPU)101。1 级高速缓存 102 和 2 级高 速缓存 104 临时存储数据并因此减少存储器访问周期数, 从而改进处理速度和吞吐量。CPU 101 可以被设置成具有一个以上的核, 以及附加的 1 级和 2 级高速缓存 102 和 104。闪存 ROM106 可存储在多媒体控制台 100 通电时在引导进程的初始阶段加载的可执行代码。
     图形处理单元 (GPU)108 和视频编码器 / 视频编解码器 ( 编码器 / 解码器 )114 形 成用于高速、 高分辨率图形处理的视频处理流水线。数据经由总线从 GPU108 输送到视频编
     码器 / 视频编解码器 114。视频处理流水线将数据输出到 A/V( 音频 / 视频 ) 端口 140 以传 输到电视机或其它显示器。存储器控制器 110 连接到 GPU 108 以方便处理器访问各种类型 的存储器 112, 诸如但不局限于 RAM。
     多媒体控制台 100 包括较佳地在模块 118 上实现的 I/O 控制器 120、 系统管理控制 器 122、 音频处理单元 123、 网络接口控制器 124、 第一 USB 主控制器 126、 第二 USB 主控制器 128 和前面板 I/O 子部件 130。USB 控制器 126 和 128 用作外围控制器 142(1)-142(2)、 无 线适配器 148、 和外置存储器设备 146( 例如闪存、 外置 CD/DVD ROM 驱动器、 可移动介质等 ) 的主机。网络接口 124 和 / 或无线适配器 148 提供对网络 ( 例如因特网、 家庭网络等 ) 的 访问并且可以是包括以太网卡、 调制解调器、 蓝牙模块、 电缆调制解调器等的各种不同有线 和无线适配器组件中任一种。
     提供系统存储器 143 以存储在引导进程期间加载的应用程序数据。提供媒体驱动 器 144 且其可包括 DVD/CD 驱动器、 硬盘驱动器、 或其它可移动媒体驱动器等。媒体驱动器 144 对于多媒体控制台 100 可以内置或外置。 应用程序数据可经由媒体驱动器 144 访问, 以 由多媒体控制台 100 执行、 回放等。媒体驱动器 144 经由诸如串行 ATA 总线或其它高速连 接 ( 例如 IEEE 1394) 等总线连接到 I/O 控制器 120。
     系统管理控制器 122 提供涉及确保多媒体控制台 100 的可用性的各种服务功能。 音频处理单元 123 和音频编解码器 132 形成具有高保真度和立体声处理的对应的音频处理 流水线。音频数据经由通信链路在音频处理单元 123 与音频编解码器 132 之间传输。音频 处理流水线将数据输出到 A/V 端口 140 以供外置音频播放器或具有音频能力的设备再现。
     前面板 I/O 子部件 130 支持暴露在多媒体控制台 100 的外表面上的电源按钮 150 和弹出按钮 152 以及任何 LED( 发光二极管 ) 或其它指示器的功能。系统供电模块 136 向 多媒体控制台 100 的组件供电。风扇 138 冷却多媒体控制台 100 内的电路。
     CPU 101、 GPU 108、 存储器控制器 110、 和多媒体控制台 100 内的各个其它组件经 由一条或多条总线互连, 包括串行和并行总线、 存储器总线、 外围总线、 和使用各种总线架 构中的任一种的处理器或局部总线。作为示例, 这种架构可以包括外围组件互连 (PCI) 总 线、 PCI-Express 总线等。
     当多媒体控制台 100 通电时, 应用程序数据可从系统存储器 143 加载到存储器 112 和 / 或高速缓存 102、 104 中并在 CPU 101 上执行。应用程序可呈现在导航到多媒体控制台 100 上可用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中, 媒体驱动 器 144 中包含的应用程序和 / 或其它媒体可从媒体驱动器 144 启动或播放, 以向多媒体控 制台 100 提供附加功能。
     多媒体控制台 100 可通过将该系统简单地连接到电视机或其它显示器而作为独 立系统来操作。在该独立模式中, 多媒体控制台 100 允许一个或多个用户与该系统交互、 看 电影、 或听音乐。然而, 随着通过网络接口 124 或无线适配器 148 可用的宽带连接的集成, 多媒体控制台 100 还可作为较大网络社区中的参与者来操作。
     当多媒体控制台 100 通电时, 可以保留一定量的硬件资源以供多媒体控制台操作 系统作系统使用。这些资源可以包括存储器保留 ( 例如, 16MB)、 CPU 和 GPU 周期 ( 例如, 5% )、 网络带宽 ( 例如, 8kbs) 等。因为这些资源是在系统引导时保留的, 所以保留的资源 对应用程序而言是不存在的。更具体地, 存储器保留较佳地足够大, 以包含启动内核、 并发系统应用程序和驱动 程序。CPU 保留较佳地为恒定, 使得若保留的 CPU 用量未被系统应用程序使用, 则空闲线程 将消耗任何未使用的周期。
     对于 GPU 保留, 通过使用调度代码在覆盖图中呈现弹出窗口的 GPU 中断来显示由 系统应用程序生成的轻量消息 ( 例如, 弹出窗口 )。 覆盖图所需的存储器量取决于覆盖区域 大小, 并且覆盖图较佳地随屏幕分辨率缩放。在并发系统应用程序使用完整用户界面的情 况下, 优选使用独立于应用程序分辨率的分辨率。 定标器可用于设置该分辨率, 从而无需改 变频率, 也就不会引起 TV 的重新同步。
     在多媒体控制台 100 引导且系统资源被保留之后, 就执行并发系统应用程序来提 供系统功能。系统功能被封装在一组在上述保留的系统资源中执行的系统应用程序中。操 作系统内核标识是与游戏应用程序线程相对的系统应用程序线程的线程。 系统应用程序较 佳地被调度在预定时间且以预定间隔在 CPU 101 上运行, 从而为应用程序提供一致的系统 资源视图。进行调度是为了把对在控制台上运行的游戏应用程序的高速缓存中断最小化。
     当并发系统应用程序需要音频时, 则由于时间敏感性而异步调度音频处理给游戏 应用程序。多媒体控制台应用程序管理器 ( 如下所述 ) 在系统应用程序活动时控制游戏应 用程序的音频水平 ( 例如, 静音、 衰减 )。 输入设备 ( 例如, 控制器 142(1) 和 142(2)) 由游戏应用程序和系统应用程序共 享。输入设备不是保留资源, 但却在系统应用程序和游戏应用程序之间切换以使其各自具 有设备的焦点。应用程序管理器较佳地控制输入流的切换, 而无需知晓游戏应用程序的知 识, 并且驱动程序维护有关焦点切换的状态信息。照相机 26、 28 和捕捉设备 20 可定义控制 台 100 的附加输入设备。
     图 3B 示出了可用于在目标识别、 分析和跟踪系统中解释一个或多个姿势的计算 环境 220 的另一示例实施例, 该计算环境可以是图 1A-2 所示的计算环境 12。计算系统环 境 220 只是合适的操作环境的一个示例, 并且不旨在对所公开的主题的使用范围或功能提 出任何限制。也不应该将计算环境 220 解释为对示例性操作环境 220 中示出的任一组件或 其组合有任何依赖性或要求。在某些实施例中, 所描绘的各种计算元件可包括被配置成实 例化本发明的具体方面的电路。例如, 本发明中使用的术语 “电路” 可包括被配置成通过固 件或开关来执行功能的专用硬件组件。在其他示例实施例中, 术语 “电路” 可包括由具体化 可操作来执行功能的逻辑的软件指令来配置的通用处理单元等。 在其中电路包括硬件和软 件的组合的实施例中, 实现者可以便携具体化逻辑的源代码, 并且该源代码可被编译成可 由通用处理单元来处理的机器可读代码。由于本领域的技术人员能理解, 现有技术已经发 展到在硬件、 软件或硬件 / 软件的组合之间几乎没有差别的地步, 因此是选择硬件还是软 件来实现具体功能是留给实现者的设计选择。 更具体地, 本领域的技术人员可以理解, 软件 进程可被变换成等效的硬件结构, 而硬件结构本身可被变换成等效的软件进程。 由此, 对硬 件实现还是软件实现的选择是一个设计选择并留给实现者。
     在图 3B 中, 计算环境 220 包括计算机 241, 其通常包括各种计算机可读介质。计 算机可读介质可以是能由计算机 241 访问的任何可用介质, 而且包含易失性和非易失性介 质、 可移动和不可移动介质。 系统存储器 222 包括诸如 ROM 223 和 RAM 260 等易失性和 / 或 非易失性存储器形式的计算机存储介质。基本输入 / 输出系统 224(BIOS) 包括如在启动时
     帮助在计算机 241 内的元件之间传输信息的基本例程, 它通常储存在 ROM 223 中。RAM 260 通常包含处理单元 259 可以立即访问和 / 或目前正在操作的数据和 / 或程序模块。作为示 例而非局限, 图 3B 示出了操作系统 225、 应用程序 226、 其它程序模块 227 和程序数据 228。
     计算机 241 还可以包括其他可移动 / 不可移动、 易失性 / 非易失性计算机存储介 质。仅作为示例, 图 3B 示出了对不可移动、 非易失性磁介质进行读写的硬盘驱动器 238, 对 可移动、 非易失性磁盘 254 进行读写的磁盘驱动器 239, 以及对诸如 CD ROM 或其它光学介质 等可移动、 非易失性光盘 253 进行读写的光盘驱动器 240。可以在示例性操作环境中使用 的其他可移动 / 不可移动、 易失性 / 非易失性计算机存储介质包括但不限于, 磁带盒、 闪存 卡、 数字多功能盘、 数字录像带、 固态 RAM、 固态 ROM 等等。硬盘驱动器 238 通常由不可移动 存储器接口, 如接口 234 连接至系统总线 221, 磁盘驱动器 239 和光盘驱动器 240 通常由可 移动存储器接口, 如接口 235 连接至系统总线 221。
     以上讨论并在图 3B 中示出的驱动器及其相关联的计算机存储介质为计算机 241 提供了对计算机可读指令、 数据结构、 程序模块和其他数据的存储。在图 3B 中, 例如, 硬盘 驱动器 238 被示为存储操作系统 258、 应用程序 257、 其他程序模块 256 和程序数据 255。注 意, 这些组件可以与操作系统 225、 应用程序 226、 其他程序模块 227 和程序数据 228 相同, 也可以与它们不同。 操作系统 258、 应用程序 257、 其他程序模块 256 和程序数据 255 在这里 被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备, 如键盘 251 和定点设备 252( 通常称为鼠标、 跟踪球或触摸垫 ) 向计算机 241 输入命令和信息。其 他输入设备 ( 未示出 ) 可以包括话筒、 操纵杆、 游戏手柄、 圆盘式卫星天线、 扫描仪等。这些 和其他输入设备通常由耦合至系统总线的用户输入接口 236 连接至处理单元 259, 但也可 以由其他接口和总线结构, 如并行端口、 游戏端口或通用串行总线 (USB) 连接。照相机 26、 28 和捕捉设备 20 可定义控制台 100 的附加输入设备。监视器 242 或其他类型的显示设备 也经由接口, 如视频接口 232 连接至系统总线 221。除监视器以外, 计算机还可以包括其他 外围输出设备, 如扬声器 244 和打印机 243, 它们可以通过输出外围接口 233 连接。
     计算机 241 可使用至一个或多个远程计算机, 如远程计算机 246 的逻辑连接在网 络化环境中操作。 远程计算机 246 可以是个人计算机、 服务器、 路由器、 网络 PC、 对等设备或 其他常见的网络节点, 且通常包括许多或所有以上相对于计算机 241 描述的元件, 尽管在 图 3B 中仅示出了存储器存储设备 247。图 3B 中所示的逻辑连接包括局域网 (LAN)245 和广 域网 (WAN)249, 但也可以包括其他网络。这样的联网环境在办公室、 企业范围计算机网络、 内联网和因特网中是常见的。
     当在 LAN 联网环境中使用时, 计算机 241 通过网络接口或适配器 237 连接至 LAN 245。当在 WAN 联网环境中使用时, 计算机 241 通常包括调制解调器 250 或用于通过诸如因 特网等 WAN 249 建立通信的其他装置。调制解调器 250 可以是内置或外置的, 它可以经由 用户输入接口 236 或其他适当的机制连接至系统总线 221。在网络化环境中, 关于计算机 241 所描述的程序模块或其部分可被储存在远程存储器存储设备中。 作为示例而非限制, 图 3B 示出了远程应用程序 248 驻留在存储器设备 247 上。可以理解, 所示的网络连接是示例 性的, 且可以使用在计算机之问建立通信链路的其他手段。
     如上所述, 计算环境 12 内的姿势识别器引擎 190 被设置来接收姿势信息并从该信 息中标识姿势和姿势风格。具体地, 姿势识别器引擎 190 包括用于检测姿势的一阶识别引擎 190a, 以及用于检测所检测到的姿势的性质方面的二阶识别引擎 190b。现在将描述一阶 识别引擎 190a, 之后描述二阶识别引擎 190b。
     图 4A 描绘了可从姿势设备 20 生成的用户的示例骨架映射。在该实施例中, 标识 各种关节和骨骼 : 每一手 302、 每一前臂 304、 每一肘 306、 每一二头肌 308、 每一肩 310、 每一 臀 312、 每一大腿 314、 每一膝 316、 每一前腿 318、 每一脚 320、 头 322、 躯干 324、 脊椎的顶部 326 和底部 328、 以及腰 330。在跟踪多个点的情况下, 可标识另外的特征, 如手指或脚趾的 骨骼和关节, 或脸部的各个特征, 如鼻和眼。
     用户可通过移动他 / 她的身体创建姿势。姿势包括用户的运动或姿态, 其可被捕 捉为图像数据并解析其意义。姿势可以是动态的, 包括运动, 如模仿扔球。姿势可以是静态 姿态, 如在一个人的躯干 324 前面交叉握住他的前臂 304。姿势也可包含道具, 如通过挥动 仿制的剑。 姿势可包括多于一个身体部位, 如拍双手 302, 或是较微小的运动, 如撅起一个人 的嘴唇。
     姿势可用于由一阶识别引擎 190a 在一般计算上下文中输入。例如, 手 302 或其他 身体部位的各种运动可对应于常见的系统级任务, 如在分层列表中向上或向下导航、 打开 文件、 关闭文件和保存文件。姿势也可由一阶识别引擎 190a 取决于游戏在视频游戏专用上 下文中使用。例如, 对于驾驶游戏, 手 302 和脚 320 的各种运动可对应于在一方向上操控车 辆、 换挡、 加速和刹车。 用户可通过自己在原地行走或奔跑来生成对应于行走或奔跑的姿势。 用户可另选 地提起并放下每一腿 312-320 来在不移动的情况下模拟行走。一阶识别引擎 190a 可通过 分析每一臀 312 和每一大腿 314 来解析该姿势。当一个臀 - 大腿角 ( 如相对于垂直线测量 的, 其中站立的腿具有 0°的臀 - 大腿角, 而向前水平伸展的腿具有 90°的臀 - 大腿角 ) 超 过相对于另一大腿的特定阈值时, 可识别一步。行走或奔跑可在交替的腿的某一数量的连 续步之后被识别。两个最近的步之间的时间可被认为是周期。在不满足阈值角度的某一数 量的周期之后, 系统可确定行走或奔跑姿势已停止。
     给定 “行走或奔跑” 姿势, 应用程序可为与该姿势相关联的参数设定值。这些参数 可包括上述阈值角度、 发起行走或奔跑姿势所需的步数、 结束姿势的没有发生步的周期数、 以及确定姿势是行走还是奔跑的阈值周期。快周期可对应于奔跑, 因为用户将快速地移动 他的腿, 而较慢的周期可对应于行走。
     姿势最初可以与一组默认参数相关联, 应用程序可用其自己的参数来覆盖该组默 认参数。 在这一场景中, 不迫使应用程序提供参数, 但是应用程序可改为使用一组允许在没 有应用程序定义的参数的情况下识别姿势的默认参数。
     有各种可以与姿势相关联的输出。可以有关于姿势是否正在发生的基线 “通过或 失败” 。还可以有置信水平, 其对应于用户跟踪的移动对应于姿势的可能性。这可以是范围 为 0 和 1 之间 ( 包括端点 ) 的浮点数的线性标度。在接收该姿势信息的应用程序不能接受 假肯定作为输入的应用程序中, 它可仅使用具有高置信水平, 如至少 .95 的已识别的姿势。 在应用程序必须识别姿势的每一实例、 甚至是以假肯定为代价的情况下, 它可使用至少具 有低得多的置信水平的姿势, 如仅仅大于 .2 的那些姿势。姿势可具有关于两个最近步之间 的时间的输出, 并且在仅注册第一步的情况下, 这可被设为保留值, 如 -1( 因为任何两步之 间的时间必须为正 )。姿势也可具有关于在最近一步期间达到的最高大腿角的输出。
     另一示例性姿势是 “脚跟提起跳” 。 在该姿势中, 用户可通过将他的脚跟提离地面, 但保持他的脚趾着地来创建该姿势。另选地, 用户可跳向空中, 其中他的脚 320 完全离开地 面。该系统可通过分析肩 310、 臀 312 和膝 316 的角度关系来解析该姿势的骨架, 以查看它 们是否在等于直立的对齐位置。然后, 可监视这些点和较高 326 和较低 328 脊椎点来寻找 任何向上加速。足够的加速组合可触发跳跃姿势。
     给定该 “脚跟提起跳” 姿势, 应用程序可为与该姿势相关联的参数设定值。参数可 包括上述加速阈值, 其确定用户的肩 310、 臀 312 和膝 316 的某种组合必须向上移动多快来 触发该姿势 ; 以及肩 310、 臀 312 和膝 316 之问仍可触发跳跃的最大对齐角。
     输出可包括置信水平, 以及用户在跳跃时的身体角度。
     基于将接收姿势的应用程序的细节来为姿势设定参数对于准确地标识姿势而言 是重要的。正确地标识姿势以及用户的意图极大地有助于创建积极的用户体验。在姿势识 别器系统 190 太敏感、 甚至手 302 的微小向前运动被解释为投掷的情况下, 用户可能变得沮 丧, 因为在他没有作出姿势的意图的情况下却识别出姿势, 因此他缺乏对系统的控制。 在姿 势识别器系统不够敏感的情况下, 系统可能未识别出用户作出投掷姿势的刻意尝试, 从而 类似地使用户感到沮丧。 在敏感度范围的任一端, 用户都会变得沮丧, 因为他不能正确地向 系统提供输入。
     对于姿势的另一参数可以是移动的距离。 在用户的姿势控制虚拟环境中的化身的 动作的情况下, 该化身可以是手臂离球的长度。 如果用户希望与该球交互并抓住它, 则这可 要求用户伸展他的手臂 302-310 到全长同时作出抓握姿势。在这一情形中, 用户仅部分地 伸展他的手臂 302-310 的类似的抓握姿势可能无法达到与球交互的结果。
     姿势或其一部分可具有它必须在其中发生的空间体来作为参数。 在姿势包括身体 移动的情况下, 该空间体通常可相对于身体来表达。 例如, 对于惯用右手的用户的橄榄球投 掷姿势可仅在不低于右肩 310a、 且与投掷手臂 302a-310a 在头 322 的相同侧的空间体中识 别。 可能不必要定义空间体的所有边界, 如对于该投掷姿势, 其中从身体向外的边界留着不 被定义, 并且该空间体无限地向外延伸, 或者延伸到正被监视的场景的边缘。 如以下所解释 的, 即使在给定姿势是由空间体 ( 如对于投掷运动从肩部向上 ) 定义的情况下, 其他关节的 运动、 速度和加速度仍可在该姿势期间被监视来确定姿势风格。
     图 4B 提供了图 2 的一阶姿势识别引擎 190a 的一个示例性实施例的进一步细节。 如图所示, 一阶姿势识别引擎 190a 可包括至少一个过滤器 418 来确定一个或多个姿势。过 滤器 418 包括定义姿势 426( 以下称为 “姿势” ) 以及该姿势的参数或元数据 428 的信息, 以 供一阶和二阶姿势识别引擎 190a 和 190b 使用。例如, 包括一只手从身体后部后面开始越 过身体前方的运动的投掷可被实现为包括表示用户的一只手从身体后部后面开始越过身 体前方的运动的信息的姿势 426, 该移动将由深度照相机来捕捉。 然后可为该姿势 426 设定 参数 428。在姿势 426 是投掷的情况下, 一阶姿势识别引擎 190a 使用的参数 428 可以是该 手必须达到的阈值速度、 该手必须行进的距离 ( 绝对的, 或对于用户的整体大小相对的 )、 以及识别器引擎对发生姿势的置信评级。用于姿势 426 的这些参数 428 可以在各应用程序 之间、 在单个应用程序的各上下文之间、 或在一个应用程序的一个上下文内随着时间变化。 如下所解释的, 可以存储附加元数据 428 以供二阶姿势识别引擎 190b 使用。
     过滤器可以是模块化的或是可互换的。 在一个实施例中, 过滤器具有多个输入, 这些输入中的每一个具有一类型 ; 以及多个输出, 这些输出中的每一个具有一类型。 在这一情 形中, 第一过滤器可用具有与第一过滤器相同数量和类型的输入和输出的第二过滤器来替 换而不更改识别器引擎体系结构的其他方面。 例如, 可以有用于驾驶的第一过滤器, 该第一 过滤器取骨架数据作为输入并输出与该过滤器相关联的姿势正在发生的置信度以及转向 角。 在希望用第二驾驶过滤器来替换该第一驾驶过滤器的情况下——这可能是因为第二驾 驶过滤器更高效且需要更少的处理资源——则可以通过简单地用第二过滤器替换第一过 滤器来这样做, 只要第二过滤器具有相同的输入和输出一骨架数据类型的一个输入, 以及 置信度类型和角度类型的两个输出。
     一阶姿势识别引擎 190a 可能没有利用与给定过滤器相关联的元数据 428。例如, 返回用户的高度的 “用户高度” 过滤器可能不允许任何可调节的参数。 替换的 “用户高度” 过 滤器可具有可调节参数, 如在确定用户的高度时是否考虑用户的鞋、 发型、 头饰以及体态。
     对过滤器的输入可包括诸如关于用户的关节位置的关节数据如在关节处相交的 骨所形成的角度、 来自场景的 RGB 色彩数据、 以及用户的动力学方面的变化率等内容。来自 过滤器的输出可包括诸如正作出给定姿势的置信度、 作出姿势运动的速度、 以及作出姿势 运动的时间等内容。
     上下文可以是文化上下文, 并且可以是环境上下文。文化上下文指的是使用系统 的用户的文化。不同的文化可使用相似的姿势来赋予显著不同的含义。例如, 希望叫另一 个用户 “看” 或 “使用他的眼睛” 的美国用户可将他的食指放在他头上靠近他的眼睛的远端 处。然而, 对意大利用户而言, 该姿势可被解释为对黑手党的引用。
     类似地, 在单个应用程序的不同环境之中可能有不同的上下文。取涉及操作摩托 车的第一人称射击游戏。当用户在走路时, 将手指朝向地面握拳并向前且从身体向外伸出 拳头可表示重拳姿势。当用户在驾驶上下文中时, 相同的运动可表示 “换挡” 姿势。可能还 有一个或多个菜单环境, 其中用户可保存他的游戏、 在他的人物装备之间选择或执行类似 的不包括直接玩游戏的动作。 在该环境中, 该游戏姿势可具有第三个含义, 如选择某样东西 或前进到另一屏幕。
     一阶姿势识别引擎 190a 可具有向姿势过滤器 418 提供功能的基础识别器引擎 416。在一实施例中, 识别器引擎 416 实现的功能包括跟踪所识别的姿势和其他输入的随 时间输入 (input-over-time) 存档、 隐马尔可夫模型实现 ( 其中模型化系统被假定为具有 未知参数的马尔可夫过程一其中当前状态封装了确定将来状态所需的任何过去状态信息, 因此不必为此目的而维护任何其它过去状态信息的过程, 并且隐藏参数从可观察数据来确 定 )、 以及求解姿势识别的特定实例所需的其他功能。
     过滤器 418 在基础识别器引擎 416 之上加载并实现, 并且可利用引擎 416 提供给 所有过滤器 418 的服务。 在一实施例中, 基础识别器引擎 416 处理所接收到的数据来确定它 是否满足任何过滤器 418 的要求。由于这些诸如解析输入等所提供的服务是由基础识别器 引擎 416 一次性提供而非由每一过滤器 418 提供的, 因此这一服务在一段时间内只需被处 理一次而不是对该时间段对每一过滤器 418 处理一次, 因此减少了确定姿势所需的处理。
     应用程序可使用一阶姿势识别引擎 190a 所提供的过滤器 418, 或者它可提供其自 己的过滤器 418, 该过滤器被插入到基础识别器引擎 416 中。 在一实施例中, 所有过滤器 418 具有启用该插入特性的通用接口。图 5A 和 5B 描绘了从堆叠的姿势或过滤器 418 创建的更复杂的姿势或过滤器 418。 姿势可堆叠在彼此之上。即, 用户一次可表达多于一个姿势。例如, 并非在作出投掷姿势时 不允许除了投掷之外的任何输入, 或要求用户除了该姿势的分量之外保持不动 ( 例如, 在 作出仅涉及一条手臂的投掷姿势时站着不动 )。 在姿势堆叠时, 用户可同时作出跳跃姿势和 投掷姿势, 并且这两个姿势都将被姿势引擎识别出。
     图 5A 描绘了根据堆叠范例的简单姿势过滤器 418。 I 过滤器 (IFilter)502 是可在 每一姿势过滤器中使用的基本过滤器 418。I 过滤器 502 取用户位置数据 504, 并输出姿势 已发生的置信水平 506。它还将该位置数据 504 馈入方向盘 (SteeringWheel) 过滤器 508, 该过滤器 508 取该位置数据作为输入, 并输出用户正在转向的角度 ( 例如, 向用户当前方向 右侧 40 度 )510。
     图 5B 描绘了将过滤器 418 堆叠到图 5A 的姿势过滤器上的更复杂的姿势。除了 I 过滤器 502 和方向盘 508 之外, 还存在 I 跟踪 (ITracking) 过滤器 512, 该过滤器 512 接收 来自 I 过滤器 502 的位置数据 504, 并输出用户通过姿势所作出的进展量 514。I 跟踪 512 还将位置数据 504 馈送到润滑油减轻 (GreaseLightning)516 和 E 刹车 518, 这些是关于可 在操作车辆时如使用紧急刹车作出的其他姿势的过滤器 418。 图 6A-6E 描绘了用户 602 在橄榄球视频游戏中可以作出以便发出 “完全接球” 信 号的示例姿势。这些图描绘了各个时间点的用户, 其中图 6A 是第一时间点, 而图 6E 是最后 一个时间点。这些图中的每一个可对应于深度照相机 22 捕捉的图像数据的一个快照或帧, 但不必是连续的图像数据帧, 因为深度照相机 22 能够比用户可覆盖该距离更快地捕捉帧。 例如, 该姿势可在 3 秒的时间段内发生, 并且在深度照相机以每秒 40 帧来捕捉数据的情况 下, 在用户 602 作出该完全接球姿势时它将捕捉 60 个图像数据帧。
     在图 6A 中, 用户 602 以他的手臂 604 向下放于两侧开始。他然后将手臂举起超过 肩膀, 如图 6B 所描绘的, 然后进一步向上到大约他的头部的水平, 如图 6C 所描绘的。从那 里, 他将他的手臂 604 降下到肩膀水平, 如图 6D 所描绘的, 然后再一次将手臂举起到大约他 的头部的水平, 如图 6E 所描绘的。在系统捕捉用户 602 的这些位置而没有可发出该姿势被 取消或正在作出另一姿势的信号的任何居间位置的情况下, 可能会使得完全接球姿势过滤 器输出用户 602 作出了完全接球姿势的高置信水平。
     图 7 描绘了在解析每一图像数据帧来产生用户的骨架图时图 5 的示例 “完全接球” 姿势。该系统在从用户的深度图像产生了骨架图之后, 现在可确定用户的身体如何随时间 而移动, 并且可从中解析姿势。
     在图 7A 中, 用户的肩 310 在他的肘 306 上方, 而肘 306 又在他的手 302 上方。肩 310、 肘 306 和手 302 然后在图 7B 中处于一致水平。系统然后在图 7C 中检测到手 302 在肘 306 上方, 而肘 306 在肩 310 上方。在图 7D 中, 用户返回到图 7B 的位置, 其中肩 310、 肘 306 和手 302 处于一致水平。在该姿势的最终位置, 如图 7E 所示, 用户返回到图 7C 的位置, 其 中手 302 在肘 306 上方, 而肘 306 在肩 310 上方。
     尽管捕捉设备 20 捕捉了一系列静止图像, 使得在任何一个图像中用户看似为静 止的, 但用户在执行该姿势的过程中在移动 ( 而非如上所述的静止姿势 )。 该系统能够取每 一静止图像中的该一系列姿态, 并从中确定用户正在作出的移动姿势的置信水平。 此外, 如 上所述并如下所解释的, 一阶姿势识别引擎 190a 可另外存储与图 7A-7E 所示的姿势相关联
     的元数据 428 来确定与用户的姿势相关联的姿势风格。
     在执行姿势时, 用户可能无法创建如右肩 310a、 右肘 306a 和右手 302a 所示的角 度, 例如在 140°和 145°之间。因此, 对完全接球姿势 426 使用过滤器 418 的应用程序可 调节相关联的参数 428 来最好地满足应用程序的细节。例如, 图 7C 和 7E 中的位置可在用 户将其手 302 放在其肩 310 上方的任何时刻被识别出, 而不关注肘 306 的位置。更严格的 一组参数可能要求手 302 在头 310 上方, 并且肘 306 既在肩 310 上方又在头 322 和手 302 之间。另外, 用于完全接球姿势 426 的参数 428 可能要求用户在诸如 1.5 秒等一段指定时 间内从图 7A 的位置移动到图 7E 的位置, 并且如果用户花费了多于 1.5 秒来移动通过这些 位置, 则它将不被识别为完全接球 418, 并且可输出非常低的置信水平。
     如上所述, 除了检测姿势之外, 本发明的技术还检查姿势的性质方面, 并且基于对 一个或多个预定义性质属性的检测来向用户提供反馈。 这些性质属性是执行给定姿势或用 户运动的风格。如图 8 和 9 的框图所示, 给定姿势或运动的风格由二阶姿势识别引擎 190b 基于从一阶姿势识别引擎 190a 接收到的信息来确定。
     参考图 9, 如上所述, 给定过滤器 418 包括定义的姿势 426 或由深度照相机 22 传 感的或从深度照相机 22 传感的数据中通过数学方法确定的元数据 428。一般而言, 元数据 428 提供了关于姿势 426 是如何执行的信息。 在某一预定义时间段上, 如执行姿势 426 或运 动所花费的时间长度上, 取得并存储元数据 428。 它还包含了在姿势或运动之前和 / 或之后 的预定义时间段。 或者, 该时间段可以是某一组预定义时间段, 如从姿势结束开始反向计算 的一到五秒的数据量, 或者另选地二到三秒的数据量。 现在将参考图 9 的框图和图 10 的流程图来解释二阶姿势识别引擎 190b 的操作。 在一阶姿势识别引擎 190a 检测到姿势 426 之后, 在步骤 650 将与该姿势相关联的元数据 428 传递到二阶姿势识别引擎 190b。
     有各种可用于确定姿势或运动是否以预定义风格执行的元数据。 该元数据是从用 户进行并由捕捉设备 20 捕捉的移动来生成的。在各实施例中, 该元数据可以是对用户的最 大和最小位置的测量, 这是在 x, y, z 空间中相对于深度照相机 22 的位置来测量的。这可以 是捕捉设备 20 检测的 x、 y 和 z 最小和最大图像平面位置。元数据还可包括对取得元数据 428 的离散时间间隔随时间的位置变化 dx/dt 的一个或多个测量。离散时间间隔可以像执 行姿势或运动的整个时间那样长, 或者像来自深度照相机 22 的单个帧那样短。该位置变化 元数据给出了在用户执行所检测到的姿势的时间 ( 或上述其他定义的时间段 ) 期间用户身 体的不同速度。
     在各实施例中, 元数据还可包括在 x, y, z 空间中测量的用户的最大和最小速度的 测量。元数据还可包括对取得元数据 428 的离散时间间隔随时间的速度变化 dv/dt 的一个 或多个测量。该速度变化元数据给出了在用户执行所检测到的姿势的时间 ( 或上述其他定 义的时间段 ) 期间用户身体的不同加速度。
     在各实施例中, 元数据还可包括在 x, y, z 空间中测量的用户的最大和最小加速度 的测量。元数据还可包括对取得元数据 428 的离散时间间隔随时间的加速度变化 da/dt 的 一个或多个测量。该加速度变化元数据给出了在用户执行所检测到的姿势的时间 ( 或上述 其他定义的时间段 ) 期间用户身体的不同加加速度率测量。
     可以理解, 可使用除了一个或多个上述参数之外的或代替一个或多个上述参数的
     其他参数。在一个实施例中, 可导出描述身体部位在其在 3D 空间中移动时的轨迹的二阶差 分等式。这些等式也可被用作引擎 190b 接收来检测预定义风格的元数据。在又一实施例 中, 照相机 22 可取用户的面部表情的测量, 该面部表情然后可与其他参数一起使用来作出 关于用户执行给定姿势或移动的风格的确定。
     在各实施例中, 可对于以上参考图 4A 描述的身体部位 302 到 330 中的一个或多个 取得并存储上述涉及位置、 速度和加速度的动力学参数中的每一个。由此, 在各实施例中, 二阶姿势识别引擎 190b 可接收如图 4A 所示的用户身体中的所有点的动力学活动的全图。
     该元数据 428 由一阶姿势识别引擎 190a 传递给二阶姿势识别引擎 190b。二阶姿 势识别引擎 190b 然后在步骤 654 分析所接收到的元数据来看该元数据是否匹配存储在风 格库 640 中的任何预定义规则。步骤 654 在下文中参考图 9 和图 11 的流程图来描述。
     风格库 640 包括多个所存储的规则 642, 这些规则描述了元数据 428 所指示的特 定动力学运动何时被解释为预定义风格。规则可由游戏作者、 各种游戏平台的主人或用户 自己来创建。规则是对给定一组参数值或值范围的定义。当用户以满足规则的方式 ( 考虑 了上述参数 ) 来移动时, 二阶姿势识别引擎 190b 将该移动识别为风格。换言之, 规则是关 于一个或多个身体部位的一个或多个元数据参数 ( 最大 / 最小位置、 随时间的位置变化、 最 大或最小速度、 随时间的速度变化、 最大或最小加速度、 随时间的加速度变化 ) 的一组预定 义存储的值或值范围, 这些值或值范围在作为整体来看待时指示了与姿势相关联的特定风 格。
     以下是出于说明性目的对几个规则以及构成规则的通用参数的描述。可以理解, 根据本发明的技术可以有各种各样的覆盖了各种风格的附加规则。作为一个示例, 一阶姿 势识别引擎 190a 可确定用户执行的闪避姿势, 即, 降低到接近地面。有各种各样的闪避风 格。第一个用户可能四肢着地地蹲下, 而第二个用户可能 “摔倒” 以便快速在地面上平展开 来。
     这些运动中的每一个可被一阶姿势识别引擎 190a 识别为闪避。然而, 至少基于用 户身体的所有部分的随时间的位置变化和随时间的速度变化, 二阶姿势识别引擎 190b 可 识别其中用户摔倒的闪避风格。该闪避风格可由规则来识别, 即, 有关距离变化、 速度变化 等的定义了用户何时被认为是摔倒的参数可被量化并存储在规则中。 当二阶姿势识别引擎 190b 识别到用户以满足该规则的方式来动作时, 则用户可接收到游戏度量下的某种奖励, 和 / 或用户的游戏体验可被个性化来显示出系统识别了他或她自己的闪避风格。例如, 用 户的化身可用同一种风格来闪避并且地面可以摇动。还可提供其他游戏内风格识别指示。
     作为风格识别的另一示例, 游戏可要求用户通过将他们的脚来回且左右移动来执 行舞蹈移动。一阶姿势识别引擎 190a 将能够确定用户是否正确执行了游戏所指示的舞蹈 步骤。然而, 通过分析元数据, 二阶姿势识别引擎 190b 可检查位置变化数据、 速度变化数据 等, 并且确定各步之间的过渡是平滑地执行的还是以更为急动的方式来执行的。当例如平 滑地执行的时候, 速度导数参数可为 0 或近乎 0。当二阶姿势识别引擎 190b 确定各步是平 滑地执行的时候, 可在游戏内奖励用户, 和 / 或用户的化身可采取某种动作, 或者以个性化 用户的游戏体验的特定方式来呈现用户的化身。
     在诸如图 1A 和 1B 所示的拳击游戏内的示例中, 用户可能正在一轮结束时积极地 来回移动, 这指示用户不累。 这一移动可由给定速度的许多位置变化来表征, 并且可设置查找这一移动的规则。或者, 用户可开始在拳击的一轮中间跳舞以嘲弄对手。此类跳舞可由 对不同身体部位的有节奏的和 / 或重复的移动模式、 速度和加速度来表征。由此, 可设置查 找这些动力学参数的规则。在检测到一轮的积极结束或者一轮期间的跳舞时, 这些风格可 通过更改用户在游戏内的化身来反映以便个性化用户的体验。
     在涉及棒球游戏的又一示例中, 一阶姿势识别引擎 190a 可识别到用户在正确的 时刻以给定速度挥棒, 以便确定用户将虚拟棒球击打了特定距离, 如本垒打。然而, 二阶姿 势识别引擎 190b 可分析该挥棒之前、 期间和 / 或之后的元数据, 并确定用户在发起挥棒之 前等待最后一刻。这可被认为在风格上是重要的, 并且可以有具有指示最后一刻挥棒的一 组元数据的规则。例如, 它可以按照相对较小的运动直到就在需要对潜在姿势传感挥棒的 时刻之前的一刻来表征, 在该时刻在位置、 速度和 / 或加速度上都有一峰值。再一次, 可设 置定义这些参数的规则, 并且在二阶姿势识别引擎检测到满足该规则的元数据的情况下, 可在游戏内奖励用户, 和 / 或用户的化身可采取某种动作, 或者以个性化用户的游戏体验 的特定方式来呈现用户的化身。
     在另一棒球示例中, 第一个用户可仅使用他的手臂来挥动球棒, 并达到给定的挥 棒速度。 然而, 第一个用户可通过首先大步行走、 旋转其臀部、 旋转其肩部、 然后挥动其手臂 ( 所有这些都以正确的连续次序 ) 来执行更 “教科书” 的挥棒。二阶姿势识别引擎 190b 可 分析用户身体的不同点的动力学数据, 并识别与上述教科书挥棒相关联的位置、 速度、 加速 度等。可在游戏内奖励用户, 和 / 或用户的化身可采用某一动作, 或以个性化用户的游戏体 验的特定方式来呈现用户的化身。
     在再一棒球示例中, 在一阶姿势识别引擎 190a 检测到挥棒之后, 二阶姿势识别引 擎 190b 可审阅该元数据并确定用户在挥棒之前所指方向, 这类似于 1932 年世界职业棒球 大赛中 Babe Ruth 的预告本垒打击中。指向所涉及的运动可被编入规则中。在作出用户的 运动满足该规则的判定之后, 可在游戏内奖励用户, 和 / 或用户的化身可采用某一动作, 或 以个性化用户的游戏体验的特定方式来呈现用户的化身。例如, 用户的化身的外观可被变 换成 Babe Ruth 在绕着场地小跑时的形象。该示例示出了二阶姿势识别引擎所审阅的元数 据可能不仅限于在给定姿势期间获得的元数据。 二阶姿势识别引擎所分析的元数据也可被 延伸到给定姿势的执行之前和 / 或之后的一段时间。
     由了上述公开内容的好处, 本领域的技术人员将识别出可以与各种各样附加姿势 相关联的各种各样附加风格, 这些风格可根据对与姿势、 姿势之前的时间段和 / 或姿势之 后的时间段相关联的元数据的分析来识别。
     风格库 640 可存储多个规则 642。在各实施例中, 每一姿势可具有不同的、 独特的 一组规则。 由此, 尽管给定一组元数据在结合第一姿势执行时在风格方面是显著的, 但同样 的该组元数据可能不指示在与第二姿势相关联地执行时的该风格。 单个姿势可具有与其相 关联的各种风格。在该实例中, 风格库 640 将存储多个规则 642, 对可以与给定姿势相关联 的每一风格有一规则。每一预定义姿势可包括这样一组与其相关联的规则。
     在另外一些实施例中, 单个风格可以与多于一个姿势相关联。此外, 给定一组元 数据可以指示独立于任何相关联的姿势的特定风格。在此类实施例中, 二阶姿势识别引擎 190b 可识别与用户的移动相关联的特定风格, 即使该移动可能不指示特定的所识别的姿 势。此外, 构想了二阶姿势识别引擎 190b 甚至在一阶姿势识别引擎确定用户未成功 执行所尝试的姿势的情况下也能检测到一个或多个风格。例如, 可存在关于一个或多个姿 势的规则, 指示许多移动要被解释为用户正非常努力地完成一个或多个姿势。 由此, 即使移 动未关于建立特定姿势而通过, 二阶姿势识别引擎 190b 也可识别用户所作出的努力并通 过指示对用户努力的识别来个性化用户的游戏内体验。
     可被规则覆盖的某些风格包括但不限于 :
     ·移动的优雅程度 - 其中元数据指示用户以相对平滑或恒定的速度和 / 或加速度 来执行移动或移动之间的过渡 ;
     ·努力 - 例如, 其中元数据指示与给定姿势相关联的高度移动 ;
     ·身体控制 - 例如, 其中元数据指示用户能够保持他或她的身体或他或她的身体 的各部分不动 ;
     · 移动精度 - 其中元数据指示用户所执行的唯一运动是执行给定姿势所需的运 动;
     ·移动效率 - 其中元数据例如指示用户所执行的唯一运动是执行给定姿势所需的 身体部位 ;
     ·平稳移动 - 其中元数据指示执行给定姿势时一个或多个身体部位的相对恒定的 速度 ;
     ·缓慢且平稳的移动 - 其中元数据指示在执行给定姿势时用户的一个或多个身体 部位在阈值之下的相对恒定的速度 ;
     ·冷静、 放松的移动 - 例如, 其中元数据指示在准备执行给定姿势时低或恒定速度 的移动 ;
     · 爆发或剧烈的移动 - 例如, 其中用户具有与给定姿势相关联的过度和 / 或夸大的 移动。
     再次参考图 11 的流程图, 每一规则可具有关于图 4C 中所示的一个或多个身体部 位的多个参数 ( 最大 / 最小位置、 位置变化等 )。对于存储的姿势, 关于图 4B 中所示的每一 身体部位 302 到 330 的每一参数可存储单个值、 值范围、 最大值、 最小值、 或关于该身体部位 的参数与该规则所覆盖的风格的判定无关的指示。
     在以下描述中, 不同参数可由整数 i( 对第一个参数 i = 1, 对第二个参数 i = 2, 以此类推 ) 来指示。不同身体部位可由整数 j 来指示 ( 对第一个身体部位 j = 1, 对第二个 身体部位 j = 2, 以此类推 )。由此, Ri,j 是与关于第 j 个身体部位的第 i 个参数相关联的 规则中所存储的值或值范围。Mi,j 是从与关于第 j 个身体部位的第 i 个参数相关联的用户 姿势或运动中测得或导出的值或值范围。
     在步骤 700, 在确定所接收到的元数据是否满足给定规则时, 引擎 190b 最初检索 关于第一个参数 (i = 1) 的第一个身体部位 (j = 1) 的存储的规则值 Ri, 引 j。在步骤 702, 擎 190b 将所接收的测得元数据值 Mi,j 与存储的规则元数据值 Ri,j 进行比较。在步骤 706, 引擎 190b 确定当前测得的元数据值 Mi, j 是否等于规则元数据值 Ri, j 或在其预定范围内。
     可以理解, 尽管规则可由一组具有给定值的参数构成, 但这些参数中的一个或多 个在确定用户动作是否满足规定风格规则时可被加权更多。即, 特定身体部位的特定参数 可以比其他参数更明确地指示特定风格。在各实施例中, 关于所指示的身体部位的这些参数在对用户移动是否执行了给定风格的总体判定中可以被赋予较高的权重。由此, 在步骤 710, 引擎 190b 确定规则值 Ri,j 是否相对于其他规则值 Ri,j 被加权更多或更少。该权重信 息可与规则一起存储在库 640 中。
     即便有, 也很少发生给定一组测得参数将匹配存储的规则中的所有值的情况。如 上关于姿势所解释的, 二阶姿势识别引擎 190b 可输出风格和与用户的移动对应于该风格 的可能性相对应的置信水平。 该置信度值可用如上所述对给定姿势计算置信度值的相同方 式来计算。在步骤 712, 使用步骤 706 和 710 的判定, 引擎 190b 确定关于用户的移动达到所 考虑的规则覆盖的风格的累积置信水平。 累积置信水平将包括通过该循环的所有先前旅程 的置信水平加上对当前 Ri, j 的考虑。
     在步骤 716, 引擎 190b 查看对给定参数 i 是否还有身体部位 j 未关于所存储的规 则来考虑。如果是, 则在步骤 718 考虑下一身体部位 (j = j+1), 并且引擎 190b 返回到步骤 702 来对下一身体部位 j 将下一测得的元数据值 Mi, j 与所存储的规则值 Ri, j 进行比较。
     或者, 如果在步骤 716 确定对给定参数已经考虑了规则内的最后一个身体部位, 则引擎 190b 接着在步骤 720 确定在所存储的规则中是否还有参数要考虑。如果是, 则在步 骤 724 将参数值 i 递增 1, 并且引擎 190b 返回到步骤 702 来再一次对更新后的参数值 i 将 所接收的所测得的元数据值 Mi, j 与所存储的元数据规则值 Ri, j 进行比较。本领域的技术人 员可以理解将所测得的值 Mi, 如果在步骤 720 j 与所存储的规则值 Ri, j 进行比较的其他方法。 确定在所存储的规则中没有更多参数要考虑, 则引擎 190b 在步骤 728 返回累积置信水平。
     再次参考图 10, 一旦确定了关于给定姿势或运动是否满足给定风格规则的置信水 平, 二阶姿势识别引擎 190b 然后就在步骤 656 确定累积置信水平是否超过关于所考虑的规 则的预定阈值。阈值置信水平可与所考虑的规则相关联地存储。如果累积置信水平低于该 阈值, 则未检测到任何风格 ( 步骤 660) 并且不采取任何动作。另一方面, 如果累积置信水 平高于阈值, 则用户的运动被确定为满足所考虑的风格规则, 并且二阶姿势识别引擎 190b 如下所解释地个性化用户体验。 二阶姿势识别引擎可在一旦检测到与姿势或运动相关联的 风格时停止其规则比较。或者, 二阶姿势识别引擎可搜索所有规则来看是否有多于一个风 格适用于给定姿势或运动。
     本领域的技术人员可以理解对给定姿势或运动分析所测得的参数来确定参数 是否符合预定义风格的其他方法。一个此类另外的方法在题为 “GESTURE-CONTROLLED INTERFACES FOR SELF-SERVICE MACHINESAND OTHER APPLICATIONS( 用于自服务机器和其 他应用程序的姿势控制的接口 )” 的美国专利申请公开号 2009/0074248 中公开, 该申请的 公开通过整体引用结合于此。
     对给定风格的检测可在游戏或多媒体平台内以各种方式来使用以便奖励用户和 / 或个性化用户体验。 例如, 当用户的化身被示为执行所检测的姿势时, 该姿势可进一步由该 化身用所检测到的风格来执行。另外地和 / 或另选地, 化身的外观可改变以反映所检测到 的风格。 例如, 如果用户的姿势是要保持静止不动, 则如果用户能够不仅执行这一动作到一 阈值水平, 而且到展现出高水平的身体控制的水平, 则用户的化身可变为透明并部分消失。 给定以上公开内容, 本领域的技术人员可以理解可被提供来示出与所执行的姿势相关联的 所检测到的风格的各种各样其他游戏内音频和 / 或视频效果。此外, 除了以不同方式呈现 化身之外, 化身在游戏内的周边环境可另选地或另外地以不同方式呈现以便进一步示出用户的风格并进一步个性化用户的游戏体验。
     根据本发明的技术检测给定用户的风格在概念上不同于检测用户是否执行了给 定姿势。给定姿势的执行通常是通过 / 失败, 并且如果成功执行, 则将导致附加得分或用户 在游戏度量中前进。 相反, 对风格的检测并不是关于用户是否执行了给定姿势, 而是用户如 何执行该姿势。本发明的技术可在无论用户是否成功地执行了基本姿势的情况下检测风 格, 并且对风格的检测不导致得分或玩家在游戏度量中的前进 ( 尽管在其他实施例中以所 检测到的风格执行姿势会导致得分或前进 )。此外, 如上所述, 给定风格可以与特定姿势相 关联, 或者它可以独立于任何特定姿势或跨各种各样姿势来检测。 一般而言, 对各个玩家风 格的识别在玩游戏或使用多媒体应用程序时将个性化并增强用户体验。
     本发明系统的前述详细描述是出于说明和描述的目的而提供的。 这并不旨在穷举 本发明系统或将本发明系统限于所公开的精确形式。鉴于上述教导, 许多修改和变型都是 可能的。选择所述实施例以最好地解释本发明系统的原理及其实践应用, 从而允许本领域 技术人员能够在各种实施例中并采用各种适于所构想的特定用途的修改来最好地利用本 发明系统。本发明系统的范围旨在由所附权利要求书来定义。

姿势风格识别和奖励.pdf_第1页
第1页 / 共32页
姿势风格识别和奖励.pdf_第2页
第2页 / 共32页
姿势风格识别和奖励.pdf_第3页
第3页 / 共32页
点击查看更多>>
资源描述

《姿势风格识别和奖励.pdf》由会员分享,可在线阅读,更多相关《姿势风格识别和奖励.pdf(32页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102103408A43申请公布日20110622CN102103408ACN102103408A21申请号201010616839X22申请日2010121712/642,58920091218USG06F3/01200601G06T7/2020060171申请人微软公司地址美国华盛顿州72发明人J蒂亚奎罗74专利代理机构上海专利商标事务所有限公司31100代理人黄嵩泉钱静芳54发明名称姿势风格识别和奖励57摘要公开了用于确定一给定姿势是否是以特定风格来执行的系统、方法和计算机可读介质。该风格信息然后可用于个性化游戏或多媒体体验,从而因用户的个人风格而奖励用户。30优先权数。

2、据51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书17页附图11页CN102103411A1/3页21一种在包括计算环境的系统中的方法,所述计算环境耦合到用于捕捉用户运动的捕捉设备,所述方法个性化软件应用程序中的用户体验,所述方法包括以下步骤A在通过/失败的基础上检测用户是否执行了姿势;B除了检测用户是否执行了姿势之外,检测与用户如何执行所述姿势有关的至少一个性质方面;以及C基于在步骤B中检测到的所述至少一个性质方面向用户提供反馈。2如权利要求1所述的方法,其特征在于,所述步骤B包括将所述步骤A中获得的参数与关于所述至少一个性质方面的一组所存储的规则进行比较的。

3、步骤。3如权利要求1所述的方法,其特征在于,所述步骤B包括将所述步骤A中导出的参数与关于所述至少一个性质方面的一组所存储的规则进行比较的步骤。4如权利要求1所述的方法,其特征在于,所述步骤B包括分析以下的至少一项的步骤B1沿着三条轴相对于所述捕捉设备的最大和最小位置;B2沿着三条轴随时间的位置变化;B3沿着三条轴的最大和最小速度;B4沿着三条轴随时间的速度变化;B5沿着三条轴的最大和最小加速度;B6沿着三条轴随时间的加速度变化;以及B7面部表情。5如权利要求4所述的方法,其特征在于,所述步骤B还包括对多个不同身体部位分析B1到B6中的至少一项的步骤。6如权利要求5所述的方法,其特征在于,所述步。

4、骤B还包括将所分析的B1到B7中的至少一项的参数与定义与给定姿势相关联的风格的一组存储的规则进行比较的步骤。7如权利要求5所述的方法,其特征在于,所述步骤B还包括对等于以下中的一项的时间段分析B1到B7中的至少一项的步骤B8完成所述姿势之前的预定时间段;B9执行所检测的姿势所需的时间长度;以及B10执行所检测的姿势所需的时间长度加上所述姿势之前和/或之后的预定时间段。8如权利要求1所述的方法,其特征在于,所述步骤B包括检测与姿势相关联的以下性质方面中的至少一个的步骤B11与所述姿势相关联的优雅移动;B12执行所述姿势所花费的努力量;B13执行所述姿势时的身体控制;B14执行所述姿势时的移动精度。

5、;B15执行所述姿势时的移动效率;B16执行所述姿势时用户身体的各部分保持得有多平稳;B17执行所述姿势时用户身体的各部分保持得有多放松;B18执行所述姿势时用户的移动有多剧烈。9如权利要求1所述的方法,其特征在于,所述步骤C包括基于所述步骤B中检测到权利要求书CN102103408ACN102103411A2/3页3的性质方面来更改呈现给用户的软件应用程序的一部分以个性化呈现给用户的内容的步骤。10一种在游戏系统中的计算机可读存储介质,所述游戏系统包括耦合到用于捕捉用户运动的捕捉设备,所述计算机可读存储介质承载计算机可读指令,所述计算机可读指令当在处理器上执行时使得所述处理器执行一种方法,所。

6、述方法包括以下步骤A接收与用户运动有关的数据;B在通过/失败的基础上确定在所述步骤A中接收的用户运动数据是否对应于预定义姿势;C除了确定在所述步骤A中接收的用户运动数据是否对应于预定义姿势之外,确定与用户用于在所述步骤A中执行运动的风格有关的至少一个性质方面;以及D基于在步骤C中检测到的所述至少一个性质方面向用户提供反馈。11如权利要求10所述的方法,其特征在于,在所述步骤B确定用户未执行预定义姿势的情况下,所述步骤C可确定至少一个性质方面。12如权利要求10所述的方法,其特征在于,所述步骤C包括将与所述用户运动的性质方面有关的元数据与定义用户运动何时作为预定义风格是合格的一组规则进行比较的步。

7、骤。13如权利要求12所述的方法,其特征在于,所述步骤C包括对不同的预定义姿势存储不同的一组规则。14如权利要求12所述的方法,其特征在于,所述步骤C包括存储跨不同预定义姿势和/或不同用户运动应用的单个规则。15如权利要求12所述的方法,其特征在于,所述步骤C包括存储具有与以下的至少一个有关的预定义参数值的规则被解释为用于执行用户运动的特定风格的用户身体的一个或多个部分的位置或位置变化、速度或速度变化、或加速度或加速度变化。16如权利要求12所述的方法,其特征在于,所述步骤C包括存储定义用户运动何时被解释为以下风格之一的规则C1与用户运动相关联的优雅移动;C2执行用户运动花费的努力量;C3执行。

8、用户运动时的身体控制;C4执行用户运动时的移动精度;C5执行用户运动时的移动效率;C6执行用户运动时用户身体的各部分保持得有多平稳;C6执行用户运动时用户身体的各部分保持得有多放松;C8执行用户运动时用户的移动有多剧烈。17一种游戏系统,包括用于捕捉与用户的运动有关的数据的图像捕捉设备;用于从所述捕捉设备接收图像数据并主存游戏应用程序的计算环境,所述计算环境包括,一阶姿势识别引擎,用于接收与用户的运动有关的数据并在通过/失败的基础上确定用户的运动是否是作为预定义姿势合格的,权利要求书CN102103408ACN102103411A3/3页4二阶姿势识别引擎,用于接收所述数据和从所述数据导出的信。

9、息中的至少一个,并且除了对用户的运动是否是作为预定义姿势合格的阈值判定之外还确定用户的运动是否包括作为与用户运动相关联的预定义风格合格的风格属性,以及所述二阶姿势识别引擎使用的一组存储的规则,所述一组存储的规则包括一组预定义用户运动何时被解释为预定义风格的定义;以及耦合到所述计算环境的视听设备,用于基于从所述计算环境接收的信息来呈现所述用户和所述用户的运动的图形表示,所述图形表示通过以表示被所述二阶姿势识别引擎确定为存在的风格的图形来示出用户的运动或周边环境来增强。18如权利要求17所述的游戏系统,其特征在于,所述计算环境使得所述视听设备示出被所述一阶姿势识别引擎确定为存在的用户姿势,并且所述。

10、姿势以表示被所述二阶姿势识别引擎确定为存在的风格的图形示出。19如权利要求17所述的游戏系统,其特征在于,在所述一阶姿势识别引擎确定用户运动作为姿势不合格的情况下,所述计算环境使得所述视听设备示出表示与用户运动相关联的风格的图形。20如权利要求17所述的游戏系统,其特征在于,所述二阶姿势识别引擎分析与用户的运动相关联的参数并将这些参数与所述一组存储的规则中的参数进行比较,所述参数包括以下的至少一个所述用户的身体的一个或多个部分的位置或位置变化、速度或速度变化、以及加速度或加速度变化。权利要求书CN102103408ACN102103411A1/17页5姿势风格识别和奖励背景技术0001在过去,。

11、诸如计算机游戏和多媒体应用程序等计算应用程序使用控制命令来允许用户操纵游戏人物或应用程序的其他方面。通常,此类控制命令使用例如控制器、遥控器、键盘、鼠标等来输入。近来,计算机游戏和多媒体应用程序已开始使用照相机和软件姿势识别引擎来提供人机接口“HCI”。使用HCI,检测、解释用户姿势并将其用于控制游戏人物或应用程序的其他方面。0002在常规的游戏和多媒体应用程序中,HCI用于在通过/失败的基础上测量用户是否响应于提示或场景适当地执行了给定姿势。相反,常规系统不测量姿势是如何执行的。只要HCI系统确定所请求的姿势被执行到一阈值水平,就根据游戏/应用程序度量来奖励用户。然而,用户的移动可提供远多于。

12、所请求的姿势是否被执行到阈值水平的大量信息。不同用户以不同方式执行姿势。一些用户可比另一些用户更优美地执行给定姿势。一些用户可能在执行一姿势时比另一些用户更努力地尝试并尽更大的全力。常规的HCI系统在测量给定姿势的通过/失败状态时未将这些参数考虑在内。发明内容0003此处所公开的是用于确定一给定姿势是否是采用一特定风格来执行的系统和方法。该附加信息然后可用于个性化游戏或多媒体体验,从而因用户的个人风格而奖励用户。在一个实施例中,本发明的技术涉及一种游戏系统,该游戏系统包括用于捕捉与用户的运动有关的数据的图像捕捉设备、用于从该捕捉设备接收图像数据并主存游戏应用程序的计算环境、以及耦合到该计算环境。

13、的视听设备。0004该计算环境包括一阶姿势识别引擎,用于接收与用户的运动有关的数据并在通过/失败的基础上确定用户的运动作为预定义姿势是否是合格的。该计算环境还包括用于接收数据或从该数据导出的信息的二阶姿势识别引擎。二阶姿势识别引擎除了对用户的运动作为预定义姿势是否是合格的阈值判定之外还确定用户的运动是否包括作为与用户运动相关联的预定义风格是合格的风格属性。该计算环境还存储二阶姿势识别引擎使用的一组规则。该组存储的规则包括对一组预定义用户运动何时被解释为预定义风格的定义。0005该视听设备基于从计算环境接收到的信息来呈现用户和用户的运动的图形表示。用户或用户周围的图形标识可通过以表示被二阶姿势识。

14、别引擎确定为存在的风格的图形来示出用户的运动来增强。附图说明0006图1A和1B示出了伴随用户玩游戏的目标识别、分析和跟踪系统的示例实施例。0007图2示出了可在目标识别、分析和跟踪系统中使用的捕捉设备的示例实施例。0008图3A示出了可用于在目标识别、分析和跟踪系统中解释一个或多个姿势的计算环境的示例实施例。0009图3B示出了可用于在目标识别、分析和跟踪系统中解释一个或多个姿势的计算说明书CN102103408ACN102103411A2/17页6环境的另一示例实施例。0010图4A示出了从图2的目标识别、分析和跟踪系统生成的用户的骨架映射。0011图4B示出了图2所示的姿势识别器体系结构。

15、的进一步细节。0012图5A和5B示出了可如何堆叠姿势过滤器来创建更复杂的姿势过滤器。0013图6A、6B、6C、6D和6E示出了用户502在橄榄球视频游戏中可以作出以便发出“完全接球”信号的示例姿势。0014图7A、7B、7C、7D和7E示出了在解析图像数据的每一帧来产生用户的骨架图时图6A、6B、6C、6D和6E的示例“完全接球”姿势。0015图8是包括一阶和二阶姿势识别引擎的姿势识别器引擎的框图。0016图9是示出二阶姿势识别引擎的框图。0017图10是示出二阶姿势识别引擎的操作的流程图。0018图11是示出用于确定给定移动是否如二阶姿势识别引擎所检测的满足所存储的与风格有关的规则的详细。

16、步骤的流程图。具体实施方式0019现在将参考图111来描述本发明的技术的各实施例,本发明一般涉及其中用户姿势控制在诸如游戏控制台、计算机等计算环境上执行的应用程序的系统。在各实施例中,本发明的系统以两个过程检测并解释用户移动。第一个过程由标识用户作出的特定姿势的一阶姿势识别引擎来执行。在各实施例中,一旦一姿势被一阶识别引擎识别出,二阶姿势识别引擎就可以执行确定是否能够得出关于所检测到的姿势的性质方面的任何结论的第二个过程。这些性质方面在本文中有时被称为姿势风格。姿势风格可涉及姿势的各种属性,例如包括0020执行姿势的优美度;0021用户执行姿势所尽的努力;0022用户在执行姿势时的身体控制;0。

17、023用户在执行姿势时的移动的精确度;0024用户在执行姿势时的移动的效率;0025用户在执行姿势时的爆发或剧烈移动;0026姿势的缓慢和平稳程度的测量;0027姿势的冷静和放松程度的测量;0028构想了其他风格。以下详细讨论包括用于执行本发明的技术的一阶和二阶姿势识别引擎在内的硬件和软件。0029最初参考图1A2,用于实现本发明的技术的硬件包括目标识别、分析和跟踪系统10,该系统可用于识别、分析和/或跟踪诸如用户18等的人类目标。目标识别、分析和跟踪系统10的各实施例包括用于执行游戏或其他应用程序的计算环境12,以及用于从游戏或其他应用程序提供音频和视觉表示的视听设备16。系统10还包括用于。

18、检测设备20捕捉的用户的姿势的捕捉设备20,计算环境接收并使用该姿势来控制游戏或其他应用程序。这些组件中的每一各都会在以下详细描述。0030如图1A和1B所示,在一示例实施例中,在计算环境12上执行的应用程序可以是说明书CN102103408ACN102103411A3/17页7用户18可能正在玩的拳击游戏。例如,计算环境12可使用视听设备16来向用户18提供拳击对手22的视觉表示。计算环境12还可使用视听设备16来提供用户18可通过他的或她的移动来控制的玩家化身24的视觉表示。例如,如图1B所示,用户18可在物理空间中挥重拳来使得玩家化身24在游戏空间中挥重拳。因此,根据一示例实施例,目标识。

19、别、分析和跟踪系统10的计算环境12和捕捉设备20可用于识别和分析用户18在物理空间中的重拳,从而使得该重拳可被解释为对游戏空间中的玩家化身40的游戏控制。0031用户18的其他移动也可被解释为其他控制命令或动作,诸如上下快速摆动、闪避、滑步、格挡、用拳猛击或挥动各种不同力度的重拳等控制。此外,如以下所解释的,一旦系统确定姿势是重拳、上下快速摆动、闪避、滑步、格挡等中的一个,则可确定该姿势在物理空间中的附加性质方面。这些性质方面可影响该姿势或其他音频或视觉特征如何在游戏空间中显示,如以下所解释的。0032在各示例实施例中,诸如用户18等的人类目标可具有一物体。在这些实施例中,电子游戏的用户可手。

20、持物体从而可以使用玩家和物体的运动来调整和/或控制游戏的参数。例如,可以跟踪并利用玩家手持球拍的运动来控制电子运动游戏中的屏幕上球拍。在另一示例实施例中,可以跟踪并利用玩家手持物体的运动来控制电子格斗游戏中的屏幕上武器。0033图2示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20的示例实施例。关于用于本发明的技术的捕捉设备的进一步细节在共同待审的题为“GESTURETOOL姿势工具”的专利申请第_号和共同待审的题为“STANDARDGESTURES标准姿势”的专利申请第_号中阐明,这些申请的每一个都通过整体引用结合于此。然而,在一示例实施例中,捕捉设备20可被配置成捕捉带有深度图像视频。

21、,该深度图像可包括经由任何合适的技术包括例如飞行时间、结构化光、立体图像等的深度值。根据一实施例,捕捉设备20可将所计算的深度信息组织为“Z层”,即可与从深度照相机沿其视线延伸的Z轴垂直的层。0034如图2所示,捕捉设备20可包括图像照相机组件22。根据一示例实施例,图像照相机组件22可以是可捕捉场景的深度图像的深度照相机。深度图像可包括所捕捉的场景的二维2D像素区域,其中2D像素区域中的每一像素可表示来自照相机的所捕捉的场景中的对象的长度,该长度可采用例如厘米、毫米等单位。0035如图2所示,根据一示例实施例,图像照相机组件22可包括可用于捕捉场景的深度图像的IR光组件24、三维3D照相机2。

22、6、和RGB照相机28。例如,在飞行时间分析中,捕捉设备20的IR光组件24可将红外光发射到场景上,然后可使用传感器未示出,使用例如3D照相机26和/或RGB照相机28,来检测来自场景中的一个或多个目标和对象的表面的反向散射光。0036根据另一实施例,捕捉设备20可包括两个或更多物理上分开的照相机,这些照相机可从不同角度查看场景以获得视觉立体数据,该视觉立体数据可被解析以生成深度信息。0037捕捉设备20还可包括话筒30。话筒30可包括可接收声音并将其转换成电信号的变换器或传感器。根据一实施例,话筒30可用于减少目标识别、分析和跟踪系统10中的捕捉设备20与计算环境12之间的反馈。另外,话筒3。

23、0可用于接收也可由用户提供的音频信说明书CN102103408ACN102103411A4/17页8号,以控制可由计算环境12执行的诸如游戏应用程序、非游戏应用程序等应用程序。0038在一示例实施例中,捕捉设备20还可包括可与图像照相机组件22进行有效通信的处理器32。处理器32可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令可包括用于接收深度图像的指令、用于确定合适的目标是否可被包括在深度图像中的指令、用于将合适的目标转换成该目标的骨架表示或模型的指令、或任何其他合适的指令。0039捕捉设备20还可包括存储器组件34,存储器组件34可存储可由处理器32执行的指令、3D照相机或R。

24、GB照相机所捕捉的图像或图像的帧、或任何其他合适的信息、图像等等。根据一示例实施例,存储器组件34可包括随机存取存储器RAM、只读存储器ROM、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图2所示,在一实施例中,存储器组件34可以是与图像捕捉组件22和处理器32进行通信的单独的组件。根据另一实施例,存储器组件34可被集成到处理器32和/或图像捕捉组件22中。0040如图2所示,捕捉设备20可经由通信链路36与计算环境12进行通信。通信链路36可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线80211B、80211G、80211A或80211N连接等无线连接。根。

25、据一实施例,计算环境12可经由通信链路36向捕捉设备20提供可用于确定例如何时捕捉场景的时钟。0041另外,捕捉设备20可经由通信链路36向计算环境12提供深度信息和由例如3D照相机26和/或RGB照相机28捕捉的图像,以及可由捕捉设备20生成的骨架模型。存在各种用于确定捕捉设备20所检测的目标或对象是否对应于人类目标的已知技术。骨架映射技术因而可用于确定该用户的骨架上的各个点,手、腕、肘、膝、鼻、踝、肩的关节,以及骨盆与脊椎相交之处。其他技术包括将图像变换成该人的身体模型表示以及将图像变换成该人的网格模型表示。0042骨架模型然后可被提供给计算环境12,使得计算环境可跟踪骨架模型并呈现与该骨。

26、架模型相关联的化身。计算环境还可基于例如从骨架模型中识别出的用户的姿势和姿势风格来确定在计算机环境上执行的应用程序中要执行哪些控制命令。例如,如图2所示,计算环境12可包括姿势识别器引擎190。姿势识别器引擎190将在下文解释,但一般可包括姿势过滤器集合,每一姿势过滤器包括关于骨架模型可执行在用户移动时的姿势的信息。可将由照相机26、28和捕捉设备20捕捉的骨架模型形式的数据以及与其相关联的移动同姿势识别器引擎190中的姿势过滤器进行比较来标识用户如骨架模型所表示的何时执行了一个或多个姿势。那些姿势可与应用程序的各种控制命令相关联。因此,计算环境12可使用姿势识别器引擎190来解释骨架模型的移。

27、动并基于该移动来控制应用程序。0043图3A示出了可用于在目标识别、分析和跟踪系统中解释一个或多个姿势的计算环境的示例实施例。诸如以上参考图1A2描述的计算环境12等计算环境可以是诸如游戏控制台等多媒体控制台100。如图3A所示,多媒体控制台100包括具有1级高速缓存102、2级高速缓存104和闪存ROM106的中央处理单元CPU101。1级高速缓存102和2级高速缓存104临时存储数据并因此减少存储器访问周期数,从而改进处理速度和吞吐量。CPU101可以被设置成具有一个以上的核,以及附加的1级和2级高速缓存102和104。闪存ROM106可存储在多媒体控制台100通电时在引导进程的初始阶段加。

28、载的可执行代码。0044图形处理单元GPU108和视频编码器/视频编解码器编码器/解码器114形成用于高速、高分辨率图形处理的视频处理流水线。数据经由总线从GPU108输送到视频编说明书CN102103408ACN102103411A5/17页9码器/视频编解码器114。视频处理流水线将数据输出到A/V音频/视频端口140以传输到电视机或其它显示器。存储器控制器110连接到GPU108以方便处理器访问各种类型的存储器112,诸如但不局限于RAM。0045多媒体控制台100包括较佳地在模块118上实现的I/O控制器120、系统管理控制器122、音频处理单元123、网络接口控制器124、第一USB。

29、主控制器126、第二USB主控制器128和前面板I/O子部件130。USB控制器126和128用作外围控制器14211422、无线适配器148、和外置存储器设备146例如闪存、外置CD/DVDROM驱动器、可移动介质等的主机。网络接口124和/或无线适配器148提供对网络例如因特网、家庭网络等的访问并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同有线和无线适配器组件中任一种。0046提供系统存储器143以存储在引导进程期间加载的应用程序数据。提供媒体驱动器144且其可包括DVD/CD驱动器、硬盘驱动器、或其它可移动媒体驱动器等。媒体驱动器144对于多媒体控制台100可以。

30、内置或外置。应用程序数据可经由媒体驱动器144访问,以由多媒体控制台100执行、回放等。媒体驱动器144经由诸如串行ATA总线或其它高速连接例如IEEE1394等总线连接到I/O控制器120。0047系统管理控制器122提供涉及确保多媒体控制台100的可用性的各种服务功能。音频处理单元123和音频编解码器132形成具有高保真度和立体声处理的对应的音频处理流水线。音频数据经由通信链路在音频处理单元123与音频编解码器132之间传输。音频处理流水线将数据输出到A/V端口140以供外置音频播放器或具有音频能力的设备再现。0048前面板I/O子部件130支持暴露在多媒体控制台100的外表面上的电源按钮。

31、150和弹出按钮152以及任何LED发光二极管或其它指示器的功能。系统供电模块136向多媒体控制台100的组件供电。风扇138冷却多媒体控制台100内的电路。0049CPU101、GPU108、存储器控制器110、和多媒体控制台100内的各个其它组件经由一条或多条总线互连,包括串行和并行总线、存储器总线、外围总线、和使用各种总线架构中的任一种的处理器或局部总线。作为示例,这种架构可以包括外围组件互连PCI总线、PCIEXPRESS总线等。0050当多媒体控制台100通电时,应用程序数据可从系统存储器143加载到存储器112和/或高速缓存102、104中并在CPU101上执行。应用程序可呈现在导。

32、航到多媒体控制台100上可用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中,媒体驱动器144中包含的应用程序和/或其它媒体可从媒体驱动器144启动或播放,以向多媒体控制台100提供附加功能。0051多媒体控制台100可通过将该系统简单地连接到电视机或其它显示器而作为独立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看电影、或听音乐。然而,随着通过网络接口124或无线适配器148可用的宽带连接的集成,多媒体控制台100还可作为较大网络社区中的参与者来操作。0052当多媒体控制台100通电时,可以保留一定量的硬件资源以供多媒体控制台操作系统作系统使用。这。

33、些资源可以包括存储器保留例如,16MB、CPU和GPU周期例如,5、网络带宽例如,8KBS等。因为这些资源是在系统引导时保留的,所以保留的资源对应用程序而言是不存在的。说明书CN102103408ACN102103411A6/17页100053更具体地,存储器保留较佳地足够大,以包含启动内核、并发系统应用程序和驱动程序。CPU保留较佳地为恒定,使得若保留的CPU用量未被系统应用程序使用,则空闲线程将消耗任何未使用的周期。0054对于GPU保留,通过使用调度代码在覆盖图中呈现弹出窗口的GPU中断来显示由系统应用程序生成的轻量消息例如,弹出窗口。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图较。

34、佳地随屏幕分辨率缩放。在并发系统应用程序使用完整用户界面的情况下,优选使用独立于应用程序分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率,也就不会引起TV的重新同步。0055在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用程序来提供系统功能。系统功能被封装在一组在上述保留的系统资源中执行的系统应用程序中。操作系统内核标识是与游戏应用程序线程相对的系统应用程序线程的线程。系统应用程序较佳地被调度在预定时间且以预定间隔在CPU101上运行,从而为应用程序提供一致的系统资源视图。进行调度是为了把对在控制台上运行的游戏应用程序的高速缓存中断最小化。0056当并发系统应用程序需。

35、要音频时,则由于时间敏感性而异步调度音频处理给游戏应用程序。多媒体控制台应用程序管理器如下所述在系统应用程序活动时控制游戏应用程序的音频水平例如,静音、衰减。0057输入设备例如,控制器1421和1422由游戏应用程序和系统应用程序共享。输入设备不是保留资源,但却在系统应用程序和游戏应用程序之间切换以使其各自具有设备的焦点。应用程序管理器较佳地控制输入流的切换,而无需知晓游戏应用程序的知识,并且驱动程序维护有关焦点切换的状态信息。照相机26、28和捕捉设备20可定义控制台100的附加输入设备。0058图3B示出了可用于在目标识别、分析和跟踪系统中解释一个或多个姿势的计算环境220的另一示例实施。

36、例,该计算环境可以是图1A2所示的计算环境12。计算系统环境220只是合适的操作环境的一个示例,并且不旨在对所公开的主题的使用范围或功能提出任何限制。也不应该将计算环境220解释为对示例性操作环境220中示出的任一组件或其组合有任何依赖性或要求。在某些实施例中,所描绘的各种计算元件可包括被配置成实例化本发明的具体方面的电路。例如,本发明中使用的术语“电路”可包括被配置成通过固件或开关来执行功能的专用硬件组件。在其他示例实施例中,术语“电路”可包括由具体化可操作来执行功能的逻辑的软件指令来配置的通用处理单元等。在其中电路包括硬件和软件的组合的实施例中,实现者可以便携具体化逻辑的源代码,并且该源代。

37、码可被编译成可由通用处理单元来处理的机器可读代码。由于本领域的技术人员能理解,现有技术已经发展到在硬件、软件或硬件/软件的组合之间几乎没有差别的地步,因此是选择硬件还是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域的技术人员可以理解,软件进程可被变换成等效的硬件结构,而硬件结构本身可被变换成等效的软件进程。由此,对硬件实现还是软件实现的选择是一个设计选择并留给实现者。0059在图3B中,计算环境220包括计算机241,其通常包括各种计算机可读介质。计算机可读介质可以是能由计算机241访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器222包括诸如RO。

38、M223和RAM260等易失性和/或非易失性存储器形式的计算机存储介质。基本输入/输出系统224BIOS包括如在启动时说明书CN102103408ACN102103411A7/17页11帮助在计算机241内的元件之间传输信息的基本例程,它通常储存在ROM223中。RAM260通常包含处理单元259可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非局限,图3B示出了操作系统225、应用程序226、其它程序模块227和程序数据228。0060计算机241还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图3B示出了对不可移动、非易失性磁介质进行读写的硬盘驱动。

39、器238,对可移动、非易失性磁盘254进行读写的磁盘驱动器239,以及对诸如CDROM或其它光学介质等可移动、非易失性光盘253进行读写的光盘驱动器240。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器238通常由不可移动存储器接口,如接口234连接至系统总线221,磁盘驱动器239和光盘驱动器240通常由可移动存储器接口,如接口235连接至系统总线221。0061以上讨论并在图3B中示出的驱动器及其相关联的计算机存储介质为计算机241提供了对计算机可读指令、数据结构。

40、、程序模块和其他数据的存储。在图3B中,例如,硬盘驱动器238被示为存储操作系统258、应用程序257、其他程序模块256和程序数据255。注意,这些组件可以与操作系统225、应用程序226、其他程序模块227和程序数据228相同,也可以与它们不同。操作系统258、应用程序257、其他程序模块256和程序数据255在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,如键盘251和定点设备252通常称为鼠标、跟踪球或触摸垫向计算机241输入命令和信息。其他输入设备未示出可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常由耦合至系统总线的用户。

41、输入接口236连接至处理单元259,但也可以由其他接口和总线结构,如并行端口、游戏端口或通用串行总线USB连接。照相机26、28和捕捉设备20可定义控制台100的附加输入设备。监视器242或其他类型的显示设备也经由接口,如视频接口232连接至系统总线221。除监视器以外,计算机还可以包括其他外围输出设备,如扬声器244和打印机243,它们可以通过输出外围接口233连接。0062计算机241可使用至一个或多个远程计算机,如远程计算机246的逻辑连接在网络化环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点,且通常包括许多或所有以上相对于计算机24。

42、1描述的元件,尽管在图3B中仅示出了存储器存储设备247。图3B中所示的逻辑连接包括局域网LAN245和广域网WAN249,但也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。0063当在LAN联网环境中使用时,计算机241通过网络接口或适配器237连接至LAN245。当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因特网等WAN249建立通信的其他装置。调制解调器250可以是内置或外置的,它可以经由用户输入接口236或其他适当的机制连接至系统总线221。在网络化环境中,关于计算机241所描述的程序模块或其部分可被储存在远程。

43、存储器存储设备中。作为示例而非限制,图3B示出了远程应用程序248驻留在存储器设备247上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之问建立通信链路的其他手段。0064如上所述,计算环境12内的姿势识别器引擎190被设置来接收姿势信息并从该信息中标识姿势和姿势风格。具体地,姿势识别器引擎190包括用于检测姿势的一阶识别引说明书CN102103408ACN102103411A8/17页12擎190A,以及用于检测所检测到的姿势的性质方面的二阶识别引擎190B。现在将描述一阶识别引擎190A,之后描述二阶识别引擎190B。0065图4A描绘了可从姿势设备20生成的用户的示例骨架映射。。

44、在该实施例中,标识各种关节和骨骼每一手302、每一前臂304、每一肘306、每一二头肌308、每一肩310、每一臀312、每一大腿314、每一膝316、每一前腿318、每一脚320、头322、躯干324、脊椎的顶部326和底部328、以及腰330。在跟踪多个点的情况下,可标识另外的特征,如手指或脚趾的骨骼和关节,或脸部的各个特征,如鼻和眼。0066用户可通过移动他/她的身体创建姿势。姿势包括用户的运动或姿态,其可被捕捉为图像数据并解析其意义。姿势可以是动态的,包括运动,如模仿扔球。姿势可以是静态姿态,如在一个人的躯干324前面交叉握住他的前臂304。姿势也可包含道具,如通过挥动仿制的剑。姿势可。

45、包括多于一个身体部位,如拍双手302,或是较微小的运动,如撅起一个人的嘴唇。0067姿势可用于由一阶识别引擎190A在一般计算上下文中输入。例如,手302或其他身体部位的各种运动可对应于常见的系统级任务,如在分层列表中向上或向下导航、打开文件、关闭文件和保存文件。姿势也可由一阶识别引擎190A取决于游戏在视频游戏专用上下文中使用。例如,对于驾驶游戏,手302和脚320的各种运动可对应于在一方向上操控车辆、换挡、加速和刹车。0068用户可通过自己在原地行走或奔跑来生成对应于行走或奔跑的姿势。用户可另选地提起并放下每一腿312320来在不移动的情况下模拟行走。一阶识别引擎190A可通过分析每一臀3。

46、12和每一大腿314来解析该姿势。当一个臀大腿角如相对于垂直线测量的,其中站立的腿具有0的臀大腿角,而向前水平伸展的腿具有90的臀大腿角超过相对于另一大腿的特定阈值时,可识别一步。行走或奔跑可在交替的腿的某一数量的连续步之后被识别。两个最近的步之间的时间可被认为是周期。在不满足阈值角度的某一数量的周期之后,系统可确定行走或奔跑姿势已停止。0069给定“行走或奔跑”姿势,应用程序可为与该姿势相关联的参数设定值。这些参数可包括上述阈值角度、发起行走或奔跑姿势所需的步数、结束姿势的没有发生步的周期数、以及确定姿势是行走还是奔跑的阈值周期。快周期可对应于奔跑,因为用户将快速地移动他的腿,而较慢的周期可。

47、对应于行走。0070姿势最初可以与一组默认参数相关联,应用程序可用其自己的参数来覆盖该组默认参数。在这一场景中,不迫使应用程序提供参数,但是应用程序可改为使用一组允许在没有应用程序定义的参数的情况下识别姿势的默认参数。0071有各种可以与姿势相关联的输出。可以有关于姿势是否正在发生的基线“通过或失败”。还可以有置信水平,其对应于用户跟踪的移动对应于姿势的可能性。这可以是范围为0和1之间包括端点的浮点数的线性标度。在接收该姿势信息的应用程序不能接受假肯定作为输入的应用程序中,它可仅使用具有高置信水平,如至少95的已识别的姿势。在应用程序必须识别姿势的每一实例、甚至是以假肯定为代价的情况下,它可使。

48、用至少具有低得多的置信水平的姿势,如仅仅大于2的那些姿势。姿势可具有关于两个最近步之间的时间的输出,并且在仅注册第一步的情况下,这可被设为保留值,如1因为任何两步之间的时间必须为正。姿势也可具有关于在最近一步期间达到的最高大腿角的输出。说明书CN102103408ACN102103411A9/17页130072另一示例性姿势是“脚跟提起跳”。在该姿势中,用户可通过将他的脚跟提离地面,但保持他的脚趾着地来创建该姿势。另选地,用户可跳向空中,其中他的脚320完全离开地面。该系统可通过分析肩310、臀312和膝316的角度关系来解析该姿势的骨架,以查看它们是否在等于直立的对齐位置。然后,可监视这些点。

49、和较高326和较低328脊椎点来寻找任何向上加速。足够的加速组合可触发跳跃姿势。0073给定该“脚跟提起跳”姿势,应用程序可为与该姿势相关联的参数设定值。参数可包括上述加速阈值,其确定用户的肩310、臀312和膝316的某种组合必须向上移动多快来触发该姿势;以及肩310、臀312和膝316之问仍可触发跳跃的最大对齐角。0074输出可包括置信水平,以及用户在跳跃时的身体角度。0075基于将接收姿势的应用程序的细节来为姿势设定参数对于准确地标识姿势而言是重要的。正确地标识姿势以及用户的意图极大地有助于创建积极的用户体验。在姿势识别器系统190太敏感、甚至手302的微小向前运动被解释为投掷的情况下,用户可能变得沮丧,因为在他没有作出姿势的意图的情况下却识别出姿势,因此他缺乏对系统的控制。在姿势识别器系统不够敏感的情况下,系统可能未识别出用户作出投掷姿势的刻意尝试,从而类似地使用户感到沮丧。在敏感度范围的任一端,用户都会变得沮丧,因为他不能正确地向系统提供输入。0076对于姿势的另一参数可以是移动的距离。在用户的姿势控制虚拟环境中的化身的动作的情况下,该化身可以是手臂离球的长度。如果用户希望与该球交互并抓住它,则这可要求用户伸展他的手臂302310到全长同时作出抓握姿势。在这一情形中,用户仅部分地伸展他的手臂302310的类似的抓握姿势可能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1