scispace - formally typeset
Open AccessBook ChapterDOI

Homeomorphic Alignment of Edge-Weighted Trees

Benjamin Raynal, +2 more
- Vol. 5534, Iss: 5534, pp 134-143
TLDR
This work proposes a new alignment, taking in account the homeomorphism between trees, rather than the isomorphism, as in prior works, and develops several computationally efficient algorithms for reaching real-time motion capture.
Abstract
Motion capture, a currently active research area, needs estimation of the pose of the subject. For this purpose, we match the tree representation of the skeleton of the 3D shape to a pre-specified tree model. Unfortunately, the tree representation can contain vertices that split limbs in multiple parts, which do not allow a good match by usual methods. To solve this problem, we propose a new alignment, taking in account the homeomorphism between trees, rather than the isomorphism, as in prior works. Then, we develop several computationally efficient algorithms for reaching real-time motion capture.

read more

Content maybe subject to copyright    Report

HAL Id: hal-01626326
https://hal.archives-ouvertes.fr/hal-01626326
Submitted on 30 Oct 2017
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entic research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diusion de documents
scientiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Homeomorphic Alignment of Edge-Weighted Trees
Benjamin Raynal, Michel Couprie, Venceslas Biri
To cite this version:
Benjamin Raynal, Michel Couprie, Venceslas Biri. Homeomorphic Alignment of Edge-Weighted
Trees. 7th IAPR-TC-15 International Workshop, GbRPR 2009, May 2009, Venise, Italy. pp.134-
143, �10.1007/978-3-642-02124-4_14�. �hal-01626326�

Homeomorphic Alignment of Edge-Weighted
Trees
Benjamin Raynal, Michel Couprie, and Venceslas Biri
Universit´e Paris-Est
Lab or atoire d’Informatique Gaspard Monge, Equipe A3SI
UMR 8049 UPEMLV/ESIEE/CNRS
Abstract. Motion capture, a currently active research area, needs esti-
mation of the pose of the subject. This requires a match between a mod el
and the 3D shape, constructed using a multiview system. Our purpose
is to realize it in real-time, using the tree representation of the skeleton
of the 3D shape. In this paper, we propose a new alignment distance
b etween both rooted and unrooted weighted trees, taking in account
the different types of noise occuring in the data tree. Then, we develop
several algorithms with acceptable time complexity for our purpose.
Key words: Graphs, homeomorphism, aligment, matching algorithm
1 Introduction
Motion capture without markers is a highly active research area, as shown by
Moeslund and al. [1]:between 2000 and 2006, more than 350 papers on this topic
were published. One difficulty of motion capture consists in finding the initial
pose of the subject, represented by a 3D shape and constructed using a multiview
system. Therefore, our motivation is to match the different parts of this 3D shape
(the data) to a simple a priori model.
The model is an unrooted weighted tree (called the pattern tree), where
vertices represent the different parts of the shape, and edges model the links
between these parts. Edges are associated to a weight representing the distance
between the parts. Concerning the data, we extract the curve skeleton of the
3D shape, and compute the associated weighted unrooted tree (called the data
tree), by considering each multiple point and ending point, and linking them
when they are directly connected. The weight of an edge is the geodesic distance
between its vertices.
After this step, the main difficulty is to match the pattern tree in the data
tree, with a goo d preservation of both topology and distances.
Several approaches have been developed, using the skeleton of a shape, in
motion capture research area [2–4], and in 3D shape matching research area [5–
7]. The best time obtained for finding the initial pose is one second [3], which is
too slow, even for interactive time.
Moreover, several kinds of noise and deformities can appear in the data tree :

