[FLAME]Learning a model of facial shape and expression from 4D scans

动机

现在的3D模型有俩极端:
1.人工的3D模型,非常精细,但是需要大量人力
2.通用的3D模型,可以很容易匹配图像和视频,但是比较粗糙
所以这个文章就是为了同时满足上述两方面的需求

数据

早期的generic face model由于数据不足,所以能表达的面部形状有限。因此这篇文章就融合了三个数据库来弥补数据不足的问题。并且这文章的FLAME中的人物身份,姿势,面部表情都是分别单独表示的。
用CAESAR数据库来学习身份形状的表示
用D3DFACS数据库来学习姿势和表情的表示
用FaceWarehouse数据库来学习面部表情的表示(?)

模型

模型分为几个部分:

  1. 【形状】线性的身份形状表示+基于关节法表示的下巴,脖子,眼球
  2. 【姿势】与姿势相关的下巴,脖子表示
  3. 【表情】基于情绪的局部变形

训练方法

姿势参数
使用了三个约束来拟合3D模型和数据:

  1. E_D用于惩罚重构误差
  2. E_P用来保证blend的时候各项分摊平均且尽量减少整体的变动
  3. E_W用来保证每个部分都不会变化太大(例如眼睛歪到嘴巴上去)

E_P和E_W是互相竞争的,用于保证模型不会过拟合

表情参数
文中假设无表情的面部状态是已知的,然后计算每个表情的变化就只需要用每个表情的状态减去无表情的状态,最后做个PCA就得到了最终参数

形状参数
标准模板就是将姿势和面部表情移除后所有脸的平均值。最后做个PCA得到最终参数

重点:

registration:将一对数据进行配准。具体来说就是将现有的3D模型匹配到真实数据当中,从而去噪和补全原数据。
rigid:刚性的,刚性物体只能旋转平移,所以变形只需要考虑旋转角度和平移距离即可
non-rigid:非刚性的,非刚性物体不仅可以旋转平移,还可以变形,一般来说会用一组目标状态来综合表示。例如,用一组表情(喜怒哀乐)来综合表示一个人的情绪。
参考链接:SIGCourse:Dynamic Registration

linear blend skinning(LBS),SMPL:模拟人体运动的两个模型
参考链接:SMPL论文解读和相关基础知识介绍 - 凌辰两点的文章 - 知乎

你可能感兴趣的:([FLAME]Learning a model of facial shape and expression from 4D scans)