Self-Supervised 3D Face Reconstruction via Conditional Estimation

Abstract

我们提出了一个条件估计(CEST)框架,通过视频中的自监督训练,从2D单视图图像中学习3D人脸参数。CEST是基于综合分析的过程,从人脸图像中估计出三维人脸参数(形状、反射率、视点、光照),然后进行重组,重构出二维人脸图像。为了学习语义上有意义的3D人脸参数而不需要明确地访问它们的标签,CEST通过考虑不同的3D人脸参数的统计依赖相关性来耦合对各个参数的估计。具体来说,任何三维人脸参数的估计不仅取决于给定的图像,还取决于已经推导出的人脸参数。此外,采用视频帧与帧之间的反射对称性和一致性来提高人脸参数的解耦。结合一种融合反射对称性和一致性的新策略,CEST可以在野外视频剪辑中有效地训练。定性和定量实验均证明了CEST的有效性。

1. Introduction

从单视图二维图像重建三维人脸一直是计算机视觉的一个长期问题。通常的方法将三维人脸表示为其形状的组合,并由其表面上被称为顶点的一些点的三维坐标以及其纹理表示,其中纹理是由这些顶点[4]上的红、绿、蓝反射率所表示。随后则是学习二维图像、顶点及其反射率之间的参数回归模型。

通过训练数据集对可用的2D图像和相应的3D参数进行参数回归的学习。然而,这些数据一般是稀缺的,即使是一般可用的数据也只有形状信息。具有其他参数的图像通常是在受控环境中进行信息的捕获,或者是通过数据合成的方式,因此这些不能代表真实世界的图像信息。于是乎,人们对自监督学习方法产生了极大的兴趣,这种方法可以从自然的2D图像或视频中学习回归模型,而无需明确需要3D训练数据。

问题是复杂的,实际成像不仅取决于的形状和纹理的脸,而且照明(入射光的强度和方向),和其他因素,如视点(加入人脸的方向和相机的位置),等等。因此,所学的回归模型也必须考虑这些因素。为此,一般的方法是从二维图像中提取形状、反射率、光照和视角参数。提取这些人脸面部参数的回归模型是通过自监督的方式来学习的,主要是通过将提取的面部参数进行重组来渲染原始的2D图像并以最小化重构误差来学习模型的参数。

然而,由于二维图像可能是由形状、纹理、光照和视角的不同组合而获得,因此这样的解决方案仍然是模糊的。为了确保自监督提供有意义的解耦,利用人脸参数重组方式来重建二维图像的方式则是一种基于图像形成的物理过程形式的表达。为了进一步减少潜在的歧义,正则化是必要的。反射对称已经被提出作为一种正则化的方式,其中假设人脸图像的反射率和其镜面反射率相同。平滑度也被用来正则化形状和反射率。额外的正则化可以通过考虑同一人脸的多幅图像之间的对应关系来获得,特别是当它们是在相同的条件下获得的,例如视频中的图像序列。[37,Fml: Face model learning from videos]中的方法考虑了反射率一致性,假设视频剪辑中所有图像帧的反射率都相似。

在之前的所有工作中目标参数,即形状、反射率、光照和视角参数都是单独估计的,没有考虑它们之间的直接影响,虽然它们是联合优化的。实际上,在推理时,他们假设对反射系数的估计,相对原始的2D图像形状或视点的估计是条件独立的。这四种图像之间的耦合只在(自监督)训练中才会考虑,且在训练过程中各个参数必须全部组合起来,来完全的重建出输入的2D图像。这如图1(a)所示。

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第1张图片

实际上,2D 图像是减少维度的投影,因此无法完美地表示人脸的完整 三维结构,并且其中在反射率和照明方面的参数信息也并不依赖于潜在的形状或者被捕捉的视角。因此,捕获的 2D 图像代表了视角、形状、反射率和照明之间的联合交互。因此,在只给定 2D 图像的条件下,这四个因素中的任何一个因素的统计估计,实际上可能不会是真正的条件独立。因此,将所有这些变量建模为条件独立情况可能会失去有效的机会,因为只是单独的预测他们的参数而对彼此施加的约束被忽略了。基于优化的方法试图通过迭代估计彼此的形状和反射率来捕捉依赖关系。然而,这些方法需要视频中图像序列的对应信息,并且推断成本很高

