Accurate Face Rig Approximation with Deep Differential Subspace Reconstruction

152 阅读16分钟

这篇文章介绍了一种利用深度学习和微分子空间重构的方法来实现精确的面部动画模型近似。面部动画模型是为了实现逼真的面部表情和动作而进行的建模和控制。

在传统的面部动画中,通常使用基于关键帧的插值方法来生成面部表情和动作。然而,这种方法需要大量的人工标记和手动调整,且对于复杂的面部动画效果可能无法提供准确的近似。为了解决这个问题,本文提出了一种新的方法,基于深度学习和微分子空间重构,用于精确地近似面部动画模型。

该方法的核心思想是利用深度卷积神经网络对面部形状进行编码和解码,并通过微分子空间重构来减小重构误差。具体而言,作者首先构建了一个面部形状数据库,其中包含了大量的面部形状数据和对应的控制参数。然后,利用深度卷积神经网络对面部形状进行编码,并通过解码器重构出面部形状。为了减小重构误差,作者引入了微分子空间重构方法,通过最小化重构误差和微分子空间正则化项来优化模型。

实验结果表明,该方法能够有效地近似面部动画模型,并且在精确性和逼真度上取得了显著的改进。与传统方法相比,该方法能够更准确地捕捉面部形状的细节和动态变化,并提供更灵活的面部控制。此外,该方法还具有较好的通用性和泛化能力,适用于不同人脸和不同表情的面部动画。

总的来说,这篇文章提出了一种利用深度学习和微分子空间重构的方法来实现精确的面部动画模型近似。通过结合深度学习和微分子空间方法,该方法能够提供更准确、灵活和逼真的面部控制和动画效果,对于面部动画和计算机图形学领域具有重要的研究和应用价值。

1 INTRODUCTION

介绍了一种新的基于学习的解决方案,用于通过使用微分坐标和为该空间设计的网络架构来准确捕获字符的面部变形。

在运行时,将定义为一组艺术家级钻骨骼参数的动画控件作为输入,并从其余的位姿计算变形为顶点位移。在离线训练过程中,使用由骨骼参数生成向量化特征,标签是由原始骨骼的局部非线性变形计算得到的微分坐标。微分坐标具有稀疏网格表示和嵌入近邻顶点信息的优点,有助于局部表面变形的学习。在某些情况下,对于给定的坐标转换,可能存在条件数很大或接近奇异的问题(病态矩阵),导致转换不可逆或数值不稳定。这可能会影响模型的性能和结果的准确性。为了解决这个问题,作者引入了一个额外的子空间,用于改善重构的条件数。

条件数是用来衡量矩阵或线性系统的稳定性和数值精度的一个指标。它表示了矩阵或线性系统中输入数据的微小变化对输出结果造成的影响程度。

在上述文段中,条件数用来描述坐标转换的稳定性和数值精度。具体来说,条件数反映了坐标转换矩阵的敏感性。当条件数较大时,说明输入数据的微小变化会导致输出结果的较大变化,这可能会导致转换的数值不稳定性和不可逆性。

因此,通过引入一个额外的子空间来改善条件数,意味着通过该子空间的变换可以使坐标转换矩阵的条件数更接近于单位矩阵,从而提高转换的数值稳定性和可逆性。这样可以确保输入数据的微小变化不会对输出结果产生过大的影响,从而提高重构过程的质量和准确性。

这个子空间由艺术家指定的"锚点"决定,从原始网格中选择对角色表达能力有重要影响的特征。对其进行单独的子空间训练,以学习这些锚点如何使用分裂的网络结构变形。

2 RELATED WORK

2.1 Skinning and Rigging

蒙皮技术大致可以分为基于物理的、基于实例的和基于几何的方法。

这里关注的是基于几何的求解方法,因为其有较好的计算性能和简洁性。

在基于几何的方法中,应用最广泛的技术之一是线性混合蒙皮LBS,即对每个顶点应用骨骼变换的加权和。

但是这些方法终究只能用于线性变形,无法处理像是肌肉收缩等非线性变形等问题。

在这部分提到过的用于逼近非线性变换的方法,所有这些方法都需要为非线性组件增加额外的计算成本,并且主要集中在身体变形上,而面部变形在很大程度上没有得到解决。

2.2 Facial Rig and Deformation

与骨骼和关节定义的身体支架不同,面部支架往往包含数百个以数值表示的动画控件,这些动画控件控制着每个顶点的非线性变换。这些动画控件是全局定义的,并被广泛地应用在混合形状中,以实现用于生产的真实感人脸动画。之前的工作主要集中在编辑数据驱动的面部动画或提供直观的控制。Li等人在梯度空间中利用混合形状优化成功地将控制器语义和表达动态从通用模板迁移到目标模型。Weise等人的展示了一个高质量的性能驱动的面部动画系统,用于实时捕捉面部表情并创建数字化身。在中提出了一个混合形状系统,允许有效的解剖和生物力学面部肌肉模拟。

