Rotation invariant topology coding of 2D and 3D objects using Morse theory

28
1 1

Transcript of Rotation invariant topology coding of 2D and 3D objects using Morse theory

1

1

TOPO-GEOMETRIC SHAPE MODEL FOR 3D OBJECT

REPRESENTATION

Sajjad Baloch†, Hamid Krim†, Irina Kogan‡, and Dmitry Zenkov‡

shbaloch, ahk, iakogan, [email protected]

North Carolina State University, Raleigh, NC 27695

Abstract

We propose a new method for representing the topology and geometry of 2D compact surfaces embedded in

a three-dimensional space. Topology is modeled through a skeletal graph, where a distance function is employed

as a Morse function. Invariance to rigid transformations follows directly from this choice of Morse function.

Geometry is captured by modeling the evolution of level curves of the distance function along topologically

homogenous parts of the surface, which in turn correspond to various graph edges. Combining topological

and geometric information leads to a weighted skeletal graph representation of a surface, which is sufficient

for reconstructing the original surface. The uniqueness and completeness of representation make the method

particularly suitable for shape recognition applications, where weighted graph isomorphism may be employed.

Index Terms

3D Object representation, Morse theory, Critical points, Elasticæ, Reeb graph, classification.

1. Introduction

Modeling of 3D objects constitutes a fundamental problem in computer vision applications. 3D objects are

usually represented by their surface boundaries, which in turn are normally parameterized by triangulated

meshes. Such a representation, however, suffers from two major drawbacks. First, it does not take into account

†Department of Electrical and Computer Engineering.

‡Department of Mathematics.

This work was supported by AFOSR F49620-98-1-0190 and NSF CCR-9984067 grants.

local correlations or similarities, thus failing to exploit underlying redundancy for a compact representation.

Second, it results in intertwined topological and geometrical information, which makes it unsuitable for shape

recognition. Various approaches have been proposed in literature for addressing these problems. One of the

foremost methods for compact representation is a variant of medial axis, known as medial axis transform

(MAT) [19], [45], [1], [12]. Incomplete shape information in medial axis descriptor limits its use for shape

reconstruction. On the other hand, an MAT complements a medial axis with additional information by

superimposing the radius information of the corresponding circles/spheres on medial axis. The resulting

model contains sufficient information for a complete yet compact shape representation, thereby allowing

their reconstruction. It, however, suffers from the drawback that for 2D surfaces, medial axis transform itself

happens to be a surface, which limits its utility for shape recognition. Pizer et al. [34], [21], on the other hand,

provide the addition information by way of spokes along the medial axis, which represents its distance from

the surface. Although the resulting shape model, known as m-reps, has been shown to reconstruct very

“simple” shapes, its utility for complex shapes of arbitrary topology is an open question. In addition, it does

not decouple topological and geometric information, and hence, is not suitable for shape recognition.

For shape recognition, the basic idea is to extract some shape features, which form a characteristic of a shape,

and subsequently employ them for recognition. A number of techniques have been proposed in literature.

Shinagawa et al. [39] use height function based Reeb graphs for shape representation. A similar approach has

been proposed by Carr, Snoeyink, and Axen [8], where they model terrain data using contour trees. Osada

et al. [31], and Ben and Krim [16] represent 3D objects by shape distributions and subsequently employ

a dissimilarity measure on distributions for shape classification. Lazarus et al. [24] propose skeletonization

based on geodesic distance from a manually chosen source point. The graphs obtained this way are called

level set diagrams. Hilaga et al. [18] extend this approach by eliminating the need of the manual selection of

a source point and propose a matching algorithm based on multiresolution Reeb graphs (MRG). Tung and

Schmitt [43] capitalized on their idea to present augmented MRGs (AMRG), thereby capturing additional

attribute features, which yield better recognition rates. In Kazhdan et al. [22], global properties of 3D objects

are captured through a reflective symmetry descriptor that is defined over a certain parametrization, which

the authors term as canonical. Kazhdan and Funkhouser [23] use rotation-invariant spherical harmonics as

Fig. 1. Weighted skeletal graph: Graph captures the topology and the weights Wi model the geometry.

a shape descriptor for recognition purposes.

A limitation of the second class of shape descriptors is that they do not represent a shape completely and,

therefore, fall short of a unique shape signature. This non-uniqueness motivates us to formulate a better

shape model, which may then be utilized for classification and recognition purposes, while simultaneously

achieving the completeness property of the first class of methods. To that end, we propose topo-geometric

shape model (TGSM), which untwines topological and geometric information, while simultaneously capturing

both completely.

2. Topo-Geometric Shape Model

TGSM is formulated in a Morse theoretic framework [29], [27], which allows topological modeling through

a skeletal graph, and geometric modeling via weight assignment. While the resulting topological graph

bears some similarities with the traditional height function based Reeb graph, it eliminates one of its major

limitations, thus achieving rotation invariance, which follows directly from its derivation from a similarity

transformation invariant Morse function — a distance function.

The graph construction algorithm involves surface sampling, and yields a set of level curves along each

graph edge, which are modeled to capture the geometry of the corresponding topologically homogenous part

of a surface. In simple words, each of these topologically homogeneous subsurfaces is represented by a weight

vector, which models the evolution of the levels curves along the subsurface. The learnt weights are finally

assigned to corresponding edges, thereby yielding a weighted graph as shown in Fig. 1, which completely

represents a surface. This completeness not only allows reconstruction of surfaces from their models, but also

leads to uniqueness of representation. Uniqueness and decoupling of topological and geometrical information

makes this representation particularly suitable for shape recognition.

The paper is organized as follows: we start with a brief overview of Morse theory given in the next section,

followed by a construction of scaling and rigid motion skeletal graph given in Section 4. Geometric model and

its implementation are presented in Sections 5 and 6, respectively. We conclude the paper with reconstruction

examples in Section 7.

3. An Overview of Morse Theory

Morse theory [29], [7], [27] allows relating the topology of a smooth manifold with the number of critical

points of a Morse function (defined below) on this manifold. A k-dimensional manifold M may be locally

parameterized as:

φ : Ω →M (1)

that is, Ω 3 u 7→ φ(u) ∈ M, where an open connected set Ω ⊂ Rk represents the parameter space. Let

f : M → R be a real-valued function on M. By definition, the function f is smooth if the composition