本文提出了一种基于条件估计的学习框架(CEST)。CEST明确地考虑了从单个二维图像中推出的各种三维人脸参数(形状、视角、反射率和光照)之间的统计相关性。本文所采用的依赖关系具体形式如图1(b)所示。我们注意到CEST框架非常通用,允许我们考虑任何其他依赖结构。我们的论文是许多在实践中工作良好的潜在选择之一。为此,我们在CEST中提出了一个具体的、直观的解决方案,该方案将视角、人脸形状、面部反射率和光照按顺序和条件进行预测。在这种情况下,人脸形状的预测依赖于输入的图像和推出的视角;人脸反射率的预测以输入的图像、推出的视角和人脸形状为条件;等等。

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第2张图片

 和前面一样,通过将重新渲染的2D图像与估计的3D人脸参数进行比较,这种学习仍然是自监督的。作为额外的正则化,我们还使用了反射对称约束和反射一致性约束(在一个短视频剪辑的帧间)[37]。这些以跨帧重构误差项的形式包括在其中,其数量随考虑进行自监督的视频帧数的增加而呈二次方增长。为了解决重构项数量急剧增加的问题,我们提出了一种随机优化策略来提高训练效率。

我们进行了消融研究,并与最先进的方法进行了比较来评估CEST。我们方法通过与其他测试方法相比,CEST产生了更好的反射率和结构照明,导致更真实的渲染人脸与精细的面部细节。该算法在AFLW2000- 3D和MICC数据集上的形状估计精度也优于目前最先进的自监督和完全监督方法。总的来说,我们的贡献可以总结如下:

(1)我们提出了一种用于三维人脸重建的条件估计框架CEST,该框架明确地考虑了三维人脸参数之间的统计相关性。

(2)我们提出了一个具体的条件估计分解设计,其中视角,形状,反射率和照明是依次推导求出。

(3)我们提出了一种随机优化策略,有效地将反射对称性和一致性约束纳入CEST。随着视频帧数的增加,CEST的计算复杂度呈线性增加,而不是二次增加。

2. Related Work

基于自监督学习的单目三维人脸重建。最近发表的许多研究旨在通过自监督的方式从单个图像中学习3D人脸参数。在[29]中,作者提出了一个由粗到细的框架来改进三维人脸重建中的细节。Ayush等人的[39]提出了一种基于模型的深度卷积人脸自动编码器(MoFA),以适应3DMM的形状、反射率和照度。InverseFaceNet[20]在由自监督引导生成的合成训练语料库上训练直接回归模型。SfSNet[33]在学习中结合了带标签的合成图像和未带标签的真实图像,并生成精确的深度图、反射率和阴影解耦。为了更好地刻画面部细节,[41,42]将3DMM推广为非线性模型。[48]对3D人脸使用网格卷积,从而实现了性能具有竞争力的轻量级模型。[34]将几何图形、像素和深度的多视图一致性作为约束。

然而,这些方法通常不考虑视频中跨帧的联系。FML[37]是第一个融合视频线索进行训练的自监督框架。每个视频帧的形状和反射率通过平均视频剪辑中的形状和反射率来近似。然而,如果多帧图像的数量很大,基于平均表示的模型可能不适用于单个图像,因为平均图像和单幅图像之间的差距很大。相反,CEST使用来自单个图像的表示。更重要的是,它使用条件估计来预测面部参数,而不假设它们之间的条件独立性,这在前面所提到的方法中通常是不现实的一种假设。

基于优化的三维人脸重建。[18]提出一种通过迭代更新视角、几何、光照和纹理参数的方法,使模板模型适合于照片的收集。[35]将人脸模型用于检测三维人脸关键点,并对纹理和几何细节进行细化。[11]学习面部子空间的身份和表情变化与参数形状的预测。[10]认为三维人脸重建是一个全局变分能量最小化的问题,并通过对视频帧的训练来估计密集的低秩三维形状。虽然这些方法可以被认为是条件估计,但它们专注于从视频中获取3D人脸参数,且与从单帧图像中获取这些参数的问题无关,而这正是我们工作中要解决的问题。对于CEST,视频通过剪裁得到一个图像集合并用于更好地学习模型。

3. The CEST Framework

在这项工作中,我们采用了一个常见的做法,用3D变形模型(3DMM)[4],表示三维人脸作为形状和反射率的组合。该形状由一组顶点组\boldsymbol{S}=[\boldsymbol{S}(1) ; \boldsymbol{S}(2) ; \ldots ; \boldsymbol{S}(K)] \in\mathbb{R}^{K \times 3},K是顶点的个数,\boldsymbol{S}(i)=[\boldsymbol{S}(i, 1), \boldsymbol{S}(i, 2), \boldsymbol{S}(i, 3)],表示笛卡尔坐标系中的xyz坐标。对于不同的面孔,S的类型是一致的。反射率由像素值的集合组成:\boldsymbol{R}=[\boldsymbol{R}(1) ; \boldsymbol{R}(2) ; \ldots ; \boldsymbol{R}(K)] \in \mathbb{R}^{K \times 3}

