Large Pose 3D Face Reconstruction from a Single Image via Direct Volumetric CNN Regression
2017IEEE
Motivation
无论基本假设是什么,算法的输入和输出是什么,三维人脸重建在一般复杂管道中都需要解决非凸优化问题,无论是模型构建(训练期间)还是模型拟合
(在测试).例如使用标准L2损失将所有3D点连接为一个向量进行直接回归可能会导致学习困难,因为必须预测每个3D顶点的单个正确值;此外,这种方法需要将所有扫描插入到一个固定维数的向量中,当使用CNN对模型参数(如3DMM参数)而不是实际的顶点进行回归时,也会遇到类似的学习问题。
文章提出的方法
我们建议将三维人脸重建问题重新表述为二维到三维的图像分割问题,它并没有估计出3DMM的参数,事实上,它完全绕过了对3DMM的拟合。我们的CNN只处理单个对象2D面部图像,不需要精确的对齐,也不需要在图像之间建立密集的响应,适用于任意的面部姿态和表情,可以用于重建整个3D面部几何形状,包括构建(在训练期间)和拟合(在测试期间)。即从一个单一的二维图像直接回归的三维面部几何形状的体积表示。
体素表示
将每个三维面部扫描转换成三维体素,将三维空间离散成体素{w,h,d},也就是说,将三维面部所包含的点赋值为1,即ground truth,否则赋值为0(即背景)从而将三维面部转成三维体素Vwhd。
该过程创建了一个与2D图像完全对齐的体素。
Networks(a)
结构由两个沙漏模块组成,它们堆叠在一起,没有中间的监督。输入是一个RGB image,输出是一个192192 200的体素。这种结构如图4a所示。可以看出,该网络具有一种编码/解码结构,该结构首先使用一组卷积层来计算固定维数的特征表示。这种表示被进一步处理回空间主元,重新建立输入图像和输出体之间的空间对应关系。特征是分级的,从不同的分辨率,使每个像素的预测。第二个沙漏是用来提炼的,并有和第一个相同的结构。
VRN - Multitask(b)
第一个沙漏提供了两个沙漏分叉的特性。第一个分叉将68个iBUG关键点[22]回归为2D高斯函数,每个都在一个单独的通道上。第二个分叉沙漏直接将面部的三维结构作为一个体积进行回归,就像前面提到的非导向体积回归方法一样。这个多任务网络的目标是学习更可靠的特性,这些特性更适合这两个任务
VRN - Guided(c)
属于结合了a和c中上半层的结构。效果来说更好一点。