论文笔记--Regressing Robust and Discriminative 3D Morphable Models with a very Deep Neural Network

摘要

​ 人脸的3维形状是易于区分的,但尽管如此,3维人脸仍很少用于人脸识别以及3维人脸数据经常是在受控环境下采集的。现有的方法在野外环境下对3D人脸的估计是不稳定的,会因同一主题的不同照片而发生变化,要么是过拟合,要么是过于通用(平均脸)。本文直接对输入图片处理,通过CNN回归3DMM的形状和纹理参数。本文通过提供一种生成大量标记示例的方法来克服所需的训练数据不足的问题。本文方法在MICC数据集实现SOTA效果,同时在人脸识别效果上也有成效,本文在人脸识别上是使用3D人脸形状作为表示,而不是其他系统使用的不透明深度特征向量。

介绍

​ 3D人脸形状是易于辨识的,因为每个人的人脸形状是不同的,且人脸形状不受光照和纹理等因素影响。目前没有关于在野外环境中成功使用单视图人脸形状估计来识别具有挑战性的无约束人脸的方法。

image-20220428131155413

方法

​ 本文借助深度卷积神经网络来实现单张图片输入,回归得到3DMM面部形状参数。训练这样的CNN需要大量的带有正确3D面部形状标签的无约束面部数据。作者认为,之前没有将CNN用在三维人脸建模方面,主要是因为从二维图像重建三维人脸模型,我们需要回归高维的形状参数,这就要求非常深的网络,而训练非常深的网络又需要大量的训练数据,已知的三维人脸模型的训练集非常少。针对这一问题,作者提出利用一个对象的多姿态人脸图片生成准确率相当高的三维人脸形状(Automated 3D face reconstruction from multiple images using quality measures),然后把生成的模型作为训练集;对于鲁棒性和区别性的人脸形状怎么解决呢?借鉴二维空间中的深度卷积神经网络模型,而且模型还是现成的~

​ 目前有三个主要现状认识:

  1. 利用同一人脸的多辐图像可以得到精确的三维估计

  2. 正确的3D人脸形状的标签很少可以利用,而每个主体却是包含有多张照片的

  3. 深度神经网络能很好提取和区分人脸特征

    方法概览:

    image-20220428131711825

Generating Training data

​ 3DMM的表示采用的是BFM模型,模型数学含义表达式如公式(1)所示。其中\(\alpha\)\(\beta\)分别表示形体和纹理参数,且都是99维的向量。 \[ S^{'}=\hat{s}+W_S\alpha{\quad}{\quad}T^{'}=\hat{t}+W_T\beta \] ​ 在中科院的CASIA WebFace dataset选定一张照片,利用CLNF做人脸检测,得到68个人脸关键点和该图片的置信度。将得到的关键点用来初始化估计人脸模型的姿态,该姿态用六个自由度表示, 三个自由度是旋转角度,三个是位移。 然后再优化3DMM的形状,纹理,姿态,光照和颜色,利用前人的方法解决定位误差。 一旦损失函数收敛,就得到的形状参数和纹理参数,这就是单个图像得到的3DMM估计。

​ 一张图片的3DMM参数可以用公式(2)表示,N表示同一目标下所有视图数量,一个目标的一张视图的3DMM参数用\[\gamma_i\]表示,一个目标的3DMM参数用\(\gamma\)表示,\(w_i\)表示归一化后的置信度,如公式(3)所示。至此,每个CASIA数据集的目标对象都有一个合并好的3DMM参数向量\(\gamma\)相关联。 \[ γ_i=[\alpha_i,\beta_i]\quad i\in1..N\quad(2) \]

\[ {\gamma}={\sum}_{i=1}^{N}{w_i·\gamma_i}\quad{and}\quad{\sum}_{i=1}^{N}w_i=1\quad(3) \]

Learning to regress pooled 3DMM

​ 使用之前生成的数据用于训练一个函数式,理想情况下,同一主题的不同照片通过该函数式回归得到的3DMM特征向量是一致的。本文采用了ResNet101,并经过人脸识别数据集的预训练。本文将该网络的最后一层全连接层进行修改,使其输出198维的3DMM特征向量\(\gamma\)

​ 本文是将CNN在CASIA数据集上进行微调,标签真值是之前生成的3DMM估计;同一目标对象的不同视角的图片共用一个3DMM形状参数;本文还采用了16层的VGG-Face架构进行训练验证,其结果稍逊于ResNet101。

​ 3DMM向量属于多元高斯分布,均值在原点处,代表平均人脸。因此,在训练过程中采用标准的欧几里得损失会使得人脸模型太泛化,没有区别性。本文提出一种非对称欧拉损失,公式如下:其中\(\gamma\)是标签值,\(\gamma_p\)是预测值,\(\lambda_1\)\(\lambda_2\)控制过度和不足的估计误差之间的平衡,\(\lambda_1\)\(\lambda_2\)都等于1时就是传统的欧几里得损失。本文设定\(\lambda_1\)的值为1,\(\lambda_2\)的值为3,使模型更快摆脱欠拟合并且鼓励网络生成更真实的三维人脸模型。 \[ \ell(\gamma_p,\gamma)=\lambda_1·\underbrace{||\gamma^+-\gamma_{max}||^{2}_{2}}_{over-estimate}+\lambda_2·\underbrace{||\gamma_{p}^{+}-\gamma_{max}||^{2}_{2}}_{under-estimate} \]

\[ {\gamma}^{+}{\doteq}{abs(\gamma)}{\doteq}{sign(\gamma)}·{\gamma}{\quad}{\quad}{\gamma^{+}_{p}{\doteq}{sign(\gamma)·\gamma_p}}{\quad}{\quad}{\gamma_{max}{\doteq}{max(\gamma^+,\gamma_{p}^{+})}} \]

​ 训练参数设置:SGD,batch_size: 144,momentum: 0.9,l2 weight decay: 0.0005,learning rate: 0.01

​ 3DMM参数直接通过CNN对输入图像回归得到,没有进行纹理渲染的优化,只为得到准确的形状。

Parameter based 3D-3D recognition

​ 用余弦相似度来判断两个人脸三维模型是否相似,公式如下: \[ s(\gamma_1,\gamma_2)=\frac{\gamma_{p1}·\gamma_{p2}^T}{||\gamma_{p1}||·||\gamma_{p2}||} \]

实验结果

评价指标:

image-20220428132309766

重建实验效果及对比:

image-20220428132703834

野外数据重建效果:

image-20220428132730719

END