每行\boldsymbol{R}(i)=[\boldsymbol{R}(i, 1), \boldsymbol{R}(i, 2), \boldsymbol{R}(i, 3)],包括位置\boldsymbol{S}(i)处的像素值(即RGB)。

3.1. Framework Overview

从二维图像进行三维人脸重建的问题是,在给定输入图像I的情况下,获得形状S、反射率R、视角v和光照\boldsymbol{\ell}的估计。从统计学上讲,我们的目标是在给定输入图像的情况下,估计出这些变量最有可能的值:

             \hat{\boldsymbol{S}}, \hat{\boldsymbol{R}}, \hat{\boldsymbol{v}}, \hat{\ell}=\arg \max _{\boldsymbol{S}, \boldsymbol{R}, \boldsymbol{v}, \ell} P(\boldsymbol{S}, \boldsymbol{R}, \boldsymbol{v}, \boldsymbol{\ell} \mid \boldsymbol{I})                     (1)     

这种估计的挑战有两方面:首先P(\boldsymbol{S}, \boldsymbol{R}, \boldsymbol{v}, \boldsymbol{\ell} \mid \boldsymbol{I})一定是可以这样仿照去描述的,第二\arg \max _{\boldsymbol{S}, \boldsymbol{R}, \boldsymbol{v}, \boldsymbol{\ell}} P(\boldsymbol{S}, \boldsymbol{R}, \boldsymbol{v}, \boldsymbol{\ell} \mid \boldsymbol{I})一定是可以计算的。模型P(\boldsymbol{S}, \boldsymbol{R}, \boldsymbol{v}, \boldsymbol{\ell} \mid \boldsymbol{I})直接是一个具有挑战性的问题,这个问题必须是可以因式分解的。之前的方法[41,39,48]通过假设形状、反射率、视角和光照都是条件独立的来分解这个问题。P(\boldsymbol{S}, \boldsymbol{R}, \boldsymbol{v}, \boldsymbol{\ell} \mid \boldsymbol{I})=P(\boldsymbol{S} \mid \boldsymbol{I}) P(\boldsymbol{R} \mid \boldsymbol{I}) P(\boldsymbol{v} \mid \boldsymbol{I}) P(\ell \mid \boldsymbol{I})。这导致了简化的估计,其中每个变量都可以独立估计,即:\hat{\boldsymbol{S}}=\arg \max _{\boldsymbol{S}} P(\boldsymbol{S} \mid \boldsymbol{I})\hat{\boldsymbol{R}}=\arg \max _{\boldsymbol{R}} P(\boldsymbol{R} \mid \boldsymbol{I})。正如我们之前讨论过的,条件独立假设是有问题的,因为条件变量I是一个三维人脸的低维投影,它使四个变量混合在一起。

在CEST中,我们明确地对条件依赖关系建模,如图1(b)所示。具体来说,我们将联合概率分解为:

\begin{aligned} & P(\boldsymbol{S}, \boldsymbol{R}, \boldsymbol{v}, \boldsymbol{\ell} \mid I) \\ =& P(\boldsymbol{v} \mid \boldsymbol{I}) P(\boldsymbol{S} \mid \boldsymbol{I}, \boldsymbol{v}) P(\boldsymbol{R} \mid \boldsymbol{I}, \boldsymbol{v}, \boldsymbol{S}) P(\boldsymbol{\ell} \mid \boldsymbol{I}, \boldsymbol{v}, \boldsymbol{S}, \boldsymbol{R}) \end{aligned}       (2)

以这种方式耦合变量会导致一种复杂性:即使考虑到上面的因素,最大化关于SRv\boldsymbol{\ell}的联合概率且须联合执行,因为其变量是耦合的。我们根据上面的顺序分解,用下面的顺序估计来近似它:

