FaceWarehouse: a 3D Facial Expression Database
for Visual Computing
一.摘要
二.FaceWareHouse的应用场景
三.FaceWareHouse
一. 摘要
1.数据集:使用Kinect的RGBD相机,来捕捉150名来自不同种族背景的7-80岁的个体,对于每个人,我们采集了她不同表情的RGBD数据,包括中性表情和其他19个表情。
2.过程:(1)首先通过ASM在彩色图片上自动标注面部74个特征点,如果要求高度精确可以手动标注.
(2)我们对模板人脸网格进行变形,使其在匹配彩色图像上的特征点与网格上相应点的同时,尽可能地匹配深度数据
(3)从这些拟合的人脸网格出发,我们为每个人构造了一组个性化的表情混合形状。将这些拓扑结构一致的网格组合成一个秩三张量,建立了一个具有身份和表情两种属性的双线性人脸模型.
3.结果:与之前的3D人脸数据库相比,我们的数据库中每一个人都有更丰富的匹配的表情集合,可以描述大多数人类的面部动作
二. FaceWareHouse的应用场景
Face WareHouse在可视化计算中被广泛应用,尤其是双线性人脸模型在图片和视频中估计人脸身份和表情中优异表现。
1.面部图像处理
2.人脸组件转移
3.基于实时的人脸图像动画
4.人脸动画从视频到图像
三. FaceWareHouse
1.综述
1.使用Kinect捕获每一个人不同表情的几何和纹理信息
2.根据Kinect Fusion生成光滑低噪的深度图
3.根据深度图和RGB图片引导模型网格变形生成表情网格
4.当获得所有表情网格再通过脸部套索生成个体的表情混合模型
2.数据捕获
Kinect 捕获 640*480的2D图像和深度图,对于每个人捕获20张不同的表情图,并匹配不同的导向网格 G 1 G_1 G1, G 2 G_2 G2, G 3 G_3 G3,…, G 19 G_{19} G19。
3.表情网格和个体blendshape 生成
(1)生成初始化网格
(1)通过ASM生成74个脸部特征点,当在大姿态下需要用户手动标记特征点。
(2)通过网格形变算法来不断使得网格点和深度点和特征点更好的吻合。
(3)生成中性表情网格通过两个步骤1、3DMM自动生成原始匹配网格(会计算出对应3DMM接近的参数向量
α
\alpha
α来生成最接近网格);2、通过网格转换算法不断使其更好地匹配深度图和特征点。
1.第一项是内部特征点匹配:
c
j
c_j
cj是第j个特征点3D坐标(根据彩色图像与深度图之间的对应关系,我们可以很容易地从深度图中得到对应的内部特征点的三维位置),
v
i
j
v_{ij}
vij是j点对应在网格上的点(这些带序号的网格点在实现的时候都会简单的标记在3DMM平均脸上)
2.第二项是轮廓特征点匹配:
s
k
s_k
sk是在彩图上特征点位置,
v
c
k
v_{ck}
vck是网格上对应的3D坐标再乘以投影矩阵
M
p
r
o
M_{pro}
Mpro(与
s
k
s_k
sk对应是通过对3DMM进行投影得到2D人脸网格,然后我们找到它的凸包,得到沿网格轮廓的点,在这些点中,我们为图像上的每个轮廓特征找到最近的一个点,并将其指定为网格上对应的特征点)
深度图匹配
v
d
j
v_dj
vdj是网格顶点,
p
j
p_j
pj是对应在在深度图上最近的的点
**另一个能量项是正则项,基于参数向量
α
\alpha
α的概率p分布
σ
i
2
\sigma_i^2
σi2是人脸协方差矩阵的特征值,
正则化项Tikhonov regularization,
λ
=
d
i
a
g
(
1
/
σ
1
2
,
1
/
σ
2
2
,
.
.
.
,
1
/
σ
3
2
)
\lambda=diag(1/\sigma_1^2,1/\sigma_2^2,...,1/\sigma_3^2)
λ=diag(1/σ12,1/σ22,...,1/σ32)
总的能量方程为上图,其中ω1,ω2ω3平衡不同的能量条件。
我们选择ω1 = 2,ω2 = 0.5,ω3 = 1。
E
1
E_1
E1可以通过最小最小二乘法优化.随着每次的迭代更新优化。轮廓和深度图中对应的最近点也会随着迭代不断的更新,随着迭代生成得到初始化网格。
(2)从初始化网格的到细网格
L是拉普拉斯算子,
δ
i
\delta_i
δi是之前没有变形前的拉普拉斯算子。拉普拉斯平滑,拉普拉斯惩罚使得模型更加平滑,比简单的2范数(岭回归)要好,因为它考虑了空间结构信息。常被用于PCA,LDA,LPP,NPE等子空间学习算法的改造上面,一般会使算法性能得到提升
我们选择ω′1 = 0.5,ω′2 =ω3′= 1。这种能量方程可以用不精确的高斯-牛顿法最小化。
PS:高斯-牛顿和LM法则主要是针对非线性最小二乘问题提出的解决方案。由于牛顿法需要求解二阶导,也就是hessian matrix,运算量大,不利于实现,,所以通常在牛顿法的基础上用去掉二阶项,用一阶项来近似二阶导,从而保证了计算效率。LM方法,则是由于高斯-牛顿方法在计算时需要保证矩阵的正定性,于是引入了一个约束,从而保证计算方法更具普适性。
(3)其他表情
根据初始的
s
0
s_0
s0继续生成其他19个表情的网格,我们首先使用三角形网格的变形传递算法去使
s
0
s_0
s0变形到到
s
i
s_i
si
网格使用彩色图片中RGB值作为约束能更加精准并且减少特征点之间的匹配错误以及避免局部最优。
特征点约束对网格变形的影响:上图可以清楚的看出带有特征点匹配错误较少。
(4)Individual-specific expression blendshapes
结果是一张中性的脸加上46个FACS混合形状
B={b0, b1,…b46}对于每个人,能够通过blendshapes的线性插值复制大多数人类表情。
a
i
a_i
ai表示b0向bi偏离的权重多少
(4)双线性变换脸部模型
我们可以将数据集组装成一个秩为3(3模式)的数据张量T (11K个顶点×150个身份×47个表情)。数据张量的排列方式很明显,每一个变化第二因子和固定第一,三因子的切片都含有相同身份的人脸向量(对于不同的身份,每一个变化第三因子和固定第一,二因子的切片都包含相同的身份。
我们使用n模奇异值分解(SVD)去分解这个tensor