利用计算设备计算代谢当量的制作方法

文档序号:1573292阅读:324来源:国知局
专利名称:利用计算设备计算代谢当量的制作方法
技术领域
本发明涉及利用计算设备计算代谢当量。
背景技术
计算机游戏系统已经演化为包括对体力有更高要求的活动,尤其是配备有诸如深度相机之类的自然输入设备的计算机游戏系统。因此,游戏对于ー些用户而言已经成为某种形式的锻炼。然而,这些用户难以精确地弄清楚锻炼的严酷程度,比如特定的锻炼已经燃烧了多少卡路里。ー种在先方案可以在被设计为模拟跑步的计算机游戏中找到。跑步游戏向用户显示跑步活动的任务代谢当量(MET),该任务代谢当量可以用于确定所燃烧的卡路里。然而,MET模型是任务专用的,并且因此该跑步游戏是构建在跑步专用的MET模型上的,该MET模型仅能应用于跑歩。任务专用的方案的缺点是,计算机游戏中的许多运动都是“非标准活动”,并且不存在针对这些活动的MET模型。此外,针对这些活动定制设计MET模型将是昂贵得惊人的,并将耗费大量的开发时间。出于该原因,大多数计算机游戏都不能为这样的非标准活动提供MET值或卡路里输出估计,从而使萌芽中的基于计算机的锻炼受挫。

发明内容
在此提供了ー种供与计算设备一起使用的用于估计任务代谢当量的方法。该方法包括从用户的捕捉设备接收输入;以及跟踪该用户的多个关节中的每个的位置。该方法还包括确定所述多个关节中的每个关节在第一帧与第二帧之间行进的距离;以及基于该行进的距离和在第一和第二帧之间的流逝时间来计算所述多个关节中的每个关节的水平速度和垂直速度。该方法还包括使用代谢等式估计任务代谢当量的值,所述代谢等式包括所述多个关节中的每个关节的水平速度的分量和垂直速度的分量;以及输出所述值以供显
/Jn o提供本发明内容以便以简化形式介绍将在以下具体实施方式
中进ー步描述的ー些概念。本发明内容并不g在标识所要求保护主题的关键特征或必要特征,也不g在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。


