Shape Matching for Model Alignment 3D Scan Matching and Registration, Part I ICCV 2005 Short Course Michael Kazhdan Johns Hopkins University.

Slides:



Advertisements
Similar presentations
Object Recognition Using Locality-Sensitive Hashing of Shape Contexts Andrea Frome, Jitendra Malik Presented by Ilias Apostolopoulos.
Advertisements

Distinctive Image Features from Scale-Invariant Keypoints David Lowe.
Image Registration  Mapping of Evolution. Registration Goals Assume the correspondences are known Find such f() and g() such that the images are best.
Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95.
Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Extended Gaussian Images
Robust Global Registration Natasha Gelfand Niloy Mitra Leonidas Guibas Helmut Pottmann.
3D Shape Histograms for Similarity Search and Classification in Spatial Databases. Mihael Ankerst,Gabi Kastenmuller, Hans-Peter-Kriegel,Thomas Seidl Univ.
Proportion Priors for Image Sequence Segmentation Claudia Nieuwenhuis, etc. ICCV 2013 Oral.
Probabilistic Fingerprints for Shapes Niloy J. MitraLeonidas Guibas Joachim GiesenMark Pauly Stanford University MPII SaarbrückenETH Zurich.
Reverse Engineering Niloy J. Mitra.
Asst. Prof. Yusuf Sahillioğlu
CENG 789 – Digital Geometry Processing 06- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
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.
Iterative closest point algorithms
Reflective Symmetry Detection in 3 Dimensions
Correspondence & Symmetry
Uncalibrated Geometry & Stratification Sastry and Yang
1 Numerical geometry of non-rigid shapes Spectral Methods Tutorial. Spectral Methods Tutorial 6 © Maks Ovsjanikov tosca.cs.technion.ac.il/book Numerical.
Harmonic 3D Shape Matching Michael Kazhdan Thomas Funkhouser Princeton University Michael Kazhdan Thomas Funkhouser Princeton University.
Shape Descriptors I Thomas Funkhouser CS597D, Fall 2003 Princeton University Thomas Funkhouser CS597D, Fall 2003 Princeton University.
Scale Invariant Feature Transform (SIFT)
Shape Matching and Anisotropy Michael Kazhdan, Thomas Funkhouser, and Szymon Rusinkiewicz Princeton University Michael Kazhdan, Thomas Funkhouser, and.
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2006 with a lot of slides stolen from Steve Seitz and.
3D Scan Matching and Registration ICCV 2005 Short Course Szymon Rusinkiewicz Michael Kazhdan Benedict Brown Princeton University Johns Hopkins University.
3D Global Registration. The Problem Given: n scans around an objectGiven: n scans around an object Goal: align them allGoal: align them all First attempt:
Yuping Lin and Gérard Medioni.  Introduction  Method  Register UAV streams to a global reference image ▪ Consecutive UAV image registration ▪ UAV to.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
CSE 185 Introduction to Computer Vision
Description of 3D-Shape Using a Complex Function on the Sphere Dejan Vranić and Dietmar Saupe Slides prepared by Nat for CS
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2014.
Final Exam Review CS485/685 Computer Vision Prof. Bebis.
Alignment Introduction Notes courtesy of Funk et al., SIGGRAPH 2004.
TEMPLATE BASED SHAPE DESCRIPTOR Raif Rustamov Department of Mathematics and Computer Science Drew University, Madison, NJ, USA.
Alignment and Matching
CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.
ALIGNMENT OF 3D ARTICULATE SHAPES. Articulated registration Input: Two or more 3d point clouds (possibly with connectivity information) of an articulated.
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.
Signal Processing and Representation Theory Lecture 4.
Some Shape Descriptors for 3D Visual Objects
Shape Descriptors Thomas Funkhouser and Michael Kazhdan Princeton University Thomas Funkhouser and Michael Kazhdan Princeton University.
Signal Processing and Representation Theory Lecture 2.
Signal Processing and Representation Theory Lecture 3.
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
Medical Image Analysis Dr. Mohammad Dawood Department of Computer Science University of Münster Germany.
Geometric Hashing: A General and Efficient Model-Based Recognition Scheme Yehezkel Lamdan and Haim J. Wolfson ICCV 1988 Presented by Budi Purnomo Nov 23rd.
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
Using simplified meshes for crude registration of two partially overlapping range images Mercedes R.G.Márquez Wu Shin-Ting State University of Matogrosso.
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
Partial Shape Matching. Outline: Motivation Sum of Squared Distances.
CENG 789 – Digital Geometry Processing 07- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
CSE 554 Lecture 8: Alignment
Image Representation and Description – Representation Schemes
CENG 789 – Digital Geometry Processing 08- Rigid-Body Alignment
Tutorial 2 Biological shape descriptors
Paper Presentation: Shape and Matching
Spectral Methods Tutorial 6 1 © Maks Ovsjanikov
Shape matching and object recognition using shape contexts
Shape Analysis and Retrieval
CSE 455 – Guest Lectures 3 lectures Contact Interest points 1
CENG 789 – Digital Geometry Processing 09- Rigid-Body Alignment
CSE 185 Introduction to Computer Vision
Fourier Transform of Boundaries
Image Registration  Mapping of Evolution
Presentation transcript:

Shape Matching for Model Alignment 3D Scan Matching and Registration, Part I ICCV 2005 Short Course Michael Kazhdan Johns Hopkins University

Goal Given two partially overlapping scans, compute the transformation that merges the two. Partially Overlapping Scans Aligned Scans

Approach 1.(Find feature points on the two scans) Partially Overlapping Scans

Approach 1.(Find feature points on the two scans) 2.Establish correspondences Partially Overlapping Scans

Approach 1.(Find feature points on the two scans) 2.Establish correspondences 3.Compute the aligning transformation Aligned Scans Partially Overlapping Scans

Outline Global-Shape Correspondence –Shape Descriptors –Alignment Partial-Shape/Point Correspondence –From Global to Local –Pose Normalization –Partial Shape Descriptors Registration –Closed Form Solutions –Branch and Bound –Random Sample Consensus

Correspondence Goal: Identify when two points on different scans represent the same feature ?

Correspondence Goal: Identify when two points on different scans represent the same feature: Are the surrounding regions similar? ?

Global Correspondence More Generally: Given two models, determine if they represent the same/similar shapes. ≈ ?

Global Correspondence More Generally: Given two models, determine if they represent the same/similar shapes. ≈ ? Models can have different: representations, tessellations, topologies, etc.

Global Correspondence Approach: 1.Represent each model by a shape descriptor: –A structured abstraction of a 3D model –That captures salient shape information

Global Correspondence Approach: 1.Represent each model by a shape descriptor. 2.Compare shapes by comparing their shape descriptors. ≈ ?

Shape Descriptors: Examples Shape Histograms Shape descriptor stores a histogram of how much surface area resides within different concentric shells in space. Model Shape Histogram (Sectors + Shells) Represents a 3D model by a 1D (radial) array of values [Ankerst et al. 1999]

Shape Descriptors: Examples Shape Histograms Shape descriptor stores a histogram of how much surface area resides within different sectors in space. Model Shape Histogram (Sectors + Shells) [Ankerst et al. 1999] Represents a 3D model by a 2D (spherical) array of values

Shape Descriptors: Examples Shape Histograms Shape descriptor stores a histogram of how much surface area resides within different shells and sectors in space. Model Shape Histogram (Sectors + Shells) [Ankerst et al. 1999] Represents a 3D model by a 3D (spherical x radial) array of values

Shape Descriptors: Challenge The shape of a model does not change when a rigid body transformation is applied to the model. Translation Rotation ≈

Shape Descriptors: Challenge In order to compare two models, we need to compare them at their optimal alignment. -

Shape Descriptors: Challenge In order to compare two models, we need to compare them at their optimal alignment min -=

Shape Descriptors: Alignment Three general methods: –Exhaustive Search –Normalization –Invariance

Shape Descriptors: Alignment Exhaustive Search: –Compare at all alignments Exhaustive search for optimal rotation

Shape Descriptors: Alignment Exhaustive Search: –Compare at all alignments –Correspondence is determined by the alignment at which models are closest Exhaustive search for optimal rotation

Shape Descriptors: Alignment Exhaustive Search: –Compare at all alignments –Correspondence is determined by the alignment at which models are closest Properties : –Gives the correct answer –Even with fast signal processing tools, it is hard to do efficiently

Shape Descriptors: Alignment Normalization: Put each model into a canonical frame –Translation: –Rotation: Translation Rotation

Shape Descriptors: Alignment Normalization: Put each model into a canonical frame –Translation: Center of Mass –Rotation: Initial ModelsTranslation-Aligned Models

