用于改进骨骼跟踪的姿势银行的制作方法

文档序号:6378640阅读:194来源:国知局
专利名称:用于改进骨骼跟踪的姿势银行的制作方法
技术领域
本申请涉及用于改进骨骼跟踪的姿势银行。
背景技术
计算机系统可包括视觉系统以获取用户的视频、从该视频中确定用户的姿态和/或姿势以及将该姿态和/或姿势提供为对计算机软件的输入。通过这种方式提供输入尤其对于视频游戏应用而言是吸引人的。视觉系统可被配置为观察和解释与游戏内动作相对应的真实世界姿态和/或姿势,从而控制游戏。然而,确定用户的姿态和/或姿势的任务不是平常的;这需要视觉系统硬件和软件的较复杂的组合。这个领域的挑战之一是由直觉知道针对视觉系统不足以解决的姿势的正确的用户输入。

发明内容
本发明的一个实施例提供了 一种用于获得来自计算机系统的用户的姿势输入的方法。在该方法中,获取用户的图像,并且基于该图像来计算用户的几何模型的运行时表示。该运行时表示与存储的数据进行比较,该存储的数据包括多个存储的度量,每个存储的度量与对作出姿势的行动者进行的测量相对应。其中每个存储的度量与作出相关联的姿势的行动者的几何模型的存储的表示相关联。该方法基于与和运行时表示相匹配的存储的表示相关联的存储的度量来返回姿势输入。提供发明内容述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。


图1示出根据本发明的实施例的示例应用环境的各方面。图2示出根据本发明的一实施例的用于获得来自计算机系统的用户的姿势输入的示例高级方法。图3和4示意性地显示根据本发明的各实施例的人类主体的示例几何模型。图5示出根据本发明的一实施例的示例姿势银行填充方法。图6示出根据本发明的一实施例的示例运动捕捉环境。图7显示根据本发明的一实施例的姿势银行。图8示出根据本发明的一实施例的从运行时几何模型中提取姿势输入的示例方法。图9示意性地显示根据本发明的一实施例的示例视觉系统。图10示出根据本发明的一实施例的计算机系统的示例控制器。图11示意性地显示根据本发明的一实施例的从群集中选择存储的度量。
图12示意性地显示根据本发明的一实施例的选择遵循预定义的轨迹的存储的度量。
具体实施例方式现在将通过示例并参照所示的以上列出的实施例来描述本发明的各方面。在一个或多个实施例中基本相同的组件、过程步骤和其他元素被协调地标识并且以重复最小的方式描述。然而应该注意,协调地标识的元素还可以在某种程度上不同。还应该注意,本发明中包括的附图是示意性的并且通常未按照比例绘制。相反,附图中所示的各种绘制比例、纵横比和组件数量可以有目的地失真,以使特定特征或关系更加显见。图1显示了示例应用环境10的各方面。应用环境包括计算机系统用户14所位于的场景12。该图还显示了计算机系统16。在一些实施例中,计算机系统可以是交互式视频游戏系统。因此,示出的计算机系统包括高清平板屏幕显示器18和立体声扬声器20A和20B。控制器22被操作地耦合到显示器和扬声器。控制器也可被操作地耦合到其它输入和输出元件;这样的元件可包括例如键盘、定点设备、头戴式显示器或手持式游戏控制器。在其中计算机系统是游戏系统的实施例中,用户可以是游戏系统的单个玩家或多个玩家之
O在一些实施例中,计算机系统16可以是被配置为用于除了游戏之外的其它用处的个人计算机(PC)。在其它实施例中,计算机系统可以完全与游戏无关;它可被配备有适合于其预期使用的输入和输出元件以及应用软件。计算机系统16包括视觉系统24。在图1显示的实施例中,视觉系统被具体化在控制器22的硬件和软件中。在其它实施例中,视觉系统可以与控制器22分开。例如,具有其自己的控制器的外围视觉系统可被安排在显示器18的顶部以更好地观测用户14,而控制器22被安排为在显示器的下面或任何方便的位置。

