<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Semantic Human 3D Shapes Annotation for Animation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>F. Dellas</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>L. Moccozet</string-name>
          <email>moccozet@miralab.unige.ch</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>N. Magnenat-Thalmann</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>G. Patanè</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M. Mortara</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M. Spagnuolo</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>B. Falcidieno</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>- The problem of identifying particular points or areas on 3D meshes is closely related to several outcomes in computer graphics: when animating virtual characters the animator must first identify which part of the 3D envelop can be assigned to which corresponding part of the animated skeleton, to obtain a visually coherent animated shape. Every shape has to be segmented to be usable after while. For instance, the CAESAR body database has been built using 3D scans plus a set of landmarks to identify body measurements. Unfortunately this is not the case when acquiring scanned data in general, and particularly for human scanned bodies. We demonstrate that it is possible to get rid of noisy and complex data so as to extract from any human body closed mesh its skeleton of animation. Assuming the joints are located where the shape has the more variations and based on a multi-scale analysis, we are able to deduce main joints positions. We also build a control skeleton and label automatically all detected joints relying on a priori knowledge on human anatomy, independently from body postures. We demonstrate our approach with several examples.</p>
      </abstract>
      <kwd-group>
        <kwd>Semantic Annotation</kwd>
        <kwd>3D Shape Analysis</kwd>
        <kwd>Computer Animation</kwd>
        <kwd>Virtual Human</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Acomposed of joints and segments linking them. A joint
