三维对象建模拟合与跟踪的制作方法

文档序号:6532477阅读:176来源:国知局
三维对象建模拟合与跟踪的制作方法
【专利摘要】本发明描述一种在三维点云中的对象的骨架表示的无标志的三维建模、拟合和跟踪的方法和系统。具体地说,它涉及相对于时间跟踪人类用户骨架表示。该方法包括:输入从景深图中得到的三维点云(210);预定一组表征用户骨架的对照点;确定起始骨架姿态;通过采样具有预定静态尺寸(220)的3D点云获得被投影到栅格上的用户3D点云的正交表示;确定靠近用户主体的中心轴的一组曲率中心点;确定躯干平面;以及精细化和/或定义身体的主要方向。该方法包括步骤:对用户3D点云上的一组对照点和例如曲率中心点的关联数据执行迭代的局部和全局拟合;使用拓朴和几何约束(230)以随时间跟踪骨架姿态。使骨架姿态(240)稳定;对不明确量求解(250);并提供适当的输出(260),这些是本发明优选实施例的一些最后步骤。
【专利说明】三维对象建模拟合与跟踪
【技术领域】
[0001]本发明涉及三维对象建模,更具体地关系到对象的建模、拟合和跟踪的方法,并尤其(尽管不是排它地)涉及确定、拟合和跟踪由三维成像系统捕捉的一时间序列的景深图中的用户的骨架表示。
【背景技术】
[0002]三维(3D)成像系统,例如立体视觉相机、飞行时间(TOF)相机以及结构光相机,提供了一时间序列的景深图,这些景深图是为场景的每个成像点提供至少Χ、y、z坐标的2D图像。X和Y坐标可指示像素在相机传感器矩阵阵列中的水平和垂直位置,而Z坐标可指示场景中的成像点与成像设备的距离。替代地,每个被成像的场景点可包括与其在3D空间中的位置对应的X、Y、Z坐标,该坐标可相对于具有原点(例如基准点)的3D坐标系予以表达。可将相机位置选为基准点以规定相机坐标系。然而,场景的成像点也可在其它3D坐标系中表达,在这些坐标系中基准点不被设置在相机位置,而是被确定为在所成像的真实世界场景中的一个点位置以使场景的每个成像点的X、Y、Z坐标表征所谓世界坐标系中的真实位置。包括某些约束条件的真实世界坐标系和相机坐标系之间的转换能简单地通过施加例如使用校正矩阵的数学转换而实现,从而执行特定3D坐标的几何投影。
[0003]在使用诸如W0-A-2011/080282中描述的特定2D或3D分析方法的场景下,不管使用什么坐标系,可处理所产生的景深图以检测、定位、跟踪、分割和分析对象,所述对象包括带关节的人体或动物体(即用户)。 该方法的一个结果可尤其有助于将一组3D点定义为在虚拟世界中表示的一个点、在真实场景下的每个本体或对象。
[0004]对随时间表征用户的对象或至少身体的这种3D点云进行处理允许模型或对象或身体的其它类型表征被绘制、拟合和跟踪。例如,人体或对象的骨架表示可被绘制、拟合和跟踪以针对对象或用户在真实世界中的移动监视或控制虚拟环境中的对象或身体的相应虚拟表示。这被命名为运动捕捉。
[0005]在现有技术图像处理技术中,跟踪场景中的骨架的常见方法需要使用与骨架被跟踪的用户关联的标志,跟踪这些标志而不是跟踪用户他/她本身。在一些情况下,这些标志附着于套装或用户穿戴的另一物品。
[0006]更近来地,范围成像设备输出数据——即景深图——开始被用于标志较少的骨架跟踪。使用这些成像设备,跟踪依赖于二维或三维运动检测和某些估计技术,混以使用图案匹配技术的身体部分识别。另外,姿态识别和估计也主要使用与模型的匹配技术。
[0007]在US2010/0034457中,披露了用于从景深图对人形建模的计算机实现的方法。更具体地,该方法包括接收含人形目标的身体的场景的景深图。该景深图包括像素矩阵,每个像素对应于场景中的相应位置并具有指示从基准位置至相应位置的距离的相应像素值。该景深图被分割以寻找身体轮廓,接下来对该身体轮廓进行处理以标识所考虑目标的躯干以及一个或多个四肢。通过分析景深图中至少一个标识的四肢的配置,产生输入信号以控制在计算机上运行的应用程序。[0008]在US-A-2011/0052006中,描述了用于从景深图中提取骨架的方法。该方法包括接收场景的一时间序列的景深图,该场景包括具有头部的人形。该景深图包括具有相应像素景深值的像素矩阵。数字处理器处理景深图的至少一个以寻找头部的位置并基于其位置估计人形的维度,该人形以校正的姿态或造型站立。处理器使用估计的维度、人体部分标识和运动估计方法跟踪序列上人形的运动。
[0009]在US-A-2010/0194872中,捕捉场景的景深信息的系统和方法被用来处理人类输入。场景的景深图像通过成像设备被捕捉。图像捕捉依赖于相机相对于场景的取向。然后分析景深图像以确定景深图像是否包括人类对象和非人类对象两者。例如,景深图像可包括一个或多个对象,该一个或多个对象包括人类对象和一些非人类对象。根据一个实施例,每个对象是泛色(FLOOD-FILLED)的并与图案比较以确定该对象是否为人类对象。如果景深图像中的一个或多个对象包括人类对象,则扫描人类对象,并基于从中识别人体部分的人类对象的二元掩模的扫描来产生人类对象的骨架模型。
[0010]在US-A-2011/0249865中,披露了一种跟踪三维(3D)环境中的目标的无标志运动的基于图像处理的方法,其中包括含景深信息的输入图像。该方法利用二维(2D)较低和较高身体部分检测单元,这些检测单元使用运动检测原理。这些检测单元关联于若干3D身体部分检测单元,这些3D身体部分检测单元使用较低和较高的身体部分模型在空间中定位3D身体部分中的每一个的各个候选项。模型渲染单元被用来根据一些预测的身体姿态来渲染完整的模型。
[0011]在US2011/0292036中,披露了一种使用具有应用接口的景深传感器的方法。该方法包括对含人形目标的身体的场景的景深图执行数据处理。在与前述US2010/0034457中使用的相同的一个方法中,景深图包括像素矩阵,每个像素对应于场景中的一个相应位置并具有指示从基准平面至相应位置的距离的相应像素景深值。景深图然后在数字处理器中被处理以提取人形目标的身体的至少一部分的骨架,该骨架包括具有相应坐标的多个关节并包括至少两个肩关节,这些关节用于定义身体的冠状平面,该冠状平面相对于基准平面转过至少10°。应用程序接口(API)指示至少关节的坐标。
[0012]在US2011/0211754中,披露了通过组合的色彩图像和景深处理跟踪身体部分的方法。该方法依赖于图像处理技术并包括接收含人类目标的场景的景深图像以及接收含人类目标的场景的色彩图像。在这些图像的至少一个中识别目标的身体的一部分。评价景深图像和色彩图像两者的质量,并响应于该质量选择其中一个图像以使其成为图像中在身体部分的处理中占主导的图像。所识别的部分位于主导图像内,同时使用来自另一图像的支持数据。
[0013]尽管一些已有方法披露了根据一些特定实施例的骨架绘制,然而未被正确应对的一种重要考量是何时使用表征场景的每个成像点的景深图或相应3D点云以提供一健全和有效的方法时,该方法具有独立于本地景深图分辨率的处理时间,以及何时原景深图对健全和有效配合的骨架的完全处理是在低端硬件平台上实时执行的。
[0014]另外,没有披露能够同时应付区段堵塞和适应关节极限、速度约束和冲突约束的任何目标拟合和跟踪方法。此外,在对用户或对被跟踪的目标形态不可知的同时,没有任何已有方法能够从姿态错误中恢复。此外,没有任何已有的方法使用对对象部分的中心轴的估计来改善其骨架表示的拟合和跟踪,或对拟合过程的多标准迭代能量最小化。
【发明内容】

