nents of a segmented object by performing a depth-
ﬁrst traversal of the skeleton hierarchy tree. We re-
ﬁne the produced skeleton segments with local and
neighbor features to derive better skeletal represen-
tations that are more appropriate for our application.
Then, we use classic rigid skinning by assigning each
skin vertex to an inﬂuence bone to achieve mesh an-
imation avoiding thus vertex weight estimation and
training pose set production costs. We introduce a
novel method to eliminate degeneracies and artifacts
from self-intersections, especially in areas near joints,
by performing alternative intuitive deformations. Fig-
ure 1 illustrates the entire process.
2 RELATED WORK
There is an abundance of research work in the litera-
ture that tackles the skeleton extraction and skinning
of 3D objects from different perspectives. We focus
on recent developments most closely related to ani-
mation.
Skeletonization algorithms may be classiﬁed
based on whether they work on the boundary surface
(geometric methods) or on the inner volume (volumet-
ric methods). Researchers have proposed geometric
based algorithms approximating MAT to overcome
some of its inefﬁciencies, however MAT based skele-
tons are still not well ﬁtted for animation applications.
Several methods (Liu et al., 2003; Ma et al., 2003)
generate skeletons by constructing discrete ﬁeld func-
tions by means of the object’s volume. Although ac-
curate, such methods are usually very time consuming
and they cannot be applied to animation since the vol-
umetric information needed is not usually part of the
animation model. Researchers also generate skeletons
based on mesh contraction (Au et al., 2008). (Katz
and Tal, 2003) extract a skeleton using a hierarchical
mesh decomposition algorithm. Finally, (Lien et al.,
2006) proposed an iterative approach that simultane-
ously generates hierarchical shape decomposition and
a corresponding set of multi-resolution skeletons.
Linear blend skinning (LBS) is the most widely
used technique for real-time animation due to its com-
putational efﬁciency and straightforward GPU imple-
mentation (Rhee et al., 2006). Recent skinning al-
gorithms are classiﬁed based on whether they use
(Geometric methods) or a training set of poses (Ex-
ample based methods) of input models. Geometric
methods revert to non-linear blending of rigid trans-
formations since deformation is inherently spherical.
Numerous proposed methods have replaced the lin-
ear blending domain with simple quaternion (Hejl,
2004), spherical blending (Kavan and
ˇ
Z´ara, 2005) and
dual quaternion (Kavan et al., 2008). Example-based
methods remove artifacts by correcting LBS errors
with storage and computation cost increase (Lewis
et al., 2000; Wang and Phillips, 2002; Merry et al.,
2006). Our rigid skinning approach falls under Geo-
metric class of algorithms introducing a novel versa-
tile, robust and efﬁcient blending approach based on
rational quadratic Bezier patches.
3 SKELETONIZATION
We have built on techniques introduced by (Lien
et al., 2006) that produce reﬁned local skeletal morphs
from the components of modular models. A straight-
forward approach to build the skeleton of a compo-
nent is to connect the opening centroids. A boundary
of a componentconsists of the common joining points
of two adjacent components generated during a mesh
segmentation process. We denote the centroid of a
boundary as opening centroid. An improvement over
this method is to use the centroid or kernel centroid of
the component in addition to the opening centroids.
However, frequently they do not capture the compo-
nent shape accurately.
In (Lien et al., 2006) proposed to overcome failures
of previous methods by extracting a skeleton from
a component by connecting the opening centroids to
the principal axis. Our approach adapts this skeleton
extraction technique for use in our animation frame-
work. Let OC be the set of the opening centroids
oc
i
of component C, OC = {oc
1
,... , oc
n
}. First, we
select the principal axis segment of the component’s
convexhull that resides within the interior of the com-
ponent. For even better results we have used as major
axis an axis parallel to the principal axis of the con-
vex hull that goes through the kernel centroid of the
component to ensure that skeleton segments have the
least possible intersection with the component’s bor-
der. We denote this major axis segment as pa. We
subdivide the pa in a number of uneven segments by
picking as link points the projections of the opening
centroids on pa (see Figure 2). Let P
pa
(oc
i
) be the
projection of opening centroid oc
i
on pa. Our match-
ing algorithm uses a dynamic programming concept,
enhanced with new score functions which aim at max-
imizing the length of the utilized pa.
After grouping has been performed, we create
the set of skeleton edges. Beyond the standard con-
nections between the opening centroids and the link
points, we use extra skeleton edges based on the map-
ping result.
Our approach improves the principal axis orien-
tation by introducing two modiﬁcations, the ﬁrst is
SKELETON-BASED RIGID SKINNING FOR CHARACTER ANIMATION
303