运动识别的制作方法

文档序号:6364972阅读:171来源:国知局
专利名称:运动识别的制作方法
技术领域
本发明涉及识别技术,尤其是运动识别。
背景技术
诸如计算机游戏和多媒体应用之类的计算应用使用控制来允许用户操纵游戏人物或应用的其他方面。通常,使用如控制器、遥控器、键盘、鼠标等来输入这些控制。近来,计算机游戏和多媒体应用已开始使用照相机和软件姿势识别引擎来提供人机接口( “HCI”)或自然用户界面(“NUI”)。使用HCI或NUI来检测用户运动,并且某些运动或姿态表示用于控制游戏人物(例如,用户的化身)或多媒体应用的其他方面的姿势。 在自然用户界面中,图像捕捉设备捕捉在其视野中的用户运动的图像。视野可被表示为有限的欧几里德三维(3-D)空间。描述用户运动的数据可用于各种各样的目的。例如,可以创建游戏以允许用户通过执行诸如锻炼或跳舞的活动来锻炼。可能期望游戏设备能够识别用户的运动模式。

发明内容
下面呈现了本发明的简化概述,以便提供此处所描述的某些方面的基本概念。此发明内容不是所要求保护的主题的详尽的概述。其目的既不是要指出所要求保护的主题的关键性元素,也不是要详细描述本发明的范围。唯一的目的是以简化形式呈现所要求保护的主题的某些概念,作为稍后呈现的比较详细的描述的前奏。呈现了用于识别由从用户的图像数据导出的骨架模型所表示的人体运动的技术。运动识别的示例方法包括从捕捉设备接收表示用户数据运动特征的骨架运动数据,该骨架运动数据与用户在场景内的方位相关。确定所接收的骨架运动数据相对于来自原型运动特征数据库的多个原型运动特征的互相关。对骨架运动数据与多个原型运动特征中的每个相对应的似然度进行排序。似然度基于互相关。对多个原型运动特征的子集执行分类操作。选择多个原型运动特征的子集,因为该子集的成员具有对应于骨架运动数据的相对最高的似然度。可以选择分类操作的“赢家”作为所接收的骨架运动数据所表示的运动的匹配。还呈现与用于执行对身体运动的运动识别和/或相似度分析的系统相关的技术。运动识别可以基于从用户的图像数据导出的骨架模型数据。在一个实施例中,系统包括处理单元和系统存储器。系统存储器包括一个或多个有形的非瞬态计算机可读存储介质。有形的非瞬态计算机可读存储介质包括被配置为指导处理单元从捕捉设备接收表示用户数据运动特征的骨架运动数据的代码。附加代码指导处理单元确定所接收的骨架运动数据相对于来自原型运动特征数据库的多个原型运动特征的互相关。仍然,附加代码指导处理单元对骨架运动数据与多个原型运动特征中每个相对应的似然度进行排序。在示例实施例中,似然度基于互相关。其他代码指导处理单元对多个原型运动特征的子集执行分类操作。选择多个原型运动特征的子集,因为该子集的成员具有对应于骨架运动数据的相对最高的似然度。
附加地呈现了与一个或多个有形的非瞬态计算机可读存储介质相关的技术。有形的非瞬态计算机可读存储介质存储可指导处理器从捕捉设备接收表示用户数据运动特征的骨架运动数据的代码。有形的非瞬态计算机可读存储介质上存储的附加代码指导处理器确定所接收的骨架运动数据相对于来自原型运动特征数据库的多个原型运动特征的互相关。有形的非瞬态计算机可读存储介质上的其他代码指导处理器对骨架运动数据与多个原型运动特征中每个相对应的似然度进行排序。似然度可以基于互相关。有形的非瞬态计算机可读存储介质上存储的附加代码指导处理器对多个原型运动特征的子集执行分类操作。选择多个原型运动特征的子集,因为该子集的成员具有对应于骨架运动数据的相对最高的似然度。下面的描述和附图详细地阐述了所要求保护的主题的某些说明性方面。然而,这些方面只是指示可以使用本发明的原理的各种方式中的一些方式,并且所要求保护的主题旨在包括所有这些方面和其等效内容。通过与附图一起阅读下面的本发明的详细描述,所要求保护的主题的其他优点和新颖的特点将变得显而易见。


