1. 引言
三维形变人脸模型(3D Face Morphable Model, 3DMM)[1]是一个著名的统计模型,通过学习一组具有密集对应关系的面部形状和纹理的先验分布而建立的,旨在渲染具有高度多样性的真实人脸。3DMM在计算机视觉、计算机图形学、生物识别学和医学成像领域的许多人脸分析应用中被广泛利用。
在3DMM中,最基本的问题在于如何生成潜在的变形表示,在过去的二十年里,随着数据在规模性、多样性和质量方面的改进,重建方法取得了显著的进展。这些方法最初是基于线性模型[2]的,并进一步扩展到多线性模型[3],其中不同的模式单独编码。然而,由于线性模型的表示能力相对有限,这些方法并不能很好地处理复杂变化的情况,如夸张的表情变化。在深度学习的背景下,通过使用卷积神经网络(CNN)或图神经网络,以2D图像[4]或3D[5]网格为输入,研究了许多非线性模型,他们确实带来了一定的提高。然而,受输入数据上离散表示方法的分辨率限制,人脸先验信息没有被充分捕获,导致形状细节会丢失。此外,目前所有的方法都依赖于点对点对应[6]的预处理过程,但是人脸配准问题本身仍然具有挑战性。
Figure 1.Parameter regression results
图1.参数回归结果
最近,关于隐神经表示(Implicit Neural Representations, INRs)[7]的一些研究表明,通过学习连续的深度隐式函数可以精确地建模三维几何。它们将一个输入观测描述为一个低维的形状嵌入,并估计一个查询点的有符号距离函数(Signed Distance Function, SDF)或占有率值,从而可以通过等照度定义任意分辨率和拓扑结构的曲面。由于参数的连续化和一致的表示,INRs优于离散的体素、点云和网格,并在形状重建[8]和表面配准[9]中得到了良好的实验结果。这种优势表明它已经渐渐成为一种替代传统3DMM的重建方法。然而,与室内场景或人体等具有明显形状差异和有限非刚性变化的物体不同,所有面部表面看起来非常相似,包含更复杂的变形,并且多种身份和丰富的表情会交织在一起,这使得目前的INRs方法在人脸建模方面存在问题。
另一方面,传统3DMM即参数面模型通常包含三组参数:身份、表情和姿态。基于CNN的方法直接学习了三维人脸模型的参数的回归,达到了最先进的性能。本文对FaceScape[10]数据集进行了详细的调查,以评估这些参数在CNN中能否被很好地解纠缠以及准确地回归。结果见图1。首先训练一个神经网络,它以一个RGB图像作为输入,同时回归身份、表情和姿态参数。基线3DMM模型是通过最小化三维顶点误差,即归一化平均误差(NME)得到的,然后,分别将预测的身份、表情和位姿参数替换为相应的地面真实参数(记为GT身份、GT表情和GT姿态),并重新计算三维人脸重建误差。令人惊讶的是,本文发现GT姿态的性能增益几乎是其两个同类产品的2倍。当面部取向程度的增加时,改善更加显著。假设导致这一结果的原因有两个:1) 这三组参数高度相关,预测一个不良姿态将很大程度影响三维人脸模型的身份和表情估计;2) 三维面部标注很少,特别是对于那些具有不寻常的姿态。
因此,一个需要解决的问题是如何有效地表示头部姿势的角度,在以往的研究中[11],经常采用欧拉角和单位四元数这两种表示形式,使用欧拉角会导致被称为框架锁[12]的模糊性问题。另一种表示是单位四元数,由于它的双重嵌入,可能导致两个不连通局部最小值存在,因此也存在模糊问题。此外,Zhou等人[13]证明了任何四维或更少维度的旋转表示都是不连续的,这对训练网络的优化是一个麻烦。为了克服模糊性问题,本研究采用了旋转矩阵表示法。基于图像的旋转矩阵表示的姿态估计任务等价于SO(3)估计旋转矩阵。然而,由于头部姿态的不确定性,旋转矩阵很难直接预测。为了处理姿态的不确定性,在方向统计量[14]中定义了旋转的各种概率分布。矩阵费雪分布是在[15]中引入的旋转矩阵的指数概率密度。SO(3)上的矩阵费雪分布可以由9个参数来定义,它对应于
中由三维均值和六维协方差来定义的高斯分布。SO(3)上的矩阵费雪分布可以约束旋转矩阵,并且为进一步的分析和估计提供了不确定性。
为了解决上述问题,本文提出了一种新颖的3D人脸形变模型,它通过学习INRs对传统的3DMMs进行了实质性的升级。为了捕获非线性的面部几何变化,该方法构建了独立的隐式神经子网络,将形状变形显式地解耦为身份和表情的两个变形场。对于姿态的变化,本章利用基于旋转矩阵的费雪分布矩阵来表示人脸姿态的角度,并模拟头部旋转的不确定性。
2. 相关工作
2.1. 三维人脸变形模型
作为一种通用的人脸表示方法,通过使用非刚性迭代最近点算法[16]将已知模板网格注册到所有训练扫描中,并使用主成分分析方法跨越先验人脸分布。为了对身份依赖的表情进行建模,3DMM被进一步扩展到多线性模型[17]。在此之后,数据改进[18]取得了巨大的进步,FLAME[19]是一种结合颌骨关节和线性表情混合形状来控制面部表情的人脸模型,它从一个包括D3DFACS[20]的大型3D人脸数据集中学习,并提供了比以往更令人印象深刻的结果,然而它的非线性面部变形不能被很好地捕获。
2.2. 隐式神经表示
近年来,隐式神经表示已经成为一种更有效、更合适的三维几何表示,因为它们不能连续建模离散的形状。为了保持细节,进一步利用了由形状元素[21]、网格[22]或八叉树[23]划分的结构化局部特征。此外,为了很好地捕捉形状变化和对应关系,特别学习了一个额外的隐式变形潜在空间[24]。然而,现有的技术很难同时实现较高的视觉保真度和多样性,因此它们不适合进行可变形的人脸建模。此外,目前对INRs的研究主要集中在水密输入上,如ShapeNet[25]中的输入,其中,H3D-Net[26]学习了一个隐式的头部形状空间用于2D重建;i3DMM[27]是第一个为人类头部设计的隐式3D可变形模型,然而,它在表示面部区域时严重受到低质量的影响。
2.3. 旋转矩阵表示
在姿态估计中,确定姿态的表示是非常重要的。一些使用深度学习模型的研究将欧拉角[28]或单位四元数[29]作为位姿估计的表示。然而,由于它们的性质,这些表示法存在模糊性问题。因此,旋转矩阵被用于姿态估计来解决这个问题。Prokudin等人[30]探索了旋转矩阵结合奇异值分解进行姿态估计。Lee等人[31]采用矩阵Fisher分布来表示姿态估计的不确定性,并根据贝叶斯框架构造了一个姿态估计器。Mohlin等人[32]提出了一种近似的矩阵费雪分布方法的归一化常数来估计目标方向。Wang等人[33]将矩阵费雪分布与高斯分布相结合,表示姿态存在较大的不确定性。
3. 方法
3.1. 人脸几何变形场
本文利用隐式神经表示来学习非线性三维变形人脸模型。所提出的方法明确地将面部形状变形分别分解为两个与身份和表情相关的独立变形场,并学习了一个深度SDF来表示模板形状。所有的变形场都与一系列的局部隐式函数混合,以进行更详细的表示。
它的基本思想是训练一个神经网络来拟合一个连续的函数f,该函数通过水平集隐式地表示曲面,并且可以以各种格式进行去定义,例如占用率、SDF或UDF。该方法利用基于表情和身份的潜在嵌入的深度SDF来进行全面的人脸表示。它从一个查询点输出有符号的距离
:
(1)
其中,
为三维空间中查询点的坐标,
和
分别表示表情和身份嵌入。
该方法的目标是学习一个神经网络来参数化,使它满足真正的面部形状先验。流程图见图2,所提出的网络由三个形变网块组成,明确地解开了面部形状变形的学习过程,确保了个体间的差异和细粒度变形的准确建模。特别地,前两个形变块分别学习与表情和身份变化相关的单独变形场,而模板形变网块学习模板面形状的有符号距离场。
Figure2.Algorithm flow chart
图2.算法流程图
上面所有变形场都是由共享的形变网块架构实现的,其中整个面部变形或几何进一步分解为许多语义有意义的部分,并由一组局部函数编码,从而可以充分捕获丰富的细节。一个以查询点位置为条件的轻量级模块,即融合网络,被堆叠在形变网块的末端,以自适应地混合局部场。因此,实现了一个复杂的神经混合场。本章工作的三个核心组件和它们的结构都有相应的轻微变化。对它们的简要描述如下:
1) 表情形变网络(ExpNet)
由表情引起的面部变形用ExpNet
表示,SoftMax在每次面部扫描中学习一个表情变形:
(2)
其中,
表示由特征点网络
生成的观察面上的
个三维特征点,引入来定位神经混合场中的查询点
。观测空间中的点
被
变形为人特定的规范空间中的一个新的点
,它表示具有中性表情的面。
2) 身份形变网络(IDNet)
为了模拟个体之间的形状变形,IDNet
进一步将规范空间变形为一个由所有面共享的模板形状空间:
(3)
其中,
表示由另一个仅基于身份嵌入的特征点网络
生成的标准面上的
个特征点,
为模板空间中的变形点。为了处理预处理过程中可能产生的不存在的对应关系,另外预测了一个残差项
来校正预测的SDF值
。
3) 模板形变网络(TempNet)
TempNet
学习共享模板面的一个有符号的距离场:
(4)
其中,
为模板面上的
个特征点,在整个训练集上取平均值,
为未校正的SDF值。一个查询点的最终SDF值是通过
计算出来的,模型最终可以表述为:
(5)
所提出的方法通过以细粒度和有意义的方式解纠缠变形场来学习面部变形,以确保能够准确地学习更多样和复杂的面部变形。
4) 神经混合场
形变网块是由
、
和
三个子网络共享的公共体系结构。神经混合场学习一个连续场函数
,以产生一个用于综合面表示的神经混合场。其中
表示人脸图像提取得到的相关特征。特别地,为了克服单个网络的有限表达能力,将人脸空间分解为一组具有语义意义的局部区域,并在混合之前单独学习
(例如变形或有符号距离值)。这种设计受到最近隐式神经表示对人体研究的启发,该研究引入了线性混合蒙皮算法[34],使网络可以从身体某个部位的单独变换中学习。为了更好地表示详细人脸表面,将原始线性混合蒙皮算法中的常数变换项替换为
,并将神经混合场定义为:
(6)
其中,
是描述第
个局部区域的参数,
是第
个混合权值,
是相应的局部域。通过这种方式,在一系列局部域上执行混合,而不是计算一些固定位置的输出值
的加权平均值,从而在处理复杂的局部特征时具有更强的表示能力。
具体来说,利用位于眼角、嘴角和鼻尖的5个特征点来描述局部区域
,每个区域被分配一个带有正弦激活的微型MLP来生成局部场,记为
。为了捕获高频局部变化,在坐标
上利用正弦位置编码
。在形变网块的最后,配置了一个基于输入绝对坐标
的轻量级融合网络,该网络由一个3层的MLP结合Softmax实现,用于预测混合权重
。
3.2. 矩阵费雪分布的概率姿态估计
本文用一个SE(3)场
来表示变形,其中
是一个表示螺旋轴和旋转角度的旋转向量,变形坐标
可以用
来计算。该方法利用SE(3)来描述面部形状变形,因为它在处理下颌旋转方面具有优越的能力,并且比普通平移变形
对姿态扰动具有更好的鲁棒性。在本文中,首先提出了旋转矩阵作为人脸姿态的表示。然后引入基于旋转矩阵的矩阵费雪分布对人脸姿态旋转不确定度进行建模,并讨论了其归一化常数的计算方法。
3.2.1. 人脸姿态表示
介绍了以旋转矩阵作为头人脸姿态角度表示的假设。在三维世界坐标中,位于
处的点首先绕x轴旋转角度
,然后绕y轴旋转角度
,最后绕z轴旋转角度
。这样的旋转序列可以表达为:
(7)
其中
为旋转矩阵,可以表示从固定系到惯性坐标系的线性变换。人脸姿态的角度可以用旋转矩阵
表示,如下面公式所示:
(8)
其中,
、
和
分别表示偏航角、俯仰角和横滚角。此外,针对现有的人脸姿态估计数据集,标签采用欧拉角表示,所以这些标签应该转化为旋转矩阵。欧拉角可以通过旋转矩阵的元素来确定,这种转化可以用表达式来表示:
(9)
三维旋转群,通常记为SO(3),是围绕三维欧几里得空间原点的所有旋转的群。旋转矩阵是李群SO(3)上的三维特殊正交矩阵,满足以下性质:
(10)
其中,
是一个方阵的行列式。人脸姿态估计可以设计在三维特殊正交组上,以避免奇异性和模糊性问题。旋转矩阵难以约束,容易失去其正交性,因此,为了在SO(3)上构造确定性人脸姿态,本文在特殊正交群上构造了指数密度模型的一种紧凑形式,即矩阵费雪分布来约束旋转矩阵,并表示人脸姿态旋转不确定性。
3.2.2. 矩阵费雪分布
矩阵费雪分布可以用来处理旋转的统计量。当应用于三维特殊正交组时,可通过九个参数确定,并对头部姿态不确定性进行建模。对于旋转矩阵
,矩阵费雪分布由下面的概率密度函数定义:
(11)
其中,
是一个无约束矩阵,
是分布的归一化常数,
是该矩阵的迹。该分布可以用
表示。
归一化常数
由下式给出:
(12)
这对于精确和有效的计算是相当重要的。为了求值
,本文考虑了
的奇异值。假设无约束矩阵
的奇异值分解由下式给出:
(13)
其中,
是
的奇异值的对角矩阵且
。
和
是正交矩阵,满足
。而在SO(3)中它们不是旋转矩阵,因为
和
的行列式可以是−1。为了解决这个问题,采用如下变换:
(14)
和
的定义确保了
。此外,
的结果由
决定。接着,
被定义为:
(15)
归一化常数
可以表示为:
(16)
其中,
是广义超几何函数,要精确计算它是相当重要的。通过计算这个超几何函数,可以得到常数
及其梯度。
Figure 3.Visualization of matrix Fisher distribution with differentM
图3.具有不同M的矩阵费雪分布的可视化图
当得到SO(3)上的矩阵费雪分布时,在推断阶段,可以从该分布中提取出合适的旋转矩阵。假设
,且
,则最大均值可定义为:
(17)
计算之后,最优旋转
表示为:
(18)
为了可视化矩阵的费雪分布,提出了一种可视化SO(3)上的概率密度函数的方法。首先计算旋转矩阵的第列向量的边际概率密度函数,并将其在单位球表面上可视化。矩阵费雪分布可视化见图3。矩阵
决定了
的形状。
的奇异值越大,边际概率密度的离散度越小。此外当
变化时,红色轴所示的主轴被旋转。
3.3. 损失函数
该模型使用多个损失函数进行训练,以学习合理的面部形状表示和稠密的对应关系。
3.3.1. 重建损失
基本的SDF结构损失被应用于学习隐式场:
(19)
其中,
和
分别表示地面真实SDF值和场梯度。
为人脸扫描第
个人的采样空间,
表示权衡参数。
3.3.2. Eikonal损失
为了在整个网络中获得合理的隐式场,使用多个Eikonal损失来强制执行空间梯度的
范数为单位1:
(20)
其中,
使网络在观测空间和正则空间中同时满足Eikonal损失。
3.3.3. 嵌入损失
它以零均值高斯先验对嵌入进行正则化:
(21)
3.3.4. 特征点损失
损失用于学习特征点网络:
(22)
其中,
表示样本
上的第
个标记的特征点,
表示对应的中性面上的特征点。
3.3.5. 特征点一致性损失
本文利用这一损失来引导变形的特征点位于地面真实中性面和模板面上的相应位置,以获得更好的对应性能:
(23)
3.3.6. 负对数似然损失
给定一个样本
,
是输入图像,旋转矩阵
是地面真实值。矩阵费雪分布模块的细节见图4。通过将样本依次输入卷积神经网络和全连通层,得到
,然后生成矩阵费雪分布
。利用分布的负对数似然函数可以计算
和
之间的矩阵费雪分布损失(MFD损失)。MFD损失可以表示为:
(24)
该损失是一个连续的凸函数,具有连续的梯度,适合于优化。
对所有以
为索引的人脸样本计算总的训练损失,最终表示为:
(25)
4. 实验
4.1. 数据集
FaceScape[10]是一个大规模的高质量的3D人脸数据集,由938个个体组成,有20种表情类型。来自365个人的数据是公开的,本文主要用它们进行实验。具体来说,从355人的15个表情的5323次面部扫描作为训练集,从其余10人的20个表情的200次面部扫描作为测试集。
4.2. 网络结构
所有形变模块
被实现为具有3个隐藏层和32维正弦激活隐藏特征的MLPs。超参网络
是由ReLU激活的3层MLPs,其中隐藏层维度为64。特征点网络
和
具有三个128维全连接层。
Figure 4.Matrix Fisher distribution module diagram
图4.矩阵费雪分布模块示意图
Figure 5.Expression deformation network structure
图5.表情形变网络框架结构
表情形变网络
的详细结构图见图5,其中
表示人脸扫描总次数,
表示对象身份数量,PE表示位置编码。所有的网络都由MLP完全实现。为了获得更好的高频信息,本文通过正弦位置编码
对
个特征点的相对坐标进行编码,写成:
(26)
在本文的实验中,
,
。此外,每个
都利用正弦激活,参数初始化。在训练过程中,
个
的参数由
个对应的超参网络
生成,以获得更具有表达性的潜在空间,这是最近隐式神经表示研究中常见的技术操作。训练网络的权衡参数
分别设置为3e3、1e2、5e1、1e6、1e2、1e2和1e2。
网络中的SE(3)形变模块的输入Deformations即本文所描述的矩阵费雪分布模块所估计得到的人脸姿态,它的网络结构见图4。
Figure 6.Templet deformation network structure
图6.模板形变网络结构
身份形变网络结构和表情形变网络结构相似,变形到模板空间中得到
,模板形变网络结构见图6,最后经过神经混合场得到SDF
。
4.3. 实验细节
该模型由Adam以端到端的方式进行训练。以初始学习率为0.0001训练模型1500个epochs,在200个epochs之后,每10个epochs将其衰减0.95倍。在1块NVIDIA RTX 3090 GPU上进行训练,训练时间约为2天,微批大小为72。在测试过程中,在单个GPU上优化200个样本大约需要4个小时。
4.4. 实验结果
本文使用提出的模型来拟合人脸扫描,并将重建结果与FLAME[19],i3DMM[27]和ImFace[35]的几何模型进行了比较,表明了该方法的先进性。FLAME代码用于拟合测试集中的全面扫描,有300个身份参数和100个表情参数。对于ImFace,使用FaceScape发布的由938个个体建立的双线性模型进行测试,其中身份和表情参数分别为300和52。测试扫描已经包含在FaceScape的训练集中。对于i3DMM,由于原始模型只在58个个体上进行训练,因此在与本文相同的训练集上重新训练模型,以进行公平的比较。在i3DMM和本文方法中,身份和表情嵌入都是128维的。
4.4.1. 定性分析
可视化了不同模型所获得的重建结果见图7,其中每一列对应一个具有非中性表情的测试人。研究结果还包括在学习过程中看不见的表情。i3DMM是第一个针对人类头部的深度隐式模型,但在相对复杂的情况下,它无法捕捉复杂的变形和细粒度的细节,从而导致重建的面孔上的伪影。FLAME能够很好地呈现身份特征,但在处理非线性变形时,会产生僵硬的面部表情。ImFace的表现更好,主要是由于高质量的训练扫描和测试面包含在训练集中,但它仍然不能精确地呈现表情形态。相比之下,本文方法重建了具有更准确的身份和表情特性的面孔,它能够通过更少的潜在参数来保持微妙和丰富的非线性面部肌肉变形,如皱眉和撅嘴。
Figure 7.Reconstruction comparison results
图7.重建比较结果
4.4.2. 定量分析
具体地,采用对称倒角距离和F-分数作为度量指标,并将F值的阈值设置为0.001作为严格标准,对称倒角距离越小效果越好,相反F-分数越高效果越好。结果见表1,可以看到,本文方法在两种度量指标下都超过了同类方法,这显然验证了它的有效性。
Table 1.Quantitative analysis comparison
表1.定量分析对比
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 |
4.4.3. 消融实验
本文方法建立在以下核心组件之上:人脸几何变形场,神经混合场。通过实验验证了这些设计的有效性。为了突出人脸几何变形场学习过程,建立了一个只包含其中一个变形场的基线网络,以普遍学习面部形状变形。因此,
和
被连接为超参网络的输入。结果见表2,定量结果表明了人脸几何变形场学习的意义。本文将
、
、
中的神经混合场替换为等量参数的MLP,直接预测整个面部的全局变形或SDF值。表2中的定量结果证实了神经混合场在学习复杂表示方面的必要性。
Table 2.Ablation experimental results
表2.消融实验结果
Metrics |
|
|
Ours w/o geo. |
0.780 |
83.12 |
Ours w/o blend. |
0.765 |
82.87 |
ours |
0.636 |
90.95 |
5. 结论
本文提出了一种新颖的3D人脸形变模型,它通过学习INRs对传统的3DMMs进行了实质性的升级。为了捕获非线性的面部几何变化,该方法构建了独立的隐式神经子网络,将形状变形显式地解耦为身份和表情的两个变形场。对于姿态的变化,本文利用基于旋转矩阵的费雪分布矩阵来表示人脸姿态的角度,并模拟头部旋转的不确定性。
基金项目
国家自然科学基金资助项目(62273239)。