首页> 中国专利> 在运动捕捉中使用的标记

在运动捕捉中使用的标记

摘要

标记运动捕捉体数据包括:接收运动捕捉节拍,该运动捕捉节拍包括未经标记的身体点和未经标记的面部点;标记与预定的身体模型模板有效匹配的未经标记的身体点;通过使用拉伸分析来检验经标记的身体点;通过使用运动骨架分析来标记未经标记的身体点;隔离未经标记的面部点;稳定未经标记的面部点;标记未经标记的面部点;以及合并经标记的面部点和经标记的身体点。

著录项

  • 公开/公告号CN101578613A

    专利类型发明专利

  • 公开/公告日2009-11-11

    原文格式PDF

  • 申请/专利权人 索尼株式会社;索尼电影娱乐公司;

    申请/专利号CN200680040266.2

  • 发明设计人 德曼·乔丹;丹尼斯·J·小豪克;

    申请日2006-08-28

  • 分类号G06K9/00;G06K9/34;G06K9/46;G06K9/62;

  • 代理机构北京东方亿思知识产权代理有限责任公司;

  • 代理人董方源

  • 地址 日本东京都

  • 入库时间 2023-12-17 23:01:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-12

    未缴年费专利权终止 IPC(主分类):G06T15/00 专利号:ZL2006800402662 申请日:20060828 授权公告日:20120919

    专利权的终止

  • 2012-09-19

    授权

    授权

  • 2010-01-06

    实质审查的生效

    实质审查的生效

  • 2009-11-11

    公开

    公开

说明书

相关申请的交叉引用

本申请要求共同未决的以下专利申请的优先权:2005年8月26日递交的题为“LABELING RENDER FARM USED IN MOTION CAPTURE”的未决美国临时专利申请No.60/712,082,2005年8月26日递交的题为“RELATIVE LABELING”的美国临时专利申请No.60/711,968,和2005年8月26日递交的题为“BODY CONSTRAINT SYSTEM IN MOTIONCAPTURE”的美国临时专利申请No.60/711,848。以上参考的专利申请的内容通过引用被结合于此。

技术领域

本发明一般地涉及运动捕捉,并且更具体地涉及标记(label)通过运动捕捉而生成的数据点。

背景技术

运动捕捉(“MOCAP”)系统用于捕捉真实物体的运动并且将其映射到由计算机生成的物体上。通常在制作运动图像和视频游戏时将这样的系统用于产生用作源数据的人物的数字表示以生成计算机图形(“CG”)动画。在典型系统中,表演者穿着一套在多个位置附有标志(marker)(例如,在身体和四肢上附有小型反射标志)的衣服,并且数字相机在照亮标志的同时从不同角度记录下表演者的运动。系统然后分析图像以确定在每一帧中表演者身上的标志的位置和方向(例如,如空间坐标)。通过跟踪标志的位置,系统生成标志随时间的空间表示,并且建立运动中的表演者的数字表示。该运动然后被应用于数字模型,该数字模型然后可以被填充纹理并且被渲染以产生表演者和/或表演的完整的CG表示。这种技术已经被特效公司用于在许多流行电影中产生逼真的动画。

然而,跟踪标志的位置是一项困难的任务。当大量标志被使用并且多个表演者处于一个运动捕捉空间时困难更大。

发明内容

本发明的实现方式提供一种标记运动捕捉数据点以改善识别的标记系统。

在一种实现方式中,一种运动捕捉标记系统包括:身体标记模块,其被配置为接收运动捕捉数据并且生成经标记的身体数据,该运动捕捉数据包括未经标记的身体数据和未经标记的面部数据;以及相对标记模块,其被配置为接收运动捕捉体数据,生成经标记的面部数据,并且生成包括经标记的身体数据和经标记的面部数据的经标记的运动捕捉体数据。

在另一种实现方式中,该运动捕捉标记系统还包括:身体建模模块、拉伸校验模块、运动骨架模块和相对标记模块。

