Game Development Reference
In-Depth Information
modeling key facial shapes. In order to get a smooth trajectory once a state
sequence is found, we use NURBS (Nonuniform Rational B-splines) interpola-
tion. The NURBS trajectory is defined as:
n
i
n
i
(
)
=
(
(
)
P
)
(
(
)
)
,
C
t
N
t
w
N
t
w
i
,
p
i
i
i
,
p
i
=
0
=
0
where p is the order of the NURBS, N i,p is the basis function, P i is the control point
of the NURBS, and w is the weight of P i . We use p = 2. The HMM states (key
facial shapes) are used as control points, which we assume to have Gaussian
distributions. We set the weight of each control point such that the trajectory has
a higher likelihood. Intuitively, it can be achieved in a way that states with small
variance pull the trajectory towards them, while states with larger variance allow
the trajectory to stay away from them. Therefore, we set the weights to be
))
n is the trajectory normal vector that also passes P i ,
w
=
1
(
σ
(
n
, where
i
i
n
n
σ
(
)
is the variance of the Gaussian distribution in
direc tion. I n pr actice, we
approximate n by normal vector
n
1 P in Figure
7(a)). Compared to Brand (1999), the smooth trajectory obtained is less optimal
in terms of maximum likelihood. But, it is fast and robust, especially when the
number of states is small. It is also a natural extension of the traditional key-
frame-based spline interpolation scheme, which is easy to implement. Figure 7
shows a synthetic example comparing conventional NURBS and our statistically
weighted NURBS. The green dots are samples of facial shapes. The red dashed
line connects centers of the states. The blue solid line is the generated facial
deformation trajectory. In Figure 7(b), the trajectory is pulled towards the states
with smaller variance, thus they have a higher likelihood than trajectory in Figure
7(a).
'
P
P
of line segment
(see
i
1
i
+
1
3
Figure 7. (a) Conventional NURBS; (b) Statistically weighted NURBS
interpolation.
(a)
(b)
Search WWH ::




Custom Search