论文翻译:《3D3M: 3D Modulated Morphable Model forMonocular Face Reconstruction》

本文提出了一种名为3D3M的三维调制变形模型,用于单目图像的三维人脸重建。3D3M通过稀疏和密集形状对应结合自监督学习,解决了现有方法在对应关系上的局限性,实现了更好的三维人脸重建和对齐效果。通过随机洗牌3DMM属性编码,3D3M能够在打乱的三维空间中构建密集的形状对应,从而提高重建的准确性和鲁棒性。
摘要由CSDN通过智能技术生成

原论文链接:3D3M: 3D Modulated Morphable Model forMonocular Face Reconstruction

摘要

  对单个图像进行三维人脸重建是各种多媒体应用中的一项重要任务。三维人脸形状重建的一个关键挑战是在单目输入人脸和可变形网格之间建立正确的密集人脸对应关系。现有的方法大多依赖于传统方法或强先验(如多视图几何一致性)拟合的形状标签。相比之下,我们提出了一种创新的三维调制变形模型(3D3M),以一种自我监督的方式从单目图像中学习密集的形状对应。具体来说,给定一批人脸输入,3D3M对其3DMM属性(形状、纹理、光照等)进行编码,然后随机变换3DMM属性,生成改变属性的人脸。属性改变后的面可以以循环一致的方式进行编码和渲染,这使得我们能够利用密集网格顶点和重构像素的自监督一致性。密集的形状和像素对应使我们能够采用一系列的自监督约束来精确地拟合三维人脸模型,并学习端到端全顶点校正。3D3M从单目图像中构建出优秀的高质量3D人脸重建结果。定量和定性实验结果都验证了3D3M在三维人脸重建和人脸对齐方面的优越性。

1、引言

  三维人脸重建可以应用范围广泛,如鲁棒人脸识别、人类行为分析、虚拟人脸化妆、人脸重建等。然而,由于三维扫描数据的局限性以及光照、纹理和几何等多个物理维度之间的复杂关系,单目图像的三维几何和纹理编码是一个具有挑战性的问题。Blanz和Vetter的开创性工作[5]为这个问题提供了一个强有力的先验假设,并说明了3D变形模型(3DMM)的力量。3DMM是一种基于数百个扫描人脸构建的人脸形状和纹理统计模型,它将一组碱基线性组合,提供三维人脸的统计参数表示。此后,许多经典的基于3DMM的方法被提出,并取得了令人印象深刻的结果。然而,剩下的关键挑战是在输入图像和重建网格之间建立一个更好的密集对应关系。
  最近,许多基于3dmm的方法[6]-[10],[13]将卷积神经网络(CNN)的概念引入3dmm。这类方法通常利用“综合分析”范式,从单目人脸图像重建三维人脸。在[8],[13]中采用了典型的像素级光度损失,以减小输入图像与估计的3D人脸的2D投影之间的视觉差异。逐像素重构可以看作是一种构建密集对应的隐式方法,但缺乏健壮性和表达性[7],[8]。为了构造显式密集对应,以前的方法要么预测输入人脸图像和3DMM平均人脸的合成渲染之间的逐像素2D流,要么直接估计UV空间中的逐像素位置[15],[16]。尽管这些基于学习的方法已经取得了令人印象深刻的进展,但它们严重依赖于合成数据或利用传统方法[16]-[18]拟合的3D形状作为替代形状标签。此外,在提高单目图像与变形网格的对应性方面还有很大的空间。
  为了规避这些问题,我们提出了一种创新的三维调制变形模型(3D3M),以一种自我监督的方式进行单眼人脸重建。给定一批输入的人脸图像,3D3M首先对表示人脸形状、纹理、光照、姿态等语义属性的3DMM编码进行编码。然后3D3M对来自不同人脸的3DMM编码进行随机洗牌,生成3DMM属性变化的人脸。属性改变后的人脸可以以循环一致的方式重新编码和重新呈现,这使得我们能够在密集的网格顶点和重构像素上使用自监督约束。
图1

图1:提出的三维调制变形模型(3D3M)的插图。3D3M将输入的人脸编码为3DMM编码(形状、纹理、光照等),然后将不同的人脸编码进行洗牌,渲染出经过属性处理的人脸。在这里,我们在不同的面之间洗牌纹理代码。纹理改变的面以循环一致的方式重新编码和重新渲染,这有利于在打乱的3D空间中密集的形状对应。

  以人脸纹理属性为例,我们在图1中说明3D3M的框架。在图1的上半部分,3D3M渲染了形状对应稀疏的人脸(如输入人脸中的5个人脸地标)。在图1的底部,3D3M对输入人脸的纹理编码进行随机洗牌,生成纹理变化后的人脸。然后对纹理变化的人脸进行重新编码和重新渲染,以获得重新渲染的人脸。由于3DMM中每个人脸的网格拓扑都是一致的,因此在经过纹理变换的人脸与被渲染的人脸之间自然存在着密集的地标对应关系。我们将所提出的方法称为三维调制变形模型(3D3M),因为输入的人脸图像的属性可以通过交换相应的3DMM编码进行调制。3D3M的主要贡献有以下三个方面:

  • 我们提出了一种基于自监督方式的单眼人脸重建的三维调制变形人脸模型(3D3M)。在3D3M中,我们将稀疏的形状对应与密集的形状对应端到端进行融合,以更好地进行三维人脸重建。
  • 3D3M通过洗牌人脸属性建立密集对应,利用网格顶点和重构像素的自监督约束,建立输入人脸与变形网格之间的正确对应关系。
  • 在具有挑战性的3D人脸重建数据集上的比较表明,3D3M优于或可与其他最先进的方法相媲美。此外,我们发现所提出的3D3M与同类产品相比,显著提高了人脸对齐性能。在人脸对齐基准上,3D3M比现有技术提高了14.1%。