Shape Descriptors: Alignment Normalization: Put each model into a canonical frame –Translation: Center of Mass –Rotation: PCA Alignment Translation-Aligned ModelsFully Aligned Models PCA Alignment

Shape Descriptors: Alignment Normalization: Put each model into a canonical frame –Translation: Center of Mass –Rotation: PCA Alignment Properties : –Efficient –Not always robust –Cannot be used for feature matching

Shape Descriptors: Alignment Invariance: Represent a model by a shape descriptor that is independent of the pose. -

Shape Descriptors: Alignment Example: Ankerst’s Shells A histogram of the radial distribution of surface area. Shells Histogram Radius Area [Ankerst et al. 1999]

Shape Descriptors: Alignment Invariance: Power spectrum representation – Fourier transform for translations – Spherical harmonic transform for rotations Frequency Energy Frequency Energy Circular Power SpectrumSpherical Power Spectrum

Translation Invariance 1D Function

Translation Invariance +++=+ … Cosine/Sine Decomposition 1D Function

Translation Invariance = +++ Constant =+ … Frequency Decomposition 1D Function

Translation Invariance = Constant1 st Order =+ … + Frequency Decomposition 1D Function

Translation Invariance = Constant1 st Order2 nd Order =+ … + Frequency Decomposition 1D Function

Translation Invariance = Constant1 st Order2 nd Order3 rd Order =+ … + … + Frequency Decomposition 1D Function

Translation Invariance Frequency subspaces are fixed by rotations:

Translation Invariance Frequency subspaces are fixed by rotations:

Translation Invariance Frequency subspaces are fixed by rotations:

Translation Invariance Frequency subspaces are fixed by rotations:

++++ … + Translation Invariance = +++ Constant1 st Order2 nd Order3 rd Order + … Frequency Decomposition = Amplitudes invariant to translation 1D Function

Rotation Invariance Represent each spherical function as a sum of harmonic frequencies (orders) + +=+ +++ Constant1 st Order2 nd Order 3 rd Order

Rotation Invariance Frequency subspaces are fixed by rotations:

Rotation Invariance Frequency subspaces are fixed by rotations:

Rotation Invariance Frequency subspaces are fixed by rotations:

Rotation Invariance Frequency subspaces are fixed by rotations:

+ ++ Rotation Invariance Store “how much” (L 2 -norm) of the shape resides in each frequency to get a rotation invariant representation = +++ Constant1 st Order2 nd Order 3 rd Order

Shape Descriptors: Alignment Invariance: Represent a model by a shape descriptor that is independent of the pose. Properties: – Compact representation – Not always discriminating

Outline Global-Shape Correspondence –Shape Descriptors –Alignment Partial-Shape/Point Correspondence –From Global to Local –Pose Normalization –Partial Shape Descriptors Registration –Closed Form Solutions –Branch and Bound –Random Sample Consensus

From Global to Local To characterize the surface about a point p, take a global descriptor and: –center it about p (instead of the COM), and –restrict the extent to a small region about p. Shape histograms as local shape descriptors p

From Global to Local Given scans of a model: Scan 1 Scan 2

From Global to Local Identify the features Scan 1 Scan 2

From Global to Local Identify the features Compute a local descriptor for each feature Scan 1 Scan 2

From Global to Local Identify the features Compute a local descriptor for each feature Features correspond → descriptors are similar Scan 1 Scan 2

Pose Normalization From Global to Local Translation: Accounted for by centering the descriptor at the point of interest.  Rotation: We still need to be able to match descriptors across different rotations.

Pose Normalization Challenge –Since only parts of the models are given, we cannot use global normalization to align the local descriptors

Pose Normalization Challenge –Since only parts of the models are given, we cannot use global normalization to align the local descriptors Solutions –Normalize using local information

Local Descriptors: Examples Variations of Shape Histograms: For each feature, represent its local geometry in cylindrical coordinates about the normal nn n n height radius angle Feature point

Local Descriptors: Examples Variations of Shape Histograms: For each feature, represent its local geometry in cylindrical coordinates about the normal –Spin Images: Store energy in each normal ring n nn

Local Descriptors: Examples Variations of Shape Histograms: For each feature, represent its local geometry in cylindrical coordinates about the normal –Spin Images: Store energy in each normal ring –Harmonic Shape Contexts: Store power spectrum of each normal ring n nn

Local Descriptors: Examples Variations of Shape Histograms: For each feature, represent its local geometry in cylindrical coordinates about the normal –Spin Images: Store energy in each normal ring –Harmonic Shape Contexts: Store power spectrum of each normal ring –3D Shape Contexts: Search over all rotations about the normal for best match n nn