f φ : Ω → R is smooth for each local parametrization of M. A point x = φ(u) ∈ M, where u ∈ Ω, is called

a critical point of f if the gradient of f φ vanishes at u, i.e., 5f φ(u) = 0. The critical point x ∈ M is

called non-degenerate if the Hessian 52f φ(u) is non-singular at φ(u).1 Morse Lemma states that there exists

a parametrization of a neighborhood of a non-degenerate critical point of f : M → R in which f φ is a

quadratic form. The number of negative eigenvalues of the matrix of this form is called the index of the critical

point.

If f is a smooth function on a two-dimensional manifold M, the three possible types of non-degenerate

critical points are the local minimum (index 0), saddle point (index 1), and local maximum (index 2).

Definition 3.1: (Morse function) A smooth function f : M→ R on a smooth manifold M is called a Morse

function if all of its critical points are non-degenerate.

The basic properties of critical points of Morse functions are summarized below:

• Critical points of a Morse function are isolated.

1Both definitions are independent of the choice of the local parametrization in the neighborhood of the critical point.

Fig. 2. Manifold M and the critical points using height function.

• The number of critical points of a Morse function is stable, that is, a small perturbation of the function

neither creates nor destroys critical points.

• The number of critical points of a Morse function on a compact manifold is finite.

The level set Lc = f−1(c) ⊂ M of the Morse function f : M → R is called critical if it contains a critical

point of f . According to the Morse Deformation Lemma, if the levels Lc1 and Lc2 have different topological

types, there is a number c ∈ (c1, c2) such that Lc is a critical level.

In the rest of the paper, we will concentrate on the study of two-dimensional surfaces embedded in the

three-dimensional space R3. The points of R3 are identified with their position vectors, the latter are typed in

bold. The parameter space Ω is two-dimensional and the points in Ω are written as (u, v). Thus, if x belongs

to the surface, we write x = x(u, v).

Example 3.2: (The Height Function on a Sphere) The height function defined on a unit sphere S2 is a real

valued function h : S2 → R such that h(x, y, z) = z, ∀(x, y, z) ∈ S2. This function has two critical points,

minimum at the south pole and maximum at the north pole. Straightforward calculation confirms that both

are non-degenerate, and thus h is a Morse function.

Fig. 2 illustrates the critical points of the height function on a double torus. There are six critical points: a

minimum, a maximum, and four saddle points.

We now briefly explain how the topology of a compact orientable surface can be linked to the number

of critical points of a Morse function defined on this surface. The topological type of a compact orientable

surface M is in one-to-one correspondence with either of two numerical invariants, the genus, g, and the

Euler characteristics, χ. The former is the number of “handles” one needs to add to a sphere to obtain the

surface; the latter equals the sum of the number of vertices and the number of faces minus the number of

edges of an arbitrary triangulation of M. The two are related by:

χ = 2− 2g. (2)

It is possible to show that, for any Morse function on a compact orientable surface M, the number of

maxima plus the number of minima minus the number of saddle points equals the Euler characteristics

of M. Thus, if a Morse function on M is found, one can compute the genus of M and thus identify the

topological type of M.

4. Scaling and Rigid Motion Invariant Skeletal Graph

In this section we use the distance function to construct skeletal graphs that are invariant with respect to

scaling, translations, and rotations in the three-dimensional space.

4.1. The distance function

A distance function defined on a surface M maps each point p on a surface M to its distance from the

origin, i.e., d : p 7→ ‖p‖, ∀p ∈ M. One can show that for generic surfaces M ⊂ R3, the restriction of the

distance function d : M → R+ on M is a Morse function. We, therefore, use it for constructing skeletal

graphs.

Note that the function d given above is not invariant with respect to translation and scaling. In order to

achieve this invariance, we take the origin at the centroid µ of the surface of interest and scale the surface

accordingly to get:

dµ(p) := ‖p− µ‖,

dµ(p) =dµ(p)− dmin

dmax − dmin. (3)

Proposition 4.1: (Invariance) The distance function d given by Eq. (3) is rotation, translation and scale

invariant.

Proof: The proof follows trivially from the definition of distance function by substitution and simple

algebra.

Proposition 4.1 demonstrates the invariance of the distance function to translation, rotation and scaling under

the condition that the centroid of the manifold must be translated to the origin.

4.2. Equations for the Critical Points of the Distance Function

In order to identify the topological type of a surface, we need to locate the critical points of the distance

function. In this section, we present an analytic solution to the problem.

Assume that the surface M is locally parameterized as a patch, p = (u, v, g(u, v)), and that the centroid is

located at the origin. The distance function d(x, y, z) =√

x2 + y2 + z2 restricted to M reads

d(u, v) = d|M =√

u2 + v2 + g2(u, v).

The partial derivatives of d are

∂d

∂u=

2u + 2ggu

2√

u2 + v2 + g2(u, v),

∂d

∂v=

2v + 2ggv

2√

u2 + v2 + g2(u, v).

At a critical point the partial derivatives of d vanish. Therefore, the critical points of the distance function

on the surface M are the solutions of the system

gu(u, v) +u

g(u, v)= 0,

gv(u, v) +v

g(u, v)= 0.

The solution of these coupled partial differential equations leads to the critical points, which may

then be used to find the genus of a shape via Euler’s characteristic. Although this approach leads to a

numerical solution, complexity lies in one’s ability to find a patch to represent a surface, which may not

be straightforward for complex shapes. In addition, this approach is highly sensitive to noise, due to its

dependence on higher order derivatives. We, therefore, adopt an algorithmic approach for topological analysis,

by finding a topological structure that gives us more than simple topological information, eventually leading

(a) (b) (c)

Fig. 3. Skeletal graph of double torus: (a) Surface analyzed with an evolving sphere; (b) Intersections of the sphere and the surface;(c) Node assignment in the graph.

to a machinery for capturing complete shape information.

4.3. Algorithmic Approach to Topological Analysis

The basic idea for topological analysis of a compact surface by a distance function as a Morse function,

follows from the Morse deformation lemma, which states that a change of topology occurs only at a critical

level of the Morse function. We, therefore, need to study level sets of the distance function, and to identify

the levels where a change of their topology occurs. This requires scanning the surface with level sets of

the distance function, which happen to be concentric spheres. We, therefore, gradually increase the value of

the distance function in K steps from 0 to a sufficiently large value, say b, and find the intersections of the