2、相关工作

  单目面部重建: 文献中关于三维人脸重建的方法有很多[6]-[10],[12],[13],[19]-[23]。最新的调查[24],[25]提供了一个完整的文献综述单眼面部重建。对于最近提出的基于cnn的方法,一个巨大的挑战是缺乏标注的训练数据。为了缓解这一问题,提出了一些自监督或弱监督方法[6]-[10],[13]。Tewari等人[13]采用了自然存在的几个约束条件(密集光度对齐和稀疏地标对齐)进行人脸重建。Genova等人[7]训练了一个回归网络,该网络比较预测的人脸和输入的照片的特征,以关注身份丢失。在这些鼓舞人心的工作的基础上,Deng等人[8]提出了采用深度人脸感知丢失来进一步提高人脸三维重建性能。Shang等人提出了一种自监督训练体系结构(MGCNet),利用多视图几何一致性来降低姿态和深度模糊度。为了显式地建立密集对应关系,Yu等人[14]预测了输入人脸图像和3DMM平均人脸合成渲染之间的逐像素2D流。Feng等人的[16]利用逐顶点的UV位置图来表示完整的3D面部结构。提出了利用综合渲染数据恢复高质量3DMM人脸参数的InverseFaceNet[26]算法。为了更好地反映真实世界人脸图像的分布,InverseFaceNet引入了一种基于自我监督的训练策略。作为对比,3D3M对真实世界的图像进行端到端训练,学习到的人脸参数应该能够更好地匹配真实世界的人脸分布。此外,3D3M利用自监督密集形状对应(self-supervised dense shape correspondence, DSC)对三维人脸模型进行精确拟合,并学习端到端全顶点校正。显然,DSC不是InverseFaceNet的一部分。DIRH[27]通过在潜在的嵌入空间中优化来估计高分辨率空间变化的双向反射分布函数。3D3M与DIRH有显著差异。首先,3D3M利用了自我监督密集形状对应(self-supervised dense shape correspondence, DSC),而DIRH没有。其次,3D3M对隐藏在3DMM空间中的人脸属性嵌入进行洗牌,使其更好地解纠缠。与之前构建密集SC的方法[14]-[16]不同,我们提出的3D3M采用自监督的方式构建密集SC,而使用合成数据[14]或离线3D形状拟合[15],[16]生成密集SC标签。与之前的工作[6]将成对的表达码与稀疏的SC交换不同,我们的方法采用密集的SC,并对各种3DMM码(包括表情、纹理、光照)进行洗牌,生成丰富的属性变化人脸。
  人脸对齐: 人脸对齐是计算机视觉中一个长期存在的问题,目前已经引起了广泛的关注,如[28],[28]-[30],[30],[31],[31]。二维人脸对齐可视为经典回归问题,地标位置可直接回归[28],[30],[31]。最近的基于3D的人脸对齐方法通常从拟合3DMM的[32]、[33]开始,或将3D人脸模板与2D人脸图像[34]注册开始。显然,可以很自然地采用三维人脸重建方法来完成三维人脸对齐的任务。例如,[16],[20],[22],[35],[36]中的方法拟合3DMM模型,实现三维人脸对齐。Bulat et al.[37]提出利用深度网络直接预测热图来获取三维面部地标,取得了很好的效果。Feng et al.[16]采用了一个轻量级的CNN,直接从一个2D输入图像中回归一个包含完整面部点的3D坐标的2D图像的UV位置图。Guo等人[22]提出了一种元关节优化策略来回归小组3DMM系数,显著提高了人脸对准的精度和速度。与之前的作品相比,3D3M能够在没有人工标注的情况下,在打乱的三维空间中构建所有顶点的密集对应关系。

3、三维调制形变模型(3D3M)

  在本节中,我们首先简要介绍传统的线性3DMM。然后,我们在学习目标和培训管道中描述我们提出的3D3M。

A、线性3DMM的初步研究

  三维变形模型(3DMM)[5]是一个使用一组线性基函数的人脸形状(几何)和纹理(反照率)的统计模型。采用主成分分析(PCA)的三维人脸:
s = s ‾ + A s h a p e θ s , ( 1 ) s=\overline{s}+A_{shape}\theta_{s}, (1) s=s+Ashapeθs,(1)
其中 s ∈ R 3 n s\in \mathbb{R}^{3n} sR3n表示有n个顶点的3D脸型, s ‾ ∈ R 3 n \overline{s}\in \mathbb{R}^{3n} sR3n表示平均脸型。 A s h a p e = [ A i d , A e x p ] A_{shape}=[A_{id}, A_{exp}] Ashape=[Aid,Aexp]是3DMM形状基,其中 A i d ∈ R 3 Q × m 1 A_{id}\in \mathbb{R}^{3Q\times m_{1}} AidR3Q×m1 A e x p ∈ R 3 Q × m 2 A_{exp}\in \mathbb{R}^{3Q\times m_{2}} AexpR3Q×m2是身份和表达的主成分基,其中 m 1 m_{1} m1表示由带有中性表情的面部扫描构造的第一个 m 1 m_{1} m1主成分, m 2 m_{2} m2表示由中性扫描和表达扫描之间的偏移得到的第一个 m 2 m_{2} m2主成分。系数 θ s ∈ R ( m 1 + m 2 ) × 1 \theta_{s}\in\mathbb{R}^{(m_{1}+m_{2})\times1} θsR(m1+m2)×1表示相应的恒等式和表示系数向量。
  因此,在平均形状s的条件下定义人脸的3D纹理信息,表示个顶点的RGB颜色特征。形式上,可以定义为纹理基函数的线性组合:
