Generating 3D faces using Convolutional Mesh Autoencoders

312 阅读4分钟

Generating 3D faces using Convolutional Mesh Autoencoders

Abstract

传统模型通过线性子空间或高阶张量泛化学习人脸的潜在表示。由于这种线性,它们不能捕捉极端变形和非线性表达式。为了解决这个问题,作者引入了一个通用模型,该模型使用网格表面的谱卷积来学习人脸的非线性表示。文中引入了网格采样操作,使得分层网格表示能够捕获模型中多个尺度下形状和表达的非线性变化。

1 Introduction

Contributions

  1. 引入由网格降采样和网格上采样层组成的卷积网格自编码器,在网格表面定义快速局部卷积滤波器
  2. 文中的自编码器使用的参数比线性PCA模型少75%,同时在重建误差方面更加准确
  3. 通过CoMA替换当前最先进的人脸模型FLAME的表达空间,提高了其重建精度

2 Related work

Face Representations. 由于人脸特征的局部性,在局部低维空间中采样是困难的;局部人脸特征的组合不太可能形成合理的全局人脸形状。文中工作的一个目标是通过采样潜在空间来生成新的人脸网格,因此作者设计了一个使用单一低维潜在空间的自编码器。

与现有方法相比,作者的网格自编码器在用卷积层表示人脸时会使用更少的参数。

由于它是完全定义在网格上的,因此没有内存限制,这影响了体卷积方法表示三维模型。

Convolutional Networks. 作者提出的自编码器通过将网格卷积与高效的网格下采样和网格上采样算子相结合,有效地将网格降维到低维空间

3 Mesh Operators

3.1 Fast spectral convolutions

3.2 Mesh Sampling

为了同时捕获全局和局部上下文,作者寻求网格的分层多尺度表示。这使得卷积核能够捕获网络浅层中的局部上下文和深层中的全局上下文。为了解决这个表示问题,作者引入了定义神经网络中网格特征的下采样和上采样的网格采样算子

image.png 我们使用变换矩阵Qd{0,1}n×mQ_{d}\in\{0,1\}^{n\times m}对具有m个顶点的网格进行网内下采样,使用QuRm×nQ_u\in\mathbb{R}^{m\times n}进行网内上采样,其中m>nm > n。下采样是通过迭代收缩顶点对来获得的,这些顶点对使用二次矩阵来保持表面误差近似。在图1 ( a )中,红色顶点在下采样操作中被收缩。降采样后的(蓝色)顶点是原始网格顶点VdV\mathcal{V}_d\subset\mathcal{V}的子集,每个权重Qd(p,q){0,1}Q_d(p,q)\in\{0,1\}表示降采样时是否保留第q个顶点,Qd(p,q)=1Q_d(p,q)=1,否则舍弃,其中Qd(p,q)=0,pQ_d(p,q)=0,\forall_p.

由于无损下采样和上采样对于一般曲面是不可行的,因此在下采样时建立上采样矩阵。下采样过程中保留的顶点(蓝色)经过卷积变换,见图1 ( c )。这些(蓝色)顶点在上采样Qu(q,p)=1Q_u(q,p)=1当且仅当Qd(p,q)=1Q_d(p,q)=1时被保留。下采样过程中舍弃的顶点vaVv_a\in\mathcal{V}(红色顶点),其中Qd(p,q)=0pQ_d(p,q)=0 \quad\forall p,使用重心坐标映射到下采样的网格表面。如图1 ( b ) - 1 ( d )所示,将vqv_q投影到下采样网格中最近的三角形(i,j,ki,j,k)中,记为v~p\widetilde{v}_{p},并计算重心坐标v~p=wivi+wjvj+wkvk\widetilde v_p = w_iv_i + w_jv_j + w_kv_k,使得vi,vj,vkVdv_i,v_j,v_k\in\mathcal{V}_dwi+wj+wk=1w_i + w_j + w_k = 1。则在QuQ_u中更新权重为Qu(q,i)=wi,Qu(q,j)=wjQ_{u}(q,i)=w_{i},Q_{u}(q,j)=w_{j}Qu(q,k)=wkQ_u(q,k)=w_k。否则Qu(q,l)=0Q_u(q,l)=0。使用稀疏矩阵乘法得到顶点为Vu的上采样网格,Vu=QuVd\mathcal{V}_u=Q_u\mathcal{V}_d

4 Mesh Autoencoder

Network Architecture. 自编码器由编码器和解码器组成。编码器结构如表1所示。 image.png

解码器的结构如表2所示

image.png

5 Experiments

5.3 Comparison with PCA Spaces

image.png

image.png Interpolation Experiment. 如表3所示,观察到CoMA的重建误差比PCA低50%,CoMA中的参数个数比PCA模型少了约75 %。

图6中对结果进行了视觉检查,结果表明CoMA的重建结果更加真实,并且是有效的。

image.png

image.png

Extrapolation Experiment. 在表4中,表明CoMA模型在所有表达序列上的表现都优于PCA和FLAME。

定性结果如图7所示。

在图5(b)中,展示了累积欧氏误差直方图。对于1 mm的精度,Mesh Autoencoder捕获了63.8 %的顶点,而PCA模型捕获了45 %的顶点。

image.png