在另一种实现方式中,一种运动捕捉标记方法包括:接收运动捕捉节拍(beat),该运动捕捉节拍包括未经标记的身体点和未经标记的面部点;通过标记与预定的身体模型模板有效匹配的未经标记的身体点来产生经标记的身体点;通过使用拉伸分析来检验经标记的身体点;通过使用运动骨架分析对未经标记的身体点进行标记来产生附加的经标记的身体点;隔离未经标记的面部点;稳定未经标记的面部点;标记未经标记的面部点;并且合并经标记的面部点和经标记的身体点。

对于本领域中的普通技术人员而言,在查看以下的详细说明和附图之后,本发明的其他特征和优点将变得显而易见。

附图说明

通过研究附图,可以部分地理解本发明的关于其结构和操作二者的细节,在附图中,类似标号指代类似部分,并且其中:

图1是示出可以与在此描述的各种实现方式结合使用的示例性标记系统的功能框图;

图2是示出可以与在此描述的各种实现方式结合使用的示例性身体标记模块的功能框图;

图3是示出可以与在此描述的各种实现方式结合使用的示例性身体建模模块的功能框图;

图4是示出可以与在此描述的各种实现方式结合使用的确定标志阈值的示例性方法的流程图;

图5是示出可以与在此描述的各种实现方式结合使用的执行拉伸校验的示例性方法的流程图;

图6是示出可以与在此描述的各种实现方式结合使用的执行运动骨架分析的示例性方法的流程图;

图7是示出可以与在此描述的各种实现方式结合使用的执行运动骨架分析的另一示例性方法的流程图;

图8是示出可以与在此描述的各种实现方式结合使用的示例性相对标记模块的功能框图;

图9是示出可以与在此描述的各种实现方式结合使用的面部隔离的示例性方法的流程图;以及

图10是示出可以与在此描述的各种实现方式结合使用的标记系统的示例性方法的流程图。

具体实施方式

在重建中将由运动捕捉相机捕捉到的耦合到表演者的标志的图像用于生成其中“点”代表标志的三维(3-D)体。捕捉3-D体中的点的运动需要识别在构成拍摄(shot)(也称作运动捕捉“节拍”)的帧序列中的点。然而,大部分的点通常不可区分。对点进行标记提供了辅助确定每个点的运动的识别信息。

因此,本发明的实现方式描述运动捕捉中的标记系统和方法,其包括对身体标记模块和相对标记模块(例如,用于标记面部)的描述。因此,标记系统可以处理面部和/或身体数据。标记系统指定节拍中的表演者是谁,如何给输出的各个文件命名,将这些文件保存在哪里,以及已经对节拍运行了哪些处理。在一种实现方式中,在运动捕捉中使用的标记系统从捕捉数据库接收信息。

对于本领域中的技术人员而言,在阅读了此描述之后,如何在各种替代实现方式和应用中实现本发明将变得清楚。然而,虽然将在此描述本发明的各种实现方式,但是应理解,仅作为示例而非限制性地示出这些实现方式。同样,不应将此对各种替代实现方式的详细描述解释为限制如在随附权利要求书中所提出的本发明的范围和宽度。

图1是示出在运动捕捉中使用的标记系统100的框图。标记系统100包括身体标记模块110和相对标记模块120。在一种实现方式中,使用身体标记模块110是可选择的。在另一种实现方式中,使用相对标记模块120是可选择的。

在图1所示的实现方式中,标记系统100接收运动捕捉体数据,该体数据包括通常由重建系统根据原始运动捕捉相机图像而生成的3-D空间中的点。如上所述,标记系统100可以指定节拍(即,运动捕捉拍摄)中的表演者是谁,如何给输出的各个文件命名,将这些文件保存在哪里,以及已经对节拍执行了哪些处理。在另一种实现方式中,标记系统100查询并且更新运动捕捉数据库(未示出)。

身体标记模块110接收包括未经标记的身体数据的运动捕捉体数据,并且输出包括经标记的身体数据的运动捕捉体数据。身体建模模块110维护表演者的姿势的身体模型模板,同时废弃十分类似的姿势并且仅保存独特的姿势。许多姿势得自在完整动作系列(“ROM”)中所包括的姿势,即在运动捕捉节拍开始处由表演者表演的一系列动作。身体建模模块还针对身体点之间的有效关系建立约束空间。身体建模模块110可以在添加新的并且独特的姿势之前,将同一表演者在不同天拍摄的节拍中的输入姿势归一化。这里所使用的“身体数据”和“身体点”均指代与表演者身体相关联的“点云”。此外,“身体”数据包括代表运动的或者静止的、具有一个或多个组件的几乎任何轮廓或者物体的数据。

