使用深度图像的用户身体角度、曲率和平均末端位置提取的制作方法
【专利说明】
【背景技术】
[0001]许多计算应用,比如计算机游戏或多媒体应用等,使用控制来允许用户操纵应用的游戏人物或其他方面。传统上,这样的控制是使用例如控制器、遥控器、键盘、鼠标等来输入。遗憾的是,这样的控制可能难以学习,因此在用户与这样的游戏和应用之间造成了阻碍。此外,这样的控制可能与该控制所用于的实际游戏动作或其他应用动作不同。例如,使游戏人物挥舞棒球棒的游戏控制可能不对应于挥舞棒球棒的实际运动。近来,摄像机已被用来允许用户操纵应用的游戏人物或其他方面,而无需传统的手持游戏控制器。更具体地,计算系统已适于识别由摄像机捕获的用户并检测用户的运动或其他行为。典型地,这样的计算系统依靠骨骼跟踪(ST)技术来检测运动或其他用户行为。然而,尽管对于检测某些类型的用户行为来说是有用的,但ST技术已被证明对于检测其他类型的用户行为来说是不可靠的。例如,ST技术典型地对于检测在用户躺或坐在地面上或地面附近的情况下的用户行为来说是不可靠的。
【发明内容】
[0002]本文公开了用于从深度图像提取用户行为的系统和方法。这样的系统和方法可以被用来代替或补充常常用于检测诸如用户运动之类的用户行为的骨骼跟踪(ST)技术。
[0003]根据实施例,使用位于离用户一定距离处的捕获设备(例如,摄像机)获得的每个深度图像指定该深度图像的多个像素与用户相对应。此外,每个深度图像针对与用户相对应的像素中的每一个像素指定了像素地点和像素深度,其中像素深度指示捕获设备与由像素表示的用户的部分之间的距离。基于深度图像,提取指示用户行为的信息,并且使用这样的信息来更新应用。
[0004]在某些实施例中,从深度图像提取指示用户身体的角度和/或曲率的信息。这可以通过对(深度图像的)与用户相对应的多个像素的部分拟合曲线并接着基于拟合曲线确定指示用户身体的角度和/或曲率的信息来完成。在某些实施例中,拟合曲线是通过对与对应于用户的像素相对于平面(例如,支持用户的地面)的上部外围部分相对应的深度图像的像素子集拟合曲线产生的。指示用户身体的角度的信息可以通过确定在拟合曲线的端点之间延伸的直线相对于平面的角度来确定。
[0005]拟合曲线可以包括多个直线分段,并且在某些实施例中恰好包括三个直线分段。在一个实施例中,通过确定拟合曲线的直线分段之一相对于在拟合曲线的端点之间延伸的直线的角度来确定指示用户身体的曲率的信息。此外或可替换地,指示用户身体的曲率的信息可以通过确定第一长度与第二长度的比率来确定,其中第一长度是在拟合曲线的端点之间延伸的直线的长度,并且第二长度是从(在拟合曲线的端点之间延伸的)直线向拟合曲线的离(在拟合曲线的端点之间延伸的)直线最远的点正交地延伸的另外直线的长度。
[0006]在某些实施例中,从深度图像提取用户的一个或多个平均末端(extremity)位置,其也可以被称作末端团块(blob)的平均位置。这可以通过识别与用户的末端相对应的深度图像的像素来完成,用户的末端比如是最左边是、最右边的、最上边的、最下边的或最前面的末端。此后,存在对与用户相对应并且在被识别为与用户的末端相对应的像素的指定距离内(例如,在指定方向上5个像素内)的深度图像的像素的识别。这样的所识别的像素可以被称作末端团块,或简称为团块。然后通过确定团块的像素的平均位置来识别平均末端位置。换言之,通过确定被识别为与用户相对应并且在与用户的末端相对应的像素的指定距离内的像素的平均位置来确定平均末端位置,其也被称作末端团块的平均位置。对于单个深度图像,可能存在对右末端团块的平均位置、左末端团块的平均位置、顶部末端团块的平均位置、底部末端团块的平均位置和/或前面末端团块的平均位置的识别。右末端团块和左末端团块的平均位置可以更一般地被称作侧团块的平均位置。在一个实施例中,将与用户相对应的像素分成象限,并且针对象限中的一个或多个来确定团块的一个或多个平均位置。
[0007]在某些实施例中,从深度图像确定的指示用户身体的角度和/或曲率的信息被用来更新应用。此外或可替换地,也可以使用所识别的末端团块的平均位置来更新应用。例如,这样的角度、曲率和/或位置信息可以用来跟踪执行某些锻炼和/或姿势的用户,从而可以控制用户的化身,可以向用户奖励点数和/或可以向用户提供反馈。对于其中应用是指导用户执行某些锻炼和/或姿势的游戏的更特定的示例,应用可以确定用户是否以正确的形态执行了锻炼或姿势,并且在用户没有以正确的形态执行锻炼或姿势的情况下可以向用户提供关于用户如何可以改善他们的形态的反馈。本
【发明内容】
被提供来以简化的形式介绍在下面的【具体实施方式】中进一步描述的构思的选择。本
【发明内容】
不意在标识所要求保护的主题的关键特征或必要特征,也不意在被用作确定所要求保护主题的范围的辅助。此外,所要求保护的主题不限于解决了在本公开的任何部分中记录的任何或所有缺点的实施方式。
【附图说明】
[0008]图1A和图1B图示了跟踪系统的示例实施例,其中用户在玩游戏。
[0009]图2A图示了可以被用作跟踪系统的一部分的捕获设备的示例实施例。
[0010]图2B图示了图2A中介绍的深度图像处理和对象报告模块的示例实施例。
[0011]图3图示了可以用于跟踪用户行为并基于用户行为更新应用的计算系统的示例实施例。
[0012]图4图示了可以用于跟踪用户行为并基于所跟踪的用户行为更新应用的计算系统的另一示例实施例。
[0013]图5图示了示范性深度图像。
[0014]图6描绘了示范性深度图像中的示范性数据。
[0015]图7图示了用于概述用于基于深度图像确定指示用户身体的角度和/或曲率的信息的方法的高级流程图。
[0016]图8A-8C示出了表示(深度图像的)与执行不同瑜伽姿势或锻炼的用户相对应的多个像素的轮廓,图8A-8C用于解释如何可以基于深度图像确定指示用户身体的角度和/或曲率的彳g息。
[0017]图9是根据一个实施例的用于提供图7中步骤之一的附加细节的高级流程图。
[0018]图10图示了用于概述如何可以基于根据参考图7-9描述的实施例确定的信息来更新应用的高级流程图。
[0019]图11A-11F示出了表示(深度图像的)与执行瑜伽姿势或其他锻炼的用户相对应的多个像素的轮廓,图11A-11F用于解释如何可以识别用户的末端以及如何可以确定平均末端位置(也称作末端团块的平均位置)。
[0020]图12图示了用于概述用于基于深度图像识别用户的平均末端位置的方法的高级流程图。
[0021]图13是根据一个实施例的用于提供图12中的步骤中的一些步骤的附加细节的高级流程图。
[0022]图14示出了表示(深度图像的)与站立位置的用户相对应的多个像素的轮廓连同基于深度图像确定的平均末端位置。
[0023]图15用于解释可以将深度图像内的用户分成象限,并且可以针对每个象限确定平均末端位置。
[0024]图16示出了表示(深度图像的)与向前弯曲的用户相对应的多个像素的轮廓,图16用于解释如何可以基于深度图像确定平均前末端位置。
[0025]图17图示了用于概述如何可以基于根据参考图11A-16描述的实施例确定的信息来更新应用的高级流程图。
【具体实施方式】
[0026]本文描述的实施例使用深度图像来提取用户行为,其中每个深度图像指定多个像素与用户相对应。在某些实施例中,从深度图像提取指示用户身体的角度和/或曲率的信息。这可以通过对(深度图像的)与用户相对应的多个像素的部分拟合曲线并基于拟合曲线确定指示用户身体的角度和/或曲率的信息来完成。然后基于指示用户身体的角度和/或曲率的信息来更新应用。在某些实施例中,从深度图像提取用户的一个或多个平均末端位置,其也可以被称作末端团块的平均位置。然后基于末端团块的平均位置来更新应用。
[0027]图1A和IB图示了跟踪系统100的示例实施例,其中用户118在玩拳击视频游戏。在示例实施例中,跟踪系统100可以用于辨识、分析和/或跟踪在跟踪系统100的范围内的诸如用户118之类的人类目标或其他对象。如图1A所示,跟踪系统100包括计算系统112和捕获设备120。如以下将进一步详细描述的,捕获设备120可以用于获得深度图像和彩色图像(也被称为RGB图像),所述深度图像和彩色图像可以被计算系统112用来识别一个或多个用户或其他对象以及跟踪运动和/或其他用户行为。所跟踪的位置、运动和/或其他用户行为可以被用来更新应用。因此,用户可以通过使用用户身体和/或用户周围对象的移动而非(或除此之外还使用)控制器、遥控器、键盘或鼠标等等来操纵应用的游戏人物或其他方面。例如,视频游戏系统可以基于对象的新位置来更新视频游戏中显示的图像的位置或基于用户的运动来更新化身。
[0028]计算系统112可以是计算机或者游戏系统或控制台等。根据一个示例实施例,计算系统112可以包括硬件组件和/或软件组件,使得计算系统112可以被用来执行应用,比如游戏应用或非游戏应用等。在一个实施例中,计算系统112可以包括处理器,比如标准化处理器、专用处理器或微处理器等,其可以执行处理器可读存储设备上存储的指令以用于执行本文描述的过程。
[0029]捕获设备120可以是例如摄像机,其可以用于视觉上监视诸如用户118之类的一个或多个用户,使得由所述一个或多个用户执行的手势和/或移动可以被捕获、分析和跟踪以便在应用内执行一个或多个控制或动作和/或使化身或屏幕上人物产生动画效果,如以下将更详细描述的。
[0030]根据一个实施例,跟踪系统100可以连接到可以向诸如用户118之类的用户提供游戏或应用视觉和/或音频的视听设备116,比如电视、监视器、高清电视(HDTV)等。例如,计算系统112可以包括可以提供与游戏应用、非游戏应用等相关联的视听信号的诸如图形卡之类的视频适配器和/或诸如声卡之类的音频适配器。视图设备116可以从计算系统112接收视听信号并且可以然后向用户118输出与视听信号相关联的游戏或应用视觉和/或音频。根据一个实施例,视听设备116可以经由例如S-Video (S-视频)线缆、同轴线缆、HDMI线缆、DVI线缆、VGA线缆、组件视频线缆等连接到计算系统112。
[0031 ] 如图1A和IB所示,跟踪系统100可以用于辨识、分析和/或跟踪诸如用户118之类的人类目标。例如,可以使用捕获设备120跟踪用户118,使得用户118的手势和/或移动可以被捕获以使化身或屏幕上人物产生动画效果,和/或可以被解释为控制,所述控制可以被用来影响正在由计算系统112执行的应用。因此,根据一个实施例,用户118可以移动他或她的身体来控制应用和/或使化身或屏幕上人物产生动画效果。
[0032]在图1A和IB描绘的示例中,在计算系统112上执行的应用可以是用户118正在玩的拳击游戏。例如,计算系统112可以使用视听设备116向用户118提供拳击对手138的视觉表示。计算系统112还可以使用视听设备116提供游戏者化身140的视觉表示,用户118可以用他或她的移动来控制游戏者化身140。例如,如图1B所示,用户118可以在物理空间中