\begin{array}{lc} \hat{\boldsymbol{v}}=\underset{\boldsymbol{v}}{\arg \max } P(\boldsymbol{v} \mid \boldsymbol{I}) & \hat{\boldsymbol{S}}=\underset{\boldsymbol{S}}{\arg \max } P(\boldsymbol{S} \mid \boldsymbol{I}, \hat{\boldsymbol{v}}) \\ \hat{\boldsymbol{R}}=\underset{\boldsymbol{R}}{\arg \max } P(\boldsymbol{R} \mid \boldsymbol{I}, \hat{\boldsymbol{v}}, \hat{\boldsymbol{S}}) & \hat{\boldsymbol{\ell}}=\underset{\ell}{\arg \max } P(\boldsymbol{\ell} \mid \boldsymbol{I}, \hat{\boldsymbol{v}}, \hat{\boldsymbol{S}}, \hat{\boldsymbol{R}}) \end{array}   (3)

第二个挑战是实际计算式子3中的arg max操作。我们不打算显式地对概率分布建模并使其最大化。相反的,我们将把方程3中的估计量建模为参数函数:

\begin{aligned} \hat{\boldsymbol{v}} &=f_{v}\left(\boldsymbol{I} ; \theta_{v}\right) & \hat{\boldsymbol{S}} &=f_{s}\left(\boldsymbol{I}, \hat{v} ; \theta_{s}\right) \\ \hat{\boldsymbol{R}} &=f_{r}\left(\boldsymbol{I}, \hat{v}, \hat{\boldsymbol{S}} ; \theta_{r}\right) & \hat{\boldsymbol{\ell}} &=f_{\ell}\left(\boldsymbol{I}, \hat{\boldsymbol{v}}, \hat{\boldsymbol{S}}, \hat{\boldsymbol{R}} ; \theta_{\ell}\right) \end{aligned}           (4)

学习估计三维人脸参数的问题,从而有效地降低估计参数\theta_{v}\theta_{s}\theta_{r}\theta_{t}的问题。

使用常用的方法,我们通过自动编码器制定这些参数的学习过程。f_v()f_s()f_r()f_{\ell}()一起被视为自动编码器中的可学习的编码器,并分别估计SRv\boldsymbol{\ell}。该解码器是一个用不可学习参数的确定可微渲染器R(),从编码器推导出的值中来重建原始输入图像I,即\hat{I}=R(S,R,v,\ell)。通过对编码器参数的学习,使\hat{I}I之间的误差最小。

3.2. Facial Parameters Inference

视角:我们首先从给定的图像中预测视角参数,使用函数f_{v}\left(\boldsymbol{I} ; \boldsymbol{\theta}_{v}\right): \boldsymbol{I} \rightarrow \boldsymbol{v} \in\mathbb{R}^{7}。这里v用于参数化弱透视图变换[36],包括3D空间旋转(SO(3))、平移(xyz坐标)和缩放因子。

形状:形状的预测取决于给定的图像I和预测视角参数v。由于用不同的视角捕捉到的同一张脸应该对应于是相同的人脸面部形状,所以在形状预测之前,尽可能多地从图像I中排除视角信息是有益的。利用预测的视角v,我们可以将图像在二维平面上与标准的视图进行对齐,如图2和附录A.1所示。裁剪后的图像表示为:\boldsymbol{I} \circ \boldsymbol{v},一个函数:f_{s}\left(\boldsymbol{I} \circ \boldsymbol{v} ; \boldsymbol{\theta}_{s}\right): \boldsymbol{I} \circ \boldsymbol{v} \rightarrow \boldsymbol{\alpha} \in \mathbb{R}^{228 \times 1},用可学参数\theta_{s}来预测形状系数\alpha。在三维人脸形状统计模型中定义了形状系数\alpha

\overrightarrow{\boldsymbol{S}}=\overline{\boldsymbol{S}}+\boldsymbol{U} \boldsymbol{\alpha}              (5)

\overrightarrow{\boldsymbol{S}} \in \mathbb{R}^{3 K \times 1}是一个向量S\overline{\boldsymbol{S}} \in \mathbb{R}^{3 K \times 1}是一个平均的人脸。\boldsymbol{U}\in \mathbb{R}^{3 K \times 228}是分别来自巴塞尔人脸模型[27]和3DFFA[49]的PCA身份和表情基。\overline{S}U在CEST的训练和测试中是固定的。在预测\alpha的情况下,S形状可由方程5得到。

