用于处理数据的方法和装置
2020-01-07

用于处理数据的方法和装置

一种用于处理数据的计算机实现的方法和一种用于处理数据的装置。该方法包括:接收包含人形对象的身体的场景的深度图,该深度图包括像素矩阵,每个像素与该场景中的相应位置相对应并且具有相应像素值,该相应像素值表示从参考位置到该相应位置的距离;识别该场景中的没有连接到身体的背景物体,并且从该场景中去除背景物体;在去除背景物体之后,分割该深度图以便找出身体的轮廓;处理该轮廓以便识别对象的躯干和一个或多个肢体;并且通过分析该深度图中的被识别出的肢体中的至少一个肢体的布置,产生用于控制在计算机上运行的应用程序的输入。

图7A和7B是根据本发明实施例的在深度图中所找出的身体轮廓64的示意性表示,其中显示出了轮廓的纵向厚度和横向厚度超过确定阈值的区域。在图7A中,水平区域66包含这样的X值,在这些X值处,沿着相应的线的二进制像素值的和超过了X阈值。对于这些X值来说,轮廓在纵向上相对厚。相似地,在图7B中,垂直区域68包含这样的Y值,在这些Y值处,沿着相应的线的二进制像素值的和超过了Y阈值。X阈值和Y阈值可以是不同的,且可以通过对沿着各自的线所得到的二进制值之和的直方图进行分析来适当地确定。

图7A是根据本发明实施例的在深度图中找出的身体轮廓的示意性表示,示出了轮廓的纵向厚度超过阈值的区域;

40.根据概念39所述的产品,其中,所述指令使计算机通过迭代地侵蚀围绕着所述肢体中的至少一个肢体的轮廓来找出所述一个或多个各自的中间轴。

通过分析所述深度图中被识别出的肢体中的至少一个的布置,产生输入来控制计算机上运行的应用程序。

25.根据概念15-21中任一个所述的装置,其中,所述处理器用来分析所述轮廓以便找出所述一个或多个肢体的一个或多个各自的中间轴。

可选择地,处理器24可以动态地确定深度值,超过该深度值的话,物体就从深度图中去除。为此,假设场景中的物体正在移动。因此,在某最小数目个帧中深度没有变化的任何像素都被假设是背景物体。深度值大于该静态深度值的像素被认为是属于背景物体的,因此都被置零。开始,场景中的所有像素可以都被定义为静态,或者场景中的所有像素可以都被定义为非静态的。在这两种情形中,一旦对象开始运动,就可以动态生成实际的深度过滤器。

在公开的实施例中,分析布置包括通过从肢体中的至少一个肢体中迭代地去除像素来找出一个或多个肢体的一个或多个各自的中间轴。通常,中间轴是弯曲的,且分析布置包括通过找出与中间轴拟合的直线段来导出一个或多个肢体的棍图表示。

5.根据概念4所述的方法,其中,投射所述无关联的斑点图案包括使用相干光源形成初级斑点图案。

处理器可以使用棍图的运动作为计算机应用程序的控制输入。例如,可以使用棍图的姿势来与出现在计算机屏幕上或虚拟现实显示中的用户控制进行交互。作为另一个例子,在游戏或其它互动应用中,棍图的运动可以反映在角色的3D化身(avatar)或虚拟3D身体的运动中。

处理器24通过从所选端点(手掌或肩膀)朝着交集圆C延伸起始线段来确定肘部的位置。距离该延伸的线段与穿过圆C的平面之间的交点最近的圆C上的点被识别为肘部。处理器从肘部延伸第二条线到中间轴的另一个端点。如果中间轴上有足够多的点落入以这种方式所找出的线段116和118的预定范围内,则处理器断定对手臂做出了准确的建模。否则,处理器断定所建模的部分不是对象的手臂。

图1示意性图示出根据本发明实施例的用于绘制深度图并建模的系统20。系统20包括成像设备22,该设备捕获包含人形对象28的场景的图像。图像处理器24处理由设备22产生的图像数据,以便生成对象28的深度图并基于该深度图生成该对象的模型26,如后文详细说明的。该模型通常包括与对象四肢中的一个或多个的布置有关的3D信息。下面所描述的方法能够使处理器24以实时帧速率(至少25帧/秒)从单个深度图中找到对象四肢的布置,而不依赖于前面的帧。另外,处理器也可以在对象随时间改变其位置时提供运动信息。

25.根据概念15-21中任一个所述的装置,其中,所述处理器用来分析所述轮廓以便找出所述一个或多个肢体的一个或多个各自的中间轴。