相对标记模块120从身体标记模块110接收包括经标记的身体数据和未经标记的面部数据的运动捕捉体数据,并且输出包括经标记的面部数据的经标记的运动捕捉体数据。在一种实现方式中,相对标记模块120标记和面部或者头部有关的数据,该经标记的和面部或者头部有关的数据与经标记的身体数据合并。在另一种实现方式中,可以将相对标记模块120扩展为标记身体的其他部分(包括手部运动捕捉),以进行3-D重建和标记。

通常在重建之前使用相对标记模块120(参见序列号为No.60/711,971的2005年8月26日递交的题为“RECONSTRUCTION RENDER FARMUSED IN MOTION CAPTURE”的美国临时专利申请)以分离出面部标志。因此,仅对标记系统所考虑的身体标志进行重建。

图2是示出在运动捕捉中使用的身体标记模块110的框图。身体标记模块110包括身体建模模块210,拉伸校验模块220,和运动骨架模块230。

身体建模模块210接收未经标记的运动捕捉体数据,并且生成具有经标记的身体点的加了标签的(tagged)帧。输入的未经标记的运动捕捉体数据包括含数据帧序列的节拍。每个帧表示具有代表标志的点的3-D体。

在一种实现方式中,身体建模模块210扫描节拍的每个帧并且将未经标记的身体数据与预定的身体模型模板进行匹配。当有效匹配被找到时,相关联的帧被加上标签并且在加了标签的帧中的身体点被标记。未能有效匹配的个别点被认为是无关的或者错误的,并且因此不可用。身体建模模块210的输出包括节拍中的加了标签的和未加标签的帧。加了标签的帧通常散布在帧序列中,并且被称作“关键帧”。在关键帧之间的未加标签的帧构成间隔。

拉伸校验模块220从身体建模模块210接收关键帧和未加标签的帧。拉伸校验模块220使用表演者的身体模型来确定用于身体数据的有效拉伸(和刚性)值,并且去除任何无效的拉伸标志。拉伸校验模块仅分析关键帧的身体数据以检验运动的标志(即,点)在以有效的方式运动。在该阶段不分析关键帧之间的间隔帧。拉伸校验模块220还将任何在拉伸分析中失败的(即,无效运动的)经标记点去标记(de-label)。拉伸校验模块220输出构成节拍的关键帧和间隔帧,其中关键帧具有经检验的/经标记的身体点和可能被去标记的点。

拉伸校验模块220还提供“准时间(near time)”(即,“准实时”)分析和标志随时间如何拉伸的认知。当体中的其他标志被用于道具和设定场景布局时,准时间能力辅助跟踪。这样的标志呈现很小的拉伸并且因此可以通过使用拉伸分析被定位。然后可以通过不标记它们将其排除或者忽略。在一种实现方式中,可以得到经标记的点的文件,并且已经对该文件执行了拉伸校验。

运动骨架模块230从拉伸校验模块220接收构成节拍的帧,包括关键帧和间隔帧。运动骨架模块230使用各种参数(如将在下文中进行描述的)来标记节拍帧的身体点,这些参数包括建模骨架、速度预测、对有效关节角度的认知和表演者身体模型中的约束空间。在一种实现方式中,运动骨架模块230对在关键帧之间的骨架运动进行插值(interpolate),以辅助估计其在居间间隔帧中的位置和速度。然后可以根据身体点与骨架间的空间和运动关系来标记身体点。

运动骨架模块230输出经标记的身体体数据,这些经标记的身体体数据包括“经清理的”、经检验的身体点的关键帧,和具有新近(在运动骨架模块230处)被标记的然而尚未(在拉伸校验模块220处)被检验的身体点的居间间隔帧。这些输出帧被传送回拉伸校验模块220。在拉伸校验模块220处,所有的帧都被分析,并且身体点不是得到验证就是被去标记。作为结果得到的现具有经检验、经标记的身体点的帧然后被传送到运动骨架模块230。