Spurious branches. Due to the skeletonization algorithm and to the amount
of noise of the shape surface, branchs of skeleton can appear, but without im-
portant topological signification. The method must be robust enough to work
on data trees with consequent amount of spurious branches.
Useless vertex. Vertices with exactly two neighbors are not useful to de-
scribe the topology of a shape, they uselessly split an edge (and its weight) in
two parts, making difficult a good matching. This kind of vertices can appear
when removing spurious branches. The method must be able to match two edges
joined by this kind of vertex, with a unique edge.
Splitted vertex. Vertices with more than 3 neighbors in the pattern tree
can correspond to a cluster of vertices linked by weakly weighted edges in the
data tree, due to the skeletonization algorithm. The method must be able to
match them.
Approaches found in the literature (see Sect. 3) do not permit to achieve a
robust matching, with respect to these pertubations. In the following, after re-
viewing basic notions, we introduce both a new alignment, called homeomorphic
alignment, and a robust tree-matching algorithm which may be used for realtime
pose estimation.
2 Basics Notions
Undirected Graphs. An undirected graph is a pair (V, E), where V is a finite set,
and E a subset of {{x, y}, x V, y V, x 6= y}. An element of E is called an
edge, an element of V is called a vertex. If {x, y} E, x and y are said to be
adjacent or neighbors. The set of all neighbors of x is denoted by N (x). The
number of vertices adjacent to a vertex v is called the degree of v, and is denoted
by deg(v). Let G = (V, E) be an undirected graph, and let x, y be in V , a path
from x to y in G is a sequence of vertices s
0
, ..., s
k
such that x = v
0
, y = v
k
and
{v
i1
, v
i
} E, 1 i k. The number k is called the length of the path. If k = 0
the path is called a trivial path. A path is closed if x = y. A path is simple when
no vertex (except possibly x) occurs more than once in the sequence of vertices
of the path. A non-trivial simple closed path in which all edges are distinct is
called a cycle. A graph is connected if for all {x, y} V , a path from x to y
exists in G. A tree is a connected graph with no cycles. A simple path from x to
y in a tree is unique and is denoted by π(x, y). An unconnected graph with no
cycles is called a forest, each of its connected components being a tree.
Directed Graphs. A directed graph is a pair (V, A), where V is a finite set, and
A a subset of V × V . An element of A is called an arc, an element of V is called
a vertex. Let G = (V, A) be a directed graph, and let x, y be in V , a path from
x to y in G is a sequence of vertices s
0
, ..., s
k
such that x = v
0
, y = v
k
and
(v
i1
, v
i
) A, 1 i k. The undirected graph associated to G is the undirected
graph G
= (V, E), such that {x, y} E if and only if (x, y) A or (y, x) A. A
vertex r V is a root of G if for all x V \ {r}, a path from r to x in G exists.
G is antisymetric if for all (x, y) A, (y, x) / A. The graph G is a rooted tree

(with root r) if r is a root of G, G is antisymetric and if the undirected graph
associated to G is a tree. An unconnected graph, where each of its connected
components is a tree, is called a rooted forest.
Let G = (V, A) be a rooted tree. If (y, x) A, we say that y is the parent of
x (denoted by par(x)), and that x is a child of y. The set of all children of y is
denoted by C(y). The maximum length of a path between the root and another
node is called the height of the tree. The vertices on the path from the root to
a vertex x are called the ancestors of x. We denote the set of the ancestors of x
by anc(x).
Common Definitions. Unless otherwise indicated, all the other definitions and
notations in this article are similar for the two kinds of graphs. We will give
them for the directed graphs, the versions for undirected graphs can be obtained
by replacing arcs by edges.
Two graphs G = (V
G
, A
G
) and G
= (V
G
, A
G
) are said to be isomorphic if
there exists a bijection f : V
G
V
G
, such that for any pair (x, y) V
G
× V
G
,
(x, y) A
G
if and only if (f(x), f(y)) A
G
.
A weighted graph is a triplet (V, A, ω), where V is a finite set, A a subset
of V × V , and ω a mapping from A to R. In a weighted tree, the weight of the
unique path from x to y, denoted by ω(x, y) is the sum of the weights of all arcs
traversed in the path.
Two weighted graphs (V, E, ω) and (V
, E
, ω
) are isomorphic whenever the
graphs (V, E) and (V
, E
) are isomorphic.
3 Measure of Similarity
The problem of comparing graphs occurs in diverse areas such as computational
biology, image analysis and structured databases. However, the graphs consid-
ered in these domains are most often with labeled vertices. Each notion in this
section will be introduced in the case of graphs with weighted edges/arcs.
We present here measure of similarity allowing the comparison of graphs. Af-
ter adapting basic edit operations for weighted trees, we define a new alignment
distance: the homeomorphic alignment distance, preserving topology and han-
dling useless and splited vertices. We then see how we handle spurious branches.
3.1 Edit Operations
An approach widely used to compare two graphs is to search for a sequence of
simple primitive operations (called edit operations) that transforms a graph into
the other and that has a minimal cost, called the edit distance.
For a graph G = (V, A, ω), commonly used operations are :
resize : Change the weight of an arc a = (u, v) A.
delete : Delete an arc a = (u, v) A and merge u and v into one vertex.
insert : Split a vertex in two vertices, and link them by a new arc.

