[Bf-committers] GSoC 2013 - Automatic Skeleton Extraction

Alexander Pinzon Fernandez apinzonf at gmail.com
Thu Apr 25 17:51:53 CEST 2013


Automatic Skeleton Extraction

Alexander Pinzon Fernandez

Email: apinzonf at gmail.com


Short description:

The character animation is generally done with skeletons that control each
joint in the character which drastically simplifies the animation process.
The construction of the skeleton given a polygon mesh is a task typically
performed by an artist. This project proposes to implement a method for
extracting the skeleton automatically given a polygon mesh.



*Name*: Alexander Pinzon Fernandez

*Email*: apinzonf at gmail.com

*IRC*: apinzonf

*www*: http://apinzonf.wordpress.com/,
http://wiki.blender.org/index.php/User:Apinzonf

*Additional Contact Info*

*Phone*: +57 300 2 92 74 30

*Physical Address*: Cr 81 H No 42a-58 sur Bogota-Colombia


Synopsis

The character animation is generally done with skeletons that control each
joint in the character which drastically simplifies the animation process.
The construction of the skeleton given a polygon mesh is a task typically
performed by an artist. This project proposes to implement a method for
extracting the skeleton automatically given a polygon mesh.

This method iteratively contracts the shape in the reverse direction of the
curvature flow, with a constraint that forces the contracted model will
closely match the original. In each iteration eliminates details. After the
model volume is close to zero is passed to the next stage in which through
a special surface simplification method removes vertices to obtain a 1D
structure.

Paper used:

AU, Oscar Kin-Chung, et al. Skeleton extraction by mesh contraction.  ACM
Transactions on Graphics (TOG). ACM, 2008. p. 44.


Benefits to Blender

This project proposes a new tool for blender user that requires extract the
skeleton of polygon meshes.

This method allows to obtain the skeleton of a polygon mesh quickly and
automatically.

This method is insensitive to noise because it uses a smoothing algorithm
for contraction which removes the noise and detail in each iteration.


Deliverables

   1. A new skeleton extraction tool for Blender.
   2. Some pages of documentation to be included in the manual
   3. A technical document for developers to improve the method in the
   future.
   4. A tutorial explaining the use of the tool.


Project Details

The project would divide into seven parts:

   1. Iteratively contracting the mesh until the volume is close to zero.
   2. Simplifying polygon mesh to obtain a 1D structure (skeleton).
   3. Relocating skeleton nodes in the center of each segment.
   4. Create vertex groups for each node of the skeleton.
   5. Converting a 1D polygon mesh into an armature.
   6. Link vertex groups to bones of the armature.
   7. Generation of the documentation and tutorials.


Project Schedule

   - *2 Weeks:-           May 27 – Jun 09:* Iteratively contracting the
   mesh until the volume is close to zero.
   - *3 Weeks:-           Jun 10 – Jun 31:* Simplifying polygon mesh to
   obtain a 1D structure (skeleton).
   - *2 Weeks:-           Jul 01 – Jul 14:* Relocating skeleton nodes in
   the center of each segment.
   - *2 Weeks:-           Jul 15 – Jul 28:* Create vertex groups for each
   node of the skeleton.
   - *3 Weeks:-           Jul 29 – Aug 18:* Converting a 1D polygon mesh
   into an armature.
   - *2 Weeks:-           Aug 19 – Sep 01:* Link vertex groups to bones of
   the armature..
   - *1 Weeks:-           Sep 02 – Sep 08:* Testing the tool and Define and
   implement graphical user integration.
   - *2 Weeks:-           Sep 09 – Sep 22:* Generation of the documentation
   and tutorials.


Bio

I graduated as systems engineer in Colombia in 2007.

I am a MSc computer science student at National University of Colombia.

Skeleton extraction and mesh smoothing are the research topics of my MSc. I
am use CGAL, Graphite and Qt libraries.

Since 2007 I am a member of the Bioingenium Research Group of National
University of Colombia.

I have been using Blender for about 10 years. I was working on the develop
of a operator to remove noise from a mesh at GSOC 2012 – Blender suchi
branch “Mesh Smoothing for 3d Scan Data”.


WORK EXPERIENCE:

2012 Google Summer of Code – Blender Foundation: “Mesh Smoothing for 3d
Scan Data”.

2010 - Scire Foundation, Software Architect:

Design and development of web services data, hibernate and oracle.

Programming GUI with RichFaces.

Library of generic manipulation of trees, based on Java reflection
techniques.

2005 - 2007  Sigtech, LTDA, Developer Engineer:

SIGC  System  Development  for  the  "Departamento  Administrativo  de
Catastro  Distrital DACD".

Software used in development: Oracle 9i, Visual Basic 6, PL / SQL Developer.

2004 -2005  IIE and Colciencias, Student Monitor research:

Project: " Theater of Memory in Virtual Worlds:"

Architecture for handling streaming video that comes from a digital
camcorder and put it as a texture of a 3D plane in a virtual setting, using
the Java software, J3D, JMF, VRML, X3D.


SOFTWARE DEVELOPED:

Nukak3D  http://sourceforge.net/projects/nukak3d

3D medical image platform for visualization and image processing.

Nukak3d  is a  flexible architecture  that  integrates general-purpose
graphics  libraries such as VTK, ITK, VTKInria3D, OpenGL, under a graphical
user interface (wxWidgets)  for three-dimensional visualization and
processing of medical images. On C++.

 JNukak3D  http://sourceforge.net/projects/jnukak3d

Software for three-dimensional visualization of DICOM images based on java.

  JVC1394  http://sourceforge.net/projects/jvc1394/

Wrapper for the library Libdc1394 to enable communication with the Java
programming language. Java Video Capture for IEEE 1394 cameras. On C, C++,
Java, Swig.


PUBLICATIONS

León J., Pinzón A., Sánchez C., Romero E. A distributed plugin based
architecture for medical image processing. Proc. SPIE 8674, Medical Imaging
2013: Advanced PACS-based Imaging Informatics and Therapeutic Applications,
867403 (March 29, 2013);doi:10.1117/12.2007180.

Pinzón,   A., Leon, J.C., Romero E.,   Diseño y desarrollo de una
aplicación web para  la visualización eficiente de imágenes medicas, con
procesamiento 3D por software o por hardware. En Seminario Internacional de
Procesamiento y Análisis de Imágenes Médicas SIPAIM 2009, (Noviembre 27-27,
2009), Bogotá Colombia.

Pinzón  A.,  Romero  E.,  Visualización  3D  de  imágenes  médicas:  una
herramienta  Open Source,    En Seminario Internacional de Procesamiento y
Análisis de Imágenes Médicas SIPAIM 2008, (Noviembre 24-27, 2008), Bogotá –
Colombia.

Mendoza,  B.  U.,  Ramos,  G.  A.,  Mendez,  L.  M.,  Santamaria,  W.,
and  Pinzón,  A.  2006.  Camera  Motion  Control from  a  Java  3D
Environment:  Virtual  Studio  Application  in Decorative  Arts Museum
Collections.  In Proceedings of  the 2006  international Conference on
Cyberworlds  (November 28  - 29, 2006). CW. IEEE Computer Society,
Washington, DC, 58-64.


More information about the Bf-committers mailing list