当运动骨架模块230再次对节拍执行处理时,不允许特定帧上的在运动骨架模块230第一次执行处理之后被拉伸校验模块220去标记的标志以与先前在相同帧中对这些标志进行标记的方式相同的方式被标记。

在每个节拍都被完成并且被认定为全部都被适当标记之后,结果被添加到身体模型以使其更加稳定。因此,在一种实现方式中,由运动骨架模块230输出的经清理的、经标记的身体体数据被传送回身体建模模块210。可以从这些经清理的、经标记的身体点的帧中得到新的姿势,并且在身体建模模块210处将这些新姿势用于更新和添加到可用身体模型模板。通过添加每个姿势,表演者的身体模型变得更加稳定。随着每个新节拍被完成、被分析,并且新的姿势被添加到该表演者的身体模型模板中,出现手动跟踪的可能性越来越小。

在一种具体实现方式中,通过编译表演者的身体模型并且对主身体模型进行归一化来建立主身体模型。基本上重复的姿势然后可以被剔除。在另一种具体实现方式中,为了辅助去除与特定身体无关的标志(点),执行深度的场分析。在身体标记模块110处进行身体标记之前,给3-D重建(未示出)提供要求忽略较小的并且接近相机的2-D标志图像的指令。作为示例,4-5mm的面部标志在实体尺寸上比19mm的身体标志小得多,但是在运动捕捉图像中很难判断小型标志图像是近处的面部标志还是远处的身体标志。根据禁止具有较小圆周尺寸的较短相机光线(即,丢弃接近相机的面部标志)并且允许具有较小圆周尺寸的较长相机光线(即,保留远离相机的身体标志)的规则,来使用通过节拍中的标志图像投射的相机光线。在重建期间去除不期望的标志可以很大程度上简化在标记系统100处标记期望标志的任务。

图3是示出可以在运动捕捉中使用的身体建模模块210的框图。身体建模模块210包括模型匹配模块310、模型建立模块320、标志阈值模块330和初始模型模块340。

在图3所示出的实现方式中,模型匹配模块310接收包括未经标记的运动捕捉体数据的输入节拍,和与该输入节拍所捕捉的场景中的表演者相关联的身体模型模板。模型匹配模块310输出具有经标记的身体点的加了标签的帧。

在一种实现方式中,最初通过手动标记三个标志来标识被表示为未经标记的点云的身体数据。例如,为了在三个表演者之间进行区别,可以以独特模式放置三个标志。三个标志可以被放置于头部(用于面部)或者腕部(用于身体)。可替代地,如果标志不是手动标记的,那么可以使用有源标志系统来生成被用于稳定的坐标系。一旦已知坐标系在局部地移动(相对于将被标记的其余信息),那么针对场景中的将被相对地标记的每个物体,保存整个文件的版本。有源标志包括LED、RF标签、啁啾声设备、磁传感器和惯性制导传感器。此外,可以使用具有独特特性的无源标志,包括在暗处发亮并且有形的标志。

在另一种实现方式中,将代表表演者的点与体中的其余点隔离。制作一份未经标记的运动捕捉体数据的副本。在该副本中,在表演者的点的周围形成球体,并且将在该球体之外的所有点去除。然后对该具有感兴趣的单个表演者的副本进行标记。

一旦在场景中识别出表演者,该表演者的身体模型模板就被模型匹配模块310接收。在一种实现方式中,身体模型模板包括约束空间,该约束空间描述当身体处于不同姿势时(即,处于不同的关节角度时)驱动骨骼的标志与这些和该骨骼有关的标志的偏移量、距离和拉伸之间的有效关系。模型匹配模块310浏览体数据的每个帧,并且将表演者的身体点与模板进行匹配直到找到最佳匹配。在另一种实现方式中,表演者的骨架被包括在身体模型模板中并且被应用于身体点直到获得最佳匹配。当针对特定帧中的身体点找到了最佳匹配时,该帧被加上标签并且身体点被标记。如果未获得最佳匹配,那么模型匹配模块310继续处理下一帧。