反射率:可由公式5得到。以往的方法通常是在预先定义的模型中预测反射率系数[39,38],或直接从图像中预测反射率的unwrapped UV map[41,42,22,13]或图形表示[44,48]。在CEST中,我们采用UV贴图表示反射率。然而,反射率的预测不仅取决于给定的图像I,还取决于预测的视角v和形状S

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第3张图片

 该过程如图2所示。我们首先利用弱透视变换将世界坐标人脸形状S投影到视角v上,计算出图像坐标人脸面部形状\boldsymbol{Q}\in \mathbb{R}^{K \times 2}。该转换的细节在附录a .2中给出,因为它是一个标准公式,而不是本文的贡献。接下来,我们构造一个中间表示,即光照纹理T的UV 图,它是根据预测的脸型Q对给定的图像I通过展开得到的。然后,反射率A的UV图是由被照亮的纹理T,通过反射率函数f_{s}(T;\theta _{r})预测得到的。通过UV wrapping可以从A中恢复反射率R

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第4张图片

计算纹理T的基本思想如图3所示。对于每个\boldsymbol{T}\left(x^{\prime}, y^{\prime}\right)(位置\left(x^{\prime}, y^{\prime}\right)上的像素值),我们跟踪它在I中的对应位置(x, y)。光照纹理可以简单地通过\boldsymbol{T}\left(x^{\prime}, y^{\prime}\right)=I(x,y)得到,其中如果xy不是整数,则使用双线性插值来推断图片I在位置(x, y)的像素值。(x, y)的计算如下:首先,通过柱面展开将标准人脸形状S映射到UV空间。根据3DMM提供的顶点连通性,我们确定在网格上包围点\left(x^{\prime}, y^{\prime}\right)的三角形。这个三角形由三个顶点Q^{\prime}(i)Q^{\prime}(j)Q^{\prime}(k)表示。由于人脸形状在图像空间和UV空间中的拓扑是相同的,所以这两个空间中的顶点是一一对应的。因此我们可以很容易地得到相应的顶点Q(i)Q(j)Q(k)。现在位置(x, y)可以通过用x=\kappa_{1} \boldsymbol{Q}(i, 1)+\kappa_{2} \boldsymbol{Q}(j, 1)+\kappa_{3} \boldsymbol{Q}(k, 1)y=\kappa_{1} \boldsymbol{Q}(i, 2)+\kappa_{2} \boldsymbol{Q}(j, 2)+\kappa_{3} \boldsymbol{Q}(k, 2)来计算,其中,\kappa_{s}为质心坐标系[6]中由Q^{\prime}(i)Q^{\prime}(j)Q^{\prime}(k)\left(x^{\prime}, y^{\prime}\right)计算的系数。计算细节包括在附录A.3中。对于不可见的三角形(由自遮挡引起),我们简单地忽略它们。

对于被照明的纹理T,反射率A的UV贴图可以由函数f_{r}(T;\theta _{r}),其中\theta _{r}为可学习的参数。值得注意的是,f_r的输入(T)和输出(A)在UV空间中是空间对齐的,因此可以大大简化学习过程。然后,通过wrapping函数R = \Psi (A)得到反射率R,该函数没有可学习的参数,如a .4所示。

光照:根据之前的研究[14,42],我们假设远处的光滑光照和纯朗伯表面性质[2]。利用球面谐波(SH)[28]来近似某一表面的入射光。我们使用3个SH波段,得到9个SH系数。照明函数定义为f_{\ell}\left(\boldsymbol{I}, \boldsymbol{T}, \boldsymbol{A} ; \theta_{\ell}\right):(\boldsymbol{I}, \boldsymbol{T}, \boldsymbol{A}) \rightarrow \boldsymbol{\ell} \in \mathbb{R}^{9 \times 1},以给定的图像、被照亮的纹理图和反射率的UV图为输入,得到光照参数。到目前为止,我们已经预测了三维人脸模型参数 SRv\boldsymbol{\ell},我们可以将它们重新组合,通过专家设计的渲染模块进行渲染,即\hat{I}=R(S,R,v,\ell)

3.3. Objectives for Self-Supervised Learning