surface with corresponding spheres of radii r ∈ [0, b]. The parameter K, in other words, acts as the resolution

of the skeletal graph. The larger the K, the better the precision of capturing the structural changes in the

level sets of the distance function. We, then, assign a node to each connected component in an intersection

as illustrated in Fig. 3. Hence, the skeletal graph associated with the distance function may be described as

a quotient space M/ ∼ where the equivalence relation ∼ is defined as follows:

Definition 4.2: (Equivalence) The points p and q are equivalent if they belong to the same connected component of

the level set of the function d. We write this equivalence as p ∼ q .

Recall the definition of the quotient space: M/ ∼:= [p] | p ∈ M, where the equivalence class [p] of the

point p ∈M is the set of all points q ∈M such that q ∼ p.

1) Algorithm: The definition of distance function based topological graph given above yields a construction

algorithm, which is illustrated in Fig. 4. Since the level sets of the distance function are concentric spheres,

their intersections with any shape will always be closed spherical curves. In order to generate a topological

graph, we start with a sphere of the smallest radius which is gradually increased in K steps. In the process,

we monitor its intersections with the shape. This is tantamount to intersecting the shape with K concentric

spheres with radii evenly distributed between the minimum and the maximum distance. We, therefore,

analyze the part of the surface lying between two consecutive spheres for its topological type. Each connected

component in such a region will form a topologically homogenous subsurface 2, and is subsequently specified

with a graph node at its centroid. Connectivity between the nodes is established by looking at the connectivity

of the topologically homogenous subsurfaces at two different levels.

For instance, at a particular instant, we consider three concentric spheres Sk, Sk−1, and Sk−2 as illustrated

in Fig. 4. For the given example, analyzing the shape with these spheres gives two sets of subsurfaces

Mp = M ∩ (bSk−2c ∩ dSk−1e) = M1p, . . . ,M4

p and Mc = M ∩ (bSk−1c ∩ dSke) = M1c , . . . ,M4

c, which

respectively yield two sets of nodes NMpi4i=1 and NMci

4i=1, where b.c and d.e denote exterior and interior

of the corresponding surface, and p and c denote previous and current respectively.

To establish relationships between the two sets of nodes, we look at the mutual connectivity between the

previous and current sets. Note that there is only one topological homogenous subsurface at the current level

that is connected to one at the previous level. For instance, it is only Mc1 that is connected to Mp1 . This

allows us to add an edge segment (NMp1, NMc1

) to the skeletal graph. Other edge segments in this example

are determined similarly, i.e., (NMpi, NMci

)4i=2. The complete algorithm is given in Table I.

Note that we have employed a slightly non-standard terminology while describing the graph. This is due to

the appearance of superfluous nodes (vertices in standard terminology) and edge segments (edges) in the graph,

which will be pruned to get a simplified graph composed of vertices and edges. To explain this, consider

the example of a constructed graph given in Fig. 5(a), with edge segments between various nodes. However,

not all of these nodes correspond to critical points, which demonstrates redundancy present in the learned

graph. We eventually remove this redundancy via graph simplification by merging the nodes (and the edge

segments) which lie on a topologically homogeneous path along the graph. A simplified graph is shown in

Fig. 5(b), where the mergers of redundant nodes have given rise to graph vertices and the redundant edge

segments are combined to form the graph edges. Note that the vertices of the graph in Fig. 5(b) correspond

2Topological homogeneity means no change in topology.

Fig. 4. Skeletonization of a 3D surface M.

TABLE IALGORITHM FOR CONSTRUCTING TOPOLOGICAL GRAPH

• Find the centroid of the surface M as the arithmetic mean of the vertices of the triangulated mesh and place the origin at thecentroid

• Find dmax, the maximum distance from the centroid to M• Given K, define:

rk := kdmax

K, k = 1, . . . , K

• Generate the spheres S1 and S2 with radii R = r1 and R = r2, respectively• Find Mp = M∩ (bS1c ∩ dS2e), where Mp is the part of M that lies between S1 and S2

• Assign a node NMp to each connected component Mp of Mp at the centroid of Mp

• For k = 3 to K

– Generate the “current” sphere Sk with radius R = rk

– Find Mc = M∩ (bSk−1c ∩ dSke). Hence, Mc is the portion of M that lies in between Sk−1 and Sk

– Find the connected components Mc of Mc

– For each Mc ∈ Mc do∗ Assign a node NMc at the centroid of Mc

∗ Find the connected region Mp ∈ Mp such that Mc∪Mp is a single connected region. Add an edge segment between NMc

and NMp

– end for– Mp = Mc

• end for.

to critical points of the distance function, and mark a change in the topology of level curves, while the

number of edges connecting two nodes equals the number of connected components of the level curves of

the distance function between two critical points. On the other hand, the number of cycles reflect the genus

of a given surface. In subsequent discussion, we consider only the simplified graph, and employ the standard

terminology.

(a) (b)

Fig. 5. Simplification of a skeletal graph: (a) A graph learned by the algorithm of Section 4.3.1. ; (b) Simplified graph. Note how atopologically homogeneous sequence of edge segments marked in (a) maps to an edge in (b).

5. Geometric Model

The skeletal representation given in the preceding section describes the topological structure of a surface, but

at the same time suffers from two limitations, both arising from the lack of complete geometric information.

First, it does not allow surface reconstruction. Second, any shape recognition based only on topological

information will be unable to differentiate geometric changes, resulting in low recognition rates. We, therefore,

proceed to capture geometric information, which will then be combined with the topological model for

complete shape representation.

In order to capture geometry, we note that the algorithm given in Section 4.3.1, not only constructs

topological graph but also yields level curves of the distance function. We, therefore, model the evolution

of these curves along various graph edges corresponding to topologically homogeneous parts. Since we

are working with compact surfaces, a non-singular connected component of a level set is always a simple

closed curve. The example given in Fig. 6 illustrates the idea, where a height function is employed only for

illustration purposes, and the above algorithm results in a single edge graph. Clearly, any surface may be

considered as a dense set of level curves. Given a small subset of these curves, the problem is to model

their evolution in a way so as to reconstruct the whole surface. The smaller subset in turn is generated via

a proper choice of graph resolution parameter. The constructed curve model is finally used to learn some

weights, which are assigned to respective edges. We will later demonstrate that a surface reconstructed from