x = x ‾ + A t e x θ x , ( 2 ) x=\overline{x}+A_{tex}\theta_{x},(2) x=x+Atexθx,(2)
其中 x ∈ R 3 n x\in\mathbb{R}^{3n} xR3n表示一个原始的3D人脸纹理向量, x ‾ ∈ R 3 n \overline{x}\in\mathbb{R}^{3n} xR3n表示平均纹理, A t e x A_{tex} Atex表示纹理基w.r.t为扫描人脸纹理的前几个主成分, θ x \theta_{x} θx为纹理系数向量。
  利用构造的三维形状和纹理,可以将3DMM表示的三维人脸用弱透视投影投影到二维图像平面上:
S 2 D = c ∗ P r ∗ R ∗ s + t 2 D , ( 3 ) S_{2D}=c*Pr*R*s+t_{2D},(3) S2D=cPrRs+t2D,(3)
其中, s 2 D ∈ R 2 n s_{2D}\in\mathbb{R}^{2n} s2DR2n表示二维图像平面上的投影面形状, P r = [ 1 0 0 0 1 0 ] Pr=\begin{bmatrix} 1 & 0& 0\\ 0& 1& 0 \end{bmatrix} Pr=[100100]为正投影矩阵, R R R为由欧拉角导出的旋转矩阵,即俯仰、偏转、滚转。 c c c为尺度因子, s s s为(1)中表示的三维面网格, t 2 D t_{2D} t2D为二维图像平面上的平移矢量。
  此外,在[8],[9]之后,我们用球面调和(SH)[38]进行远距离照明和近景照明的假设,其参数为系数向量 θ l \theta_{l} θl。同时,我们采用具有经验设定焦距的透视相机模型来实现3D-2D投影几何。因此,可以通过旋转因子和平移向量来参数化三维人脸的姿态。因此,位姿参数 θ p \theta_{p} θp可以用来估计式3中的 c c c为[25]中的 c c c。因此,根据上述三维属性以及相机模型假设,我们可以用这些编码后的系数 θ s , θ x , θ l , θ p \theta_{s},\theta_{x},\theta_{l},\theta_{p} θs,θx,θl,θp w.r.t分别表示对应的shape、texture、lighting、pose基空间来表示人脸编码。

B、从3DMM到3D3M

  3DMM使得单目三维人脸重建任务得以实现,基于3DMM的方法取得了令人瞩目的进展。但在对应关系上仍有很大的改进空间,使投影的脸型更好地与每个脸型区域[12],[25]的轮廓对齐。这是因为3DMM模型严重依赖于合成数据或用传统方法拟合的三维形状作为替代形状标签。
  为了解决这一问题,我们提出了一种基于自监督方式的三维人脸重构模型(3D3M)。如图2所示,3D3M的训练管道由两部分组成:单目人脸图像的稀疏SC和经过属性技术处理的人脸图像的密集SC。在稀疏SC中,3D3M对给定的一批人脸的3DMM编码(即系数Θ)进行编码,然后进行渲染,重建输入的人脸图像。在密集SC中,3D3M对人脸属性池中的编码进行洗牌,然后将洗牌后的来自不同人脸的3DMM编码进行组合,生成改变人脸属性的三维人脸。这意味着3D3M对属性改变后的人脸的3DMM编码进行重新编码。通过经过洗牌和重编码的3DMM编码,3D3M能够利用洗牌后的三维空间中的密集顶点进行密集SC,同时对稀疏SC部分的真实人脸图像和稠密SC阶段的渲染图像进行编码训练。在训练过程中,编码器不会偏向于少数渲染图像,因为根据我们的建模过程,渲染的图像实际上落在原始输入图像所跨的空间中。

图2