模型建立模块320接收身体模型模板和具有经标记的身体点的运动捕捉体数据的帧,并且输出身体模型模板。身体模型模板包括经清理的并且经标记的身体点和骨架,以及其他信息。为了寻找尚未用身体模型模板来表示的新的并且独特的姿势而对表演者的经标记的身体数据的帧进行自动分析,并且添加所发现的任何新且独特的姿势。在一种实现方式中,模型建立模块320能够在将新姿势添加到身体模型模板之前,将来自在不同天捕捉到的节拍的同一表演者的姿势归一化。在另一种实现方式中,模型建立模块320丢弃十分类似的姿势,仅保存独特的姿势。

标志阈值模块330接收未经标记的运动捕捉体数据并且输出身体模型模板,该身体模型模板包括针对每个身体标志的刚性阈值(参见图4),并且该身体模型模板可以被用于描述如在上文中关于模型匹配模块310所讨论的约束空间。

初始模型模块340接收未经标记的运动捕捉体数据,并且生成包括经标记的并且经清理的身体点的帧。在一种实现方式中,每个表演者在每个节拍开始处执行一系列称为“完整动作系列”(“完整ROM”)的动作和姿势。例如,完整ROM包括诸如T形姿势(“Tpose”)之类的已知姿势。初始模型模块340用于得到捕捉到在完整ROM中所包括的一系列姿势的身体模型模板。在另一种实现方式中,初始模型模块340为将主骨架手动地设置到大致的自由度(“DOF”)提供便利。完整ROM的帧被选择并且帧中的主骨架被匹配到表演者的身体点并且被缩放以符合表演者的身体点从而成为该表演者的“表演者骨架”。表演者骨架定义和DOF与表演者身体模型模板一起被保存。表演者骨架可以根据该表演者的其他身体模型模板来进一步“学习”DOF。

初始模型模块340可以被用于手动地标记并且充分地清理完整ROM(去除所有无关的点),从而生成在形成最初的身体模型模板组时适用的经标记的身体点的帧。标志阈值模块330可以被用于通过使用完整ROM的剩余帧来生成身体模型模板,所述剩余帧是在用于与DOF进行手动匹配的初始模型模块340处未被选择的帧。

图4是示出可以与在此描述的各种实现方式结合使用的确定标志阈值的方法400的流程图。在一种实现方式中,在标志阈值模块330(参见图3)中使用图4所描述的方法,标志阈值模块330接收未经标记的运动捕捉体数据。该未经标记的运动捕捉体数据包括如下3-D体的帧序列,该帧序列包括代表一个或多个表演者的身体点。

在410,帧序列中的身体被选择。可以通过使用独特的标志模式和有源标志来辅助选择。随着时间逝去(即,经过一定的帧跨度),身体的身体点彼此之间的相对刚性被确定。在420,根据预定裕度(tolerance)被确定为“刚性的”身体点被找出。在430,刚性的身体点被分类到“刚性组”中。在一种实现方式中,刚性组对应于诸如前臂和上臂之类的身体四肢部分。在440,针对每个刚性组中的每个身体点的阈值刚性被设定。在判断身体点是否属于特定的刚性组时,这提供了对在其他帧和姿势中被分析的身体点的拉伸限制。

在450,帧被分类到姿势中。例如,当来自初始完整ROM的帧被分析时,相对较大范围的姿势被遇到。各个帧被分类为代表独特的姿势。在460,针对身体生成身体点阈值列表。身体点阈值列表被与身体的身体模型模板结合并且成为身体的身体模型模板的一部分。在一种实现方式中,身体点阈值列表被保存到与身体模型模板相关联的文件中。在另一种实现方式中,身体点刚性阈值是随后可以调整的初始值。在470,判断是否已经分析了节拍中的最后一个身体。如果尚未分析完该节拍,那么在480,帧序列中的下一个身体被选择,然后方法在420处继续。如果已经分析完了该节拍,那么在470,方法结束。

图5是示出可以与在此描述的各种实现方式结合使用的执行拉伸校验的方法500的流程图。在一种实现方式中,在拉伸校验模块220(参见图2)中使用图5所描述的方法500。