2.3 Learning-based Deformation

这一节总结了以学习为基础的解决方案在替代传统的变形算法方面的增加兴趣,并提到了一些先前的相关工作。

  1. [Lewis et al. 2000]:使用支持向量机学习给定一组姿势的网格变形。这项工作利用机器学习方法来学习姿势与网格变形之间的关系。

  2. [Tan et al. 2018a,b]:提出了基于网格的自编码器来学习从潜在空间中的变形。他们通过自编码器模型来学习变形模式,并从潜在空间中重构出变形后的网格。

  3. [Gao et al. 2018]:提出了使用生成对抗网络来实现在具有不同拓扑结构的角色之间转移形状变形的解决方案。他们利用生成对抗网络来学习将形状变形从一个角色转移到另一个角色。

  4. [Luo et al. 2018]:提出了一种深度神经网络解决方案,用于近似非线性弹性变形,并结合模拟的线性弹性变形以获得更好的结果。他们的方法结合了非线性和线性变形,以更准确地近似复杂的形状变形。

  5. [Liu et al. 2019]:使用图卷积网络预测每个顶点的皮肤权重分布,从而训练一个网络可以应用于不同角色的网格数据和绑定骨骼。他们的方法通过学习权重分布来实现对顶点的变形。

  6. [Bailey et al. 2018]:使用多个神经网络来近似绑定骨骼的非线性变形组件。他们的假设是每个顶点与一个单独的骨骼相关联,并训练网络来预测每个关联顶点的偏移量。

除此之外,本节还指出了当前工作中存在的三个问题:
(1) 一个顶点的变形通常受到多个骨骼的影响,没有单一的主要影响骨骼;
(2) 变形可以由数字控制来确定,例如在面部控制中;
(3) 将骨骼与不相交的顶点集相关联可能会在集合边界引入不连续性。

综上所述,本节内容介绍了与作者的工作相关的先前研究,并指出了作者研究的动机和尚未解决的问题。

2.4 Subspace Deformation and Model Reduction

与以前的工作相比,作者提出的方法的优点是:

  1. 可以高精度地重建人脸和身体形变;
  2. 可以以不同类型的动画控件作为输入;
  3. 不需要特定的一组适定动画先验;
  4. 为跨平台实时评估提供了一个简单的通用结构。

3 METHOD

3.1 Preliminary

image.png

该方法以钻绑定参数和相应的关节变换为输入,预测网格顶点(在微分坐标中)和锚点集(在笛卡尔空间中)的非线性变形。绿色通路用于网络训练,蓝色通路用于预测。

对于给定的静止姿势下的网格,模型以一组绑定参数定义的动画约束作为输入,输出网格的非线性变形。

训练流程如图2所示。