图二:3D3M图示。该算法由稀疏形状对应(SC)和密集形状对应(SC)两部分组成。在稀疏形状对应(SC)部分中,3D3M对输入人脸的3DMM属性(形状、纹理、光照、姿态)进行编码,利用光度和稀疏形状损失重构输入人脸。在后半部分中,3D3M对3DMM编码进行洗牌,生成属性改变的人脸,然后以循环一致的方式对其进行重新编码和重新渲染。3D3M利用了在打乱的3D空间中密集的SC。

  如图2所示,3D3M对输入批量内的每个输入图像进行预定义的三维人脸编码。为了便于说明,我们只在图2中描述形状、纹理和照明代码。下面,我们将展示3D3M的两个部分的细节。

  1.   稀疏形状对应:用一个卷积神经网络预测输入人脸图像I的形状编码θs,然后用编码好的形状编码渲染三维网格。为了约束输入二维图像上原始地标位置 [ S 2 D ] k ( k = 1 , . . . , n ) [S_{2D}]_{k}(k=1,...,n) [S2D]k(k=1,...,n)的一致匹配关系,我们将重建形状的三维地标顶点投影到二维图像平面上。二维空间中的形状差异可定义为
    £ s h a p e = 1 n ∑ k = 1 n ω k ∥ [ P 2 D ( ε ( I ) ) ] k − [ s 2 D ] k ] ∥ 1 , ( 4 ) \pounds _{shape}=\frac{1}{n}\sum_{k=1}^{n}\omega _{k}\left \| [P_{2D}(\varepsilon (I))]_{k}-[s_{2D}]_{k}] \right \|_{1},(4) £shape=n1k=1nωk[P2D(ε(I))]k[s2D]k]1,(4)
    式中, ε \varepsilon ε为三维编码过程, P 2 D P_{2D} P2D为式3中定义的三维到二维形状的投影函数, ω k \omega _{k} ωk为第 k k k个地标的权重。采用常用的人脸对齐网络[37]对 n n n个二维人脸标志物进行检测。在[13]之后,内口点和鼻尖的地标权重设置为20,其他为1。进一步,根据这些推断出的人脸代码,我们可以基于这些精细的属性库绘制出一幅虚拟的三维人脸图像。因此,原始输入图像和渲染图像之间的逐像素光度差公式为:
    £ p h o t o = 1 F ∑ i , j M i , j × ( [ ℜ ( ε ( I ) ) ] i j − I i j ) 2 , ( 5 ) \pounds _{photo}=\frac{1}{F}\sum_{i,j}M_{i,j}\times([\Re (\varepsilon (I))]_{ij}-I_{ij})^2,(5) £photo=F1i,jMi,j×([(ε(I))]ijIij)2,(5)
    其中 ℜ \Re 为人脸属性编码到人脸图像[7]的差分渲染器,M为皮肤蒙版矩阵,F为归一化因子w.r.t为有效面部皮肤区域内的像素数。入口 M i j M_{ij} Mij表示位置 ( i , j ) (i, j) (i,j)可能属于皮肤区域,例如, M i j = 1 M_{ij} = 1 Mij=1表示位置 ( i , j ) (i, j) (i,j)在皮肤区域内, M i j = 0 M_{ij} = 0 Mij=0表示位置 ( i , j ) (i, j) (i,j)在皮肤区域外。按照[20]中使用的方法对面部皮肤面具模型进行预训练。面膜的优点是3D3M模型受面部遮挡和剧烈外观变化(如太阳镜和浓妆)的影响较小。
    ​  在上述光度约束下,渲染后的人脸图像在像素距离度量上可以接近原始图像。在实际应用中,渲染的外观纹理可能带有人工制品的缺陷,使生成的人脸图像看起来不自然。为了解决这一问题,我们将输入和估计的3D人脸的2D合成之间的特征差异最小化,并将深度感知损失定义为
    £ p e r = 1 − 1 ∥ F ( I ) ∥ 2 ∥ F ( I ^ ) ∥ 2 ∑ k [ F ( I ) ] k × [ F ( I ^ ) ] k , ( 6 ) \pounds _{per}=1-\frac{1}{\left \| F(I) \right \|_{2}\left \| F(\hat{I})\right \|_{2}}\sum_{k}[F(I)]_{k}\times [F(\hat{I})]_{k},(6) £per=1F(I)2 F(I^) 21k[F(I)]k×[F(I^)]k,(6)
    其中 I I I I ^ \hat{I} I^为输入和渲染的人脸图像, F F F为特征提取器,是一个预先训练的人脸深度识别模型。通常,我们使用在VGGFace2[39]数据集上训练的ResNet-50神经网络。由于特征空间一致性的限制,这种约束会迫使渲染的人脸图像更加平滑。此外,我们还对估计的模型参数使用了常用的 L 2 L_{2} L2正则化,以防止模型像[8]中使用的那样退化。
      综上所述,3D3M采用“综合分析”范式,通过稀疏SC部分的一组约束条件,从单目图像中重建出3D人脸。与[8]的工作相比,我们训练了一个带有U-Net架构的皮肤分割模型来进行人脸分割,而[8]则利用了一个朴素贝叶斯分类器。然而,稀疏形状对应仅涉及人脸标志的稀疏子集。针对这个问题,我们的3D3M将在下一小节中继续构建一个明确的密集对应。
  2.   密集形状对应:在密集SC中,我们的3D3M通过调制输入面的3D属性,并利用一系列自监督约束,使我们能够将3D模型与密集SC拟合,并端到端学习逐顶点校正。特别地,3D3M在当前输入的批量中打乱了各种属性代码。如图2所示,将人脸属性池中经过洗牌的编码(包括表情、纹理、光照)随机组合,生成多样化、丰富的属性变化人脸。由于具有密集的形状对应关系,我们的3D3M能够通过自我监督的方式分解不同的属性。更重要的是,我们能够在打乱的3D空间中构建密集的通信。如[12],[14]-[16]所示,构建正确的密集人脸对应是三维人脸形状重建的必要和挑战。
      设 C p o o l = { C k ∣ k = 1 , ⋅ ⋅ ⋅ , M } C_{pool} = \{Ck|k = 1,···,M\} Cpool={Ckk=1,⋅⋅⋅,M}表示 M M M幅人脸图像的属性代码池,其中 C k = ( c s k , c x k , c l k , ⋅ ⋅ ⋅ ) C_{k} = (c^{k}_{s}, c^{k}_{x},c^{k}_{l},···) Ck=(csk,cxk,clk,⋅⋅⋅)为第 k k k-th人脸图像的属性代码元组w.r.t。这里 c s k , c x k , c l k c^{k}_{s}, c^{k}_{x},c^{k}_{l} csk,cxk,clk分别表示shape, texture和lighting的代码。给定一个输入图像 I I I,我们通过随机交换它的代码来生成洗牌的人脸代码,正式地说,
    C s h u ( I ) = S ( ε ( I ) , C p o o l ) = ( c s , c x ( k 1 ) , c ( k 2 ) , . . . ) , ( 7 ) C_{shu}(I)=S(\varepsilon (I),C_{pool})=(c_{s},c^{(k_{1})}_{x},c^{(k_{2})},...),(7) Cshu(I)=S(ε(I),Cpool)=(cs,cx(k1),c(k2),...),(7)
    其中 S S S为对编码的洗牌操作,从其他人脸图像中采样纹理编码和光照编码。然后呈现 C s h u C_{shu} Cshu以生成属性改变的人脸 I ^ = ℜ ( C s h u ( I ) ) \hat{I}=\Re (C_{shu}(I)) I^=(Cshu(I)),其中 ℜ \Re 表示差异呈现器[7]。在打乱的3D空间中,3D3M重新编码 I ^ \hat{I} I^,得到重新编码的3DMM编码 C r e = ε ( I ^ ) C_{re} = \varepsilon (\hat{I}) Cre=ε(I^),然后重新渲染回自身。正式地,重新渲染的人脸图像派生为
    I ~ = ℜ ( ε ( ℜ ( C s h u ( I ) ) ) ) , ( 8 ) \tilde{I}=\Re (\varepsilon (\Re (C_{shu}(I)))),(8) I~=(ε((Cshu(I)))),(8)
    在没有给出像素级或3DMM码级监督信号的情况下,为三维人脸重建提供了一个定义良好的自监督约束。下面,我们将详细介绍循环一致性。
      通过变换后的编码 C s h u C_{shu} Cshu和重新编码的编码 C r e C_{re} Cre,我们可以得到式1中所使用的各自的3D网络 s s h u ∈ R 3 N s_{shu}∈\mathbb{R}^{3N} sshuR3N s r e ∈ R 3 N s_{re}∈\mathbb{R}^{3N} sreR3N,其中 N N N为形边网络上的密集顶点数。因此, s s h u s_{shu} sshu s r e s_{re} sre之间的致密形状差可表示为:
    £ s h a p e ′ = 1 N ∑ k = 1 N ∥ [ D s h a p e ( C s h u ) ] k − [ D s h a p e ( C r e ) ] k ∥ 1 , ( 9 ) \pounds'_{shape}=\frac{1}{N}\sum_{k=1}^{N}\left \| [D_{shape}(C_{shu})]_{k}-[D_{shape}(C_{re})]_{k} \right \|_{1},(9) £shape=N1k=1N[Dshape(Cshu)]k[Dshape(Cre)]k1,(9)
    s . t . , C r e = ε ( ℜ ( C s h u ( I ) ) ) , ( 10 ) s.t.,C_{re}=\varepsilon (\Re (C_{shu}(I))),(10) s.t.,Cre=ε((Cshu(I))),(10)
    其中, D s h a p e D_{shape} Dshape为稠密形状的解码器,如式1所示。除了密集的形状一致性外,我们还利用了 C s h u C_{shu} Cshu C r e C_{re} Cre之间的一致性,如图2所示。最小化 C s h u C_{shu} Cshu C r e C_{re} Cre之间的差异,得到潜在空间中周期一致的代码丢失:
    £ c o d e ′ = ∥ C s h u − C r e ∥ 1 , ( 11 ) \pounds'_{code}=\left\| C_{shu}-C_{re} \right\|_{1},(11) £code=CshuCre1,(11)
    在这里,我们在元组 C s h u C_{shu} Cshu C r e C_{re} Cre中广泛应用 L 1 L_{1} L1计算来进行逐项操作。
      所提出的周期一致性约束保证了编码器估计的3DMM预测码能很好地解纠缠。最后,将重新编码的编码 C r e C_{re} Cre进行渲染,生成人脸图像 ℜ ( C r e ) \Re(C_{re}) (Cre),该图像应与二维像素空间中属性改变后的人脸 ℜ ( C s h u ) \Re(C_{shu}) (Cshu)一致,如图2中密集的SC部分所示。因此,我们利用 ℜ ( C r e ) \Re(C_{re}) (Cre) ℜ ( C s h u ) \Re(C_{shu}) (Cshu)在变换后的三维空间中的像素一致性,可以表示为:
    £ p h o t o ′ = 1 F ∑ i j M i j × ( [ ℜ ( C s h u ) ] i j − [ ℜ ( C r e ) ] i j ) 2 , ( 12 ) \pounds'_{photo}=\frac{1}{F}\sum_{ij}M_{ij}\times([\Re (C_{shu})]_{ij}-[\Re(C_{re})]_{ij})^2,(12) £photo=F1ijMij×([(Cshu)]ij[(Cre)]ij)2,(12)
    其中 M i j M_{ij} Mij为第三章B节第一段所述的面部皮肤的掩膜因子。
      综上所述,3D3M对输入面的3DMM属性进行了调制,在打乱的三维空间中构建了密集的SC约束。通过组合变换后的编码生成丰富多样的人脸,既丰富了训练数据集,又实现了无需人工标注的密集SC。可以看出,图2所示的密集SC在打乱的3D空间中包含了密集的地标,地标匹配集合明显稠密,网格可以更好地向正确的形状变形。此外,稀疏SC和密集SC是互补的,在端到端训练过程中可以相互受益。
  3.   3D3M的优化目标:我们整合公式 4 ~ 6和公式9 ~ 12中的目标,得到完整的目标:
    £ = £ s p a r s e + λ 1 £ s h a p e ′ + λ 2 £ c o d e ′ + λ 3 £ p h o t o ′ , ( 13 ) \pounds = \pounds_{sparse}+\lambda_{1}\pounds'_{shape}+\lambda_{2}\pounds'_{code}+\lambda_{3}\pounds'_{photo},(13) £=£sparse+λ1£shape+λ2£code+λ3£photo,(13)
    其中 L s p a r s e L_{sparse} Lsparse表示第三章B节第一段中稀疏SC部分约束的线性组合: £ s p a r s e = λ £ p h o t o + λ 4 £ s h a p e + λ 5 £ p e r + \pounds_{sparse}=\lambda\pounds_{photo}+\lambda_{4}\pounds_{shape}+\lambda_{5}\pounds_{per}+ £sparse=λ£photo+λ4£shape+λ5£per+。超参数 λ 1 ∼ λ 5 \lambda_{1}∼\lambda_{5} λ1λ5控制着不同约束的重要性。