the weighted graph represents the original surface arbitrarily closely.

Fig. 6. Illustration of geometric modeling: (a) A 3D object; (b) Object sampled at levels r1, . . . , rm; (c) Intersections C1, . . . , Cm

embedded in Λ bounding box to compute the distance field; (d) Vectorizing the elements of the distance field yields an n dimensionalvector ρi for each Ci.

5.1. Curve Evolution Model

An acceptable curve modeling framework is the one, which not only preserves topology of individual level

curves, but also the smoothness of a surface. The idea is to map each curve to a higher dimensional space

and to fit a smooth trajectory that passes through these points. Topological preservation is achieved through

distance fields which have been successfully used for capturing topological variations in level set methods

[25], [17], [42], [38], whereas smoothness of the trajectory is enforced through elasticæ. We combine these two

properties by formulating our curve evolution model in the space of distance fields instead of the space of

level curves.

In order to explain the idea, note that level curves of the distance function are spatial curves, each curve

being a subset of a sphere. Spherical coordinates, therefore, map these level curves onto the curves in Λ =

[−π, π] × [−π2 , π

2 ], as illustrated in Fig. 7. Each curve is then view as a point in a high dimensional space,

which allows formulating geometric modeling problem as a curve fitting problem. The goal is then to fit a

trajectory in high dimensional space that passes through these points, while preserving the curve topology

and surface smoothness.

To preserve topology, we employ a signed distance field, which is always bounded, since surfaces of interest

are compact. The signed distance field ρr : Λ → R for a closed curve Cr ∈ Λ corresponding to the r-level curve

θ

φ

(a) (b)

Fig. 7. A level curve of double torus: (a) Curve lies in R3; (b) Projection to D ⊂ R2 via spherical coordinate transformation.

(a) (b)

Fig. 8. Signed distance field: (a) Original curve; (b) Level sets of distance field.

of the distance function, is defined as:

ρr(x, y) =

+D((x, y), Cr) if (x, y) ∈ dCre

−D((x, y), Cr) if (x, y) ∈ bCrc.(4)

where D((x, y), Cr) denotes the Euclidean distance from any point (x, y) ∈ Λ to the set Cr, and bCrc and dCre

represent the interior and exterior of Cr, respectively. Cr, itself, corresponds to the isoset ρ−1r (0), and since it

is associated with a curve at level r, we may think of it as a subset of Λ × R+. An example of the signed

distance field is illustrated in Fig. 8.

In practice, Λ is replaced with an n1×n2 grid, and vectorizing the n = n1n2 elements of the distance field

defined on Λ yields a function ρ : Λ → Rn whose components are (ρ1, . . . , ρn). This is illustrated in Fig. 6,

where a vase is sampled by m horizontal planes at levels r1, . . . , rm to get intersection curves C1, . . . , Cm

shown in Fig. 6(b) which are then embedded in the bounding box Λ as in Fig. 6(c) to compute the distance

field. The vectorization of the corresponding distance fields yields a collection of m points, ρ1, . . . , ρm in Rn

as depicted in Fig. 6(d). Each point is a vectorized distance field and our goal is to model the trajectory that

best fits these points in Rn according to some criterion such that the original vase may be reconstructed from

the level curves.

(a) (b)

Fig. 9. Optimal trajectory between each pair of curve vector: (a) Elasticæ fitted between ρ1 and ρ2 with constraints end point constraintsv1 and v2; (b) Problem transformed to R3, where tangential constraints become w1 and w2 and the displacement between end pointsis mapped to w3.

We adopt a piecewise interpolation approach, where for all i, we fit an arc ρ(i) between the points ρi and

ρi+1 in Rn subject to the constraints:

ρ(i)(ri) = ρi,

ρ(i)′(ri) = vi,

ρ(i)(ri+1) = ρi+1,

ρ(i)′(ri+1) = vi+1.

(5)

where the end point tangent vectors vi and vi+1 are computed from the data, and where the arc ρ(i) is

parameterized by r. The purpose of introducing tangent constraints is to ensure smoothness at joints (end

points), when later we combine arcs for all such consecutive pair of points. The optimal arc, ρ(i)(r), is the one

that minimizes a certain energy functional subject to the stated constraints. We, thus, construct a sequence

of arcs between successive points, which when put together, yields a C1 trajectory from ρ1 to ρm, passing

through ρ2, ρ3, . . . , ρm−1. Note that each arc ρ(i)(r) belongs to an affine subspace of Rn through the point ρi

and spanned by the vectors vi, vi+1, and ρi+1 − ρi.

Finding the optimal arc in Rn with n À 3 is computationally very intensive. This complexity may, however,

be greatly reduced by projecting the problem to R3 by a set of transformations, which are derived by noting

that the arc belongs to an affine subspace of Rn through the point ρi and spanned by vectors vi, vi+1, and

di := ρi+1−ρi [3] (See Fig. 9(a)). These vectors are generically independent but not necessarily orthogonal. We,

therefore, employ Gram–Schmidt orthogonalization to get an orthonormal set of basis vectors bk, k = 1, 2, 3

spanning the above mentioned subspace.

b1 = v1,

b2 =v2 − 〈v2, b1〉b1

‖v2 − 〈v2, b1〉b1‖ , (6)

b3 =d− 〈d, b1〉b1 − 〈d, b2〉b2

‖d− 〈d, b1〉b1 − 〈d, b2〉b2‖ .

This allows us to map the vectors vi, vi+1, di ∈ Rn onto vectors:

w1 = e1,

w2 = 〈vi+1, b1〉e1 + 〈vi+1, b2〉e2 + 〈vi+1, b3〉e3, (7)

w3 = 〈di, b1〉e1 + 〈di, b2〉e2 + 〈di, b3〉e3,

where e1, e2, e3 form the canonical basis for R3 and wk ∈ R3, k = 1, 2, 3. The problem is now reduced to

finding elasticæ α(i) : I = [ri, ri+1] → R3 satisfying α(i)(ri) = 0, α(i)(ri+1) = w3 with starting and ending

tangents α(i)′(ri)

‖α(i)′(ri)‖ = w1 and α(i)′(ri+1)

‖α(i)′(ri+1)‖ = w2, respectively as shown in Fig. 9(b). We choose the optimal

solution to the problem as the one that minimizes the bending energy:

E(α(i)) = (si+1 − si)∫ si+1

