High-Quality Face Capture Using Anatomical Muscles
Blendshape
Generate a facial pose using a linear combination of a set of facial expressions (“targets”).
Pros:
- Desired shape can be specified by weights of selected targets.
- Semantic parameterization. Interpretable.
- Avoid physical implausibility.
Cons:
- Laborious work to acquire a set of targets.
Blendshape model:
x
(
b
,
j
)
=
T
(
j
)
(
n
+
B
b
)
(1)
x(b, j)=T(j)(n+Bb) \tag{1}
x(b,j)=T(j)(n+Bb)(1)
b: blendshape parameter (i.e. weights of targets)
j: joint parameter (i.e. 6 DOF, 3 rotation, 3 translation)
b and j can be determined by animator control set w:
x
(
w
)
=
T
(
j
(
w
)
)
(
n
+
B
b
(
w
)
)
(2)
x(w)=T(j(w))(n+Bb(w)) \tag{2}
x(w)=T(j(w))(n+Bb(w))(2)
B: blendshape deltas matrix (i.e. each target’s offset to the neutral shape)
n + Bb: pre-skinning shape (i.e. don’t take jaw joint into account)
T: linear blend skinning matrix (i.e. a linear combination of transformation matrices of skull and jaw bones)
Linear Blend Skinning
- Assign each vertex to more than 1 bone.
- The world space position of a vertex is computed as the weighted average of world space positions obtained from each bone.
v j ′ = ∑ i w i j T i v j i v_{j}^{'}=\sum_{i}w_{ij}T_{i}v_{j}^{i} vj′=i∑wijTivji
w: weights of each vertex to each bone, sum = 1
T: transformation of each bone
Green Strain
Independent of rotation, a stretch tensor (a linear mapping)
G
=
1
2
(
F
T
F
−
I
)
G=\frac{1}{2}(F^{T}F-I)
G=21(FTF−I)
F: a linear mapping
For a tetrahedra flesh mesh, define
D
m
D_{m}
Dm as a 3*3 matrix consisting 3 columns of edge vectors of the tetrahedra (in material coordinate), and
D
s
D_{s}
Ds in spatial coordinate.
G
=
1
2
(
D
m
−
T
D
s
T
D
s
D
m
−
I
)
D
m
T
G
D
m
=
1
2
(
D
s
T
D
s
−
D
m
T
D
m
)
G=\frac{1}{2}(D_{m}^{-T}D_{s}^{T}D_{s}D_{m}-I) \\ D_{m}^{T}GD_{m}=\frac{1}{2}(D_{s}^{T}D_{s}-D_{m}^{T}D_{m})
G=21(Dm−TDsTDsDm−I)DmTGDm=21(DsTDs−DmTDm)
Finite Volume Method
Divergence theorem: the surface integral of a vector field over a closed surface (the flux through the surface) is equal to the volume integral of the divergence over the region inside the surface
FVM: Volume integrals in a PDE are converted to surface integrals.
Calculation ( σ \sigma σ : Gauchy stress tensor):
- For each tetrahedron, take − σ -\sigma −σ as the outward pushing “multi-dimensional force”
- For each face, multiply by the unit normal vector n, to get the traction − σ n -\sigma{n} −σn.
- Multiply the area of that face, to get the force − σ a n -\sigma{a}{n} −σan.
- Re-distribute 1 3 \frac{1}{3} 31 of that force to each incident node of that face.
- Finally, the force on each node (contributed by this tetrahedron) is:
f = − 1 3 σ ( a 1 n 1 + a 2 n 2 + a 3 n 3 ) f=-\frac{1}{3}\sigma(a_{1}n_{1}+a_{2}n_{2}+a_{3}n_{3}) f=−31σ(a1n1+a2n2+a3n3)