4、实验

A、实验细节

  训练3D3M: 对于 s ˉ \bar{s} sˉ, A i d A_{id} Aid x ˉ \bar{x} xˉ, A t e x A_{tex} Atex,我们采用了2009年的巴塞尔面部模型[40],并使用了由FaceWarehouse[41]构建的表情库 A e x p A_{exp} Aexp。对于预定义的3DMM系数 C = ( θ s , θ x , θ l , θ p ) C = (θ_{s},θ_{x},θ_{l},θ_{p}) C=(θs,θx,θl,θp),设 θ s ∈ R 144 θ_{s}∈\mathbb{R}^{144} θsR144,其中前80个分量表示相等,左64个元素表示。设[8]后依次为 θ x ∈ R 80 , θ l ∈ R 27 , θ p ∈ R 6 θ_{x}∈\mathbb{R}^{80},θ_{l}∈\mathbb{R}^{27},θ_{p}∈\mathbb{R}^{6} θxR80,θlR27,θpR6。我们排除了耳颈区域,最终的3DMM模型包含了Q = 35709个顶点。我们在3D3M中采用ResNet-50[42]网络结构作为编码器,将最后一层全连接层修改为257个神经元来回归3DMM系数。我们使用在ImageNet数据集上预先训练的权值来初始化编码器中的权值。根据预留验证数据集的三维人脸重构性能,将公式13中的超参数 λ 1 ∼ λ 5 λ_{1}∼λ_{5} λ1λ5分别设为 λ 1 = 0.01 、 λ 2 = 0.1 、 λ 3 = 0.5 、 λ 4 = 8 e − 4 λ_{1} = 0.01、λ_{2} = 0.1、λ_{3} = 0.5、λ_{4} = 8e−4 λ1=0.01λ2=0.1λ3=0.5λ4=8e4 λ 5 = 0.1 λ_{5} = 0.1 λ5=0.1。在训练过程中,将C语言中的三种3DMM编码(expression, texture, lighting)随机打乱。3D3M使用Adam优化器[43]进行训练,初始学习速率设置为1e-4。对于每次迭代,3D3M在5张输入人脸图像和5张属性改变的人脸的混合批次上进行训练。我们对3D3M进行了100万次迭代的训练,完成这个训练过程大约需要3天的时间。
  数据集: 为了与3DDFA[35]、PRNet[16]、Deng et al.[8]、MGCNet[10]等其他方法进行公平的比较,我们使用他们公开发布的模型来获得实验结果。在这些方法中,Deng et al.[8]和MGCNet[10]是最新的最先进的方法,据我们所知结果最好。MGCNet采用4个数据集(300W-LP[35]、Multi-PIE[44]、CelebA[45]、LS3D[37])进行训练。除了这四个数据集,Deng等人还利用I-JBA和LFW进行训练。我们使用与MGCNet相同的数据集训练3D3M。
  我们采用[37]中的方法对训练数据集中的每幅人脸图像估计68个人脸标志。为了得到每个训练图像的面部皮肤区域蒙版,我们在CelebAMask-HQ数据集[47]上用U-Net[46]训练了一个皮肤分割模型。如图3所示,皮肤面具可以抵抗遮挡、面部化妆、各种头部姿势和光照。我们在AFLW2000-3D[35]、MICC Florence[48]、BU-3DFE[49]数据集上测试3D3M。AFLW2000-3D由[35]构建,用于评估具有挑战性的无约束图像上的3D人脸对齐。它包含了2000张带有68个3D地标的图像。MICC Florence由53名受试者组成,每个受试者都有一个真实的3D扫描,在中立的表情和三个视频序列中拍摄的合作,室内和室外场景。BU-3DFE数据集由100名受试者的3D扫描和25个表达组成。该数据集来自不同种族的56名女性和44名男性。我们利用这三个数据集进行三维人脸重建,并利用AFLW2000-3D评估人脸对齐。
