前文中,对3DMM方法进行了初步介绍,本章将针对如下几个方面对其进行详细阐述:
1.3DMM方法介绍
2.BFM数据库介绍
3DMM是一种较为基础的三维人脸统计模型,最早被提出是用于解决从二维人脸图像恢复三维形状的问题。在3DMM方法发展的二十年来,各位学者对其进行了数据扩展和深入研究,又由于神经网络广泛使用,使得3DMM参数优化得到简化,基于3DMM方法的三维重建文章层出不穷。但此类方法基于一组人脸形状和纹理的统计模型来表示任意一张人脸,仍然存在重建人脸判别性较差,参数求解难的问题,目前也是学术界研究的重点方向。
1.3DMM方法介绍
这一部分主要介绍传统3DMM方法
前提所有三维人脸是已经进行稠密对齐(3D face registration)的,即所有的三维人脸都能用相同的点云数或面片数来表示,且相同序号的点代表相同的语义,例如对每一个人脸形状基第2217个面片顶点都是左外眼角点(BFM2017数据库)。在稠密对齐的情况下,文章提出每个带纹理的三维人脸都能用如下公式表示:
, (2.1)
, (2.2)
其中和表示人脸平均形状和平均纹理部分,每张人脸的判别特性体现在加号右边一组基的线性组合,和分别表示按照特征值降序排列的协方差阵的特征向量。这也是3DMM的关键。在文章中,作者采集了200个三维人脸的头部,用这组数据作为PCA(主成分分析)的基础,来获得能代表人脸形状和纹理信息的主成分即和。
求解过程,实际就是对参数和的求解。在文中作者告诉我们这两组系数的分布满足
,其中是形状协方差阵的特征值。满足多元正态分布。同理。
接下来是如何用这组统计模型与一张或多张二维图片进行匹配,获得图片上人脸的三维形状和纹理。在99年的论文中,作者采用一种分析合成方法(analysis-by-synthesis),主要思想在于,将3D模型和一组渲染参数一起优化,使他们产生的图片尽可能的接近输入图片。首先算法先根据现有参数产生一个带纹理的3D人脸,渲染出一张2D图片,根据原图片与渲染图片的残差更新参数。
模型参数:
和是确定人脸形状和纹理的系数,渲染参数包含相机位置(方向角,仰角),目标尺度,图像平面旋转和平移,环境光强度,直射光强度。其余参数,如相机距离,光照方向和表面反照率保持估计值不变。
使用透视投影和Phong光照模型,从参数渲染彩色图片,此时重建图片在欧氏距离上应该尽可能与输入图片接近,有如下公式
(2.3)
同时由于从2D图片重建三维是一个病态问题,为了避免出现不像人脸的重建结果,对参数设置了一定的约束,因此重建方法是质量和先验概率的折中。
根据贝叶斯决策,问题变成找到拥有最大后验概率的参数集合。考虑输入图片可能带有噪声,我们进一步假设观测图片满足如下概率,
(2.4)
其中代表高斯噪声的标准差,于是最大后验概率可以通过最小化代价函数获得
(2.5)
在求解形状参数时采用随机梯度下降算法,随机选择一组面片(文中40张一组,在此过程中随机采样的面片若被遮挡,其权值设为0)对任意的求一阶偏导则,参数更新为原参数减去学习率与梯度的乘积。文中对每个面片的纹理和3D位置的处理是直接由面片的三个角点的平均值得到的。
在后续的研究中,很多工作都致力于优化求解方法,例如加入contour、silhouette和特征点信息作为约束,或利用神经网络方法进行求解,使得参数求解速度更快。
2.BFM数据库
BFM数据库的提出有效扩大了3DMM的适用场景,BFM可以拟合任意三维人脸并保存3DMM参数。有两个版本09版和17版,在这里只对17版(17版论文)进行说明。相比于09版,针对表情基进行了优化。
BFM提供了一组形状,表情,纹理的基,且可以根据改变参数来改变人脸的年龄肥胖程度,其中形状基为一个199*n维的主成分,以及199*1维的主成分均方误差。纹理的基和形状基维度相同,表情基有100*n维主成分和100*1维均方误差相较09版的20维有所增加。