图1是根据本公开的实施例查看所观测的场景的示例性游戏系统的立体图。图2A示意性地示出所观测场景中的由图1的游戏系统用示例性骨架数据建模的人类目标。图2B示意性地示出了由图1的游戏系统随时间跟踪的示例性骨架数据。图3是示出了用于使用图1的游戏系统来估计任务代谢当量的方法的示例性实施例的流程图。图4是示出了用于使用图1的游戏系统对用户的多个关节中的每个进行加权的方法的示例性实施例的流程图。图5是可用作图1的游戏系统的计算系统的示意图。
具体实施例方式现在将通过示例并參照所示的以上列出的实施例来描述本发明的各方面。图1示出了用户10所处的示例性3D交互空间100。图1还示出了游戏系统12,其可使得用户10能够与视频游戏交互。游戏系统102可被用于玩多种不同的游戏、播放一个或多个不同的媒体类型、和/或控制或操纵非游戏应用和/或操作系统。游戏系统12可以包括游戏控制台14和显示设备16,该显示设备16可用于向游戏玩家呈现游戏视觉。游戏系统12是ー种计算设备,其细节将參照图5予以描述。回到图1,3D交互空间100还可以包括诸如相机之类的捕捉设备18,其可以耦合到游戏系统12。捕捉设备18例如可以是用于通过捕捉图像来观测3D交互空间100的深度相机。因此,捕捉设备18可以用于通过跟踪用户10的多个关节中的每个的位置来估计用户10的任务代谢当量(MET)。例如,捕捉设备18可以捕捉用户的图像,所述图像可以用于确定每个关节的増量距离并且还可用于计算每个关节的速度。另外,一个或多个关节可以与其他关节不同地被加权以计及各种因素,比如重力、用户人体解剖、用户体能、自由度等等。通过这种方式,用户10可以与游戏系统交互,并且可以基于用户10的实际运动(或无运动)来估计MET的值。用于估计MET的传统方法是基于特定活动或任务的。一种传统方案包括确定用户所參与的特定活动,并且向用户输出该特定活动的平均MET值。该方案不是基于用户实际上正在做什么来估计MET值的。相反,该方案是基于如下假设来操作的特定活动总是具有相同的MET值,而不管用户执行该特定活动的強度,使得MET输出将对大多数用户而言是有误的。另外,该方法不适用于无平均MET值可用的非标准活动(例如非体力活动)。另ー传统方案基于针对用户身体的片段(例如用户的腿)所检测到的速度来估计MET值。然而,该方案也假定特定的活动,并且使用活动专用的MET模型来基于该特定活动估计MET值。因此,该方案也是活动专用的,并且因此未通用得足以估计非标准活动的MET值。本公开通过估计用户的MET值来解决这些挑战中的至少ー些,而不管用户10所执行的活动类型如何。由于MET值是在未将MET值限于特定活动的情况下估计的,因此可以估计反映用户10与游戏系统12进行交互的強度的更精确MET值。換言之,该用户的MET值是在游戏系统12未假定或确定用户在执行什么活动的情况下被估计的。因此,用户10可以执行基本上任何活动,并且游戏系统12可以通过实时地跟踪用户10的运动来估计MET值。例如,用户10可以通过玩魔法游戏、格斗游戏、拳击游戏、跳舞游戏、赛车游戏等等来与游戏系统12交互,并且用户的MET可以在未假定用户施放法术、与故人打斗、打拳击、跳舞或赛车的情况下被估计。另外,用户10可以通过观看电影、与各种应用交互等等来与游戏系统12交互。这样的示例可以在此称为非标准活动,但是由于在此所述的方法是在未假定特定活动的情况下估计MET的,因此甚至可以为可以与可能更低的強度相关联的非标准活动估计MET值。
图2A示出了简化的处理流水线26,其中3D交互空间100中的游戏玩家10被建模成虚拟骨架36,所述虚拟骨架36可以充当用于控制游戏、应用和/或操作系统的各个方面的控制输入。图2A示出了处理流水线26的四个阶段图像收集28、深度映射30、骨架建模34、以及游戏输出40。可以理解,与图2A中所描绘的那些步骤相比,处理流水线可包括更多的步骤和/或可替代的步骤,而不背离本发明的范围。在图像收集28期间,游戏玩家10和3D交互空间100的其余部分可以由诸如深度相机18之类的捕捉设备来成像。具体而言,深度相机被用于跟踪用户(例如游戏玩家10)的多个关节中的每个的位置。在图像收集28期间,深度相机可以为每个像素确定所观测场景中的表面相对于深度相机的深度。可以使用基本上任何深度寻找(depth finding)技术而不背离本公开的范围。參考图5更详细地讨论了示例深度寻找技木。在深度映射30期间,为每个像素确定的深度信息可用于生成深度图32。这样的深度图可采用基本上任何合适的数据结构的形式,包括但不限于包括所观测场景的每个像素的深度值的深度图像缓冲区。在图2A中,深度图32被示意性地示为游戏玩家10的轮廓的像素化网格。这ー例示是出于理解简明的目的、而不是出于技术精确性的目的。能够理解,深度图一般包括所有像素的深度信息,而不仅仅是对游戏玩家10成像的那些像素。深度映射可以由深度相机或计算系统来执行,或者深度相机和计算系统可以协作来执行深度映射。在骨架建模34期间,从深度相机获得包括计算机用户(例如游戏玩家10)的3D交互空间的ー个或多个深度图像(例如深度图32)。虚拟骨架36可从深度图32导出以提供游戏玩家10的机器可读表示。換言之,从深度图36导出虚拟骨架36以对游戏玩家10建摸。虚拟骨架36可以按任何合适的方式从深度图中导出。在某些实施例中,可将ー个或多个骨架拟合算法应用于深度图。例如,先前训练的模型集合可被用于将来自深度图的每个像素标记为属于特定的身体部位;并且虚拟骨架36可以被拟合到所标记的身体部位。本发明与实际上任何骨架建模技术兼容。在一些实施例中,可以使用机器学习来从深度图像中导出虚拟骨架。虚拟骨架提供了深度相机18所观测的游戏玩家10的机器可读表示。虚拟骨架36可包括多个关节,每个关节都对应于游戏玩家的一部分。根据本发明的虚拟骨架可包括基本上任何数量的关节,每个关节都可与基本上任何数量的參数(例如三维关节位置、关节旋转、对应身体部位的身体姿势(例如手张开、手合上等)等)相关联。应当理解,虚拟骨架可采取如下数据结构的形式该数据结构包括多个骨架关节中的每个关节的ー个或多个參数(例如包含每个关节的X位置、y位置、z位置和旋转的关节矩阵)。在一些实施例中,可使用其他类型的虚拟骨架(例如线框、ー组形状图元等等)。骨架建模可以由计算系统来执行。具体而言,骨架建模可以用于从接收自ー个或多个传感器(例如图1的深度相机18)的观测信息(例如深度图32)中导出虚拟骨架。在一些实施例中,计算系统可以包括可由多种不同应用使用的专用骨架建模模块。通过这种方式,每个应用都不必独立地将深度图解释成机器可读骨架。相反,各个应用可以以预期数据格式从专用骨架建模模块(例如通过应用编程接ロ或API)接收虚拟骨架。在一些实施例中,专用骨架建模模块可以是可通过网络访问的远程建模器。在一些实施例中,应用自己可以执行骨架建摸。
如上所述,可以通过跟踪游戏玩家的运动来估计MET的值。能够理解,上述估计建模技术可以随时间提供机器可读信息,该信息包括表示游戏玩家的多个骨架关节中的每个关节的三维位置。可以将这样的数据至少部分地用于估计用户的MET,这将在下面予以更详细描述。图2B示出了使用骨架建模技术来跟踪游戏玩家的运动的示例。如上所述,游戏玩家可以被建模成虚拟骨架36。如所示那样,虚拟骨架36 (以及由此游戏玩家10)可以随时间运动,使得虚拟骨架的一个或多个关节的三维位置例如在第一帧与第二帧之间的改变。能够理解,为了改变位置,可以改变ー个或多个參数。例如,关节可以在X方向上改变位置,但是可以不在y和/或z方向上改变。基本上任何位置改变都是可能的,而不背离本公开的范围。如图2B所示,第一帧50可以被第二帧52跟随,并且每个帧都可以包括如上所述对3D交互空间100中的游戏玩家10进行建模的虚拟骨架36。另外,骨架建模可以进行任何合适的时间段,例如进行到第n帧54。能够理解,在此所使用的“第二帧”(以及同样第n帧)可以指代在第一帧之后发生的帧,其中之后可以是任何合适的时间段。第一帧50可以包括虚拟骨架36,其中左腕关节56被确定为具有所示出的3D位置X1, Y1,另外,第二帧52可以包括虚拟骨架36,其中左腕关节56被确定为具有所示出的3D位置X2,Y2, Z2。由于腕关节56的至少ー个位置參数已经在第一帧50与第二帧52之间发生了改变,因此可以确定关节56行进的距离。換言之,该距离可以基于在第一和第二帧之间腕关节56的位置改变来确定。如所示那样,该距离例如可以使用公式58来确定。另夕卜,关节56的速度例如可以根据公式60来计算。如所示那样,公式60可以基于所确定的距离和第一帧50与第二帧52之间流逝的时间。下面描述用于确定关节所行进距离、计算该运动的速度以及导致估计MET的值的其他计算的方法。回到图2A,在游戏数据40期间,通过骨架建模34识别的游戏玩家10的身体运动被用于控制游戏、应用或操作系统的各方面。另外,这样的交互可以通过如下方式来測量从表示游戏玩家10的虚拟骨架的多个关节中的每个关节的所检测位置中估计MET值。在所示的场景中,游戏玩家10正在玩幻想主题的游戏并且已经执行了法术投掷姿势。与执行法术投掷姿势相关联的运动可以被跟踪,使得可以估计MET的值。如所示那样,MET的估计值(一般在44处指示)可以在显示设备16上显示。图3是示出了用于使用图1的游戏系统来估计MET的方法300的示例性实施例的流程图。方法300可使用在此所述的硬件和软件组件来实现。在302,方法300包括从捕捉设备接收输入。例如,捕捉设备可以是深度相机18,并且输入可以包括用户随时间捕捉的图像序列。因此,用户的图像序列例如可以是用户随时间捕捉的深度图像序列。在304,方法300包括跟踪用户的多个关节中的每个关机的位置。例如,用户的多个关节中的每个关节的位置可以从如在用户的深度图像序列中捕捉的每个关节的深度信息中确定。另外,多个关节中的每个关节的位置可以通过上述骨架跟踪流水线来确定。通过这种方式,可以在每帧内(即利用所捕捉的每个深度图像)确定所跟踪的每个关节的三维(3D)位置。例如,3D位置可以使用包括x、y和z方向的笛卡尔坐标系来确定。在306,方法300包括确定多个关节中的每个关节在第一帧与第二帧之间的增量位置。在此所涉及的増量位置可以被定义成位置的改变。因此,増量位置可以被用于确定多个关节中的每个关节所行进的距离。例如,増量位置可以基于所跟踪的多个关节中的每个关节的位置在第一和第二帧之间的改变。另外,如在此所涉及的那样,第一帧例如可以是所捕捉的第一图像并且第二帧可以是所捕捉的第二图像。能够理解,第二帧可以是在第一帧之后发生的任何帧。例如,第二帧可以是紧跟在第一帧之后的第二帧。作为另ー示例,第二帧可以是在捕捉了第一帧一定时间段以后捕捉的帧。该时间段可以是任何合适的时间段,例如比如毫秒、秒、分钟、一分钟以上或任何其他时间段。能够理解,该时间段可以是阈值时间段。例如,阈值时间段可以对应于时间段的前述示例中的任何示例。另外,阈值时间段例如可以是被预先确定为用于估计MET的充足时间段的时间段。这样的阈值时间段可以对应于由第一和第二帧定义的流逝时间段。通过这种方式,确定在第一和第二帧之间的流逝时间段期间用户的多个关节中的每个关节的增量距离。在308,方法300包括计算多个关节中的每个关节的水平速度和垂直速度。例如,水平速度和垂直速度可以基于在第一和第二帧之间多个关节中的每个关节的增量位置以及流逝时间。例如,水平速度可以等于多个关节中的每个关节的水平増量位置除以流逝时间。作为另ー示例,垂直速度可以等于多个关节中的每个关节的垂直増量位置除以流逝时间。计算水平速度可以包括水平平面内的ー个或多个速度分量。例如,计算水平速度可以包括X方向的速度以及Z方向的速度,其中X和Z方向来自深度相机的视角。因此,X方向可以表示深度相机的横向方向(边到边),并且Z方向可以表示深度相机的深度方向(逼近/远离)。类似地,计算垂直速度可以包括与水平平面垂直的垂直平面内的ー个或多个速度分量。例如,计算垂直速度可以包括y方向的速度,其中y方向来自深度相机的视角。因此,y方向可以表示深度相机的向上/向下方向。在310,方法300包括使用代谢等式估计任务代谢当量的值。例如,代谢等式可以包括水平分量和垂直分量。水平和垂直分量可以分别是多个关节中的每个关节的水平速度和垂直速度之和。另外,水平和垂直分量可以另外地分别包括水平变量和垂直变量。例如,代谢等式可以是用于计算任务代谢当量(MET)的美国运动医学会(ACSM)代谢等式等式1:MET =其中VO2表示氧气消耗,其由下列等式来计算等式2 -.VO2=分量h +分量v + R其中“ R”是等于3. 5的常数,“分量h”是水平分量,并且“分量是垂直分量。水平和垂直分量可以通过将等式2扩充为以下等式来定义等式 3 =VO2=Kh (速度 h) + Kv (速度 J + R其中“速度h”表示水平速度并且“速度v”表示垂直速度,其可以如上所述根据用户的多个关节在第一帧与第二帧之间的増量位置以及第一和第二帧之间的流逝时间来计算。另外,等式3包括“Kh”和“Kv”可以分别表示水平变量和垂直变量。“Kh”和“Kv”的值可以通过将所述变量训练为反映大范围的MET活动来确定。例如,“Kh”和“Kv”各自都可以是ー个或多个低MET值、ー个或多个中MET值、以及ー个或多个高MET值的平均值。例如,低MET值可以对应于用户通过坐在沙发上并观看电影来与游戏系统12交互(例如小于3.O的MET值)。另外,中MET值可以对应于用户通过用该用户在赛车游戏中的运动控制赛车化身来与游戏系统12交互(例如3. O和6. O之间的MET值)。另外,高MET值可以对应于用户通过用该用户在跳舞游戏中的运动控制玩家化身来与游戏系统12交互(例如大于6. O的MET值)。通过这种方式,低到高MET值例如可以与低強度到高強度活动相关。用于估计MET值的传统方法可以使用与特定活动相对应的特定水平变量和特定垂直变量。本公开考虑到了大范围的水平和垂直变量,使得用于估计MET的方法可以如在此所述那样被应用于任何活动。能够理解,“ Kh ”和“ Kv ”的值可以从实验数据中确定和分析,其中该实验数据包括来自大范围的MET值的值。作为另ー示例,可以自适应特定用户的“Kh”和“Kv”的值。例如,可以提示用户执行某些姿势、运动、活动等等,并且来自相关联的骨架跟踪的数据可以被用于确定该用户的特定“ Kh”和“ Kv ”。在这样的场景中,还可以采用用户标识技木。例如,可以采用面部识别技术来标识出特定用户,使得与该用户相关联的包括该用户的特定“ Kh”和“Kv”值的简档可以被访问以估计MET。能够理解,可以采用其他用户标识技术而不偏移被公开的范围。回到图3,在312,方法300包括输出MET的值以供显示。例如,显示器16可以包括显示该用户的MET的值的图形用户界面。例如在完成与游戏系统12的用户交互以后,MET的值可以是表示MET的值的最终值(end value)。另外,在用户与游戏系统12交互时,MET的值可以是表示快照的实时值和/或MET的累积值。能够理解,方法300是以举例方式提供的,并且因此不g在为限制性的。因此,能够理解,方法300可以以任何合适的顺序执行而不背离本公开的范围。另外,与图3中所示的那些步骤相比,方法300可包括更多的和/或可替代的步骤。例如,方法300可以包括对用户的多个关节中的每个关节进行加权以实现对MET的更精确估计。例如,图4是示出了用于对用户的多个关节中的每个关节进行加权的示例性方法400的流程图。如上所述,与未对多个关节中的每个关节进行加权相比,对用户的多个关节中的每个关节进行加权可以导致更精确的MET估计。能够理解,方法400可以包括已经參照图3描述过的ー个或多个步骤。另外,能够理解,这样的步骤可以类似地或者与在此所述相比稍加变化地执行。另外,方法400的一个或多个步骤可以在如上述那样确定多个关节中的每个关节在第一帧与第二帧之间的増量位置(例如步骤306)以后进行。方法400可使用在此所述的硬件和软件组件来实现。在402,方法400包括向用户的多个关节中的每个关节分配权重。能够理解,可以向每个关节分配特定的权重。另外,能够理解,一个关节的特定权重可以不同于另ー关节的特定权重。可以根据基本上任何加权方案向用户的多个关节中的每个关节分配特定权重。例如,可以向比另ー关节具有更大自由度的关节分配更高加权值。作为ー个非限制性示例,肩膀关节可以比膝盖关节具有更高加权值。由于肩膀关节是球窝型关节(旋转自由度),因此肩膀关节比类似于铰链型关节(限于屈伸运动)的膝盖关节具有更大的自由度。在404,方法400包括将用户的经加权的多个关节中的每个关节划分成ー个或多个身体片段。例如,用户的经加权的多个关节中的一些关节可以被分配给上身片段。例如,上身片段可以包括用户的经加权关节中在头部位与髋部位之间的ー个或多个关节。因此,上身片段可以包括头关节、左髋关节、右髋关节以及在解剖学上定位在头关节与左髋和右髋关节之间的其他关节。例如,与用户的右臂和左臂相关联的ー个或多个关节可以被分配给上身片段。如在此所示使用的那样,解剖学上的定位可以指与用户的人体解剖结构有关的关节位置。因此,即使手关节可能在物理上位于髋关节的垂直下方(例如当用户弯曲髋关节以触摸脚关节时),手关节仍然被分配给上身片段,因为手关节在解剖学上定位在髋关节与头关节之间。換言之,手关节高于髋关节,并且低于头关节,因此手关节属于上身片段。类似地,用户的经加权的其他多个关节可以被分配给另一身体片段,比如下身片段。例如,下身片段可以包括用户的经加权关节中在髋部位与脚部位之间的ー个或多个关节。因此,下身片段可以包括膝盖关节、脚关节以及在解剖学上定位在髋部位与脚部位之间的其他关节。例如,与用户的右腿和左腿相关联的一个或多个关节可以被分配给下身片段。因此,即使左腿关节可能在物理上位于髋关节的垂直上方(例如当用户执行诸如回旋踢之类的高踢腿时),左腿关节仍然被分配给下身片段,因为左腿关节在解剖学上位于髋关节与脚关节之间。換言之,左腿关节低于髋关节,并且高于脚关节,因此腿关节属于下身片段。能够理解,多个经加权关节中的每个关节可以被分配给仅仅ー个身体片段。換言之,单个关节不能被分配给ー个以上身体片段。通过这种方式,可以分析用户的经加权的多个关节中的每个关节,而无需在两个身体片段中重复特定的经加权关节。另外,由于髋部位 在上面被描述为上身片段与下身片段之间的间隔,因此能够理解,各髋关节中的一个或多个髋关节可以被分配给上身片段或下身片段。例如,左髋关节和右髋关节二者可以都被分配给上身片段,或者左髋关节和右髋关节二者可以都被分配给下身片段。可替代地,ー个髋关节可以被分配给上身片段,并且另一髋关节可以被分配给下身片段。回到图4,在406,方法400包括计算上身片段的平均加权水平速度以及平均加权垂直速度。例如,上身片段的平均加权水平和垂直速度可以通过如下方式来计算与上面的描述类似地,确定经加权的多个关节中处于上身部位内的每个关节在第一帧与第二帧之间的増量位置、以及第一帧与第二帧之间的流逝时间。例如,上身片段的平均加权速度可以根据下面提供的等式4和等式5来计算。能够理解,等式4和5是作为非限制性示例提供的。等式4Ffr —ムi=體[速,又hWx权干-⑴J
总权東
剛等式5谓速民=1^[=観⑴]如等式4和5中所示,“ UB”指示上身片段并且索引“ i”表示特定关节。另外,总权重可以是例如应用于被分配给上身片段的多个关节中的每个关节的权重之和。在408,方法400包括计算下身片段的平均加权水平速度以及平均加权垂直速度。例如,下身片段的平均加权水平和垂直速度可以通过如下方式来计算与上面的描述类似地,确定经加权的多个关节中处于下身部位内的每个关节在第一帧与第二帧之间的増量位置、以及第一帧与第二帧之间的流逝时间。例如,下身片段的平均加权速度可以根据下面提供的等式6和等式7来计算。能够理解,等式6和7是作为非限制性示例提供的。等式 6 T D4* FtF 一 Zj1=w [速度h (Ox权承⑴]
又hSm等式7 :ムg速度—E1=脚[速M’.(1)X权重(1)]
如等式6和7中所示,“LB”指示下身片段并且索引“i”表示特定关节。另外,总 权重可以是例如应用于被分配给下身片段的多个关节中的每个关节的权重之和。
在410,方法400包括将下身因子应用于下身片段的平均加权水平和垂直速度。 例如,下身片段和上身片段可能对MET具有不同的影响。因此,下身因子可以被应用于下身 片段的平均加权水平和垂直速度以考虑对MET的影响的差异。
例如,下身片段可以对MET具有更大影响,因为下身片段承载了上身片段的重量。 附加地和/或可替代地,下身片段可以对MET具有更大的影响,因为下身片段在活动期间受 到与地面的摩擦力。通过这种方式,即使下身片段和上身片段内的关节可能具有相似的速 度,但是例如下身片段内的关节可能比上身片段内的关节对MET值影响更大。本发明人在 此已经认识到,值2和值3间的下身因子考虑了影响的差异。然而能够理解,其他下身因子 是可能的,和/或上身因子可以被应用于上身片段速度而不偏移本公开的范围。
在412,方法400包括使用代谢等式估计任务代谢当量(MET)的值。例如,所述代 谢等式可以基于上身的平均加权速度以及下身的平均加权速度,其中下身的平均加权速度 包括所应用的下身因子。例如,可以根据上述等式I来计算MET,并且氧气消耗(VO2)的值 可以通过使用下面提供的等式8、9和10来确定。能够理解,等式8、9和10是作为非限制 性示例提供的。
等式8 :身体速度h = UB速度h + LB因子XLB速度h
等式9 :身体速度v = UB速度v + LB因子XLB速度v
等式10 =VO2=Kh (身体速度h)+Kv (身体速度V)+R
如等式8和9中所示,“UB”指示上身片段并且“LB”指示下身片段。另外,能够理 解,等式8、9和10包括与之前所述等式中的一些所包括的变量类似的变量,并且为简洁起 见将不予以进一步描述。
在414,方法400包括输出所计算的MET值以供显示。例如,显示器16可以包括 显示该用户的MET的值的图形用户界面。MET的值可以是上述MET的最终值、实时值、快照 值和/或累积值。
能够理解,方法400是以举例方式提供的,并且因此不旨在为限制性的。因此,能 够理解,方法400可以以任何合适的顺序执行而不背离本公开的范围。另外,方法400可包 括与图4中所示的步骤相比更多的或可替代的步骤。例如,方法400可以包括基于所计算 的MET值计算卡路里燃烧。另外,所计算的MET值可以用于确定其他身体参数,所述身体参 数可以评估用户在与计算计系统交互时的体能的一方面。
作为另一示例,方法400可以包括为特定用户调节加权因子。在一些实施例中, 为特定用户调节加权因子可以包括用户标识技术。例如,用户可以通过面部识别技术和/ 或通过另一用户标识技术来标识。
通过这种方式,可以为与计算设备交互(比如游戏系统12)的用户估计MET的值。 另外,由于用户的运动(或无运动)被跟踪,因此估计MET的值可以被更精确地完成,而不必 假设用户实际执行的特定活动。
在一些实施例中,可将以上所描述的方法和过程捆绑到包括一个或多个计算机的 计算系统。具体而言,此处所述的方法和过程可被实现为计算机应用、计算机服务、计算机 AP1、计算机库、和/或其他计算机程序产品。
图5示意性示出了可以执行上述方法和过程之中的一个或多个的非限制性计算 系统70。以简化形式示出了计算系统70。应当理解,可使用基本上任何计算机架构而不背 离本公开的范围。在不同的实施例中,计算系统70可以采取大型计算机、服务器计算机、台 式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、移 动通信设备、游戏设备等等的形式。
计算系统70包括处理器72和存储器74。计算系统70可以任选地包括显示子系 统76、通信子系统78、传感器子系统80和/或在图5中未示出的其他组件。计算系统70 还可以任选地包括诸如下列用户输入设备例如键盘、鼠标、游戏控制器、相机、话筒和/或触摸屏等等。
处理器72可包括被配置成执行一个或多个指令的一个或多个物理设备。例如,处 理器可被配置为执行一个或多个指令,该一个或多个指令是一个或多个应用、服务、程序、 例程、库、对象、组件、数据结构、或其它逻辑构造的部分。可实现这样的指令以执行任务、实 现数据类型、变换一个或多个设备的状态、或以其他方式得到所希望的结果。
处理器可包括被配置成执行软件指令的一个或多个处理器。另外或另选地,处理 器可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机器。处理器的各处 理器可以是单核或多核,且在其上执行的程序可被配置为并行或分布式处理。处理器可以 任选地包括遍布两个或多个设备的独立组件,所述设备可远程放置和/或被配置为进行协 同处理。该处理器的一个或多个方面可被虚拟化并由以云计算配置进行配置的可远程访问 的联网计算设备执行。
存储器74可包括一个或更多个物理、非瞬时设备,这些设备被配置成保持数据和 /或可由该处理器执行的指令,以实现此处描述的方法和过程。在实现这些方法和过程时, 可以变换存储器74的状态(例如以保存不同的数据)。
存储器74可包括可移动介质和/或内置设备。存储器74可包括光学存储器设备 (例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器设备(例如,RAM、EPR0M、EEPR0M等)和/或 磁存储器设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等等。存储器74可包 括具有以下特性中的一个或多个特性的设备易失性、非易失性、动态、静态、读/写、只读、 随机存取、顺序存取、位置可寻址、文件可寻址、以及内容可寻址。在一些实施例中,可将处 理器72和存储器74集成到一个或多个常见设备中,如专用集成电路或片上系统。
图5还示出可移动的计算机可读存储介质82形式的存储器的一方面,该介质可以 用于存储和/或传送可执行以实现此处所述的方法和过程的数据和/或指令。可移动计算 机可读存储介质82尤其是可以采取⑶、DVD、HD-DVD、蓝光盘、EEPROM和/或软盘的形式。
能够理解,存储器74包括一个或多个物理的、非瞬时的设备。相反,在一些实施例 中,本文描述的指令的各方面可以按暂态方式通过不由物理设备在至少有限持续时间期间 保持的纯信号(例如电磁信号、光信号等)传播。此外,与本发明有关的数据和/或其他形式 的信息可以通过纯信号传播。
术语“模块”、“程序”和“引擎”可用于描述被实现为执行一个或多个具体功能的 计算系统70的一方面。在一些情况下,可以通过执行由存储器74所保持的指令的处理器 72来实例化这样的模块、程序或引擎。应当理解,可以从同一应用、服务、代码块、对象、库、 例程、AP1、函数等来实例化不同的模块、程序和/或引擎。同样,可以由不同的应用程序、服务、代码块、对象、例程、AP1、函数等来实例化同一模块、程序和/或引擎。术语“模块”、“程 序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
应当理解,如此处所使用的“服务”可以是跨越多个用户会话可执行的、且对一个 或更多系统组件、程序、和/或其他服务可用的应用程序。在一些实现中,服务可以响应于 来自客户机的请求而在服务器上运行。
在被包括时,显示子系统76可用于呈现由存储器74保持的数据的视觉表示。由 于此处所描述的方法和过程改变了由存储器保持的数据,并由此变换了存储器的状态,因 此同样可以转变显示子系统76的状态以视觉地表示底层数据的改变。显示子系统76可以 包括使用实际上任何类型的技术的一个或多个显示设备。可将这样的显示设备与处理器72 和/或存储器74组合在共享封装中,或这样的显示设备可以是外围显示设备。
当包括通信子系统78时,通信子系统78可以被配置成将计算系统70与一个或多 个其他计算设备可通信地耦合。通信子系统78可包括与一个或多个不同的通信协议相兼 容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置为经由无线电话 网、无线局域网、有线局域网、无线广域网、有线广域网等进行通信。在一些实施例中,通信 子系统可允许计算系统70经由诸如因特网之类的网络发送消息至其他设备和/或从其他 设备接收消息。
传感器子系统80可以包括被配置为如上述那样感测一个或多个人类主体的一个 或多个传感器。例如,传感器子系统80可以包括一个或多个图像传感器、诸如加速度计之 类的运动传感器、触摸板、触摸屏和/或任何其他合适的传感器。因此,传感器子系统80例 如可以被配置为向处理器72提供观测信息。如上所述,诸如图像数据、运动传感器数据和/ 或任何其他合适传感器数据的观测信息可以用于执行这样的任务,比如确定一个或多个人 类主体的多个关节中的每个关节的位置。
在一些实施例中,传感器子系统80可包括深度相机84(例如图1的深度相机18)。 深度相机84可包括例如立体视觉系统的左和右相机。来自两个相机的时间解析的图像可 被相互配准并可被组合来产生深度解析的视频。
在其它实施例中,深度相机84可以是结构化光深度相机,其被配置成投影包括多 个离散的特征(例如,线或点)的结构化红外照明。深度相机84可被配置成对从结构化照明 被投影到其之上的场景中反射的结构化照明进行成像。基于所成像的场景的各个区域内邻 近特征之间的间隔,可构造该场景的深度图像。
在其它实施例中,深度相机84可以是飞行时间相机,其被配置成将脉冲的红外照 明投影到该场景上。深度相机可包括两个相机,这两个被配置成检测从场景反射的脉冲照 明。两个相机均可包括与脉冲照明同步的电子快门,但用于这两个相机的集成时间可不同, 使得脉冲照明的从源到场景再接着到这两个相机的像素解析的飞行时间可从在两个相机 的相应的像素中接收到的相对光的量中辨别。
在一些实施例中,传感器子系统80可包括可见光相机86。可以使用基本上任何类 型的数字相机技术而不背离本公开的范围。作为非限制的示例,可见光相机86可包括电荷 耦合设备图像传感器。
应该理解,此处所述的配置和/或方法在本质上是示例性的,并且这些具体实施例或示例不应被认为是局限性的,因为多个变体是可能的。此处所述的具体例程或方法可 表示任何数量的处理策略中的一个或多个。由此,所示出的各个动作可以按所示次序执行、 按其他次序执行、并行地执行、或者在某些情况下被省略。同样,可以改变上述过程的次序。
本公开的主题包括各种过程、系统和配置、此处所公开的其他特征、功能、动作、和 /或特性、以及其任何和全部等效物的所有新颖和非显而易见的组合和子组合。
权利要求
1.一种供与计算设备(14) 一起使用的用于估计任务代谢当量的方法,该方法包括 从捕捉设备(18)接收包括用户(10)的随时间捕捉的图像序列的输入; 从所述图像序列中跟踪所述用户的多个关节(36)中的每个关节的位置; 基于所跟踪的多个关节中的每个关节在第一帧(50)和第二帧(52)之间的位置改变来确定所述多个关节中的每个关节在所述第一帧(50)与第二帧(52)之间的距离; 基于所述多个关节中的每个关节的所述距离以及在所述第一帧和所述第二帧之间的流逝时间来计算所述多个关节中的每个关节的水平速度和垂直速度; 使用代谢等式来估计所述任务代谢当量的值,所述代谢等式包括水平分量和垂直分量,该水平和垂直分量基于所计算的所述多个关节中的每个关节的垂直和水平速度;以及输出所述值以供显示。
2.如权利要求1所述的方法,其特征在于,还包括根据加权方案对所述多个关节中的每个关节进行加权。
3.如权利要求1所述的方法,其特征在于,所述捕捉设备是深度相机并且其中所述图像序列是深度图像序列。
4.如权利要求1所述的方法,其特征在于,所述代谢等式包括氧气消耗的值,所述氧气消耗的值包括水平变量和垂直变量,该水平和垂直变量基于大范围的代谢当量值。
5.如权利要求1所述的方法,其特征在于,所述水平速度包括X方向的速度和z方向的速度,并且所述垂直速度包括I方向的速度。
6.一种包括存储器保持指令的计算设备,所述指令被处理器执行以便 使用与所述计算设备(14)相关联的深度相机(18)捕捉用户(10)的多个图像; 随时间跟踪所述用户的多个关节(36)中的每个关节的位置; 确定所述多个关节中的每个关节在第一帧(50)和相继的第二帧(52)之间的位置改变;所述位置改变是从所述多个关节中的每个关节的所跟踪位置中确定的; 基于在第一和第二帧之间的流逝时间期间的位置改变来计算所述多个关节中的每个关节的速度;以及 输出任务代谢当量的值,所述值是从代谢等式中输出的,所述代谢等式包括所述多个关节中的每个关节的水平速度分量和垂直速度分量。
7.如权利要求6所述的设备,其特征在于,所述计算设备是游戏设备并且所输出的值被输出在所述计算设备的显示器上。
8.如权利要求6所述的设备,其特征在于,所述值是针对阈值时间段的总值,其中所述总值是在所述阈值时间段内的每帧与相继帧之间计算的任务代谢当量之和。
9.如权利要求6所述的设备,其特征在于,该包括根据加权方案对所述多个关节中的每个关节进行加权的指令,所述加权方案包括将所述多个关节中的每个关节分配给上身片段或下身片段,其中所述下身片段比所述上身片段具有更高的加权值。
10.如权利要求9所述的设备,其特征在于,所述代谢等式是■= 其中VO2是氧气消耗的变量,其中所述氧气消耗是使用氧气消耗等式计算的,所述氧气消耗等式包括 VO2=Kh (身体速度h) +Kv (身体速度V) +3. 5。
全文摘要
本发明涉及利用计算设备计算代谢当量。在此提供了一种供与计算设备一起使用的用于估计任务代谢当量的方法。该方法包括从用户的捕捉设备接收输入;以及跟踪该用户的多个关节中的每个关节的位置。该方法还包括确定所述多个关节中的每个关节在第一帧与第二帧之间行进的距离;以及基于该行进的距离和在第一和第二帧之间的流逝时间来计算所述多个关节中的每个关节的水平速度和垂直速度。该方法还包括使用代谢等式估计任务代谢当量的值,所述代谢等式包括所述多个关节中的每个关节的水平速度的分量和垂直速度的分量;以及输出所述值以供显示。
文档编号A63B71/06GK103019372SQ20121040271
公开日2013年4月3日 申请日期2012年10月19日 优先权日2011年10月21日
发明者E·巴苏姆, R·福布斯, T·莱瓦德, T·杰肯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1