函数f_sf_rf_vf_\ell分别由具有可学习参数\theta _s\theta _r\theta_v\theta_\ell的卷积神经网络(CNN)建模。由于所有的学习模型和专家设计的渲染器都是可区分的,所以该框架是端到端可训练的。学习的目标是最小化原始图像I和渲染图像\hat{I}之间的差异。按照以前的工作,学习的目标是不包括非人脸区域中的像素,如头发、太阳镜、围巾等。我们通过人脸分割网络f_{seg}来识别像素是属于人脸区域还是非人脸区域,f_{seg}网络是由数据集中提供的分割标签的CelebAMASK-HQ数据集[23]上训练的。一旦训练,f_{seg}在CEST的训练和测试中是固定的。我们将有效人脸区域表示为掩模M,因此如果M(i,j)=1,则将位置(x,y)处的像素是包括在重建中,否则M(i,j)=0则不包括。光度学损耗可以写为:

 \begin{aligned} \mathcal{L}_{p h} &=\mathcal{E}(\boldsymbol{I}, S, \boldsymbol{R}, \boldsymbol{v}, \boldsymbol{\ell}, \boldsymbol{M}) \\ &=\|M \otimes I-M \otimes \hat{\boldsymbol{I}}\|_{1} \\ &=\|M \otimes I-M \otimes \mathcal{R}(S, R, \boldsymbol{v}, \ell)\|_{1} \end{aligned}       (6)

其中\left \| . \right \|_1测量\ell_1的距离,⊗表示元素乘法。然而,如果我们简单地优化\mathcal{L}_{p h},CEST将学习一种退化的解决方案,其中反射系数A只是复制纹理T的像素值,而\ell产生一个各个方向的反射,且所有方向产生一个同向的反射源。在这种情况下,CEST没有从语义上学习解耦的人脸参数,但导致了对\hat{I}的非完美重建。

 为了避免这种情况,我们对反射率采用了对称性和一致性约束。在视频剪辑中,面部反射率被认为是水平对称和一致的。假设I_iI_j是同一视频片段中的两个人脸图像。一种可能的解决方案是将正则化术语\left\|\boldsymbol{R}_{i}-\boldsymbol{R}_{i}^{\bowtie}\right\|,\left\|\boldsymbol{R}_{j}-\boldsymbol{R}_{j}^{\bowtie}\right\|\left\|\boldsymbol{R}_{i}-\boldsymbol{R}_{j}\right\|添加到学习目标中,其中\boldsymbol{R}_{i}^{\bowtie}\boldsymbol{R}_{j}^{\bowtie}R_iR_j的水平翻转形式。然而,很难调整损失权重来平衡重建项和正则化项。相反的,我们采用另一种解决方案[45],通过构造额外的重建项作为约束。重构I_iI_j的学习目标可以写为:

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第5张图片

随机最优化。可以看出,重建项目的数量急剧增加。从同一视频的n个帧可以构造2n^2个重建项。这是不可扩展的。为了解决这个问题,我们提出了以随机的方式优化学习目标的方法。对于每一次训练迭代,只优化构造项的子集。具体地,从不同的视频中随机采样一组视频帧\left \{ I_1, I_2,......I_N\right \}。这些帧按视频分组,标记为ξ={ξ1、ξ2、...、ξN}。对于任意的I_i,我们不是列举所有可能的反射率和获得大量的重构项,而是从同一视频中随机选择另一帧,记为I_j(在\xi _i=\xi _j的条件下),并使用R_j\boldsymbol{R}_{i}^{\bowtie}来构造I_i的两个重构项。该策略将重构项的个数从O(n^2)减少到O(n)。从形式上讲,学习目标可以写成:

\begin{aligned} \mathcal{L}_{p h}=\frac{1}{N} \sum_{i=1, \xi_{j}=\xi_{i}}^{N}\left(\mathcal{E}\left(\boldsymbol{I}_{i}, \boldsymbol{S}_{i}, \boldsymbol{R}_{j}, \boldsymbol{v}_{i}, \boldsymbol{\ell}_{i}, \boldsymbol{M}_{i}\right)\right.\\ &\left.+\mathcal{E}\left(\boldsymbol{I}_{i}, \boldsymbol{S}_{i}, \boldsymbol{R}_{i}^{\infty}, \boldsymbol{v}_{i}, \boldsymbol{\ell}_{i}, \boldsymbol{M}_{i}\right)\right) \end{aligned}     (8)

为了稳定CEST的训练,我们使用2D关键点\mathcal{L}_{k p}=\frac{1}{N N_{k p}} \sum_{i=1}^{N} \sum_{j=1}^{N_{k p}}\left\|\boldsymbol{Q}_{i}\left(k_{j}\right)-\boldsymbol{q}_{i}(j)\right\|_{1}其中q(j)是图像上检测到的2D关键点的集合,k_j是与2D关键点相关联的顶点的索引。我们还将形状系数的能量正则化为\mathcal{L}_{r g}=\frac{1}{N} \sum_{i=1}^{N}\left\|\boldsymbol{\alpha}_{i}\right\|_{2}^{2}。一个现成的关键点检测器[7]被用来为被检测人脸的N_kp=68个关键点。全部损失包括以下:

\mathcal{L}=\mathcal{L}_{p h}+\lambda_{1} \mathcal{L}_{k p}+\lambda_{2} \mathcal{L}_{r g}     (9)

 其中,λ1和λ2是超参数。

 4. Experiments

我们通过消融实验和与最先进的方法[39,19,37,9]的比较,对CEST进行定性和定量的评估。在消融实验中,我们将CEST与独立版本的CEST(IEST)进行了比较,在CEST中,人脸参数是以非耦合的方式估计的,而其他的类型则使用不同的约束进行训练。定量的结果包括预测的形状、反射率、照明度、重建的人脸等。我们还给出了用不同的照度照射的反射率得到的光亮人脸。定量结果评估预测的形状和绘制的人脸质量。我们使用的度量标准分别是形状和渲染人脸的归一化平均误差(NME)[16]和光度学误差。NME定义为预测点云和目标点云之间的平均逐顶点欧几里得距离,该距离由外部3D眼间距离归一化;测光误差是原始图像和重建图像像素值之间的平均绝对误差。

4.1. Experimental Settings

为了进行公平的比较,我们分别用VoxCeleb1[26]和300W-LP[49]训练了两个独立的CEST模型。VOX-Celeb1是从互联网上收集的视频数据集。演讲者的视频是在不同的野外拍摄的。培训中使用了267人的4727个视频子集,产生了6279609个视频帧。基于检测到的人脸关键点,视频帧中的人脸被裁剪到256×256的大小[7]。300W-LP是一个合成图像数据集,包含122,450幅图像,具有密集的人脸关键点。由于我们关注的是自监督学习,我们只使用68个稀疏关键点的集合作为训练的正则化。

训练。AP-附录B.1给出了网络体系结构。对于VoxCeleb1的训练,小批量由来自32个剪辑的128个视频帧组成。对于每个视频片段,我们随机选择了4个视频帧。训练在50K次迭代中完成。对于300W-LP的训练,小批次由128个随机选择的图像组成,总迭代为20K。对于这两个模型,我们使用了Adam[21]优化器,学习率为0.001。除非另有说明,否则λ1和λ2为1和0.1。

4.2. Ablation Experiments

消融研究的结果如图4所示。我们首先展示原始图像和重建图像(覆盖)以供比较,然后是标准视图中的反射率、照明纹理、面部形状(几何)和亮度。更多的消融可以在附录B.2中找到。

CEST和LEST。IEST使用与CEST相同的设置进行训练,只是在训练和测试过程中面部参数是独立于图像进行估计的。结果分别如图4(A)和(B)所示。我们可以看到,CEST产生了逼真的叠加,清晰的反射和照明度,以及具有个性特征和表情的几何图形。与CEST相比,IEST获得了合理的结果,但反射率没有CEST那么详细,导致覆盖和照明的纹理较差。它验证了我们的假设,即耦合估计可以更好地描述问题并促进学习。

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第6张图片

 反射率对称性和一致性约束。我们训练了只有对称约束和只有一致性约束,没有这两个约束的CEST的多个变体,并分别在图4(C)、(D)和(E)中给出了它们的结果。比较(A)和(C),我们观察到反射率对称性约束导致更好的反射和照明分离。这是因为水平计数翻转的视频帧可以为训练集提供更多的光照变化,使CEST能够学习正确地建模不同的光照。另一方面,如果不利用视频片段中的反射率一致性,则不能很好地实现反射率和光照的分解。一些照明残留在眼睛周围的反射率区域(参见图4(D)的右侧)。最后,如果我们不对反射比使用任何限制,CEST学习退化的解决方案(图4(E)),其中反射比只是从图像复制像素值,照明是一个各个同一方向的反射源,所有方向的反射相同。此外,我们注意到,退化的解决方法也影响学习的面部形状,这在图4(E)中具有较少的个人特征。

4.3. Qualitative Results

在这一部分中,我们将CEST与最相关的具有定性结果的最先进的方法进行比较。更多的定性结果载于附录B.3。