图IA是示出了用户正与之交互的且运动识别的技术实施例可在其中操作的目标识别、分析和跟踪系统的示例实施例的图示;图IB是示出了相机视野的实施例以及在该视野内定义的3-D正交坐标参考系的图示;图IC是示出了向用户提供关于其表现的反馈的视觉区分指示符的示例的图示;图2是示出了可由一个或多个实施例使用的用户骨架模型的示例的图示;图3是示出了可以在目标识别、分析和跟踪系统的一个实施例中使用的捕捉设备的示例实施例的图示;图4是示出了可以在目标识别、分析和跟踪系统的一个实施例中使用的姿势分类系统的示例实施例的框图;图5是示出根据本技术的运动识别的示例方法的过程流程图;图6是示出了模型被训练为根据本技术来表现舞步识别的训练阶段的框图;图7,包括图7A和图7B,是示出了根据本技术的对于多个类移动的训练阶段的框图;图8是示出了在执行运动识别之前可用于将用户数据与所存储的原型数据对齐的相移过程的框图;图9是示出了根据本技术,测试模型识别舞步的能力的框图;图10是示出了根据本技术,使用模型来对移动序列分类的框图;图11是根据本技术的姿势识别引擎实施例的框图;图12是示出了可用于在目标识别、分析和跟踪系统中识别人体运动的计算环境的一个示例实施例的图示;以及图13是示出了可用于在目标识别、分析和跟踪系统中识别人体运动的计算环境的另一个示例实施例的图示。
具体实施例方式现在参考附图来描述所要求保护的主题,所有附图中使用相同的附图标记来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对本发明的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其他情况下,以框图形式示出了各个已知的结构和设备以便于描述本发明。如在此使用的,术语“组件”、“系统”、“多媒体控制台”、“游戏控制台”等指的是计算机相关的实体,它们可以是硬件、软件(例如,执行中的)和/或固件。例如,组件可以是,在处理器上运行的进程、对象、可执行码、程序、函数、库、子例程,和/或计算机或软件和硬件的组合。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程中,组件可以位于一个计算机内和/或分布在两个或更多计算机之间。术语“处理器” 一般被理解为指硬件组件,诸如计算机系统的处理单元。此外,所要求保护的主题可使用产生控制计算机以实现所公开的主题的软件、固 件、硬件、或其任意组合的标准编程和/或工程技术来实现为方法、装置、或制品。如此处所使用的术语“制品”旨在涵盖可以从任何非瞬态计算机可读设备或介质(诸如计算机可读存储介质)可以访问的计算机程序。非瞬态计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、以及磁带等等)、光盘(例如,紧致盘(⑶)以及数字多功能盘(DVD)等等)、智能卡和闪存设备(例如,卡、棒和钥匙驱动器等等)。相反,计算机可读介质一般(即,不必需是存储介质)可附加地包括用于电气或电信号等的通信介质,诸如传输介质。本领域技术人员应当认识到,在不背离所要求保护的主题的范围或精神的情况下可对该配置作出许多修改。此外,本文所使用的词语“示例性”意指用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。本技术与用于骨架线框运动的实时姿势分类系统相关。一个示例实施例包括对骨架的角度表示,该骨架提供了噪声输入下的识别强健性、用于多变量时间-序列数据的级联的基于相关性的分类器、基于动态时间-扭曲的距离度量以便评估所获得的姿势(即,用户输入的运动特征)与相匹配的姿势的谕示(即,原型运动特征)之间的运动的差别。将分类器级联,因为它执行两个阶段的操作。在第一阶段中,基于互相关对原型运动特征数据打分,以便计算用户的数据表示运动与每个特定的原型运动特征相对应的最大似然度。在第二阶段中,具有与用户输入相匹配的最高似然度的原型运动特征接受分类操作以选择最接近的匹配。分类操作可包括多种技术,仅举几个例子,诸如使用逻辑回归的配对分类、线性判别分析或支持向量机(SVM)分析。根据本技术的分类器可在输入运动遵守已知的规范时间基础(诸如音乐节拍)的假设下操作。实时的深度传感系统在视频游戏中是有用的,因为它们可用于允许人体控制游戏动作。一个这种系统以每秒30帧解析深度图流,从而实时地估计构成正在移动的用户的线框骨架的16个预定义点的位置。接下来的算法处理随后可尝试理解用户的运动(例如,识别用户姿势),以便交互地控制玩游戏。本技术的一个示例实施例可通过允许舞者(用户)在任何时间跳出任何预先编排的姿势来增强他或她与化身动画的交互和控制,预先编排的姿势被建模为数据库中的原型运动特征。为了实现该目标,一个示例系统学习捕捉姿势类别的预定集合的细微差别的统计模型,并且随后使用该模型对用户的输入骨架运动进行分类。最初参考图1A,用于实现本技术的硬件包括目标识别、分析和跟踪系统100,该系统可用于识别、分析和/或跟踪诸如用户106等的人类目标。目标识别、分析和跟踪系统100的各实施例包括用于执行游戏或其他应用的计算环境102,以及用于从游戏或其他应用提供音频和视觉表示的视听设备16。系统100还包括用于捕捉位置和由用户所表现的移动的捕捉设备110,计算环境接收、解释和使用位置和移动来控制游戏或其他应用程序。下面将更详细地描述这些组件中的每一个。如图IA所示,在一个示例实施例中,在计算环境102中执行的应用可以是带有实时交互的游戏,诸如用户106可能正在玩的拳击游戏。例如,计算环境102可使用视听设备16来向用户106提供拳击对手108的视觉表示。计算环境102还可使用视听设备16来提供用户106可通过他的或她的移动来控制的玩家化身112的视觉表示。例如,用户106可在物理空间中挥拳猛击,这使得玩家化身112在游戏空间中挥拳猛击。因此,根据一示例实施例,计算环境102和目标识别、分析和跟踪系统100的捕捉设备110可用于在物理空间中 识别和分析用户106的重拳,使得该重拳可被解释为对游戏空间中的玩家化身112的游戏控制。用户106的其他移动也可被解释为其他控制或动作,诸如上下快速摆动、闪避、滑步、格挡、直拳或挥动各种不同力度的拳等控制。用于对用户运动建模的数据可包括与运动、姿势、手部位置等对应的数据。图IB是示出了相机视野114以及在该视野内定义的3-D正交坐标参考系的实施例。在该示例中,用户106正在与该用户跟着音乐起舞的舞蹈锻炼应用进行交互。用户106的移动被捕捉设备110捕捉,该捕捉设备结合计算环境102在显示器上对化身的移动进行动画化和控制,就像在拳击示例中。他的移动中的某些可以是姿势。3-D正交坐标参考系的原点被描绘在捕捉设备110的视野中心,该原点位于用户106和他的扶手椅118之间。从每个所捕捉的图像帧中得出如下面所讨论的骨架模型,并且最初在该基于相机的坐标系中表示该骨架模型。该坐标系被称为基于相机的,因为相机的位置确定了视野,并且使用参考相机来定义的平面和法线来表征空间。基于相机的参考系是固定的。它不随用户移动。图IC是示出了在视听设备104上向用户显示的关于用户的玩家化身112的视觉区分指示符120的示例的图示,该视觉区分指示符120向用户106提供关于其表现的反馈。玩家化身112的右腿经由视觉区分120被描绘在视听设备104上,以便提供以下视觉反馈用户右腿的抬腿不满足标准,例如模型的抬腿姿势的高度或使用舞蹈锻炼游戏的其他人所表现的平均高度。图2描绘了可以从捕捉设备110生成的用户的示例骨架映射。在该实施例中,标识出各个关节和骨骼每只手202、每个前臂204、每个肘206、每个上臂208、每个肩210、每个髋212、每条大腿214、每个膝216、每条小腿218、每只脚220、头222、躯干224、脊椎的顶部226和底部228以及腰230。在跟踪更多点的情况下,可标识出附加的特征,比如手指或脚趾的骨骼和关节,或面部的各个特征,如鼻和眼。可以理解,图2中所示的一个或多个点可被省略和/或可以添加其他点。另外,骨架映射是用户的计算机模型的一个示例,并且构想了其他计算机模型。在三维笛卡尔空间中通过参考捕捉设备110 (相机空间)的参考帧中的x、y和z坐标来描述图2中的每个点。这样做的一个结果是将计算该参考帧中关节的任何绝对运动。例如,再参考图1B,如果用户106在参考帧中笔直向下移动他的手106a并且相对应他的身体保持静止,则该手在相机空间参考帧中仍是移动的。需要时间和处理器资源来确定它在相机空间中相对于前一巾贞的移动。本技术的一个方面是使测量绝对运动的相机空间中的身体部位的参考帧符合或变换成相对于“上行”关节来测量运动的参考帧。该参考帧被称为身体空间或身体参考帧。在一个实施例中,上行关节是距离躯干更近的下一个邻近关节。因此,腕的上行关节是肘,并且肘的上行关节是肩;踝的上行关节是膝,并且膝的上行关节是髋。从相机参考帧到身体参考帧的刚体变换(例如,转换和旋转)相比关节位置提供了相同的信息,但是能以更高效和低熵的方式来提供信息。继续用户在视野中移动他的手106a而保持他的手在其一侧静止的上述示例,虽然在绝对(相机)空间中移动,但用户的 手相对于其上行关节没有移动。因此,在身体空间中跟踪用户的手简化了逐帧的关节跟踪。一般而言,跟踪关节相对于其他关节的移动导致更小的搜索空间和数据集、以及更快的处理和姿势识别,如下面所解释的。它是3D中对相似度变换(缩放、旋转、转换)组不变的表
/Jn o同样如下面所解释的,本技术的另一方面将包括肩和髋的躯干作为刚体来对待。该良好的近似允许使用下面所描述的三个角度来描述躯干,相对于相机空间简化了骨架跟
I 示。本技术可向目标识别、运动分析和跟踪系统100提供识别和解释相对复杂的姿势(诸如舞步等)的能力。另外,表示由专家所表现的特定舞步或移动的原型姿势数据可在训练过程中被采用,并且随后基于捕捉设备110所获得的用户姿势数据,对用户所表现的步伐进行分类或对用户的表现进行评估或评级。根据本技术,可以按照准确、可缩放和强健的方式对数据进行评估。在一个示例实施例中,基于与图2所示的至少某些骨架点的运动相关的用户输入数据,对与舞步对应的特定运动进行评估。通过某个固定时间段(例如,音乐的八个节拍)来评估这些点的相对运动,并且将这些点的相对运动与表示特定原型移动或步伐的目录的所存储的原型数据进行比较。随后可作出关于用户正在表现哪个特定舞步或移动的判定。此处将不同的原型步伐或移动称为移动类。此外,用户的经测量的移动和能量与原型数据的关联可用于提供分数,该分数表示用户对正在表现的特定舞步的演示的质量。基于与图2所示的骨架点相对应的输入数据,可以推断启用有效识别舞蹈姿势的一组运动特征。一个示例实施例可以基于若干特定的目标来执行姿势识别,这些目标不依赖于再次呈现所需要的完整度或精确度。目标包括熵缩减。为了便于熵缩减,线框关节可相对于其父节点来表达,如在传统的关节-角度表示中。试探性地,这应该减少所得的多变量时间-序列的熵。示例实施例的另一个目标是克服数据差错的能力的强健性。另外,相比运动捕捉系统,本技术与为实时深度传感器提供数据强健性相关。第一个相关因素是传感系统固有的强加性噪声的存在,该强加性噪声通过骨架跟踪算法传播到所得的骨架数据。第二个相关因素与对骨架的被遮挡部分的推断相关,这因此可能是容易出错的。示例实施例可提供输入传感器定向的不变性。另外,一个实施例可尽力将相比相机位置的骨架表示的不变性最大化。可以通过定向用于计算相对位置的坐标轴来提供信号连续性和稳定性,以便将信号不连续的概率最小化,例如万向节锁。该目标在使用姿势检测的归一化相关时尤其相关。在保留运动人物时,相对于分类的搜索空间,可采用维数缩减。与聚焦于动画或运动捕捉的表示相比,示例实施例与计算可能不是完全可逆的特征相关。(如图2所示的7个骨架节点210a、210b、212a、212b、224、226、228所定义的)人 类躯干的点很少展示强独立的运动。因此,躯干可被作为垂直拉长的刚体来对待。然而,由于深度传感系统中的强噪声模式,可以观察到各个躯干点(特别是肩和髋)可以展示期望由相关表示限制而不是传播的不真实的运动。因此,可将躯干作为带有对其位置的估计有贡献的全部点的刚体来对待。随后该估计可用于以相对的方式表示人类骨架的其余部分。躯干点的主分量(S卩,3D正交基础)可作为将主分量分析(PCA)应用到7*3躯干矩阵的结果来计算。使第一主分量u与躯干的较长维数对齐。它可被规范地定向(上-下),因为在大多数舞蹈中,不预期玩家的躯体相对于传感器颠倒地站立。相反,对于与连接肩的线对齐的第二主分量r,定向未被轻松地推断,并且在此可被置为骨架跟踪算法所推断的“左-右”骨架定向。最后,将正交基础的最后的轴作为前两个主分量的叉积来计算,即t =UXr0所得的基础{u,r,t}在此可被称为躯干帧。根据本发明,躯干帧为基于人体定向的坐标系提供强健且可靠的基础。虽然它依赖于相机位置,但是坐标系内表示的从躯干帧导出的点对于传感器可以是完全不变的。它将原始问题规范的7条3D轨迹缩减为新的信号集,该信号集的目标是仅描述所得的正交基础的3D定向。如此处所阐述的,采用一组简单特征来直观地且强健地描述躯干的运动。最后,从底层深度图轮廓中更准确地计算躯干帧是可能的。另外,相对接踵而至的识别性能中的微小改进,这种方法的计算开销没有带来令人满意的折衷。如图2所示,邻近躯干的关节可被标识为第一级关节。由此,第一级关节包括肘、膝和头。可以相对于从躯干帧导出的坐标系中的躯干中的相邻关节来表示这些点。根据本技术,可相对LS (左肩)来表示LE (左肘)。首先,躯干帧{u,r,t}可被转换为LS。可以构建球坐标系,使得原点被置于LS的中心,顶点轴是U,并且方位角轴是r。随后,LE的位置可由其半径R(LE到原点的距离)、其倾角0 (u和(LSUiT)之间的角度)、及其方位角免(r和
之间的角度,其中LEp是LE在其法线是u的平面上的投影)来描述。由于肱骨的长度被归一化并且是常量,因此出于任何其他考虑可以忽略半径R。由此,使用该表示模型,可用两个角度糾来表示每个第一级关节。第二级关节可被表示为线框肢体的端部。由此,第二级关节包括手和脚。与第二级关节相关联的最具描述性的向量是连接邻近第一级关节与其相邻的躯干关节的骨头。例如,突出于肱骨的向量b是使原点位于左肘LE中的球坐标系的顶点方向的良好的潜在候选。左手的关节可被表示为LH。随后,LH的位置可由其半径R(LH到原点的距离)、其倾角0 (b m'(LEtLH))之间的角度)、及其方位角(rP和之间的角度,rP是r在其法线是b的平面S上的投影、其中LHp是LH在S上投影)来描述。由于前臂骨的长度被归一化并且是常量,因此可以忽略半径R。由此,模型可使用两个角度{0,的来表示每个第二级关节。结果与第一级关节的结果相同,除了一个值得注意的区别。虽然第二级关节的倾角是异常强健的描述符,但它们的方位角不是。由于球坐标系的原点不是定义了躯干帧的刚体的一部分,因此r的定向依赖于躯干的定向并且向^引入了噪声。已经确认的是,这个影响并不严重,并且未给分类器的其余操作带来严重的问题。可以按照使b*r= I的方式对向量b或r定向,由此使投影rP成为一个点。虽然这不太可能发生,b和r之间任何的小角度由于rP的不稳定性而有可能带来被提高的噪声级别。虽然可通过若干方式解决这个问题,但在r被选择作为方位角参考时可观察到不常发生b r I的情形。向量u或t (而不是r)或其任何线性组合可与对最终表现的各种各样的影响一同使用。对r的选择已被观察到足够削弱这个问题。在示例实施例中,角度线框模型由用于第一级和四个第二级关节的每个集合的八对角度汛的、以及相对于相机坐标帧的躯干帧的旋转矩阵来表示。在一个示例实施例中,忽略头的点,使得仅存在四个第一级点。为了将旋转矩阵参数化,可以考虑“适当的”欧拉角,但是证据已经表明“适当的” 欧拉角值不可预见地倾向于万向节锁。可使用四元组来避免这个问题,但是已经观察到四元组产生相当不直观的时间-序列数据。在一个示例实施例中,使用Tait-Bryan角度(即偏航、倾斜和滚动)。如果骨架跟踪算法不支持跟踪正在回旋的玩家,则可对Tait-Bryan角度定向以便很少引入万向节锁。根据本技术,这改进了分类器中归一化的相关模式的性能。从骨架运动获得的一组特征时间-序列可作为f = Ki (t),i = I. . . 19}来获得。可以注意到,该公式将输入的复杂度从16个3D曲线的集合降低到19个ID向量的集合。从计算效率的观点来看,该简化是相对实质的,并且已被观察到导致不常见的、可忽略的信息损失。因此,使这些特征适用于分类,因为它们通过便于对齐的、一维比较的方式来表示运动。图3是示出可在目标识别、分析和跟踪系统10中使用的捕捉设备110的一个示例实施例的图示。在一个或多个以上共同待决父申请中阐述了与和本技术一同使用的捕捉设备相关的其他细节。然而,在一示例实施方式中,捕捉设备110可以被配置成通过任何合适的技术,包括,例如,飞行时间法、结构光、立体图像等等,捕捉可包括深度值的具有深度图像的视频。根据一个实施例,捕捉设备110可将所计算的深度信息组织为“Z层”或可垂直于从深度相机沿其视线延伸的Z轴的层。如图3所示,捕捉设备110可包括图像相机组件124。根据一个示例性实施例,图像相机组件124可以是可捕捉场景的深度图像的深度相机。深度图像可包括被捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每一个像素都可以(例如以厘米、毫米等等为单位)表示来自相机的被捕捉的场景中的物体的长度。如图3所示,根据一示例实施例,图像相机组件124可包括可用于捕捉场景的深度图像的IR光组件126、三维(3-D)相机128和RGB相机130。例如,在飞行时间分析中,捕捉设备110的IR光组件126可将红外光发射到场景上,并且随后可使用传感器(未示出)、用例如3-D相机128和/或RGB相机130来检测从场景中的一个或多个目标和物体的表面反向散射的光。根据另一实施例,捕捉设备110可包括可以从不同的角度观察场景的两个或更多个在物理上分开的相机,以获取可以被解析以生成深度信息的视觉立体数据。
捕捉设备110还可包括话筒132。话筒132可包括可接收声音并将其转换成电信号的变换器或传感器。根据一个实施例,话筒132可用于减少目标识别、分析和跟踪系统10中的捕捉设备110与计算环境12之间的反馈。附加地,话筒132可用于接收也可由用户提供的音频信号,以控制可由计算环境12执行的诸如游戏应用、非游戏应用等之类的应用。在一示例性实施例中,捕捉设备110还可包括可与图像相机组件124有效通信的处理器134。处理器134可包括标准化处理器、专用处理器、微处理器等,它们可执行用于接收深度图像、判断合适的目标是否可被包括在深度图像中、将合适的目标转换为目标的骨架表示或模型的指令,或任何其他适合的指令。捕捉设备110还可包括存储器组件136,该存储器组件136包括一个或多个有形的机器可读存储介质。存储器组件可存储可由处理器134执行的指令,以及3-D相机或RGB相机所捕捉的图像或图像帧,或任何其他合适的信息、图像等。根据一个示例性实施例,存储器组件136可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图3所示,在一个实施例中,存储器组件136可以是与图像相机组件124和处理器134进行通信的分开的组件。根据另一个实施例,可将存储器组件136集 成到处理器134和/或图像相机组件124中。如图3所示,捕捉设备110可以经由通信链路138与计算环境12通信。通信链路138可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线802. Ilb,802. llg、802. Ila或802. Iln连接等的无线连接。根据一个实施例,计算环境12可以经由通信链路138向捕捉设备110提供时钟,该时钟可用于确定何时捕捉例如场景。附加地,捕捉设备110可以通过通信链路138向计算环境12提供深度信息和由例如3-D相机128和/或RGB相机130捕捉到的图像、以及可以由捕捉设备110生成的骨架模型。存在用于判断由捕捉设备110检测到的目标或对象是否与人类目标相对应的各种已知技术。随后,骨架映射技术可用于确定该用户的骨架上的各个点,手、腕、肘、膝、鼻、踝、肩的关节,以及骨盆与脊椎相交之处。其他技术包括将图像变换成人的人体模型表示以及将图像变换成人的网格模型表示。骨架模型然后可被提供给计算环境12,使得计算环境可跟踪骨架模型并呈现与该骨架模型相关联的化身。计算环境还可基于例如从骨架模型中识别出的用户的姿势来确定在计算机环境上执行的应用中要执行哪些控制。例如,如图3所示,计算环境12可包括姿势分类系统400。下面参考图4来解释姿势分类系统400,但该姿势分类系统400 —般可包括姿势过滤器集合,每个姿势过滤器包括关于骨架模型(在用户移动时)可执行的姿势的信息。可以将由相机128、130和捕捉设备110以骨架模型的形式捕捉的数据以及与它相关联的移动与姿势分类系统400中的姿势过滤器进行比较,以标识(如由骨架模型所表示的)用户何时表现了一个或多个姿势。那些姿势可与应用的各种控制相关联。因此,计算环境12可使用姿势分析系统400来解释骨架模型的移动并基于该移动来控制应用。在示例实施例中,可将与用户输入或活动相对应的姿势数据与所存储的专家姿势数据进行比较,以确定用户是否已经成功地表现了特定的活动,诸如特定的舞步。本技术的示例实施例采用角度骨架表示来改进整体的系统性能。它被用于将骨架运动数据映射到更小的特征集(每个一个标量时间序列),可从噪声输入强健地估计该特征集,并且该特征集保留运动的显著方面。目标是缩减信号的总体熵,移除相机位置的依赖性,并且避免诸如万向节锁附近的不稳定的参数配置。方法是使全部躯干适于单个参考帧,并使用该帧将对第一和第二级肢体关节二者的定向估计参数化。可在姿势分类系统400的示例实施例中采用级联的基于相关的最大似然度多变量分类器。在训练过程期间,分类器基于原型数据(即谕示)和由具有各种各样舞蹈技巧的一组人所表现的姿势实例数据库二者,为每个姿势类构建统计模型。在运行时,分类器将多变量输入缓冲区与每个类的原型姿势模型相关,并构建按每类的对数似然分数。随后,它使用分数来对全部类排序,并在顶级类中执行逻辑回归测试轮次以标识获胜的匹配。—个示例实施例可在如下假设下操作给分类器的骨架输入数据表示遵循节拍模式的舞蹈。因此,分类器可以忽略实际的时间并对输入时间-序列重新采样,使得在固定时段(例如,八个节拍)内创建特定数量的骨架运动帧(例如,120)。以此方式,可提供大约每 秒30帧(fps)的帧速率。分类器对于不同音乐片段中的节拍速度可以是相对不变的。另夕卜,可以降低对跳同样姿势的不同的玩家实例进行解除变形和同步的需要。可以进行的另一个假设是标记游戏期间所播放的音乐的每个节拍。还可在该设置中使用节拍检测算法。在一个示例实施例中,进行如下假设仅允许玩家跳出跨越八个节拍的K个移动的受限的、良好定义的、并且已知的集合腿。以此方式,避免可能对整体误差率有害的在线学习场景。可将带有骨架运动数据的传入帧存储在先进先出(FIFO)缓冲区中。在分类之前,可以按八个节拍120帧的速率对内容重新采样。分类器在腿中发现最佳匹配的类,并且最后用概述玩家跳出相匹配的姿势有多棒的报告来响应。空间-时间收缩-扩展距离度量可采用带有对时间-空间的指数缩放的动态时间扭曲来实现对输入姿势与相匹配的原型(谕示)的强健比较。虽然骨架运动数据中存在噪声以及人类展示了重复特定运动的广泛分布范围的事实,但示例实施例仍然执行得很好。图4是示出了可以在目标识别、分析和跟踪系统的一个实施例中使用的姿势分类系统400的示例实施例的框图。示例姿势分类系统400包括玩家表现组件402和姿势分类组件404。玩家表现组件402获得关于用户或玩家的输入,姿势分类组件404分析数据并提供关于用户输入的分类信息。示例玩家表现组件402包括可提供深度图像408的深度传感模块406。如此处所解释的,深度图像408可表示关于捕捉设备110所获得的查看帧内的玩家3D定位的信息。骨架跟踪模块410获得关于玩家身体各部分的相对运动的信息。可被称为线框数据412的骨架跟踪数据可以是此处参考图2所描述的形式。姿势分类组件404包括姿势模型组件414。姿势模型组件414包括原型均值模块416,该原型均值模块416提供与原型特征库相关的数据。已使用与原型运动特征(谕示数据)相对应的数据和表示用户运动特征的各种各样的样本数据来训练原型均值模块416所提供的数据。另外,原型均值模块416所提供的数据包括可用于将实际玩家姿势(被表示为用户数据运动特征)分类成对应于特定的舞步或步伐的“平均”玩家数据。在训练操作中,可以构建依赖于训练集的每个经编排的姿势的模型,Ft = {fj,j =
1...L}。训练集包括跳出该姿势的人的L个记录的集合。具有各种技能的人可以参与到记录中,每个人通常生成按姿势的多个记录。训练操作中开发的模型还可采用表示对谕示f。的原型运动特征,该原型运动特征可包括对由专业舞者所表现的姿势的记录。该记录被认为是姿势的定义。可为每个谕示表示考虑单个或少量的记录,主要是因为专业舞者通常如此准确地重复特定的姿势以至于记录中大多数的变化都来自于传感器噪声。为了为每个单独特征生成舞者的预期的平均轨迹(被表示为原型均值),通过在f。和每个单独的&之间计算循环归一化的互相关,使训练数据相对于原型运动特征(即,谕示)对齐。归一化的循环互相关操作是可用于在给定波形间的时间偏移情况下,标识两个波形的相似度的数学运算。互相关是可用于在较大的数据集(诸如波形)内标识较短的已知模式的技术。在示例实施例中,两个向量U和V的循环归一化互相关c被计算为
blackc(u, v) =u*v = ' , .,~
|tl-W.l|2"V-(I) 其中订表示u的平均值。两个向量U和V的非归一化循环互相关可被计算为F^tF(U) *F(R(V))],其中RO表示反映时间-序列向量,并且F是离散傅立叶变换。为每个特征计算非归一化循环互相关。为了考虑对整体的同步,为全部特征将互相关向量求和为单个向量匕。二 Si 4。。两个向量的相移等于Ti =(2)由此,对-T」样本的f」中的全部特征进行相移,以便使f」记录与f。对齐。可将特定特征的原型均值定义为/nuf)h)姿势原型可被表示为fm。fffl
h' o
与f。的关系是表示跳出该姿势的一般人的运动,而f。是专家的运动。通常,它们在形状上是相似的,但是原型均值通常在振幅上有减弱,因为熟练的舞者通常强调整体吸引力上的移动。接下来,可以汇编捕捉类中和类外相关统计数据的模型。对于Ft中的每个记录j和特征i,可以计算== arSfax^ ‘W。对于每个特征i,可以汇编跨
=1..』}的相关值的直方图。由于L通常很小,因此可以应用简单核密度估算(KDE)过滤器,该过滤器使用高斯核对直方图进行平滑。特定特征i的直方图曲线可作为查找表口^。)来存储,其中-KcSl是相关自变量。对于一个特定的特征,查找表由此返回给定原型均值和输入(即,输入数据运动特征)的相关时,输入姿势属于该特定类的似然度。类似地,可针对类外相关收集统计数据,并且可以创建对应的查找表Qi (C)。可以组合这两个表以生成特定相关值的打分函数。打分函数的一个示例被表示Shi(C)=210g(Pi(C))-l0g(qi(C))。熟练的舞者(即,针对原型均值生成高相关的舞者)在Ft中通常不常见的事实可以导致高c的低Pi (c)。在该情形中,他们的分数实质上由于他们的舞蹈“太好”而受到惩罚。为了纠正这种异常,在应用KDE过滤器之前,可以调整高相关的直方图计数。作为检测技术的归一化互相关对于匹配形状是有效的,但对于匹配他们的振幅不那么有效。一个示例实施例可以采用附加的距离度量(平均信号能量)作为对归一化相关的补充,而不使用欧几里德距离或未归一化的相关。由此,对于类中姿势实例的每个特征fi,可将与原型运动特征相关的能级计算为=Oi= Il f0jil|-|| fi Il,并且可以构建针对Ft中全部实例能级上的直方图e(+( X-4Tr2 <a<紐2。可以应用KDE过滤器。与相关直方图hi(c)类似,可以计算类外实例的同样的统计数据e「(《)。它们可被组合为q( ) = 21og(e,+ ( )) - lGg(e「(《))。最后,可针对(在所采用的基准中不常见的)熟练舞者可能具有更广范围的运动以及由此他们的记录的提高的能级的事实,对ei(a)进行补偿。后面的调整可通过提高低a情形的对6,+ ( )的直方图计数来执行。由此,对于特定的姿势和特征i,本技术涵盖了包括原型均值、相关直方图hjc)、和能级直方图ei(a)的三元组{fm,i hjj GiI。姿势模型组件414还包括相关统计数据模块418和能量统计数据模块420。如此处所阐述的,相关统计数据和能量统计数据可由姿势分类系统400用来对用户的舞步进行分类以及分配表示舞步质量的分数。逻辑回归系数模块422可被包括在姿势模型组件414中。如此处所解释的,当分类舞步以在具有共同特征的原型移动之间选择时,可以使用逻辑回归。另外,逻辑回归数据可用于根据本技术细调分类过程以便在彼此相对靠近的原型运动特征之间进行选择。姿势模型组件414可包括类排序组件426。类排序组件可用在为表示用户输入运 动特征的给定数据选择相匹配的原型运动特征的过程中。具体而言,类排序组件426可用于基于给定的用户输入数据与每个原型运动特征相匹配的概率,对在原型运动特征数据库中存储的原型运动特征进行排序。另外,类排序组件426可为更加类似于给定用户输入数据的原型运动特征赋予较高的匹配概率。为了执行这一功能,类排序组件426可包括归一化相关模块428和分数计算模块430。类排序组件426经由特征表示模块432从玩家表现组件402接收数据。特征表示模块432可提供与特定特征相关的数据,该特定特征表示用户数据的全部运动特征的子集。如此处所解释的,姿势识别系统的一个示例实施例在被训练后可用于在例如视频游戏的上下文中执行对用户运动的实时分类。在该情形中,给分类器的输入是被转换为特征集的骨架线框流。令X = {xi; i = I. . . 19}表示19个特征的输入流,每个特征N个样本长。对于相关联的原型运动特征数据库中的每个姿势模型g =, i = I. . . 19},可以使用以下方法来计算其分数。首先,执行归一化互相关操作。在该操作中,将每个输入特征Xi与其对应的原型均值相关。这是姿势识别分类器在计算上要求相对高的操作,因为在0(Nlog(N))个操作中计算长度N的基数为2的快速傅立叶变换(FFT)。接下来,确定最大似然度分数。在一个示例实施例中,可以查找对应的直方图分数并且跨全部特征对其求和。下面的公式可用于执行求和s[^:(q)+ e,:( i)] (3)在确定最大似然度分数之后,可以执行相移操作。与原型均值相关的输入的相移T可被标识为T = argmaxs(t)⑷每个类的相移都不同。数据库中每个姿势类k的分类分数是sk( T k)。这些分数可用于对全部类进行排序,使最佳匹配具有最高分数。
配对匹配组件434可被包括在姿势分类组件404中。在图4所示的示例实施例中,配对匹配组件434从归一化相关模块428、分数计算模块430和逻辑回归系数模块422收集输入。基于该信息,配对匹配组件434提供从原型运动特征数据库中标识与从玩家表现组件402接收的用户输入数据最近似匹配的原型运动特征的输出。在图4中使用图例“匹配的类”来标识与用户输入数据最近似匹配的原型运动特征。排序分类器可被改进,因为某些类在到一个点的运动中通常是类似的,在该点它们跨全部特征的原型均值除一个以外是相等的。一个人可将两个姿势类的全部实例看作大的2(19+19)-维空间位置中的点的集合。由于获取噪声和人类摆出特定姿势的各种方式,如果例如使用多维球来包括并检测特定类的全部点,则其原型均值(仅跨若干特征)近似相同的两个类可具有相交体。由于两个类的歧义消除更细微并且选择性地依赖于特征,因此存在使用先进的配对匹配工具来更好区分相邻类的需要。公式3中似然度的加权是改进分类灵活性的方式的一个示例。“最佳的”权重可能需要重新计算,并且对于姿势匹配的每个配对比较都可能是不同的。由此,可能期望使用逻辑回归来计算这些权重,并且如此处所描述的,在分类时部署经训练的系数。作为示例,可针对具有最高S(T)分数(例如,索引的匕和1^2)的两个顶层类执行逻辑回归。通过计算以下来执行二元分类
权利要求
1.一种基于从用户(106)的图像数据导出的骨架模型数据,对身体运动的运动识别(500)和/或相似度分析的方法,包括 从捕捉设备(110)接收(502)表示用户(106)数据运动特征的骨架运动数据,所述骨架运动数据与用户(106)在场景内的方位相关; 确定所接收的骨架运动数据相对于来自原型运动特征数据库的多个原型运动特征(708、720、1108)的互相关(504,804); 对所述骨架运动数据与所述多个原型运动特征(708、720、1108)的每个相对应的似然度进行排序(506),所述似然度基于所述互相关;以及 对所述多个原型运动特征(708、720、1108)的子集执行分类操作(508),所述多个原型运动特征(708、720、1108)的所述子集具有对应于所述骨架运动数据的相对最高的似然度。
2.如权利要求I所述的方法,其特征在于,所述骨架运动数据包括由角度对所表示的第一级关节集合和第二级关节集合的角度线框数据(412)。
3.如权利要求2所述的方法,其特征在于,所述角度对由Tait-Bryan角度来表示。
4.如权利要求I所述的方法,其特征在于,所述骨架运动数据包括相对于所述捕捉设备(110)的坐标帧的躯干帧的旋转矩阵。
5.如权利要求I所述的方法,其特征在于,包括执行训练操作以基于所述多个原型运动特征(708、720、1108)中每个的多个训练样本(705、706a、706b、706c、718、802),来修改表示所述多个原型运动特征(708、720、1108)的数据。
6.如权利要求I所述的方法,其特征在于,包括执行测试操作以评估模型获得所述骨架运动数据与所述多个原型运动特征(708、720、1108)相对应的似然度的能力。
7.一种基于从用户(106)的图像数据导出的骨架模型数据,执行身体运动的运动识别和/或相似度分析的系统(12、100),包括 处理单元(134、1200、1376);以及 系统存储器(1236、1302),其中所述系统存储器包括代码,所述代码被配置为指导所述处理单元以 从捕捉设备(110)接收(502)表示用户(106)数据运动特征的骨架运动数据; 确定所接收的骨架运动数据相对于来自原型运动特征数据库的多个原型运动特征(708、720、1108)的互相关(504,804); 对所述骨架运动数据与所述多个原型运动特征(708、720、1108)的每个相对应的似然度进行排序(506),所述似然度基于所述互相关;以及 对所述多个原型运动特征(708、720、1108)的子集执行分类操作(508),所述多个原型运动特征(708、720、1108)的所述子集具有对应于所述骨架运动数据的相对最高的似然度。
8.如权利要求7所述的系统(12、100),其特征在于,包括被配置为指导所述处理单元执行训练操作以基于所述多个原型运动特征(708、720、1108)中每个的多个训练样本(705、706&、70613、706(3、718、802),来修改表示所述多个原型运动特征(708、720、1108)的数据的代码。
9.如权利要求7所述的系统(12、100),其特征在于,包括被配置为指导所述处理单元执行测试操作以评估模型获得所述骨架运动数据与所述多个原型运动特征(708、720、1108)相对应的似然度的能力的代码。
10.一个或多个计算机可读存储介质(136、1204、1206、1208、1304、1380、1334、1336、1366、1364),包括被配置为指导处理单元执行以下操作的代码 从捕捉设备(110)接收(502)表示用户(106)数据运动特征的骨架运动数据; 确定所接收的骨架运动数据相对于来自原型运动特征数据库的多个原型运动特征(708、720、1108)的互相关(504,804); 对所述骨架运动数据与所述多个原型运动特征(708、720、1108)的每个相对应的似然度进行排序(506),所述似然度基于所述互相关;以及 对所述多个原型运动特征(708、720、1108)的子集执行分类操作(508),所述多个原型运动特征(708、720、1108)的所述子集具有对应于所述骨架运动数据的相对最高的似然度。
全文摘要
本发明涉及运动识别。人体运动由从用户的图像数据导出的骨架模型来表示。骨架模型数据可用于执行对身体运动的运动识别和/或相似度分析。运动识别的示例方法包括从捕捉设备接收表示用户数据运动特征的骨架运动数据,该骨架运动数据与用户在场景内的方位相关。确定所接收的骨架运动数据相对于来自原型运动特征数据库的多个原型运动特征的互相关。对骨架运动数据与多个原型运动特征中的每个相对应的似然度进行排序。使用互相关来确定似然度。对多个原型运动特征的子集执行分类操作。选择多个原型运动特征的子集,因为其成员具有对应于骨架运动数据的相对最高的似然度。
文档编号G06F3/01GK102693413SQ20121003753
公开日2012年9月26日 申请日期2012年2月17日 优先权日2011年2月18日
发明者D·基洛夫斯基, M·拉菩提斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1