Matching and Recognition in 3D. Based on slides by Tom Funkhouser and Misha Kazhdan

Similar documents
FFTs in Graphics and Vision. Invariance of Shape Descriptors

Shape Analysis. Introduction. Introduction. Motivation. Introduction. Introduction. Thomas Funkhouser Princeton University CS526, Fall 2006

Shape Matching. Michael Kazhdan ( /657)

Shape Descriptors I. Thomas Funkhouser CS597D, Fall 2003 Princeton University. Editing

Lecture 8 Object Descriptors

Rotation Invariant Spherical Harmonic Representation of 3D Shape Descriptors

Boundary descriptors. Representation REPRESENTATION & DESCRIPTION. Descriptors. Moore boundary tracking

Overview of 3D Object Representations

A METHOD FOR CONTENT-BASED SEARCHING OF 3D MODEL DATABASES

Feature Detectors and Descriptors: Corners, Lines, etc.

Image Processing. Image Features

Digital Image Processing

Computer Vision for HCI. Topics of This Lecture

9 length of contour = no. of horizontal and vertical components + ( 2 no. of diagonal components) diameter of boundary B

3D Models and Matching

4 Parametrization of closed curves and surfaces

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

Chapter 11 Representation & Description

4.2 Description of surfaces by spherical harmonic functions

EE 584 MACHINE VISION

Shape Distributions. Robert Osada, Thomas Funkhouser, Bernard Chazelle, and David Dobkin Princeton University, Princeton, NJ 08540, USA

CoE4TN4 Image Processing

Image Filtering, Warping and Sampling

Algorithms for Recognition of Low Quality Iris Images. Li Peng Xie University of Ottawa

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

Correspondence. CS 468 Geometry Processing Algorithms. Maks Ovsjanikov

Motion Estimation and Optical Flow Tracking

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

Su et al. Shape Descriptors - III

2: Image Display and Digital Images. EE547 Computer Vision: Lecture Slides. 2: Digital Images. 1. Introduction: EE547 Computer Vision

Scale Invariant Feature Transform

The SIFT (Scale Invariant Feature

Lecture 10: Image Descriptors and Representation

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

Local Features: Detection, Description & Matching

Category vs. instance recognition

Computer vision: models, learning and inference. Chapter 13 Image preprocessing and feature extraction

Chapter 3 Image Registration. Chapter 3 Image Registration

Digital Image Processing Chapter 11: Image Description and Representation

CITS 4402 Computer Vision

A Reflective Symmetry Descriptor

Multi-view 3D retrieval using silhouette intersection and multi-scale contour representation

Scale Invariant Feature Transform

Digital Image Processing Fundamentals

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

Lecture 6: Multimedia Information Retrieval Dr. Jian Zhang

CS 468 Data-driven Shape Analysis. Shape Descriptors

Geometric Modeling in Graphics

Local features: detection and description May 12 th, 2015

INFO0948 Fitting and Shape Matching

Face detection and recognition. Detection Recognition Sally

Lecture 14 Shape. ch. 9, sec. 1-8, of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

TA Section 7 Problem Set 3. SIFT (Lowe 2004) Shape Context (Belongie et al. 2002) Voxel Coloring (Seitz and Dyer 1999)

Shape Context Matching For Efficient OCR

Local features: detection and description. Local invariant features

Key properties of local features

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

3D Modeling Parametric Curves & Surfaces

Learning 3D Part Detection from Sparsely Labeled Data: Supplemental Material

Fourier Transform and Texture Filtering

Feature Extraction and Image Processing, 2 nd Edition. Contents. Preface

Scanning Real World Objects without Worries 3D Reconstruction

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

Global Shape Matching

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Edge and local feature detection - 2. Importance of edge detection in computer vision

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Statistical Shape Analysis of Anatomical Structures. Polina Golland

CRF Based Point Cloud Segmentation Jonathan Nation

Lecture 18 Representation and description I. 2. Boundary descriptors

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

FACE RECOGNITION USING INDEPENDENT COMPONENT

Edge detection. Convert a 2D image into a set of curves. Extracts salient features of the scene More compact than pixels

Chapter 4. Clustering Core Atoms by Location

Local Features Tutorial: Nov. 8, 04

Computer Vision I - Appearance-based Matching and Projective Geometry

Searching for the Shape

Computer Vision I - Appearance-based Matching and Projective Geometry

3D Object Representation. Michael Kazhdan ( /657)

Basic Algorithms for Digital Image Analysis: a course

CS 532: 3D Computer Vision 13 th Set of Notes

Outline 7/2/201011/6/

Anno accademico 2006/2007. Davide Migliore

A New MPEG-7 Standard: Perceptual 3-D Shape Descriptor

COSC160: Detection and Classification. Jeremy Bolton, PhD Assistant Teaching Professor

CS 231A Computer Vision (Winter 2014) Problem Set 3

Local Patch Descriptors

Texture. Outline. Image representations: spatial and frequency Fourier transform Frequency filtering Oriented pyramids Texture representation

Ulrik Söderström 21 Feb Representation and description

SIFT - scale-invariant feature transform Konrad Schindler

Distinctive Regions of 3D Surfaces

Other Linear Filters CS 211A

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

form are graphed in Cartesian coordinates, and are graphed in Cartesian coordinates.

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo

Requirements for region detection

CS 558: Computer Vision 4 th Set of Notes

Image features. Image Features

Transcription:

Matching and Recognition in 3D Based on slides by Tom Funkhouser and Misha Kazhdan

From 2D to 3D: Some Things Easier No occlusion (but sometimes missing data instead) Segmenting objects often simpler

From 2D to 3D: Many Things Harder Rigid transform has 6 degrees of freedom vs. 3 Brute-force algorithms much less practical Rotations do not commute Difficult to parameterize, search over No natural parameterization for surfaces in 3D Hard to do FFT, convolution, PCA Exception: range images

Shape Matching Challenge Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating 3D Query Shape Descriptor Best Matches 3D Database

Shape Matching Challenge Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating 3D Query Shape Descriptor Best Matches 3D Database

Shape Matching Challenge Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating 3D Query Shape Descriptor Best Matches 3D Database

Shape Matching Challenge Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating 3D Query Shape Descriptor Best Matches 3D Database

Shape Matching Challenge Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating 3D Query Shape Descriptor Best Matches 3D Database

Shape Matching Challenge Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating Invariant to transformations Invariant to deformations Insensitive to noise Insensitive to topology Robust to degeneracies Different Transformations (translation, scale, rotation, mirror)

Shape Matching Challenge Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating Invariant to transformations Invariant to deformations Insensitive to noise Insensitive to topology Robust to degeneracies Different Articulated Poses

Shape Matching Challenge Image courtesy of Ramamoorthi et al. Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating Invariant to transformations Invariant to deformations Insensitive to noise Insensitive to topology Robust to degeneracies Scanned Surface

Shape Matching Challenge Images courtesy of Viewpoint & Stanford Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating Invariant to transformations Invariant to deformations Insensitive to noise Insensitive to topology Robust to degeneracies Different Genus Different Tessellations

Shape Matching Challenge Images courtesy of Utah & De Espona Need shape descriptor & matching method that is: Concise to store Quick to compute Efficient to match Discriminating Invariant to transformations Invariant to deformations Insensitive to noise Insensitive to topology Robust to degeneracies No Bottom! &*Q?@#A%!

Taxonomy of 3D Matching Methods Images courtesy of Amenta & Osada Structural representations Skeletons Part-based methods Feature-based methods Statistical representations Attribute feature vectors Volumetric methods Surface-based methods View-based methods

Features on Surfaces Can construct edge and corner detectors Analogue of 1 st derivative: surface normal Analogue of 2 nd derivative: curvature Curvature at each point in each direction Minimum and maximum: principal curvatures Can threshold or do nonmaximum suppression

Taxonomy of 3D Matching Methods Image courtesy of Mao Chen Structural representations Skeletons Part-based methods Tables Feature-based methods Statistical representations Feature 1 Desks File cabinets Attribute feature vectors Volumetric methods Feature 2 Surface-based methods View-based methods

Example Shape distributions Shape representation: probability distributions Distance measure: difference between distributions Evaluation method: classification performance

Shape Distributions Key idea: map 3D surfaces to common parameterization by randomly sampling shape function 3D Models Randomly sample shape function Probability Probability Distance Distance D2 Shape Distributions Similarity Measure

Which Shape Function? Implementation: simple shape functions based on angles, distances, areas, and volumes θ θ A3 (angle) D1 (distance) D2 (distance) D3 (area) D4 (volume) [Ankerst 99]

D2 Shape Distribution 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 Distribution 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? Probability Distance Skateboard 512 bytes (64 values) 0.5 seconds (10 6 samples)

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

D2 Shape Distribution 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? Probability Porsche Distance Skateboard

D2 Shape Distribution 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 Distribution 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? Ellipsoids with Different Eccentricities

D2 Shape Distribution 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 Cylinder Sphere Circle Cube Two Spheres

D2 Shape Distribution Results Question How discriminating are D2 shape distributions? Test database 133 polygonal models 25 classes 4 Mugs 6 Cars 3 Boats

D2 Shape Distribution Results D2 distributions are different across classes D2 shape distributions for 15 classes of objects

D2 Shape Distribution Results D2 distributions reveal gross shape of object Line Segment D2 shape distributions for 15 classes of objects

D2 Shape Distribution Results D2 distributions reveal gross shape of object Circle D2 shape distributions for 15 classes of objects

D2 Shape Distribution Results D2 distributions reveal gross shape of object Cylinder D2 shape distributions for 15 classes of objects

D2 Shape Distribution Results D2 distributions reveal gross shape of object Sphere D2 shape distributions for 15 classes of objects

D2 Shape Distribution Results D2 distributions reveal gross shape of object Two Spheres D2 shape distributions for 15 classes of objects

D2 Shape Distribution Results But are D2 distributions discriminating? D2 shape distributions for 15 classes of objects

D2 Shape Distribution Results Probability Distance D2 distributions for 5 tanks (gray) and 6 cars (black)

Evaluation Methods For each model (the query): Compute match score for all models Rank matches from best to worst Measure how often models in same class as query appear near top of ranked list 1 2 3 4 5 6 Query 7 8 9 Ranked Matches

Evaluation Methods Precision-recall curves Precision = retrieved_in_class / total_retrieved Recall = retrieved_in_class / total_in_class 100% 80% Precision 60% 40% 20% 0 0 20% 40% 60% 80% Recall 100%

Evaluation Methods Precision-recall curve example Precision = 0 / 0 Recall = 0 / 5 1 2 3 Precision 100% 80% 60% 40% 20% Query 4 5 6 7 8 9 Ranked Matches 0 0 20% 40% 60% 80% Recall 100%

Evaluation Methods Precision-recall curve example Precision = 1 / 1 Recall = 1 / 5 1 2 3 Precision 100% 80% 60% 40% 20% Query 4 5 6 7 8 9 Ranked Matches 0 0 20% 40% 60% 80% Recall 100%

Evaluation Methods Precision-recall curve example Precision = 2 / 3 Recall = 2 / 5 1 2 3 Precision 100% 80% 60% 40% 20% Query 4 5 6 7 8 9 Ranked Matches 0 0 20% 40% 60% 80% Recall 100%

Evaluation Methods Precision-recall curve example Precision = 3 / 5 Recall = 3 / 5 1 2 3 Precision 100% 80% 60% 40% 20% Query 4 5 6 7 8 9 Ranked Matches 0 0 20% 40% 60% 80% Recall 100%

Evaluation Methods Precision-recall curve example Precision = 4 / 7 Recall = 4 / 5 1 2 3 Precision 100% 80% 60% 40% 20% Query 4 5 6 7 8 9 Ranked Matches 0 0 20% 40% 60% 80% Recall 100%

Evaluation Methods Precision-recall curve example Precision = 5 / 9 Recall = 5 / 5 1 2 3 Precision 100% 80% 60% 40% 20% Query 4 5 6 7 8 9 Ranked Matches 0 0 20% 40% 60% 80% Recall 100%

Evaluation Methods 100% Precision 50% D2 Random 0% 0% 50% 100% Recall

Extended Gaussian Image [Horn, 1984] Represent a model by a spherical function by binning surface normals Model Angular Bins EGI

Extended Gaussian Image [Horn, 1984] Properties: Invertible for convex shapes Can be defined for most models 2D array of information Point Clouds Polygon Soups Closed Meshes Genus-0 Meshes Shape Spectrum

Extended Gaussian Image [Horn, 1984] Properties: Invertible for convex shapes Can be defined for most models 2D array of information Limitations: In general, shapes are not convex Normals are sensitive to noise 3D Model EGI

Extended Gaussian Image [Horn, 1984] Properties: Invertible for convex shapes Can be defined for most models 2D array of information Limitations: In general, shapes are not convex Normals are sensitive to noise Initial Model Noisy Model

Retrieval Results Princeton Shape Benchmark 51 potted plants 33 faces 15 desk chairs 22 dining chairs 100 humans 28 biplanes 14 flying birds 11 ships

Retrieval Results 100% Precision 50% Extended Gaussian Image D2 Random 0% 0% 50% 100% Recall

Shape Histograms [Ankerst et al., 1999] Shape descriptor stores a histogram of how much surface resides at different bins in space Model Shape Histogram (Sectors + Shells)

Boundary Voxel Representation Represent a model as the (anti-aliased) rasterization of its surface into a regular grid: A voxel has value 1 (or area of intersection) if it intersects the boundary A voxel has value 0 if it doesn t intersect Model Voxel Grid

Boundary Voxel Representation Properties: Can be defined for any model Invertible 3D array of information Point Clouds Polygon Soups Closed Meshes Genus-0 Meshes Shape Spectrum

Boundary Voxel Representation Properties: Can be defined for any model Invertible 3D array of information Limitations: Difficult to match If the resolution is too high: most voxels miss If the resolution is too low: representation is too coarse Intersection

Retrieval Results Precision 100% 50% Shape Histograms Extended Gaussian Image D2 Random 0% 0% 50% 100% Recall

Histogram Representations Challenge: If shape properties are mapped to nearby bins, they will not be compared Solutions: Match across adjacent bins: Earth Mover s Distance Low-pass filter: Convolution with a Gaussian

Earth Mover s distance [Rubner et al. 1998] Match by computing the minimal amount of work needed to transform one distribution into the other. Computing the distance: For 1D histograms can use the CDF to compare efficiently In general, need to solve the transportation problem which is inefficient for large numbers of bins

Convolving with a Gaussian The value at a point is obtained by summing Gaussians distributed over the surface of the model. Distributes the surface into adjacent bins Blurs the model, loses high frequency information Surface Gaussian Gaussian convolved surface

Gaussian EDT [Kazhdan et al., 2003] The value at a point is obtained by summing the Gaussian of the closest point on the model surface. Distributes the surface into adjacent bins Maintains high-frequency information max Surface Gaussian Gaussian EDT

Gaussian EDT Properties: Can be defined for any model Invertible 3D array of information Difference measures proximity between surfaces Point Clouds Polygon Soups Closed Meshes Genus-0 Meshes Shape Spectrum

Retrieval Results Precision 100% 50% Gaussian EDT Shape Histograms Extended Gaussian Image D2 Random 0% 0% 50% 100% Recall

Handling Transformations Key difficulty: locating objects under any rigid-body transformation Approaches: Exhaustive search: try all possibilities Invariance: use descriptors that do not change under transformations Normalization: align objects to canonical coordinate frame

Exhaustive Search Search for the best aligning transformation: Compare at all alignments Match at the alignment for which models are closest Exhaustive search for optimal rotation

Exhaustive Search Search for the best aligning transformation: Compare at all alignments Match at the alignment for which models are closest

Exhaustive Search Search for the best aligning transformation: Use signal processing for efficient correlation Represent model at many different transformations Search for the best aligning transformation: Gives the correct answer Is hard to do efficiently

Invariance Represent a model with information that is independent of the transformation Power spectrum representation Fourier Transform for translation and 2D rotations Spherical Harmonic Transform for 3D rotations Frequency Circular Power Spectrum Frequency Spherical Power Spectrum

Circular Power Spectrum Circular Function

Circular Power Spectrum + = + + + Circular Function Cosine/Sine Decomposition

Circular Power Spectrum + = + + + Circular Function = Constant Frequency Decomposition

Circular Power Spectrum Circular Function + = + + + + = + Constant 1 st Order Frequency Decomposition

Circular Power Spectrum Circular Function + = + + + + = + + Constant 1 st Order 2 nd Order Frequency Decomposition

Circular Power Spectrum Circular Function + = + + + + = + + + + Constant 1 st Order 2 nd Order 3 rd Order Frequency Decomposition

Circular Power Spectrum Circular Function = Amplitudes invariant to rotation + + + + + = + + + + Constant 1 st Order 2 nd Order 3 rd Order Frequency Decomposition

Spherical Power Spectrum Represent each spherical function as a sum of harmonic frequencies (orders) = + + + Harmonic Decomposition

Spherical Power Spectrum Represent each spherical function as a sum of harmonic frequencies (orders) = + + + Constant 1 st Order 2 nd Order 3 rd Order + + +

Spherical Power Spectrum Store how much (L 2 -norm) of the shape resides in each frequency to get a rotation invariant representation Constant 1 st Order 2 nd Order 3 rd Order = + + +

Invariant to transforms? Frequency subspaces are fixed by rotations:

Invariant to transforms? Frequency subspaces are fixed by rotations:

Invariant to transforms? Frequency subspaces are fixed by rotations:

Invariant to transforms? Frequency subspaces are fixed by rotations:

Power Spectrum Translation-invariance: Represent the model in a Cartesian coordinate system Compute the 3D Fourier transform Store the amplitudes of the frequency components f ( x, Cartesian Coordinates y, z) = l, m, n f l e, m, n i( lx+ my+ zn) y x z { f } l, m, n l, m, n Translation Invariant Representation

Power Spectrum Single axis rotation-invariance: Represent the model in a cylindrical coordinate system Compute the Fourier transform in the angular direction Store the amplitudes of the frequency components η r h f Cylindrical Coordinates ( r, h, θ ) = k f k { f } k ( r, h) k Rotation Invariant Representation ( r, h) e i( kθ )

Power Spectrum Full rotation-invariance: Represent the model in a spherical coordinate system Compute the spherical harmonic transform Store the amplitudes of the frequency components η ϖ Spherical Coordinates m f ( r, θ, φ) = f, ( r) Y ( θ, φ) l m l l m l r m l m f l r ( ) 2 Rotation Invariant Representation l

Power Spectrum Power spectrum representations Are invariant to transformations Give a lower bound for the best match Tend to discard too much information Translation invariant: n 3 data -> n 3 /2 data Single-axis rotation invariant: n 3 data -> n 3 /2 data Full rotation invariant: n 3 data -> n 2 data

Normalization Place a model into a canonical coordinate frame by normalizing for: translation scale rotation Translation Rotation Scale

Alignment of Point Sets [Horn et al., 1988] Given two point sets P={p 1,,p n } and Q={q 1,,q n }, what is the transformation T minimizing the sum of squared distances: d( P, Q) = n i= 1 p T ( q ) i i 2 p i q n q1 q i q2 p n p 1 p 2 Point set P Point set Q

Alignment of Point Sets [Horn et al., 1988] Translation Align the models so that their center of mass is at the origin. n n i= 1 p i = 0 and q i= 1 i = 0 p i q i p 2 p n q n q 1 q 2 p 1 Translated point set P Translated point set Q

Alignment of Point Sets [Horn et al., 1988] Scale Align the models so that their mean variance is 1. n i= 1 2 p i = 1 and q n i= 1 i 2 = 1 p i q i p n p 1 p 2 q n q 1 q 2 Scaled point set P Scaled point set Q

Alignment of Point Sets [Horn et al., 1988] Rotation Factor the cross covariance matrix: ( p p ) ( q ) t M =... 1... n 1 q n p i q i p n p 1 p 2 q n q 1 q 2 Rotationally aligned point sets P and Q

Normalization Place a model into a canonical coordinate frame: Translation: center of mass i= 1 Can be done on a per-model basis Scale: mean variance n i= 1 n p i = 0 and q 2 i= 1 Can be done on a per-model basis Rotation: factoring cross covariance matrix Need to know the correspondences between models n p i = 1 and q n i= 1 ( p p ) ( q ) t M =... 1... n 1 q n i i = 2 0 = 1

Rotation Challenge: We want to normalize for rotation on a per-model basis Solution: Align the model so that the principal axes align with the coordinate axes PCA Alignment

Rotation Challenge: We want to normalize for rotation on a per-model basis Solution: Align the model so that the principal axes align with the coordinate axes PCA Alignment Directions of the axes are ambiguous

Normalization (PCA) PCA defines a coordinate frame up to reflection in the coordinate axes. y Make descriptor invariant to the eight reflections Reflections fix the cosine term Reflections multiply the sine term by -1 f ( θ ) = a cos( kθ ) + b sin( kθ ) k k k x z { } k k b k a, Translation Invariant Representation

Problem with PCA-Based Alignment If singular values are close, axes unstable

Retrieval Results (Rotation) 100% 50% Gaussian EDT Exhaustive Search PCA + Flip Invariance Cylindrical Power Spectrum Spherical Power Spectrum PCA Size: Method Floats Exhaustive Search 8192 PCA + Flip Invariance 8192 PCA 8192 Cylindrical PS 4352 Spherical PS 512 0% 0% 50% 100% Recall Time: Method Secs. Exhaustive Search 20.59 PCA + Flip Invariance.67 PCA.67 Cylindrical PS.32 Spherical PS.03