CN117730345A - 用于使二级特征动画化的系统和方法 - Google Patents
用于使二级特征动画化的系统和方法 Download PDFInfo
- Publication number
- CN117730345A CN117730345A CN202280052761.4A CN202280052761A CN117730345A CN 117730345 A CN117730345 A CN 117730345A CN 202280052761 A CN202280052761 A CN 202280052761A CN 117730345 A CN117730345 A CN 117730345A
- Authority
- CN
- China
- Prior art keywords
- primary
- facial
- animation
- training
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 210
- 230000001815 facial effect Effects 0.000 claims abstract description 580
- 238000012549 training Methods 0.000 claims abstract description 218
- 239000011159 matrix material Substances 0.000 claims description 285
- 239000013598 vector Substances 0.000 claims description 214
- 238000000513 principal component analysis Methods 0.000 claims description 121
- 238000000354 decomposition reaction Methods 0.000 claims description 72
- 238000006243 chemical reaction Methods 0.000 claims description 52
- 239000000203 mixture Substances 0.000 claims description 42
- 230000007935 neutral effect Effects 0.000 claims description 32
- 238000012880 independent component analysis Methods 0.000 claims description 20
- 150000001875 compounds Chemical class 0.000 claims description 19
- 230000009467 reduction Effects 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 13
- 210000000720 eyelash Anatomy 0.000 description 9
- 210000004709 eyebrow Anatomy 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 210000004209 hair Anatomy 0.000 description 4
- 238000002156 mixing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 210000004373 mandible Anatomy 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000004350 Strabismus Diseases 0.000 description 1
- 238000004873 anchoring Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000002105 tongue Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
用于生成面部动画的帧的方法包括:获得训练数据的多个帧,对于每一帧训练数据包括训练表示,该训练表示包括多个一级面部顶点和多个二级面部组件顶点的几何信息。面部动画训练数据包括多个一级面部顶点的子集的索引。该方法包括:使用面部动画训练数据训练二级面部组件模型;获得一级面部动画的各帧,每一帧包括多个一级面部顶点的几何信息;以及针对一级面部动画的每一帧,基于一级面部动画的帧和二级面部组件模型生成二级面部组件动画的对应帧,二级面部组件动画的对应帧包括基于一级面部几何图形的二级面部组件顶点的几何信息。
Description
相关申请的交叉引用
就美国而言,本申请根据35USC 119要求于2021年7月29日提交的美国申请第63/227333号的优先权权益,该美国申请在此通过引用并入本文中。
技术领域
本申请涉及用于面部的计算机动画的系统和方法。更具体地,本申请涉及基于面部几何图形的动画使二级面部组件动画化的系统和方法。
背景技术
面部(例如人类或其他角色的面部)的计算机动画可能涉及一级面部几何图形以及若干二级面部组件(例如头发、面部毛发、下颌骨、眉毛(左和右)、睫毛(上和下;左和右)、舌头等)的几何图形的动画,这些组件可能与一级面部几何图形——即覆盖面部的皮肤的几何图形具有某种依赖性。在当前的动画技术中,使这些二级面部组件动画化可以由艺术家手动(例如逐帧地)完成,或者可以通过面部动画装备程序地完成,该面部动画装备指定二级面部组件的几何图形对一级面部几何图形的依赖性。这些依赖性通过3D动画装备应用中可用的几何操作来表示,例如将二级几何图形锚定到一级几何图形中的固定点(使得将一级几何图形点的任何旋转/平移都应用于二级几何图形)。离线(即非实时)3D动画应用(例如面部动画装备)往往提供丰富的运算符集,并且可以添加自定义运算符,这些运算符可以被组合成复杂的规则网络,以驱动这样的几何图形。这些离线3D动画应用并不适合于实时应用,因为在实时应用中,一级面部几何图形可能每秒变化数次(例如动画视频的每一帧)。相比之下,存在实时3D动画应用(例如由Epic游戏等公司制作的虚幻引擎(UnrealEngine),该应用提供了适合于高效(即实时)计算的有限范围的预定义运算符。目前,还没有用于离线3D动画应用与实时3D动画应用之间的运算符的直接映射。人们普遍希望能够从非实时动画设置(例如,从艺术家和/或从面部动画装备)中获得与二级面部组件对一级面部几何图形的依赖性有关的信息,并且将这些信息压缩为二级面部组件动画信息,该二级面部组件动画信息可以被部署到具有有限工具集的实时动画应用中。
人脸的二级面部组件可能会对逼真动画,特别是逼真的实时动画带来特别的挑战。由于用于对每个二级面部组件建模的点(或顶点)的数量以及这些二级面部组件对一级面部几何图形的依赖性,使二级面部组件逼真地动画化可能本身就很复杂。此外,二级面部组件的动画可能相互依赖。例如,上睫毛的动画取决于一级面部几何图形,但是在一些情况下(例如当角色眯眼时),上睫毛可能会被其他二级面部组件(例如角色的眉毛或下睫毛)触碰和推开。
为了实时地使面部逼真地动画化,希望在人类观察者的感知时间内使一级面部几何图形和二级面部组件的几何图形二者动画化。例如,对于每秒24帧的帧速率的实时动画,动画中的一帧必须在0.0416秒内生成。然而,这种帧生成率通常会包括该帧的整个动画,因此,用于使面部(特别是用于使二级面部组件)动画化的时间预算可能会大大少于此。
普遍希望考虑到一级面部几何图形使二级面部组件动画化的方法。
相关技术的前述示例和与此相关的限制旨在是说明性的而非排他性的。通过阅读说明书和研究附图,相关技术的其他限制对于本领域技术人员将变得明显。
发明内容
结合系统、工具和方法来描述和示出以下实施方式及其方面,所述系统、工具和方法意在是示例性和说明性的,而不限制范围。在各种实施方式中,上述问题中的一个或更多个得以减少或消除,而其他实施方式针对其他改进。
本发明的一个方面提供了一种用于生成基于计算机的面部动画的一个或更多个帧的方法。该方法包括:在处理器处获得面部动画训练数据的多个帧,对于面部动画训练数据的多个帧中的每一帧,面部动画训练数据包括:训练一级面部几何图形的训练表示,训练一级面部几何图形的训练表示包括用于训练多个一级面部顶点的几何信息;以及训练二级面部组件几何图形的对应训练表示,训练二级面部组件几何图形的训练表示表示包括用于训练多个二级面部组件顶点的几何信息。面部动画训练数据还包括子集索引,子集索引包括所训练的多个一级面部顶点的子集的索引。该方法包括:由处理器使用面部动画训练数据训练二级面部组件模型;在处理器处获得一级面部动画的一个或更多个帧,一级面部动画的一个或更多个帧中的每一帧包括动画一级面部几何图形的动画表示,动画一级面部几何图形的动画表示包括动画多个一级面部顶点的几何信息;以及对于一级面部动画的一个或更多个帧中的每一帧:由处理器基于一级面部动画的帧和二级面部组件模型生成二级面部组件动画的对应帧,二级面部组件动画的对应帧包括动画二级面部组件几何图形的动画表示,动画二级面部组件几何图形的动画表示包括动画多个二级面部组件顶点的几何信息,其中,二级面部组件几何图形基于动画一级面部几何图形。
本发明的另一个方面提供了一种用于训练用于基于计算机的面部动画的二级面部组件模型的方法,其中,二级面部组件模型将一级面部动画的一个或更多个帧作为输入,一级面部动画的一个或更多个帧中的每一帧包括动画一级面部几何图形的动画表示,动画一级面部几何图形的动画表示包括动画多个一级面部顶点的几何信息,并且对于一级面部动画的一个或更多个帧中的每一帧,二级面部组件模型输出二级面部组件动画的对应帧,二级面部组件动画包括动画二级面部组件几何图形的动画表示,动画二级面部组件几何图形的动画表示包括动画多个二级面部组件顶点的几何信息,其中,二级面部组件几何图形考虑了一级面部几何图形。该方法包括:在处理器处获得面部动画训练数据的多个帧,对于面部动画训练数据的多个帧中的每一帧,面部动画训练数据包括:训练一级面部几何图形的训练表示,训练一级面部几何图形的训练表示包括训练多个n个一级面部顶点的几何信息;以及训练二级面部组件几何图形的对应训练表示,训练二级面部组件几何图形的对应训练表示包括训练多个m个二级面部组件顶点的几何信息。面部动画训练数据还包括子集索引,子集索引包括所训练的多个n个一级面部顶点的子集p的索引(p≤n)。该方法包括:使用面部动画训练数据训练二级面部组件模型。使用面部动画训练数据训练二级面部组件模型包括:对组合训练矩阵执行矩阵分解(例如,主成分分析(PCA)、独立成分分析(ICA)、非负矩阵因式分解(NMF)、任何其他合适的矩阵分解或降维技术等),组合训练矩阵包括:多个f个帧,多个f个帧中的每一帧包括与多个n个一级面部顶点中的子集p对应的p个一级面部训练顶点位置;以及m个二级面部组件训练顶点位置;以生成组合矩阵分解;以及基于组合矩阵分解生成二级面部组件模型。
对于一级面部动画的一个或更多个帧中的每一帧,动画一级面部几何图形的动画表示可以包括多个k个一级面部动画混合形状权重。对于二级面部组件动画的每个对应帧,动画二级面部组件几何图形的动画表示可以包括多个q个二级面部组件动画混合形状权重。
二级面部组件模型可以包括权重转换矩阵C,并且对于一级面部动画的一个或更多个帧中的每一帧,基于一级面部动画的帧和二级面部组件模型生成二级面部组件动画的对应帧可以包括:将权重转换矩阵C右乘以一级面部动画的帧的多个k个一级面部动画混合形状权重,以在偏移矢量内生成二级面部组件动画的对应帧的多个q个二级面部组件动画混合形状权重。
二级面部组件模型可以包括权重转换偏移矢量并且对于一级面部动画的一个或更多个帧中的每一帧,基于一级面部动画的帧和二级面部组件模型生成二级面部组件动画的对应帧可以包括:将权重转换偏移矢量/>与权重转换矩阵C右乘以一级面部动画的帧的多个k个一级面部动画混合形状权重的乘积相加,以生成二级面部组件动画的对应帧的多个q个二级面部组件混合形状权重。
该方法可以包括实时执行以下步骤:在处理器处获得一级面部动画的一个或更多个帧,以及对于一级面部动画的一个或更多个帧中的每一帧,由处理器基于一级面部动画的帧和二级面部组件模型生成二级面部组件动画的对应帧。实时可以包括以至少与一个或更多个帧中的每一帧的动画帧速率一样快的速率、以至少每秒15帧的速率和/或以至少每秒24帧的速率来执行。
获得面部动画训练数据的多个帧可以包括:从计算机实现的动画装备接收训练一级面部几何图形的训练表示和训练第二面部组件几何图形的训练表示。获得面部动画训练数据的多个帧可以包括:至少部分地从用户输入接收训练一级面部几何图形的训练表示和训练第二面部组件几何图形的训练表示。
子集索引可以包括p个一级面部顶点的子集的索引,其中子集的数量p小于或等于多个一级面部顶点的数量。子集索引可以包括被用户选择为与第二面部组件几何图形相关的p个一级面部顶点的子集的索引。子集索引可以包括与二级面部组件几何图形接近(例如在接近阈值内或被选择为最接近的p个一级面部顶点)的p个一级面部顶点的子集的索引。子集索引可以包括被确定为与二级面部组件几何图形相关的p个一级面部顶点的子集的索引。这种相关性可以基于与二级面部组件几何图形如何相对于一级面部几何图形移动相关的p个一级面部顶点的集合来确定。
获得面部动画训练数据的多个帧可以包括以下操作中的至少一个:对于面部动画训练数据的一个或更多个帧中的每一帧,获得训练一级面部几何图形的训练表示;或者将训练一级面部几何图形的训练表示转换为多个n个一级面部训练顶点位置,每个一级面部训练顶点位置包括3个坐标。
获得面部动画训练数据的多个帧可以包括以下操作中的至少一个:对于面部动画训练数据的一个或更多个帧中的每一帧,获得训练一级面部几何图形的训练表示;或者将训练一级面部几何图形的训练表示转换为p个一级面部顶点的子集中的每一个的位置,p个一级面部顶点中的每一个包括3个坐标。
获得面部动画训练数据的多个帧可以包括以下操作中的至少一个:对于面部动画训练数据的一个或更多个帧中的每一帧,获得训练二级面部组件几何图形的训练表示;或者将训练二级面部组件几何图形的训练表示转换为多个m个二级面部组件训练顶点位置,每个二级面部组件训练顶点位置包括3个坐标。
使用面部动画训练数据训练二级面部组件模型可以包括:对组合训练矩阵执行矩阵分解(例如,主成分分析(PCA)、独立成分分析(ICA)、非负矩阵因式分解(NMF)、任何其他合适的矩阵分解或降维技术等),组合训练矩阵包括:多个f个帧,多个f个帧中的每一帧包括与p个一级面部顶点的子集对应的p个一级面部训练顶点位置;以及m个二级面部组件训练顶点位置;以生成组合矩阵分解;以及基于组合矩阵分解生成二级面部组件模型。
组合矩阵分解可以包括:维度为[q,3(m+p)]的组合基矩阵,其中,q是组合矩阵分解的混合形状的数量;以及维度为3(m+p)的组合平均矢量。
基于组合矩阵分解生成二级面部组件模型可以包括:从组合矩阵分解:通过从组合基矩阵中提取与p个一级面部顶点的子集对应的长度为q的3p个矢量(例如3p个列),生成维度为[q,3p]的组合一级子集基矩阵;以及通过从组合平均矢量中提取与p个一级面部顶点的子集对应的3p个元素,生成维度为3p的组合一级面部子集平均矢量。
基于组合矩阵分解生成二级面部组件模型可以包括:从组合矩阵分解:通过从组合基矩阵中提取与m个二级面部组件顶点对应的长度为q的3m个矢量(例如3m个列),生成维度为[q,3m]的二级面部组件基矩阵;以及通过从组合平均矢量中提取与m个二级面部组件顶点对应的3m个元素,生成维度为3m的二级面部组件平均矢量。
基于组合矩阵分解生成二级面部组件模型可以包括:基于组合一级子集基矩阵生成维度为[q,3p]的投影矩阵P,其中,投影矩阵P将p个一级面部顶点的子集的3p个位置或偏移的矢量投影到组合一级子集基矩阵的对应权重集中;以及至少部分基于投影矩阵P生成形成二级面部组件模型的一部分的权重转换矩阵C。
生成投影矩阵P可以包括:选择使得与将权重从组合一级子集基矩阵转换回p个一级面部顶点的子集的3p个位置或偏移(例如重建)相关联的误差最小化的投影矩阵P。生成投影矩阵P可以包括:选择使得与使用组合一级子集基矩阵将组合一级子集基矩阵的权重转换回p个一级面部顶点子集的3p个位置或偏移(例如重建)相关联的最小二乘误差最小化的投影矩阵P。生成投影矩阵P可以包括:根据P=(ATA)-1AT计算投影矩阵P,其中,AT是组合一级子集基矩阵,并且A是其转置形式。
至少部分基于投影矩阵P生成形成二级面部组件模型一部分的权重转换矩阵C可以包括:基于一级面部动画确定维度为[k,3p]的一级顶点子集混合形状的矩阵V*;以及根据C=PV*T生成权重转换矩阵C。
动画一级面部几何图形的动画表示可以包括维度为[k,3n]的一级面部混合形状矩阵,其中,k表示动画一级面部几何图形的混合形状分解中的一级面部混合形状的数量,并且n表示动画一级面部几何图形的顶点的数量;以及基于一级面部动画确定一级顶点子集混合形状V*的矩阵包括:从一级面部混合形状矩阵中提取与p个一级面部顶点的子集对应的长度为k的3p个矢量(例如3p个列)。
对于一级面部动画的一个或更多个帧中的每一帧,动画一级面部几何图形的动画表示可以包括多个k个一级面部动画混合形状权重。对于一级面部动画的一个或更多个帧中的每一帧,动画二级面部组件几何图形的动画表示可以包括多个q个二级面部组件动画混合形状权重。对于一级面部动画的一个或更多个帧中的每一帧,基于一级面部动画的帧和二级面部组件模型生成二级面部组件动画的对应帧可以包括:将权重转换矩阵C右乘以一级面部动画的帧的多个k个一级面部动画混合形状权重,以在偏移矢量内产生生成包括二级面部组件动画的对应帧的多个q个二级面部组件动画混合形状权重的矢量。
基于组合分解生成二级面部组件模型可以包括:至少部分地基于投影矩阵P生成形成二级面部组件模型的一部分的权重转换偏移矢量
至少部分地基于投影矩阵P生成形成二级面部组件模型的一部分的权重转换偏移矢量可以包括:基于一级面部动画确定维度为3p的输入一级顶点子集平均矢量/>以及根据/>生成权重转换偏移矢量/>其中,/>是维度为3p的组合一级顶点子集平均矢量。
动画一级面部几何图形的动画表示可以包括维度为3n的输入一级面部平均矢量,其中,n表示一级面部几何图形的顶点数;并且基于一级面部动画确定输入一级顶点子集平均矢量包括:从输入一级面部平均矢量中提取与p个一级面部顶点的子集对应的3p个元素。
对于一级面部动画的一个或更多个帧中的每一帧,动画一级面部几何图形的动画表示可以包括多个k个一级面部动画混合形状权重。对于一级面部动画的一个或更多个帧中的每一帧,动画二级面部组件几何图形的动画表示包括多个q个二级面部组件动画混合形状权重。对于一级面部动画的一个或更多个帧中的每一帧,基于一级面部动画的帧和二级面部组件模型生成二级面部组件动画的对应帧可以包括:将权重转换矩阵C右乘以一级面部动画的帧的多个k个一级面部动画混合形状权重,以在偏移矢量内生成二级面部组件动画的对应帧的多个q个二级面部组件动画混合形状权重;以及将权重转换偏移矢量与将权重转换矩阵C右乘以一级面部动画的帧的多个k个一级面部动画混合形状权重的乘积相加,以生成包括二级面部组件动画的对应帧的多个q个二级面部组件混合形状权重的矢量。
对于一级面部动画的一个或更多个帧中的每一帧,由处理器基于一级面部动画的帧和二级面部组件模型生成二级面部组件动画的对应帧可以包括:对于二级面部组件动画的对应帧,根据重建三维顶点几何图形(独立于中性或从中性偏移),其中,/>是包括二级面部组件动画的对应帧的多个q个二级面部组件混合形状权重的矢量,D是维度为[q,3m]的二级面部组件基矩阵,/>是维度为3m的二级面部组件平均矢量,并且/>是包括m个二级面部组件顶点的3m个坐标的矢量。
要强调的是,本发明涉及上述特征的所有组合,即使这些特征被记载在不同的权利要求中。
除了上述示例性方面和实施方式之外,通过参照附图并且研究以下具体实施方式,另外的方面和实施方式将变得明显。
附图说明
示例性实施方式在附图中的参考图中示出。旨在将本文中公开的实施方式和附图视为是说明性的而不是限制性的。
图1A描绘了用于根据特定实施方式执行本文中描述的一个或更多个方法的示例性系统。
图1B和图1C描绘了根据本发明的一个实施方式的用于用二级面部组件动画模型使二级面部组件动画化的示例性方法。
图2描绘了根据本发明的一个实施方式的用于生成用于训练二级面部组件动画模型的训练数据的示例性方法。
图3A至图3C描绘了根据本发明的一个实施方式的用于训练二级面部组件动画模型的示例性方法。
图4A至图4D描绘了使用图1A的系统以及图1B和图1C的动画方法制作的呈现的各种表示,包括一级面部几何图形和二级面部组件(在这种情况下为上下、左右睫毛和左右眉毛)的对应几何图形。
具体实施方式
遍及以下描述,阐述了具体细节以向本领域技术人员提供更透彻的理解。然而,可能没有示出或详细地描述公知的元件以避免不必要地使本公开内容模糊。因此,说明书和附图应被视为说明性的而非限制性的含义。
本发明的一个方面提供了使用一级面部表示(一级面部几何图形)和二级面部组件动画模型使二级面部组件动画化的方法。该方法逐帧地为给定的一级面部表示生成二级组件表示。该方法可以实时——例如根据给定的动画帧速率每秒多次地——逐帧生成给定的一级面部表示下的二级组件表示。
动画方法可以将一级面部表示和针对特定二级面部组件训练的二级面部组件动画模型作为输入。该方法可以生成与一级面部表示(一级面部几何图形)对应的二级面部组件表示(二级面部组件几何图形)。当一级面部表示是动画的帧的一级面部几何图形的表示时,通过该方法生成的二级面部组件表示对应于同一动画帧的二级面部组件的表示(二级面部组件几何图形)。
输入的一级面部表示可以包括每帧的一组一级混合形状权重(例如主成分分析(PCA)混合形状权重或其他形式的矩阵分解技术或降维技术(例如独立成分分析(ICA)、非负矩阵因式分解(NMF)等)的混合形状权重)。通过计算一级混合形状的加权和,这些一级混合形状权重可以逐帧地转换为和/或可转换为一级面部顶点几何图形。每个一级混合形状可以使用固有几何图形来定义,或者可以使用与某个中性(或平均)一级混合形状的偏移来定义。同样,输出的二级面部组件表示可以包括每帧的一组二级组件混合形状权重(例如PCA混合形状权重或其他形式的矩阵分解技术或降维技术(例如独立成分分析(ICA)、非负矩阵因式分解(NMF)等)的混合形状权重)。通过计算二级组件混合形状的加权和,这些二级组件混合形状权重可以逐帧地转换为和/或可转换为二级组件面部顶点几何图形。每个二级组件混合形状可以使用固有几何图形定义,或者可以使用与某个中性(或平均)二级组件混合形状的偏移来定义。
动画方法可以针对多个二级面部组件重复进行,并且每个二级面部组件表示可以与一级面部表示进行组合,以生成面部的完整表示(完整几何图形)。面部的完整表示可以在动画帧中表示面部。该动画方法可以进一步针对面部的一系列动画帧重复进行(例如实时重复进行),从而生成面部的动画。
在动画方法的一些实施方式中,一级面部表示和二级面部组件表示各自包括一组混合形状权重(例如,主成分分析(PCA)混合形状权重或一些其他形式的矩阵分解技术或降维技术(例如,独立成分分析(ICA)、非负矩阵因式分解(NMF)等)的混合形状权重)。面部组件几何图形(例如一级面部几何图形和/或二级面部组件的几何图形)可以由一个或更多个(通常是多个)混合形状来描述。每个混合形状可以使用固有几何图形来定义,或者可以使用与某个中性(或平均)混合形状的偏移来定义。每个混合形状都可以用对应的混合形状权重进行加权,并且加权的混合形状可以被组合(例如求和)为组件几何图形的完整表示。也就是说,面部组件的几何图形可以由该面部组件的混合形状的加权和来定义。
本发明的一个方面提供了用于训练二级面部组件动画模型的方法。该方法可以将一级面部动画、对应的二级面部组件动画和一级面部顶点的子集(一级面部几何图形顶点子集)作为输入,该一级面部顶点对应于(例如接近)针对其训练模型的二级面部组件的顶点,并且可以生成二级面部组件动画模型。一级面部动画和二级面部组件动画可以分别包括一系列混合形状权重集——例如,每个动画帧有一个一级面部混合形状权重集,并且每个动画帧有一个二级组件混合形状权重集。一级面部几何图形顶点子集可以包括信息(例如索引),该信息用于识别一级面部表示内的顶点集,这些顶点对应于(例如接近)针对其训练模型的二级面部组件的顶点。如下文所详细说明的,通过该方法生成的二级面部组件动画模型可以包括:权重转换矩阵(这将一级面部权重转换为二级组件权重);以及权重转换偏移矢量。
通过训练方法生成的权重转换矩阵和权重转换偏移矢量(即面部组件动画模型)可以用于推断方法,以从一级面部混合形状权重生成二级组件混合形状权重。二级组件混合形状权重可以用于为给定的一级面部几何图形生成二级面部组件几何图形。
本发明的一些方面提供了用于执行本文中描述的一个或更多个方法的系统82(其示例实施方式如图1A所示)。系统82可以包括处理器123、存储模块125、输入模块126和输出模块128。存储模块125可以存储本文中描述的一个或更多个模型和/或表示。处理器123可以训练本文中描述的一个或更多个二级面部组件动画模型132,并且将二级面部组件动画模型132存储在存储模块125中。在图1A的实施方式中,二级面部组件动画模型132包括权重转换矩阵46、权重转换偏移矢量52,可选的二级组件基矩阵32和可选的二级组件平均矢量34,下文将对这些内容进行详细说明。处理器123可以从存储模块125中检索二级面部组件动画模型132,并且从一级面部动画生成二级面部组件动画。
图1B和图1C描绘了根据特定实施方式的用于使用一级面部动画112和二级面部组件动画模型132作为输入使二级面部组件动画化(生成二级面部组件动画114)的示例性、非限制性方法101。方法101可以理解为是基于一级面部动画112来推断二级面部组件动画114的方法。
方法101将一级面部动画(一级面部几何图形(例如,逐帧地))112和二级面部组件动画模型132作为输入,并生成二级面部组件动画(二级面部组件几何图形(例如,逐帧地))114。方法101可以可选地生成和/或呈现图像(动画帧),包括用于特定帧(步骤130)或者用于二级面部组件动画114中的一些或全部帧(步骤140)的二级面部组件。这些生成和/或呈现步骤将在下文中详细描述。
一级面部动画112的每一帧和二级面部组件动画114的每一帧可以采用多种表现形式。在一些实施方式中,一级面部动画112的每一帧可以由数量为n个的顶点表示,每个顶点具有三个几何坐标(例如{x,y,z})。在这样的实施方式中,一级面部动画112的每一帧可以用维度为3n的矢量来表示。如本领域所知,一级面部动画112的每一帧或者3n坐标可以是某个坐标系中的独立坐标,或者可以表示为相对于某个平均帧或中性帧(也称为平均或中性矢量)的偏移量。例如,在一级面部动画112的中性帧具有坐标[x1,0,y1,0,z1,0…xn,0,yn,0,zn,0]并且一级面部动画112的第i个特定帧具有坐标[x1,i,y1,i,z1,i...xn,i,yn,i,zn,i]的情况下,则第i帧也可以表示为相对于中性帧的偏移,如具有坐标[(x1,i-x1,0),(y1,i-y1,0),(z1,i-z1,0)…(xn,i-xn,0),(yn,i-yn,0),(zn,i-zn,0)]。
一级动画112的每一帧和二级面部组件动画114的每一帧都可以分解为所谓的混合形状,其中每个混合形状都具有上述矢量表示——即顶点集,每个顶点都具有三个几何坐标(例如{x,y,z}),这样的坐标可以是独立坐标,或者可以是相对于平均矢量的偏移。例如,在一级面部动画112被分解为一组k个混合形状并且一级面部几何图形由n个顶点定义的情况下,则一级面部动画112的k个混合形状中的每一个都可以是维度为3n的矢量。同样,在二级面部组件动画114被分解为一组q个混合形状并且二级组件几何图形由m个顶点定义的情况下,则二级面部组件动画114的q个混合形状中的每一个都可以是维度为3m的矢量。在混合形状表示中,一级面部动画112的每一帧和/或二级面部组件动画114的每一帧都可以包括一组混合形状权重,这些混合形状权重可以用于使用混合形状的加权组合来重新创建该帧的顶点。例如,在一级面部动画112被分解为一组k个混合形状的情况下,则一级面部动画112的每一帧可以由维度为k的一级面部组件权重矢量表示,并且该帧的顶点(独立的或偏移的)和对应的几何图形可以通过k个混合形状的加权组合来重新创建。例如,一级面部动画112第i帧的顶点可以根据 重新创建,其中{w1,i,w2,i,…wk,i}是与第i帧对应的k个权重,并且/>是与具有偏移表示的一级面部动画112对应的k个混合形状,其中k个混合形状矢量中的每一个的维度为3n。
对于包括f个帧的动画,该表达式可以用矩阵形式表示为X=ZV,其中V是维度为[k,3n]的基矩阵,其中每行是k个混合形状中的一个,Z是维度为[f,k]的权重矩阵,其中每行包括f个帧中的特定一帧的k个混合形状权重,并且X是维度为[f,3n]的矩阵,其中每行表示一级面部动画112的f个帧中的一帧的具有偏移表示的几何图形(3n个坐标)。相应地,用作方法101的输入的一级动画112可以被编码为一系列成组的混合形状权重(每帧一组权重(例如,针对k个对应混合形状,一组k个权重))。
类似地,在二级面部组件动画114被分解为一组q个混合形状的情况下,则二级面部组件动画114的每一帧可以由维度为q的二级面部组件权重矢量表示,并且该帧的顶点(独立的或偏移的)和对应的几何图形可以由q个混合形状的加权组合重新创建。相应地,从方法101输出的二级面部组件动画114可以被编码为一系列成组的混合形状权重(每帧一组权重(例如,针对q个对应混合形状,一组q个权重))。
根据图1B和图1C所示的方法101,一系列动画帧上的二级面部组件的动画114对应于同一系列动画帧上的一级面部几何图形的动画112。也就是说,推断方法101可以为一级面部动画112的每一帧推断二级面部组件动画114的一帧。
方法101的步骤110包括:针对一级面部动画112的每一帧执行步骤120、可选步骤130和步骤134。步骤120针对一级面部动画112的每一帧生成一组二级组件混合形状权重116,并且步骤134针对一级面部动画112的每一帧累积这些成组的二级组件混合形状权重,以提供二级面部组件动画114。在示出的实施方式中,二级面部组件动画114包括一系列成组的二级组件混合形状权重116,其中每组二级组件混合形状权重116(由步骤120生成并且由步骤134累积)对应于一级面部动画112的一帧和/或等同于一级面部动画112的帧的混合形状权重。
图1C描绘了方法121,方法121可以用于根据特定的实施方式实现方法101的步骤120(图1B)。如上所述,步骤120(和方法121)针对一级特征面部动画112的每一帧执行。在图1C实施方式中,方法121(步骤120)从面部组件动画模型132接收与一级面部动画112的特定帧对应的一组一级混合形状权重112'以及权重转换矩阵46和权重转换偏移矢量52作为输入。例如,面部动画混合形状权重112'可以包括维度为k的矢量,其中k是用于表示一级面部动画112的混合形状的数量。在图1C的实施方式中,方法121(步骤120)包括步骤122和124。
方法101的步骤122包括:将一级混合形状权重112'与二级面部组件动画模型132的权重转换矩阵46相乘,以生成乘积136。权重转换矩阵46可以包括维度为[q,k]的矩阵,使得权重转换矩阵46与面部动画混合形状权重112'的乘积136产生维度为q的乘积矢量136。
方法101的步骤124包括:将二级面部组件动画模型132的权重转换偏移矢量52与乘积136相加,以生成所考虑的帧的二级组件混合形状权重116。权重转换偏移矢量52可以具有维度q(即与乘积136的维度相同),使得二级组件混合形状权重116也具有维度q。
返回去参照图1B,多次重复步骤120(每帧重复一次)会针对每一帧生成一组二级组件混合形状权重116,当在步骤134中逐帧地累积时,会提供二级面部组件动画114。每组二级组件混合形状权重116(二级面部组件动画114的每一帧一组)可以是维度为q的矢量。如上所述,为了生成和/或呈现图像帧(例如在可选的步骤130、140中),可以通过将对应的混合形状权重矢量116乘以q个二级组件混合形状的矩阵来重新创建二级面部组件动画114的每一帧的顶点几何图形(独立的或偏移的)。图像生成和/或呈现步骤130、140以及该顶点几何图形重建将在下文中详细说明。
图2描绘了用于生成训练数据21的示例性、非限制性方法200,该训练数据21用于训练二级面部组件动画模型(例如图1C中所示的二级面部组件动画模型132)。图2中的方法200可以针对要建模的每个二级面部组件执行,例如,针对睫毛、每个眉毛、下颌骨、面部毛发、舌头等中的每一个来执行。
方法200将以下内容作为输入:一级面部中性表示(一级面部中性几何图形)10、二级面部组件中性表示(二级组件中性几何图形)12和一级面部动画16。在一些实施方式中,方法200可以将一级面部几何图形的其他形状(例如混合形状和/或基于顶点的几何图形)作为输入。方法200生成训练数据21,该训练数据21随后可以用于训练二级面部组件动画模型132,以使二级面部组件动画化。
一级面部中性表示10可以对应于一个特定的面部表面几何图形,并且一级面部动画16可以对应于面部表面几何图形的帧的运动范围序列。一级面部中性表示10和一级面部动画16的每一帧可以具有相同的拓扑结构(即由相同的数据结构表示或者可转换为相同的数据结构)。一级面部中性表示10可以包括一级面部动画16的帧中的一帧的几何图形,但这并非是必须的。在一些实施方式中,一级面部中性表示10可以被选择作为一级面部动画16的帧,或以其他方式从一级面部动画16中获得,因此并不严格要求将一级面部中性表示10作为方法200的输入。一级面部动画16可以使用面部动作捕获技术获取、通过由一个或更多个艺术家生成、使用面部装备生成、从其他角色转移,等等。一级面部中性表示10和一级面部动画16的每一帧可以由一组n个顶点表示,每个顶点具有{x,y,z}坐标,这些坐标又可以表示为长度为3n的矢量。附加地或者替选地,可以用一组一级混合形状权重(例如k个混合形状权重)来表示一级面部中性表示10和一级面部动画16的每一帧,其中每个一级混合形状包括长度为3n的已知矢量,该矢量表示一组n个顶点的位置,每个顶点具有{x,y,z}坐标,并且一级混合形状的加权和会产生一级面部中性表示10或者一级面部动画16的帧的几何图形(视情况而定)。可以理解的是,一级面部中性表示10和一级面部动画16的每一帧可以包括以下表示中的一者或两者,或者可以在表示之间来回转换:表示顶点位置的长度为3n的矢量;以及与适当的每个长度为3n的一组一级混合形状矢量(混合形状)对应的一组一级混合形状权重。
二级组件中性表示12可以对应于二级面部组件的几何图形(例如表面几何图形),例如:面部毛发、眉毛、睫毛、下颌骨、舌头等。当一级面部几何图形是一级面部中性表示10时,二级组件中性表示12可以对应于二级面部组件的几何图形,但这并不是必须的。二级组件中性表示12可以由m个顶点的集合表示,每个顶点具有{x,y,z}坐标,并且可以表示为长度为3m的矢量。
在示出的实施方式中,训练数据21包括一级面部动画16(即输入到方法200的相同的一级面部动画16)、二级组件动画18(一级面部动画16的每一帧对应二级组件动画18的每一帧)和一级面部几何图形顶点子集20。训练数据21的这些元素将在下文中详细说明。
可以针对多个二级组件中的每一个重复方法200,以生成用于训练对应的多个二级面部组件动画模型132中的每一个的训练数据21。
方法200的步骤212包括:通过将二级面部组件装备到一级面部几何图形来生成动画装备14。动画装备14定义二级面部组件的二级顶点与一级面部几何图形的一个或更多个一级顶点之间的关系。动画装备14的生成是面部动画领域的已知过程,并且可以使用市售的工具(如由Autodesk提供的Maya和/或其他类似软件)执行。动画装备14可以描述二级组件的一个或更多个二级顶点如何相对于一级面部几何图形的一个或更多个一级顶点移动。通过非限制性示例,动画装备14可以将二级组件中性表示12的一个或更多个二级顶点的变换定义为一级面部几何图形的一级顶点位置的函数,使得当一级面部几何图形的顶点移动时,动画装备14可以规定二级顶点的对应移动。可以理解的是,动画装备14(一旦在步骤212中生成)可以能够在给定的一组一级面部顶点作为输入的情况下规定一组二级组件顶点的几何图形,但是动画装备14及其对应的操作在实时使用时速度不够快,无法在实时引擎(例如由Epic游戏等公司制作的虚幻引擎(Unreal Engine))中使用,并且不容易转换为简单的等式。如下文更详细地说明的,二级面部组件动画模型132(一旦经过训练)将来自动画装备14的知识纳入模型132中,该模型132可以用于在给定一组一级面部顶点(或混合形状权重)作为输入的情况下,以最少的计算来预测一组二级组件顶点(或混合形状权重)的几何图形。
动画装备14可以通过商业三维工具(例如由Autodesk提供的Maya和/或其他类似软件)中可用的几何操作来表示,并且可以通过自定义操作符进行扩展。操作示例为:碰撞检测和解决、平滑、吸引力/排斥力、程序化混合建模形状等。
方法200的步骤214包括:通过一级面部几何图形(例如一级面部动画16)的运动范围来运用动画装备14,以生成一级面部动画16的对应帧和二级面部组件动画18。一级面部动画16和二级面部组件动画18中的一者或两者可以用张量表示。一级面部动画16可以由维度为[f,3n]的矩阵表示,其中f是动画的帧数,n是用于定义一级面部几何图形的顶点数。附加地或者替选地,面部动画16的每一帧可以由一组一级混合形状权重(例如k个混合形状权重)表示,并且面部动画16的各帧可以由维度为[f,k]的矩阵表示,其中每行对应于混合形状权重的帧。二级组件动画18可以由维度为[f,3m]的矩阵表示,其中f是动画的帧数,m是用于定义二级组件的顶点的数量。
步骤214可以包括以下步骤中的一个或更多个:
·用户模拟一级面部几何图形的运动范围。通常,动画装备具有用户直观控制,遵循诸如面部动作编码系统(FACS)的标准。熟悉这些控制的用户(动画师)可以通过以下操作来创建逼真的面部动画:对一组稀疏的帧设置控制值,使得其内插值将驱动装备并生成一级面部动画16和对应的二级组件动画18的几何图形;以及
·导入通过对演员进行动作捕获而捕获到的一级面部动画16。基于标记的面部运动捕获生成随时间动画化的一组稀疏三维点,该组稀疏三维点与演员面部的跟踪位置对应。在非线性求解器中,这些点可用作约束条件,以找到与演员表情相匹配的对应动画装备控制。动画装备14将生成与跟踪标记相匹配的位置以及一级面部动画16和对应的二级组件动画18的几何图形。
方法200的步骤216包括:生成一级面部几何图形顶点子集20。步骤216可以由装备师(即构建动画装备14的人员)执行。如上所述,一级面部几何图形(例如,一级面部中性表示10和一级面部动画16的每一帧)可以由一组n个顶点表示,每个顶点具有{x,y,z}坐标。在步骤216中生成的一级面部几何图形顶点子集20对应于构成一级面部几何图形的n个顶点的集合的子集。在一些实施方式中,一级面部几何图形顶点子集20可以由一组p≤n个索引来表示,这些索引对应于从构成一级面部几何图形的n个顶点中选择的p个顶点。
步骤216和一级面部几何图形顶点子集20特定于针对其执行方法200的每个二级组件。步骤216可以涉及针对每个二级面部组件选择认为接近所考虑的二级面部组件的几何图形或认为可能影响所考虑的二级面部组件的几何图形的一级面部几何图形顶点的子集p。例如,在执行方法200的二级面部组件是舌头的情况下,步骤216可以涉及选择与靠近嘴巴(舌头所在位置)的一级面部几何图形的顶点对应的p个顶点的子集。同样,在执行方法200的二级面部组件是左下睫毛的情况下,步骤216可以涉及选择与靠近左眼的一级面部几何图形的顶点对应的p个顶点的子集。虽然步骤216对一级面部几何图形顶点子集20的选择可以由人工装备者执行以提供最大的艺术灵活性,但可以理解的是,步骤216可以使用合适的接近标准自动执行。例如,可以将一级面部几何图形顶点子集20选择成包括在一级面部几何图形的可识别区域或二级组件的适当阈值接近度内的一级面部几何图形顶点。
方法200的输出是训练数据21,在示出的实施方式中,训练数据21包括:一级面部动画16、二级组件动画18和一级面部几何图形顶点子集。如上所述,一级面部动画16可以由维度为[f,3n]的矩阵表示,其中,f是动画的帧数,n是构成一级面部几何图形的顶点数;二级组件动画18可以用维度为[f,3m]的矩阵表示,其中,f是动画的帧数,m是构成二级组件几何图形的顶点数;以及一级面部几何图形顶点子集20,其可以用从构成一级面部几何图形的n个顶点中选择的p个顶点子集的一组p≤n个索引表示。可以理解的是,一级面部动画16的帧与二级组件动画18之间存在一一对应关系。
图3A至图3C描绘了根据本发明的一个实施方式的使用训练数据21训练二级面部组件动画模型(例如图1C中所示的二级面部组件动画模型132)的示例性、非限制性方法300。方法300可以接收来自方法200的训练数据21作为输入,训练数据21可以包括一级面部动画16、二级面部组件动画18和一级面部几何图形顶点子集20。方法300可以输出二级面部组件动画模型132,在示出的实施方式中,二级面部组件动画模型132可以包括:下文将详细描述的权重转换矩阵46和权重转换矢量52。
在示出的实施方式中,方法300从步骤302开始,步骤302涉及获得(或生成)一级面部动画16的主成分分析(PCA)分解25。可以理解的是,步骤302的矩阵分解(在本文中说明和描述为PCA分解)一般可以包括任何合适形式的矩阵分解技术或降维技术(例如独立成分分析(ICA)、非负矩阵因式分解(NMF)等)。为简洁起见,步骤302、其输出矩阵分解25和组件平均矢量17、基矩阵19和权重23在本文中被描述为PCA分解(例如PCA分解步骤302、PCA分解25、PCA平均矢量17、PCA基矩阵19和PCA权重23)。然而,除非上下文另有所指,否则这些元素应被理解为包括其他形式的矩阵分解和/或降维技术的过程和输出。PCA分解25可以包括PCA平均矢量17、PCA基矩阵19和一组PCA权重23。在一些实施方式中,PCA分解25可以预先获得,在这种情况下,不需要生成PCA分解25来作为方法300的一部分,而可以仅获得来作为方法300的输入。为了块302PCA分解的目的,一级面部动画16可以通过维度为[f,3n]的矩阵X用矩阵格式表示,其中f是一级面部动画16中的帧数,n是一级面部几何图形中的顶点数,3n表示每个顶点的3个坐标(例如{x,y,z}维度)。
PCA平均矢量17可以包括维度为3n的矢量其中n是一级面部几何图形的拓扑中的顶点数(即一级面部动画16的每一帧中的顶点数)。PCA平均矢量17的每个元素可以包括一级面部动画矩阵X的对应列相对于一级面部动画16的f个帧的均值。由于PCA平均矢量17是长度为3n的矢量,因此可以认为PCA平均矢量17定义了一级面部几何图形。在一些实施方式中,例如,在方法300之前执行PCA分解25时,PCA平均矢量17可以与结合用于获得训练数据21的方法200描述的一级中性几何图形10相同或等效。
PCA基矩阵19可以包括维度为[k,3n]的矩阵V,其中k是PCA分解中使用的混合形状(也称为特征矢量)的数量,其中k≤min(f,3n]。PCA基矩阵19的k行中的每一行都具有3n个元素,并且可以称为混合形状。个数k可以称为混合形状数。混合形状的个数k是PCA分解过程(步骤302)的参数,并且可以通过直接选择个数k、通过选择可以通过k个混合形状等来说明的一级面部动画16的方差的百分比来配置。个数k可以取决于方法101(图1B)和121(图1C)实时运行的计算预算。个数k越高,PCA分解25就越能忠实地重建一级面部动画16的所有帧。
PCA权重23可以包括维度为[f,k]的矩阵Z,其中f是一级面部动画16中的帧数,k是混合形状的数量,如上所述。PCA权重23的矩阵Z的每一行都是与一级面部动画16的特定帧对应的一组k个权重(矢量)。
可以根据从PCA分解25来近似地重建一级面部动画16的各帧,其中/>是维度为[f,3n]的矩阵,其中/>的每一行表示一级面部动画16的一个帧的近似重建、Z是与PCA权重23对应的维度为[f,k]的矩阵,V是与PCA基19对应的维度为[k,3n]的矩阵,/>是维度为[f,3n]的矩阵,其中/>的每一行是/>并且/>是与PCA平均矢量17对应的维度为3n的矢量。可以根据/>近似地构建一级面部动画16的单个帧,其中/>是包括维度为3n的矢量的重建帧,/>是被选择为PCA权重矩阵Z的行的具有维度为k的一组权重(PCA权重23)(矢量)。
在一些情况下,可能不需要块302。例如,在一些情况下,用于生成训练数据21(见图2)并且用作训练方法300的输入的一级面部动画16可能已经具有混合形状分解。这种混合形状分解不一定严格意义上是PCA分解,并且元素(权重、基和平均值)也不一定与从块302输出的PCA权重23、PCA基19和PCA平均值17相同。例如,一级面部动画16可以以FACs混合形状或混合形状格式的形式提供,该格式是任何适当形式的矩阵分解技术或降维技术(例如独立成分分析(ICA)、非负矩阵因式分解(NMF)等)的结果。方法300可以继续使用来自其他分解的权重、基和平均值,这些权重、基和平均值可以作为输入提供给方法300。为简洁起见,本说明书使用术语PCA权重23、PCA基19和PCA平均值17。然而,除非上下文另有所指,否则应理解,权重23、基19和平均值17可以用一级面部动画16的一些其他分解的权重、基和平均值代替。可以接收一级面部动画16的一些其他分解的权重、基和平均值作为本文中描述的方法的输入。
方法300的步骤312包括基于一级面部动画16和一级面部几何图形顶点子集20生成一级顶点子集动画22。由于一级面部几何图形顶点子集20的每个元素对应于一级面部几何图形的顶点(例如,一级面部组件顶点子集20包括一级面部动画16的每一帧中使用的面部几何图形的p≤n个顶点的索引),因此可以通过提取一级面部动画16矩阵X中的对应于一级面部几何图形顶点子集20的p个顶点的列,从一级面部动画16中提取一级面部几何图形顶点子集20的仅p个顶点的动画。一级顶点子集动画22可以用维度为[f,3p]的矩阵来表示。
方法300的步骤314包括:将一级顶点子集动画22与二级面部组件动画18进行组合,以生成组合动画矩阵24。其中,一级顶点子集动画22由维度为[f,3p]的矩阵表示,并且二级面部组件动画18由维度为[f,3m]的矩阵表示,步骤314的将一级顶点子集动画22与二级面部组件动画18进行组合可以包括:连接表示顶点的维度,使得组合动画24是维度为[f,3(m+p)]的矩阵。
方法300进行到步骤316,步骤316包括:对组合动画矩阵24执行另一PCA分解,以获得组合PCA分解37。步骤316可以与上述步骤302相似,不同之处在于:步骤316使用组合动画矩阵24来工作。如上所述,组合动画矩阵24包括维度为[f,3(m+p)]的矩阵W,其中组合动画矩阵24的每一行表示帧,并且包括二级组件动画18的m个二级组件顶点和一级面部几何图形子集动画22的p个顶点的3个坐标(例如{x,y,z}位置)。步骤316的组合PCA分解37的输出包括:组合PCA平均值31、组合PCA基33和组合PCA权重35。如下文所详细说明的,组合PCA权重35不是执行方法300所必需的,而是步骤316的PCA分解的附带输出。可以理解的是,步骤316的矩阵分解(此处示出和描述为PCA分解)一般可以包括任何适当形式的矩阵分解技术或降维技术(例如独立成分分析(ICA)、非负矩阵因式分解(NMF)等)。为简洁起见,步骤316、其输出矩阵分解37和组件平均矢量31、基矩阵33和权重35在本文中被描述为PCA分解(例如PCA分解步骤316、组合PCA分解37、组合PCA平均矢量31、组合PCA基矩阵33和组合PCA权重35)。然而,除非上下文另有规定,否则这些元素应被理解为包括其他形式的矩阵分解和/或降维技术的过程和输出。此外,本文中的方法描述了进一步处理分解37的元素以生成相关组件,例如,通过非限制性示例,生成二级组件基矩阵32、二级组件平均矢量34、组合一级子集基矩阵36、组合一级子集平均矢量38,并且这种进一步导出的组件不限于从PCA分解中导出的组件,并且这种进一步导出的组件应理解为可以以类似方式从其他(非PCA)矩阵分解和/或降维技术导出。
组合PCA平均值31包括维度为3(m+p)的矢量组合PCA平均矢量31的每个元素可以包括组合动画矩阵W的对应列相对于组合动画24的f个帧的平均值。组合PCA基33包括维度为[q,3(m+p)]的矩阵M,其中q是PCA分解中使用的组合混合形状(也称为特征矢量)的数量,其中q≤min(f,3(m+p))。组合PCA基矩阵33的q行中的每一行具有3(m+p)个元素,并且可以称为组合混合形状。数量q可以称为组合混合形状的数量。组合混合形状的数量q是PCA分解过程(步骤316)的参数,并且可以通过直接选择数量q、通过选择应由q个组合混合形状解释的组合动画24中的方差的百分比等来配置。数量q可以取决于方法101(图1B)和121(图1C)实时运行的计算预算。数量q越高,组合PCA分解37就越能忠实地重建组合动画24的所有帧。组合PCA权重35可以包括维度为[f,q]的矩阵Y。PCA权重35的矩阵Y的每一行都是与组合动画24的特定帧对应的一组q个权重(矢量)。
可以根据从PCA分解25近似地重建组合动画24的帧,其中/>是维度为[f,3(m+p)]的矩阵,其中/>的每一行表示组合动画24的一个帧的近似重建,r是与组合PCA权重35对应的维度为[f,q]的矩阵;M是与组合PCA基33对应的维度为[q,3(m+p)]的矩阵;/>是维度为[f,3(m+p))]的矩阵,其中/>的每一行为/>并且/>是与组合PCA平均矢量31对应的维度为3(m+p)的矢量。可以根据/>近似地构建组合动画24的单个帧,其中/>是包括维度为3(m+p)的矢量的重建帧,/>是被选择为PCA权重矩阵Y的行(组合PCA权重35)的维度为q的一组权重(矢量)。
然后,方法300进行到步骤322,步骤322包括:从组合PCA基矩阵33中提取与二级组件的m个顶点对应的列,以生成二级组件基矩阵32。如上所述,组合PCA基矩阵33包括维度为[q,3(m+p)]的矩阵M。可以理解的是,组合PCA基矩阵33的3m个列对应于二级组件。在步骤322中,从组合PCA基矩阵33中提取这3m个列,以生成维度为[q,3m]的二级组件基矩阵32。二级组件基矩阵32在本文中可以称为维度为[q,3m]的二级组件基矩阵D。可以理解的是,二级组件基矩阵32(二级组件基矩阵D)的每一行都可以视为所考虑的二级组件的混合形状。
然后,方法300进行到步骤324,步骤324包括:从组合PCA平均值31中提取与二级组件的m个顶点对应的元素,以生成二级组件平均矢量34。如上所述,组合PCA平均矢量31包括维度为3(m+p)的矢量可以理解的是,组合PCA平均矢量31的3m个元素对应于二级组件。在步骤324中,从组合PCA平均矢量31中提取这3m个元素,以生成维度为3m的二级组件平均矢量34。二级组件平均矢量34在本文中也可以称为维度为3m的二级组件平均矢量/>
方法300然后进行到步骤326,步骤326与步骤322类似,不同之处在于:步骤326涉及从组合PCA基矩阵33中提取与一级顶点子集20的p个顶点对应的列,以生成组合一级子集基矩阵36。如上所述,组合PCA基矩阵33包括维度为[q,3(m+p)]的矩阵M。可以看出,组合PCA基矩阵33的3p个列对应于一级顶点子集20。在步骤326中,从组合PCA基矩阵33中提取这3p个列,以生成维度为[q,3p]的组合一级子集基矩阵36。可以理解的是,组合一级子集基矩阵36的每一行都可以视为一级顶点子集的混合形状。
然后,方法300进行到步骤328,步骤328与步骤324类似,不同之处在于:步骤328涉及从组合PCA平均值31中提取与一级顶点子集20的p个顶点对应的元素,以生成组合一级子集平均矢量38(组合PCA一级子集平均矢量)。如上所述,组合PCA平均矢量31包括维度为3(m+p)的矢量/>可以理解的是,组合PCA平均矢量31的3p个元素对应于一级顶点子集20。在步骤328中,从组合PCA平均矢量31中提取这3p个元素,以生成维度为3p的组合一级子集平均矢量38(组合PCA一级子集平均矢量/>)。
然后,方法300进行到步骤330,步骤330包括:从组合一级子集基矩阵36生成投影矩阵40,该投影矩阵40可以将一级特征顶点子集20的p个顶点的位置(或相对于中性的偏移)的任何给定配置投影到组合一级子集基矩阵36的一组权重,尽管存在一些误差。投影矩阵40可以根据P=(ATA)-1AT,通过使得与使用组合一级子集基矩阵36相关联的最小二乘重建误差最小化来确定,其中AT是组合一级子集基矩阵36,P是投影矩阵40。投影矩阵P(投影矩阵40)的维度为[q,3p],与一级子集基矩阵AT(组合一级子集基矩阵36)的维度相同。当投影矩阵P右乘以一级顶点子集20的p个顶点的位置(或偏移)的给定配置(即维度为3p的列矢量)时,结果是维度为q的矢量矢量/>可以视为组合一级子集基矩阵36的一组权重。也就是说,当组合一级子集基矩阵36(AT)左乘以该矢量/>(作为行矢量)时,乘积/>生成与一级特征顶点子集20的p个顶点的位置(或偏移)相对应的维度为3p的集合(矢量),这使得相对于一级特征顶点子集20的这p个顶点的原始输入位置(或偏移)的最小二乘误差最小化。投影矩阵P(投影矩阵40)可以描述为将矢量/>投影到AT的行所跨空间的矩阵,其中/>和AT具有上述含义。
方法300然后进行到步骤332,步骤332涉及从与一级面部动画16对应的PCA基19(图3A)中提取与一级顶点子集20对应的每个PCA混合形状的各部分,以生成一级顶点子集混合形状42(在本文中也称为输入一级顶点子集基42)。如上所述,PCA基19包括维度为[k,3n]的矩阵V,其中k是在步骤302的PCA分解中使用的混合形状(也称为特征矢量)的数量,n是一级面部几何图形中的顶点数。PCA基矩阵19的k个行中的每一行具有3n个元素,并且可以称为混合形状。步骤332包括:提取与一级顶点子集20的p个顶点对应的PCA基19的列(矩阵V),以建立一级顶点子集混合形状矩阵42(输入一级顶点子集基42)。一级顶点子集混合形状矩阵42(输入一级顶点子集基42)包括维度为[k,3p]的矩阵V*,其中列数(3p)对应于一级顶点子集20的p个顶点的3个坐标(例如{x,y,z}维度)。如上所述,在一些情况下,不需要步骤302的PCA分解,并且可以提供一级面部动画16的一些其他形式的混合形状分解(包括混合形状(或混合形状基矩阵)、权重和平均矢量)(例如,作为方法300的输入)。在这种情况下,可以使用其他混合形状分解的基矩阵(代替PCA基19)来提取一级顶点子集混合形状42(输入一级顶点子集基42)。这种一级顶点子集混合形状42(输入一级顶点子集基42)也可以用维度为[k,3p]的矩阵表示,其中k是这种其他分解中的混合形状的数量,并且在本文中可以称为V*。应该注意的是,这种其他分解中的混合形状的数量k是为了方便而使用的,而不必与可选步骤302的PCA分解中的混合形状的数量k相同。
然后,方法300进行到步骤334,步骤334涉及对一级顶点子集混合形状42的矩阵V*(输入一级顶点子集基42)进行转置,并且用该转置矩阵V*T右乘以投影矩阵40(P)。该步骤334的乘积(C=PV*T)的结果是维度为[q,k]的权重转换矩阵46(权重转换矩阵C),其中k是步骤302的PCA分解中的一级组件的数量,q是步骤316的组合PCA分解中的一级组件的数量。权重转换矩阵46是二级面部组件动画模型132的一部分,并且用于方法101、121(图1B、1C)的推断步骤,以确定用于构建执行方法101、121、300的二级组件特征的几何图形的二级组件几何图形权重116。
然后,方法300进行到步骤336,步骤336以类似于步骤332的方式涉及从PCA平均矢量17(图3A)中提取与一级顶点子集20对应的元素,以生成一级顶点子集平均矢量48(本文中也称为输入一级顶点子集平均矢量48)。如上所述,PCA平均矢量17包括维度为3n的矢量步骤336包括:提取PCA平均矢量17(矢量/>)中与一级顶点子集20的p个顶点对应的元素,以建立输入一级顶点子集平均矢量48。一级顶点子集元素的矢量包括维度为3p的矢量/>其中行数(3p)对应于一级顶点子集20的p个顶点的3个坐标(例如{x,y,z}维度)。如上文所述,在一些情况下,不需要步骤302的PCA分解,并且可以提供一级面部动画16的一些其他形式的混合形状分解(例如,作为方法300的输入)。在这种情况下,可以使用其他混合形状分解的平均值或中性值来提取输入一级顶点子集平均矢量48。这样的输入一级顶点子集平均矢量48的维度也是3p,并且在本文中可以称为/>
方法300然后进行到步骤338,步骤338涉及将投影矩阵40(P)右乘以输入一级顶点子集平均矢量48(矢量)与列形式的组合一级子集平均矢量38(矢量/>)之间的差。该步骤338乘积/>的结果是维度为q的权重转换偏移矢量52(权重转换偏移矢量/>),其中q是步骤316的组合PCA分解中的一级组件的数量。权重转换偏移矢量52(权重转换偏移矢量/>)是二级面部组件动画模型132的一部分,并且用于方法101、121(图1B、1C)的推断步骤,以确定用于构建执行方法101、121、300的二级特征的几何图形的二级几何图形权重116。在输入的一级顶点子集平均矢量48/>是由步骤302中的PCA分解导出的情况下,输入的一级顶点子集平均矢量48/>将与步骤328中获得的组合一级子集平均矢量38(矢量/>)相同,在这种情况下,权重转换偏移矢量52(权重转换偏移矢量/>)将为零。然而,在一般情况下,在输入的一级顶点子集平均矢量48/>是从一些其他形式的混合形状分解导出的,则输入的一级顶点子集平均矢量48/>将不同于在步骤328中获得的组合一级顶点子集平均矢量38(矢量/>),并且权重转换偏移矢量52(权重转换偏移矢量/>)将不为零。
现在返回到图1B和图1C中所示的使用二级面部组件模型132从一级面部动画112推断二级面部组件动画114的方法101,我们更详细地考虑根据特定实施方式的步骤120的过程。如上所述并且如图1B和图1C所示,步骤120对一级面部动画112的每一帧都执行一次。如上所述,一级面部动画112的每一帧可以由k个混合形状权重112′的集合(即维度为k的矢量)表示,其中假定PCA分解25(具有k个混合形状)用于表示一级面部动画112。因此,对于特定帧,步骤122(图1C)涉及将维度为[q,k]的权重转换矩阵46(权重转换矩阵C)右乘以该k维的权重矢量/>(表示一级面部动画112的帧),以生成维度为q的乘积矢量136(乘积矢量/>)。然后,步骤124涉及将权重转换偏移矢量52(权重转换偏移矢量/>)与乘积矢量136(乘积矢量/>)相加,以生成维度为q的二级组件权重矢量116(二级组件权重矢量/>其中/>)。二级组件权重116的矢量/>表示二级面部组件动画114的帧。
如图1B所示并且如上所述,方法101可以可选地包括:使用二级几何图形权重116逐帧地生成和/或呈现图像(在步骤130中)和/或生成和/或呈现二级面部组件动画114的一些或全部帧(在步骤140中)。在步骤130、140中生成和/或呈现图像帧可以使用合适的动画软件实时(例如,每秒多次)执行,例如由Epic游戏等公司制作的虚幻引擎(UnrealEngine)。在步骤130、140中生成和/或呈现图像帧可以涉及呈现一级面部几何图形(例如一级面部动画112的帧)、一个或更多个二级面部组件的几何图形(例如次几何图形权重116或二级面部组件动画114的帧)以及场景的其他方面。就本公开内容的目的而言,对生成和/或呈现的描述仅限于描述如何从二级几何图形权重116的每个集合(用于在步骤130中生成/呈现单个帧)以及从二级面部组件动画114中的二级几何图形权重116的多个帧(用于在步骤140中生成/呈现多个帧)重新生成(计算)二级面部组件的三维顶点几何图形。
如上所述,步骤120的每次迭代都会生成二级组件权重116的矢量(维度为q),矢量/>对应于一级面部动画112的对应帧。二级组件权重116的该矢量/>可以用于使用二级组件基矩阵32(二级组件基矩阵D)和二级组件平均矢量34(二级组件平均矢量/>)针对特定帧构建二级面部组件的顶点几何图形(独立于中性或偏离中性)——参见方法300的步骤322和324(图3B)。二级组件基矩阵32(二级组件基矩阵D)和二级组件平均矢量34(二级组件平均矢量/>)可以形成二级面部组件模型132(见图1A)的一部分,或者可以以其他方式得出,以可以用于执行步骤130。如上所述,二级组件基矩阵32(二级组件基矩阵D)的维度为[q,3m],并且二级组件平均矢量34(二级组件平均矢量/>)的维度为3m。在步骤130中,可以根据重建二级组件几何图形的帧的顶点几何图形(维度为3m的矢量/>)。二级组件权重116的每个矢量/>(维度为q)与二级组件基矩阵D(维度为[q,3m])的乘积产生维度为3m的矢量,然后可将该矢量与二级组件平均矢量/>相加,以生成维度为3m的矢量/>该矢量可以对应于二级组件几何图形的m个顶点中的一帧的三个坐标(例如{x,y,z}维度)。
在步骤130中,可以逐帧地重复该过程,以生成和/或呈现二级面部组件动画14的单个帧。由于对于一级面部动画112的每一帧,方法101的推断只涉及一个矩阵乘法(步骤122)和一个矢量加法(步骤124),以生成二级组件权重116,然后再进行一个另外的矩阵乘法和一个另外的矢量加法,以呈现二级组件的3m个顶点几何图形,因此可以实时执行推断和呈现二级组件的3m个顶点几何图形的过程。
这种三维顶点重建过程可以扩展到多个帧,以在步骤140中生成和/或呈现二级面部组件动画114。二级面部组件动画114可以由对应于二级组件权重116(每个的维度为q)的f个帧的维度为[f,q]的矩阵T表示。在步骤140中,可以根据A=TD+Φ重建二级面部组件动画114的f个帧的顶点几何图形(维度为[f,3m]的矩阵A),其中D是二级组件基矩阵32(维度为[q,3m]),Φ是维度为[f,3m]的矩阵,其f个行中的每一行都是二级组件平均矢量34(二级组件平均矢量)。/>
图4A至图4D描绘了使用图1A的系统82和图1B及图1C的动画方法101、121制作的呈现的的各种表示,包括一级面部几何图形和二级面部组件(在这种情况下为上下、左右睫毛和左右眉毛)的对应几何图形。从图4A至图4D可以看出,睫毛和眉毛的二级组件几何图形以逼真的方式移动,以反映不同的面部的一级面部几何图形。
术语的说明
除非上下文另有明确要求,否则在整个说明书和权利要求书中:
·“包括”、“包含”等应该以包括性的含义来解释,而不是以排他性或穷举性的含义来解释;也就是说,以“包括但不限于”的含义来解释;
·“连接”、“耦接”或其任何变体意指两个或更多个元件之间直接或间接的任何连接或耦接;元件之间的耦接或连接可以是物理的、逻辑的或它们的组合;
·“本文”、“上文”、“下文”和含义类似的词语在用于描述本说明书时应该指本说明书的整体,而不指本说明书的任何特定部分;
·“或”在引用两个或更多个项的列表时涵盖该词的所有以下解释:列表中的任何项、列表中的所有项以及列表中的项的任何组合;
·单数形式和“该”也包括任何适当的复数形式的含义。
本说明书和任何随附权利要求(例如果存在)中使用的指示方向的词,例如“垂直”、“横向”、“水平”、“向上”、“向下”、“向前”、“向后”、“向内”、“向外”、“垂直”、“横向”、“左”、“右”、“前”、“后”、“顶”、“底”、“以下”、“以上”、“下方”等取决于所描述和所示出的装置的具体取向。本文描述的主题可以假定各种替选取向。因此,这些方向性术语没有严格定义,并且不应狭义地解释。
本发明的实施方式可以使用专门设计的硬件、可配置硬件、可编程数据处理器(通过提供能够在数据处理器上执行的软件(其可以可选地包括“固件”)来配置)、专用计算机或数据处理器(被专门编程、配置或构造成执行如本文详细说明的方法中的一个或更多个步骤)、和/或这些中的两个或更多个的组合来实现。专门设计的硬件的示例是:逻辑电路、专用集成电路(“ASIC”)、大规模集成电路(“LSI”)、超大规模集成电路(“VLSI”)等。可配置硬件的示例是:一个或更多个可编程逻辑器件,例如可编程阵列逻辑(“PAL”)、可编程逻辑阵列(“PLA”)和现场可编程门阵列(“FPGA”)。可编程数据处理器的示例是:微处理器、数字信号处理器(“DSP”)、嵌入式处理器、图形处理器、数学协处理器、通用计算机、服务器计算机、云计算机、大型计算机、计算机工作站等。例如,设备的控制电路中的一个或更多个数据处理器可以通过执行处理器可访问的程序存储器中的软件指令来实现如本文所描述的方法。
处理可以是集中式的或分布式的。在处理是分布式的情况下,包括软件和/或数据的信息可以集中式地保持或分布式保持。这样的信息可以借助例如局域网(LAN)、广域网(WAN)或因特网的通信网络、有线或无线数据链路、电磁信号或其他数据通信信道在不同的功能单元之间交换。
例如,虽然以给定顺序呈现过程或块,但替选的示例可以以不同的顺序执行具有步骤的例程,或以不同的顺序采用具有块的系统,并且可以删除、移动、添加、细分、组合和/或修改一些过程或块以提供替选方案或子组合。这些过程或块中的每一个可以以各种不同的方式被实现。此外,虽然过程或块有时被示为串行执行,但替代地这些过程或块可以并行执行,或可以在不同时间执行。
此外,虽然元素有时被示为按顺序执行,但替代地它们也可以同时或以不同的顺序执行。因此,所附权利要求旨在解释为包括在其预期范围内的所有这样的变化。
软件和其他模块可以驻留在服务器、工作站、个人计算机、平板计算机、图像数据编码器、图像数据解码器、PDA、颜色分级工具、视频投影仪、视听接收器、显示器(例如电视机)、数字电影投影仪、媒体播放器和适于本文描述的目的的其他设备上。相关领域的技术人员将理解,系统的各个方面可以通过其他通信、数据处理或计算机系统配置来实践,包括:互联网设备、手持设备(包括个人数字助理(PDA))、可穿戴计算机、各种方式的蜂窝电话或移动电话、多处理器系统、基于微处理器或可编程的消费电子产品(例如视频投影仪、视听接收器、显示器(例如电视机等))、机顶盒、调色工具、网络PC、微型计算机、大型计算机等。
本发明还可以以程序产品的形式提供。该程序产品可以包括携带一组计算机可读指令的任何非暂态介质,所述一组计算机可读指令在由数据处理器执行时使数据处理器执行本发明的方法。根据本发明的程序产品可以呈任何各种形式。程序产品可以包括例如非暂态介质,例如包括软盘的磁数据存储介质、硬盘驱动器、包括CD ROM、DVD的光学数据存储介质、包括ROM、闪存RAM、EPROM的电子数据存储介质、硬连线或预编程芯片(例如,EEPROM半导体芯片)、纳米技术存储器等。程序产品上的计算机可读信号可以可选地被压缩或加密。
在一些实施方式中,本发明可以用软件实现。为了更清楚,“软件”包括在处理器上执行的任何指令,并且可以包括(但不限于)固件、常驻软件、微代码等。如本领域技术人员所知,处理硬件和软件两者都可以全部或部分地是集中式的或分布式的(或其组合)。例如,软件和其他模块可以经由本地存储器、经由网络、经由浏览器或分布式计算环境中的其他应用或经由适用于上述目的的其他手段来访问。
在上文提及组件(例如,软件模块、处理器、部件、设备、电路等)的情况下,除非另有指示,否则提及该组件(包括提及“装置”)应被解释为包括作为该组件的等效物的执行所描述组件的功能(即,在功能上等效)的任何组件,包括在结构上不等同于执行本发明的所示示例性实施方式中的功能的公开结构的组件。
出于说明的目的,本文已经描述了系统、方法和装置的具体示例。这些仅是示例。本文提供的技术可以应用于除了上述示例系统之外的系统。在本发明的实践中,许多改变、修改、添加、省略和置换是可能的。本发明包括对本领域技术人员而言明显的所描述实施方式的变型,包括通过以下获得的变型:用等效特征、要素和/或动作替换特征、要素和/或动作;来自不同实施方式的特征、要素和/或动作的混合和匹配;将来自本文所描述的实施方式的特征、要素和/或动作与其他技术的特征、要素和/或动作组合;以及/或者省略组合来自所描述的实施方式的特征、要素和/或动作。
各种特征在本文中被描述为存在于“一些实施方式”中。这样的特征不是强制性的并且可能不存在于所有实施方式中。本发明的实施方式可以包括两个或更多个这样的特征中的零个、任何一个或任何组合。这仅限于这样的特征中的某些特征与这样的特征中的其他特征不兼容而言,即本领域普通技术人员不可能构建将这样的不兼容特征进行组合的实际实施方式。因此,“一些实施方式”拥有特征A和“一些实施方式”拥有特征B的描述应该被解释为明确指示了发明人还设想了组合特征A和B的实施方式(除非描述另有说明或特征A和B根本不兼容)。
因此,旨在将所附权利要求和介绍的权利要求解释为包括可以合理推断的所有这样的修改、置换、添加、省略和子组合。权利要求的范围不应由示例中阐述的优选实施方式限制,而是应给予与作为整体的描述一致的最广泛的解释。
Claims (59)
1.一种用于生成基于计算机的面部动画的一个或更多个帧的方法,所述方法包括:
在处理器处获得面部动画训练数据的多个帧,对于所述面部动画训练数据的多个帧中的每一帧,所述面部动画训练数据包括:
训练一级面部几何图形的训练表示,所述训练一级面部几何图形的训练表示包括用于训练多个一级面部顶点的几何信息;以及
训练二级面部组件几何图形的对应训练表示,所述训练二级面部组件几何图形表示的对应训练表示包括用于训练多个二级面部组件顶点的几何信息;并且
所述面部动画训练数据还包括子集索引,所述子集索引包括所述训练多个一级面部顶点的子集的索引;
由所述处理器使用所述面部动画训练数据训练二级面部组件模型;
在所述处理器处获得一级面部动画的一个或更多个帧,所述一级面部动画的一个或更多个帧中的每一帧包括动画一级面部几何图形的动画表示,所述动画一级面部几何图形的动画表示包括动画多个一级面部顶点的几何信息;
针对所述一级面部动画的一个或更多个帧中的每一帧:
由所述处理器基于所述一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的对应帧,所述二级面部组件动画的所述对应帧包括动画二级面部组件几何图形的动画表示,所述动画二级面部组件几何图形的动画表示包括动画多个二级面部组件顶点的几何信息,其中,所述二级面部组件几何图形基于所述动画一级面部几何图形。
2.根据权利要求1或本权利要求书中任何其他权利要求所述的方法,其中,对于所述一级面部动画的一个或更多个帧中的每一帧,所述动画一级面部几何图形的动画表示包括多个k个一级面部动画混合形状权重。
3.根据权利要求2或本权利要求书中任何其他权利要求所述的方法,其中,对于二级面部组件动画的每个对应帧,所述动画二级面部组件几何图形的动画表示包括多个q个二级面部组件动画混合形状权重。
4.根据权利要求3或本权利要求书中任何其他权利要求所述的方法,其中,所述二级面部组件模型包括权重转换矩阵C,并且其中,针对所述一级面部动画的一个或更多个帧中的每一帧,基于一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的所述对应帧包括:将所述权重转换矩阵C右乘以一级面部动画的所述帧的多个k个一级面部动画混合形状权重,以在偏移矢量内生成二级面部组件动画的所述对应帧的所述多个q个二级面部组件动画混合形状权重。
5.根据权利要求4或本权利要求书中任何其他权利要求所述的方法,其中,所述二级面部组件模型包括权重转换偏移矢量并且其中,针对所述一级面部动画的一个或更多个帧中的每一帧,基于一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的所述对应帧包括:将所述权重转换偏移矢量/>加至所述权重转换矩阵C右乘以一级面部动画的所述帧的所述多个k个一级面部动画混合形状权重的乘积,以生成二级面部组件动画的所述对应帧的所述多个q个二级面部组件混合形状权重。
6.根据权利要求1至5中任一项或本权利要求书中任何其他权利要求所述的方法,包括:
实时执行以下步骤:
在所述处理器处获得一级面部动画的一个或更多个帧;以及
针对一级面部动画的所述一个或更多个帧中的每一帧,由所述处理器基于一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的对应帧。
7.根据权利要求1至6中任一项或本权利要求书中任何其他权利要求所述的方法,包括:
以至少与一级面部动画的一个或更多个帧中的每一帧的动画帧速率一样快的速率执行以下步骤:
在所述处理器处获得所述一级面部动画的一个或更多个帧;以及
针对所述一级面部动画的一个或更多个帧中的每一帧,由所述处理器基于一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的对应帧。
8.根据权利要求1至7中任一项或本权利要求书中任何其他权利要求所述的方法,包括:
以至少每秒15帧的速率执行以下步骤:
在所述处理器处获得一级面部动画的一个或更多个帧;以及
针对所述一级面部动画的一个或更多个帧中的每一帧,由所述处理器基于一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的对应帧。
9.根据权利要求1至8中任一项或本权利要求书中任何其他权利要求所述的方法,包括:
以至少每秒24帧的速率执行以下步骤:
在所述处理器处获得一级面部动画的一个或更多个帧;以及
针对所述一级面部动画的一个或更多个帧中的每一帧,由所述处理器基于一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的对应帧。
10.根据权利要求1至9中任一项或本权利要求书中任何其他权利要求所述的方法,其中,获得所述面部动画训练数据的多个帧包括:从计算机实现的动画装备接收所述训练一级面部几何图形的训练表示和所述训练第二面部组件几何图形的训练表示。
11.根据权利要求1至9中任一项或本权利要求书中任何其他权利要求所述的方法,其中,获得所述面部动画训练数据的多个帧包括:至少部分地从用户输入接收所述训练一级面部几何图形的训练表示和所述训练第二面部组件几何图形的训练表示。
12.根据权利要求1至11中任一项或本权利要求书中任何其他权利要求所述的方法,其中,所述子集索引包括被用户选择为与所述第二面部组件几何图形相关的p个一级面部顶点的子集的索引(p≤n,其中,n是一级面部顶点的数量)。
13.根据权利要求1至11中任一项或本权利要求书中任何其他权利要求所述的方法,其中,所述子集索引包括与所述二级面部组件几何图形接近(例如在接近阈值内或被选择为最接近的p个一级面部顶点)的p个一级面部顶点的子集的索引(p≤n,其中,n是一级面部顶点的数量)。
14.根据权利要求1至11中任一项或本权利要求书中任何其他权利要求所述的方法,其中,所述子集索引包括被确定为与所述二级面部组件几何图形相关的p个一级面部顶点的子集的索引(p≤n,其中,n是一级面部顶点的数量)。
15.根据权利要求12至14中任一项或任何其他权利要求所述的方法,其中,获得所述面部动画训练数据的多个帧包括以下操作中的至少一个:针对所述面部动画训练数据的一个或更多个帧中的每一帧,获得所述训练一级面部几何图形的训练表示;或者将所述训练一级面部几何图形的训练表示转换为多个n个一级面部训练顶点位置,每个一级面部训练顶点位置包括3个坐标。
16.根据权利要求12至14中任一项或任何其他权利要求所述的方法,其中,获得所述面部动画训练数据的多个帧包括以下操作中的至少一个:针对所述面部动画训练数据的一个或更多个帧中的每一帧,获得所述训练一级面部几何图形的训练表示;或者将所述训练一级面部几何图形的训练表示转换为p个一级面部顶点的所述子集中的每一个的位置,所述p个一级面部顶点中的每一个包括3个坐标。
17.根据权利要求15或16中任一项或本权利要求书中任何其他权利要求所述的方法,其中,所述获得面部动画训练数据的多个帧包括以下操作中的至少一个:针对所述面部动画训练数据的一个或更多个帧中的每一帧,获得所述训练二级面部组件几何图形的训练表示;或者将所述训练二级面部组件几何图形的训练表示转换为多个m个二级面部组件训练顶点位置,每个二级面部组件训练顶点位置包括3个坐标。
18.根据权利要求15至17中任一项或本权利要求书中任何其他权利要求所述的方法,其中,使用所述面部动画训练数据训练所述二级面部组件模型包括:
对组合训练矩阵执行矩阵分解(例如,主成分分析(PCA)、独立成分分析(ICA)、非负矩阵因式分解(NMF)、任何其他合适的矩阵分解或降维技术等)以生成组合矩阵分解,所述组合训练矩阵包括:
多个f个帧,所述多个f个帧中的每一帧包括与p个一级面部顶点的子集对应的p个一级面部训练顶点位置;以及m个二级面部组件训练顶点位置;
基于所述组合矩阵分解生成所述二级面部组件模型。
19.根据权利要求18或本权利要求书中任何其他权利要求所述的方法,其中,所述组合矩阵分解包括:
维度为[q,3(m+p)]的组合基矩阵,其中,q是所述组合矩阵分解的混合形状的数量;
维度为3(m+p)的组合平均矢量。
20.根据权利要求19或本权利要求书中任何其他权利要求所述的方法,其中,基于所述组合矩阵分解生成所述二级面部组件模型包括:从所述组合矩阵分解:
通过从所述组合基矩阵中提取与p个一级面部顶点的子集对应的长度为q的3p个矢量(例如3p个列),生成维度为[q,3p]的组合一级子集基矩阵;以及
通过从所述组合平均矢量中提取与p个一级面部顶点的子集对应的3p个元素,生成维度为3p的组合一级子集平均矢量。
21.根据权利要求20或本权利要求书中任何其他权利要求所述的方法,其中,基于所述组合矩阵分解生成所述二级面部组件模型包括:从所述组合矩阵分解:
通过从所述组合基矩阵中提取与所述m个二级面部组件顶点对应的长度为q的3m个矢量(例如3m个列),生成维度为[q,3m]的二级面部组件基矩阵;以及
通过从组合平均矢量中提取与所述m个二级面部组件顶点对应的3m个元素,生成维度为3m的二级面部组件平均矢量。
22.根据权利要求21或本权利要求书中任何其他权利要求所述的方法,其中,基于所述组合矩阵分解生成所述二级面部组件模型包括:
基于所述组合一级子集基矩阵生成维度为[q,3p]的投影矩阵P,其中,所述投影矩阵P将p个一级面部顶点的子集的3p个位置或偏移的矢量投影到所述组合一级子集基矩阵的一组对应权重;以及
至少部分基于所述投影矩阵P生成权重转换矩阵C,所述权重转换矩阵C形成所述二级面部组件模型的一部分。
23.根据权利要求22或本权利要求书中任何其他权利要求所述的方法,其中,生成所述投影矩阵P包括:选择使得与将所述权重从所述组合一级子集基矩阵转换回p个一级面部顶点的子集的3p个位置或偏移(例如重建)相关联的误差最小化的投影矩阵P。
24.根据权利要求23或本权利要求书中任何其他权利要求所述的方法,其中,生成所述投影矩阵P包括:选择使得与使用所述组合一级子集基矩阵将所述组合一级子集基矩阵的权重转换回p个一级面部顶点子集的3p个位置或偏移(例如重建)相关联的最小二乘误差最小化的投影矩阵P。
25.根据权利要求23至24中任一项或本权利要求书中任何其他权利要求所述的方法,其中,生成所述投影矩阵P包括:根据P=(ATA)-1AT计算所述投影矩阵P,其中,AT是所述组合一级子集基矩阵。
26.根据权利要求22至25中任一项或本权利要求书中任何其他权利要求所述的方法,其中,至少部分基于所述投影矩阵P生成形成所述二级面部组件模型的一部分的权重转换矩阵C包括:
基于所述一级面部动画确定维度为[k,3p]的一级顶点子集混合形状的矩阵V*;以及
根据C=PV*T生成所述权重转换矩阵C。
27.根据权利要求26或本权利要求书中任何其他权利要求所述的方法,其中,
所述动画一级面部几何图形的动画表示包括维度为[k,3n]的一级面部混合形状矩阵,其中,k表示动画一级面部几何图形的混合形状分解中的一级面部混合形状的数量,并且n表示所述动画一级面部几何图形的顶点的数量;以及
基于所述一级面部动画确定一级顶点子集混合形状的所述矩阵V*包括:从所述一级面部混合形状矩阵中提取长度为k的3p个矢量(例如3p个列),所述3p个矢量与p个一级面部顶点的子集对应。
28.根据权利要求22至27中任一项或本权利要求书中任何其他权利要求所述的方法,其中,
对于所述一级面部动画的一个或更多个帧中的每一帧,所述动画一级面部几何图形的动画表示包括多个k个一级面部动画混合形状权重;
对于所述一级面部动画的一个或更多个帧中的每一帧,所述动画二级面部组件几何图形的动画表示包括多个q个二级面部组件动画混合形状权重;以及
针对所述一级面部动画的一个或更多个帧中的每一帧,基于一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的所述对应帧包括:将所述权重转换矩阵C右乘以一级面部动画的所述帧的所述多个k个一级面部动画混合形状权重,以在偏移矢量内生成包括二级面部组件动画的所述对应帧的所述多个q个二级面部组件动画混合形状权重的矢量。
29.根据权利要求22至28中任一项或本权利要求书中任何其他权利要求所述的方法,其中,基于所述组合分解生成所述二级面部组件模型包括:至少部分地基于所述投影矩阵P生成形成所述二级面部组件模型的一部分的权重转换偏移矢量
30.根据权利要求29或本权利要求书中任何其他权利要求所述的方法,其中,至少部分地基于所述投影矩阵P生成形成所述二级面部组件模型的一部分的权重转换偏移矢量包括:
基于所述一级面部动画确定维度为3p的输入一级顶点子集平均矢量以及
根据生成所述权重转换偏移矢量/>其中,/>是维度为3p的组合一级子集平均矢量。
31.根据权利要求30或本权利要求书中任何其他权利要求所述的方法,其中,
所述动画一级面部几何图形的动画表示包括维度为3n的输入一级面部平均矢量,其中,n表示所述一级面部几何图形的顶点数;并且
基于所述一级面部动画确定所述输入一级顶点子集平均矢量包括:从所述输入一级面部平均矢量中提取与p个一级面部顶点的所述子集对应的所述3p个元素。
32.根据权利要求29至31中任一项所述的方法,其中,
对于所述一级面部动画的一个或更多个帧中的每一帧,所述动画一级面部几何图形的动画表示包括多个k个一级面部动画混合形状权重;
对于所述一级面部动画的一个或更多个帧中的每一帧,所述动画二级面部组件几何图形的动画表示包括多个q个二级面部组件动画混合形状权重;以及
针对所述一级面部动画的一个或更多个帧中的每一帧,基于一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的所述对应帧包括:
将所述权重转换矩阵C右乘以一级面部动画的所述帧的所述多个k个一级面部动画混合形状权重,以在偏移矢量内生成二级面部组件动画的所述对应帧的所述多个q个二级面部组件动画混合形状权重;以及
将所述权重转换偏移矢量加至将所述权重转换矩阵C右乘以一级面部动画的所述帧的所述多个k个一级面部动画混合形状权重的乘积,以生成包括二级面部组件动画的所述对应帧的所述多个q个二级面部组件混合形状权重的矢量。
33.根据权利要求28和30中任一项所述的方法,其中,针对一级面部动画的所述一个或更多个帧中的每一帧,由所述处理器基于一级面部动画的所述帧和所述二级面部组件模型生成二级面部组件动画的所述对应帧包括:
针对二级面部组件动画的对应帧,根据重建三维顶点几何图形(独立于中性或从中性偏移),其中,/>是包括二级面部组件动画的所述对应帧的所述多个q个二级面部组件混合形状权重的矢量,D是维度为[q,3m]的二级面部组件基矩阵,/>是维度为3m的二级面部组件平均矢量,并且/>是包括所述m个二级面部组件顶点的3m个坐标的矢量。
34.一种用于训练基于计算机的面部动画的二级面部组件模型的方法,其中,所述二级面部组件模型将一级面部动画的一个或更多个帧作为输入,所述一级面部动画的一个或更多个帧中的每一帧包括动画一级面部几何图形的动画表示,所述动画一级面部几何图形的动画表示包括动画多个一级面部顶点的几何信息,并且针对所述一级面部动画的一个或更多个帧中的每一帧,所述二级面部组件模型输出二级面部组件动画的对应帧,所述二级面部组件动画包括动画二级面部组件几何图形的动画表示,所述动画二级面部组件的动画表示包括动画多个二级面部组件顶点的几何信息,其中,所述二级面部组件几何图形考虑了所述一级面部几何图形,所述方法包括:
在处理器处获得面部动画训练数据的多个帧,对于所述面部动画训练数据的多个帧中的每一帧,所述面部动画训练数据包括:
训练一级面部几何图形的训练表示,所述训练一级面部几何图形的训练表示包括训练多个n个一级面部顶点的几何信息;以及
训练二级面部组件几何图形的对应训练表示,所述训练二级面部组件几何图形的对应训练表示包括训练多个m个二级面部组件顶点的几何信息;并且
所述面部动画训练数据还包括子集索引,所述子集索引包括所述训练多个n个一级面部顶点的子集p的索引,其中,p≤n;
使用所述面部动画训练数据训练所述二级面部组件模型,其中,使用所述面部动画训练数据训练所述二级面部组件模型包括:
对组合训练矩阵执行矩阵分解(例如,主成分分析(PCA)、独立成分分析(ICA)、非负矩阵因式分解(NMF)、任何其他合适的矩阵分解或降维技术等)以生成组合矩阵分解,所述组合训练矩阵包括:
多个f个帧,所述多个f个帧中的每一帧包括与所述多个n个一级面部顶点中的子集p对应的p个一级面部训练顶点位置;以及m个二级面部组件训练顶点位置;
基于所述组合矩阵分解生成所述二级面部组件模型。
35.根据权利要求34或本权利要求书中任何其他权利要求所述的方法,其中,获得所述面部动画训练数据的多个帧包括:从计算机实现的动画装备接收所述训练一级面部几何图形的训练表示和所述训练第二面部组件几何图形的训练表示。
36.根据权利要求34或本权利要求书中任何其他权利要求所述的方法,其中,获得所述面部动画训练数据的多个帧包括:至少部分地从来自艺术家的用户输入接收所述训练一级面部几何图形的训练表示和所述训练第二面部组件几何图形的训练表示。
37.根据权利要求34至36中任一项或本权利要求书中任何其他权利要求所述的方法,其中,所述训练多个n个一级面部顶点的子集p被用户选择为与所述第二面部组件几何图形相关。
38.根据权利要求34至36中任一项或本权利要求书中任何其他权利要求所述的方法,包括:基于与所述二级面部组件几何图形的接近程度(例如,在接近阈值内或被选择为最接近的p个一级面部顶点),从所述训练多个n个一级面部顶点中选择所述子集p。
39.根据权利要求34至36中任一项或本权利要求书中任何其他权利要求所述的方法,其中,所述训练多个n个一级面部顶点的子集p被选择为与所述二级面部组件几何图形相关。
40.根据权利要求37至39中任一项或任何其他权利要求所述的方法,其中,获得所述面部动画训练数据的多个帧包括以下操作中的至少一个:针对所述面部动画训练数据的一个或更多个帧中的每一帧,获得所述训练一级面部几何图形的训练表示;或者将所述训练一级面部几何图形的训练表示转换为所述训练多个n个一级面部训练顶点的位置,每个一级面部训练顶点位置包括3个坐标。
41.根据权利要求37至39中任一项或任何其他权利要求所述的方法,其中,获得所述面部动画训练数据的多个帧包括以下操作中的至少一个:针对所述面部动画训练数据的一个或更多个帧中的每一帧,获得所述训练一级面部几何图形的训练表示;或者将所述训练一级面部几何图形的训练表示转换为p个一级面部顶点的所述子集中的每一个的位置,每个子集顶点位置包括3个坐标。
42.根据权利要求40或41中任一项或本权利要求书中任何其他权利要求所述的方法,其中,获得所述面部动画训练数据的多个帧包括以下操作中的至少一个:针对所述面部动画训练数据的一个或更多个帧中的每一帧,获得所述训练二级面部组件几何图形的训练表示;或者将所述训练二级面部组件几何图形的训练表示转换为所述多个m个二级面部组件训练顶点的位置,每个二级面部组件训练顶点位置包括3个坐标。
43.根据权利要求34至42中任一项或本权利要求书中任何其他权利要求所述的方法,其中,所述组合矩阵分解包括:
维度为[q,3(m+p)]的组合基矩阵,其中,q是所述组合矩阵分解的混合形状的数量;
维度为3(m+p)的组合平均矢量。
44.根据权利要求43或本权利要求书中任何其他权利要求所述的方法,其中,基于所述组合矩阵分解生成所述二级面部组件模型包括:从所述组合矩阵分解:
通过从所述组合基矩阵中提取与一级面部顶点的所述子集p对应的长度为q的3p个矢量(例如3p个列),生成维度为[q,3p]的组合一级子集基矩阵;以及
通过从所述组合平均矢量中提取与一级面部顶点的所述子集p对应的3p个元素,生成维度为3p的组合一级子集平均矢量。
45.根据权利要求44或本权利要求书中任何其他权利要求所述的方法,其中,基于所述组合矩阵分解生成所述二级面部组件模型包括:从所述组合矩阵分解:
通过从所述组合基矩阵中提取与所述m个二级面部组件顶点对应的长度为q的3m个矢量(例如3m个列),生成维度为[q,3m]的二级面部组件基矩阵;以及
通过从所述组合平均矢量中提取与所述m个二级面部组件顶点对应的3m个元素,生成维度为3m的二级面部组件平均矢量。
46.根据权利要求45或本权利要求书中任何其他权利要求所述的方法,其中,基于所述组合矩阵分解生成所述二级面部组件模型包括:
基于所述组合一级子集基矩阵生成维度为[q,3p]的投影矩阵P,其中,所述投影矩阵P将一级面部顶点的所述子集p的3p个位置或偏移的矢量投影到所述组合一级子集基矩阵的对应权重集;以及
至少部分基于所述投影矩阵P生成形成所述二级面部组件模型的一部分的权重转换矩阵C。
47.根据权利要求46或本权利要求书中任何其他权利要求所述的方法,其中,生成所述投影矩阵P包括:选择使得与使用所述组合一级子集基矩阵将所述组合一级子集基矩阵的权重转换回一级面部顶点的所述子集p的3p个位置或偏移(例如重建)相关联的误差最小化的投影矩阵P。
48.根据权利要求47或本文中任何其他权利要求所述的方法,其中,生成所述投影矩阵P包括:选择使得与使用所述组合一级子集基矩阵将所述组合一级子集基矩阵的权重转换回p个一级面部顶点的子集的3p个位置或偏移(例如重建)相关联的最小二乘误差最小化的投影矩阵P。
49.根据权利要求47至48中任一项或本权利要求书中任何其他权利要求所述的方法,其中,生成所述投影矩阵P包括:根据P=(ATA)-1AT计算所述投影矩阵P,其中,AT是所述组合一级子集基矩阵。
50.根据权利要求46至49中任一项或本权利要求书中任何其他权利要求所述的方法,其中,至少部分基于所述投影矩阵P生成形成所述二级面部组件模型的一部分的权重转换矩阵C包括:
基于所述一级面部动画确定维度为[k,3p]的一级顶点子集混合形状的矩阵V*;以及
根据C=PV*T生成所述权重转换矩阵C。
51.根据权利要求50或本权利要求书中任何其他权利要求所述的方法,其中,
所述一级面部几何图形的动画表示包括维度为[k,3n]的一级面部混合形状矩阵,其中,k表示动画一级面部几何图形的混合形状分解中的一级面部混合形状的数量,并且n表示所述动画一级面部几何图形的顶点的数量;以及
基于所述一级面部动画确定一级顶点子集混合形状的矩阵V*包括:从所述一级面部混合形状矩阵中提取与p个一级面部顶点的子集对应的长度为k的3p个矢量(例如3p个列)。
52.根据权利要求46至51中任一项或本权利要求书中任何其他权利要求所述的方法,其中,基于所述组合分解生成所述二级面部组件模型包括:至少部分地基于所述投影矩阵P生成形成所述二级面部组件模型的一部分的权重转换偏移矢量
53.根据权利要求52或本权利要求书中任何其他权利要求所述的方法,其中,至少部分地基于所述投影矩阵P生成形成所述二级面部组件模型的一部分的权重转换偏移矢量包括:
基于所述一级面部动画确定维度为3p的输入一级顶点子集平均矢量以及
根据生成所述权重转换偏移矢量/>其中,/>是维度为3p的组合一级子集平均矢量。
54.根据权利要求53或本权利要求书中任何其他权利要求所述的方法,其中,
所述动画一级面部几何图形的动画表示包括维度为3n的输入一级面部平均矢量,其中,n表示所述一级面部几何图形的顶点数;并且
基于所述一级面部动画确定所述输入一级顶点子集平均矢量包括:从所述输入一级面部平均矢量中提取与p个一级面部顶点的所述子集对应的所述3p个元素。
55.一种包括根据任一前述权利要求所述的特征、特征的组合或特征的子组合的方法。
56.一种包括处理器的系统,所述处理器通过适当编程被配置成执行根据任一前述权利要求所述的方法。
57.一种计算机程序产品,包括非暂态介质,所述非暂态介质承载计算机可读指令的集合,所述计算机可读指令在被数据处理器执行时使所述数据处理器执行根据任一前述权利要求所述的方法。
58.一种具有如本权利要求书中描述的任何新的和创造性的步骤、动作、步骤和/或动作的组合或者步骤和/或动作的子组合的方法。
59.一种具有如本权利要求书中描述的任何新的和创造性的特征、特征的组合或特征的子组合的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163227333P | 2021-07-29 | 2021-07-29 | |
US63/227,333 | 2021-07-29 | ||
PCT/CA2022/051156 WO2023004507A1 (en) | 2021-07-29 | 2022-07-27 | System and method for animating secondary features |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117730345A true CN117730345A (zh) | 2024-03-19 |
Family
ID=85085982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280052761.4A Pending CN117730345A (zh) | 2021-07-29 | 2022-07-27 | 用于使二级特征动画化的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240153185A1 (zh) |
EP (1) | EP4377896A1 (zh) |
CN (1) | CN117730345A (zh) |
CA (1) | CA3225370A1 (zh) |
WO (1) | WO2023004507A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8922553B1 (en) * | 2011-04-19 | 2014-12-30 | Disney Enterprises, Inc. | Interactive region-based linear 3D face models |
US9378576B2 (en) * | 2013-06-07 | 2016-06-28 | Faceshift Ag | Online modeling for real-time facial animation |
US9639737B2 (en) * | 2015-09-29 | 2017-05-02 | Eth Zürich (Eidgenöessische Technische Hochschule Zürich) | Methods and systems of performing performance capture using an anatomically-constrained local model |
CN106023288B (zh) * | 2016-05-18 | 2019-11-15 | 浙江大学 | 一种基于图像的动态替身构造方法 |
KR102241153B1 (ko) * | 2019-07-01 | 2021-04-19 | 주식회사 시어스랩 | 2차원 이미지로부터 3차원 아바타를 생성하는 방법, 장치 및 시스템 |
-
2022
- 2022-07-27 CA CA3225370A patent/CA3225370A1/en active Pending
- 2022-07-27 CN CN202280052761.4A patent/CN117730345A/zh active Pending
- 2022-07-27 EP EP22847758.4A patent/EP4377896A1/en active Pending
- 2022-07-27 WO PCT/CA2022/051156 patent/WO2023004507A1/en active Application Filing
-
2024
- 2024-01-11 US US18/410,755 patent/US20240153185A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CA3225370A1 (en) | 2023-02-02 |
US20240153185A1 (en) | 2024-05-09 |
EP4377896A1 (en) | 2024-06-05 |
WO2023004507A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111465965B (zh) | 用于实时复杂角色动画和交互性的系统和方法 | |
Min et al. | Interactive generation of human animation with deformable motion models | |
US11875458B2 (en) | Fast and deep facial deformations | |
Ju et al. | Morphable crowds | |
Joshi et al. | Learning controls for blend shape based realistic facial animation | |
Li et al. | Ganimator: Neural motion synthesis from a single sequence | |
US9892539B2 (en) | Fast rig-based physics simulation | |
US8624901B2 (en) | Apparatus and method for generating facial animation | |
Feng et al. | Real-time data driven deformation using kernel canonical correlation analysis | |
Schumacher et al. | Efficient simulation of example-based materials | |
Jörg et al. | Data-driven finger motion synthesis for gesturing characters | |
US8169438B1 (en) | Temporally coherent hair deformation | |
US20170132827A1 (en) | Data Driven Design and Animation of Animatronics | |
CN113344777B (zh) | 基于三维人脸分解的换脸与重演方法及装置 | |
Park et al. | Example‐based motion cloning | |
JP7446566B2 (ja) | ボリュメトリックキャプチャ及びメッシュ追跡ベースの機械学習 | |
Wan et al. | Data-driven facial expression synthesis via Laplacian deformation | |
Li et al. | Spa: Sparse photorealistic animation using a single rgb-d camera | |
Zhang et al. | Anatomy-based face reconstruction for animation using multi-layer deformation | |
Wampler et al. | Dynamic, expressive speech animation from a single mesh | |
CN117730345A (zh) | 用于使二级特征动画化的系统和方法 | |
Zheng | One-to-many: Example-based mesh animation synthesis | |
Liu et al. | Discrete shell deformation driven by adaptive sparse localized components | |
Shin et al. | Expression synthesis and transfer in parameter spaces | |
Akbar et al. | Refining Human 3D Reconstruction from 2D Images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |