Graphics Reference
In-Depth Information
=
C/
3
. As described
We recall that
S
(
SO
(3)
×
)isthe
shape space
of open curves in
R
in Section 3.5.4, the distance between two facial surfaces is given by
S
[0
,α
0
]
×
S
[0
,α
0
]
→ R
≥
0
d
s
:
α
0
d
s
q
1
,
q
2
α
.
1
α
0
d
s
(
S
1
S
2
)
,
=
α
α
=
1
Here,
q
i
α
i
α
denotes the SRVF of the radial curve
β
on the
i
th,
i
=
1
,
2 facial surface.
S
1
S
n
[0
,α
0
]
, we define the
To calculate the Karcher mean of facial surfaces
{
,...,
}
in
S
variance function as
n
[0
,α
0
]
S
i
)
2
V
:
S
→ R
, V
(
S
)
=
d
s
(
S
,
.
(3.18)
i
=
1
The Karcher mean is then defined by
S
=
arg
min
μ
∈
S
V
(
μ
)
.
(3.19)
[0
,α
0
]
S
1
S
n
n
, we define an objec-
To calculate a Karcher mean of facial surfaces
{
,...,
}
in
S
=
i
=
1
d
S
(
S
n
S
i
)
2
. The Karcher mean is then defined by
ti
ve function:
V
:
S
→ R
, V
(
S
)
,
(
S
). This minimizer may not be unique and, in practice, any one of those
so
lutions may be picked as the mean face. This mean has a nice geometrical interpretation:
S
is an element of
S
=
arg min
S
∈
S
V
n
n
S
that has the smallest total (squared) deformation from all given facial
S
1
S
n
surfaces
.
We present a commonly used algorithm for finding Karcher mean for a given set of facial
surfaces. This approach, presented in Algorithm 1, uses the gradient of
{
,...,
}
V
to iteratively update
the current mean
μ
. An iterative algorithm for computing the sample Karcher mean is defined
by Algorithm 3.
Algorithm 3
Karcher mean algorithm
Gradient search
Set
k
1
[0
,α
0
]
=
0. Choose some time increment
≤
n
. Choose a point
μ
0
∈
S
as an initial
S
1
.)
guess of the mean. (For example, one could just take
μ
0
=
[0
,α
0
]
), which is tangent to
1. For each
i
=
1
,...,
n
choose the tangent vector
f
i
∈
T
μ
k
(
S
=
i
=
n
i
=
1
μ
k
to
S
i
. The vector
g
the geodesic from
f
i
is proportional to the gradient at
μ
k
of the function
V
.
2. Flow for time
along the geodesic that starts at
μ
k
and has velocity vector
g
. Call the
point where you end up
μ
k
+
1
.
3. Set
k
=
k
+
1 and go to step 1.
Since this is a gradient approach, it only ensures a local minimizer of the variance function
V
.