Shape Analysis and Retrieval D2 Shape Distributions Notes courtesy of Funk et al., SIGGRAPH 2004.

Slides:



Advertisements
Similar presentations
Quantitative Methods Topic 5 Probability Distributions
Advertisements

Shape Matching and Object Recognition using Low Distortion Correspondence Alexander C. Berg, Tamara L. Berg, Jitendra Malik U.C. Berkeley.
1 A Statistical Analysis of the Precision-Recall Graph Ralf Herbrich Microsoft Research UK Joint work with Hugo Zaragoza and Simon Hill.
Face Recognition Sumitha Balasuriya.
Object Recognition Using Locality-Sensitive Hashing of Shape Contexts Andrea Frome, Jitendra Malik Presented by Ilias Apostolopoulos.
Complex Networks for Representation and Characterization of Images For CS790g Project Bingdong Li 9/23/2009.
3D Model Matching with Viewpoint-Invariant Patches(VIP) Reporter :鄒嘉恆 Date : 10/06/2009.
A Fast Local Descriptor for Dense Matching
Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95.
Evaluating Color Descriptors for Object and Scene Recognition Koen E.A. van de Sande, Student Member, IEEE, Theo Gevers, Member, IEEE, and Cees G.M. Snoek,
Evaluating Sketch Query Interfaces for a 3D Model Search Engine Patrick Min Joyce Chen, Tom Funkhouser Princeton Workshop on Shape-Based Retrieval and.
Feature-based 3D Reassembly Devi Parikh Mentor: Rahul Sukthankar September 14, 2006.
Extended Gaussian Images
By: Bryan Bonvallet Nikolla Griffin Advisor: Dr. Jia Li
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
ANSIG An Analytic Signature for ANSIG  An Analytic Signature for Permutation Invariant 2D Shape Representation José Jerónimo Moreira Rodrigues.
Asst. Prof. Yusuf Sahillioğlu
Rotation Invariant Spherical Harmonic Representation of 3D Shape Descriptors Michael Kazhdan Thomas Funkhouser Szymon Rusinkiewicz Princeton University.
Robert Osada, Tom Funkhouser Bernard Chazelle, and David Dobkin Princeton University Matching 3D Models With Shape Distributions.
Lecture 6: Feature matching CS4670: Computer Vision Noah Snavely.
Reflective Symmetry Detection in 3 Dimensions
Correspondence & Symmetry
1 Numerical geometry of non-rigid shapes Spectral Methods Tutorial. Spectral Methods Tutorial 6 © Maks Ovsjanikov tosca.cs.technion.ac.il/book Numerical.
Retrieval Evaluation: Precision and Recall. Introduction Evaluation of implementations in computer science often is in terms of time and space complexity.
Harmonic 3D Shape Matching Michael Kazhdan Thomas Funkhouser Princeton University Michael Kazhdan Thomas Funkhouser Princeton University.
Feature-based methods
Selecting Distinctive 3D Shape Descriptors for Similarity Retrieval Philip Shilane and Thomas Funkhouser.
The Princeton Shape Benchmark Philip Shilane, Patrick Min, Michael Kazhdan, and Thomas Funkhouser.
Shape Descriptors I Thomas Funkhouser CS597D, Fall 2003 Princeton University Thomas Funkhouser CS597D, Fall 2003 Princeton University.
Shape Matching and Anisotropy Michael Kazhdan, Thomas Funkhouser, and Szymon Rusinkiewicz Princeton University Michael Kazhdan, Thomas Funkhouser, and.
Retrieval Evaluation. Introduction Evaluation of implementations in computer science often is in terms of time and space complexity. With large document.
CS4670: Computer Vision Kavita Bala Lecture 8: Scale invariance.
Ashish Uthama EOS 513 Term Paper Presentation Ashish Uthama Biomedical Signal and Image Computing Lab Department of Electrical.
1 Fingerprint Classification sections Fingerprint matching using transformation parameter clustering R. Germain et al, IEEE And Fingerprint Identification.
AdvisorStudent Dr. Jia Li Shaojun Liu Dept. of Computer Science and Engineering, Oakland University 3D Shape Classification Using Conformal Mapping In.
Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat for CS
Alignment Introduction Notes courtesy of Funk et al., SIGGRAPH 2004.
1 Faculty of Information Technology Generic Fourier Descriptor for Shape-based Image Retrieval Dengsheng Zhang, Guojun Lu Gippsland School of Comp. & Info.
TEMPLATE BASED SHAPE DESCRIPTOR Raif Rustamov Department of Mathematics and Computer Science Drew University, Madison, NJ, USA.
Shape Matching for Model Alignment 3D Scan Matching and Registration, Part I ICCV 2005 Short Course Michael Kazhdan Johns Hopkins University.
Alignment and Matching
Image Processing and Analysis (ImagePandA) 9 – Shape Christoph Lampert / Chris Wojtan.
Local invariant features Cordelia Schmid INRIA, Grenoble.
Shape Analysis and Retrieval Statistical Shape Descriptors Notes courtesy of Funk et al., SIGGRAPH 2004.
Shape Analysis and Retrieval Structural Shape Descriptors Notes courtesy of Funk et al., SIGGRAPH 2004.
Axial Flip Invariance and Fast Exhaustive Searching with Wavelets Matthew Bolitho.
80 million tiny images: a large dataset for non-parametric object and scene recognition CS 4763 Multimedia Systems Spring 2008.
Shape Descriptors Thomas Funkhouser and Michael Kazhdan Princeton University Thomas Funkhouser and Michael Kazhdan Princeton University.
CS654: Digital Image Analysis Lecture 6: Basic Transformations.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Shape Analysis and Retrieval
Dengsheng Zhang and Melissa Chen Yi Lim
A feature-based kernel for object classification P. Moreels - J-Y Bouguet Intel.
2004/03/03Sheun-Huei Guan, CML, NTU1 3D Model Retrieval After Shape Distributions.
CENG 789 – Digital Geometry Processing 04- Distances, Descriptors and Sampling on Meshes Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
CSE 185 Introduction to Computer Vision Feature Matching.
Methods for 3D Shape Matching and Retrieval
Skeleton Extraction of 3D Objects by Radial Basis Functions for Content-based Retrieval in MPEG-7 Ming Ouhyoung Fu-Che Wu, Wan-Chun Ma, Communication and.
1 Faculty of Information Technology Enhanced Generic Fourier Descriptor for Object-Based Image Retrieval Dengsheng Zhang, Guojun Lu Gippsland School of.
Spherical Extent Functions. Spherical Extent Function.
What is a rigid transformation?  A transformation that does not change the size or shape of a figure.
Image Representation and Description – Representation Schemes
A Perceptual Shape Descriptor
Paper Presentation: Shape and Matching
Spectral Methods Tutorial 6 1 © Maks Ovsjanikov
Benchmarking CAD Search Techniques
Shape Analysis and Retrieval
Improving Retrieval Performance of Zernike Moment Descriptor on Affined Shapes Dengsheng Zhang, Guojun Lu Gippsland School of Comp. & Info Tech Monash.
Fourier Transform of Boundaries
Lecture 5: Feature invariance
Presentation transcript:

Shape Analysis and Retrieval D2 Shape Distributions Notes courtesy of Funk et al., SIGGRAPH 2004

Outline: Defining the Descriptor Computing the Descriptor Comparing the Descriptor (EMD)

D2 Shape Distributions Key idea 1: Map 3D surfaces to common parameterization by randomly sampling points on the shape. Triangulated ModelPoint Set By only considering point samples, the method avoids all problems of genus, connectivity, tessalation, etc.

D2 Shape Distributions Key idea 2: The distance between two points does not change if the points are translated or rotated: ||p 1 -p 2 ||=||T(p 1 )-T(p 2 )|| for all T that are combinations of translations and rotations. p2p2 p1p1 ||p 1 -p 2 || || T(p 1 ) - T(p 2 ) || T(p1)T(p1) T(p2)T(p2)

D2 Shape Distributions Definition: For a set of points P, and a distance d, the value of the D2 Distribution at d is the number of point pairs whose pair-wise distance is d: D2 Model distance probability

D2 Shape Distributions Properties –Concise to store? –Quick to compute? –Invariant to transforms? –Efficient to match? –Insensitive to noise? –Insensitive to topology? –Robust to degeneracies? –Invariant to deformations? –Discriminating?

D2 Shape Distributions Properties  Concise to store?  Quick to compute? –Invariant to transforms? –Efficient to match? –Insensitive to noise? –Insensitive to topology? –Robust to degeneracies? –Invariant to deformations? –Discriminating? 512 bytes (64 values) 0.5 seconds (10 6 samples) Distance Probability Skateboard

D2 Shape Distributions Properties Concise to store Quick to compute  Invariant to transforms? –Efficient to match? –Insensitive to noise? –Insensitive to topology? –Robust to degeneracies? –Invariant to deformations? –Discriminating? Translation Rotation Mirror Normalized Means Scale (w/ normalization) Skateboard Porsche