[0015]因此本发明的一个目的是提供一种不需要让标志附连至该对象的情况下创建、拟合和跟踪一对象的骨架表示的方法。
[0016]本发明的另一目的是使用与要被拟合和跟踪的对象对应的3D点云在正投影空间内的投影来优化其骨架表示的拟合和跟踪。
[0017]本发明的另一目的是提供一种使用景深图确定、拟合和跟踪对象的骨架表示的方法,该方法使用对象部分的中心轴的估计作为种子信息来执行拟合。
[0018]本发明的又一目的是提供一种使用景深图确定、拟合和跟踪对象的骨架表示的健全和有效的方法,该方法能够在形态不可知的同时处理区段的堵塞、关节限制、速度约束、冲突约束以及错误恢复。
[0019]本发明的又一目的是迭代地在局部和全局层面使用多个标准能量最小化方法提供对象的骨架表示的有效拟合和跟踪。
[0020]根据本发明的第一方面,这里提供一种拟合和跟踪在由三维点云表征的三维场景中的对象的骨架表示的方法,该骨架表示包括多个对照点的排列,该方法包括下列步骤:
[0021]A)使用场景的三维点云以确定与场景中要被拟合和跟踪的对象关联的输入信息;
[0022]B)将场景中要被拟合和跟踪的对象确定的三维点云转换成正交表示;
[0023]C)确定曲率中心点以估计要被拟合和跟踪的对象的至少一部分的中心轴位置;
[0024]D)确定表征三维场景中要被拟合和跟踪的对象的多个对照点的位置;以及
[0025]E)拟合和跟踪三维场景中的多个对照点,以使对象的骨架表示相对于时间的位置精细化。
[0026]本文中使用的术语“对象”指无生命对象或有生命对象,它可以人类、动物或机器人。
[0027]本文中使用的术语“骨架表示”指表征一对象的一组对照点,并且该对象的空间排列定义要被拟合和跟踪的对象的姿态。
[0028]本发明的方法具有的优势是,它利用三维场景中要被拟合和跟踪的对象(例如人类使用者)的特定骨架表示而不具有附于对象的标志,并且它能随时间跟踪场景中的骨架表不。
[0029]容易理解,术语“跟踪”指对象相对于捕捉三维场景的三维成像设备(例如相机)的相对运动。这意味着,如果在一段时间至少一次地检测到对象,如果成像设备是相对这些对象移动的或甚至没有运动,也可跟踪场景中的静止对象。
[0030]本发明中考虑的骨架表示使用一组对照点。在由成像设备捕捉的每个帧中要被处理的对照点的数目可以根据要被拟合和跟踪的对象以及根据执行方法的系统的处理能力或根据要被表征的身体区段的准确性被具体地预定义。例如,对于人类用户,考虑将13个对照点作为人类骨架表示的适宜范例。如果认为要被拟合和跟踪的对象随时间变化将一直是相同类型的,例如如果一直使用该系统来拟合和跟踪人类的骨架表示,可由此预先确定对照点的数目。然而,识别方法也可用来自动地标识场景中检测到的对象,并随后将包括对照点及其排列的数目的设置的最佳骨架表示相应地设置成要被认为对拟合和跟踪感兴趣的所标识的一个表示。例如,可能需要系统随时间地拟合和跟踪单个场景内人类和机器人的骨架表示。系统检测、识别对应于人类的对象并将对应于人类的对象与对应于机器人的对象区别开,并针对每个单个对象、校正骨架表示相应地进行设置。
[0031]优选地,还要理解,步骤C)、D)和E)中的每一个包括使用正交表示。
[0032]在一个实施例中,三维点云可从三维场景的景深图中衍生出。在另一实施例中,输入信息可另外包括针对三维点云中的每个点而确定的标准图。在又一实施例中,输入信息可包括景深图和标准图的组合。在又一实施例中,输入信息可包括与要被拟合和跟踪的已知对象对应的确定的骨架表示。
[0033]此外,步骤A)也可包括从三维点云确定至少一个感兴趣对象。这可进一步包括确定要被拟合和跟踪的对象的主要方向。在另一实施例中,这可另外包括自动地识别要被拟合和跟踪的对象并且如果在该场景中必须对若干种对象进行拟合和跟踪则由此确定对象的骨架表示。
[0034]在一优选实施例中,步骤A)可包括:当之前没有任何对象已被拟合和跟踪时,确定对照点的位置在空间上的最初排列,这些对照点定义了要被拟合和跟踪的对象的骨架姿态表不O
[0035]优选地,步骤B)包括将要被拟合和跟踪的对象的三维点云投影到栅格中,该栅格包括多个栅格面元,每个栅格面元具有预定的尺寸,该投影在空间以预定的静态尺寸来采样对象的三维点云。
[0036]附加地,步骤B)包括对于与之关联的栅格中的三维点云中的每个点关联的信息累加和加权。在一个实施例中,方法还包括:在栅格面元空置的情形下,用来自相邻的布居的栅格面元的内插信息来填充它。
[0037]优选地,步骤C)包括确定对象部分曲率中心点,其位置是通过使用由正交表示的栅格面元优选提供的法向数据。
[0038]步骤C)还包括将每个曲率中心点关联于密切球面以对要被拟合和跟踪的对象的每个部分的中心轴的体积求近似。
[0039]优选地,步骤C)包括将每个曲率中心点及其相关的密切球面与一标签关联,该标签指示与它们关联的要被拟合和跟踪的对象的每个部分的表面的凸度。表面的凸度可被归类为下面中的一个:平表面、凹表面和凸表面。具体地说,平表面可对应于人类用户的躯干,而凸表面可对应于人类用户的一部分四肢。凹表面可以不被认为一直有关的,尤其是当考虑有效的人类骨架拟合和跟踪时。
[0040]优选地,步骤D)包括:如果对象之前被拟合和跟踪过,则使用前一帧中设定的骨架表示来确定对照点的位置,或者如果没有任何对象之前被拟合和跟踪过,则使用步骤A)中确定的最初骨架表示。
[0041]较为有利地,步骤D)进一步包括下列步骤:
[0042]Dl)在每对毗邻的对照点之间拟合至少一个区段。
[0043]另外,步骤D)可进一步包括下列步骤:
[0044]D2)识别对象中的平面。
[0045]此外,步骤D2)可进一步包括下列步骤:
[0046]D3)使用凸度标签标识要被拟合和跟踪的对象的三维点云中的一个平面。[0047]此外,步骤D)可进一步包括下列步骤:
[0048]D4)标识对象的主要方向;
[0049]D5)标识对象的至少一部分的位置;以及
[0050]D6)使对象的每个部分的位置以及相对于彼此的主要方向精细化。
[0051]在对象是有生命对象(例如人类)的一个优选实施例中,步骤D2)可包括将平面标识为躯干并且步骤D5)可包括标识与头部对应的身体部分。
[0052]在一个实施例中,步骤E)包括利用所标识的对照点的属性来拟合要被跟踪的骨架表示的位置。所利用的属性可包括下面至少一个:相对于时间的位置、速度、加速度和概
率因素。
[0053]另外,步骤E)可包括利用局部和全局能量最小化策略的组合以相对于时间迭代地拟合对象的骨架表示的姿态。这些能量最小化策略可包括下面中的至少一个标准:至物体的距离、至前一骨架的距离以及至轮廓的距离。优选地,能量最小化策略使用至物体的距离、至前一骨架的距离以及至轮廓的距离中的全部。
[0054]步骤E)可进一步包括根据相对于时间确定的概率因素评估多个可能的对照点位置,以优化拟合和跟踪的结果。根据一优选实施例,步骤E)包括根据至少一个预定的标准迭代地执行局部能量最小化和全局能量最小化两者。
[0055]另外,能量最小化策略可使用梯度下降式算法来实现。
[0056]此外,一旦骨架被跟踪,可优选地在又一步骤中稳定每个对照点位置,以避免骨架移动的不稳定、不自然的表示。
[0057]在又一步骤中,可使用补全技术以产生对尚未被成功跟踪的骨架对照点的适当位置。例如,可使用这些技术来补偿因不明确知道的对象姿态造成的跟踪误差,和/或在能量最小化之后用骨架的丢失部分来填充三维点云以补偿对捕捉三维场景的成像设备不可见的骨架部分。
【专利附图】