Outline Global-Shape Correspondence –Shape Descriptors –Alignment Partial-Shape/Point Correspondence –From Global to Local –Limitations of Global Alignment –Partial Shape Descriptors Registration –Closed Form Solutions –Branch and Bound –Random Sample Consensus

Registration Ideal Case : –Every feature point on one scan has a (single) corresponding feature on the other. pipi qiqi

Registration Ideal Case : –Every feature point on one scan has a (single) corresponding feature on the other. –Solve for the optimal transformation T: pipi qiqi [McLachlan, 1979] [Arun et al., 1987] [Horn, 1987] [Horn et al., 1988]

Registration Challenge : –Even with good descriptors, symmetries in the model and the locality of descriptors can result in multiple and incorrect correspondences.

Registration Exhaustive Search: –Compute alignment error at each permutation of correspondences and use the optimal one.

Registration Exhaustive Search: –Compute alignment error at each permutation of correspondences and use the optimal one. Given points {p 1,…,p n } on the query, if p i matches m i different target points: |  |=4 4 =256 possible permutations

Branch and Bound Key Idea: –Try all permutations but terminate early if the alignment can be predicted to be bad. By performing two comparisons, it was possible to eliminate 16 different possibilities

Branch and Bound Goal: –Need to be able to determine if the alignment will be a good one without knowing all of the correspondences.

Branch and Bound Goal: –Need to be able to determine if the alignment will be a good one without knowing all of the correspondences. Observation : –Alignment needs to preserve the lengths between points in a single scan.

Branch and Bound Goal: –Need to be able to determine if the alignment will be a good one without knowing all of the correspondences. Observation : –Alignment needs to preserve the lengths between points in a single scan. d1d1 d2d2 d1d2d1d2

Random Sample Consensus Observation: –In 3D only three pairs of corresponding points are needed to define a transformation.

Random Sample Consensus Algorithm : –Randomly choose three points on source –For all possible correspondences on target: Compute the aligning transformation T For every other source point p : –Find corresponding point closest to T(p) Compute alignment error

Random Sample Consensus Algorithm : –Randomly choose three points on source –For all possible correspondences on target: Compute the aligning transformation T For every other source point p : –Find corresponding point closest to T(p) Compute alignment error

Random Sample Consensus Algorithm : –Randomly choose three points on source –For all possible correspondences on target: Compute the aligning transformation T For every other source point p : –Find corresponding point closest to T(p) Compute alignment error

Random Sample Consensus Algorithm : –Randomly choose three points on source –For all possible correspondences on target: Compute the aligning transformation T For every other source point p : –Find corresponding point closest to T(p) Compute alignment error p T(p)T(p)

Random Sample Consensus Algorithm : –Randomly choose three points on source –For all possible correspondences on target: Compute the aligning transformation T For every other source point p : –Find corresponding point closest to T(p) Compute alignment error Error = 0 p T(p)T(p)

Random Sample Consensus Algorithm : –Randomly choose three points on source –For all possible correspondences on target: Compute the aligning transformation T For every other source point p : –Find corresponding point closest to T(p) Compute alignment error

Random Sample Consensus Algorithm : –Randomly choose three points on source –For all possible correspondences on target: Compute the aligning transformation T For every other source point p : –Find corresponding point closest to T(p) Compute alignment error p T(p)T(p)

Random Sample Consensus Algorithm : –Randomly choose three points on source –For all possible correspondences on target: Compute the aligning transformation T For every other source point p : –Find corresponding point closest to T(p) Compute alignment error

Random Sample Consensus Algorithm : –Randomly choose three points on source –For all possible correspondences on target: Compute the aligning transformation T For every other source point p : –Find corresponding point closest to T(p) Compute alignment error Error > 0

Summary Global-Shape Correspondence –Shape Descriptors Shells (1D) Sectors (2D) Sectors & Shells (3D) –Alignment Exhaustive Search Normalization Invariance

Summary Partial-Shape/Point Correspondence –From Global to Local Center at feature Restrict extent –Pose Normalization Normal-based alignment –Partial Shape Descriptors Normalization/invariance Normalization/exhaustive-search

Summary Registration –Closed Form Solutions Global Symmetry Local self similarity –Branch and Bound Inter-feature distances for early termination –Random Sample Consensus Efficient transformation computation