为了处理训练数据,首先对输入的绑定参数进行矢量化,并从相应的变形网格中提取以顶点位移表示的非线性变形。然后将非线性形变转换为微分坐标((δ\left(\delta\right.空间),在这里学习局部化的形状信息并将绑定约束映射到它。

然而,由于变换是病态的,我们无法直接从微分坐标中重构网格曲面。我们对从原始网格中选取的一组锚点进行单独的子空间学习,对其在局部坐标下进行形变学习,并将其作为约束进行重建。

4 EVALUATION

4.1 Evaluation for Differential Training

image.png

image.png 本节总结了作者对于不同因素对微分训练的影响进行的评估结果。

  1. 首先,作者评估了主成分数量对微分训练的影响。他们将主成分的数量设定为网格顶点数的不同百分比。图5展示了在200个测试姿势下三个角色的预测误差。有趣的是,无论网格中顶点数量的差异,均能观察到均方误差(MSE)在主成分百分比接近5%时达到最小值。这表明最佳的主成分数量大致与网格顶点数量成正比关系。进一步增加主成分百分比并不会带来显著的性能改进,反而会使网络容易过拟合,这表现为损失略微增加。基于这些观察,作者在接下来的评估中将主成分数量设置为网格顶点数量的5%进行微分训练。

  2. 接下来,作者进行了消融研究来评估隐藏层数量对模型性能的影响。他们固定了子空间网络和锚点,并在完全连接层的数量从1到5之间进行变化。表2展示了角色Agent在每种设置下的预测误差和重构误差。结果显示,随着隐藏层数量的增加,预测误差减少,表明网络容量的增加有助于更好地拟合数据。同时,观察到重构误差也有所减少,但相对于预测误差的减少来说,减少幅度较小,这表明微分训练的准确性不是重构的瓶颈。

综上所述,本节内容总结了作者对于主成分数量和隐藏层数量对微分训练的影响进行的评估结果。主成分数量在约5%时达到最佳性能,而增加隐藏层数量有助于提高预测的准确性,但对于重构的改进不是非常显著。

4.2 Evaluation for Subspace Training

本节总结了作者对于锚点和子空间网络对变形近似的影响进行的评估。

作者通过实验评估了锚点和子空间网络对变形近似的影响。他们固定了微分训练,并仅改变了子空间网络。在不同的实验中,他们调整了锚点的数量、选择方法和子空间网络结构。

实验结果显示,增加锚点数量会提高预测误差,因为网络在低维度下的拟合效果更好。然而,随着锚点数量的增加,重构误差保持稳定,这是因为增加锚点可以改善重构的条件,从而平衡了预测误差的增加。作者选择了2%的锚点数量作为中间值,并在后续的评估中使用。

对于子空间网络的比较,子空间小网络("2%")的预测误差和重构误差均低于单个网络("2%Single")。这是因为子空间小网络可以分别拟合不相连的锚点,而单个网络需要同时学习所有锚点的变形,增加了拟合的难度。

此外,作者还比较了不同的锚点选择方法。 他们发现,选择变形较小的顶点作为锚点可以减小预测误差,但在重构上可能会产生较大的误差。这是因为这些顶点不需要学习变形,但它们不适合用于重构。

综上所述,作者的实验结果表明,锚点数量的增加会增加预测误差,但不会显著影响重构误差。子空间小网络相比于单个网络具有更好的性能,而选择具有大变形的面部特征作为锚点能够获得更好的重构效果。

4.3 Results

在本节中,作者使用品质良好的动画进行形变准确性的评估。

作者在这组动画序列上评估了平均误差和最大重构误差。结果见表5.

image.png

image.png

作者发现,角色牛的变形误差较大,因为测试序列是最极端的动画序列。作者还评估了训练数据量对性能的影响,并发现增加训练数据量可以提高性能,但是当增加到75%以上时,性能提升并不明显。总的来说,作者的方法可以在重构误差小于角色面部大小的0.6%和最大误差小于6%的情况下准确重构网格表面。

4.4 Comparison

4.4.1 Facial Deformation Comparison.

image.png

image.png

作者将其方法与线性混合蒙皮(LBS)、基于PCA的线性回归(PCA)、使用作者模型进行局部笛卡尔坐标训练(Local)以及Meyer等人的方法(KPSA)进行了比较。KPSA是一种基于示例的变形逼近方法,它使用关键点的变形作为输入,并利用PCA推导出整个网格的顶点位置。训练数据的质量对变形的准确性有重要影响,而他们的方法依赖于评估原始变形器堆栈以即时确定关键点。对于Local模型,作者直接在顶点的局部偏移上应用了与PCA相同的微分网络,而无需将其转换为微分坐标。这个模型不需要子空间学习和重构。作者使用与我们模型相同的随机生成的训练姿势集来训练KPSA和Local模型,并在上一小节介绍的相同的精确动画序列上进行评估。文中在表6中报告了重构误差,并在图8中提供了可视化比较结果。

从观察结果来看,作者的方法在定量和可视化结果上优于其他四种方法。 作者将LBS的结果作为基准,因为它不提供任何非线性变形。从热图中可以看出,Local模型无法捕捉到眼睑的局部变形,嘴巴也发生了偏移。这是因为局部偏移中没有嵌入邻居顶点信息,这使得网络难以预测局部变形。对于KPSA,尽管在原始示例中使用了更多的关键点(274个)和基向量(200个),但它无法重构眉毛区域和嘴唇的角部变形。相对较差的性能是由于训练数据的线性重构,它只能提供有限范围和固定维度的近似变形。一旦目标姿势超出PCA定义的维度范围,该方法就难以实现高重构精度。与之相比,作者的方法能够准确捕捉局部变形,这是由微分坐标的误差特性决定的。由于深度神经网络的非线性拟合能力,作者的方法可以使用随机生成的数据进行训练,并在更大的范围内近似变形。

总之,文中作者的方法在重构精度和局部变形捕捉能力上优于其他方法,包括LBS、PCA、Local和KPSA。这证明了微分子空间重构在人物模型变形逼近中的有效性。

5 CONCLUSION 本文提出了一种基于学习的解决方案,以高准确度捕捉人物模型的面部变形。

文中作者的方法使用微分坐标和学习的子空间来重构平滑的非线性面部变形。

作者在广泛的动画姿势上展示了其方法的鲁棒性。其方法在面部和身体变形方面与现有解决方案相比具有优势。作者还成功地将其解决方案整合到了生产流程中。

作者的工作还存在一些限制。首先,其方法需要手动选择锚点进行子空间训练和重构。其次,作为基于深度学习的方法,每个具有不同骨骼行为或网格拓扑的角色都需要训练一个模型。作者希望探索将高级超级骨骼集成到其方法中,以提供适用于不同角色的单一模型的可能性。