Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe...

25
Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat [email protected], for CS 600.658 For more information: http://www.cs.jhu.edu/~misha/F all04/ originally in Proceedings of the IEEE International Conference on Multimedia and Expo

Transcript of Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe...

Page 1: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Description of 3D-Shape Using a Complex Function on the Sphere

Dejan Vranić and Dietmar Saupe

Slides prepared by Nat [email protected], for CS 600.658

For more information:http://www.cs.jhu.edu/~misha/Fall04/

originally in Proceedings of the IEEE International Conference on Multimedia and Expo

Page 2: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Spherical Shape Descriptors

Parameterize a shape onto the unit sphere– f(, )– f(u)

u is a 3-vector on the unit sphere, i.e, |u| = 1

f(u) may evaluate to– a Scalar (e.g. extented gaussian images)– a Vector (e.g. a geometry image)– a Complex number (this paper)

Page 3: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Summary

There exist two pre-existing spherical shape descriptors x(u) and y(u) which are sensitive shape descriptors

This paper presents a technique to combine both into a single descriptor

– That works without weighting of the two functions(i.e x(u) + x(u)

– That is spatially efficient– That is (mostly) resolution independent– That can be retrieved/compared hierarchically

Page 4: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Initial Conditions

The input models have been– Converted into points– Aligned to principal axes using PCA (etc)

An object has a center-of-mass c about which a unit sphere is oriented.

Page 5: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Basic Descriptors

x(u): “how far is it from c to the surface?”– Let s(u) be the surface parameterized in terms of u– Let c be the centroid of the object– x(u) = s(u) – c

Open question: In the case of multiple surface intersections, how is x(u) defined?

y(u): “ how much light would reach s(u) from c?”– y(u) = un(u)

Page 6: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Example: x(u) and y(u)

x(u)

n(u)

y(u) 1

Page 7: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Example: x(u) and y(u)

x(u)

n(u)

y(u) 0

Page 8: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Example of x(u)

Image couresy of Vranic et al, 2001.

Page 9: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Discussion:x(u) and y(u) as shape descriptors

Both are sensitive to the parameterization from the surface to the unit sphere.

x(u): ray based– Will capture shape but suffer when

parameterizations differ across models

y(u): shadow based– Captures “texture” lost by x(u)

Page 10: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

A Complex Feature Descriptor

Based on the idea, “good + good = better”– r(u) = x(u) + iy(u)

Intuitively: now we describe a shape as both What is the feature vector?

Page 11: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

From r(u) to a feature vector

Goals:– Compact– Incrementally comparable

2D Analog:– How do you compare images? Represent them as a

sum of basis functions.

Solution:– Spherical harmonics representation of r(u)

Page 12: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Spherical Harmonics

“As is well-known (see e.g. [52]), the spherical harmonics provide an orthonormal basis for L2(S2).”

[Healy et al, 2002]

WTF?

Page 13: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Spherical Harmonics

“As is well-known (see e.g. [52]), the spherical harmonics provide an orthonormal basis for L2(S2).”

[Healy et al, 2002]

A sampling of r(u) can be expressed as

The values correspond to r(u)’s forier coefficients Some top number of coefficients are used as the feature

vector for shape matching

m)(l,r̂

Page 14: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

The Details (1)

L2(S2):– L2 is a hilbert space– S2 is the surface of the unit sphere– Complex numbers are a Hilbert space

Eric W. Weisstein. "Hilbert Space." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/HilbertSpace.html

Fast Spherical Harmonic Transforms Library: http://www.cs.dartmouth.edu/~geelong/sphere/

Any function in L2(S2) can be represented as a sum of spherical-harmonic basis functions

Page 15: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

The Details (2)

Courtesy of: Eric W. Weisstein. "Spherical Harmonic." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/SphericalHarmonic.html

Page 16: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

The Details (3)

Algorithms exist that can transform from n points in L2(S2) to harmonic coefficients in O(nlog2n) time– http://www.cs.dartmouth.edu/~geelong/sphere/

Note: the Fourier transformation places restrictions on the location of samples in S2.

Page 17: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

“Complex” Feature Vector

r(u) is transformed into another 2d function

For a complex function like r(u), the coefficients look like:

Interestingly, for a real-valued function like x(u), half of this table (all m>0) can be truncated.

m)(l,r̂

Page 18: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Truncation of the feature vector

The paper reports that they only need ~13 rows of coefficients to match well– i.e. they store for 0 < l < 13)(r l,mˆ

Page 19: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Truncation of the feature vector

The paper reports that they only need ~13 rows of coefficients to match well– i.e. they store for 0 < l < 13)(r l,mˆ

Page 20: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Shape Matching Results (L1)

Page 21: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Shape Matching Results (L2)

Page 22: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Shape Matching Results (L1)

Page 23: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Shape Matching Results (L2)

Page 24: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Shape Descriptor Quality

Concise to store d=169 (and adjustable)

Quick to compute O(nlog2n)

Efficient to match Incremental match is possible

Discriminating Dependant on parameterization

Invariant to transformations Yes

Invariant to deformations Nope

Insensitive to noise

Insensitive to topology

Robust to degeneracies ... if they do not affect the FFT.

Better than x(u) and y(u) alone

Page 25: Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat duca@jhu.edu, for CS 600.658duca@jhu.edu.

Papers Referenced

This paper:– D. V. Vranic and D. Saupe. Description of 3D-Shape using a Complex Function on the

Sphere. In: Proceedings of the IEEE International Conference on Multimedia and Expo (ICME 2002), Lausanne, Switzerland, pp. 177-180, August 2002.

Prior and related papers:– D. V. Vranic and D. Saupe. 3D Model Retrieval. In: Proceedings of the Spring

Conference on Computer Graphics and its Applications (SCCG2000) (editor B. Falcidieno), Budmerice, Slovakia, pp. 89-93, May 2000.

– D. Saupe and D. V. Vranic. 3D model retrieval with spherical harmonics and moments. In: Proceedings of the DAGM 2001 (editors B. Radig and S. Florczyk), Munich, Germany, pp. 392-397, September 2001.

Spherical Harmonics and the Transform:– Fast Spherical Harmonic Transforms. http://www.cs.dartmouth.edu/~geelong/sphere/– Courtesy of: Eric W. Weisstein. "Spherical Harmonic." From MathWorld--A Wolfram Web

Resource. http://mathworld.wolfram.com/SphericalHarmonic.html