在510,输入节拍中的由经标记的身体点表示的身体被选择。随着时间的逝去(即,经过一定的帧跨度),身体点彼此之间的相对刚性被确定。例如,虽然表演者上臂的两个身体点相对于彼此在很大程度上是“刚性的”,但是二者相对于表演者前臂的身体点而言是较低“刚性的”。然而,诸如上臂之类的公共身体组成部分的任意两个身体点相对于彼此并不总是绝对刚性的。因此可以使用一定范围的值来描述刚性,或者,如在一种实现方式中那样,用预定裕度来描述刚性。因此,根据预定裕度来确定经标记的身体点的刚性。可替代地,相对于从先前确定的身体点阈值列表中得到的拉伸模板来确定经标记的身体点的刚性。在520,被确定具有足够刚性的身体点被找出。

在它们的刚性裕度内找到的经标记的身体点被认为是“经检验的”身体点。在530,在它们的刚性裕度外找到的经标记的身体点改为被去标记,这使身体点与特定身体分离。

在540,判断是否已经分析了节拍中最后一个身体。如果尚未分析最后一个身体,那么在550,节拍中的下一个身体被选择,然后方法在520处继续。如果在540已经分析了最后一个身体,那么方法结束。

图6是示出根据一种实现方式的执行运动骨架分析的方法600的流程图。可以在运动骨架模块230(参见图2)中使用图6所描述的方法600。运动骨架模块230接收帧序列,这些帧序列的一些或者全部包括经检验的、经标记的身体点。

在610,一旦节拍中的身体被选择,那么在620,第一对关键帧就被选择。如果所选择的关键帧是帧序列中的相邻帧,那么下一对关键帧被选择,依此类推直到所选择的对具有包括与所选择的身体相关联的未经标记的身体点的居间间隔帧为止。

在一种实现方式中,在630,从身体模型模板中获得骨架(例如,表演者骨架)、有效关节角度,和约束空间。在640,通过使用关键帧对,对居间间隔帧中的骨架的位置和速度进行插值。在650,在每个居间间隔帧中,通过使用位置、速度、有效关节角度和约束空间将所选择的身体的身体点与经插值的骨架进行匹配。在660,判断这是否是最后的关键帧对。如果不是最后的关键帧对,那么在670,下一对关键帧被选择,然后方法在640处继续。如果是最后的关键帧对,那么在680判断身体是否是节拍中最后一个身体。如果不是最后一个身体,那么节拍中的下一个身体被选择,然后方法在620处继续。如果是最后一个身体,那么方法结束。

图7是示出根据另一种实施方式的执行运动骨架分析的方法700的流程图。可以在运动骨架模块230(参见图2)中使用图7所描述的方法700。运动骨架模块230接收帧序列,这些帧序列的一些或者全部包括经检验的、经标记的身体点。

在710,一旦节拍中的身体被选择,在720,节拍中的第一帧就被选择。在730,使骨架与第一帧中的经标记的身体点相匹配。在一种实现方式中,例如,节拍的第一帧包括代表正在表演诸如T形姿势(“Tpose”)之类的已知姿势的表演者的身体点。在这种情况下,使骨架与节拍的第一帧中的、包括已知Tpose的经标记的身体点相匹配。在740,关于骨架与每个后续帧中的身体点之间的最佳匹配度的假设被生成。可以通过使用逆运动来检验每个被假设的骨架,并且计算最小平方误差来给假设“评分”。在另一种实现方式中,诸如关键帧之类的包括已经被标记的身体点的帧被用于减小假设误差。关键帧中的经标记的身体点提供十分类似于第一帧的表演者的Tpose的已知姿势信息。在750,判断是否已经分析了节拍的最后一个身体。如果尚未分析最后一个身体,那么在760选择下一个身体,然后方法在720处继续。如果已经分析了最后一个身体,那么在770,最佳评分的假设被用于标记节拍中的身体点。

当骨架不能够被用于标记时(可能因为标志数据十分差所致),那么跳过对该帧的标记。这是因为被错误标记的点将通过后续帧传播误差。