视觉系统24被配置为获取场景12的视频,并且尤其获取用户14的视频。视频可包括适于在此描述的目的的空间分辨率和帧速率的时间解析的图像序列。视觉系统被配置为处理所获取的视频来标识用户的一个或多个姿态和/或姿势,以及将这样的姿态和/或姿势解释成对在计算机系统16上运行的应用和/或操作系统的输入。因此,示出的视觉系统包括相机26和28,它们被安排为获取场景的视频。相机的性质和数量在本发明的各个实施例中可以是不同的。一般而言,一个或多个相机可被配置成提供视频,通过下游处理来从该视频中获得时间解析的三维深度图序列。如在此使用的,术语“深度图”指与成像场景的对应区域配准(register)的像素阵列,其中每个像素的深度值指示该对应区域的深度。“深度”被定义为与视觉系统的光轴平行的坐标,其随着与视觉系统24的距离的增加而增加一例如,图1中的Z坐标。在一个实施例中,相机26和28可以是立体视觉系统的右和左相机。来自两个相机的时间解析的图像可被相互配准并可被组合来产生深度解析的视频。在其它实施例中,视觉系统24被配置成将包括多个离散特征(例如,线或点)的结构化红外照明投射到场景12上。相机26可被配置成对从场景反射的结构化照明进行成像。基于所成像的场景的各个区域内邻近特征之间的间隔,可构造该场景的深度图。在其它实施例中,视觉系统24可被配置成将脉冲红外照明投射到场景上。相机26和28可被配置成对从场景反射的脉冲照明进行检测。两个相机均可包括与脉冲照明同步的电子快门,但用于这两个相机的集成时间可不同,使得脉冲照明的从源到场景再接着到这两个相机的像素解析的飞行时间可从在两个相机的相应的像素中接收到的相对光的量中辨别。在其它实施例中,视觉系统可包括任何类型的彩色相机和深度相机。来自彩色和深度相机的时间解析的图像可被相互配准并可被组合来产生深度解析的彩色视频。从一个或多个相机中,图像数据可通过合适的输入一输出元件被接收到视觉系统24的处理元件中。由于被具体化在控制器22中(参见下文),这样的处理元件可被配置成执行在此描述的任何方法,包括例如图2中示出的方法。图2示出了用于获得来自计算机系统的用户的姿势输入的示例高级方法30。在方法30的32,计算机系统的视觉系统获取包括用户的场景的一个或多个图像。在34,从该一个或多个图像中获得深度图,从而提供三维数据,从该三维数据中可标识用户的姿态和/或姿势。在一些实施例中,一个或多个背景去除过程一例如,地板发现(floor-finding)、墙壁发现(wall-finding)等一可被应用到深度图以便分离用户,从而改进后续处理的效率。在36,基于来自深度图的信息将用户的几何建模到某个级别的精确度。该动作产生用户的运行时几何模型一即,用户的姿态的机器可读表示。图3示意性地显示人类主体的示例几何模型38A。该模型包括虚拟骨架40,其具有多个枢转地耦合在多个关节42处的骨骼部分40。在一些实施例中,身体部位指定可被分配给每个骨骼部分和/或每个关节。在图3中,每个骨骼部分40的身体部位指定是由附加的字母表示的:A针对头部,B针对锁骨,C针对上臂,D针对前臂,E针对手部,F针对躯干,G针对骨盆,H针对大腿,J针对小腿以及K针对脚部。类似地,每个关节42的身体部位指定是由附加的字母表示的:A针对颈部,B针对肩膀,C针对肘,D针对手腕,E针对下背,F针对髋关节,G针对膝盖以及H针对踝。自然地,图3中显示的骨骼部分和关节不是为了限制。符合本发明的几何模型可包括实质上任何类型和数量的骨骼部分和关节。在一个实施例中,每个关节可与各种参数相关联一例如,指定关节位置的笛卡尔坐标、指定关节转向的角度、以及指定对应的身体部位的形态(手打开、手闭合等)的附加参数。该模型可采取数据结构的形式,该数据结构包括这些针对虚拟骨架的各个关节的参数中的任意或所有。通过该方式,定义几何模型的所有度量的数据一它的大小、形状、方向、位置等一可被分配给关节。图4显示了等同符合本发明的不同的几何模型38B。在模型38B中,几何立体44与每个骨骼部分相关联。适合这种建模的几何立体是那些至少在某种程度上在形状上近似用户的各个身体部位的几何立体。示例几何立体包括椭圆、多面体(诸如棱柱)和平截面。现在返回到图2,在方法30的步骤36处,运行时几何模型的骨骼部分和/或关节可适于深度图。该动作可确定模型的各个关节的位置、旋转角度以及其它参数值。通过任何合适的最小化方式,骨骼部分的长度和模型的关节的位置和旋转角度可被优化以符合深度图的各个轮廓。在一些实施例中,拟合(fitting)骨骼部分的动作可包括将身体部位指定分配到深度图的多个轮廓。任选地,身体部位指定可在最小化之前被分配。如此,拟合过程可由身体部位指定通知并部分地基于身体部位指定。例如,先前训练的几何模型集合可被用于将来自深度图的特定像素标记为属于特定的身体部位;适合于该身体部位的骨骼部分可接着被拟合到所标记的像素。如果给定的轮廓被指定为主体的头部,那么拟合过程可设法将枢转地耦合到单个关节的骨骼部分一即,颈部一拟合到该轮廓。如果轮廓被指定为前臂,那么拟合过程可设法拟和耦合到两个关节的骨骼部分一在该部分的每个端处均有一个关节。此外,如果确定给定的轮廓不可能对应于主体的任何身体部位,那么该轮廓可被屏蔽或以其它方式从随后的骨骼拟合中消除。在图2中继续,在方法30的46,从运行时几何模型中提取从用户的姿态中得出的姿势输入。例如,用户的右前臂的位置和方向(如在模型中指定的)可被提供为对运行在计算机系统上的应用软件的输入。这样的输入可采取无线地或通过线缆来携带编码信号的形式;其可用任何合适的数据结构来数字化地表示。在一些实施例中,姿势输入可包括模型的所有骨骼部分和/或关节的位置或方向,从而提供用户姿态的更完整的调查。通过这种方式,计算机系统的应用或操作系统可基于模型来配备有输入。然而,可以预料图2的方法在跟踪特定姿势方面具有困难,尤其当用户14处于相对于视觉系统24的较不理想的位置时。示例场景包括对于姿势而言关键的身体部位的遮挡、不明确的姿态或姿势以及从一个用户到下一用户的姿势的变化。在这些情况和其它情况中,对用户可能作出的姿势或姿势范围的提前预测可改进姿势数据跟踪和检测。这样的预测通常在考虑姿势输入的上下文时是可能的。因此,在此揭示的方式包括存储针对预期姿势输入的合适的可观察量集合以及将这些可观察量映射到姿势输入。为此,一个或多个行动者(即,人类主体)在作出姿势输入时被视觉系统观察到。视觉系统接着从深度图中计算行动者的几何模型,如在以上基本描述的。然而与此同时,通过分开的机制获取另一可靠地跟踪姿势的度量。该度量可包括广泛的信息一例如,从工作室质量运动捕捉系统中得出的仔细构建的骨骼模型。在其它示例中,度量可包括动力学数据,诸如在作出姿势输入时移动的骨骼部分的线速度或角速度。在其它示例中,度量可被限定为一个或多个简单标量值一例如,姿势输入的完成的程度,如由人类或机器打标记机标识并标记的。接着,度量以及所观察到的行动者的几何模型的表示一起被存储在姿势银行中以供兼容的视觉系统运行时检索。图5更加详细地示出了以上概述的姿势银行填充方法。在方法48的50,行动者被提示作出可由计算机系统识别的输入姿势。输入姿势可以是针对视频游戏或其它应用或针对操作系统的期望输入。例如,篮球游戏应用可识别来自玩家的姿势输入,该姿势输入包括模拟的阻挡、钩手投篮、扣篮以及跳投。因此,一个或多个行动者可被提示顺序执行这些动作中的各个动作。在方法48的52,在行动者作出输入姿势时在视觉系统中计算行动者的几何模型。所得到的模型因此是基于作出该姿势的行动者的图像的。该过程实质上可如在方法30的上下文中描述的那样发生。尤其,步骤32、34和36可被执行来计算几何模型。在一个实施例中,用于获取行动者的图像、用于获得合适的深度图以及用于计算几何模型的视觉系统可实质上与在此以上描述的视觉系统24相同。在其它实施例中,视觉系统可稍微不同。在方法48的54,确定一即,测量一与行动者所作出的姿势相对应的可靠度量。度量的性质以及确定该度量的方式可在本发明的各个实施例中不同。在一些实施例中,方法48将被执行来构造针对特定运行时环境(例如,视频游戏系统或应用)的姿势银行。在这样的实施例中,所针对的运行时环境建立要被确定的最合适的一个或多个度量。因此,在处理的这个阶段,可对行动者的所有几何模型确定单个、合适的度量。在其它实施例中,可同时或顺序地确定多个度量。在一个实施例中,如图6中显示的,工作室质量运动捕捉环境56可被用于确定度量。行动者58可配备有多个运动捕捉标记60。多个工作室相机62可位于该环境中并被配置为对标记进行成像。因此,存储的度量可以是向量值的并是相对高维的。在一些示例中,其可定义行动者的完整骨架或骨架的任何部分。图6的实施例不应该被认为是必要或排他的,附加的和替换的机制也是预期的。在一个示例中,在54处确定的度量可仅仅提供二进制信息:行动者有或没有举起她的手,行动者有或没有单脚站立等。在另一示例中,度量可提供更加详细、低维的信息:站立的行动者相对于视觉系统旋转N度。在其它实施例中,可标识行动者的输入姿势的完成程度一例如,跳投完成10%、完成50%等。在一个特定的示例中,来自时钟或同步计数器的定时脉冲可被用于建立姿势的完成程度。定时脉冲可被同步到姿势的开始、结束和/或可识别的中间阶段(例如,通过知晓该姿势通常如何发展的人)。因此,在此预期的度量的范围可包括单个标量值或具有任何合适的长度或复杂度的标量值的有序序列(即,向量)。现在返回到图5,在方法48的64,行动者的几何模型的表示以及对应的度量被一起存储在可搜索的姿势银行(即,数据库)中。图7示出了示例姿势银行66 —即,保持数据的机器可读存储器组件的整体。该数据包括多个存储的度量,每个存储的度量与对作出姿势的行动者作出的测量相对应 ,并且包括针对每个存储的度量的、作出相关联的姿势的行动者的几何模型的存储的表示。在一个实施例中,每个存储的度量可用作针对对应的存储的表示的索引。实质上可基于将访问姿势银行的应用的要求来计算并存储任何类型的几何模型表示。在一些实施例中,存储的表示可以是相当于几何模型的较低或较高维表示的特征向量。在几何模型被转换成特征向量之前,可执行某一程度的预处理。例如,几何模型可通过经由以下方式来对每个骨骼部分进行缩放而被规范化:对适合于该部分或其末端关节对相关联的姿势输入的影响的因子进行加权。例如,如果手臂的位置是重要的而手的位置不是重要的,那么肩膀一到一肘部关节可被分配大的比例,而手一到一腕关节可被分配小的比例。预处理还可包括地板平面的位置,使得整个几何模型可被旋转到竖直位置或给定的某个其它合适方向。一旦被规范化和/或旋转,几何模型可被转换成合适的特征向量。可使用其他类型的特征向量而不背离本公开的范围。作为非限定的示例,可使用旋转变化特征向量fKV和/或旋转不变特征向量fKI。这两个向量中的哪个更合适取决于将使用姿势银行的应用一例如,运行时计算/游戏环境。如果在该环境内,用户相对于视觉系统的绝对旋转区分一个姿势输入与另一个姿势输入,那么旋转变化特征向量是理想的。然而,如果用户的绝对旋转对姿势输入无差别,那么旋转不变特征向量是理想的。旋转变化特征向量的一个示例是通过首先对几何模型的每个骨骼部分进行转换使得各骨骼部分的起始点都与原点重合来获得的。然后通过每个骨骼部分i的端点(Xi, Yi, Zi)的笛卡尔坐标来定义特征向量fKV,^v=X1, Y1, Z1, X2, Y2, Z2, , XN, Yn, Zn.
旋转不变特征向量fKI的一个示例是几何模型的预定关节之间的距离(S)的有序列表,^1=Sij, Sjk, Sin/..
在一些示例中,旋转不变特征向量可被附加旋转变化特征向量的子集(如以上定义的)以便稳定检测。图8示出了视觉系统能如何使用姿势银行,其中各个几何模型表示(诸如特征向量)中的每个都与对应的度量相关联。示出的查找方法46A可在方法30 (以上)内的运行时期间执行,例如作为步骤46的特定实例。在方法46A的68,计算用户的运行时几何模型的表示。换言之,每当视觉系统返回模型,该模型就被转换成合适的表示。在一些实施例中,表示可包括如上描述的旋转变化特征向量或旋转不变特征向量。运行时表示可以具有比运行时几何模型更高或更低的维度。在70,搜索姿势银行以寻找匹配的存储的表示。如以上指示的,姿势银行是其中存储多个几何模型表示的银行。存储的表示(每个都与运行时表示相适合)将已经基于当行动者作出特定的输入姿势时该行动者的视频来计算。此外,每个存储的表示都与标识其的对应的存储的度量相关联一例如,阻挡、钩手投篮、跳投完成50%等。在一个实施例中,在运行时几何模型的特征向量与姿势银行中的所有存储的特征向量之间执行距离比较。接着标识一个或多个匹配的特征向量。在查找阶段期间,几何模型被认为类似于它们的表示所符合的程度。“匹配的”特征向量是那些符合至少阈值程度或少于阈值程度的不同的特征向量。此外,特征向量可被特别地定义使得反映应用或操作系统环境内的有用相似。数个预选择策略还可被用于取决于上下文来限制在运行时要被搜索的数据的范围。因此,可搜索的数据可以是被预选择的,以仅仅包括与适合于计算机系统的运行时上下文的姿势输入相对应的表示。例如,如果被执行的应用是篮球比赛,那么姿势银行只需要被搜索以查找由篮球比赛识别的姿势输入。合适的预选择可仅仅把姿势银行的该部分作为目标并排除用于赛车比赛的姿势输入。在一些实施例中,进一步的预选择可考虑更详细的应用上下文来把姿势银行的可搜索元素作为目标。例如,如果用户正在玩篮球游戏并且她的队伍正持有球,那么与防守方相对应的姿势输入(例如,盖帽)可从搜索中排除。在图8中继续,在46A的72,将与匹配的存储的表示相关联的度量作为用户的姿势输入来返回。换言之,视觉系统将运行时表示与存储的数据进行比较,并基于与一个或多个匹配的存储的表示相关联的存储的度量来返回姿势输入。在其中只有一个存储的表示被标识为匹配的情况下,与该表示相对应的度量可作为用户的姿势输入来返回。如果多于一个的存储的表示被标识为匹配,那么视觉系统可例如返回与最紧密地匹配的存储的表示相对应的度量。在另一示例中,可返回与匹配的存储的表示相对应的数个度量的平均。包括在该平均中的度量可以是以下度量:它们的关联的存储的表示与运行时表示的匹配在阈值内。在还另一示例中,要被返回的度量可以是被应用到与对应的多个匹配的存储的表示相关联的多个度量的内插过程的结果。在其中存储的度量包括详细的骨骼信息的场景中,该信息可被用于提供用户的运行时几何模型的上下文专用细化,以用于更加改进的骨骼跟踪。关于该实施例,将注意到的是一些骨骼跟踪系统可将每个关节参数与可调节的置信度区间相关联。在匹配过程期间,置信度区间可被用于相对于从存储的度量中得出的骨骼信息来调整运行时模型的加权。换言之,每个加权因子可响应于增加对应的骨骼特征的位置的置信度而被向上调整。通过该方式,在其中运行时模型没有准确地适合上下文、尤其针对其中用户被很好跟踪的面向前方的姿态的情况下,系统可返回更加精确的、混合的模型。在更具体的实施例中,可在训练期间自动地计算各个关节或骨骼部分的合适的加权因子(例如,方法48)。此外,行动者的几何模型以及可靠的度量两者可作为特征向量被存储在姿势银行中。因此,表示引擎74可被配置为计算这两者之间的差异,从而从中得出加权因子来在运行时确定每个特征向量的理想的贡献。在另一实施例中,这样的混合可以闭环方式来执行。通过该方式,在此揭示的方法可明显地改进整体跟踪精确度。图9示意性地显示了被配置为与在此描述的方法一起使用的示例视觉系统24。除了一个或多个相机之外,视觉系统包括输入一输出驱动器76和建模引擎78。建模引擎被配置为接收图像以及计算用户的运行时几何模型。表示引擎74被配置为接收运行时几何模型以及计算运行时几何模型的运行时表示。提交引擎80被配置为提交运行时表示以供与存储的数据进行比较。返回引擎82被配置为基于与和运行时表示相匹配的存储的表示相关联的存储的度量来返回姿势输入。在以下进一步描述的图10显示了各个视觉系统引擎如何被集成在计算机系统控制器中。可以理解以上描述的方法和配置容许有众多细化和扩展。例如,存储在姿势银行中的特征向量可通过主分量分析(PCA)算法来运行并被表达在PCA空间中。该变化允许在较低维空间中进行对最紧密匹配的搜索,从而改进运行时性能。此外,特征向量到PCA空间的转换可使得能够在离散的存储的度量值之间进行更精确的内插。例如,某些类型的姿势用户输入可由姿势的仅仅几个关键帧的几何模型表示来充分且紧凑地定义。关键帧可定义姿势的限制坐标(limiting coordinate)Q。例如在篮球比赛中,防守方的手臂可在一个限制中完全抬起(Q=I)或在另一限制中完全没有抬起(Q=0)。可完成简单的线性内插以基于存储的限制情况来在运行时标识该姿势的中间阶段。然而,一个增强是在PCA空间中计算内插。因此,返回引擎可被配置为在PCA空间内在与和运行时表示相匹配的多个存储的表示相关联的存储的度量中进行内插。当被转换到PCA空间时,PCA距离可被用作姿势的进展的直接测量,以尤其在非线性情况下得到改进的精确度。在一些场景中,多个候选的存储的表示可被标识为紧密地匹配运行时表示。在此描述的方式使得能够基于修剪从多个候选中进行智能选择。例如,返回引擎82可被配置为仅仅返回构成大的群集的结果,如图11中显示的,将搜索限定到PCA空间中共享邻近性的值。在此在图12中,二维存储的度量由圆圈表示。实心圆圈表示紧密匹配的存储的度量,其中被选择的、修剪的度量被椭圆围住。因此,返回引擎可被配置为在PCA空间中排除未被充分群集的存储的度量,其中其它度量与匹配的存储的表示相关联。在另一实施例中,返回引擎可尤其以姿势正在进展的方向(在PCA空间中)进行查看,并排除那些不符合方向向量的姿态,如图12中显示的。因此,返回引擎可被配置为在PCA空间中排除位于与匹配的存储的表示相关联的度量的轨迹外部的存储的度量以得到运行时表示序列。如上所述,本文中描述的方法和功能可以经由图10中抽象地示出的计算机系统16来执行。这样方法和功能可被实现为计算机应用、计算机服务、计算机AP1、计算机库和/或其他计算机程序产品。可以理解,可使用基本上任何计算机架构而不背离本公开的范围。计算系统16包括逻辑子系统86和数据保持子系统84。逻辑子系统可包括被配置成执行一个或多个指令的一个或多个物理设备。例如,逻辑子系统可被配置为执行一个或多个指令,该一个或多个指令是一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其它逻辑构造的部分。可实现这样的指令以执行任务、实现数据类型、变换一个或多个设备的状态、或以其他方式得到所希望的结果。逻辑子系统86可以包括被配置为执行软件指令的一个或多个处理器。附加地或替代地,逻辑子系统可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑子系统的处理器可以是单核或多核,且在其上执行的程序可被配置为并行或分布式处理。逻辑子系统可以任选地包括遍布两个或更多设备的独立组件,所述设备可远程放置和/或被配置为进行协同处理。该逻辑子系统的一个或多个方面可被虚拟化并由以云计算配置进行配置的可远程访问的联网计算设备执行。数据保持子系统84可包括一个或多个物理的、非瞬时的设备,这些设备被配置成保持数据和/或可由该逻辑子系统执行的指令,以实现此处描述的方法和过程。在实现这样的方法和过程时,可变换数据保持子系统的状态(例如,保持不同数据)。数据保持子系统84可包括可移动介质和/或内置设备。数据保持子系统可包括光学存储器设备(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器设备(例如,RAM、EPROM、EEPROM等)和/或磁存储器设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等等。数据保持子系统可以包括具有以下特性中的一个或更多个特性的设备:易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、以及内容可寻址。在某些实施例中,逻辑子系统和数据保持子系统可被集成到一个或多个常见设备中,如专用集成电路或片上系统。数据保持子系统84可以包括计算机可读存储介质,该介质可用于存储和/或传送可执行以实现本文描述的方法和过程的数据和/或指令。可移动计算机可读存储介质尤其可以采取⑶、DVD、HD-DVD、蓝光盘、EEPROM和/或软盘形式。可以明白,数据保持子系统84包括一个或多个物理的、非瞬时的设备。相反,在一些实施例中,本文描述的指令的各方面可以按暂态方式通过不由物理设备在至少有限持续时间期间保持的纯信号(例如电磁信号、光信号等)传播。此外,与本发明有关的数据和/或其他形式的信息可以通过纯信号传播。术语“模块”、“程序”和“引擎”可用于描述被实现为执行一个或多个具体功能的计算机系统16的一方面。在某些情况下,可以通过执行由数据保持子系统84所保持的指令的逻辑子系统86来实例化这样的模块、程序或引擎。应当理解,可以从同一应用、服务、代码块、对象、库、例程、AP1、函数等来实例化不同的模块、程序和/或引擎。类似地,相同的模块、程序和/或引擎可由不同的应用、服务、代码块、对象、例程、AP1、功能等来实例化。术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。应当理解,如此处所使用的“服务”可以是跨越多个用户会话可执行的、且对一个或更多系统组件、程序、和/或其他服务可用的应用程序。在一些实现中,服务可以响应于来自客户机的请求而在服务器上运行。显示器18可被用于呈现由数据保持子系统84保持的数据的可视表示。由于此处所描述的方法和过程改变了由数据保持子系统保持的数据,并由此转变了数据保持子系统的状态,因此同样可以转变显示器的状态以可视地表示底层数据中的改变。显示器可包括利用几乎任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑子系统86和/或数据保持子系统84 —起组合在共享封装中,或此类显示设备可以是外围显示设备。
在包括通信子系统时,通信子系统可以被配置成将计算机系统16与一个或多个其他计算设备可通信地耦合。通信子系统可包括与一个或多个不同的通信协议相兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置为经由无线电话网、无线局域网、有线局域网、无线广域网、有线广域网等进行通信。在一些实施例中,通信子系统可允许计算机系统16经由诸如因特网之类的网络发送消息至其他设备和/或从其他设备接收消息。在此公开的功能和方法可由特定的配置启用并结合特定的配置来描述。然而,应该理解,本文所述的方法以及完全落在本发明范围内的其它等效方案也可以由其它配置来实现。这些方法可以在计算机系统16正在操作时进入,并可以重复地执行。当然,方法的每次执行可能改变随后执行的输入条件,并且由此调用复杂的决策制定逻辑。在本发明中完全构想了这种逻辑。在一些实施例中,在不偏离本发明的范围的情况下,可以省略此处所描述的和/或所示出的一些过程步骤。同样,过程步骤的所指示的顺序不是达成预期的结果所必需的,而是为说明和描述的方便而提供的。取决于所使用的特定策略,可以反复地执行所示出的动作、功能或操作中的一个或多个。此外,来自给定方法的元素可在一些实例中被结合到所公开的方法的另一方法中来产生其它益处。最后,应当理解的是此处所描述的制品、系统和方法是本发明的实施例(非限制性实施例),构想了该实施例的多种变型和扩展。因此,本发明包括此处所公开的制品、系统和方法的所有新颖和非显而易见的组合和子组合,及其任何和所有的等效方案。
权利要求
1.一种保持数据的机器可读存储器组件的整体,所述数据包括: 多个存储的度量,每个存储的度量与对作出姿势的行动者进行的测量相对应;以及 针对每个存储的度量的、作出相关联的姿势的行动者的几何模型的存储的表示。
2.如权利要求1所述的整体,其特征在于,每个几何模型是基于当行动者在作出相关联的姿势时所获取的行动者的图像的。
3.如权利要求1所述的整体,其特征在于,所述整体包括可搜索的姿势银行,其中每个存储的度量对相关联的存储的表不进行索引。
4.如权利要求1所述的整体,其特征在于,每个存储的度量定义作出相关联的姿势的行动者的几何形状。
5.一种被配置为接收来自用户的姿势输入的计算机系统,所述系统包括: 被安排为获取所述用户的图像的相机; 被配置为接收所述图像以及计算所述用户的运行时几何模型的建模引擎; 被配置为接收所述运行时几何模型以及计算所述运行时几何模型的运行时表示的表示引擎; 被配置为提交所述运行时表示以供与存储的数据进行比较的提交引擎,所述数据包括多个存储的度量,每个存储的度量与对作出姿势的行动者进行的测量相对应,并且所述数据还包括针对每个存储的度量的、作出相关联的姿势的行动者的几何模型的存储的表示;以及 被配置为基于与和所述运行时表示相匹配的存储的表示相关联的存储的度量来返回姿势输入的返回引擎。
6.如权利要求5所述的计算机系统,其特征在于,所述图像包括三维深度图。
7.如权利要求5所述的计算机系统,其特征在于,所述提交引擎被进一步配置为对所述运行时表示执行主分量分析(PCA),并且其中所述存储的表示被表达在PCA空间中。
8.如权利要求7所述的计算机系统,其特征在于,所述返回引擎被进一步配置为在PCA空间内在与和所述运行时表示相匹配的多个存储的表示相关联的存储的度量中进行内插。
9.一种用于获得来自计算机系统的用户的姿势输入的方法,所述方法包括: 获取所述用户的图像; 基于所述图像来计算所述用户的运行时几何模型; 计算所述运行时几何模型的运行时表示; 将所述运行时表示与存储的数据进行比较,所述数据包括多个存储的度量,每个存储的度量与对作出姿势的行动者进行的测量相对应,并且所述数据还包括针对每个存储的度量的、作出相关联的姿势的行动者的几何模型的存储的表示;以及 基于与和所述运行时表示相匹配的存储的表示相关联的存储的度量来返回姿势输入。
10.如权利要求9所述的方法,其特征在于,所述存储的度量指示在相关联的存储的表示中作出的姿势的完成程度。
全文摘要
描述了用于改进骨骼跟踪的姿势银行。用于获得来自计算机系统的用户的姿势输入的方法。在该方法中,获取用户的图像,并且基于该图像来计算用户的几何模型的运行时表示。将该运行时表示与存储的数据进行比较,该存储的数据包括多个存储的度量,每个存储的度量与对作出姿势的行动者进行的测量相对应。其中每个存储的度量与作出相关联的姿势的行动者的几何模型的存储的表示相关联。该方法基于与和运行时表示相匹配的存储的表示相关联的存储的度量来返回姿势输入。
文档编号G06K9/00GK103116398SQ20121038461
公开日2013年5月22日 申请日期2012年10月11日 优先权日2011年10月12日
发明者S·斯塔尼亚克, 邓可, T·莱瓦德, S·M·格兰特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1