根据身体移动确定卡路里燃烧的制作方法

文档序号:6426761阅读:206来源:国知局
专利名称:根据身体移动确定卡路里燃烧的制作方法
技术领域
本发明涉及用于减肥的系统,尤其涉及用于通过HCI系统来确定卡路里燃烧的系统和方法。
背景技术
在过去,诸如计算机游戏和多媒体应用等计算应用使用控制器、遥控器、键盘、鼠标等来允许用户操纵游戏人物或应用的其他方面。近来,计算机游戏和多媒体应用已开始使用照相机和软件姿势识别引擎来提供人机接口(“HCI”)。使用HCI,检测、解释用户姿势并将其用于控制游戏人物或应用的其他方面。常规的HCI系统没有用于测量卡路里燃烧。通常,卡路里燃烧可以通过常规的锻炼设备间接地且机械地测量。具体而言,用户在某一设备上执行某种活动,该设备被校准以基于在该设备上做功的量来确定卡路里燃烧。这些系统不直接测量人的卡路里燃烧。此外, 这样的系统通常不测量由用户执行的活动量,除非用户在运动中设置该设备。如此,尽管当用户固定不动时可能执行活动并燃烧卡路里,但是,此活动量无法被该设备测量。

发明内容
此处公开了用于通过HCI系统来确定卡路里燃烧的系统和方法。通过使用能够检测用户的臂、腿、躯干等等的厚度的捕捉设备,该系统确定用户的每一个身体部位的质量。 此后,在一个实施方式中,该系统根据身体部位位移的距离,位移的身体部位的质量以及重力来,测量给定身体部位的卡路里燃烧。在一直接的实施方式中,该系统可以只测量垂直向上位移作为卡路里燃烧的考虑因素。在其他实施方式中,该系统可以根据垂直向上位移、水平位移和/或垂直向下位移,以及这些位移的所有组合,来测量卡路里燃烧。在其他实施方式中,该系统还可测量由于将身体部位在某个非中立位置保持固定而产生的卡路里燃烧。 在这样的实施方式中,该系统可以根据存储在身体部位的势能,来测量由于这样的固定,非中立位置而产生的卡路里燃烧。在一个实施方式中,当前技术涉及一种通过以下步骤来确定用户的卡路里燃烧的方法经由捕捉设备来捕捉用户的身体部位的图像;经由计算环境的处理器来确定身体部位的质量;经由捕捉设备来捕捉身体部位的移动;以及根据身体部位的捕捉到的移动以及所确定的身体部位的质量来确定由身体部位燃烧的卡路里。在又一实施方式中,当前技术涉及一种系统,该系统包括能够在用户在捕捉设备的视野内移动时捕捉用户的一个或多个单独的身体部位的图像的捕捉设备;以及与捕捉设备相关联的计算环境,该计算环境包括处理器,该处理器能够确定由捕捉设备捕捉到的一个或多个单独的身体部位的质量,根据所确定的一个或多个单独的身体部位的质量以及一个或多个单独的身体部位的移动方向和程度来确定由一个或多个单独的身体部位燃烧的卡路里。在又一实施方式中,当前技术涉及用于用于促进减肥的系统,包括能够在用户在捕捉设备的视野内移动时捕捉用户的一个或多个单独的身体部位的图像的捕捉设备;与捕捉设备相关联的计算环境,该计算环境包括确定由捕捉设备捕捉到的一个或多个单独的身体部位的质量,以及根据所确定的一个或多个单独的身体部位的质量以及一个或多个单独的身体部位的移动方向和程度来确定由一个或多个单独的身体部位燃烧的卡路里,处理器还运行锻炼程序;以及与计算环境相关联的显示器,该显示器提示用户根据由处理器运行的锻炼程序来进行锻炼,该显示器还显示由处理器确定的燃烧的卡路里。提供本发明内容是为了以简化的形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。