si

κ2α(i)(s) ds, (8)

where s is the arc length and κα(i) is the curvature. Since ds = ‖α(i)′(r)‖dr, and the curvature is:

κα(r) =‖α′(r)×α′′(r)‖

‖α′(r)‖3 ,

the bending energy (8) becomes:

E(α(i)) = (ri+1 − ri)∫ ri+1

ri

‖α(i)′(r)×α(i)′′(r)‖‖α(i)′(r)‖2 dr. (9)

To reconstruct the part of the surface corresponding to the interval [ri, ri+1], we need to traverse this

trajectory. Hence, for any r ∈ [ri, ri+1], the corresponding α(i)(r) ∈ R3 is mapped to a unique ρ(i)(r) ∈ Rn:

ρ(i)(r) = ρi + 〈α(i)(r), e1〉b1 + 〈α(i)(r), e2〉b2 + 〈α(i)(r), e3〉b3, (10)

Each ρ(i)(r), therefore, models the vectorized distance fields of the curves for r ∈ [ri, ri+1]. To recover a level

curve from ρ(i)(r), we first need to unvectorize it to get the corresponding distance field which is defined

on Λ, and then to find the zero level set of this distance field. For a complete representation of an entire

topologically homogenous part of a surface, we glue together the corresponding ρ(i)(r) to get a trajectory

ρ(r) ⊂ Rn, r ∈ [r1, rm], which is C1 smooth and is in essence a piecewise curve modeling approach:

ρ(r) = ∪m−1i=1 ρ(i)(r)1 (r ∈ [ri, ri+1]) , (11)

where 1(.) is an indicator function, which assumes a value of unity when the argument is true. The distance

field trajectory ρ, given by Eq. 11, therefore, forms the geometric model that captures the evolution of level

curves. Each graph edge is finally assigned the corresponding model of ρ(r) ⊂ Rn.

5.2. Implementation Issues

We now discuss some implementational issues.

1) Tangent computation: Given a set of m curves, ρ1, . . . , ρm, the starting and ending tangents, vi and

vi+1, i = 1, . . . , m, may be approximately computed as in [3]:

vk =ρk − ρk−1

‖ρk − ρk−1‖, k = i, i + 1. (12)

To avoid a longer vector (of larger norm) overbiasing the direction of the approximate tangent vector, we

use a weighted difference of the two curve vectors,

vk =ηk−1ρk − ηkρk−1

‖ηk−1ρk − ηkρk−1‖, (13)

where ηk = ‖ρk‖; k = i, i + 1.

2) Tangents at the Terminal Points: At the initial and terminal points, i.e., i = 1 and i = m, we find starting

and ending tangents respectively as

v1 =η0ρ1 − η1ρ0

η0‖ρ1 − η1ρ0‖, (14)

vm+1 =ηmρm+1 − ηm+1ρm

‖ηmρm+1 − ηm+1ρm‖, (15)

Fig. 10. Computing tangents.

where we assume that ρ0 and ρm+1 are well defined. This is shown in Fig. 10.

3) Graph resolution: The topo-geometric model affords reconstruction of parts of a surface using the geo-

metric model and their connection using topological information. This in turn suggests that for reconstruction

purposes, we need not to keep track of entire subparts but actually only a smaller subsets of level curves.

The number of level curves is determined by the graph resolution parameter K defined earlier. Due to the

absence of a 2D sampling theorem, we need to adopt a practical approach for selecting the “optimal” subset

of level curves. Since each curve is mapped to a point in a higher dimensional space of distance fields, we

exploit correlations among various curves to rule out the curves, which lie very close to other curves in the

optimal set of curves in high correlation sense. We, therefore, sample a surface very finely (arbitrarily large

K), to get a large number of redundant curves. To find the optimal subset, we start with just two curves, for

which we choose the outermost curves. This corresponds to curves at the maximum and minimum distance

along the corresponding subpart. The necessary inclusion of the outer most curves in the optimal set helps in

avoiding extrapolation. We, then, enlarge this subset by selecting two curves at a time, which are dissimilar to

the curves in the existing subset and adding them to the optimal set. This is repeated by moving inward from

the two outermost curves, until all curves are handled. As a measure of dissimilarity, we use the correlation

of a curve with its immediate neighbor, and regard them dissimilar if this correlation is less than some bound

εB . With an appropriate choice of εB , we can represent a surface arbitrarily closely. The entire procedure is

summarized in Table II:

6. Topo-Geometric Model

In order to combine topology and geometry in a single representation, the high dimensional geometric

trajectory ρ(r) ∈ Rn corresponding to each graph edge is parameterized by a low dimensional weight vector.

The weights, therefore, account for the geometry of the subsurface along that edge. Steps involved are

TABLE IISURFACE SAMPLING AND CURVE PRUNING

• Select a sufficiently large K that is consistent across all surfaces of interest, and sample the given surface accordingly• For each edge in the skeletal graph

– Populate CLIST with the corresponding level curves, which are indexed by the corresponding distances– Let cmin and cmax be the smallest and the largest distance level curves in CLIST– Initialize an empty V LIST– While CLIST is not empty∗ Transfer cmin from CLIST to V LIST , if the correlation between cmin and the cmin transferred to V LIST at the previous

iteration is less than εB , else remove cmin from CLIST . Do the same for cmax– End while

• End for• V LIST comprises optimal surface sampling

discussed in the next section and summarized in Table III.

TABLE IIITOPO-GEOMETRIC MODELING

• Capture topology via distance function skeletal graph• Graph edges are composed of edge segments between each pair of nodes, each of which represents a level curve• Each edge, therefore, contains multiple level curves, one for each node on its edge segments. Each of these level curves is modeled

by α(i) or ρ(i)

• The collection of ρ(i) for an edge forms a C1 smooth trajectory ρ(r), which represents the geometry of the subsurface along thatedge

• One-to-one mapping between α(i) and ρ(i) is exploited to represent the geometry by cascading α(i) to form α(r)• Parametrization coefficients of α(r) are assigned to the edge for complete representation

6.1. Edge Weights

As mentioned in Section 5, the trajectory ρ is obtained by lifting elasticæ segments (or arcs) α(i) ∈ R3

according to Eq. (10) and then gluing them together, which then represents the geometry of the corresponding

edge. In our formulation of TGSM α(i) are glued instead to construct α(r). In order to explain the idea, we

