addressed in (Dellas et al., 2007) which constrains
the processed models to humans and can, therefore,
utilize both the semantics of the individual skeleton
joints and the knowledge about the human body. They
first segment the mesh into semantic parts (like head,
limbs, etc.) and then analyze the surface by means of
a multi-scale curvature classification (Mortara et al.,
2003). This, however, requires a quite highly tessel-
lated mesh (e.g. body scans of real humans).
3 ANATOMICALLY CORRECT
SKELETON ALIGNMENT
We assume an already roughly aligned skeleton to be
given. This can be derived by one of the general fit-
ting methods (Lu et al., 2009)(Poirier and Paquette,
2009). Furthermore, we work directly on the abso-
lute joint positions. In this way the joint angles and
segment lengths are adapted to the model implicitly
and the methods can stay independent of the actual
topological structure of the skeleton.
To stay independent of the orientation of the
model in 3d space, all computations are done in the
local body coordinate system, defined by the three
orthogonal body planes: the frontal plane, separat-
ing the body into a front and a back part, the sagittal
plane, separating the body into a left and a right part,
and the transverse plane that separates the body into a
lower and an upper part. In the following expressions
as upper or front are to be understood with respect to
the local body frame. If not specified a-priori, these
planes could be extracted by a principal component
analysis of the mesh, but due to possible asymmetries
in the model’s pose, this can result in a quite mis-
aligned frame. We, therefore, base their computation
only on particular parts of the body, namely the head
and the legs, to reduce this pose dependence.
3.1 Extraction of Body Frame and Head
Geometry
To compute the transverse body plane we use the
roughly aligned skeleton as follows. For each leg we
determine a vector pointing from the ankle to the hip.
Assuming an upright standing human, the average of
these vectors provides a reasonable approximation of
the normal of the transverse plane. Now we can ex-
tract the head’s geometry as a set of horizontal slices
by intersecting the mesh with a sequence of planes
parallel to the transverse plane, starting at the topmost
point of the mesh (fig. 1, left). Because of the varying
head sizes across all humans, the termination criterion
Figure 1: Termination criteria for head extraction (green:
maximal slice). Chin-throat transfer marked by decrease
in slice diameter (left) and head-torso transfer marked by
switching principal axes (right).
for this head extraction process cannot be based e.g.
on the body’s height. Instead we proceed as follows.
For each intersection polygon representing a slice we
employ a principal component analysis to its vertices
to compute the slice’s diameter as the maximum ex-
pansion along its major axis. During the extraction
process we keep track of the slice with the maximal
diameter and check if either the diameter of the cur-
rent slice has shrinked significantly compared to this
maximal slice (fig. 1, left), or if it’s principal axes
have rotated by 90
◦
compared to the maximal slice
(fig. 1, right). The former case marks the transfer
from chin to throat and the latter case marks the trans-
fer from head to torso in general and is only needed if
the former was not significant enough to be detected.
From the head geometry we can finally compute
the other two body planes as follows. After project-
ing all the head slices’ vertices into a single trans-
verse plane, both plane normals can be computed as
the principal axes of those points. Here we make use
of the assumption that the human is looking straight
ahead and that the head is longer in the forward di-
rection than in the sideward direction, which is less
restrictive than assuming a completely symmetrical
pose of the whole body. Furthermore, the head’s ge-
ometry can now be used to compute its centroid by
simply taking the perimeter-weighted average of the
slices’ centroids.
But what we are really looking for is the position
of the joint connecting the head with the spine (fig.
1, left, dark blue), which is not identical to the head’s
centroid (fig. 1, left, light blue). This joint is normally
at the height of the nose, so we first project the cen-
troid onto the plane corresponding to the slice with the
largest forward extent (fig. 1, left, green). Now only
its position inside the transverse plane needs to be ad-
justed slightly. By looking at a real skull cut along the
transverse plane (fig. 2, right), we see that the back
GRAPP 2012 - International Conference on Computer Graphics Theory and Applications
342