3d对象跟踪的制作方法

文档序号:9756981阅读:432来源:国知局
3d对象跟踪的制作方法
【专利说明】
[0001 ]相关申请 本申请要求题目为"3D OBJECT TRACKING"的在2013年10月11日提交的US申请14/052, 118的优先权。
技术领域
[0002] 本发明的实施例一般地涉及数据处理的技术领域,并更特别地涉及跟踪三维(3D) 空间中的对象。
【背景技术】
[0003] 本文中提供的背景描述是出于一般地呈现本公开的上下文的目的。到其在该背景 部分中被描述的程度的目前指定的发明人的工作以及在提交的时候可能不另外有资格作 为现有技术的描述的方面既不明确也不暗示地承认为针对本公开的现有技术。除非在本文 中另外指示,在该部分中描述的方法不是本公开中的权利要求的现有技术并且不通过包括 在该部分中而被承认是现有技术。
[0004] 自然的人计算机交互激发对象跟踪,并具体是手跟踪研究。跟踪用户的手和手指 的完全姿态是有挑战性的问题,并且可能具有用于用户机器交互的过多应用。现有的技术 可能需要可穿戴的硬件、添加对用户姿态的限制或需要重大的计算资源。
【附图说明】
[0005] 将通过以下详细描述连同附图来容易地理解实施例。为了促进该描述,相同的参 考数字指定相同的结构元素。在附图中的图中,通过示例的方式并且不通过限制的方式示 出实施例。
[0006] 图1描绘了根据各种实施例的、用于从3D图像确定3D模型的姿态的示例系统。
[0007]图2是根据各种实施例的、使3D对象的3D模型适合于深度数据的示例。
[0008] 图3描绘了根据各种实施例的、对象的3D模型的姿态的约束的各种示例。
[0009] 图4描绘了根据各种实施例的、表面约束可以如何影响3D对象的3D模型。
[0010] 图5示意性地描绘了根据各种实施例的、在其上可以实现公开的方法和计算机可 读介质的示例计算设备。
[0011] 图6描绘了根据各种实施例的、用于标识对象的姿态的示例过程。
【具体实施方式】
[0012] 本文中的实施例可以描述一种通过使用增加的刚性体模拟来跟踪诸如用户的手 或某些其他铰接式模型的3D对象的方法。在表示3D对象的3D模型上强制(enforce )的运动 约束可能被称为具有良好定义的解的线性补充问题。即,一个或多个线性方程可以表示3D 模型的可允许的运动。3D模型的骨头的姿态或具体朝向可以基于一个或多个线性方程的 解。基于3D对象的深度传感器的样本,系统可以生成表面约束,所述表面约束连同诸如在前 运动、碰撞/接触约束和关节力学之类的一个或多个其他因素或约束可以约束解。在某些实 施例中,可以基于不同的启发和假设来生成具有不同的姿态的附加的或替代的3D模型,并 且然后可以基于一个或多个误差度量选择来自不同的3D模型的3D模型。
[0013] 在以下详细描述中,参考形成本文的一部分的附图,其中相同的数字始终指定相 同的部分,并且其中经由图示示出了可以实行的实施例。应理解,可以利用其他实施例并且 可以做出结构的或逻辑的改变而不脱离本公开的范围。因此,不在限制性的意义上理解以 下详细描述,并且实施例的范围由所附权利要求书和其等同物限定。
[0014] 可以以在理解要求保护的主题中最有帮助的方式将各种操作依次描述为多个分 立的动作或操作。然而,描述的顺序不应该被解释为暗示这些操作必然是顺序依赖的。特别 地,可以不以呈现的顺序执行这些操作。可以以与描述的实施例不同的顺序来执行描述的 操作。在附加的实施例中可以执行各种附加的操作和/或可以省略描述的操作。
[0015]出于本公开的目的,短语"A和/或B"意味着(A)、(B)或(A和B)。出于本公开的目的, 短语 "A、B和/或 C"意味着(A)、(B)、(C)、(A 和 B)、(A 和C)、(B和C)或(A、B和C)。
[0016] 本说明书可以使用短语"在一个实施例中"或"在实施例中",其每个可以指相同或 不同的实施例中的一个或多个。更进一步地,如关于本公开的实施例使用的术语"包括"、 "包含"、"具有"等是同义的。
[0017] 图1描绘了可以根据本文中的各种实施例使用的用于确定3D图像中的对象的姿态 的示例系统100。具体地,3D照相机105可以被配置成捕获诸如用户的手之类的3D对象110的 图像。在实施例中,3D照相机105可以是立体照相机、结构光照相机(structured light camera)、飞行时间照相机、投影纹理立体照相机或某些其他类型的3D照相机105JD对象 110可以被定位在例如离3D照相机约30厘米与一米之间。
[0018] 3D照相机105可以与3D模型逻辑136耦合。3D模型逻辑136可以具有映射器/分样器 (subsampler)模块138,所述映射器/分样器模块138被配置成创建3D对象110的点云映射, 如下文更详细描述的那样。3D模型逻辑136可以附加包括求解器(solver)模块140,所述求 解器模块140被配置成找到表示3D对象110的3D模型的一个或多个线性方程的解,如下文更 详细描述的那样。附加地,3D模型逻辑136可以包括误差分析模块142,所述误差分析模块 142被配置成确定与由求解器模块140生成的解相关的误差度量。在某些实施例中,求解器 模块140可能能够生成或访问可能约束由求解器模块140生成的解中的一个或多个的一个 或多个表面约束115、一个或多个碰撞/接触约束120和/或一个或多个角约束125。
[0019] 在某些实施例中,3D模型逻辑136中的某些或全部可以是3D照相机105的元件。在 某些实施例中,3D模型逻辑136中的某些或全部可以是与3D照相机105耦合的计算系统的元 件。3D模型逻辑136可以被实现为硬件、软件和/或固件。在某些实施例中,(一个或多个)表 面约束115、(一个或多个)碰撞/接触约束120和/或(一个或多个)角约束125中的某些或全 部可以是3D模型逻辑136的逻辑元素,或可以被存储在3D照相机105或与3D照相机105和/或 3D模型逻辑136耦合的单独的计算系统和/或服务器上或者由3D照相机105或与3D照相机 105和/或3D模型逻辑136耦合的单独的计算系统和/或服务器生成。
[0020] 图2描绘了根据各种实施例的、例如使用图1的系统100使3D对象200的3D模型215 的姿态适合于3D对象200的深度数据的示例。在实施例中,3D对象200可以与上文描述的3D 模型110类似。最初,诸如手的3D对象200可以处于具体姿态。在图2中,手被示出具有伸展的 食指和拇指。尽管手在本文中被用作示例,但在其他实施例中3D对象200可以是某些其他对 象。3D对象200可以是可移动的,例如3D对象200可以被配置成被铰接、操纵、平移或旋转。在 实施例中,3D对象200可以执行诸如抓握或挥动运动之类的运动,或3D对象200可以执行或 遭受某些其他类型的运动。
[0021 ]可以例如由诸如上文描述的3D照相机10 5之类的3D照相机来拍摄对象的3D图像 205 JD图像205可以被映射以生成3D对象200的一个或多个点云映射210。在实施例中,3D对 象200的点云映射210可以由上文描述的映射器/分样器模块138执行。在某些实施例中,3D 照相机可以被配置成在没有捕获3D图像205的中间步骤的情况下生成点云映射210。
[0022]在某些情况下,可以例如通过上文描述的映射器/分样器模块138对点云映射210 分样(subsample),并且可以生成进一步分样的点云映射(未示出)。例如,点云样本可能初 始是不均匀的。即,点云映射210的某些部分可能具有非常大数量的点,而点云映射110的其 他部分可能仅具有低数量的点。
[0023]然而,点云映射可以被分样到3D体积元素(体素)网格上。具体地,点云映射210可 以被分割成在网格类映射中的多个3D元素(体素)。针对每个体素,可以在体素内的点的质 心处生成点云映射中的单个点。因此,体素分样可以利用跨3D对象的表面的均匀空间采样 产生经分样的点云映射。随着体素大小增加,用来表示给定体积的体素的数量可以减少,并 且数据集合可以变得稀疏,这可能导致跟踪(例如,可以以较高的帧速率执行跟踪)的总速 度的增加。附加地,通过对点云映射分样,可以丢弃在点云映射中的错误的点。
[0024]最后,可以至少部分地基于点云映射210来构造3D对象200的3D模型215JD模型 215的姿态可以至少部分地基于由一个或多个表面约束约束的一个或多个线性方程的解, 如下文更详细描述的那样。在实施例中,解可以由上文描述的求解器模块140确定。
[0025] 3D模型215可以是预构造的模型,或者可以响应于从3D获得的数据来构造3D模型 215。在实施例中,3D模型215可以包括多个段。在实施例中,段可以应用于
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1