The cost of these edit op erations is given by a cost function γ(w, w
), where w
(respectively w
) is the total weight of the arcs involved in the operation before
(respectively after) its application. As a consequence, the cost of a deletion can
be denoted by γ(w, 0), where w is the weight of the deleted arc, and the cost of
an insertion by γ(0, w), where w is the weight of the created arc. Furthermore,
we asume that γ is a metric. Typically, γ(w, w
) = |w w
| or (w w
)
2
.
Various edit-based distances have been defined, using different constraints on
sequence order and different definitions of operations. These edit-based distances
can be classified, as proposed by Wang and al. [8] : Edit distance [9], alignment
distance [10, 11], isolated-subtrees distance [12], and top-down distance [13]. Pro-
posed edit distances, isolated-subtrees distances and top-down distances cannot
always match all the model tree, but only subparts, most often unconnected.
However, we will see in the next subsection that it is not the case for alignment
distance.
3.2 Alignment Distance
In [10], Jiang and al. propose a similarity measure between vertex-labeled trees,
that we transpose here for edge-weighted graphs.
Let G
1
= (V
1
, A
1
, ω
1
) and G
2
= (V
2
, A
2
, ω
2
) be two weighted graphs. Let
G
1
= (V
1
, A
1
, ω
1
) and G
2
= (V
2
, A
2
, ω
2
) be weighted graphs obtained by insert-
ing arcs weighted by 0 in G
1
and G
2
, such that there exists an isomorphism I
between G
1
and G
2
. The set of all couples of arcs A = {(a
1
, a
2
); a
1
A
1
, a
2
A
2
, a
2
= I(a
1
)} is called an alignment of G
1
and G
2
. The cost C
A
of A is given
by
C
A
=
X
(a
1
,a
2
)∈A
γ(ω
1
(a
1
), ω
2
(a
2
)) . (1)
The minimal cost of all alignments from G
1
and G
2
, called the alignment
distance, is denoted by α(G
1
, G
2
). Alignment distance is an interesting way in
our case for three reasons:it preserves topological relations between trees, it can
be computed in polynomial time, and it enables to ”remove edges”, regardless
of the rest of the graph, solving the problem of splitted vertices.
3.3 Homeomorphic Alignment Distance
For the purpose of solving the useless vertex problem, we propose a new align-
ment, which removes 2-degree vertices.
Homeomorphism. A subdivision of an arc (u, v) in a weighted graph G =
(V, A, ω) is an operation which consists in adding a new vertex w in V and two
arcs (u, w) and (w, v) in A, removing (u, v) and assigning weights on the new
arcs, such as ω((u, w))+ω((w, v)) = ω((u, v)). A subdivision of a weighted graph
G is a graph obtained by a sequence of subdivisions of arcs of G.

Citations
More filters
Book ChapterDOI

Generic initialization for motion capture from 3d shape

TL;DR: A new method for interactive time initialization step is proposed, only based on morphological and topological information and which can be easily adapted to any kind of model (full human body or only hand, animals, for example).
Dissertation

Applications of digital topology for real-time markerless motion capture

TL;DR: This manuscript proposes an automatic real-time markerless initialization step, that relies on topological information provided by skeletonization of a 3D reconstruction of the subject that is fast computation, robustness, and adaptability to any kind of subjects.
References
More filters
Journal ArticleDOI

A survey of advances in vision-based human motion capture and analysis

TL;DR: This survey reviews recent trends in video-based human capture and analysis, as well as discussing open problems for future research to achieve automatic visual analysis of human movement.
Journal ArticleDOI

The visual hull concept for silhouette-based image understanding

TL;DR: This paper addresses the problem of finding which parts of a nonconvex object are relevant for silhouette-based image understanding and introduces the geometric concept of visual hull of a 3-D object, which is the maximal object silhouette-equivalent to S.
Journal ArticleDOI

The Tree-to-Tree Correction Problem

TL;DR: An algorithm is presented which solves the problem of determining the distance from T to T' as measured by the mlmmum cost sequence of edit operaUons needed to transform T into T'.
Journal ArticleDOI

Shock graphs and shape matching

TL;DR: A novel tree matching algorithm is introduced which finds the best set of corresponding nodes between two shock trees in polynomial time and is demonstrated under articulation, occlusion, and moderate changes in viewpoint.
Proceedings ArticleDOI

Automatic rigging and animation of 3D characters