introduce some notation. Let r0 and rK be radii that correspond to two vertices of a skeletal graph, connected

by an edge. The points r1, . . . , rK−1, divide the segment [r0, rK ] into K intervals. For each interval [ri, ri+1],

we obtain an elasticæ segment α(i) in R3 as discussed in Section 5.1. Thus, for each edge, one may construct

K sets of spline coefficients, each for an edge segment along that particular edge. These coefficients carry

the geometric information with desired precision and may be assigned to the edge segments as weights. A

drawback of this approach is that the size of weight vectors grows with the number of edge segments even if

the level curves themselves do not have a significant variation among them. In addition, it leads to a highly

local descriptor falling short of a global edge representation.

Our approach for constructing weight vectors is based on wavelet decomposition [10], [26] of α. Wavelets

have successfully been employed in various signal representation [32], [33], [6] and compression applications

(a)

(b)

Fig. 11. Effect of basis rotation: (a) See how α4 and α5 map to α′4 and α′5 after projection from Rn to R3, resulting in a high curvaturecusp at the node; (b) Rotating the basis at the nodes makes the Frenet frame smoother and the resulting trajectory is first order smooth.

[36], [37], [46], [26] especially computer graphics [30], [14], [47], [40], [41], [20]. This approach exploits

vanishing moments and compact support of wavelets to compress the energy of α in few coefficients, which

eventually yields a simpler and lighter shape representation. This involves constructing a smooth trajectory

α ⊂ R3, by gluing various arcs α(i). These arcs themselves start at the origin of R3, and, therefore, require

translation in R3 to have the end points matched. This, however, introduces cusps at the end points, because

each arc α(i) was computed in its own basis, which are eliminated by rotating them to align end point

tangents, thus, yielding a C1 trajectory in R3 as shown in Fig. 11(b).

Physically, this may be viewed as rotating the arcs of the trajectory ρ(r) ⊂ Rn, so that the resulting smooth

trajectory lies in a three-dimensional affine subspace of Rn. We call this procedure piecewise projection. Recall

that the arc of ρ(i)(r) connecting the ith and (i+1)th node lies in the three-dimensional affine subspace Ei of

Rn spanned by the vectors di, vi, vi+1, and passing through the point ρi. The intersection of subspaces

Ei and Ei+1 contains the vector vi+1 as illustrated in Fig. 12(a). Each consecutive pair of arcs ρ(i)(r),

(a)

(b)

Fig. 12. Piecewise projection: (a) A trajectory in Rn; (b) Its piecewise projection onto R3.

ρ(i+1)(r), therefore, lies in a five-dimensional affine subspace spanned by the vectors vi, vi+1, vi+2, ρi+1−ρi,

ρi+2 − ρi+1, and passing through ρi+1. Applying an orthogonal transformation T that keeps the vector vi+1

intact, we can “align” the subspaces Ei and the image of Ei+1 under this transformation, TEi+1. In other

words, the three-dimensional affine subspaces Ei and TEi+1 are the same. We then perform this “alignment”

subsequently at each node, eventually obtaining a smooth trajectory in a three-dimensional affine subspace

of Rn. The procedure is illustrated in Fig. 12, where the three-dimensional affine subspaces Ei are drawn

as quadrilaterals. Two consecutive affine subspaces have a common line, and a sequence of such subspaces

appears like a folded sheet of paper with folds along common lines. The trajectory ρ is C1-smooth, however,

since it is tangent to the folds. The rotation that leaves the vectors vi intact corresponds to the process of

unfolding the sheet of paper (Fig. 12(b)). The result is a smooth trajectory β ⊂ R3. On the computational

level, this is equivalent to performing rotations of the basis in R3, as described above.

To assign a weight vector to the entire edge, we use wavelet representation of the trajectory β : [a, b] → R3,

β : t 7→ (β1(t), β2(t), β3(t)), where βi(t), i = 1, 2, 3, are the coordinate functions of the trajectory obtained

by the piecewise projection of ρ onto R3. The set of wavelet coefficients together with piecewise projection

parameters form a single weight that is assigned to each homogenous part of the graph. The resulting graph

contains sufficient amount of information needed to reconstruct the original surface with desired precision

and may be used for data storage and surface classification [4], [5].

7. Experimental Results

In this section, we present some skeletonization and geometric modeling results.

7.1. Topological model

Skeletal graphs of 3D objects of various complexity are given in Fig. 13, illustrating topology capturing

capabilities of proposed method. Fig. 14(a) shows that a high resolution graph results in dense nodes along

the edges, which in turn also contain some redundant geometric information. A simplified graph is illustrated

in Fig. 14(b), which helps in identifying topologically homogeneous parts shown color coded in Fig. 14(c).

7.2. Geometric model

Figs. 14(c) and (d) show geometric modeling of a double torus, the surface is sampled with K = 200,

resulting in various level curves along each edge. Trajectories representing geometry of each edge are given

in Fig. 15, along with their curvature profile, and their wavelet decompositions using Daubechies 20 are

given in Fig. 16. It can readily be seen that geometric differences among various subsurfaces manifest in the

form of differences in curvature and wavelet coefficients. Wavelet coefficients, in fact, uniquely define the

corresponding geometry, and therefore, are assigned to respective edges to get a weighted skeletal graph,

which completely and uniquely represents the topology and geometry of the double torus. Reconstructed

surface is given in Fig. 17(b), which closely resembles the original surface.

Further examples of reconstructed objects are given in Figs. 17 and 18, along with comparison between

original and reconstructed surfaces. Results indicate that the reconstructed surfaces lose local detail, while

retaining the global shape characteristics. This is, in fact, in accordance with the geometric formulation, where

a surface is represented by a C1 smooth trajectory. In addition, holes may be encountered in the reconstructed

surface if adequate level curves may not be sampled along an edge. These holes may, however, be filled using

techniques such as [9], [13], [11], [44], which may be easier in this case given the topological information in

the form of the skeletal graph.

Fig. 13. Topological representation via distance function based skeletal graphs.

(a) (b) (c) (d)

Fig. 14. Simplified skeletal graph: (a) Original; (b) After simplification; (c) Object color coded according to simplified graph; (d) Optimallevel curves.

−4

−2

0

2

0

1

2

3

40

0.5

1

1.5

2

2.5

3

xy

z

2

4

6

8

10