【附图说明】
[0058]为了更好地理解本发明,现在将仅以示例的方式参考附图,在附图中:
[0059]图1示出根据本发明用于跟踪的人体的骨架表示;
[0060]图2示出根据本发明的全局人体骨架跟踪过程的流程图;
[0061]图3示出被施加至景深图以运行诸如从水平和垂直梯度得到标准图的图像处理的3X3核;
[0062]图4示出相对于图3的栅格阵列的两个相邻栅格要素的分别沿Z轴和X轴的景深Λ ZX和Λ ZY梯度的景深图的俯视图;
[0063]图5示出作为正交表示中的用户点云投影的一部分的面元填充原理;
[0064]图6示出用来表征用户的身体部分的中心轴的体积的密切球面的二维图,密切球面的中心对应于从标准图近似求得的曲率中心点;
[0065]图7Α不出根据本发明的正交用户栅格(ORUS);
[0066]图7Β示出根据本发明的曲率中心点及其相关的密切球面的位置;
[0067]图7C示出图7Α的正交用户栅格和图7Β的曲率中心点及其相关的密切球面的组合;[0068]图7D示出图7A的正交用户栅格,其中作为根据本发明的拟合过程的结果,密切球面轮廓被骨架取代;
[0069]图7E示出与用户对应的3D点云,其中曲率中心点通过一组密切球面连同根据本发明的拟合骨架模型来表征;
[0070]图8A示出使用质量位置的用户3D点云中心作为原点的以用户为中心的径向距离计算原理;
[0071]图8B示出从如图8A所示测得的径向距离确定的曲线图;以及
[0072]图9示出根据本发明在骨架表示拟合和跟踪过程中使用的迭代局部和全局能量最小化的原理。
【具体实施方式】
[0073]将针对特定实施例并参考特定附图来描述本发明,但是本发明不限于此。所描述的附图只是示意性的和非限制性的。在附图中,出于说明的目的,一些元件的尺寸可放大且不按比例地绘制。
[0074]要理解,术语“垂直的”和“水平的”在本文中指附图的具体取向,并且这些术语不对本文描述的具体实施例构成限制。
[0075]还要理解,尽管参照人体的骨架对骨架拟合和跟踪方法进行了描述,但本发明不仅限于此并可用于任何其它类型的对象,不管是有生命的还是没有生命的和/或有关节的还是没有关节的。
[0076]图1示出用于对虚拟环境中的人进行拟合和跟踪的骨架表示100。骨架表示100包括在一组对照点或关节之间的一组带关节的刚体,这一组对照点或关节具有某些约束以及预定数量的自由度。更具体地,骨架表示100可包括十三个对照点110、112、114、116、118、120、122、124、126、128、130、132、134,这些对照点界定了如图所示的小块140以及九个区段 150、152、154、156、158、160、162、164、166。小块 140 和区段 150、152、154、156、158、160、162、164、166可被视为骨架表示100中的十个固体部分或刚体。
[0077]这些固体部分和刚体可包括例如冲突约束,该冲突约束确保它们的表示不被允许根据不自然的姿态或造型而彼此相交。对照点110、112、114、116、118、120、124、126、128、130、132、134可仅包括三个自由度,这些自由度例如关联于它们在虚拟环境中的3D定位的
自由度。
[0078]要注意,在要拟合和跟踪人类骨架的一个特定实施例中,将人类骨架表示限制在仅13个对照点,其中每个对照点具有三个自由度(即它们各自的三维位置),使执行比当使用更多数目的具有三个或更多个自由度的对照点时更有效率的拟合和跟踪处理变得可能,同时维持人类骨架的动作的逼真表示。对照点的数目越高和/或自由度的数目越高,则将这些对照点的最逼真姿态拟合到表征用户的3D点云所需的复杂度越高,伴随的是最佳拟合的姿态解的数学收敛的较慢速率。然而,尽管13个对照点的使用对应于人类骨架表示的优选实施例,但可根据要被跟踪的带关节对象来选择其它适当数量的对照点和/或自由度,例如根据关节数量和要被渲染的区段数目或根据平台性能。例如,在另一实施例中,人类骨架表示可包括17个对照点,由此提供四肢末端的更好渲染,即与手或脚对应的每个之前的对照点由两个对照点替换,这两个对照点分别地对应于脚的脚踝和脚末端以及手的手月:?和手的末。
[0079]在使用13个对照点的人体骨架拟合和跟踪的特定实施例中,每个对照点110、112、114、116、118、120、122、124、126、128、130、132、134、每个区段 150、152、154、156、158、160、162、164、166和小块140被映射到在通过如前所述的适当3D成像设备确定的3D点云
中与用户对应的点。
[0080]对照点110、112、114、116、118、120、122、124、126、128、130、132、134 有效地对应于骨架部分或关节:点Iio对应于头部;点112、114对应于手或手腕;点116、118对应于手肘;点120、122对应于肩部;点124、126对应于脚或脚踝;点128、130对应于膝盖,而点132、134对应于臀部。
[0081]小块140包括连接在一起以界定躯干的四个对照点120、122、132、134,也就是肩部 120,122 和盆骨 132U340
[0082]区段150、152、154、156、158、160、162、164、166对应于多对对照点之间的组合,这些对照点彼此相连,除了区段150,该区段150由于将头与躯干(小块140)链接而接近颈部。区段152、154近似地 对应于手或手腕和手肘之间的下段臂(点112和116以及点114、118);区段156、158近似地对应于手肘和肩部之间的上段臂(点116和120以及点118和122);区段160、162近似对应于脚或脚踝和膝盖之间的下段脚(点124和128以及点126和130);并且区段164、166近似地对应于膝盖和臀部之间的上段脚(点128和132以及点130、134)。
[0083]现在参见图2,其示出一流程图,该流程图示出提供在3D场景中随时间自由移动的用户的骨架表示的过程中的步骤。骨架拟合和跟踪是使用由3D成像系统提供的3D点云来执行的,并且计算骨架表示以使其匹配用户随时间的真实运动。第一步骤,即步骤210,是初始化步骤,其中提供输入数据并使输入数据精细化,例如将用户成像在场景中的景深图、用户掩模以及对应的用户3D点云、可能的用户头部位置以及可能的用户主要方向位置。具体地,步骤210包括根据要被拟合和跟踪的对象确定骨架表示的对照点数目和这些对照点在空间内的排列。如果要被拟合和跟踪的对象是已知的并且从不随时间改变类型,则该确定可以是人工预定的,例如当跟踪落在场景中的人并在表示他们的三维点云上拟合他们的骨架表示时。当将感兴趣对象检测、识别和标识为多个已知对象之中感兴趣的一个时,该确定也可在运行时间自动地定义。例如,现有技术的识别方法,包括但不限于2D和3D匹配技术,可被用来标识场景中不同的有生命或无生命对象。从该标识中,根据被认为是感兴趣的那些对象来确定用于拟合和跟踪的各种骨架表示。
[0084]步骤210也包括所确定的骨架表示的基础最初姿态的非系统确定,从而开始拟合和跟踪过程。术语“非系统”意指骨架表示的这种原始或基础的最初姿态确定仅当检测到对象时和没有之前的骨架表示可用时才被执行。例如,如果人类用户被跟踪,则对头部的检测和定位可有助于提供人类用户的最初主要方向。主要方向可被认为是经过用户的3D表示的头部和质心的方向。
[0085]人类用户的主要方向的确定可使用将感兴趣的对象分割成例如W0-A-2008/128568中描述的一组簇来达成,在W0-A-2008/128568中,使用3D成像系统捕捉表征多个点的3D图像数据,其每个点具有在三维空间内的至少一组坐标。这些点被分组以形成一组簇,并根据预定参数,例如根据位置、尺寸和形状从这组簇中选择感兴趣的对象。与感兴趣对象有关的簇根据又一组参数(例如3D空间中的位置和/或轮廓)被分组成一组子簇。每个子簇具有在3D空间内的质心,并通过将一体积关联于这些子簇的每个质心,可获得感兴趣的对象的表示。可以从这种表示和子簇的位置估计主要方向,并可估计要被跟踪的对象(在这种情形下是人类用户)的骨架表示的最初姿态。例如,该最初姿态可考虑身体的末端的位置,即连接于另外一个簇并对应于头、手和脚的簇,由于确定的主要方向,这些簇的位置是明确的。
[0086]初始化步骤210以及另一预设置步骤220是在实际拟合和跟踪步骤230之前执行的。具体地说,预设置步骤220旨在产生优化过程中下面的拟合和跟踪步骤所需的具体特征,即其旨在执行对嵌入到景深图中的3D点数据的正投影以提供具体和强制的输入,从而实现在步骤230中对用户的骨架表示随时间的更好的拟合和跟踪。
[0087]返回到流程图,下一步骤230对应于骨架表示的拟合和跟踪步骤。随后执行下一步骤,即稳定步骤240,以禁止骨架表示中的不稳定和不连续的移动。然后执行进一步的补全步骤250以使对照点重新指向一组某些可能的不明确姿态的具体位置,这些可能的不明确姿态可能对跟踪形成干扰,最后执行使输出精细化的步骤260以产生顺应一预定组的规范的经处理的数据输出,例如将与骨架表示有关的数据转换成适于具体应用的量度系统。如前面提到的,每个成像的场景点可包括与其在3D空间中的位置对应的X、Y、Z坐标,该坐标可相对于具有原点(即基准点)的3D坐标系予以表达。可将相机位置选为基准点以规定相机坐标系。转换数据的一个例子可以在相机坐标系和真实世界或笛卡尔坐标系之间。
[0088]回到初始化步骤210,输入数据可包括景深图、用户掩模和/或用户3D点云、从景深图提取的标准图、用户3D点云的主要方向、从另一独立方法提取的头部位置、一组感兴趣点,例如由诸如W0-A-2008/128568中描述的成簇方法定义的质心(在本文中也被称为“关键点”)以及3D点云的质心。
[0089]如前所述,景深图除其它信息外尤其提供距离数据。该距离数据一般被嵌入到3D点云中的诸3D点的每个点的Z坐标,该3D点云表征由景深感测(或3D成像)相机设备捕捉的场景。距离数据对应于场景中的每个成像点和场景中的另一基准位置之间的距离测量,该另一基准位置例如可以是相机设备位置或场景中预定义的另一基准位置。然后确定用户掩模或相应的用户3D点云以准确地定义哪些像素属于用户或属于其骨架要被拟合和跟踪的带关节对象。这种确定可使用诸如W0-A-2011/080282中详细描述的一个专门方法来实现。在W0-A-2011/080282中,描述了一种跟踪对象的方法,其中3D点云中的像素被分组到多个具有质心的区域,并且这些区域被分组成互连区域的多个簇。从它们的互连的空间-时间属性,对簇进行评估以确定它们是否属于同一对象以及该对象是否部分地在2D投影中被另一簇遮蔽。
[0090]初始化步骤210进一步包括确定一标准图或使该标准图精细化,该标准图能够直接从输入传感器获得(如果支持它的话)或若非如此可从景深图计算出。在后一情形下,可通过相对于下面参照图3和图4描述的固定尺寸核利用景深图中的水平梯度和垂直梯度从景深图提取确定的标准图。用于确定标准图的其它方法是已知的,这些方法例如包括定义属于局部拟合的平面或属于一组像素或属于卷积掩模的每个中心像素的法线。
[0091]具体地说,对于图3所示的一个实施例,包括九个栅格要素或像素310、320、330、340、350、360、370、380、390(即核)的3X3栅格阵列300可作为卷积掩模作用于景深图以执行沿X轴和Y轴中的相应一个对Λ ZX和Λ ZY景深梯度的每个像素的确定。随后从这些梯度对一些其它操作中的每个像素的局部表面取向和相应法线求近似。
[0092]图4示出3D场景的自顶向下视图400,该3D场景具有带表面430的对象、被成像到景深图中的对象。将图3的卷积掩模300作用至该景深图允许确定每个像素的景深梯度。例如,如果仅考虑单个维度上的X轴,则对象点410通过像素350被成像在核中,并且景深图中的成像点420通过像素360被成像在核中。然后可确定表征点410处的ΛΧ的点410、420之间的景深梯度ΛΖΧ。可对Y轴和核点320来执行相同操作以确定点410处的ΛΖΥ。然后将点410处的ΛΖΧ、ΛΖΥ用作输入以近似求得每个像素的局部平面取向,并从中提取法线。
[0093]初始化步骤210还包括确定或使3D点云的质心的位置精细化。可通过本领域内技术人员显而易见的许多种方式来确定质心。
[0094]初始化步骤210还包括确定或使用户的主要方向精细化,该主要方向可例如使用3D点云的主要组成分析(PCA)来获得。
[0095]初始化步骤210还包括通过使用本领域内技术人员已知的适当方法来确定或使头部的位置精细化。
[0096]除使输入数据精细化和确定输入数据外,初始化步骤210也旨在根据用户的3D点云设定骨架表示的逼真最初位置,从而当之前尚未执行的骨架表示时在拟合和跟踪步骤之后提供一正确的起点。初始化不需要使被跟踪的用户/对象以具体姿态站立,但需要用户/对象部分之间不明确的相对位置,例如但非限定地,没有双臂交叉、没有双脚交叉、所有的四肢体可见(具有尽可能少的遮蔽)。用户/对象的姿态越简单,姿态初始化将更快地收敛至正确的骨架表示姿态。姿态初始化步骤包括下列子步骤:
[0097]I)预备输入
[0098]2)确定最佳的头部候选
[0099]3)对躯干进行外推;以及
[0100]4)确定最初骨架姿态
[0101]关联于预备输入,可例如使用通过成簇算法产生的质心采集与均匀地散布在用户3D点云周围的一组感兴趣点(即关键点)关联的统计以确定信息,例如位置、像素数、一阶和二阶运动数据、质心的连通性、区域的邻接性、相邻质心、相邻质心之间的距离等。也可确定每个关键点和其邻居对的每种组合之间的角度;这些关键点和/或质心被归类到如下文描述的三个目录中的一个,以用于姿态识别过程;以及例如通过与质心定位组合地使用头部定位技术、使用线拟合技术或使用PCA或类似的平面/形状拟合算法或使用被归类为属于躯干的关键点来确定用户身体的主要方向。
[0102]这三个目录被定义为下面的其中一个:“末端”,即可能的头部、手或脚;“四肢”,即可能的手肘或膝盖、足或臂以及“躯干”。“末端”目录包括具有非常尖锐的角的关键点和/或质心和/或仅一个邻居和/或没有邻居。“四肢”目录包括非末端的关键点以及位于两个相邻物之间的质心。“躯干”目录包括不被归类为末端或四肢的关键点和/或质心。
[0103]头部候选是使用适当的头部检测算法来确定的。头部候选的确定需要满足下列条件:候选必须是“末端”;候选必须是对于真实世界坐标的最高点之一(假设存在标度);候选必须连接至被归类到“躯干”目录中的某些点;以及候选必须松弛地对准于用户的主要身体方向。
[0104]对于每个可能的头部候选,确定经外推的用户躯干,其包括骨盆位置、左右肩和左右臀。躯干外推是通过假设用户处于站立状态、从最高头部候选点得到用户高度并根据用户高度定义躯干比例和标度来获得的。这些最初比例仅由初始化步骤使用并稍后通过骨架拟合优化环来修正,在骨架拟合优化环中可逐步地使用户的真实尺寸精细化。
[0105]使用之前归类的每个关键点或质心,骨架表示最初姿态被认为是最好地拟合所归类的关键点和/或质心的对照点的具体排列。由此必须根据所识别的关键点和/或质心的相应位置来拟合和/或匹配骨架表示,即对照点。
[0106]确定最初姿态检测的方法旨在使姿态评价的次数减至最小并同时完全利用之前计算的信息。在一个实施例中,姿态检测可以是外推-外推策略或完全回溯外推。
[0107]为了确定一姿态,每个关键点和/或质心关联于一身体部分:头部、躯干、左臂和右臂以及左脚和右脚。这些关联是使用在前述姿态估计步骤210中作出的最初关键点归类而产生的(预备输入),但不限于此。当执行关联时,如果它满足一些规范的人类关节和形态约束且仅在这种情况下,保留具体臂或脚的配置的评估。通过在处理过程中尽可能快地执行这些评估步骤,这急剧地减少了探索的搜索空间。将被保持的完全姿态是提供关键点和/或质心与各身体部分的最大满足关联的那一个。
[0108]例如,在一个实施例中,自顶向下的回溯外推可开始于任何所识别的头部候选以及相应的躯干关键点候选。然后通过使用各种策略或各种策略的组合探索其它的关键点来确定可能兼容的完整身体姿态,主要是四肢。
[0109](I)在第一策略中,被归类为“末端”的每个关键点可作为可能的脚和/或手被探索。包括关于关键点链接的区域邻接图(RAG)则可被用来搜索与手和脚对应的潜在候选以及它们联系至的最近躯干关键点候选之间的手肘和膝盖。
[0110](ii)在另一策略中,属于“四肢”目录的关键点也可被探索作为可能的手肘或膝盖,可附加地使用RAG以搜索或帮助从可能的手肘和膝盖候选中确认可能的手和脚候选。
[0111]在又一实施例中,可有条件地执行不同的具体探索策略,以单独方式或与其它策略结合。例如,当用户最可能直臂贴身地站立时,可使用一个具体策略搜索最佳关键点候选排列。
[0112]在又一实施例中,可通过使用相对于关键点位置施加至对照点排列的具体约束使用额外的约束来排除错误姿态的候选。例如,可考虑关节限制和其它松弛四肢长度约束以接受或拒绝姿态候选。
[0113]回到图2,预设步骤(步骤220)包括在拟合和跟踪步骤230之前在具有预定量的像素或面元的栅格中产生景深图的正投影。这些面元中的每一个采集与3D点关联的信息,这些3D点对应于要被拟合和跟踪的对象。该信息可以是深度测量、IR照明值、法线矢量和/或这些测量、值和/或矢量等的统计模式。
[0114]将信息采集到面元中是通过将与对象的3D点对应的数据存储在面元中而执行的。每个面元可从对象的若干3D点采集信息,这是根据这些点在空间中与诸如成像传感器或相机的成像设备的距离而进行的。这是由于3D点云由分辨率为静态的2D成像传感器采样,这导致在3D空间中在相比接近成像传感器或相机的距离更远离成像传感器或相机的距离下以不同精确度进行采样。例如,在离成像传感器或相机5米处,获得的点可对应于真实世界中的7CM表面,而在离成像传感器或相机I米处,获得的点可对应于真实世界中的
1.5CM表面。顺便说下,确定将数据投影到例如5CM的面元的固定维度的采样步骤也将根据与这些面元关联的经投影3D点与成像传感器或相机的距离导致不同量的数据被采集在这些面元中。
[0115]这意味着,例如在与成像传感器5米距离处的一个点在正投影中可被投影到栅格的一个面元内,并且在I米距离的至少三个点在正投影中可被投影到栅格的一个面元内。这也意味着,这些点离成像传感器越近,正交栅格更准确,因为更多的点将进入栅格的每个面元。
[0116]由于栅格内的正投影,被处理的图像是固定尺寸的,不管对象与相机的距离如何。这意味着可通过确定与对象离相机的距离无关的方便确定的栅格尺寸来获得恒定的处理时间。在大多数情形下,对优化处理性能存在权衡,也就是处理时间和处理质量。
[0117]在本发明的优选实施例中,正投影不是在整个景深图上执行的,而是优选地在景深图通过使用用户掩模图像、居中在用户质心上的再正投影栅格界定的有限区域上执行的。这个过程的结果可被称为正交用户或0RUS。当执行再投影时,最初3D点云的若干像素可指向正交栅格中的相同的一个单元元素(即面元),而ORUS中的一些其它单元元素或面元可以是空的。
[0118]由ORUS提供的数据包括一图像,对于该图像,每个像素或单元或面元包含:与关联于ORUS单元的最初3D点云点对应的法线估计;最小Z坐标值,即可投影入ORUS栅格的单个面元中的景深图像素的最小景深值的统计模式;以及被投影在栅格像素中的3D点云点的X、Y和Z坐标的平均值。
[0119]在图5中,示出了 ORUS再投影方法原理的一个例子。相机500捕捉包括要被跟踪的对象510的场景。在这种情形下,对象510是由如图所示的曲线表示的。对象510由景深感测捕捉过程采样,并且每个经采样的点511对应于从对象510至相机500的传感器矩阵阵列的投影512。要理解,存在若干经采样的点,其数目由景深感测系统的分辨率定义,但在图5中为简便起见仅标示出一个。投影512是由所使用的成像设备或相机的类型确定的,不仅包括景深感测系统的分辨率还包括其视野。ORUS过程如投影513所示将对象510的曲线的每个采样点投影到固定步长的投影栅格520中,该投影栅格520包括多个面元530、532、534、536、538、540、542、544、546、548、550。图 5 中仅示出一行栅格 520,因为它对应于垂直平面内的剖面表示。栅格520的每个面元530、532、534、536、538、540、542、544、546、548,550从观察的对象510累积采样点,并包含指示曲线的景深值的至少一个值。每个面元530、532、534、536、538、540、542、544、546、548、550也可包参照图3和图4如前所述相应法线的值。作为示例,面元530、532、534、536、538、540、544、546、548、550包含景深值,但面元542是空的并因此对应于一孔或由对象510的再投影所产生的遮蔽。同样地,面元548、544包括通过相机系统从来自场景的两个经采样点提取的数据。
[0120]在一个优选实施例中,可使用内插技术使ORUS栅格的空面元重新布居,这些内插技术使用一个统计模式,例如相邻面元中的每个采样点的数据的平均值。在这种情形下,可使用与面元540、544中的值对应的内插值来重新布居面元542。内插的数据值包括至少深度值和标准值。在另一实施例中,可执行景深图的三角测量,并且这些三角可被投影到ORUS栅格中并通过任何三角光栅化方法来填充,例如使用扫描线渲染、可见表面确定的算法,它在3D计算机图形中以逐行基础工作而不是逐多边形或逐像素基础。
[0121]使用ORUS投影,与用户对应的3D点云可被处理以确定或使如图8A和图8B所示的用户身体的主要方向精细化。在图8A中,示出具有轮廓810的用户体形800。用户体形800具有质心820。来自质心820的射线830被延长至如轮廓810表示的用户体形800的边界。为简明起见,在图8A中仅标示出一条射线830。每条射线与相邻的射线相距一适宜角A,角A可以是任何适宜的角,例如2°、5°或10°,这依赖于从质心820至轮廓810拟被确定的距离测量数。然后在如图8B所示的图中绘出距离测量。
[0122]在图8B中,示出曲线840,该曲线与从基准点(例如用户820的质心)至轮廓810相对于角度的射线长度的距离测量的曲线图对应。曲线840具有数个峰850、860、870、880,在这种情形下,这些峰850、860、870、880对应于用户伸展的臂、他/她的两脚和他/她的头部中的相应一个。
[0123]参照图8B,头部被确定为峰880,即与例如由用户身体的主要方向确定的0°位置的最近峰。双脚被确定为峰860、870,这些峰860、870位于180°位置的任一侧,即基本相反地在头部位置两侧。伸展的臂被确定为0°和90°之间的峰850。与头部位置对应的峰也可被确定为在与肩部对应的两个峰(未示出)之间。
[0124]在这种情形下,另一臂无法从射线830的长度中确定,因为它实际上由用户体形800的躯干部分遮蔽。然而,要理解如果用户站立在不同位置,例如双臂伸展,则另一臂的位置可被确定为270° 3和0°之间的峰(未示出)。
[0125]在一优选实施例中,执行基于图表模式的统计分析以对检测到的全部模式确定或使用户的3D点云中的头部位置精细化。另外,标识模式分布的一些明确配置有益于从关联于头部位置或整体姿态的跟踪误差中恢复。例如,要考虑可能的头部模式相对于可能的肩部模式的对称性。类似地,考虑四肢模式规范。在另一例子中,具有类似高度幅度并沿自顶向下方向小于30°相邻的两个独立模式对应于用户的双脚,而其它模式可能更好地对应于头部和双臂,头部模式优选地是位于表征臂的两个模式之间的那一个。在一特定实施例中,由另一过程提供的头部位置可在与附连至通过模式统计分析定义的用户3D点云的一个感兴趣点或质心对应的更适当位置被重置或精细化。
[0126]来自用户头部位置的这种确定或精细化,可将主要方向确定或精细化为以直线形式从头部中心经过质心820并向下到达根据图8A的双脚之间的位置的那个方向。
[0127]回到图2,在步骤220,在下一步骤中使用ORUS数据来确定曲率中心点。具体地说,通过使用法线矢量——即ORUS的法向数据——质心曲率中心点位置估计,以确定法线在局部层面的交点,从而估计作为与对象诸部分的截面的中心点对应的点的曲率中心点。在ORUS栅格中累积与曲率中心点的位置关联的数据,并随后将具有这些曲率中心点的累积密度最大值的位置设定为定义对象部分的中心轴的最佳近似值的那些位置(即在拟合和跟踪人类的情形下的四肢的骨头)。具体地说,每个最大密度位置具有中心和半径,它们一起定义密切球面的参数。另外,每个密切球面被归类,例如被归类为相对于从中提取的曲线C的点收敛的正、负或零曲率点。在一优选实施例中,使用如此定义的密切球面及其参数来对用户身体骨头的中心轴、用户身体骨头体积、躯干平面求近似,并丰富和/或使身体的主要方向精细化。
[0128]在图6中,以二维形式示出密切球面的一个例子。在点P与曲线C具有触点的球610被定义为密切球面,其中心位于与点P处的曲线正交的平面内。在这种情形下,对于由曲线C定义的表面,可画出密切球面610以使其中心620位于由箭头630指示的在点P正交于表面C的法线上,密切球面610的中心620对应于投影在ORUS栅格中的曲线C的法线的交点处的密度的最大值。密切球面的中心620提供可能的身体骨头的中心轴或中线的位置的指示。通过将附于身体的全部密切球面的中心连在一起,人们能获得或使骨架标示的配置的估计精细化。
[0129]如前所述,要注意密切球面及其关联的曲率中心点根据与之关联的表面的收敛可以是三种类型,即具有与在当前实施例中丢弃的凹表面对应的正半径的类型、具有指示可能至少部分地是躯干的平坦表面的接近零的小半径值的类型以及具有例如用户四肢的与管状结构对应的负半径的类型(这是在当前实施例中特别考虑的)。如果密切球面的半径一开始是通过曲率中心点和P点之间的距离确定的,则应理解它也可以是预定义的。
[0130]从步骤220确定的数据来看,可使用拓朴和几何约束来执行根据具体跟踪技术的迭代的局部和全局拟合(步骤230)。局部拟合旨在当重定位骨架表示的每个对照点时从其当前位置相对于在3D点云中确定的预期位置,例如将头部对照点拟合到从3D点云或优选地从ORUS栅格分析确定的头部的位置上。“在前位置”表示骨架表示的多个对照点的位置及其在其中一个之前帧的空间排列,如果对象的骨架表示是之前拟合和跟踪的,则优选地使用前一帧。如果对象的骨架表示不是之前拟合和跟踪的,则在前位置是使用要被拟合和跟踪的对象的骨架表示的最初姿态确定的。要理解,在被用作当前骨架姿态表示的输入的在前帧的骨架表示也可通过使用运动估计技术来丰富,例如使用一阶、二阶或三阶动力矩参数(即在前帧下对照点的位置、速度和加速度)中的至少一个的那些运动估计技术。全局拟合旨在全局地相对彼此和相对于确定的全局姿态重定位骨架表示的所有对照点。
[0131]拓朴约束的考虑包括将具有确定的相互关系的多组连接点考虑在内,例如表征一组4个连接点的用户躯干的图1所示小块140。另外,上臂和下臂、上脚和下脚被认为是多组两个连接点。具体地说,当相对于躯干地考虑用户头部位置时,与颈部对应的一组连接点被认为是将头部联系于两肩之间的区段中心的三对照点的三角体系。
[0132]几何约束的考虑包括:两连接的对照点之间的最小和/或最大距离,例如上肢和下肢的长度以及颈部的长度是受约束的。也可考虑两个非连接的对照点之间的约束,例如头部和臀部之间的距离。具体地说,使用几何约束以有效地限制可供拓朴约束使用的姿态估计解空间,并如下面更详细描述地那样简化拟合,例如当考虑头部和肩部时可强加正交约束。
[0133]在一优选实施例中,当该过程采集可靠的测量值时,骨架表示的诸对照点的几何约束之间的距离随时间被加强。加强可例如通过高斯混合或通过时间平均法来执行。当骨架表示的姿态不包含含糊性时,例如当场景中用户以允许其全部末端的完美检测和标识的方式站立(其中没有任何肢交叉或身体没有任何部分遮蔽的情形)时,可检测到可靠的测量。
[0134]除了拓朴和几何约束,速度和冲突约束也被考虑以获得必须实际永不重叠或融合在一起的骨架表示对照点、相关区段和/或小块的正确位置的更好估计。具体地说,速度约束关联于对照点的运动速度。它们必须被包括在允许速度的预定范围内。可对于骨架表示的每个对照点定义允许速度。对于预定范围的较低速度被认为是没有运动的指示。比那些允许速度更高的速度也被认为是没有运动的指示。超出预定义范围的任何速度因此被认为是没有运动,其结果是被考虑的对照点将保持与其在先前帧的同一位置。
[0135]冲突约束涉及重叠、融合并在某种程度上涉及一个对照点、区段和/或小块彼此之间的距离,由此它们之间的任何重叠是不允许的。通过术语“不允许的”,要理解拟合过程例如将区段位置冻结在最近认可的位置,或在另一位置调节它,以使姿态相对于全部关联的约束满足能量最小化原则。由于全局跟踪步骤实际上依赖于拟合精确度,它也依赖于随时间的拓朴和几何约束。在开始时或当没有执行之前的跟踪时提出至少一次的骨架表示的最初姿态估计,即步骤210,提供一步骤,该步骤有助于提高跟踪过程的效率,因为它传达了骨架表示的对照点的明确排列。
[0136]回到跟踪步骤本身,它基于一种使能量最小化的方法,所述能量最小化可以是不同标准的组合,例如:
[0137].至物体的距离,即从骨架至密切球面中心的距离;
[0138].从当前骨架姿态至前一骨架姿态的距离;
[0139].至如由成像设备观察到的用户表面的距离,即根据深
[0140]度骨架表示必须在用户掩模后面并包括在用户的轮廓之内
[0141]的这一事实(这被命名成“至轮廓的距离”)。
[0142]能量最小化的优化是在两个层面执行的,即局部层面和全局层面。该过程基本上旨在对骨架表示的每个对照点寻找局部层面位置,在那里骨架表示作为其一部分的全局能量相对于前面描述的约束和标准得以最小化,也就是说,拟合在涉及其它对照点中的一些的位置的某些可能改变的新位置处的对照点的位置,这些对照点关联于约束。例如,如果与手肘对应的对照点的位置由于这两个对照点之间的距离受前臂区段尺寸约束,则与手对应的对照点的位置变化可改变很少。例如使用被称为梯度下降的算法或使用类似于Levenbeeg-Maequaedt的算法迭代地执行优化。一旦满足迭代优化中的收敛标准,这意味着例如局部优化接近于局部最小化,则附加的引导的配置修正则被使用以脱离确定的局部最小化,由此可尝试寻找另一配置,在这种配置中能量低于之前在局部优化步骤中确定的能量。引导的配置修正则旨在在局部优化过程之上执行全局优化。可执行局部和全局优化的若干环,不管它们是否连续,由此对适当骨架姿态解的收敛满足下列组合中的至少一个:达到最小全局能量;达到最小局部能量;达到能量最小化过程中的预定次数的迭代;和/或达到针对收敛分配的预定时间。
[0143]引导的配置修正的一个优选实施例使用一专门的工艺技术,该技术检测例如系统状态的一些已知模式,即有限数目的已知用户姿态,并施加预定义的关联响应,即预定义的骨架姿态或预定义的骨架对照点排列,其旨在获得整体系统的能量更好最小化。
[0144]在一个更优选实施例中,为了改善全局拟合和跟踪性能,每个专门的过程通过概率因数被加权,例如下面的至少一个:它们的出现比率、它们的成功比率以及它们的最小化能量比率。最小化效率比对应于之前执行的最小化过程中它们相应的速度表现。具有较高权重的专门过程将被优先选择,并在具有较低权重因数的任何其它专门过程之前。
[0145]在图9中,骨架表示的全局能量即与骨架表示和相关本体(即区段和小块)的对照点相对于确定的曲率中心、相对于其先前位置和相对于用户掩模的距离对应的全局能量是通过虚线910表示的。要理解,直线910的形状仅为示例目的绘出,并且它可从一个姿态至另一姿态和从一个骨架表示至另一骨架表示显著地变化。对于每个帧,当进入能量最小化过程(图2的步骤230)时,骨架的全局能量如点921指示地那样被确定。如箭头920指示的那样,局部迭代能量最小化过程是通过连续地解析骨架表示的相关可能的对照点配置(如点922、923所示)直到对由点923指示的骨架表示所发现的最小能量为止而实现的。要理解,迭代的次数可从一个用户姿态至另一用户姿态地变化,并可设置允许的迭代次数的阈值以避免无限循环或限制收敛时间过程。
[0146]一旦发现由点923指示的局部最小值,引导的配置修正过程如箭头950指示的那样离开点923确定的局部最小值,由此它可寻找骨架表示的另一对照点,其相对配置的能量低于曾经局部地发现的能量(点923)。在图9中,引导的配置修正过程(箭头950)帮助执行全局优化,其结果是由点951表征的骨架表示的配置,这种配置具有比在点923更低的能量。尽管图9中仅示出一个全局最小值搜索,然而要理解,该全局能量最小化可以与包括使用参数相对于允许的处理时间优化收敛准确性的局部优化相同的方式迭代。
[0147]一旦找到最佳全局最小值,在点951,可如箭头980所示地执行另一局部最小值优化过程,由此使用如点982、983表示的迭代寻找骨架表示的相关局部配置,直到找到最小局部能量为止。
[0148]在迭代地执行局部和全局能量最小化优化之后,可找到骨架表示的优化配置,如点983所示那样。这种骨架表示的配置然后被认为是与优化拟合对应的配置,即最好地表征实际用户姿态的骨架表示的最佳对照点排列。
[0149]下一步骤包括将强健的稳定过滤施加至骨架表示的对照点位置,即步骤240。优选地,考虑全部这些对照点,但要理解如果尚无运动存在则可能无需考虑这些点中的一些。W0-A-2011/080281中描述了执行逐帧的稳定化的方法,在该方法中,由相机或其它传感器捕捉的物理变量的一系列测量值被处理以提供稳定的图像。该处理包括将第一和第二测量值之间的差与预定阈值比较,并如果该差低于该预定阈值,则用校正的第二测量值来取代第二测量值,在该校正的第二测量值中使用第一过滤值来减少该差。与第二和第三测量值类似,如果该差也低于预定阈值,则用经校正的第三测量值来取代第三测量值,该经校正的第三测量值使用比第一过滤值更低的第二过滤值而被减小。对于所考虑的全部骨架对照点重复这个步骤,由此使骨架移动表示变得平滑。
[0150]在下一步骤,即步骤250,当没有信息可供至少一些特定对照点使用时,即当三维点云上存在遮蔽骨架表示的相应对照点的遮蔽时,执行补全过程以提供对骨架表示的这些对照点的位置的估计。一个具体的例子是当用户的手相对于景深感测系统(即相机的成像传感器)的光轴与肩部对准时,使得至少手肘被遮蔽并使得与用户对应的3D点云不具有与手肘对应的点。在该具体例子中,补全可包括基于先前步骤230、240估计手肘位置,其中跟踪和稳定化结果通过例如正被考虑的骨架表示的对照点的最近已知位置被丰富。在本发明的一个优选实施例中,丢失信息的补全使用下面至少一个:基于卡尔曼的位置外推、基于逆运动学的位置精细化、关节限制和重力模拟。
[0151]具体得说,当使用基于卡尔曼的位置外推时,对其没有信息可供优化能量最小化过程使用的骨架表示的对照点具有根据其先前位置、速度和加速度设定的位置。当单独或结合基于卡尔曼的补全使用基于运动学的位置精细化时,骨架表示的对照点位置被重置,例如相对于它们至其相邻对照点的距离。当单独或结合其它补全过程之一地使用关节限制位置精细化时,骨架表示的对照点位置例如针对它们中的每一个和它们每个相邻物之间允许的角极限被精细化,这种精细化是根据所考虑的用户(或对象)的生理属性进行的。当单独或结合其它之前的补全过程之一地使用基于重力模拟的位置精细化时,骨架表示中所考虑的对照点位置例如针对重力被精细化,即根据流逝的时间和被分配给所考虑的对照点的预定权重的估计将每个位置调整至比之前估计的位置更低。具体地说,每个对照点的权重预定可关系于用户的尺寸和维度执行,该尺寸和维度已随时间地被精细化。
[0152]最终步骤,即步骤260,旨在提供包括下面其中之一的输出:如前面结合图1描述的与在相机视野内的用户骨架表示对应的一组对照点;以及提供用户的骨架表示的一组3D原始要素,例如区段、三角形、小块。这组对照点或3D原始要素可包括3D坐标数据、3D取向数据、运动关联的数据(在不同高度上)、关节(如前面结合图1描述的对照点)或3D原始要素的标识以及关节(如前面描述的对照点)或3D原始要素的状态。
[0153]尽管参照图2描述的方法涉及人类用户以及该用户的骨架表示的形成,然而要理解该方法也可用来确定表征成像传感器或相机的视野内的任何其它对象的骨架表示并用来拟合和跟踪该对象的骨架表示。
[0154]另外,如果相机或其它成像设备相对于被捕捉的场景移动,则可跟踪固定对象。具体地说,可根据一坐标系而提供任何3D信息,该坐标系的基准点或原点可以是:相机位置以及场景中的另一个点;静止的基准点,例如地板上的一个点;或移动的基准点,例如跟踪的对象上的一个点。
[0155]本发明的方法具有下列优势:
[0156](I)固定步长栅格被用于正投影。该栅格有效地使处理时间与图像分辨率解耦,即处理时间基本与图像分辨率无关。
[0157](2)当对该方法进行优化时,可在质量和性能之间作出衡量。这例如是通过选择ORUS栅格的尺寸和在每个时间间隔运行的专门过程的数目来完成的。
[0158](3)区段中每块骨头的中心轴的近似值是使用一组曲率中心点确定的,这组曲率中心点是通过空间中来自点云的各个局部法线矢量相交的位置的估计来定义的。
[0159](4)骨架表示的拟合和跟踪能量度量被定义并包括要被满足的条件。
[0160](5)使用原点跟踪策略,该策略包括与专门过程相关的局部和全局能量最小化,用于确定与骨架表示的姿态能量的局部最小值对应的姿态估计,并因此允许最小全局姿态能量的确定。
[0161](6)在骨架表示的每个确定的对照点位置的顶上施加稳定化,从而使其相对于时间的移动动作变得平滑。
[0162](7)在结束时使用补全以求解不明确知道的姿态。
[0163]图7A示出一正交用户栅格(ORUS)。尽管用户看上去具有奇怪的外形,但这是由于用来捕捉与用户对应的3D点云的相机或成像设备的分辨率所致。
[0164]图7B示出曲率中心点及其关联的密切球面的位置。如图所示,密切球面实际给出了看上去像骨架的东西,同时不是如同骨架的这种高级信息的代替。
[0165]图7C示出图7A的正交用户栅格和图7B的曲率中心点及其相关的密切球面的组合。如图所示,密切球面轮廓以与骨架模型相同的方式拟合在ORUS栅格内。
[0166]图7D示出图7A的正交用户栅格,其中由于作为拟合过程的结果密切球面轮廓由骨架取代。如图所示,对照点是可见的,但与如图1所示的躯干对应的小块140未被示出。
[0167]图7E示出与用户对应的3D点云,其中确定密切球面中心位置的曲率中心点被轮廓化以表征用户的骨头连同骨架模型的管状结构近似。这里,用户姿态类似于图7B所示的姿态。要注意,由于骨架根据本发明如前所述地在密切球面上拟合,因此密切球面轮廓和骨架模型非常相似。
【权利要求】
1.一种在由三维点云表示的三维场景中拟合和跟踪一对象的骨架表示(100)的方法,所述骨架表示(100)包括多个对照点(110、112、114、116、118、120、122、124、126、128、130、132,134)的排列,所述方法包括下列步骤: A)使用场景的三维点云以确定与场景中要被拟合和跟踪的对象关联的输入信息; B)将要被拟合和跟踪的对象的确定的三维点云转换成正交表示(220); C)确定曲率中心点(620)以估计要被拟合和跟踪的对象的至少一部分的中心轴位置; D)确定多个对照点(110、112、114、116、118、120、122、124、126、128、130、132、134)的位置,这些对照点表征在三维场景中要被拟合和跟踪的对象;以及 E)拟合和跟踪在三维场景中的多个对照点(110、112、114、116、118、120、122、124、126、128、130、132、134)以相对于时间使所述对象的骨架表示(100)的位置精细化。
2.如权利要求1所述的方法,其特征在于,所述输入信息包括针对三维输入点云中的每个点所确定的法线。
3.如权利要求1或2所述的方法,其特征在于,步骤A)包括确定与至少一个感兴趣的对象相对应的三维点云。
4.如权利要求3所述的方法,其特征在于,步骤A)包括确定要被拟合和跟踪的对象的主要方向。
5.如权利要求 3或4所述的方法,其特征在于,步骤A)包括:当之前没有任何对象已被拟合和跟踪时,确定对照点的位置在空间内的最初排列,这些对照点定义了要被拟合和跟踪的对象的骨架姿态的表示。
6.如前面任何一项权利要求所述的方法,其特征在于,步骤B)包括将要被拟合和跟踪的对象的三维点云投影到栅格(520)中,所述栅格包括多个栅格面元(530、532、534、536、538、540、542、544、546、548、550),每个栅格面元具有预定的尺寸,所述投影在空间中以预定的静态尺寸来采样所述对象的三维点云。
7.如权利要求6所述的方法,其特征在于,步骤B)包括对与其关联的栅格面元(530、532、534、536、538、540、542、544、546、548、550)中的三维点云中的每个点相关的信息进行累积和加权。
8.如权利要求7所述的方法,其特征在于,还包括步骤:在栅格面元(542)为空的情况下,用来自相邻的布居的栅格面元(540、544)的内插信息来填充所述栅格面元(542)。
9.如权利要求6-8中任何一项所述的方法,其特征在于,步骤C)包括从由栅格面元(530、532、534、536、538、540、542、544、546、548、550)提供的法向数据中确定曲率中心点(620)。
10.如权利要求9所述的方法,其特征在于,步骤C)还包括将每个曲率中心点(620)关联于密切球面(610)以对要被拟合和跟踪的对象的每个部分的中心轴的体积求近似。
11.如权利要求10所述的方法,其特征在于,步骤C)还包括将每个曲率中心点(620)及其相关的密切球面(610)与一标签关联,所述标签指示与它们关联的要被拟合和跟踪的对象的每个部分的表面的凸度。
12.如前面任何一项权利要求所述的方法,其特征在于,步骤D)包括下列步骤: Dl)拟合在对照点(110、112、114、116、118、120、122、124、126、128、130、132、134)的每一对之间的至少一个区段(152、154、156、158、160、162、164、166)。
13.如前面任何一项权利要求所述的方法,其特征在于,步骤D)包括下列步骤: D2)标识所述对象的三维点云中的平面(140)。
14.如权利要求13所述的方法,其特征在于,步骤D2)还包括以下步骤: D3)使用凸度标签来标识要被拟合和跟踪的对象的三维点云中的平面(140)。
15.如权利要求13或14所述的方法,其特征在于,步骤D)还包括以下步骤: D4)标识所述对象的主要方向; D5)标识所述对象的至少一部分的位置;以及 D6)使所述对象的每个部分的位置以及相对于彼此的主要方向精细化。
16.如前面任何一项权利要求所述的方法,其特征在于,步骤(E)包括利用所标识的对照点(110、112、114、116、118、120、122、124、126、128、130、132、134)的性质来拟合要被跟踪的对象的骨架表示的位置。
17.如权利要求16所述的方法,其特征在于,所利用的性质包括下列至少一个:相对于时间的位置、速度、加速度和概率因数。
18.如前面任何一项权利要求所述的方法,其特征在于,步骤E)包括利用局部和全局能量最小化策略的组合来拟合所述对象的骨架表示相对于时间的姿态。
19.如权利要求18所述的方法,其特征在于,所述能量最小化策略包括下列至少一个:至物体的距离、至前一骨架的距离以及至轮廓的距离。
20.如权利要求19所述的方法,其特征在于,能量最小化策略使用至物体的距离、至前一骨架的距离以及至轮廓的距离中的全部。
21.如权利要求18-20中任何一项所述的方法,其特征在于,步骤E)进一步包括根据相对于时间而确定的概率因数来评估对照点(110、112、114、116、118、120、122、124、126、128、130、132、134)的多个可能的位置以优化拟合和跟踪的结果。
22.如权利要求21所述的方法,其特征在于,步骤E)包括根据至少一个预定的标准迭代地执行局部能量最小化和全局能量最小化这两者。
23.如权利要求18-22中任何一项所述的方法,其特征在于,所述能量最小化策略是使用梯度下降式算法执行的。
【文档编号】G06T7/20GK103733227SQ201380001412
【公开日】2014年4月16日 申请日期:2013年5月16日 优先权日:2012年6月14日
【发明者】L·盖格思, A·瑞努依特, J·罗伊 申请人:索弗特凯耐提克软件公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1