图8是示出可以与在此描述的各种实现方式结合使用的相对标记模块120的框图。相对标记模块120包括面部隔离模块810、面部稳定模块820、标记模块830和合并模块840。相对标记模块120接收节拍,该节拍包括经标记的身体点和未经标记的面部点的帧。应理解,如在上文中所讨论的,该“身体”点包括代表轮廓或者物体的3-D中的任何点数据。“面部”点类似地包括代表轮廓或者物体的3-D点数据。此外,可以将相对标记应用于未经标记的身体点。身体和面部数据之间的区别可以基于它们每个所使用的标志之间的不同。在一个示例中,身体标志相对较大,而面部标志相对较小以捕捉更细微的动作。

面部隔离模块810接收经标记的身体点和未经标记的面部点,并且输出代表与身体和其他表演者头部隔离的表演者头部的未经标记的面部点。针对节拍中的每个表演者,面部隔离模块810将表演者的经标记的身体点与相关联的“头部”分离。面部隔离模块810然后隔离每个头部,包括与之相关联的未经标记的面部点。在一种实现方式中,经隔离的头部和未经标记的面部点被保存到与和该头部相关联的表演者相对应的文件中。

面部稳定模块820接收代表与身体和其他表演者头部隔离的表演者头部的未经标记的面部点,并且输出在空间中稳定的未经标记的面部点。因此,面部稳定模块820使代表表演者头部的面部点的点云保持静止,这使得随后能够进行简化标记。在一种实现方式中,在每个包括经隔离的头部的保存文件中,文件中的点云被基于头部的已知相对信息来稳定。例如,已知相对信息包括场景中表演者头部的整体平移速度。因此,当从点云中去除平移速度时,面部点被稳定。这可以通过从点云的运动状态中减去平移速度来完成。在一种实现方式中,点云可以包括未经标记的身体点。在稳定之后,运动着的表演者好像被固定在躯干上一样。

由面部标记模块830接收经隔离的并且经稳定的面部点,其输出经标记的面部点。在一种实现方式中,面部标记模块830使用其他的自动化标记软件。

合并模块840接收经标记的面部点和在面部隔离模块810处从节拍中去除的经标记的身体点。合并模块840将经标记的面部点与经标记的身体点合并,从而产生经标记的运动捕捉体数据(输出节拍)。在一种实现方式中,可以基于每一表演者来执行合并,从而生成针对每个表演者的独立输出节拍。

图9是示出可以与在此描述的各种实现方式结合使用的面部隔离的方法900的流程图。在一种实现方式中,在相对标记模块120(参见图8)中使用图9所描述的方法900。

在910,包括经标记的身体点和未经标记的面部点的节拍被接收。在920,经标记的身体点被从该节拍中删除,从而剩下节拍中的未经标记的头部点。在930,然后针对节拍中的每个头部制作节拍的副本。每一副本与每个表演者的头部相关联。

在一种实现方式中,为了辅助识别头部,每个表演者都佩带“帽子”。每个帽子包括诸如独特模式的标志(“帽子标志”)之类的识别特征。在另一种实现方式中,通过手动标记附着于头部的的三个标志来标识场景中的头部。可替代地,有源标志被用于识别每个头部,或者每个帽子。

在940,在节拍的每个副本中,相关联的表演者的头部被隔离。在一种实现方式中,通过在经标记的帽子标志周围产生约20英寸的球体来完成隔离。位于该球体之外的所有数据被假定为不是表演者头部的一部分并且因此不被包括。在另一种实现方式中,为了隔离身体,位于在身体的腰部或者躯干周围接近七英尺的球体范围之外的所有身体点不被包括。在此描述的隔离很大程度上减小了文件尺寸并且加速了自动化标记软件。

图10是示出可以与在此描述的各种实现方式结合使用的运动捕捉标记系统100的方法1000的流程图。

在1010,包括未经标记的运动捕捉体数据的输入节拍被接收。在1020,与预定身体模型模板有效匹配的身体点被标记。在一种实现方式中,从在节拍开始处的表演者姿势的完整ROM(包括Tpose)中得到最初的身体模型模板。

在1030,通过使用拉伸分析来检验经标记的身体点。身体点彼此之间的刚性被确定,同时身体点被分类到刚性组中。在1040,通过使用运动骨架分析来执行进一步的身体点标记。在一种实现方式中,使骨架与经标记的身体点相匹配,并且执行插值以估计在具有经标记的身体点的帧之间的骨架位置和速度。将未经标记的身体点与经插值的骨架进行匹配,并且对未经标记的身体点进行标记。在另一种实现方式中,使骨架与代表最初Tpose的身体点相匹配。针对节拍中的剩余帧估计骨架,并且关于未经标记的身体点与所估计的骨架之间的最佳匹配的假设被形成。根据最佳评分的假设,在每个帧中标记身体点。

在1030,通过使用拉伸分析来再次检验经标记的身体点。通过使用运动骨架分析来标记更多的身体点。在一种实现方式中,在1030,通过使用拉伸分析来进行验证,并且在1040,通过使用运动骨架分析来进一步进行标记,如此继续直到身体点得到充分“清理”。

在1050,面部点被隔离。在一种实现方式中,在面部周围的预定球体内的面部点被保留,而在面部点周围的球体之外的点不被保留。在1060,通过从每个面部点的运动状态中减去平移速度,在空间中稳定面部点。在1070,面部点被标记。在1080,经标记的面部点和经标记的身体点被合并。

例如,也可以通过使用诸如专用集成电路(“ASIC”)或者现场可编程门阵列(“FPGA”)之类的组件,主要以硬件实现各种实现方式。对于相关领域中的技术人员而言,能够执行在此描述的功能的硬件状态机的实现方式也是显然的。还可以通过使用硬件和软件二者的组合来实现各种实现方式。

此外,本领域中的技术人员应理解,结合上述示图和在此公开的实现方式所描述的各种说明性逻辑块、模块、联接器、数据路径、电路和方法步骤通常可以被实现为电子硬件、计算机软件或者二者的组合。为了清楚说明该硬件与软件的可交换性,各种说明性组件、块、模块、电路和步骤在上文中已经根据其功能得到了一般地描述。这样的功能是实现为硬件还是软件取决于具体应用和施加于整个系统上的设计约束。虽然熟悉此项技术者可以针对每个具体应用以不同方式来实现所描述的功能,但是这样的实现方式决策不应被解释为导致偏离本发明的范围。此外,将功能分组到模块、块、电路或者步骤中是为了简化描述。可以将特定功能或者步骤从一个模块、块或者电路移到另一个而不背离本发明。

此外,可以用通用处理器、数字信号处理器(“DSP”)、ASIC、FPGA或者其他可编程逻辑器件、离散门或者晶体管逻辑、离散硬件组件或者被设计用于执行在此描述的功能的其任意组合,来实现或者执行结合在此公开的实现方式所描述的各种说明性逻辑块、模块、联接器、数据路径、电路和方法步骤。虽然通用处理器可以是微处理器,但是可替代地,处理器可以是任何处理器、控制器、微控制器或者状态机。处理器也可以被实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、结合DSP内核的一个或多个微处理器或者任何其他这样的配置。

此外,可以直接在硬件中、在由处理器执行的软件模块中或者在二者的组合中实现结合在此公开的实现方式所描述的方法的步骤。软件模块可以驻存于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可换磁盘、CD-ROM或者包括网络存储介质的任何其他形成的存储介质中。可以将示例性存储介质耦合到处理器,使得该处理器可以从存储介质中读取信息并且将信息写入存储介质。可替代地,可以将存储介质集成到处理器上。处理器和存储介质还可以驻存于ASIC中。

提供对所公开的实现方式的上述描述是为了使得本领域中的任一技术人员能够完成或者使用本发明。对本领域中的技术人员而言,对这些实现方式的各种修改将是显而易见的,并且在此描述的一般原理可以被应用于其他的实现方式而不背离本发明的精神或者范围。因此,应理解,在此呈现的描述和附图代表本发明的目前优选的实现方式,并且因此代表本发明所广泛关注的主题。还应理解,本发明的范围完全包括对本领域中的技术人员而言可能是显而易见的其他实现方式,并且本发明的范围因此仅受所附权利要求书的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号