D2 Shape Distributions Properties Concise to store Quick to compute Invariant to transforms  Efficient to match? –Insensitive to noise? –Insensitive to topology? –Robust to degeneracies? –Invariant to deformations? –Discriminating? Distance Probability Skateboard Porsche

D2 Shape Distributions Properties Concise to store Quick to compute Invariant to transforms Efficient to match  Insensitive to noise?  Insensitive to topology?  Robust to degeneracies? –Invariant to deformations? –Discriminating? 1% Noise

D2 Shape Distributions Properties Concise to store Quick to compute Invariant to transforms Efficient to match Insensitive to noise Insensitive to topology Robust to degeneracies  Invariant to deformations? –Discriminating?

D2 Shape Distributions Properties Concise to store Quick to compute Invariant to transforms Efficient to match Insensitive to noise Insensitive to topology Robust to degeneracies  Invariant to deformations  Discriminating? Line Segment Circle Cylinder Cube Sphere Two Spheres

D2 Shape Distributions Results Does the D2 distribution of a model capture its shape? D2 shape distributions for 15 classes of objects

D2 Shape Distributions Results Does the D2 distribution of a model capture its shape? D2 shape distributions for 15 classes of objects Line Segment

D2 Shape Distributions Results Does the D2 distribution of a model capture its shape? D2 shape distributions for 15 classes of objects Circle

D2 Shape Distributions Results Does the D2 distribution of a model capture its shape? D2 shape distributions for 15 classes of objects Cylinder

D2 Shape Distributions Results Does the D2 distribution of a model capture its shape? D2 shape distributions for 15 classes of objects Sphere

D2 Shape Distributions Results Does the D2 distribution of a model capture its shape? D2 shape distributions for 15 classes of objects Two Spheres

D2 Shape Distributions Results Do models in the same class have similar distributions? Do models in different classes have different distributions? D2 shape distributions for 15 classes of objects

Princeton Shape Benchmark 1814 classified models, 161 classes Evaluation metrics, software tools, etc potted plants33 faces15 desk chairs22 dining chairs 100 humans28 biplanes14 flying birds11 ships

Precision vs. Recall Precision-recall curves –Recall = retrieved_in_class / total_in_class –Precision = retrieved_in_class / total_retrieved Recall Precision 1 Ranked Matches Query

Precision vs. Recall Precision-recall curves –Recall = 0 / 5 –Precision = 0 / Recall Precision 1 Ranked Matches Query

Precision vs. Recall Precision-recall curves –Recall = 1 / 5 –Precision = 1 / Recall Precision 1 Ranked Matches Query

Precision vs. Recall Precision-recall curves –Recall = 2 / 5 –Precision = 2 / Recall Precision 1 Ranked Matches Query

Precision vs. Recall Precision-recall curves –Recall = 3 / 5 –Precision = 3 / Recall Precision 1 Ranked Matches Query

Precision vs. Recall Precision-recall curves –Recall = 4 / 5 –Precision = 4 / Recall Precision 1 Ranked Matches Query

Precision vs. Recall Precision-recall curves –Recall = 5 / 5 –Precision = 5 / Recall Precision 1 Ranked Matches Query

D2 Shape Distributions Precision vs. recall on Princeton Benchmark

D2 Shape Distributions Precision vs. recall on Princeton Benchmark

Outline: Defining the Descriptor Computing the Descriptor Comparing the Descriptor (EMD)

Computing From a Point Set Given a point set P={p 1,…,p n }, a resolution r, a max distance d, and an array d2: GetD2(P,n,d,d2,r) c  0 for i=1 to n d2[i]  0 for i=1 to n for j=1 to i t  ||p i -p j || if (t<d) d2[  (t/d)*r  ]  d2[  (t/d)*r  ] + 1 c  c + 1 for i=1 to n d2[i]  d2[i]/c

Computing From a Point Set Computing the D2 distribution is easy if you have a point set. GetD2(P,n,d,d2,r) c  0 for i=1 to n d2[i]  0 for i=1 to n for j=1 to i t  ||p i -p j || if (t<d) d2[  (t/d)*r  ]  d2[  (t/d)*r  ] + 1 c  c + 1 for i=1 to n d2[i]  d2[i]/c Point SetD2 Distribution