图3

图三:根据我们的基于U-Net的分割模型对人脸皮肤进行分割。很明显,估计的面部皮肤面具在(a) (b)、© (d)的各种姿势和(e) (f)的面部化妆方面是稳健的。

B、三维人脸重建的验证

  我们将3D3M与其他最先进的三维人脸重建方法进行比较,包括3DDFA[35]、PRNet[16]、3DDFA v2[22]、Deng et al.[8]、MGCNet[10]。
  定性网格重建结果: 图4显示了不同输入面下恢复的形状。我们建议的3D3M显示出比3DDFA、PRNet、3DDFA v2、Deng等的持续改进。3D3M恢复的形状在各种输入下表现出更好的保真度和更少的伪影,如(a)、(b)、(f)中近乎闭上的眼睛,(b)中异常光照,©、(f)中相当大的头部姿势,(d)中面部遮挡,(b)中异常光照。3D3M可与MGCNet相媲美,后者使用多视图几何一致性来估计面部姿态和深度。
图4

图4:基于AFLW2000-3D数据集的三维网格重建结果。对于每个输入图像,我们显示了各种比较方法的重建结果。显然,3D3M在各种输入下,保真度更高,伪影更少,如(a)、(d)的面部咬合,(d)、(f)的非正面人脸。

  纹理定性重建结果: 我们在图5中给出了一些3D3M的纹理定性重建结果。3D3M获得了比Deng等[8]和MGCNet[10]更令人满意的结果。在图5 (g) (e)中,3D3M重建的人脸在有遮挡和没有遮挡的情况下,伪影较少。在(d)、(f)中,最后一列显示的是我们提出的3D3M中闭着眼睛重建的人脸,这与输入的人脸是一致的。相比之下,Deng et al.[8]和MGCNet[10]所重建的人脸并不是闭着眼睛的。图5 (i-l)中输入的人脸图像分别表现出愤怒、厌恶、悲伤和惊讶的表情,而我们提出的3D3M重建结果比对比方法更加生动。实验结果表明,3D3M生成的较好的几何形状通过密集的形状对应产生较好的纹理。说明用3D3M估计的3DMM编码能够较好地解纠缠,从而使形状和纹理的重建结果与输入面都能较好地吻合。