Comparison to MoFA [39]。MoFA是一个完全基于模型的框架。其表示能力受线性3DMM模型的限制。此外,MoFA的所有人脸参数都是根据原始图像独立预测的。相反,我们使用了一种无模型的反射率方法,整个推理过程是基于耦合估计的。我们在图5中可视化了覆盖图、反射率、几何图形、照明度以及输入图像和渲染图像(覆盖图)之间的误差。可以观察到,MOFA的结果受子空间外反射率变化的影响。与MoFA相比,我们获得了与MoFA相似的形状,但通过捕捉更多的细节,获得了更好的反射率、照明度和渲染的人脸。

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第7张图片

 Comparison to N3DMM [42]. N3DMM将3DMM模型推广到非线性空间,提高了绘制人脸的质量。然而,N3DMM也只从输入图像中推断反射率,并且使用了太多的启发式约束,例如反射率恒定、形状平滑、有监督的预训练等,因此他们的模型只能捕捉反射率的低频变化。例如,在图6(B)中,在反射率中没有唇膏,并且反射率中的肤色对于不同的人来说是相同的。这些限制导致了较高的重建误差。相反,我们的结果产生了真实的重建,具有更多的个性化反射率和结构化照明,以及更低的重建误差(图6)。

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第8张图片

 Comparison to FML [37].FML在训练中正确地结合了视频线索,并可以渲染逼真的人脸。然而,它重建的反射率往往是不同年龄的肤色。相比之下,CEST通过将学习的形状和视角纳入反射率估计中,产生更准确的肤色(参见图7(A)、(C)和(E))。定性结果清楚地表明,我们的结果在反射和照明之间有更合理的解耦。它们还有助于更好地渲染面部的视觉质量。值得注意的是,眼睛和鼻子区域与图7中的覆盖区域有很大的不同。

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第9张图片

 Relighting. 由于CEST预测了区域的反射率,因此可以很容易地用不同的光照条件重新照亮它们。图8显示了标准视图中重新照亮的人脸。特别是最后两个目标人脸处于强光下和移除光照条件下的,CEST的表现。重新光照的结果再次验证了CEST能够很好地估计解耦后的人脸参数,并捕捉到真实人脸图像中的反射率和光照变化。

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第10张图片

4.4. Quantitative Results

我们首先在AFLW2000-3D数据集上进行了定量评估,其中包括2,000张姿势变化较大的无约束人脸图像。AFLW2000-3D的真实标签是由3DMM拟合的结果给出的,这可能有些噪声。第二项评估是在MICC Florenc 3D人脸数据集上进行的,该数据集包括53名受试者的高分辨率3D扫描。我们按照[16]中的做法,使用所提供的3D扫描来渲染2550个测试图像。每个受试者使用-15度、20度或25度的俯仰和-80度、-40度、0度、40度或80度的偏航角度来呈现20种不同的姿势。

为了与前人的工作相比较,NME是基于文献[16]在其评估中定义的一组19618个顶点来计算的。点对应关系由迭代最近点(ICP)算法确定[3]。计算了累积误差分布(CED)曲线,并与AFLW2000-3D上目前流行的3DDFA[49]、DEFA[24]、PRN[9]等方法进行了比较。对于MICC,我们将CEST与3DDFA[49]、VRN[16]和PRN[9]进行比较。结果如图9所示。CEST在AFLW2000-3D和MICC数据集上分别获得了3.37和3.14 NME。更有趣的是,我们的方法比完全监督的形状估计技术,例如3DDFA(在AFLW2000-3D上为5.37,在MICC上为6.38)和PRN(在AFLW2000-3D上为3.96,在MICC上为3.76)性能更好。此外,我们的方法还可以估计人脸的反射和光照,而3DDFA和PRN都不能。与MICC数据集上的N3DMM相比,CEST的NME略低(3.14比3.20)。值得注意的是,N3DMM使用密集地标进行监督预训练,而CEST只使用68个稀疏地标。更多的定量比较可以在附录B.5找到。

Self-Supervised 3D Face Reconstruction via Conditional Estimation_第11张图片

5. Conclusion and Future Work

我们提出了一个条件估计框架,称为CEST,用于单视图像的三维人脸重建。CEST用一个更一般的公式来解决重建问题,它不假定条件独立。我们还对不同三维人脸参数的条件概率提出了一种具体的分解方法。结合反射率对称性和一致性约束,CEST可以用视频数据集进行有效的训练。定性和定量结果都证明了条件估计的有效性。CEST能够为单视图像产生高质量和良好解耦的面部参数。

建议的CEST可以从多个方面进行改进。首先,通过研究视频中的时间信息,可以得到更准确、更明确的人脸参数。其次,形状估计的性能可以通过更先进的变形模型来提高,这也有利于后续的其他人脸表面参数的估计。此外,加入感知损失也是提高人脸参数视觉质量的有效途径。

你可能感兴趣的:(三维人脸重建,计算机视觉,深度学习)