12

14

−3−2

−10

1

0

1

2

3

41

1.5

2

2.5

3

3.5

xy

z

2

4

6

8

10

12

14

16

18

20

−3−2

−10

1

0

0.5

1

1.5

23

3.5

4

4.5

5

5.5

6

xy

z

10

20

30

40

50

60

−3−2

−10

1

0

0.5

1

1.5

24.5

5

5.5

6

6.5

7

7.5

xy

z

10

20

30

40

50

60

(a) (b) (c) (d)

Fig. 15. Trajectories for various edges of graph in Fig. 14: (a) Edges a and b; (b) edges c and d; (c) edges e, f , g, and h; (d) edges hand i.

5 10 15 20 25 30 35 40−6

−4

−2

0

2

4

6

n

ψ

5 10 15 20 25 30 35 40−12

−10

−8

−6

−4

−2

0

2

4

n

ψ

5 10 15 20 25 30 35 40−10

−8

−6

−4

−2

0

2

4

n

ψ

5 10 15 20 25 30 35 40−5

−4

−3

−2

−1

0

1

2

3

4

5

n

ψ

5 10 15 20 25 30 35 40−5

0

5

10

15

20

n

ψ

5 10 15 20 25 30 35 40−2

0

2

4

6

8

10

12

14

16

n

ψ

5 10 15 20 25 30 35 40−2

0

2

4

6

8

10

n

ψ

5 10 15 20 25 30 35 40−2

0

2

4

6

8

10

n

ψ

5 10 15 20 25 30 35 40−4

−2

0

2

4

6

8

10

12

n

ψ

5 10 15 20 25 30 35 40−4

−2

0

2

4

6

8

10

12

14

16

n

ψ

5 10 15 20 25 30 35 40−5

0

5

10

15

20

25

30

35

40

n

ψ

5 10 15 20 25 30 35 40−5

0

5

10

15

20

25

30

n

ψFig. 16. Wavelet decomposition: (Top row) x-trajectory, (Middle row) y-trajectory, (Bottom row) z-trajectory; (Left column) edges a andb, (Middle left) edges c and d, (Middle right) edges e, f , g, and h, (Right column) edges h and i.

8. Conclusions

In this paper, we presented a 3D object modeling scheme that captures the topological and geometric

information of an object. Topology and rough geometric picture is captured through an extension of Reeb

graph, where we employed a distance function for object analysis, which inherently achieves rotation,

translation and scale invariance.

To enhance the geometric information, we proposed using elasticæ to model the evolution of level curves

(a) (b) (c) (d)

Fig. 17. Reconstruction: (a) Double torus; (b) Reconstructed double torus; (c) The Twins, (d) Reconstructed the Twins.

Fig. 18. Reconstruction: (Left) original objects; (Middle) reconstructed objects; (Right) comparison.

along various edges along the graph resulting in an evolution trajectory in R3. This trajectory is subsequently

represented by wavelets, whose coefficients end up as edge weights. The eventual weighted skeletal graph

may then be used as a signature of the object, with potential applications for storage and classification of 3D

objects.

Reconstruction results demonstrate the ability of the model to capture global geometric features, at the

cost of local detail. This is a direct consequence of the geometric formulation, that is based on a smooth

trajectory, which, in turn, is learnt from a small set of “dissimilar” level curves. Any small local differences

in level curves may be lost in the sampling and pruning process, the extent of which largely depends on

graph resolution parameter, similarity bound εB , and the smoothness of the trajectory. This may actually lead

to a hierarchical shape representation, where a conservative parameter selection will yield a better surface

approximation. On the other hand, if local detail is not of prime importance, parameters may be relaxed for

a light weight surface representation.

Since the elasticæ model requires at least two level curves, which may not always be the case depending

on the choice of K especially for small protrusions. In such cases, we may end up losing some data, which

may manifest in the form of holes in the reconstructed surface. Given the topological information, it may, in

that case, be readily fixed using hole filling techniques.

In addition to storage application, this model may be used for shape recognition using weighted subgraph

isomorphism, in which case weights would provide distinctive geometric features of a surface. In some cases,

one may employ curvature of the trajectory as distinguishing feature instead of the wavelet-based weights.

REFERENCES

[1] N. Amenta, S. Choi, and R. Kolluri, “Power Crust”, Proceedings of 6th ACM Symposium on Solid Modeling, pp. 249-260, 2001.

[2] S. H. Baloch, H. Krim, I. Kogan, and D. V. Zenkov, “Rotation invariant topology coding of 2D and 3D objects using Morse theory”,

Proc. ICIP 2005.

[3] S. H. Baloch, H. Krim, W. Mio, and A. Srivastav, “3D Curve Interpolation and Object Reconstruction”, Proc. ICIP, 2005.

[4] S. H. Baloch, and H. Krim, “Graph-based 3D object classification”, Proc. SPIE, Computational Imaging IV, C. A. Bouman, E. L. Miller,

I. Pollak, Editors, Vol. 6065, 2006.

[5] S. H. Baloch, and H. Krim, “3D shape recognition via topological-geometric skeletal graph editing”, In preparation.

[6] M. Barrat, and O. Lepetit, “Recursive wavelet transform for 2D signals”, GMIP, Vol. 56, No. 1, pp. 106–108, Jan. 1994.

[7] M. D. Carmo, Differential Geometry of Curves and Surfaces, Prentice-Hall, New Jersey, 1976.

[8] H. Carr, J. Snoeyink, and U. Axen, “Computing contour trees in all dimensions”, Technical Report TR-99-09, Univ. of British Columbia,

Dept. of Computer Science, August 1999.

[9] B. Curless, and M. Levoy, “A volumetric method for building complex models from range images”, Proc. SIGGRAPH96, ACM, 1996.

[10] I. Daubechies, Ten Lectures on Wavelets, SIAM, 1992.

[11] J. Davis, S. R. Marschner, M. Garr, and M. Levoy, “Filling holes in complex surfaces using volumetric diffusion”, First International

Symposium on 3D Data Processing, Visualization, and Transmission , 2002 .

[12] T. K. Dey, and W. Zhao, “Approximating the Medial Axis from the Voronoi Diagram with a Convergence Guarantee”, Algorithmica,

Vol. 38, pp. 179–200, 2003.

[13] T. Dey, and S. Goswami, “Tight cocone: A water-tight surface reconstructor”, Proc. 8th ACM Symposium on Solid Modeling and

