1. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Extraction and Tracking of a body Skeleton
from Multiview
Alexander Pinzón Fernandez
Advisor: Eduardo Romero
Universidad Nacional de Colombia
March 24, 2011
Alexander Pinzón Fernandez | Bioingenium Research Group 1/18 |
2. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Outline
1 Introduction
2 Skeleton Extraction
3 sjSkeletonizer
4 The Problem
5 The Proposed Solution
Alexander Pinzón Fernandez | Bioingenium Research Group 2/18 |
3. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Skeleton Extraction
System
Skeletonization reduces dimensionality and represents a body as a
1D structure [Cornea2007].
The method converges to a contracted mesh using a Mesh
smoothing.
Figure: From left to right: Contracted mesh
Alexander Pinzón Fernandez | Bioingenium Research Group 3/18 |
4. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Mesh Smoothing Methods
Definition
Mesh smoothing is a method to remove noise [Zhang2002].
Figure: (1) Original Shape, (2 3, 4) after (10, 50, 200) smoothing steps
respectively, algorithm used Taubin’s Smoothing [Taubin2000]
Alexander Pinzón Fernandez | Bioingenium Research Group 4/18 |
5. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Mesh Smoothing Methods
Mesh Smoothing Methods.
Laplacian methods [1].
Taubin method [Taubin2005].
Statistical methods [Yagou2002].
Alexander Pinzón Fernandez | Bioingenium Research Group 5/18 |
6. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Laplacian Smoothing
The basic idea is that a vertex of a mesh is incrementally moved
towards the Laplacian direction [Bray2004].
∂X
∂t = λL (X ),
which is implemented as the forward difference equation:
Xt+1 = (I + λL) Xt
where X is the set of vertices, L is the Laplacian, and λ ∈ R is a
diffusion speed.
and the discrete Approximation reads as:
L (xi ) = wij (xj − xi ) , xj ∈ Neighbor (xi )
Alexander Pinzón Fernandez | Bioingenium Research Group 6/18 |
7. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
The Laplacian can be approximated as
1
Simple Laplacian wij = m
1
Scale-dependent Laplacian wij = xi −xj
Normal Curvature wij = cot αj + cot βj
Alexander Pinzón Fernandez | Bioingenium Research Group 7/18 |
8. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Skeleton can be obtained by smoothing
BUT under two restrictions, WL which strengths the Laplacian
and WH which maintains the vertices in the original location.
WL L 0
Skeleton Extraction Xt+1 = Where
WH W H Xt
L (X ) =Laplacian smoothing and WL , WH must be iterated
t+1 t
WL = SL WL :Contraction constraints, SL = 2.0
t+1 0 A0
i
WH,i = WH,i At
: Attraction constraints
i
At and A0 are the current and original areas of a ring (neighbors) of vertex xi
i i
t =represents each iteration
Alexander Pinzón Fernandez | Bioingenium Research Group 8/18 |
9. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Linear system
WL L 0
Xt+1 =
WH 2NxN
W H Xt 2NxN
Where N is number of vertices (X ≈ 30.000)
We need to solve the system Ax = B
The system is over-determined (more equations than unknowns).
We solve it in the least-squares sense
2
minimize Ax − b
which is equivalent to minimizing the following quadratic energy.
2 2 2
WL LXt+1 + WH,i xt+1 − xt
i
Alexander Pinzón Fernandez | Bioingenium Research Group 9/18 |
10. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
sjSkeletonizer
.
sjSkeletonizer is our prototype application.
Use CGAL (Computational Geometry Algorithms Library)
Use Graphite (Numerical Geometry and Computer Graphics)
Integrate numerical libraries: ACE, AMD, ARPACK,
ARPACK_UTIL, CBLAS, CCOLAMD, CHOLMOD,
CLAPACK, COLAMD, F2CLIBS, METIS, MISC, NL,
SUPERLU, TAUCS
Use QT (Toolkit for creating graphical user interfaces)
OpenGL (Open Graphics Library)
Alexander Pinzón Fernandez | Bioingenium Research Group 10/18 |
11. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Problems in Isometric transformations
Isometric Change
Two nodes appear where there should be a single one
Alexander Pinzón Fernandez | Bioingenium Research Group 11/18 |
12. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
The Proposed Solution
Add a new constraint
Trying to smooth the vertices along the line
Alexander Pinzón Fernandez | Bioingenium Research Group 12/18 |
13. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Not so fast, life is not that easy!!!
An additional difficulty is to introduce the distance to a line into
the traditional AX=B
The distance from a Point to a Line
−
→ −
→ |(P2 −P1 )×(P1 −P0 )|
line = P1 + t P2 , point P0 =⇒distance(line, P0 ) = |P2 −P1 |
Every point in a plane satisfies this equation P0 : ax + b0 y + c0 z + d0 = 0.
Points from a line belong simulaneaously to two planes whose equations can be
completely determined from the line equation.
Alexander Pinzón Fernandez | Bioingenium Research Group 13/18 |
14. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Line Distance Constraint
two additional constraint matrix WD1 , WD2 contain [a, b, c, d ]
plane parameters for every vertex [xi , yi , zi , 1]
and new sparse linear system
WL L 0
WH W H Xt
WD1 Xt+1 =
0
WD2 0
Alexander Pinzón Fernandez | Bioingenium Research Group 14/18 |
15. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Results
Alexander Pinzón Fernandez | Bioingenium Research Group 15/18 |
16. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Particular Difficulties
The point can be anywhere on the line.
The skeleton has many branches
More equations than unknowns.
The solution should be restricted to a particular region of the
line.
Alexander Pinzón Fernandez | Bioingenium Research Group 16/18 |
17. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Discussion
How to add a new constraint on the system of equations.
Any ideas to eliminate the error of the two nodes.
What kind of numerical method to use?
Alexander Pinzón Fernandez | Bioingenium Research Group 17/18 |
18. Introduction Skeleton Extraction sjSkeletonizer The Problem The Proposed Solution
Bibliography
Mathieu Desbrun, Mark Meyer, Peter Schröder, and Alan H. Barr.
Implicit fairing of irregular meshes using diffusion and curvature flow.
In SIGGRAPH ’99: Proceedings of the 26th annual conference on Computer
graphics and interactive techniques, pages 317–324, New York, NY, USA, 1999.
ACM Press/Addison-Wesley Publishing Co.
Skeleton Extraction.
Alexander Pinzón Fernandez | Bioingenium Research Group 18/18 |