前言

随着深度学习的发展,越来越多的CNN结构被提出,使得图像特征的提取变得越发的简单有效。
在这个基础上,与图像相关的“基于图像的人脸重建”也有了长足的进步与发展。但是由于3维模型的数据量过大,如何合理、有效的使用CNN进行人脸重建也存在一个问题。
因此,本文对在近年来相关CNN在三维人脸重建中的应用的文章思路进行总结。
总结的过程中,会把重点放在思路、数据集、网络结构以及相关的loss函数上,因为这几点是使用深度学习来解决一个问题最重要的部分。

总览

预计先总结这几篇文章,其他的有空再更

cnn模型做预测 cnn模型应用_三维重建

方法类别

使用CNN估计3DMM系数

使用3DMM进行人脸建模的原理和方法在之前这篇博客( )中均有提及,但是在仅仅依靠二维照片的人脸特征点进行3DMM系数估计的时候,由于必须要求图像中检测得到的特征点准确等等因素,估计出的3DMM系数往往存在较大的偏差。

于是便有人提出借助CNN对图像强大的特征提取能力,来对3DMM系数进行估计的想法,在2017年的CVPR中,“Regressing robust and discriminative 3D morphable models with a very deep neural network.”,这篇论文便使用Resnet-101进行3DMM系数的估计。

论文项目地址在:https://talhassner.github.io/home/publication/2017_CVPR (有预训练好的模型以及相关代码)

论文的提出主要解决以下问题:

  • 得到较为准确的3DMM参数估计
  • 解决在同一个人不同视角的照片下,生成三维模型不一致的问题

整体论文的流程较简单,修改预训练好的Resnet-101网络输出,使其映射为参数。
对于同一个人不同视角的照片,假设其训练得到的3DMM系数是相同的。

以下是论文的pipeline,:

cnn模型做预测 cnn模型应用_三维重建_02

数据集

由于没有现成的数据集,作者借助这篇文章(“Automated 3D Face Reconstruction from Multiple Images Using Quality Measures”)方法,来对CASIA的人脸数据集进行重建(在这个数据集中,照片已经按个人分离开来),并且针对每个人不同角度的照片重建出的人脸模型进行整合,得到照片-人脸数据集。

具体整合操作如下:

cnn模型做预测 cnn模型应用_人脸重建_03


其中,不同的cnn模型做预测 cnn模型应用_人脸重建_04是从不同照片进行人脸重建时相关的置信度。

loss函数

这里论文使用到的Loss函数为:

cnn模型做预测 cnn模型应用_3DMM_05

整体的loss函数设置为L2范数,不过有意思的地方是作者设置了两项loss项。

因为在回归多个参数的任务中,一般假设得到的参数服从多元正态分布(隐含条件为参数部分以原点为均值,在原点两侧分布),因此在进行训练的时候,得到的参数可能会比label更加靠近原点(在之前关于3DMM文章中中已经指出,如果过于靠近原点,那么得到的人脸模型往往会与平均人脸模型相似), 因此在进行训练的时候,不仅仅要满足得到的参数值与label相近,也要满足得到的参数值尽可能远离原点,这样才能得到更具特征的人脸。

cnn模型做预测 cnn模型应用_人脸重建_06表示真实的label,cnn模型做预测 cnn模型应用_人脸重建_07表示取正,相当于对label数值加了绝对值号。
cnn模型做预测 cnn模型应用_cnn模型做预测_08表示预测得到的系数,同样的,cnn模型做预测 cnn模型应用_3DMM_09表示加了绝对值号的预测值。
cnn模型做预测 cnn模型应用_计算机图形学_10表示取预测值和label值中绝对值较大的一个。

  1. over-estimate,当cnn模型做预测 cnn模型应用_cnn模型做预测_11时,cnn模型做预测 cnn模型应用_3DMM_12,这时,第二项为0,cnn模型做预测 cnn模型应用_cnn模型做预测_13
  2. under-estimate, 当cnn模型做预测 cnn模型应用_3DMM_14时,cnn模型做预测 cnn模型应用_cnn模型做预测_15,这时,第一项为0,cnn模型做预测 cnn模型应用_3DMM_16

之前看到这里有点懵,这两种情况除了前面的cnn模型做预测 cnn模型应用_cnn模型做预测_17系数不一样,并没有什么区别啊?

在重新看了论文后,原来发现两个loss项代表的意义不同

  1. over-estimate,当cnn模型做预测 cnn模型应用_cnn模型做预测_11时,即预测得到的值相较于label比原点更远,cnn模型做预测 cnn模型应用_三维重建_19,占较小的权重。
  2. under-estimate,当cnn模型做预测 cnn模型应用_3DMM_14时,即预测得到的值相较于label比原点更近,cnn模型做预测 cnn模型应用_计算机图形学_21,占较大的权重。

这样训练得到的模型系数可以使3DMM模型更能表现人脸特征。