图5

图5:利用3D3M对一些实例人脸进行重建的结果,Deng et al. [8], MGCNet[10]。与其他方法相比,3D3M对各种输入具有更强的鲁棒性,如(a)、(b)不同光照条件下的人脸,(a)、(h)大姿态下的人脸,(i- 1)各种表情下的人脸。

  定量结果: 我们在MICC Florence数据集上比较了3D3M与PRNet[16]、3DDFA[35]、3DDFA v2[22]、Deng et al.[8]、MGCNet[10]等最先进的方法。在MICC Florence数据集上,我们计算了三种不同场景下每个视频的平均形状误差。在[7],[10]之后,我们从每20帧中采样一个面部图像,并将地面真实网格裁剪到鼻尖周围95毫米。在BU-3DFE数据集上,我们采用100张中性面孔的正面图像进行评价。对于这两个数据集,我们使用迭代最近点(ICP)算法进行刚性对齐,并使用点对平面均方根误差(RMSE)作为评估指标。表I、表II报告了BU-3DFE和MICC Florence数据集上的RMSE结果。3D3M在合作、户外场景下的性能优于其他方法,在MICC Florence上的平均RMSE值上取得了最好的性能。在BU-3DFE数据集上,3D3M获得了最好的平均RMSE,可与Deng等人[8]相媲美。说明了所提出的3D3M在三维人脸重建中的优越性。我们在MICC Florence数据集中添加了每个受试者的面部图像,分别呈现了[8]、[10]、[16]以下的20个姿势:俯仰度为-15、20、25度,偏航角为-80、-60、0、60、80度,以及5个随机姿势。我们使用点对平面均方根误差(RMSE)作为评估指标。定量比较如图6所示。可见,3D3M的均方根误差最好。这可以解释为,在3D3M中经过变换的3DMM编码能够包含不同的位姿系数,并且经过变换后的人脸能够与变换后的三维空间中丰富而精确的顶点进行密集匹配。

表1:在BU-3DFE数据集上使用mm的点对面RMSE
MethodPRNet3DDFA3DDFA v2Deng et al.MGCNet3D3M(Ours)
RMSE2.02±0.51.92±0.521.90±0.501.70±0.451.75±0.461.62±0.44
表2:在MICC弗洛伦斯的三种情况下,平均和标准偏差与mm的均方根误差(RMSE)。
MethodCooperativeIndoorOutdoorMean
PRNet2.03±0.432.04±0.422.15±0.522.07±0.46
3DDFA1.95±0.391.98±0.401.97±0.341.97±0.38
3DDFA v21.94±0.391.98±0.411.96±0.371.96±0.39
Deng et al.1.85±0.381.89±0.412.10±0.521.95±0.46
MGCNet1.87±0.371.94±0.381.97±0.381.93±0.38
3D3D (Ours)1.83±0.341.94±0.441.91±0.371.89±0.39

图6

图6:对比MICC佛罗伦萨渲染图像。RMSE越小,三维重建性能越好。在所有方法中,3D3M的RMSE略低。

