赞
踩
三维人脸数据集比较稀少,如果按照获取方式来分类的话,有
与上述数据集不同,facescape用了稠密多视点相机系统,用了68台数码单反(DSLR)相机,在建模质量上有了很大的提高,下面是与其它数据集的对比:
注意这不是指的人脸三维重建,而是对人脸3DMM系数本身的研究,作者认为主要分为两大类:
人脸三维重建其实主要分为两个方面:形状和纹理。人脸重建保证形状或纹理的一个方面足够精细,那我们完全可以说是高精度人脸重建,(比如GANFIT这篇文章没有在形状上下功夫,而是保证了纹理足够精确,依然可以说自己是高精度的,丝毫不影响人家现在已经商业化了hhh)而作者在这里着重讨论了关于形状上的高精度优化问题,因为3DMM系数重建的人脸形状本身只是个大致形状,无法表达人脸的皱纹等几何细节。为了解决形状上的高精度问题,有多层级优化结构方法,有先粗略重建形状渲染出深度图,再继续优化深度图的方法,有用SFSNet的,有用图形学中的凹凸贴图方法的,有用超分辨率与位移图的,有用条件GAN基于3DMM预测位移图的(《Photo-Realistic Facial Details Synthesis From Single Image》ICCV 2019 Oral)
不管怎样,本文的工作推动了这一方面的发展,因为迄今为止FaceScape是最大的质量最高的人脸数据集,并且之前的工作大多关注于静态人脸形状的细节,本文关注于恢复动态的形状细节
使用了多视图三维重建系统进行人脸原始数据的采集,用了68台数码单反相机,30台用8K分辨率拍正面,剩下的用4K分辨率拍侧面,总共花了6个月邀请938人来拍摄,年龄在16~70岁,大部分是亚洲人,并且让每个人做20组不同的表情,这样所有的三维模型达到了18760个。其中原始的人脸模型数据中顶点数量达2百万,三角形面数量达4百万,并且还统计了参与人的年龄,性别,工作信息等
这里要解决的问题是使用一种参数化的方式来表示人脸身份(或者说是形状)和表情,因为毕竟采集到的人脸身份与表情是“离散”的,需要用某种“插值”的方式来表示更多的人脸身份与表情,经过一系列复杂操作后(塔克分解),对于一个新的不在数据集中的人脸,可以用如下简约的式子进行表示了:
将人脸的身份与表情分别用一组系数就可以进行表示了,而实验也证明了这种双线性模型表示能力的多样性
FW 数据集用了50个id参数与47个exp参数,FLAME数据集用了300个id参数和100个exp参数,而这里本文方法与它们对比时,分别用了50 47与300 52个参数
通过塔克分解后,人脸的粗略形状可以由身份系数和表情系数进行表示了,类似于3DMM拟合,这组身份系数和表情系数也可以通过优化一组目标函数来进行拟合:
E
l
a
n
E_{lan}
Elan自然就是预测的人脸landMark,
E
p
i
x
e
l
E_{pixel}
Epixel是渲染图与真实图的像素级差异,剩下的都是正则化项。上面得到的是人脸的身份(形状)参数,得到形状参数后,再加上表情参数就能表示一个完整信息的人脸了:
这里推测表情系数共有51个?可能是因为想粗略重建人脸形状,所以表情是粗略分成了51个。
这一步的目的是为了在粗略人脸重建的基础上进一步优化细节,而且还是动态的细节,因此需要用到位移贴图,但是单张的位移贴图肯定是无法表达动态变化的人脸的,只能表示静态的人脸细节,因此这里采用了神经网络去预测多张位移贴图。
具体而言,位移贴图其实可以分为两部分,一部分是静态的,一部分是动态的,静态部分其实相当于一些毛孔、痣之类的,本身反映人脸某种“不变”的特征,动态部分相当于皮肤的收缩和伸展,这些东西本身就是随着人的不同表情而变化,因此属于“变化”的特征,将位移贴图分为这两部分之后,可以分别进行提取,之后丢入神经网络去预测最后完整的位移贴图。静态部分可以从纹理图中得到,动态部分使用一张变形图(deforming map)进行表示(因为拍摄的人脸是静态的,至于怎么让它动起来,推测是根据拍摄的同一个人的人脸不同表情,去做一种过渡操作,比如计算uv空间下的两种表情的点的位移得到变形图),上述如图所示:
使用pix2pixHD这个项目作为基础,(pix2pixHD这个项目是基于conditional GAN的,可以通过自己的输入让GAN网络去生成自己想要的数据,而不是像之前的普通GAN一样无法自主掌控生成什么样的数据,看下面这张图就能够理解)
网络的输入是人脸的纹理图和一系列的变形图(能够根据人脸表情计算出来),网络的输出是预测的一系列的位移贴图,损失函数有生成对抗损失和特征匹配损失:
之前的位移贴图预测,应该是针对每一个人做的20个表情,生成对应的20张位移贴图,之后为了表示人脸的任意表情,就采取根据权重混合的方式:
M 其实就是针对不同位移贴图的权重,
F
0
F_0
F0指的是其中的一个中性表情,这样20个表情进行不同的权重组合,就可以看做是实现了某种插值,从而可以表示任意的一个人脸表情细节了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。