Computing From a Point Set Computing the D2 distribution is easy if you have a point set. How do you get a point set? (Most often, the query will be a collection of triangles.) Triangulated Model ? Point SetD2 Distribution GetD2(P,n,d,d2,r) c  0 for i=1 to n d2[i]  0 for i=1 to n for j=1 to i t  ||p i -p j || if (t<d) d2[  (t/d)*r  ]  d2[  (t/d)*r  ] + 1 c  c + 1 for i=1 to n d2[i]  d2[i]/c

Getting a Uniformly Distributed Random Point Set Goal: Given a triangulated surface S={T 1,…,T k }, find n points uniformly distributed on model. Definition: A distribution is uniformly distributed if the probability of a point being in some sub-region is proportional to the area of the sub-region. Triangle ModelPoint Set (n=100)Point Set (n=1000)

Areas If T=(p 1,p 2,p 3 ) is a triangle, the area of T is equal to: If S={T 1,…,T k } is a triangulated model, the area of S is equal to the sums of the areas of the T i. p1p1 p2p2 p3p3 (p 2 -p 1 )x(p 3 -p 1 ) (p 2 -p 1 ) (p 3 -p 1 )

Getting a Random Point To generate a random sample point: 1.Randomly choose triangle T j which the point should be on. 2.Randomly choose a point in T j.

Getting a Random Point 1.Randomly choose a triangle T j on which the point should be. The probability of a point being on triangle T j is proportional to the area of a triangle:

Getting a Random Point 1.Randomly choose a triangle T j on which the point should be. Break up the interval [0,1] into k bins where the size of the j-th bin is equal to P(T j ) 01 … … T1T1 T2T2 T3T3 T k-2 T k-1 TkTk

Getting a Random Point 1.Randomly choose a triangle T j on which the point should be. Generate a random number in the interval [0,1] and find the index j of the bin it falls into. 01 … … T1T1 T2T2 T3T3 T k-2 T k-1 TkTk

Getting a Random Point 2.Randomly choose a point in T j. p1p1 p2p2 p3p3 p 2 +p 3 -p 1 If the vertices of the triangle T j are T j =(p 1,p 2,p 3 ) generate the parallelogram (p 1,p 2,p 3,p 2 +p 3 -p 1 ). Generate a random point in the parallelogram. If the point is in the original triangle keep it, otherwise flip it back into the original.

Getting a Random Point 2.Randomly choose a point in T j. p1p1 p2p2 p3p3 p 2 +p 3 -p 1 To generate a random point in the parallelogram, generate two random numbers s and t in the interval [0,1]. Set p to be the point: If s+t >1 the point will not be in the original triangle, flip it by sending:

Outline: Defining the Descriptor Computing the Descriptor Comparing the Descriptor (EMD)

Earth Mover’s Distance Example: Supposing I am given the distribution of grades for a course over the past three years and I want to compare the distributions: [Rubner et al. 1998] Year 1Year 2Year 3

Earth Mover’s Distance Example: If we just compare theses as vectors, the results from Year 3 are as similar to the results from Year 2 as they they are to the results of Year1. [Rubner et al. 1998] Year 1Year 2Year 3

Earth Mover’s Distance Idea: Treat one distribution as hills, the other as valleys and find the minimum amount of work needed to be done to move earth from the hills to the valleys to flatten things out. [Rubner et al. 1998]

Earth Mover’s Distance Approach: Instead of comparing the values in each bin, compute the amount of work needed to transform on distribution into the other. Define the cost of moving d values from bin to i to bin j as: Find the minimal amount of work that needs to be done to transform one distribution into the other. [Rubner et al. 1998]

Earth Mover’s Distance Challenge: Given distributions X={x 1,…,x n } and Y={y 1,…,y n }, set c ij =|i-j| and find the values for f ij that minimize: subject to the constraints: [Rubner et al. 1998] c ij = cost of moving from bin i to bin j f ij = amount of data moved from bin i to bin j

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998]

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram..1x3 Work=0

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram. Work=0.3

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram. Work=0.3.1x4

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram. Work=0.7

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram. Work=0.7.1x3

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram. Work=1.0

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram. Work=1.0.2x4

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram. Work=1.8

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram. Work=1.8.5x3

Earth Mover’s Distance Solution: In general, this is the transportation problem and can be solved using linear programming. For 1D histograms, this can be solved using the greedy algorithm. [Rubner et al. 1998] Find the first non- empty bin. Move earth into first non-empty bin in the other histogram. Work=3.3

Earth Mover’s Distance Alternatively: Compute the cumulative distributions: Then the Earth Mover’s Distance between X and Y is: So that for 1D histograms, the EMD can be expressed as a normed difference. [Rubner et al. 1998]