图IA示出了目标识别、分析,及跟踪系统的示例实施方式,且用户正在参与游戏或锻炼程序。图IB示出了目标识别、分析,及跟踪系统的另一示例实施方式,且用户正在操作图形用户界面。图2示出了可以用于目标识别、分析和跟踪系统中的捕捉设备的示例实施方式。图3A示出了可以被用来解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环境的示例实施方式。图IBB示出了可以被用来解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环境的另一示例实施方式。图4示出了从图2的目标识别、分析,及跟踪系统生成的用户的骨架映射。图5示出了以中立位置站立的用户的表示。图6示出了臂移到非中立位置的用户的表示。图7示出了臂和腿移到非中立位置的用户的表示。图8是根据系统的第一实施方式的用于确定卡路里燃烧的流程图。图9是根据系统的第二实施方式的用于确定卡路里燃烧的流程图。图10是根据系统的第三实施方式的用于确定卡路里燃烧的流程图。图11是根据系统的第四实施方式的用于确定卡路里燃烧的流程图。
具体实施例方式现在将参考图1A-11描述本技术的各实施方式,它们一般涉及用于通过经由人机界面来检测用户的位置和/或移动并确定从中产生的卡路里燃烧,来测量卡路里燃烧的系统。在各实施方式中,本系统就骨架质量作出判断并测量诸如肘、手腕、膝盖和踝之类的骨架关节的位置。然后,该系统基于所确定的质量以及相对于参考位置的关节位置,来确定由用户燃烧的卡路里。在其他实施方式中,该系统可以考虑诸如速度之类的其他动觉参数,并可以使用其他身体部位来进行卡路里燃烧测量。最初参考图1A-2,用于实现本发明的技术的硬件包括目标识别、分析和跟踪系统 10,该系统可用于识别、分析和/或跟踪诸如用户18等的人类目标。目标识别、分析和跟踪系统10的各实施例包括用于执行游戏、锻炼或其他应用的计算环境12,以及用于从游戏、 锻炼或其他应用提供音频和视觉表示的视听设备16。系统10还包括用于检测设备20捕捉的用户的位置和移动的捕捉设备20,计算环境接收并使用该姿势来控制应用程序。根据本发明的技术,由捕捉设备20捕捉到的位置和/或移动还可由计算环境12用来确定用户在与系统10交互时燃烧的卡路里。下面将更详细地描述这些组件中的每一个。如图IA所示,在一示例实施方式中,在计算环境12上执行的应用程序可以是锻炼程序,其中用户18模仿屏幕上的指导者19的动作,本系统测量由在执行锻炼时由用户燃烧的卡路里,如下面所说明的。然而,本技术可以测量在用户与系统10的任何交互中的卡路里燃烧。例如,图IB示出了其中用户18简单地与用户界面21进行交互的实施方式。在其他示例中,用户可以在玩游戏或控制游戏或其他应用程序时移动并与系统进行交互。在这些示例中的每一个中,系统仍可以测量卡路里燃烧,如下面将更详细地说明的。在其他示例实施方式中,用户18可以持有诸如例如重物之类的物体。在这样的实施方式中,系统10可以检测到用户正在持有物体并提示用户输入其重量(或者,系统可以基于其大小来估计其重量)。通过使用重量,本技术可以根据物体的位置和/或移动以及用户的身体部位来考虑卡路里燃烧。下面将更详细地对其进行描述。图2示出了可以用在目标识别、分析与跟踪系统10中的捕获设备20的示例性实施方式。涉及用于本发明技术的捕捉设备的附加细节在题为“Device For Identifying And Tracking Multiple Humans Over Time (用于随时间标识和跟踪多个人的设备)”的共同待审的专利申请号12/475,308中阐述,该申请通过引用而整体结合于此。然而,在一示例实施方式中,捕捉设备20可以被配置成通过任何合适的技术,包括,例如,飞行时间法、结构光、立体图像等等,捕捉可包括深度值的具有深度图像的视频。根据一个实施例,捕捉设备 20可将所计算的深度信息组织为“Z层”,或可与深度相机沿其视线延伸的Z轴垂直的层。如图2所示,捕获设备20可以包括图像相机组件22。根据一个示例实施例,图像相机组件22可以是捕捉场景的深度图像的深度相机。深度图像可包括被捕捉的场景的二维O-D)像素区域,其中2-D像素区域中的每一个像素都可以(例如以厘米、毫米等等为单位)表示来自相机的被捕捉的场景中的对象的长度。如图2所示,根据一个示例性实施例,图像相机22可以包括可以用于捕获场景的深度图像的顶光组件24、三维(3-D)相机26,以及RGB相机28。例如,在飞行时间分析中, 捕捉设备20的顶光组件M可以将红外光发射到场景上,然后,可以使用传感器(未示出), 用例如3-D相机沈和/或RGB相机观,来检测从场景中的一个或多个目标和对象的表面反向散射的光。根据另一实施例,捕捉设备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. lib,802. llg、802. Ila或802. Iln连接等的无线连接。根据一个实施例,计算环境12 可向捕捉设备20提供时钟,该时钟可被用于通过通信链路36确定何时捕捉,例如场景。此外,捕捉设备20可经由通信链路36向计算环境12提供由例如3-D相机沈和/ 或RGB相机观捕捉的深度信息和图像,以及由捕捉设备20生成的骨架模型。存在用于判断由捕获设备20检测到的目标或对象是否与人类目标相对应的各种已知技术。骨架映射技术因而可用于确定该用户的骨架上的各个点,手、腕、肘、膝、鼻、踝、肩的关节,以及骨盆与脊椎相交之处。其他技术包括将图像转换为人的人体模型表示和将图像转换为人的网格模型表示。然后,可以将骨骼模型提供给计算环境12,使得计算环境可以执行各种动作。根据本发明的技术,计算环境12可以使用骨架模型来确定用户正在燃烧的卡路里。虽然与本发明的技术无关,但计算环境还可跟踪骨架模型并在视听设备16上呈现与骨架模型相关联的化身。计算环境还可基于例如从骨架模型中识别出的用户的姿势来确定在计算机环境上执行的应用中要执行哪些控制命令。例如,如图2所示,计算环境12可包括用于确定用户何时执行了预定义姿势的姿势识别器引擎190。图3A示出了可以用于在目标识别、分析与跟踪系统中解释用户的一个或多个位置和运动的计算环境的示例性实施例。上面参考图1A-2所描述的诸如计算环境12等的计算环境可以是诸如游戏控制台等的多媒体控制台100。如图3A所示,多媒体控制台100具有中央处理单元(CPU) 101,其具有1级高速缓存102、2级高速缓存104,以及闪存ROM 106。 1级高速缓存102和2级高速缓存104临时存储数据并因此减少存储器访问周期数,由此改进处理速度和吞吐量。CPU 101可被提供为具有一个以上的核,以及由此的附加的1级和2 级高速缓存102和104。闪存ROM 106可存储在当多媒体控制台100通电时的引导过程的初始阶段期间加载的可执行代码。图形处理单元(GPU) 108和视频编码器/视频编解码器(编码器/解码器)114形成用于高速、高分辨率图形处理的视频处理流水线。经由总线从GPU 108向视频编码器/ 视频编解码器114运送数据。视频处理流水线向A/V(音频/视频)端口 140输出数据,用于传输至电视机或其他显示器。存储器控制器110连接到GPU 108,以促进处理器对各种类型的存储器112、比如但不限于RAM的访问。多媒体控制台100包括优选地在模块118上实现的I/O控制器120、系统管理控制
7器122、音频处理单元123、网络接口控制器124、第一 USB主控制器126、第二 USB主控制器 128以及前面板I/O子部件130。USB控制器126和1 用作外设控制器142 (1)-142 O)、无线适配器148、和外置存储器设备146(例如闪存、外置⑶/DVD ROM驱动器、可移动介质等) 的主机。网络接口 1 和/或无线适配器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允许一个或多个用户与该系统交互、看电影、或听音乐。然而,随着通过网络接口 1 或无线适配器148可用的宽带连接的集成,多媒体控制台100还可作为较大网络社区中的参与者来操作。当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(例如16MB)、CPU和GPU周期的保留量 (例如5%)、网络带宽的保留量(例如Slcbs),等等。因为这些资源是在系统引导时间保留的,所保留的资源对于应用程序视角而言是不存在的。具体地,存储器保留较佳地足够大,以包含启动内核、并发系统应用程序和驱动程序。CPU保留较佳地为恒定,使得若所保留的CPU用量不被系统应用程序使用,则空闲线程将消耗任何未使用的周期。对于GPU保留,通过使用GPU中断来显示由系统应用生成的轻量消息(例如,弹出窗口),以调度代码来将弹出窗口呈现为覆盖图。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图较佳地与屏幕分辨率成比例缩放。在完整的用户界面被并发系统应用使用的情况下,优选地使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率,也就不会引起TV重新同步。在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用程序来提供系统功能。系统功能被封装在一组在上述所保留的系统资源中执行的系统应用程序中。 操作系统内核标识是系统应用程序的线程而非游戏应用程序的线程。系统应用程序优选地被调度为在预定时间并以预定时间间隔在CPU 101上运行,以便为应用程序提供一致的系统资源视图。调度是为了把由在控制台上运行的游戏应用所引起的高速缓存分裂最小化。当并发系统应用程序需要音频时,则由于时间敏感性而异步调度音频处理给游戏应用程序。多媒体控制台应用程序管理器(如下所述)在系统应用程序活动时控制游戏应用的音频水平(例如,静音、衰减)。输入设备(例如,控制器142(1)和142( )由游戏应用程序和系统应用程序共享。输入设备不是所保留的资源,但却在系统应用程序和游戏应用程序之间切换以使其各自具有设备的焦点。应用管理器优选地控制输入流的切换,而无需知道游戏应用的知识,并且驱动程序维护关于焦点切换的状态信息。相机沈、观和捕获设备20可以为控制台100 定义附加输入设备。图:3B示出了计算环境220的另一示例性实施例,它可以是用来解释目标识别、分析与跟踪系统中的一个或多个位置和动作的图1A-2中示出的计算环境12。计算系统环境 220只是合适的计算环境的一个示例,并且不旨在对所公开的主题的使用范围或功能提出任何限制。也不应该将计算环境220解释为对示例性操作环境220中示出的任一组件或其组合有任何依赖性或要求。在一些实施例中,各种所描绘的计算元件可包括被配置成实例化本发明的特定方面的电路。例如,本公开中使用的术语电路可包括被配置成通过固件或开关来执行功能的专用硬件组件。在其他示例实施例中,术语电路可包括通过体现可操作以执行功能的逻辑的软件指令配置的通用处理单元、存储器等等。在其中电路包括硬件和软件的组合的示例实施例中,实施者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。由于所属领域技术人员可以理解,现有技术已经发展到在硬件、软件或硬件/软件的组合之间差别微小的程度,为实现特定功能而选择硬件还是软件是交由实施者处理的设计选择。更具体而言,本领域技术人员可以理解,可以将软件进程转换成等效的硬件结构,也可以将硬件结构本身转换成等效的软件进程。如此, 选择硬件实现还是软件实现是一种设计选择,并交由实施者处理。在图;3B中,计算环境220包括通常包括各种计算机可读介质的计算机Ml。计算机可读介质可以是能由计算机241访问的任何可用介质,而且包含易失性和非易失性介质、 可移动和不可移动介质。系统存储器222包括以诸如ROM 223和RAM 260之类的易失性和 /或非易失性存储器的形式存在的计算机存储介质。基本输入/输出系统224 ¢10 包括如在启动时帮助在计算机Ml内的元件之间传输信息的基本例程,它通常储存在ROM 223 中。RAM 260通常包含处理单元259可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图3B示出了操作系统225、应用程序226、其他程序模块227,以及程序数据228。
计算机241还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。只作为示例,图3B示出了读写不可移动、非易失性磁性介质的硬盘驱动器238,读写可移动、非易失性磁盘邪4的磁盘驱动器239,以及读写诸如CD ROM或其他光学介质之类的可移动的,非易失性光盘253的光盘驱动器M0。可以在示例性操作环境中使用的其他可移动 /不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器238通常由不可移动存储器接口,诸如接口 234连接至系统总线221,磁盘驱动器239和光盘驱动器240通常由可移动存储器接口,诸如接口 235连接至系统总线221。上面所讨论的并且在图IBB中所示出的驱动器以及它们的相关联的计算机存储介质,为计算机Ml提供了计算机可读的指令、数据结构、程序模块及其他数据的存储。例如, 在图:3B中,硬盘驱动器238被示为存储了操作系统258、应用程序257,其他程序模块256, 以及程序数据255。注意,这些组件可以与操作系统225、应用程序226、其他程序模块227 和程序数据2 相同,也可以与它们不同。此处给操作系统258、应用程序257、其他程序模块256以及程序数据255提供了不同的编号,以说明至少它们是不同的副本。用户可以通过诸如键盘251和定点设备252 (通常被称为鼠标、轨迹球或触摸板)之类的输入设备向计算机Ml中输入命令和信息。其他输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、 圆盘式卫星天线、扫描仪等等。这些和其他输入设备通常通过耦合至系统总线的用户输入接口 236连接至处理单元259,但也可以由其他接口和总线结构,例如并行端口、游戏端口或通用串行总线(USB)来连接。相机沈、观和捕获设备20可以为控制台100定义附加输入设备。监视器242或其他类型的显示设备也通过接口,例如视频接口 232,连接至系统总线221。除监视器之外,计算机还可以包括可以通过输出外围接口 233连接的诸如扬声器 244和打印机243之类的其他外围输出设备。计算机241可以使用到一个或多个远程计算机(如远程计算机M6)的逻辑连接, 以在联网环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,通常包括上文相对于计算机241所描述的许多或全部元件,但是图:3B中只示出了存储器存储设备M7。图:3B中所描绘的逻辑连接包括局域网(LAN) 245 和广域网(WAN) M9,但是,也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。当在LAN联网环境中使用时,计算机241通过网络接口或适配器237连接至LAN 2450当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过例如因特网等WAN 249建立通信的其他装置。调制解调器250可以是内置或外置的,它可以经由用户输入接口 236或其他适当的机制连接至系统总线221。在联网环境中,参考计算机241所描述的程序模块,或其某些部分,可以存储在远程存储器存储设备中。作为示例而非限制, 图:3B示出了驻留在存储器设备247上的远程应用程序M8。可以理解,所示出的网络连接只是示例性的,也可以使用用于在计算机之间建立通信链路的其他装置。图4描绘了可以从捕捉设备20生成的用户的示例性骨架映射。在该实施方式中, 标识出各种关节和骨骼每只手302、每个前臂304、每个肘306、每个大臂308、每个肩310、 每个髋312、每条大腿314、每个膝316、每条小腿318、每个足320、头322、躯干324、脊椎的顶部3 和底部328以及腰330。在跟踪更多点的情况下,可标识出附加的特征,比如手指或脚趾的骨骼和关节,或脸部的各个特征,如鼻和眼。本发明技术的各实施方式在下文中将参考图5到7的图示以及图8到10的流程图来解释。图5示出了在捕捉设备20的视野内处于中立位置的用户400,即,当身体直立时处于固定位置。当站立时,会有一些肌肉活动,但是,在各实施方式中,这种活动可以忽略。 在其他实施方式中,当用户站着休息时,可以测量和存储一些基本活动量。可以有身体处于固定位置的其他中立位置,诸如,例如,用户坐下或用户平躺在地面上。图8描述了本技术的一直接的实施方式。在步骤500中,处理器(在计算设备12 内或可能在捕捉设备20内)确定处于中立位置的用户400的每一个关节的参考位置。在步骤502中,处理器确定关节之间的身体部位的质量。这可以以许多方式来进行。在一个实施方式中,系统根据由捕捉设备20捕捉到的身体部位的3-D图像来测量不同的身体部位的厚度或体积(用户的身体部位的质量没有在图5-7中示出)。以此方式,可以确定上下手臂、大腿和小腿,以及躯干的体积。在其他实施方式中,还可确定用户的手、脚、头以及颈部的质量。然后,可以将为每一个身体部位确定的体积乘以某个恒定的导出值来产生每一个身体部位的质量。由于衣服可能有时使得体积确定难以进行,可以对于不同的身体部位,在一段时间内进行测量,对于每一个身体部位,调整好结果。现在参考图6,用户400抬起两个臂。用户从肩部402b向上从他的侧面抬起他的左臂,使他的肘伸直,以使得下臂406b从上臂404b —般性地伸直。用户从他的侧面抬起他的右臂,但是,还通过弯曲肘部,相对于他的上臂40 抬高他的下臂406a。应该理解,图 6中所示的移动仅用作示例,用户可以以各种方式移动他的身体部位中的任何一个,并按下面所描述的方式进行测量。图7是移动的又一个示例,其中用户已经移动了他的手臂和他的腿。如下面所说明的,本技术作为每一个身体部位所造成的卡路里燃烧的合计来测量卡路里燃烧。在其他实施方式中,可以将身体部位结合在一起(产生组分身体部位的质量), 并可以基于组合的身体部位,来计算卡路里燃烧。在图8的直接实施方式中,系统接下来在步骤504中检查身体部位是否向上移动, 即,克服了重力。系统逐身体部位地进行此测量。系统可以进行此测量的一种方式是通过测量关节角度中的变化。如此,系统可以首先检查是否有与躯干最近的身体部位的移动(尽管在替换实施方式中可以以别的方式)。可以确定左侧肩关节向上旋转了角度Θ,并确定肘关节没有旋转。根据该判断,系统能够确定用户将他的上臂404b和下臂406b抬起了多高。类似地,系统可以判断通过肩关节处的角度Φ抬起了他的右上臂,并在肘关节处将他的下臂抬起角度ω。再次,根据该信息,系统能够确定用户将他的上臂40 和下臂406a抬起了多高。一旦如上文所描述的在步骤504中系统确定一个身体部位已经向上移动,系统就可以挑选任意点,例如,每一个身体部位上的最远端的关节,在步骤506中,一旦完成向上的移动,就测量其向上的位移。上臂的最远端的点将是肘关节,而下肢上的最远端的点将是踝关节等等。在步骤506中,系统将计算向上移动的给定身体部位的该点的位移。在步骤508中,给出了计算出的质量和向上的位移,系统将计算由于给定身体部位的向上移动而燃烧的卡路里。系统可以使用下面的关系来计算以焦耳为单位的由移动的质量燃烧的能量焦耳=质量χ重力χ向上位移
肌肉平均效率只有15-25%。额外的能量作为热量丢失。如此,假设20%的效率, 通过下列公式,以焦耳为单位,给出卡路里能量燃烧焦耳=质量χ重力χ位移χ (100/20)应该理解,可以使用除20 %以外的某个纠正因子,诸如,例如,15 %和25 %之间的任何因子。在其他实施方式中,限制可以高于和/或低于此范围。可以通过下列公式将焦耳转换为卡路里1卡路里=4184焦耳。在步骤508中计算由于给定身体部位的移动而燃烧的卡路里,并进行存储。系统反复地执行上面的步骤500到508,以基于不同的身体部位的移动取得燃烧的卡路里的总和。在步骤509中,可以任选地向用户显示总和(以虚线示出,以表示在其他实施方式中, 可以跳过该步骤)。总和可以每单位时间地给出,以例如示出对于用户移动每分钟燃烧的卡路里。如此,再次参考图6,进行体积测量,系统可以确定用户的身体部位的质量,包括下列各项右上臂1.88kg右下臂1.51kg左上臂1.86kg左下臂1.50kg在各实施方式中,系统可包括作为下臂的一部分的用户的手的确定的质量。在其他实施方式中,可以单独地计算和使用手的质量,或者,可以忽略手的质量。系统还可以进一步判断在此示例中的用户的手臂向上移动了下面的位移。右上臂0.4m右下臂1.2m左上臂0.4m左下臂0. 6m然后,系统将对不同的身体部位执行计算,每一个身体部位都单独地右上臂燃烧的卡路里=质量χ重力χ位移χ (100/20)/4184右上臂燃烧的卡路里=1.88x9. 82x0. 4 (100/20)/4184右上臂燃烧的卡路里=0. 0088卡路里可以对其他手臂部分执行相同的计算,以使得图6所示出的移动产生下面的卡路里燃烧右上臂燃烧的卡路里=0. 0088卡路里右下臂燃烧的卡路里=0. 0212卡路里左上臂燃烧的卡路里=0. 0087卡路里左下臂燃烧的卡路里=0. 0106卡路里从图6所示出的移动燃烧的总卡路里0. 0493如果用户抬起他的腿,将执行相同计算,如图7所示。此外,计算并不总是相对于中立位置来进行。例如,如果用户俯身,一旦用户直起来,到中立位置,则躯干、上臂等等的这种向上移动将产生活动,并燃烧卡路里,如上文所描述的。
上面的实施方式表示基于身体部位克服重力向上移动来对燃烧的卡路里的直接计算。然而,当将身体部位向下移动(受控制的肌肉移动)和/或水平地移动时,用户也可以燃烧卡路里。图9是考虑了这些情况下的卡路里燃烧的其他实施方式的流程图。图9示出了与图8类似的步骤,包括在步骤510中测量处于中立位置的关节,以及在步骤512中, 测量身体部位的质量。在步骤514中,图9的实施方式测量身体部位的任何移动。这也可以通过检测关节角度中的变化来做到。在步骤516中,在检测到移动已经完成时,可以作为矢量来测量位移和移动方向两者。如上所述,这可以使用身体部位上的任意点,诸如,例如,身体部位上的最远端的点, 来测量。在步骤518中,确定由相应的身体部位的移动燃烧的卡路里。在此实施方式中,可以计算某个下限和1之间规范化的方向因子,并将其考虑到用于计算为给定身体部位燃烧的卡路里的等式中。如此,此实施方式中燃烧的卡路里按如下方式给出燃烧的卡路里=质量χ重力χ位移x(100/20)xdf/4184其中,df是方向因子。在此等式中,位移是绝对位移,不只是垂直位移。对于纯粹的垂直向上位移,df可以等于1,如此,产生如上文参考图8所阐述的计算。随着移动变得较不垂直,且更加水平,方向因子可以缩小。如此,尽管身体部位的绝对位移可以与在纯粹的垂直运动和包括垂直和水平分量的运动之间相同,但是,为组合的垂直/ 水平运动燃烧的卡路里量将小于为纯粹的垂直运动燃烧的卡路里。此外,身体部位的纯粹的水平位移将具有上面标识的对卡路里的计算乘以某个确定的方向因子df< 1。如此,与图8的实施方式不同,图9的实施方式将包括水平运动的卡路里燃烧。它可以例如是某个任意选择的值,以使得0 < df < 1。类似地,对于垂直向上和水平之间的移动,方向因子可以从1缩小到水平位置所选的值。对于这些中间位置的方向因子可以线性地、或根据确定的三角函数而缩小,取决于位移的矢量角。同样,当用户正在降低身体部位时,如将手臂向下放回到中立位置,此移动仍可以燃烧卡路里。如此,方向因子将具有某个非零值,但是,小于用于纯粹的水平运动的值。在其他实施方式中,也可以在等式中考虑用户移动身体部位的速度。如此,例如, 也可以在上文所描述的对卡路里的计算中的任何一种情况下提供速度因子(在图8中以及在图9中)。此速度因子可以增大对于更快的运动燃烧的卡路里量。在上文所描述的实施方式中,根据位移,来测量身体部位中的卡路里燃烧。然而, 处于固定位置的身体部位,例如,伸长的臂或腿,也可以燃烧卡路里。因此,参考图10所描述的再一个实施方式考虑由于移动以及在非中立位置保持固定的身体部位而产生的卡路里燃烧。如在上面的实施方式中,该系统首先在步骤520中测量处于中立位置的关节,并在步骤522中测量身体部位的质量。在步骤514中,图9的实施方式测量身体部位的任何移动。这也可以通过检测关节角度中的变化来做到。如果检测到移动,则系统测量位移和方向作为矢量,如上文参考图9所描述的。步骤5 可以另选地只考虑垂直向上运动,如图8 的实施方式所描述。在步骤5 之后,或在步骤5M之后,如果没有检测到运动,则此实施方式的系统接下来在步骤528中检查身体部位是否在非中立位置保持固定。如上文所指出的,当处于中立位置时,固定的身体部位或者不燃烧卡路里,或者可以被分配某个小的常数。然而,当处于非中立位置固定时,身体部位燃烧卡路里。如此,在此实施方式中,该系统在步骤530 中测量保持的固定位置以及保持的时间长度。在步骤534中,系统确定卡路里燃烧。此确定可包括根据上文所描述的实施方式中的任何一个来确定卡路里燃烧,加上由于任何测得的固定,非中立身体部位位置而产生的卡路里燃烧。可以使用不同的等式来计算由于固定,非中立身体位置而产生的卡路里燃烧。在各实施方式中,卡路里燃烧可以根据存储在身体部位中的势能。此势能将根据如在步骤522中测量的其质量,重力及其相对于中立位置的位置。例如,在一个实施方式中,从躯干沿着水平线伸直的腿或臂比使脚或臂处于90°之外的某个角度具有更高的势能。如此,与使腿或臂保持某个非正交的角度对照,对于伸直的腿或臂,燃烧的卡路里量将更高。在某个非中立位置保持固定的身体部位,由于对肌肉的应变增大,它维持该位置的时间越长,每单位时间燃烧的卡路里越多。如此,在替换实施方式中计算出的卡路里燃烧也可以考虑时间因子,身体部位保持在该位置的时间越长,给定单位时间内燃烧的卡路里会增大。上文所描述的实施方式阐述了当身体部位移动或保持在非中立位置时测量燃烧的卡路里燃烧的方法,如图6和7所示出的。然而,当用户的腿保持在地上,并且用户蹲下 (即,弯曲他的膝盖),这带来特殊情况。具体而言,在此情况下用于测量保持在地上的腿的卡路里燃烧的质量不仅仅是用户的腿的质量。地面上的腿事实上支撑用户的整个体重,如此,在此情况下,可以将用户的整个质量考虑到用于计算卡路里燃烧的等式中。如此,在此实施方式中,系统根据上文所描述的实施方式中的任何一个来计算卡路里燃烧。然而,在此实施方式中,在蹲的过程中用于保持在地上的大腿或小腿的质量将增大到包括用户的整个质量。本系统的捕捉设备20能够确定用户何时正在蹲着以及该蹲坐是否涉及地面上的支撑用户的重量的用户的两个腿,或者用户是否只在一条腿上支撑他的重量(例如,用离地相反的重量)。在此情况下,系统可以将来自除用户的腿以外的所有身体部位的用户的质量添加到用户的腿的质量中。此质量可以在两个小腿和两个大腿之间(在用户的两只脚着地的情况下),或在一条小腿和一大腿之间(在用户只有一条腿着地的情况下)分摊。利用此分配,系统可以根据上文所描述的实施方式中的任何一个来计算由于下蹲而造成的卡路里燃烧。图11示出了本技术的再一个实施方式,其中通过确定每一个肢体基础上的用户重量和用户的BMI (体重指数)来确定卡路里燃烧。BMI是体重的统计度量,在各实施方式中,其基于用户的体重和身高。在步骤阳0中,可以进行深度扫描。在此实施方式以及上文所描述的其他实施方式中,可以提示用户穿紧身的衣服,以便对用户的体重进行最佳估计。 紧身的衣服可以允许假设在深度扫描中所检测到的是用户身体的实际尺寸和形状。在此实施方式以及其他实施方式中,还可以提示用户面向捕捉设备20,并从该位置进行四分之一、 一半和/或全转,再次以使得捕捉设备可以获得用户的体形的全视图,以对体重进行最佳估计。在步骤554中,将用户的身体分割成不同的部位,例如,肢体、头和躯干。通过从深度扫描取得玩家的轮廓,并将捕捉到的数据叠加在用户的已知骨架图上,这可以分割用户的每一个肢体,头和躯干。
14
根据步骤554,可以在步骤556中计算用户的肢体中的每一个的质量。每一个肢体可以在3-D空间中以体积像素分组或体元组进行建模。从步骤550的扫描中获取的每一个肢体的已知的表面积可以翻倍,因为大多数人是圆柱形的。此方法也可以用于上文所描述的实施方式中的任何一个中。通过对于不同的肢体使用已知密度的图形,可以确定每一个肢体的质量。这也可以用于确定用户的躯干的质量。在其中系统能够区别头与毛发的各实施方式中,这也可以用于确定用户的头的质量。也可以通过等式重量=质量χ重力,根据质量计算,来确定用户的肢体、躯干和/或头的重量。取单个肢体、躯干和/或头的重量,可以在步骤562中确定用户的BMI的近似值。 BMI根据重量和身高两者。可以在步骤550的扫描中确定用户的身高,或者,可以提示用户手动地输入他们的身高。在其他实施方式中,可以提示用户输入他们的重量,该重量也可以用于确定用户的肢体、躯干和/或头的重量。在用户BMI以及每个肢体重量已知的情况下,在步骤564中,可以在每一个肢体的基础上计算卡路里燃烧。根据上文所描述的实施方式中的任何一个,可以使用肢体的特定重量来在每一个肢体的基础上执行。也可以通过确定重量所分布的面积,考虑肢体的大小, 以提供对肢体施加的压力。根据上文所描述的实施方式中的任何一个,并使用如在当前实施方式中所确定的肢体的重量和/或肢体上的压力,步骤5M可以计算由移动的肢体燃烧的卡路里。此外,步骤550中的扫描能够确定一个或多个肢体何时处于非中立位置。通过使用与给定肢体的中立位置的已知偏离,以及该肢体的重量和/或该肢体上的压力,系统能够确定当用户处于非中立位置时的这段时间由该肢体燃烧的卡路里。如此,系统能够确定当人固定不动,但是例如抬起了腿或臂时的卡路里燃烧。在步骤568中,系统将为所有肢体确定的卡路里燃烧相加,以提供总的卡路里燃烧。在此实施方式中,执行相同移动和/或静态,非中立位置的不同的用户可能会燃烧不同的卡路里量。这是因为,系统已经计算出了此特定用户的肢体、躯干等等的重量,该特定的重量用于计算体重燃烧。对于给定肢体的重量计算可以并且很有可能在不同的用户之间有所不同。前面的对本发明的系统的详细描述只是为了说明和描述。它不是详尽的公开或将本发明的系统限于所公开的准确的形式。根据上述原理,许多修改方案和变化也是可以的。 所描述的实施方式只是为了最好地说明本发明的系统的原理以及其实际应用,从而使精通本技术的其他人在各种实施方式中最佳地利用本发明的系统,适合于特定用途的各种修改也是可以的。本发明的系统的范围由所附的权利要求进行定义。
权利要求
1.一种系统(10)中的确定所述系统的用户的卡路里燃烧的方法,所述系统(10)包括耦合到用于捕捉用户运动的捕捉设备00)的计算环境(12),所述方法包括a)通过所述捕捉设备00)捕捉(步骤500)身体部位(302a-330)的图像;b)通过所述计算环境(1 的处理器(101,259)确定(步骤50 在所述步骤a)中捕捉到的所述身体部位(302a-330)的质量;c)通过所述捕捉设备00)捕捉(步骤506)所述身体部位(302a-330)的移动;以及d)根据在所述步骤c)中所捕捉到的所述身体部位(302a-330)的移动以及在所述步骤b)中确定的所述身体部位的质量来确定(步骤508)由所述身体部位(302a-330)燃烧的卡路里。
2.如权利要求1所述的方法,其特征在于,还包括通过与所述计算环境相关联的显示器来显示如在所述步骤d)中确定的所燃烧的卡路里的步骤。
3.如权利要求1所述的方法,其特征在于,所述步骤d)包括以下步骤基于垂直移动、 水平移动,以及垂直和水平移动的组合中的至少一项来确定所燃烧的卡路里。
4.如权利要求1所述的方法,其特征在于,所述步骤d)包括基于将身体部位保持在固定的非中立位置来确定所燃烧的卡路里的步骤。
5.如权利要求1所述的方法,其特征在于,还包括以下步骤响应于在与所述计算环境相关联的显示器上显示的锻炼应用程序和游戏应用程序中的一个,执行所述身体部位的移动。
6.如权利要求1所述的方法,其特征在于,确定身体部位的质量的所述步骤b)通过以下动作执行根据所述步骤a)的扫描来将用户分割成肢体、头和躯干,确定给定肢体的3-D 体元组,并且基于所述给定肢体的所述体元组和已知密度来确定所述给定肢体的质量。
7.一种系统(10),包括捕捉设备(20),所述捕捉设备能够在用户在所述捕捉设备00)的视野内移动时捕捉所述用户的一个或多个单独的身体部位(302a-330)的图像;以及与所述捕捉设备00)相关联的计算环境(12),所述计算环境(1 包括处理器(101, 259),所述处理器(101,259)能够确定由所述捕捉设备Q0)捕捉到的所述一个或多个单独的身体部位(302a-330)的质量,根据所确定的所述一个或多个单独的身体部位 (302a-330)的质量以及所述一个或多个单独的身体部位(302a_330)的移动方向和程度, 来确定由所述一个或多个单独的身体部位燃烧的卡路里。
8.如权利要求7所述的系统,其特征在于,所述计算环境还包括用于存储由所述一个或多个单独的身体部位在一段时间内燃烧的卡路里的总和的存储。
9.如权利要求7所述的系统,其特征在于,所述计算环境基于以下各项中的至少一个来计算计算由一个或多个单独的身体部位燃烧的卡路里身体部位的向上移动、身体部位的向下移动、身体部位的水平移动以及身体部位的垂直和水平移动的组合。
10.如权利要求9所述的系统,其特征在于,所述计算环境还基于所述身体部位的移动速度来计算由一个或多个单独的身体部位燃烧的卡路里。
11.如权利要求7所述的系统,其特征在于,所述处理器确定以下情况下的身体部位的卡路里燃烧所述身体部位从中立位置移至非中立位置、所述身体部位从非中立位置移至中立位置、以及所述身体部位保持在非中立位置。
12.一种用于促进减肥的系统(10),包括捕捉设备(20),所述捕捉设备能够在用户在所述捕捉设备00)的视野内移动时捕捉所述用户的一个或多个单独的身体部位(302a-330)的图像;与所述捕捉设备00)相关联的计算环境(12),所述计算环境(1 包括确定由所述捕捉设备00)捕捉到的所述一个或多个单独的身体部位(302a-330)的质量,根据所确定的所述一个或多个单独的身体部位(302a-330)的质量以及所述一个或多个单独的身体部位 (302a-330)的移动方向和程度,来确定由所述一个或多个单独的身体部位(302a_330)燃烧的卡路里,所述计算环境(1 还运行锻炼程序;以及与所述计算环境(1 相关联的显示器042),所述显示器( 提示用户根据由所述计算环境(1 运行的所述锻炼程序来进行锻炼,所述显示器还显示如由所述计算环境 (12)确定的所述燃烧的卡路里。
13.如权利要求12所述的系统,其特征在于,所述计算环境基于所确定的所述一个或多个单独的身体部位的质量、所述一个或多个身体部位的重力、位移以及所述一个或多个身体部位的位移方向,来计算由所述一个或多个单独的身体部位燃烧的卡路里。
14.如权利要求13所述的系统,其特征在于,所述计算环境还基于存储在相对于中立位置的一个或多个单独的身体部位中的势能来计算由所述一个或多个单独的身体部位燃烧的卡路里。
15.如权利要求12所述的系统,其特征在于,在所述计算环境上运行的所述锻炼程序使所述显示器显示正在进行所述用户被假设模仿以便燃烧卡路里的锻炼的人的图像。
全文摘要
公开了用于通过HCI系统确定卡路里燃烧的系统和方法。通过使用能够检测用户的臂、腿、躯干等等的厚度的捕捉设备,该系统确定用户的每一个身体部位的质量。此后,在一个示例中,该系统根据身体部位位移的距离,位移的身体部位的质量以及重力来测量给定身体部位的卡路里燃烧。
文档编号G06F19/00GK102270276SQ20111016838
公开日2011年12月7日 申请日期2011年6月10日 优先权日2010年6月11日
发明者A·威尔逊, J·托马斯, M·史蒂文森, N·伯顿, W·布赖恩 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1