TL;DR: This work presents a method for animating characters automatically, given a static character mesh and a generic skeleton, that adapts the skeleton to the character and attaches it to the surface, allowing skeletal motion data to animate the character.
Related Papers (5)
Frequently Asked Questions (16)
Q1. What are the contributions mentioned in the paper "Homeomorphic alignment of edge-weighted trees" ?

In this paper, the authors propose a new alignment distance between both rooted and unrooted weighted trees, taking in account the different types of noise occuring in the data tree. 

In future works, the authors will take into account more useful information on the model, such as spatial coordinates of data vertices, and include them in their algorithm, for a better robustness. 

Proposed edit distances, isolated-subtrees distances and top-down distances cannot always match all the model tree, but only subparts, most often unconnected. 

An approach widely used to compare two graphs is to search for a sequence of simple primitive operations (called edit operations) that transforms a graph into the other and that has a minimal cost, called the edit distance. 

Due to the skeletonization algorithm and to the amount of noise of the shape surface, branchs of skeleton can appear, but without important topological signification. 

the data tree obtained from the skeleton of the visual hull has a degree bounded by 4, and its number of vertices is between seven and twenty, with a gaussian probability repartition centred on ten. 

Alignment distance is an interesting way in their case for three reasons:it preserves topological relations between trees, it can be computed in polynomial time, and it enables to ”remove edges”, regardless of the rest of the graph, solving the problem of splitted vertices. 

One difficulty of motion capture consists in finding the initial pose of the subject, represented by a 3D shape and constructed using a multiview system. 

The undirected graph associated to G is the undirected graph G′ = (V,E), such that {x, y} ∈ E if and only if (x, y) ∈ A or (y, x) ∈ A. 

In the case of a rooted tree, the authors consider that the root rGofG cannot be removed by the cut operation, and then the authors can use the notation Cut(G,K) = Cut(G,K, rG). 

In future works, the authors will take into account more useful information on the model, such as spatial coordinates of data vertices, and include them in their algorithm, for a better robustness. 

Motion capture without markers is a highly active research area, as shown by Moeslund and al. [1]:between 2000 and 2006, more than 350 papers on this topic were published. 

In a weighted tree, the weight of the unique path from x to y, denoted by ω(x, y) is the sum of the weights of all arcs traversed in the path. 

(4)Proposition 3. Let i ∈ VP \\ {p}, j ∈ VD \\ {d}, ia ∈ anc(i), ja ∈ anc(j),ηcut(∅, ∅) = 0 ηcut(P (i, ia), ∅) = ηcut(F(P, i), ∅) + γ(ω(ia, i), 0) ηcut(F(P, ia), ∅) = ∑i′∈C(ia)ηcut(P (i ′, ia), ∅)ηcut(∅,D(j, ja)) = 0 ηcut(∅,F(D, ja)) = 0 .(5)Proposition 4. Let i ∈ VP \\ {p}, j ∈ VD \\ {d}, ia ∈ anc(i), ja ∈ anc(j).ηcut(P (i, ia),D(j, ja)) =min ηcut(F(P, i), ∅) + γ(ω(ia, i), 0) γ(ω(ia, i), ω(ja, j)) + ηcut(F(P, i),F(D, j)) minjc∈C(j){ηcut(P (i, ia),D(jc, ja))} minic∈C(i){ηcut(P (ic, ia),D(j, ja)) + ∑i′ c ∈C(i)\\icηcut(P (i ′ c, i), ∅)} .(6)Proposition 5. ∀A ⊆ F(P, i), B ⊆ F(D, j),ηcut(A,B) =min minD(j′,j)∈B {ηcut(A,B \\ {D(j ′, j)})} minP (i′,i)∈A {ηcut(A \\ {P (i ′, i)}, B) + ηcut(P (i′, i), ∅)} minP (i′,i)∈A,D(j′,j)∈B {ηcut(A \\ {P (i ′, i)}, B \\ {D(j′, j)})+ηcut(P (i ′, i),D(j′, j))}minP (i′,i)∈A,B′⊆B {ηcut(A \\ {P (i ′, i)}, B \\ B′)+ηcut(F(P, i ′), B′) + γ(Ω(i′), 0)}minA′⊆A,D(j′,j)∈B {ηcut(A \\ A ′, B \\ {D(j′, j)})+ηcut(A ′,F(D, j′)j) + γ(0, Ω(j′))} . 

In the following, after reviewing basic notions, the authors introduce both a new alignment, called homeomorphic alignment, and a robust tree-matching algorithm which may be used for realtime pose estimation. 

After this step, the main difficulty is to match the pattern tree in the data tree, with a good preservation of both topology and distances.