+ All Categories
Home > Documents > A path-straightening method for finding geodesics in shape spaces of closed curves in R3

A path-straightening method for finding geodesics in shape spaces of closed curves in R3

Date post: 20-Nov-2023
Category:
Upload: fsu
View: 0 times
Download: 0 times
Share this document with a friend
18
A PATH-STRAIGHTENING METHOD FOR FINDING GEODESICS ON SHAPES SPACES OF CLOSED CURVES IN R 3 ERIC KLASSEN * AND ANUJ SRIVASTAVA Abstract. In order to analyze shapes of continuous curves in R 3 , we parameterize them by arc- length and represent them as curves on a unit two-sphere. We identify the set denoting the closed curves, and study its differential geometry. To compute geodesics between any two such curves, we connect them with an arbitrary path, and then iteratively straighten this path using the gradient of an energy associated with this path. The limiting path of this path-straightening approach is a geodesic. Next, we consider the shape space of these curves by removing shape-preserving transformations such as rotation and re-parametrization. To construct a geodesic in this shape space, we seek the shortest geodesic between the all possible transformations of the two end shapes; this is accomplished using an iterative minimization. We provide step-by-step descriptions of all the procedures, and demonstrate them with examples. Key words. geodesic, shape analysis, 3D curves, path-straightening, AMS subject classifications. 53-04, 53A04, 58E10, 53C22, 55P55 1. Introduction. In recent years, there has been an increasing interest in ana- lyzing shapes of objects. This research is motivated in part by the fact that shapes of objects form an important feature for characterizing them, with applications in image-based recognition, tracking, and classification of objects. For instance, shapes of boundaries of objects in images can be used to short-list possible objects present in those images. Also, shape has been used as a feature in image retrieval [5, 13, 3, 6]. Image-based shape analysis is often restricted to shapes of planar curves [19, 7, 10]; these curves can come, for example, from the boundaries of objects in 2D images. Shapes have also been used for medical diagnosis using non-invasive imaging tech- niques. Shapes, or growths of shapes, are often used to determine normality of anatomical parts in computational anatomy [4]. A fundamental tool, central to any differential-geometric analysis of shapes, is the construction of a geodesic path be- tween any two given shapes in a pre-determined shape space. This tool can lead to a full statistical analysis – computation of means, covariances, tangent-space probability models – on shape spaces. As an example, the construction of geodesics and their use in statistical analysis of shapes of 2D curves is demonstrated in [18]. Extending this framework to other representations of shapes, such as 3D shapes, or shapes of surfaces in R 3 , etc, will require computational tools for constructing geodesics in appropriate shape spaces. Although analysis of planar curves is useful in certain image understanding prob- lems, a more general issue is to study and compare shapes of objects in 3D. Since most objects of interest are 3D objects, and 3D observations of objects using laser scans are becoming readily available, an important goal is to analyze shapes of two- dimensional surfaces in R 3 . In particular, given surfaces of two objects, the task is to quantify differences between their shapes. A differential-geometric analysis of shapes of surfaces, akin to the analysis of planar curves discussed above, remains a difficult and an unsolved problem. Therefore, several approximate methods have been pursued over the last few years. For example, the papers [15, 14] use histograms of distances on surfaces to represent and compare objects. Another approximate approach that * Department of Mathematics, Florida State University, Tallahassee, FL 32306. Department of Statistics, Florida State University, Tallahassee, FL 32306. 1
Transcript

A PATH-STRAIGHTENING METHOD FOR FINDING GEODESICSON SHAPES SPACES OF CLOSED CURVES IN R3

ERIC KLASSEN∗ AND ANUJ SRIVASTAVA†

Abstract. In order to analyze shapes of continuous curves in R3, we parameterize them by arc-length and represent them as curves on a unit two-sphere. We identify the set denoting the closedcurves, and study its differential geometry. To compute geodesics between any two such curves, weconnect them with an arbitrary path, and then iteratively straighten this path using the gradient of anenergy associated with this path. The limiting path of this path-straightening approach is a geodesic.Next, we consider the shape space of these curves by removing shape-preserving transformations suchas rotation and re-parametrization. To construct a geodesic in this shape space, we seek the shortestgeodesic between the all possible transformations of the two end shapes; this is accomplished using aniterative minimization. We provide step-by-step descriptions of all the procedures, and demonstratethem with examples.

Key words. geodesic, shape analysis, 3D curves, path-straightening,

AMS subject classifications. 53-04, 53A04, 58E10, 53C22, 55P55

1. Introduction. In recent years, there has been an increasing interest in ana-lyzing shapes of objects. This research is motivated in part by the fact that shapesof objects form an important feature for characterizing them, with applications inimage-based recognition, tracking, and classification of objects. For instance, shapesof boundaries of objects in images can be used to short-list possible objects present inthose images. Also, shape has been used as a feature in image retrieval [5, 13, 3, 6].Image-based shape analysis is often restricted to shapes of planar curves [19, 7, 10];these curves can come, for example, from the boundaries of objects in 2D images.Shapes have also been used for medical diagnosis using non-invasive imaging tech-niques. Shapes, or growths of shapes, are often used to determine normality ofanatomical parts in computational anatomy [4]. A fundamental tool, central to anydifferential-geometric analysis of shapes, is the construction of a geodesic path be-tween any two given shapes in a pre-determined shape space. This tool can lead to afull statistical analysis – computation of means, covariances, tangent-space probabilitymodels – on shape spaces. As an example, the construction of geodesics and their usein statistical analysis of shapes of 2D curves is demonstrated in [18]. Extending thisframework to other representations of shapes, such as 3D shapes, or shapes of surfacesin R3, etc, will require computational tools for constructing geodesics in appropriateshape spaces.

Although analysis of planar curves is useful in certain image understanding prob-lems, a more general issue is to study and compare shapes of objects in 3D. Sincemost objects of interest are 3D objects, and 3D observations of objects using laserscans are becoming readily available, an important goal is to analyze shapes of two-dimensional surfaces in R3. In particular, given surfaces of two objects, the task is toquantify differences between their shapes. A differential-geometric analysis of shapesof surfaces, akin to the analysis of planar curves discussed above, remains a difficultand an unsolved problem. Therefore, several approximate methods have been pursuedover the last few years. For example, the papers [15, 14] use histograms of distanceson surfaces to represent and compare objects. Another approximate approach that

∗Department of Mathematics, Florida State University, Tallahassee, FL 32306.†Department of Statistics, Florida State University, Tallahassee, FL 32306.

1

2 E. Klassen and A. Srivastava

Compare

Compare

Fig. 1.1. Comparison of two surfaces in R3 by comparing shapes of corresponding level curves.The level curves are defined using geodesic distances from a reference point.

has been suggested in recent years is to represent surfaces with a finite number ofcurves, and then compare shapes of surfaces by comparing shapes of correspondingcurves [17]. These curves are typically level curves of a smooth function defined onthe these surfaces. For example, as shown in Figure 1.1, we can choose a salient pointon each surface, define a smooth function as a distance from that point, and studylevel curves of that function. Since these level curves can potentially be 3D curves,this approach requires a technique for comparing shapes of closed curves in R3. How-ever, past research on geometric treatment of shapes of curves was restricted mainlyto planar curves, and requires extension for 3D case.

In this paper, we present a differential-geometric technique for constructing geodesicpaths between shapes of two arbitrary closed, continuous curves in R3. Given twocurves p1 and p2, our basic approach is to: (i) define a shape space of all param-eterized, closed curves in R3, (ii) construct an initial path connecting p1 and p2 inthis space, and (iii) iteratively straighten this path until it becomes a geodesic path.This iteration is performed to minimize an energy associated with a path, and flowsthat minimize that energy are called path-straightening flows [8, 9], and more recentlyin [2, 12]. This methodology is quite different from the approach used in [7] wherea shooting method was used to find geodesic paths between shapes. In a shootingmethod, one searches for a tangent direction at the first shape such that a geodesicshot in that direction reaches the target shape in a unit time. This search is basedon adjusting the shooting direction in such a way that the miss function, defined asan extrinsic distance between the shape reached and the target shape, goes to zero.Intuitively, a path-straightening flow is expected to perform better than a shootingmethod for the following reasons:

1. While shooting, in principle, one can get stuck in a local minima of themiss function that is bounded away from zero. In other words, the resultinggeodesic may not reach the target shape. In the path-straightening method,by construction, the geodesic always reaches the target shape. We admit thatalthough both methods result in geodesics, they may not necessarily result inthe shortest geodesic between the given shapes.

2. Since the shooting is performed using numerical techniques, i.e. using numer-ical gradient of the miss function, these iterations can become unstable if themanifold is sharply curved near the target shape. A path-straightening ap-

SHAPES OF 3D CURVES 3

proach, on the other hand, is numerically more stable as it uses the gradientof path length.

3. The method proposed here can be easily extended to finding geodesics be-tween closed curves in Rn.

We will develop a two step path-straightening approach to compute geodesics. Inthe first step, we simply consider C, the space of all closed curves in R3, and derivealgorithms for computing geodesics in C. Here we do not take into account the shapesof these curves, and the fact that many elements of C have the same shape. In thesecond step, we define a shape space S, as a quotient space of C, and derive algorithmsfor computing geodesics between elements of S. Here we take into account the factthat curves that differ by shape-preserving transformations have identical shape.

The rest of this paper is organized as follows. In Section 2, we present a repre-sentation of closed curves, and analyze the geometry of C, the space of such curves.Section 3 presents a formal discussion on the construction of path-straightening flowson C, followed by algorithms for computer implementations. This section also presentssome illustrative examples on computing geodesic paths in C. Focusing on shapes ofcurves, Section 4 extends the construction of geodesics to the shape space S. Thepaper ends with a summary in Section 5.

2. Geometry of Shapes and Shape Spaces. In this section we introduce ageometric representation of curves that underlies our construction of geodesics andthe resulting analysis of shapes.

2.1. Representations of Closed Curves. Let p : [0, 2π) 7→ R3 be a curve oflength 2π, parameterized by the arc length. In this paper we will assume p to be apiecewise-C1 curve. For v(s) ≡ p(s) ∈ R3, we have ‖v(s)‖ = 1 for all s ∈ [0, 2π), inview of the arc-length parametrization. Here ‖ · ‖ denotes the Euclidean norm in R3.The function v is called the direction function of p and itself can be viewed as a curveon the unit sphere S2, i.e. v : [0, 2π) 7→ S2. Shown in Figure 2.1(a) is an illustrationof this idea where a closed curve p on R3 is represented by a curve v in S2. We willuse the direction function v to represent the curve p . Let P be the set of all suchdirection functions, P = {v|v : [0, 2π) 7→ S2}. Since we are interested in closed curves,we establish that set as follows. Define a map φ : P 7→ R3 by φ(v) =

∫ 2π

0v(s)ds, and

define

C = φ−1(0) ≡ {v ∈ P|φ(v) = 0} ⊂ P .(2.1)

Here 0 denotes the origin in R3. It is easy to see that C is the set of all closed curvesin R3. In the next section we will study the geometry of C in order to develop toolsfor shape analysis.Remark: The restriction to arc-length parametrization for the curve p can be relaxedby allowing for automorphisms on [0, 2π) [11]. For any such automorphism φ, thecurve p(φ) is also a closed curve in R3. The group of such automorphisms acts onthe set of closed curves and helps in matching curves, i.e. in registering points acrossany two given curves. Eventually, for finding geodesics between shapes, this group ofautomorphisms is removed along with other shape-preserving transformations.

First, we introduce some notation for studying geometry of S2. Recall thatgeodesics on S2 are great circles, and there are analytical expressions for comput-ing them. The geodesic on S2 starting at a point x ∈ S2 in the tangent direction

4 E. Klassen and A. Srivastava

(a) (b)

Fig. 2.1. (a): A closed curve in R3 is denoted by a curve on S2. (b): For a curve v on S2, fis vector field to S2 on v.

a ∈ Tx(S2) is defined as follows:

χt(x; a) = cos(t‖a‖)x +sin(t‖a‖)‖a‖ a .(2.2)

χt will be used frequently in this paper to denote geodesics, or great circles, on S2.Another item that we need relates to the rotation of tangent vectors on S2. Let x1

and x2 be two elements in S2, and let a be a tangent to S2 at x. Then, a vectordefined as:

π(a; x1, x2) ={

a− (2(a · x2)/(‖x1 + x2‖2))(x1 + x2) if x1 6= −x2

−a if x1 = −x2(2.3)

is the rotation of a to x2 so that it is now tangent to S2 at x2. Here, (a · b) denotesthe Euclidean inner product of a, b ∈ R3. π(·, x1, x2) : Tx1(S1) 7→ Tx2(S1) is a rotationmap that takes a tangent vector from x1 to x2; in differential geometry this is alsocalled the parallel transport along the geodesic from x1 to x2.

2.2. Differential Geometry of C. To develop a geometric framework for an-alyzing elements of C, we would like understand its tangent bundle and to impose aRiemannian structure on it. First, we focus on the set P. On any point v ∈ P, whatform does a tangent f to P take? This tangent f can be derived by constructing aone-parameter flow passing through v, and by computing its velocity at v. Since v isa curve on S2, the tangent f can also be viewed as a field of vectors tangent to S2

along v. This idea is illustrated pictorially in Figure 2.1(b). We will interchangeablyrefer to f as a tangent vector on P and a tangent vector field on points along v ⊂ S2.The space of all such tangent vectors, denoted by Tv(P), is given by:

Tv(P) = {f |f : [0, 2π) 7→ R3, ∀s, (f(s) · v(s)) = 0} .

f(s) and v(s) are vectors in R3. Let f ∈ Tv(P) be a vector field on v such that it isalso tangent to C. It can be shown that f satisfies

∫f(s)ds = 0. That is,

Tv(C) = {f |f : [0, 2π) 7→ R3, (f(s) · v(s)) = 0,

∫ 2π

0

f(s)ds = 0 ∀s} .(2.4)

To see that, let α(t) be a path in C such that α(0) = v. Since α(t) ∈ C, we have∫ 2π

0α(t)(s)ds = 0, for all t. Taking the derivative with respect to t and setting t = 0,

we get∫ 2π

0α(0)(s)ds = 0. For every tangent vector f at v there is a corresponding

SHAPES OF 3D CURVES 5

flow α, such that f = α(0), and therefore, this property is satisfied by all tangentvectors.

Riemannian Structure: To impose a Riemannian structure on P, we will assumethe following inner product on Tv(P): for f, g ∈ Tv(P), 〈f, g〉 =

∫ 2π

0(f(s) · g(s))ds.

Consider the linear mapping dφv : Tv(P) 7→ R3 defined by dφv(f) =∫ 2π

0f(s)ds.

Similar to the argument in [12], it can be shown that dφv is surjective, as long asv([0, 2π)) is not contained in a one-dimensional subspace of R3, and therefore C isa co-dimension three submanifold of P. The adjoint of dφv, dφ∗v : R3 → Tv(P)is the unique linear transformation with the property that for all f ∈ Tv(P) andx ∈ R3, (dφv(f) · x) = 〈f, dφ∗v(x)〉. This adjoint is given by dφ∗v(x) ≡ f such thatf(s) = x − (x · v(s))v(s). In other words, dφ∗v takes a vector x in R3 and forms atangent vector-field on v by making x perpendicular to v(s) for all s (or by projectingx onto the tangent space Tv(s)(S2) for each s). This formula makes explicit the roleof v in definition of dφ∗v.

Proposition 2.1. The range space of dφ∗v is the orthogonal complement of thenull space of dφv:

{f ∈ Tv(P)|f = dφ∗v(x) for some x ∈ R3} = {f ∈ Tv(P)|dφv(f) = 0}⊥ .(2.5)

Proof:If f is in range space of dφ∗v, i.e. there exists a x such that dφ∗v(x) =f . Then, for any g in the null space of dφv, we have 〈f, g〉 =〈dφ∗v(x), g〉 = (x · dφv(g)) = 0. That is, f is perpendicular to thenull space of φv. The proposition follows from the fact that the di-mension of range space of dφ∗v is equal to the co-dimension of the nullspace of dφv.

Q.E.D.Let e1, e2, and e3 be the canonical basis of R3, and define Ev,i = dφ∗v(ei) ∈ Tv(P) fori = 1, 2, 3. The functions Ev,i, i = 1, 2, 3 form a basis of the range space of dφ∗v. UsingEqn. 2.5, these three functions also form a basis for the orthogonal complement ofnull space of dφv.

With this framework, we develop tools for projecting a curve v ∈ P into C. Also,we derive a mechanism for projecting f ∈ Tv(P) into Tv(C).

1. Projection of v into C: If v /∈ C, i.e. it denotes an open curve, we wantto close it by projecting it into C. We perform this iteratively by movingperpendicular to the level sets of the map φ in such a way that φ of theresulting point goes towards origin in R3. In other words, we seek a direction gin Tv(P) such that a perturbation of v in that direction results in φ(v+g) = 0,up to first order. Since g is perpendicular to the level set of φ at v, it isorthogonal to the null space of dφv, and by Eqn. 2.5, it is in the range spaceof dφ∗v. Therefore, g can be written as a linear combination of the functionsEi,v, i = 1, 2, 3. Using Taylor’s approximation, we get

φ(v + g) ≈ φ(v) + dφv(g) = 0 ⇒ g = −A−1v φ(v) ,

where Av ∈ R3×3 is the Jacobian of dφv restricted to the space orthogonal tothe null space of dφv. The Jacobian Av can also be specified using the samebasis functions. An algorithm to project any v ∈ P onto C is given next.

6 E. Klassen and A. Srivastava

−1.5−1

−0.50

00.5

11.5

2

−1

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

−1.5−1

−0.50

00.5

11.5

22.5

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

−3

−2

−1

0−1.5−1−0.500.51

0

0.5

1

1.5

2

Fig. 2.2. Projection of open curves into C using Subroutine 1. The plots show open curves(plane lines) and their projections (marked lines) in R3.

Subroutine 1 (Projection into C).while norm(φ(v)) > ε

for i = 1 : 3Ei,v = dφ∗v(ei)Av(:, i) = dφv(Ei,v)

endb = −A−1

v φ(v)g = b(1)E1,v + b(2)E2,v + b(3)E3,v

for all s in [0, 2π)v(:, s) = χ1(v(s); g(s)) (χ is defined in Eqn. 2.2)

end send

Shown in Figure 2.2 are three examples of this projection. In the top row, weshow three open curves in P (drawn in plane lines) and their projections intoC (drawn in marked lines). The bottom row shows the corresponding curveson S2.

2. Projecting f ∈ Tv(P) into the subspace Tv(C). We will assume thatv ∈ C. For a vector field f ∈ Tv(P), we have that (f(s) · v(s)) = 0. However,∫ 2π

0f(s)ds may not be zero, and we need to ensure that for it to be an element

of Tv(C). This can be achieved using a one-time projection:Subroutine 2 (Projection from Tv(P) into Tv(C)).

for i = 1 : 3Ei,v = dφ∗v(ei)Av(:, i) = dφv(Ei,v)

endb = −A−1

v φ(v)g = b(1)E1,v + b(2)E2,v + b(3)E3,v

for all s in [0, 2π)f(:, s) = f(s)− g(s)

end s

3. Path-Straightening Flows in C. Now we present our approach for con-structing geodesic flows on C. This approach is based on the use of path-straighteningflows. That is, we connect the two given curves by an arbitrary path in C, and theniteratively straighten it, or shorten it, using a gradient approach until we reach a fixed

SHAPES OF 3D CURVES 7

α(t)

α(0)

α(1)H

t(α(1)−α(0))

(a) (b)

Fig. 3.1. (a) A path α of curves on a unit sphere. For any time t ∈ [0, 1], α(t)(s) is a pointon S2, and q(t)(s) is tangent to S2 at that point. By change of t one moves along the dotted line,and by change of s one moves along the solid lines.

point. The fixed point of this iterative procedure becomes the desired geodesic path.In the first subsection we present formal mathematical ideas, followed by a discussionof computer implementations in the following subsection.

3.1. Formal Ideas. For any two closed curves, denoted by v0 and v1 in C, weare interested in finding a geodesic path between them in C. Our approach is to startwith any path α(t) connecting v0 and v1. That is α : [0, 1] 7→ C such that α(0) = v0

and α(1) = v1. (A pictorial example of a path α on C is shown in Figure 3.1(a)).Then, we iteratively “straighten” α until it achieves a local minimum of the energy:

E(α) ≡ 12

∫ 1

0

(dα

dt(t).

dt(t))dt ,(3.1)

over all paths from v0 to v1. It will be shown later that a critical point of E is ageodesic on C. However, it is possible that there are multiple geodesics between agiven pair v0 and v1, and a local minimum of E may not correspond to the shortestof all geodesics. Therefore, this approach has the limitation that it finds a geodesicbetween a given pair but may not reach the shortest geodesic. One can use certainstochastic techniques to increase the probability of reaching the shortest geodesic butthese are not explored in this paper.

Let H be the set of all paths in C, parameterized by t ∈ [0, 1], and H0 be thesubset of H of paths that start at v0 and end at v1. The tangent spaces of H and H0

are:

Tα(H) = {w| ∀t ∈ [0, 1], w(t) ∈ Tα(t)(C)} ,

where Tα(t)(C) is as specified in Eqn. 2.4, and

Tα(H0) = {w ∈ Tα(H)|w(0) = w(1) = 0} .

To understand this space, consider a path α ∈ H0 and an element w ∈ Tα(H0). Recallthat for any t, α(t) is also a curve on S2, which in turn corresponds to a closed curvein R3. Now, w is path of vector fields such that for any t ∈ [0, 1], w(t) is a tangentvector field along the curve α(t) on S2. That is, w(t)(s) is a vector tangent to S2

at the point α(t)(s). Furthermore,∫ 2π

0w(t)(s)ds = 0 for all t ∈ [0, 1]. Our study

of paths on H requires the use of covariant derivatives and integrals of vector fieldsalong these paths.

8 E. Klassen and A. Srivastava

Definition 3.1 (Covariant Derivative, [1](pg. 309)). For a given path α ∈ Hand a vector field w ∈ Tα(H), one defines the covariant derivative of w along α to bethe vector field obtained by projecting dw

dt (t) onto the tangent space Tα(t)(C), for all t.It is denoted by Dw

dt . Similarly, a vector field u ∈ Tα(H) is called a covariant integralof w along α if the covariant derivative of u is w, i.e. Du

dt = w.To make H a Riemannian manifold, we use the Palais metric [16]: for w1, w2 ∈

Tα(H),

〈〈w1, w2〉〉 = 〈w1(0), w2(0)〉+∫ 1

0

⟨Dw1

dt(t),

Dw2

dt(t)

⟩dt ,

where Dw/dt denotes the vector field along α which is the covariant derivative of w.With respect to the Palais metric, Tα(H0) is a closed linear subspace of Tα(H), andH0 is a closed subspace of H.

Our goal is to find the minimizer of E in H0, and we will use a gradient flow tominimize E. Therefore, we wish to find the gradient of E in Tα(H0). To do this, wefirst find the gradient of E in Tα(H) and then project it into Tα(H0).

Theorem 3.2. The gradient vector of E in Tα(H) is given by a vector field qsuch that Dq/dt = dα/dt and q(0) = 0. In other words, q is the covariant integral ofdα/dt with zero initial value at t = 0.Proof:

Define a variation of α to be a smooth function h : [0, 1]×(−ε, ε) → Hsuch that h(t, 0) = α(t) for all t ∈ [0, 1]. The variational vector fieldcorresponding to h is given by v(t) = hτ (t, 0) where τ denotes thesecond argument in h. Thinking of h as a path of curves in H, wedefine E(τ) as the energy of the curve obtained by restricting h to[0, 1]× {τ}. That is,

E(τ) =12

∫ 1

0

〈ht(t, τ), ht(t, τ)〉 dt .

We now compute,

E′(0) =∫ 1

0

⟨Dht

dτ(t, 0), ht(t, 0)

⟩dt =

∫ 1

0

⟨Dhτ

dt(t, 0), ht(t, 0)

⟩dt =

∫ 1

0

⟨Dv

dt(t),

dt(t)

⟩dt ,

since ht(t, 0) is simply dα/dt(t). Now, the gradient of E should be avector field q along α such that E′(0) = 〈〈v, q〉〉. That is,

E′(0) = 〈v(0), q(0)〉+∫ 1

0

⟨Dv

dt,Dq

dt

⟩dt .

From this expression it is clear that q must satisfy the initial conditionq(0) = 0 and the ordinary (covariant) differential equation Dq

dt = dαdt .

Q.E.D.Given dα/dt, the vector field q is obtained using numerical techniques for covariantintegration, as described in the next section. Next, we want to project a tangent fieldq ∈ Tα(H) to the space Tα(H0).

Definition 3.3 (Covariantly Constant). A vector field w along the path α iscalled covariantly constant if Dw/dt is zero at all points along α.

Definition 3.4 (Geodesic). A path is called a geodesic if its velocity vector fieldis covariantly constant. That is, α is a geodesic if D

dt (dαdt ) = 0 for all t.

SHAPES OF 3D CURVES 9

Definition 3.5 (Covariantly Linear). A vector field w along the path α is calledcovariantly linear if Dw/dt is a covariantly constant vector field.

Lemma 3.6. The orthogonal complement of Tα(H0) in Tα(H) is the space of allcovariantly linear vector fields w along α.Proof:

Suppose v ∈ Tα(H0) (i.e. v(0) = v(1) = 0), and w ∈ Tα(H) iscovariantly linear. Then, using (covariant) integration by parts:

〈〈v, w〉〉 =∫ 1

0

⟨Dv(t)

dt,Dw(t)

dt

⟩dt =

⟨v,

Dw(t)dt

⟩1

0

−∫ 1

0

⟨v(t),

D

dt

(Dw(t)

dt

)⟩dt = 0 .

Q.E.D.Hence, Tα(H0) is orthogonal to the space of covariantly linear vec-tor fields along α in Tα(H). This proves that the space of covari-antly linear vector fields is contained in the orthogonal complementof Tα(H0). To prove that these two spaces are equal, observe firstthat given any choice of tangent vectors at α(0) and α(1), there is aunique covariantly linear vector field interpolating them. It followsthat every vector field along α can be uniquely express as the sumof a covariantly linear vector field and a vector field in Tα(H0). Thelemma then follows.

Definition 3.7 (Parallel Translation). A vector field u is called the forwardparallel translation of a tangent vector w ∈ Tα(0)(C), along α, if and only if u(0) = w

and Du(t)dt = 0 for all t ∈ [0, 1].

Similarly, u is called the backward parallel translation of a tangent vector w ∈Tα(1)(C), along α, when for α(t) ≡ α(1− t), u is the forward parallel translation of walong α. It must be noted that parallel translations, forward or backward, lead tovector fields that are covariantly constant.

According to Lemma 1, to project the gradient q into Tα(H0), we simply needto subtract off a covariantly linear vector field which agrees with q at t = 0 andt = 1. Clearly, the correct covariantly linear field is simply tq(t), where q(t) is thecovariantly constant field obtained by parallel translating q(1) backwards along α.Hence, we have proved the following theorem.

Theorem 3.8. Let α : [0, 1] 7→ C be a path, α ∈ H0. Then, with respect to thePalais metric:

1. The gradient of the energy function E on H at α is the vector field q along αsatisfying q(0) = 0 and Dq

dt = dαdt .

2. The gradient of the energy function E restricted to H0 is w(t) = q(t)− tq(t),where q is the vector field defined in the previous item, and q is the vectorfield obtained by parallel translating q(1) backwards along α.

To understand this result, consider a simpler case of path-straightening flow in aEuclidean space. That is, we are given a path α(t) in Rn that we want to straighteninto a geodesic (a straight line) joining α(0) and α(1). As shown in Figure 3.1(b), theparticularization of Theorem 3.8 leads to simple, intuitive results. In Rn, the covariantderivative (integral) is replaced by the ordinary derivative (integral). Therefore, q(t) =∫ t

0dα/dt(s)ds = α(t)−α(0), and since q(1) = α(1)−α(0), tq(t) is simply t(α(1)−α(0)).

For any point α(t) on the curve, the gradient vector is given by w(t) = (α(t)−α(0))−t(α(1)−α(0)). As shown in Figure 3.1(b), it is the vector that takes the point α(t) tothe corresponding point on the straight line (the geodesic), and that seems a naturalchoice to straighten α into a straight line.

10 E. Klassen and A. Srivastava

Theorem 3.9. For a given pair v0, v1 ∈ C, a critical point of E on H0 is ageodesic on C connecting v0 and v1.Proof:

Let α be a critical point of E on H0. That is, the gradient of E iszero along α. Since the gradient vector field is given by q(t)− tq(t),we have that q(t) = tq(t) for all t. Therefore,

dt=

Dq

dt=

D(tq)dt

= q .

Since q is a parallel translation of q(1), it is covariantly constant, andtherefore, the velocity field dα

dt is covariantly constant. By definition,this implies that α is a geodesic.

Q.E.D.

3.2. Computer Implementations. In this section, we provide step-by-stepdetails for different procedures mentioned in the last section. In particular, we providealgorithms for: (i) finding the direction function v of a given closed curve p, (ii) givenany two closed curves, v0 and v1, initializing a path α connecting them in C, (iii)computing the velocity vector dα/dt for a given path α, (iv) computing the covariantintegral q of dα/dt, (v) computing the backward parallel transport q of q(1), and (vi)updating the path α along the gradient direction given by the vector field w. Weexplain these procedures one by one next.

1. Direction Function Representation of closed curves: The first compu-tational step in our analysis is to find an element of C for a given 3D curve.This curve is often specified in form of a finite collection of ordered, non-uniformly spaced points in R3. We first obtain a re-sampling of these pointsin a uniform fashion and then compute the tangent vectors. The re-samplingis achieved using an iterative procedure as follows: Let xi ∈ R3, i = 1, . . . , mbe a given order set of samples on a 3D curve. Say we want to re-sample thiscurve using n uniform samples.Subroutine 3 (Uniform Re-sampling of Curve).

set xm+1 = x1

compute ρi = ‖xi+1 − xi‖, i = 1, . . . , mwhile standard-deviation({ρi}) > ε

si =∑i

j=1 ρj, i = 1, . . . , mt = ([1 : n]/n)sm

kj = argmini(si ≥ tj), j = 1, . . . , ny1 = x1

for j = 1, . . . , n− 1yj+1 = ((tj − xkj−1)xkj+1 + (xkj − tj)xkj )/(xkj+1 − xkj )wj = yj+1 − yj, and vj = wj

‖wj‖ , ρj = ‖wj‖,end jset m = n and x = y.

end whileuse Subroutine 1 to project v into C

Note that sm is the total length of the piecewise-linear curve formed by thegiven xis, and we are simply re-sampling this piecewise-linear curve at spac-ings of sm/n along its arc-length. In view of this piecewise-linear assumption,the resulting yjs may not be uniformly spaced but they are more uniform than

SHAPES OF 3D CURVES 11

−50

0

50

100

150

200

250

300

350

−100

−50

0

50

100

150

200

250

300

0

50

100

150

200

250

300

350

−100

−50

0

50

100

150

200

250

300

0

50

100

150

200

250

300

350

−100

−50

0

50

100

150

200

250

300 0 5 10 15 20 25 30 350

0.5

1

1.5

2

2.5

3

3.5

4

Fig. 3.2. Left: Resampling the piecewise-linear curve formed by the given set of points usingSubroutine 3. Next two pictures show repeated applications of this idea. Right: this plot shows theevolution of standard deviation of distances between resampled points, as a function of the iterationindex.

the original set of xis. A repeated application of this idea results in a uni-formly sampled set. Shown in Figure 3.2 is an example. The given curve withm = 200 is shown in the left panel; it is re-sampled repeatedly for n = 30with results shown in next two panels. To show that points become increas-ingly uniform, we show the standard deviation of ρjs at every iteration. Astandard deviation of zero implies that the points are uniformly spaced.

2. Initialize the path α: Given v0 and v1 in C, we want to form a pathα : [0, 1] 7→ C such that α(0) = v0 and α(1) = v1. There are several ways ofdoing this. One is to form 3D coordinates p0 and p1, respectively, associatedwith the two shapes, and connect p0(s) and p1(s) linearly, for all s, usingpt(s) = tp1(s) + (1 − t)p0(s). The intermediate curves are not uniformlysampled although they will be closed. We can use Subroutine 3 to re-samplethem uniformly. The other idea is to use the fact that v0(s), v1(s) ∈ S2, andconstruct a path in S2 from one point to another, parameterized by t. Wesummarize this idea in the following subroutine.Subroutine 4 (Initialize a path α).

for all s ∈ [0, 2π]define θ(s) = cos−1(v0(s) · v1(s))define f(s) = v1(s)−(v0(s)·v1(s))v0(s), and f(s) = θ(s)f(s)/‖f(s)‖.

end sfor all t ∈ [0, 1]

for all s ∈ [0, 2π)define α(t)(s) = χt(v0(s); f(s))

end sproject α(t) into C using Subroutine 1.

end tIn case v0(s) and v1(s) are antipodal points on S2, and thus f(s) = 0, one

can arbitrarily choose a path connecting them on the sphere. However, thissituation occurs in practice with probability zero and is not an practical issue.

3. Vector Field dα/dt: In order to compute the gradient of E in Tα(H), we firstneed to compute the path velocity dα/dt. For a continuous path, dα/dt(t)automatically lies in Tα(t)(C), but in the discrete case one has to ensurethis property using additional steps. This process uses the approximationx′(t) ≈ (x(t)− x(t− ε))/ε, modified to account for the nonlinearity of C. Letthe interval [0, 1] be divided into k uniform bins. The procedure for computing

12 E. Klassen and A. Srivastava

dα/dt at these discrete times is summarized next.Subroutine 5 (Computation of dα/dt along α).

for τ = 1, . . . , kfor all s ∈ [0, 2π)

θ(s) = k cos−1(α( τk )(s) · α( τ−1

k )(s))f(s) = −α( τ−1

k )(s) + (α( τ−1k )(s) · α( τ

k )(s))α( τk )(s)

dαdt ( τ

k )(s) = θ(s)f(s)/‖f(s)‖.end sproject dα

dt ( τk ) into Tα( τ

k )(C) using Subroutine 2.end τ .

Now we have a vector field dα/dt ∈ Tα(H) along a given path α ∈ H.4. Computation of Vector field q: We seek a vector field q such that q(0) = 0

and Dqdt = dα

dt . In other words, q is the covariant integral of the vector fielddα/dt.Subroutine 6 (Covariance Integration of dα/dt to form q).

for τ = 0, 1, 2, . . . , k − 1,for all s

define q‖( τk )(s) = π(q( τ

k )(s); α( τk )(s), α( τ+1

k )(s)).(π is defined in Eqn. 2.3)

set q( τ+1k )(s) = 1

kdαdt ( τ+1

k )(s) + q‖( τk )(s).

end send τ

q‖( τk ) is the parallel transport of q( τ

k ) from Tα( τk )(C) to Tα( τ+1

k )(C). Thissubroutine results in the gradient vector field {q( τ

k ) ∈ Tα( τk )(C)|τ = 1, . . . , k}.

5. Covariant Vector Field q: Given q(1), we need to find a vector field qalong the path α in C that is the backward parallel transport of q(1). Wehave already computed the points α(0), α(1/k), α(2/k), . . . , α(1). Each α( τ

k )is an element of C, i.e. it is a curve on S2. We will perform the backwardparallel transport iteratively, as follows.Subroutine 7 (Backward Parallel Transport).

set q(1) = q(1)let l = (〈q(1), q(1)〉)1/2

for τ = k − 1, k − 2, . . . , 2, 1, 0for all s ∈ [0, 2π)

q( τk )(s) = π(q( τ+1

k )(s); α( τ+1k )(s), α( τ

k )(s))end sproject q( τ

k ) into Tα( τk )(C) using Subroutine 2.

let l1 = (⟨q( τ

k ), q( τk )

⟩)1/2

set q( τk ) = q( τ

k )l/l1;end τ

6. Gradient of E: With the computation of q and q along the path α, thegradient vector field of E is given by: for any τ ∈ {0, 1, . . . , k} and s ∈ [0, 2π)

w(τ

k)(s) ≡ (q(

τ

k)(s)− (

τ

k)q(

τ

k)(s)) ∈ Tα( τ

k )(s)(S2) .(3.2)

7. Update in Gradient Direction: Now that we have computed the gradientvector field w on the current path α, we update this path in the direction

SHAPES OF 3D CURVES 13

given by w: for τ = 1, 2, . . . , k and s ∈ [0, 2π),

α(τ

k)(s) = χ1(α(

τ

k)(s); w(

τ

k)(s)) .(3.3)

3.3. Algorithm to Compute Geodesic in C. Here we summarize our algo-rithm to compute a geodesic path between any two given closed curves in R3. Weassume that the curves are available in form of sampled points on these curves.

Algorithm 1 (Find a geodesic between two curves in C).

1. Compute the representations of each curve in C using Subroutine 3. Denotethese elements by v0 and v1, respectively.

2. Initialize a path α between v0 and v1 using Subroutine 4.3. Compute the velocity vector field dα/dt along the path α using Subroutine 5.4. Compute the covariant integral of dα/dt, denoted by q, using Subroutine 6.

If∑k

τ=1 〈dα/dt(τ), dα/dt(τ)〉 is small, then stop. Else, continue to the nextstep.

5. Compute the backward parallel transport of the vector q(1) along α using theSubroutine 7.

6. Compute the full gradient vector field of the energy E along the path α, de-noted by w, using Eqn. 3.2.

7. Update α using Eqn. 3.3. Return to Step 3.The desired geodesic path is given by the resulting α, and its length is given by

dC(v0, v1) = (〈dα/dt(0), dα/dt(0)〉)1/2. For a later use, we highlight dα/dt(0) as theinitial velocity vector in Tα(0)(C) that generates the geodesic at α(0).

3.4. Experimental Results. In this section we describe some computer exper-iments for generating geodesic paths between shapes in C.

Let the two curves of interest be:

p0(t) = (a cos(t), b sin(t), c√

b2 − a2 sin2(t)), p1(t) = (a(1+cos(t)), sin(t), 2 sin(t/2)) ,

and we want to compute a geodesic path between them in C. Shown in Figure 3.3 arethe results. The panels in (a) show the two curves. The first curve is an example of abicylinder and the second one is an example of a Viviani curve. We apply Algorithm1 on these two curves to generate a geodesic path between them. Panel (b) shows theevolution of the energy E during the iterations in Algorithm 1. Panels (c) show twoviews of the geodesic path drawn on S2; the red curve denotes v0, the green curvedenotes v1, and the blue curves denote intermediate points on the resulting geodesicα. The bottom row shows two views of the geodesic path as closed curves in R3.

Shown in Figure 3.4 is another example, where the two end shapes (top left twopanels), evolution of the energy (top right), and two views of the final geodesic path(middle and lower panels) are displayed.

4. Geodesics on Shape Space. So far we have consider the space of closedcurves C and have presented a numerical technique for finding geodesics betweenelements of C. However, when considering shapes of these curves we observe thatmany points in C can represent the same shape. This is because a rigid rotation ora re-parametrization can change the representation of a curve but not its shape. Tostudy shapes of curves, and not the curves themselves, we have to remove these shape-preserving transformations from the representation. Towards that end, we introducethe shape space as a quotient space of C, modulo shape preserving transformations

14 E. Klassen and A. Srivastava

−1

−0.5

0

−1

−0.5

0

0.5

1

−0.15−0.1

−0.050

−1.5

−1

−0.5

0

−0.5

0

0.5

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1 1.5 2 2.5 3 3.5 4 4.5 5

3.45

3.5

3.55

3.6

(a) (b) (c)

0

2

4

6

8

10

12

14

16

−2

0

2

−1

0

1

02

46

810

1214

16

−2

−1

0

1

2

−101

Fig. 3.3. (a) Plots of the two shapes used in computing geodesic path. (b) Evolution of thegeodesic length of α during path-straightening. (c) Two views of the geodesic path on S2. Bottomrow shows two views of that geodesic in R3.

such as rigid rotations and re-parameterizations. Then, we describe techniques forcomputing geodesic paths on the shape space.

4.1. Shape Space. The main goal of this paper is to analyze shapes of closedcurves in R3, and we seek a way to represent shapes of these curves. By representinga closed curve p with its direction function v ∈ C, we have already removed thetranslation variability. This is due to the fact that a rigid translation of a closedcurve does not change its direction function, and hence its representation. Similarly,by requiring the curves to be of length 2π, we have removed the scale variability also.On the other hand, a rigid rotation or a re-parametrization do change the velocityfield along the curve, so we have to remove them explicitly, as described next.

For the unit circle S1, and an angle θ ∈ S1, the re-parametrization of a curvev ∈ C, defined by:

(θ ◦ v)(s) = v((s− θ)mod 2π)(4.1)

It is easy to see that θ ◦ v is also in C, and it denotes a curve with the same shape asthat of v. S1 is called the re-parametrization group. Similarly for rotation: considerthe space of 3 × 3 rotation matrices, the special orthogonal group SO(3), and forO ∈ SO(3) we define a rotated shape

Ov(s) = O · v(s), ∀s ∈ [0, 2π) .(4.2)

SO(3) is called the rotation group. Both these groups, S1 and SO(3), act on C (see[1] for definition of group action), and they commute with each other. We can definethe orbit associated with a curve v ∈ C as:

Cv = {w ∈ C|w = θ ◦Ov, ∀θ ∈ S1, ∀O ∈ SO(3)} .(4.3)

SHAPES OF 3D CURVES 15

0

0.2

0.4

0.6

0.8

1

1.2−0.2

0

0.2

0.4

0.6

0.8

1

−1

−0.5

0

−0.2

0

0.2

0.4

0.6

0.8

1

1.2 0

0.2

0.4

0.6

0.8

1

1.2

−0.8−0.6−0.4−0.2

00.2

0 2 4 6 8 10 12 1411

12

13

14

15

16

17

18

19

20

21

0 2 4 6 8 10 12 14 16

−2

−1

0

0 2 4 6 8 10 12 14 16

−1

0

1

2

Fig. 3.4. Geodesic Computation: Top row shows the two curves in C and top right shows theevolution of E as Algorithm 1 proceeds. Bottom two rows show two views of the resulting geodesicpath.

All the elements of Cv has the same shape, and one can view memberships of theseorbits as an equivalence relation. These orbits divide C into disjoint equivalenceclasses, each subset being associated with a unique shape. Hence, the shape spaceis defined to be the quotient space S = C/(S1 × SO(3)). It must be noted that theaction of S1 × SO(3) on C is isometric, i.e. for any g, h ∈ Tv(C), we have 〈g, h〉 =〈θ ◦Og, θ ◦Oh〉, for any O ∈ SO(3), θ ∈ S1. Therefore, the geodesic distance betweenany two points in C does not change if we re-parameterize and rotate both of them inthe same way, i.e. dC(v0, v1) = dC(θ ◦Ov0, θ ◦Ov1), ∀θ ∈ S1, ∀O ∈ SO(3).

4.2. Geodesics in S. The shape space S is a quotient space of C, and geodesicsin S correspond to those geodesics in C that are of shortest lengths amongst allpossible pairs in the two respective orbits. In other words, given two closed curvesv0, v1 ∈ C, we seek the shortest geodesic connecting their orbits Cv0 and Cv1 . Mathe-matically, we seek a path in C whose length is given by dS(v0, v1) where dS(v0, v1) =minu0∈Cv0 ,u1∈Cv1

dC(u0, u1). Since the action of S1 and SO(3) on C is isometric, wecan restate this minimization as:

dS(v0, v1) = minθ∈S1,O∈SO(3)

dC(θ ◦Ov0, v1) .(4.4)

We do not have an analytical solution for this minimization, so we are going to performthis numerically using an iterative technique. Let (θ, O) ∈ S1 × SO(3) be the currentestimates of the minimizer, and let ψ(t, f, v0) denote a geodesic flow starting fromv0 = θ ◦ Ov0 ∈ C, in the direction f ∈ Tv0(C), and parameterized by t ∈ R+. Theprevious section discussed a procedure for finding f such that ψ(1, f, v0) = v1. We canwrite a four-dimensional subspace Tv0(S1 × SO(3)), a subspace of Tv0(C), such thatflows in that direction do not change the shape of v0. The projection of f into thatsubspace provides the best incremental rotation and shift (for re-parametrization) forsolving the minimization in Eqn. 4.4. A repeated application of this idea – form a

16 E. Klassen and A. Srivastava

1v

v0

C 1vCv0

Fig. 4.1. Iteratively projecting the tangent to current geodesic, onto the space Tv0 (S1×SO(3)),and updating v0 along that projection solves the minimization problem.

four-dimensional subspace at the current v0 and find the best incremental rotation-shift – leads to the optimal solution. This idea is pictorially illustrated in Figure 4.1.

Define,

E1 =

0 −1 01 0 00 0 0

, E2 =

0 0 10 0 0−1 0 0

, E3 =

0 0 00 0 −10 1 0

.

Then, the functions gi(s) = Eiv0(s), i = 1, 2, 3, and g4(s) = dv0/ds(s) span the desiredfour-dimensional subspace of Tv0(C). Forming an orthonormal basis of this subspace,using Gram-Schmidt procedure on gis, we get four basis elements h1, h2, h3 and h4.The projection of f on this subspace is given by:

∑4i=1 βihi, where βi = 〈f, hi〉.

Defining Aij = 〈gi, hj〉, and setting γ = A−1β, we obtain the projection in terms ofthe gis. That is, the projection is given by

∑i γigi. Then, the optimal incremental

rotation is given by exp(δ∑3

i=1 γiEi) and the optimal incremental shift is given byδγ4. This procedure is summarized next.

Subroutine 8 (Geodesic on S).initialize θ ∈ S1, O ∈ SO(3), and β = [1 1 1 1]T .while ‖β‖ > ε

compute v0 = θ ◦Ov0.find f = FindGeodesic(v0, v1) using Algorithm 1.form functions g1(s) = E1f(s), g2(s) = Esf(s),

g3(s) = E3f(s), and g4(s) = f ′(s).use Gram-Schmidt on gis to obtain his.form βi = 〈f, hi〉, Aij = 〈gi, hj〉, and γ = A−1β.update O = O exp(δ

∑3i=1 βiEi) and θ = θ + δβ4, for a small δ > 0.

end whileShown in Figure 4.2 is an illustration of this idea. The left panel shows the

geodesic path between the two shapes at the start of Subroutine 8, and the middlepanel shows the final (shortest) geodesic. The rightmost panel shows the evolution ofgeodesic length as iterations in Subroutine 8 proceeds.

The incremental update in Subroutine 8 is a local procedure, and depending uponthe initialization of (θ, O), there is a possibility of this procedure getting stuck in alocal minima of the geodesic distance function (Eqn. 4.4). In case of shapes withrotational symmetries, or re-parametrization symmetries, it is understandable thatthis greedy procedure gets stuck in a local minima. Our experiments indicate that

SHAPES OF 3D CURVES 17

02

46

810

1214

16

−1

0

1

2

−2−101

02

46

810

1214

16

−1

0

1

2

−101

0 5 10 15 20 254

6

8

10

12

14

16

Fig. 4.2. Left: Evolution of the geodesic length under Subroutine 8. Middle: A geodesic pathin C between the end shapes, to initialize the subroutine. Right: A geodesic path in S; it is theshortest path in C obtained by rotating and re-parameterizing v0. Note the change in shape 1 fromthe middle to the right.

the search over SO(3) in this procedure reaches the global minima consistently, eventhough the minimizer may not be unique. Shown in the top row Figure 4.3 are twoexamples of evolution of geodesic length, when minimizing over O ∈ SO(3), whilekeeping θ ∈ S1 fixed. Different curves correspond to random initial values of O.In each case, starting from random initial orientations of v0, the greedy procedureachieves the minimum geodesic length.

The case of re-parametrization is different. In search for optimal θ, the proceduregets stuck in local minima, with geodesics much longer than the desired shortestgeodesic. To minimize over θ ∈ S1, we can use an exhaustive grid search, as depictedby the bottom row of Figure 4.3. In other words, we choose and fix θ and minimizeover SO(3); repeating this for all values of θ and selecting the resulting shortest pathgives us the desired geodesic.

0 10 20 30 40 501

2

3

4

5

6

7

8

9

0 5 10 15 20 25 303

3.5

4

4.5

5

5.5

6

0 0.5 1 1.5 2 2.5 3 3.50.5

1

1.5

2

2.5

3

3.5

4

4.5

5

0 0.5 1 1.5 2 2.5 3 3.52

2.5

3

3.5

4

4.5

Fig. 4.3. Top: Evolution of geodesic lengths during minimization over O ∈ SO(3) (keeping θfixed) for two examples. Different curves correspond to different initial values of O in that subrou-tine. Bottom row plots minimum geodesic lengths achieved versus θ in these two cases.

5. Summary. We have presented a differential geometric approach to studyingshapes of closed curves in R3. The main tool presented in this study is the construction

18 E. Klassen and A. Srivastava

of geodesic paths between arbitrary two curves on an appropriate space of closedcurves. This construction is based on path-straightening, i.e. we construct an initialpath between those two curves, and iteratively straighten it using the gradient of theenergy E. The limit point of this procedure is a geodesic path. Finally, to compareshapes of two curves, we remove the shape-preserving transformations (rotation andre-parametrization) using an iterative local search. We have presented step-by-stepprocedures for computing these geodesics, and have illustrated them using examples.

Acknowledgements. The research described in this paper was supported inpart by the grants ARO W911NF-04-01-0268 and NSF CCF-0514743.

REFERENCES

[1] W. M. Boothby. An Introduction to Differential Manifolds and Riemannian Geometry. Aca-demic Press, Inc., 1986.

[2] G. Dziuk, E. Kuwert, and R. Schatzle. Evolution of elastic curves in Rn: existence andcomputation. SIAM J. Math. Anal, 33:1228–1245, 2002.

[3] J. P. Eakins, K. Shields, and J. Boardman. ARTISAN – a shape retrieval system based onboundary family indexing. In Storage and Retrieval for Still Image and Video DatabasesIV. Proceedings SPIE, volume 2670, pages 17–28, 1996.

[4] U. Grenander and M. I. Miller. Computational anatomy: An emerging discipline. Quarterlyof Applied Mathematics, LVI(4):617–694, 1998.

[5] S. Joshi, A. Srivastava, W. Mio, and X. Liu. Hierarchical organization of shapes for efficientretrieval. In Proc. of European conference on Computer Vision, pages Part III, 570–581.Springer Verlag, Eds: T. Pajdla and J. Matas, 2004.

[6] M. M. Kazhdan. Shape Representations and Algorithms for 3D Model Retrieval. PhD thesis,Computer Science, Princeton, April 2004.

[7] E. Klassen, A. Srivastava, W. Mio, and S. Joshi. Analysis of planar shapes using geodesic pathson shape spaces. IEEE Pattern Analysis and Machine Intelligence, 26(3):372–383, March,2004.

[8] J. Langer and D. A. Singer. Curve straightening and a minimax argument for closed elasticcurves. Topology, 24:75–88, 1985.

[9] J. Langer and D. A. Singer. Curve straightening in Riemannian manifolds. Ann. Global Anal.Geom., 5:133–150, 1987.

[10] P. W. Michor and D. Mumford. Riemannian geometries on spaces of plane curves. Journal ofthe European Mathematical Society, to appear, 2005.

[11] W. Mio and A. Srivastava. Elastic string models for representation and analysis of planarshapes. In Proc. of IEEE Computer Vision and Pattern Recognition, Volume II, pages10–15, 2004.

[12] W. Mio, A. Srivastava, and E. Klassen. Interpolation by elastica in Euclidean spaces. Quarterlyof Applied Mathematics, LXII(2):359–378, June 2004.

[13] F. Mokhtarian, S. Abbasi, and J. Kittler. Efficient and robust shape retrieval by shape contentthrough curvature scale space. In Proceedings of First International Conference on ImageDatabase and MultiSearch, pages 35–42, 1996.

[14] M. Novotni and R. Klein. A geometric approach to 3D object comparison. In InternationalConference on Shape Modeling and Applications, pages 167–175, 2001.

[15] R. Osada, T. Funkhouser, B. Chazelle, and D. Dobkin. Matching 3D models with shapedistributions. In International Conference on Shape Modeling and Applications, pages154–166, 2001.

[16] R. S. Palais. Morse theory on Hilbert manifolds. Topology, 2:299–340, 1963.[17] C. Samir, A. Srivastava, and M. Daoudi. Automatic 3D face recognition using shapes of facial

curves. IEEE Transactions on Pattern Analysis and Pattern Recognition, in review, 2005.[18] A. Srivastava, S. Joshi, W. Mio, and X. Liu. Statistical shape analysis: Clustering, learning and

testing. IEEE Transactions on Pattern Analysis and Machine Intelligence, 27(4):590–602,2005.

[19] L. Younes. Optimal matching between shapes via elastic deformations. Journal of Image andVision Computing, 17(5/6):381–389, 1999.


Recommended