- III FaceWarehouse
different views 因为kinect fusion需要
-
A. Data Capture
which is then ray traced to generate a smooth depth map for a chosen frame.
感觉像是从voxel的tsdf算出来的深度 -
B. 公式(1)
里面feature points是3D的匹配, 轮廓是2D的匹配 -
公式(2)
从depth map开始反向找最近的点 -
公式(4)
让长轴有更大的值 -
公式(6)是laplacian relaxation
-
Individual-specific expression blendshapes
先前19个表情分解为更细的46的FACS blendshape
- C. blinear face model
将获得的数据通过参数的形式表达出来 w i d w_{id} wid, w e x p w_{exp} wexp
- 应用A: 给一张图片做用户层面上的变化, (这里用户层面上的变化比如嘴巴变大, 鼻子变高等, 注意这些改变是在人物id层面上的改变)
怎么做?
公式(12)算出
M
f
e
a
M_{fea}
Mfea矩阵, 该矩阵可以将用户层面的改变, 转换成id参数
w
i
d
w_{id}
wid的改变, 当然这个改变只是一个增量
Δ
w
i
d
=
M
f
e
a
Δ
f
\Delta w_{id} = M_{fea} \Delta f
Δwid=MfeaΔf
公式(13)是矩阵的投影, 不用管
公式(14), 算id和exp的参数 w i d w_{id} wid和 w e x p w_{exp} wexp, 算出之后, 然后将增量加上去, 最后通过公式(10)可以生成新的3D模型, 然后将原image做texture, 渲染出新的image就是改变后的图片
- 应用B: 给定同一个人的两张不同的表情的图片 target 和 reference, 使target中的人物拥有reference图片中的表情
怎么做?
公式(15)算出id和两张图片 表情的参数
w
i
d
w_{id}
wid,
w
e
x
p
−
1
w_{exp-1}
wexp−1,
w
e
x
p
−
2
w_{exp-2}
wexp−2
然后通过公式(16)建立两个模型 V 1 , V 2 V_1, V_2 V1,V2, 然后通过这两个模型 算出2d expression flow, 使target匹配同样的表情, 然后调整reference的size和position, 然后blend the reference into the target.
- 应用C: 将kinect 捕捉到的表情 transfer到静态的图片上(另外一个人)
通过公式(17)先算出图片中人物的 neutral 以及47个blendshapes
然后将捕捉的表情分解成为blendshapes的参数, 然后将这些参数运用到图片中的人物表情中
- 应用D: 给定一个video, 和一张静态图片, 将video的表情transfer到静态图片上
先用IV-A的方法(公式(14))算出图片的中
w
i
d
w_{id}
wid, (
w
e
x
p
w_{exp}
wexp也可以得到)
对于视频来说, 用IV-B(公式(15))算出视频中人物 的
w
i
d
w_{id}
wid
有了 w i d w_{id} wid过后, 就可以通过IV-C(公式(17))算出47个blendshapes(无论图片中的人物 和 视频中的人物 ),
然后, 将每帧视频中人物 的blendshapes权值运用到图片中的人物即可.