C、人脸对准的验证

  在人脸对齐方面,我们在AFLW2000-3D数据集上比较了3D3M与SDM[29]、3DDFA[35]、3DSTN[50]、PRNet[16]、3DDFA v2[22]、Deng et al.[8]、Bulat et al.[36]、MGCNet[10]。其中,SDM[29]算法用于求解非线性最小二乘优化问题,在人脸对齐方面取得了显著成功。3DSTN[50]提取三维人脸形状和语义一致的二维对齐,对三维模型的摄像机投影矩阵和翘曲参数进行建模。Bulat et al.[36]提出了一种用于人脸对齐的分层残差神经网络结构。以68个地标的归一化平均误差(NME)作为评价指标,以真实地标的边界盒大小作为归一化因子。表三显示了不同偏航角度的NME。3D3M的平均NME值优于最佳方法(MGC-Net[10]),显著提高了14.1%。与其他方法相比,3D3M在各种姿态上都得到了持续的改善。我们将一些人脸对齐结果可视化在图7中。我们的结果在某些情况下比GT更准确,因为AFLW2000-3D数据集中的GT存在一定程度的争议。
图7

图7:对AFLW20003D数据集中的代表性图像进行人脸对齐。红色和白色的线分别是预测和注释的地标。

D、消融实验与分析

  我们进行了消融实验来评估在3D3M中致密形状对应部分的影响。我们实验了三种不同的设置:(1)没有密集形状对应部分的3D3M (3D3M ( w / o w/o w/o d e n s e dense dense)),(2)没有打乱的3D3M (3D3M ( w / o w/o w/o s h u f f l e shuffle shuffle))。在没有密集的形状对应部分的情况下,3D3M ( w / o w/o w/o d e n s e dense dense)等效于Deng等人的[8],只是训练数据集与面部皮肤分割模型略有不同。
  表三、表四为定量消融结果。很明显,3D3M的三种变体对三维人脸重建和人脸对齐的性能都有不利影响。这说明密集的形状约束和3DMM代码洗牌操作有利于得到更精确的三维人脸重建模型。此外,3D3M ( w / o w/o w/o d e n s i t y density density)与Deng等人的[8]具有可比性,利用了更多的训练数据,说明了基于U-Net的面部皮肤分割模型的优越性和鲁棒性。为了验证我们的方法所学习的3DMM代码的解纠缠性,我们在图9中举例说明了几个面迁移示例。显然,3D3M能够在不同输入面之间传递面部属性,同时保持未指定的面部属性不变。结果表明,用3D3M编码的3DMM编码能够准确解纠缠,验证了模型的通用性。

表3:基于aflw2000-3d数据集的人脸对齐结果。我们报告了二维坐标在不同偏角度下的归一化平均误差(nme)。
Method0 to 3030 to 6060 to 90Mean
SDM3.674.949.676.12
3DDFA3.784.547.935.42
3DSTN3.154.335.984.49
PRNet2.753.514.613.62
3DDFA v22.633.424.483.51
Deng et al.2.663.254.303.41
Bulat et al.2.473.014.313.26
MGCNet2.873.423.983.42
3D3M ( w / o w/o w/o d e n s e dense dense)2.483.05.383.30
3D3M ( w / o w/o w/o s h u f f l e shuffle shuffle)2.462.974.213.21
3D3M(Ours)2.272.643.342.75
表4:BU - 3DFE数据集消融实验。
Method3D3M ( w / o w/o w/o d e n s e dense dense)3D3M ( w / o w/o w/o s h u f f l e shuffle shuffle)3D3M(Ours)
RMSE1.68±0.471.71±0.451.62±0.44

图8

图8:我们建议的3D3M有代表性的失败案例。当地标被遮挡或难以检测时,3D3M可能无法准确重构出对应的人脸,如sub-figure (c-e)。此外,输入的人脸图像显示异常的纠缠属性具有挑战性。,如(g)、(h)中的异常光照与纹理交织,(a)、(b)中的异常遮挡。

图9

图9:不同面孔之间的属性传递。3D3M能够生成逼真的属性变化的人脸。

  另外,我们提出的3D3M例举了几个有代表性的失败案例。图8举例说明了可视化过程。当出现地标被遮挡或其他难以检测的面部图像时,3D3M将会失败。如图8 (c-e)所示。这是因为在训练阶段,3DMM使用稀疏和密集的面部标志进行监督。当输入面显示极端的非平面位姿时,3D3M可能无法准确估计出形状或纹理参数。此外,如果输入图像呈现出异常的纠缠属性,如子图(g)、(h)中的异常光照与纹理纠缠,子图(a)中的异常遮挡,则3D3M难以重建人脸。(b).我们推测这可能是由于在训练数据集中很少出现面部外观异常的面部图像,增加更多的图像可以缓解这一问题,提高重建性能。

5、结论

  本文提出了一种三维调制变形模型(3D Modulated Morphable Model, 3D3M),以自监督的方式从单目图像中学习密集的形状对应。3D3M随机洗牌属性生成改变属性的人脸,学习密集的形状和像素对应,准确拟合三维人脸模型。大量实验表明,在低维3DMM子空间下,3D3M获得了更好的三维形状重建和人脸对齐性能。我们的模型偶尔会在面对显示极端极端的非平面姿态或纠缠不正常的面部属性的面部图像时出错。合并更多不同的图像或进行训练将缓解这个问题。由于基于图像的三维人脸重建可能存在人脸姿态不适定和深度模糊问题,我们计划引入多视图几何一致性,为具有挑战性和无约束的场景下可靠的三维人脸重建提供进一步的约束。此外,为了提高模型的泛化能力,还可以探索因果干预来减轻面部遮挡的影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值