3D Face Morphable Model Based on Matrix Fisher Distribution
The accurate representation of 3D faces is beneficial to various computer vision and graphics applications. However, due to data discretization and model linearity, it is still challenging to obtain accurate identity and expression cues in current research. In this paper, we propose a new 3D deformable face model to learn a nonlinear continuous space with implicit neural representations. It constructs two explicit disentanglement deformation fields to model the complex shapes associated with identity and expression respectively, and introduces a neural hybrid field to learn complex details by adaptively mixing a series of local fields. Secondly, we find that the pose parameters can be better disentangled in the network. For the pose transformation during face deformation, we use the Fisher distribution matrix based on the rotation matrix to represent the angle of the face pose and simulate the uncertainty of the head rotation. Experiments show that our method has advantages in face detail modeling and pose estimation.
3D Face Morphable Model
在3DMM中,最基本的问题在于如何生成潜在的变形表示,在过去的二十年里,随着数据在规模性、多样性和质量方面的改进,重建方法取得了显著的进展。这些方法最初是基于线性模型
另一方面,传统3DMM即参数面模型通常包含三组参数:身份、表情和姿态。基于CNN的方法直接学习了三维人脸模型的参数的回归,达到了最先进的性能。本文对FaceScape
因此,一个需要解决的问题是如何有效地表示头部姿势的角度,在以往的研究中
作为一种通用的人脸表示方法,通过使用非刚性迭代最近点算法
近年来,隐式神经表示已经成为一种更有效、更合适的三维几何表示,因为它们不能连续建模离散的形状。为了保持细节,进一步利用了由形状元素
在姿态估计中,确定姿态的表示是非常重要的。一些使用深度学习模型的研究将欧拉角
本文利用隐式神经表示来学习非线性三维变形人脸模型。所提出的方法明确地将面部形状变形分别分解为两个与身份和表情相关的独立变形场,并学习了一个深度SDF来表示模板形状。所有的变形场都与一系列的局部隐式函数混合,以进行更详细的表示。
它的基本思想是训练一个神经网络来拟合一个连续的函数f,该函数通过水平集隐式地表示曲面,并且可以以各种格式进行去定义,例如占用率、SDF或UDF。该方法利用基于表情和身份的潜在嵌入的深度SDF来进行全面的人脸表示。它从一个查询点输出有符号的距离 :
(1)
其中, 为三维空间中查询点的坐标, 和 分别表示表情和身份嵌入。
该方法的目标是学习一个神经网络来参数化,使它满足真正的面部形状先验。流程图见
上面所有变形场都是由共享的形变网块架构实现的,其中整个面部变形或几何进一步分解为许多语义有意义的部分,并由一组局部函数编码,从而可以充分捕获丰富的细节。一个以查询点位置为条件的轻量级模块,即融合网络,被堆叠在形变网块的末端,以自适应地混合局部场。因此,实现了一个复杂的神经混合场。本章工作的三个核心组件和它们的结构都有相应的轻微变化。对它们的简要描述如下:
1) 表情形变网络(ExpNet)
由表情引起的面部变形用ExpNet 表示,SoftMax在每次面部扫描中学习一个表情变形:
(2)
其中, 表示由特征点网络 生成的观察面上的 个三维特征点,引入来定位神经混合场中的查询点 。观测空间中的点 被 变形为人特定的规范空间中的一个新的点 ,它表示具有中性表情的面。
2) 身份形变网络(IDNet)
为了模拟个体之间的形状变形,IDNet 进一步将规范空间变形为一个由所有面共享的模板形状空间:
(3)
其中, 表示由另一个仅基于身份嵌入的特征点网络 生成的标准面上的 个特征点, 为模板空间中的变形点。为了处理预处理过程中可能产生的不存在的对应关系,另外预测了一个残差项 来校正预测的SDF值 。
3) 模板形变网络(TempNet)
TempNet 学习共享模板面的一个有符号的距离场:
(4)
其中, 为模板面上的 个特征点,在整个训练集上取平均值, 为未校正的SDF值。一个查询点的最终SDF值是通过 计算出来的,模型最终可以表述为:
(5)
所提出的方法通过以细粒度和有意义的方式解纠缠变形场来学习面部变形,以确保能够准确地学习更多样和复杂的面部变形。
4) 神经混合场
形变网块是由
、
和
三个子网络共享的公共体系结构。神经混合场学习一个连续场函数
,以产生一个用于综合面表示的神经混合场。其中
表示人脸图像提取得到的相关特征。特别地,为了克服单个网络的有限表达能力,将人脸空间分解为一组具有语义意义的局部区域,并在混合之前单独学习
(例如变形或有符号距离值)。这种设计受到最近隐式神经表示对人体研究的启发,该研究引入了线性混合蒙皮算法
(6)
其中, 是描述第 个局部区域的参数, 是第 个混合权值, 是相应的局部域。通过这种方式,在一系列局部域上执行混合,而不是计算一些固定位置的输出值 的加权平均值,从而在处理复杂的局部特征时具有更强的表示能力。
具体来说,利用位于眼角、嘴角和鼻尖的5个特征点来描述局部区域 ,每个区域被分配一个带有正弦激活的微型MLP来生成局部场,记为 。为了捕获高频局部变化,在坐标 上利用正弦位置编码 。在形变网块的最后,配置了一个基于输入绝对坐标 的轻量级融合网络,该网络由一个3层的MLP结合Softmax实现,用于预测混合权重 。
本文用一个SE(3)场 来表示变形,其中 是一个表示螺旋轴和旋转角度的旋转向量,变形坐标 可以用 来计算。该方法利用SE(3)来描述面部形状变形,因为它在处理下颌旋转方面具有优越的能力,并且比普通平移变形 对姿态扰动具有更好的鲁棒性。在本文中,首先提出了旋转矩阵作为人脸姿态的表示。然后引入基于旋转矩阵的矩阵费雪分布对人脸姿态旋转不确定度进行建模,并讨论了其归一化常数的计算方法。
介绍了以旋转矩阵作为头人脸姿态角度表示的假设。在三维世界坐标中,位于 处的点首先绕x轴旋转角度 ,然后绕y轴旋转角度 ,最后绕z轴旋转角度 。这样的旋转序列可以表达为:
(7)
其中 为旋转矩阵,可以表示从固定系到惯性坐标系的线性变换。人脸姿态的角度可以用旋转矩阵 表示,如下面公式所示:
(8)
其中, 、 和 分别表示偏航角、俯仰角和横滚角。此外,针对现有的人脸姿态估计数据集,标签采用欧拉角表示,所以这些标签应该转化为旋转矩阵。欧拉角可以通过旋转矩阵的元素来确定,这种转化可以用表达式来表示:
(9)
三维旋转群,通常记为SO(3),是围绕三维欧几里得空间原点的所有旋转的群。旋转矩阵是李群SO(3)上的三维特殊正交矩阵,满足以下性质:
(10)
其中, 是一个方阵的行列式。人脸姿态估计可以设计在三维特殊正交组上,以避免奇异性和模糊性问题。旋转矩阵难以约束,容易失去其正交性,因此,为了在SO(3)上构造确定性人脸姿态,本文在特殊正交群上构造了指数密度模型的一种紧凑形式,即矩阵费雪分布来约束旋转矩阵,并表示人脸姿态旋转不确定性。
矩阵费雪分布可以用来处理旋转的统计量。当应用于三维特殊正交组时,可通过九个参数确定,并对头部姿态不确定性进行建模。对于旋转矩阵 ,矩阵费雪分布由下面的概率密度函数定义:
(11)
其中, 是一个无约束矩阵, 是分布的归一化常数, 是该矩阵的迹。该分布可以用 表示。
归一化常数 由下式给出:
(12)
(13)
其中, 是 的奇异值的对角矩阵且 。 和 是正交矩阵,满足 。而在SO(3)中它们不是旋转矩阵,因为 和 的行列式可以是−1。为了解决这个问题,采用如下变换:
(14)
和 的定义确保了 。此外, 的结果由 决定。接着, 被定义为:
(15)
归一化常数 可以表示为:
(16)
其中, 是广义超几何函数,要精确计算它是相当重要的。通过计算这个超几何函数,可以得到常数 及其梯度。
当得到SO(3)上的矩阵费雪分布时,在推断阶段,可以从该分布中提取出合适的旋转矩阵。假设 ,且 ,则最大均值可定义为:
(17)
计算之后,最优旋转 表示为:
(18)
为了可视化矩阵的费雪分布,提出了一种可视化SO(3)上的概率密度函数的方法。首先计算旋转矩阵的第列向量的边际概率密度函数,并将其在单位球表面上可视化。矩阵费雪分布可视化见
该模型使用多个损失函数进行训练,以学习合理的面部形状表示和稠密的对应关系。
基本的SDF结构损失被应用于学习隐式场:
(19)
其中, 和 分别表示地面真实SDF值和场梯度。 为人脸扫描第 个人的采样空间, 表示权衡参数。
为了在整个网络中获得合理的隐式场,使用多个Eikonal损失来强制执行空间梯度的 范数为单位1:
(20)
其中, 使网络在观测空间和正则空间中同时满足Eikonal损失。
它以零均值高斯先验对嵌入进行正则化:
(21)
损失用于学习特征点网络:
(22)
其中, 表示样本 上的第 个标记的特征点, 表示对应的中性面上的特征点。
本文利用这一损失来引导变形的特征点位于地面真实中性面和模板面上的相应位置,以获得更好的对应性能:
(23)
给定一个样本
,
是输入图像,旋转矩阵
是地面真实值。矩阵费雪分布模块的细节见
(24)
该损失是一个连续的凸函数,具有连续的梯度,适合于优化。
对所有以 为索引的人脸样本计算总的训练损失,最终表示为:
(25)
FaceScape
所有形变模块 被实现为具有3个隐藏层和32维正弦激活隐藏特征的MLPs。超参网络 是由ReLU激活的3层MLPs,其中隐藏层维度为64。特征点网络 和 具有三个128维全连接层。
表情形变网络
的详细结构图见
(26)
在本文的实验中, , 。此外,每个 都利用正弦激活,参数初始化。在训练过程中, 个 的参数由 个对应的超参网络 生成,以获得更具有表达性的潜在空间,这是最近隐式神经表示研究中常见的技术操作。训练网络的权衡参数 分别设置为3e3、1e2、5e1、1e6、1e2、1e2和1e2。
网络中的SE(3)形变模块的输入Deformations即本文所描述的矩阵费雪分布模块所估计得到的人脸姿态,它的网络结构见
身份形变网络结构和表情形变网络结构相似,变形到模板空间中得到
,模板形变网络结构见
该模型由Adam以端到端的方式进行训练。以初始学习率为0.0001训练模型1500个epochs,在200个epochs之后,每10个epochs将其衰减0.95倍。在1块NVIDIA RTX 3090 GPU上进行训练,训练时间约为2天,微批大小为72。在测试过程中,在单个GPU上优化200个样本大约需要4个小时。
本文使用提出的模型来拟合人脸扫描,并将重建结果与FLAME
可视化了不同模型所获得的重建结果见
具体地,采用对称倒角距离和F-分数作为度量指标,并将F值的阈值设置为0.001作为严格标准,对称倒角距离越小效果越好,相反F-分数越高效果越好。结果见
Metrics |
Dim. |
|
|
i3DMM |
256 |
1.635 |
42.26 |
FLAME |
400 |
0.971 |
64.73 |
ImFace |
352 |
0.625 |
91.11 |
our |
256 |
0.608 |
91.18 |
本文方法建立在以下核心组件之上:人脸几何变形场,神经混合场。通过实验验证了这些设计的有效性。为了突出人脸几何变形场学习过程,建立了一个只包含其中一个变形场的基线网络,以普遍学习面部形状变形。因此,
和
被连接为超参网络的输入。结果见
Metrics |
|
|
Ours w/o geo. |
0.780 |
83.12 |
Ours w/o blend. |
0.765 |
82.87 |
ours |
0.636 |
90.95 |
本文提出了一种新颖的3D人脸形变模型,它通过学习INRs对传统的3DMMs进行了实质性的升级。为了捕获非线性的面部几何变化,该方法构建了独立的隐式神经子网络,将形状变形显式地解耦为身份和表情的两个变形场。对于姿态的变化,本文利用基于旋转矩阵的费雪分布矩阵来表示人脸姿态的角度,并模拟头部旋转的不确定性。
国家自然科学基金资助项目(62273239)。