skeleton for animation is a hierarchical structure
stands for a possible degree of freedom of the
creature’s shape. Each joint is considered as a local coordinate
system and its position in the world coordinate system
depends on its parent joint position. The root of the hierarchy
is the basin center for a human. This structure is necessary to
compute efficiently the shape deformation during animation,
or to evaluate body measurements and meta-data. For a
human, we can consider a joint for each anatomical joint and
the segments are the bones linking the different joints. In a
standard animation pipeline, we consider around 20 degrees of
freedom (i.e., joints). Virtual Humans are traditionally
produced from a single 3D shape representing the body shape
in a default posture. An articulated animation skeleton is
associated to this default shape and is used to animate the
Virtual Human and adjust the 3D default shape to animated
postures [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. Extracting an accurate skeleton is a tedious
task. We propose to use multiscale shape analysis tools in
order to automate the process.
      </p>
    </sec>
    <sec id="sec-2">
      <title>II. BODY SHAPE ANALYSIS</title>
      <p>
        The Tailor algorithm [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] detects different kind of features
(sharp protrusions, wells, dips, and branching parts) at
different scales on a given shape (c.f. figure 1). Vertices are
labeled with different colors according to the feature they are
associated to. We performed tests on a set of bodies with
different corpulence. For each labeled area of vertices, its
centroid is defined as the mean of triangles barycenters. We
computed them across the different scales and filtered these
features points according to their position invariance. We did
experiments on the average centroids displacement across
scales and noticed it stays approximately located at a same
position considering a set of bodies, regardless of fatness, size
and morphology, which confirm our hypothesis: the anatomic
joints of a human on a scanned mesh correspond to features
that can be detected by Tailor algorithm. Some of the detected
points do not correspond to real joints: we can filter them by
taking into account only the blends and concave features. The
Plumber algorithm [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which builds on the vertex
classification provided by Tailor, identifies tubular features
together with their axes (cf figure 2).
      </p>
    </sec>
    <sec id="sec-3">
      <title>III. SKELETON EXTRACTION</title>
      <p>
        Our strategy relies on the observation that the shape
variations match areas corresponding to skeletal joints.
Intuitively, we expect that the areas where we detect small
variations lay in the same location with bigger variations.
Since the skin is thinner where we have natural articulations,
it produces small concavities and variations at small scales.
There are also less fat tissues and no muscles around joints, so
it induces variations at bigger scales among body parts[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
(c) (d) (e)
Figure 3: (a) Landmarks extracted from the 2 steps shape analysis; (b) tubular
limbs axes and spine curve; (c) estimated hip and shoulder joints location from
(a) and (b) and (d) final joints estimation corresponding to H-ANIM joints in
(e).
      </p>
      <p>Our proposed approach is based on two main steps: 1) an
initial segmentation is applied on 3D scanned data with
Plumber to extract tubular (limbs) and non-tubular parts of the
body (trunk); 2) a multi-scale shape analysis is further applied
with Tailor onto tubular and non-tubular segments to extract
potential location of joints. These results are combined with a
priori knowledge on human anatomy in order to select the best
candidates. The first segmentation provides arms and legs,
which are tubular. Each part contains only 2 joints: in the case
of arms, we have bends and wrists. In the case of legs, we
have ankles and knees. Tailor centroids are then filtered in
order to extract for each limb the 2 best candidates
corresponding to the joint location. For the trunk, Tailor
allows extracting the spine curve. This curve is used to
estimate the height of the shoulders and hip joints. Extracted
landmarks are further projected onto the axes of the Plumber
tubes in order to estimate the joints locations.</p>
    </sec>
    <sec id="sec-4">
      <title>IV. RESULTS</title>
      <p>In order to correct possible incoherencies due to bad scan
data, we use the symmetry property: since the human skeleton
is symmetric, the lengths of symmetric bones segments should
be the same. We also use anatomic proportions, according to
statistical data: proportions between long bones of the
skeleton are very stable with a negligible variation. We
present in figure 5 three different scanned bodies with
different morphotypes.</p>
      <p>
        The experiments on various morphotypes demonstrate that
the resulting method is able to handle noisy 3D input data for
variable 3D body shapes and postures and to extract with a
reasonable accuracy the main 16 joints and the 5 tip joints
corresponding to a simple H-Anim [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] hierarchy (c.f. figure
3e).
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>N.</given-names>
            <surname>Magnenat-Thalmann</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Thalmann</surname>
          </string-name>
          . Handbook of Virtual Humans, ed. Wiley,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Lewis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Matt</given-names>
            <surname>Cordner</surname>
          </string-name>
          , and Nickson Fong,
          <article-title>Pose space deformation: a unified approach to shape interpolation and skeleton-driven deformation</article-title>
          ,
          <source>In Proc. SIGGRAPH 200</source>
          , pp.
          <fpage>165</fpage>
          -
          <lpage>172</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Moccozet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dellas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Magnenat-Thalmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Biasotti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mortara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Falcidieno</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Min</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Veltkamp</surname>
          </string-name>
          ,
          <article-title>Animatable Human Body Model Reconstruction from 3D Scan Data using Templates</article-title>
          , In CapTech Workshop on Modelling and
          <article-title>Motion Capture Techniques for Virtual Environments</article-title>
          , Zermatt,
          <string-name>
            <surname>Switzerland. December</surname>
          </string-name>
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mortara</surname>
          </string-name>
          , G. Patane,
          <string-name>
            <given-names>M.</given-names>
            <surname>Spagnuolo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Falcidieno</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Rossignac</surname>
          </string-name>
          ,
          <article-title>Blowing bubbles for multi-scale analysis and decomposition of triangle meshes</article-title>
          , In
          <string-name>
            <surname>Algorithmica</surname>
          </string-name>
          (
          <year>2003</year>
          ), Vol.
          <volume>38</volume>
          , pp.
          <fpage>227</fpage>
          -
          <lpage>248</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mortara</surname>
          </string-name>
          , G. Patane,
          <string-name>
            <given-names>M.</given-names>
            <surname>Spagnuolo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Falcidieno</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Rossignac</surname>
          </string-name>
          ,
          <article-title>Plumber: A method for a multi-scale decomposition of 3d shapes into tubular primitives and bodies</article-title>
          ,
          <source>ACM Symposium on Solid Modeling</source>
          <year>2004</year>
          , ACM Press,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>[6] Henry gray, anatomy of the human body 1918</article-title>
          . http://www.bartleby.com/107/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>[7] H-anim specification</article-title>
          . http://www.h-anim.org/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>