Applications, 2003.

[14] A. Fournier, Editor. “Wavelets and their applications in computer graphics”, ACM SIGGRAPH’95, Course Notes, 1995.

[15] A. B. Hamza, and H. Krim, “Topological modeling of illuminated surfaces using Reeb graphs”, Proc. ICIP, Vol. 1, pp. 769–772,

September 2002.

[16] A. B. Hamza, and H. Krim, “Geodesic object representation and recognition”, Proc. DGCI, pp. 378–387, November 2003.

[17] X. Han, C. Xu, and J. L. Prince, “A topology preserving deformable model using level sets”, CVPR’01, pp. II:765-770, 2001.

[18] M. Hilaga, Y. Shinagawa, T. Kohmura, and T. L. Kunii, “Topology Matching for Fully Automatic Similarity Estimation of 3D

Shapes”, Proc. SIGGRAPH, pp. 203–212, August 2001.

[19] C. Hoffman, “How to construct the skeleton of CSG objects”, The Mathematics of Surfaces, IV, A. Bowyer and J. Davenport, Eds.,

Oxford University Press, 1990.

[20] I. Ihm, and S. Park, “Wavelet-based 3D compression scheme for interactive visualization of very large volume data”, Computer

Graphics Forum, Vol. 18, No. 1, 1999.

[21] S. Joshi, S., Pizer, P. T. Fletcher, A. Thall, and G. Tracton, “Multi-scale 3-D deformable model segmentation based on medial

description”, Information Processing in Medical Imaging, Lecture Notes in Computer Science, Vol. 2082, pp. 6477, Springer, 2001.

[22] M. Kazhdan, B. Chazelle, D. Dobkin, A. Finkelstein, and Thomas Funkhouser, “A Reflective Symmetry Descriptor”, European

Conference on Computer Vision, May 2002.

[23] M. Kazhdan, and T. Funkhouser, “Harmonic 3D Shape Matching”, SIGGRAPH 2002 Technical Sketches, pp. 191, July, 2002.

[24] F. Lazarus, and A. Verroust, “Level set diagrams of polyheral objects”, Proc. Fifth ACM symposium on Solid Modeling and Applications,

pp. 130–140, June 1999.

[25] R. Malladi, J. A. Sethian, and B. Vemuri, “Shape modeling with front propagation: a level set approach”, IEEE Trans. on Pattern

Analysis and Machine Intelligence, Vol. 17, No. 2, Feb. 1995.

[26] S. Mallat, A Wavelet Tour of Signal Processing, 1999.

[27] Y. Matsumoto, An Introduction to Morse Theory, American Mathematical Society, 1997.

[28] W. Mio, A. Srivastava, and E. Klassen, Interpolations with elasticæ in Euclidean spaces, To appear in Quarterly of Applied Mathematics.

[29] J. Milnor, Morse Theory, Princeton University Press, Princeton, NJ, 1963.

[30] S. Muraki, “Volume data and wavelet transforms”, IEEE Computer Graphics and Applications, Vol. 13, No. 4, pp. 50–56, 1993.

[31] R. Osada, T. Funkhouser, B. Chazelle, and D. Dobkin, “Shape Distributions”, ACM Transactions on Graphics, 21(4), pp. 807–832,

October 2002.

[32] A. P. Pentland, “Surface interpolation using wavelets”, ECCV’92 pp. 615–619, 1992.

[33] A. P. Pentland, “Interpolation using wavelet bases”, PAMI, Vol. 16, No. 4, pp. 410–414, April 1994.

[34] S. M. Pizer, D. S. Fritsch, P. Yushkevich, V. Johnson, and E. L. Chaney, “Segmentation, registration, and measurement of shape via

image object shape”. IEEE Transactions on Medical Imaging, Vol. 18, pp. 851865, 1999.

[35] G. Reeb, “Sur les points singuliers d’une forme de pfaff complement integrable ou d’une fonction numerique”, Comptes Rendus de

L’Academie ses Seances , Paris, 222, pp. 847–849, 1946.

[36] A. Said, and W. Pearlman, “An image multiresolution representation for lossless and lossy compression”, IEEE Transactions on Image

Processing, Vol. 5, pp. 1303–1310, September 1996.

[37] K. Sayood, Introduction to Data Compression, Morgan Kaufmann Publishers Inc., 1996.

[38] F. Segonne, J. P. Pons, W. E. L. Grimson, and B. Fischl, “Active Contours Under Topology Control Genus Preserving Level Sets”,

CVBIA’05, pp. 135–145, 2005.

[39] Y. Shinagawa, and T. L. Kunii, “Constructing a Reeb graph automatically from cross sections”, IEEE Computer Graphics and

Applications, 11(6), pp. 44–51, November 1991.

[40] P. Schroder, and W. Sweldens, Editors, “Wavelets in Computer Graphics”, ACM SIGGRAPH’96, Course Notes, 1996.

[41] E. Stollnitz, T. DeRose, and D. Salesin, Wavelets for Computer Graphics: Theory and Applications, Morgan Kauffmann Publishers Inc.,

1996.

[42] A. Tsai, A. J. Yezzi, W. M. Wells III, C. Tempany, D. Tucker, A. Fan, W. E. L. Grimson, and A. S. Willsky”, “A shape-based approach

to the segmentation of medical imagery using level sets”, MedImg, Vol. 22, No. 2, pp. 137–154, 2003.

[43] T. Tung, F. Schmitt, “Augmented Reeb Graphs for Content-Based Retrieval of 3D Mesh Models”, Shape Modeling International, pp.

157-166, 2004.

[44] M. Varnuska, J. Parus, and I. Kolingerova, “Simple holes triangulation in surface reconstruction”, Proceedings of Algoritmy, pp.

280–289, 2005.

[45] P. Vermeer, Medial axis transform to boundary representation conversion, Ph.D. Thesis, Purdue University, 1994.

[46] J. Wang, and K. Huang, “Medical image compression by using three-dimensional wavelet transformation”, MedImg, Vol. 15, No. 4,

pp. 547–554, August 1996.

[47] B. L. Yeo, and B. Liu, “Volume rendering of DCT-based compressed 3D scalar data”, IEEE Transactions on Visualization and Computer

Graphics, Vol. 1, No. 1, pp. 29–43, March 1995.