A Survey on Shape Correspondence O. van Kaick1, H. Zhang1, G. Hamarneh1, and D. Cohen-Or2 Simon Fraser University, Canada 2 Tel Aviv University, Israel 1 Correspondence Webster dictionary definition • the agreement of things with one another • a particular similarity • a relation between sets in which each member of one set is associated with one or more members of the other Correspondence Webster dictionary definition • the agreement of things with one another • a particular similarity • a relation between sets in which each member of one set is associated with one or more members of the other Focus on shapes • Correspondence between shape representations Problem statement • Given n input shapes, search for a meaningful relation R between their elements Registration correspondence • Registration: to bring several (partial) shapes to (almost) exact alignment, rigidly or non-rigidly • Correspondence: no repeated geometry expected Why is correspondence hard? • Given n input shapes, search for a meaningful relation R between their elements Meaningful correspondence • Appropriate notion of “similarity” or “agreement” • Similarity: corresponding points/regions look similar local geometric similarity • Agreement: close-by points should match close-by points proximity or distortion Local similarity + distortion Local similarity Local similarity Proximity or distortion Local similarity + distortion Not always so easy • Local similarity + distortion often does not work Correspondence by human • Recognition is involved and that is hard! Human recognition • Can tolerate many shape variations ▫ Rigid transforms: e.g., rotation ▫ Isometric transform and pose ▫ Local geometric details Human recognition • More drastic shape variations ▫ Non-homogenous part scaling ▫ Even topological differences • Human recognition is often [Lipman et al. 2009] ▫ beyond individual components in a context ▫ beyond what something looks like what it what it does functionality Computer algorithms • Relatively strict geometry constraints ▫ Rigid transforms: e.g., rotation ▫ Isometric transform and pose ▫ Local geometric details [Ovsjanikov et al. 2008] Computer algorithms • Challenging: more drastic variations (semantics?) ▫ Non-homogenous part scaling (what is a part?) ▫ Topological differences [Lipman et al. 2009] Challenge: objective • Correspondence is a search problem • Search objective can be hard to define ▫ Easy: relatively strict geometry constraints/criteria ▫ Hard: shape semantics, modeling of functionality What is a handle? What is an arm-rest? Challenge: search space • Search space can be large to intractable ▫ Perhaps only rigid transforms are low-dim (6D) ▫ Difficult to parameterize search space for nonrigid or topology-modifying transforms Partial correspondence • Matching partial shapes adds more challenge ▫ Larger search space: also need to find the subsets many (2n) of them! Partial correspondence • Matching partial shapes adds more challenge ▫ Harder to define objective: small subsets = small cost, but is that desired result ? Not to be discouraged • I am skipping ahead: this is a 90-min talk! • A LOT of interesting stuff even in rigid case! ▫ Well-formulated ▫ Challenges: efficiency, partial matching, … Not to be discouraged • More open: non-homogenous part scaling, topology ▫ Strong tie to part analysis ▫ Semantic analysis ▫ Use of prior knowledge ShapeAnnotator [Attene et al. 09] Overview • Motivations: why shape correspondence? • Problem and specialization/classification • Representative approaches • Validation • Conclusion and future perspectives Overview • Motivations: why shape correspondence? • Problem and specialization/classification • Representative approaches • Validation • Conclusion and future perspectives Motivating applications • Registration • Transfer • Understanding • Synthesis Registration Registration for reconstruction Upcoming EG talk Q. Zheng, A. Sharf, A. Tagliasacchi, B. Chen, H. Zhang, A. Sheffer, and D. Cohen-Or, “Consensus skeleton for non-rigid space-time registration”. Thursday, 13:30 – 15:30, Concert Hall Attribute transfer Texture mapping [KSG03] Understanding • Recognition by corresponding query to models tag: leg tag: head Part query Matched parts from model database Part analogy [Shapira et al. *09] Synthesis • Correspondence allows statistical modeling of shape/part variations Morphable faces [BV99] Human modeling [ASK*05] Overview • Motivations: why shape correspondence? • Problem and specialization/classification • Representative approaches • Validation • Conclusion and future perspectives Recall the problem • Given n input shapes, search for a meaningful relation R between their elements Input representation • Given n input shapes, search for a meaningful relation R between their elements Full mesh Segments or parts Features Skeleton Input: 2D, 3D, 2D+time, 3D+time? Input size • Given n input shapes, search for a meaningful relation R between their elements Group correspondence: n > 2 Consensus skeleton [Zheng et al. 2010] Output: full vs. partial • Given n input shapes, search for a meaningful relation R between their elements Full Partial Output: dense vs. sparse • Given n input shapes, search for a meaningful relation R between their elements The hard problem can be initialization Output: transform or not? • Given n input shapes, search for a meaningful relation R between their elements Correspondence only rigid isometric non-rigid topology 1-many many-many fuzzy Correspondence + aligning transformation Objective • Given n input shapes, search for a meaningful relation R between their elements Meaningful = local shape similarity and distortion Objective • Given n input shapes, search for a meaningful relation R between their elements Meaningful = good rigid alignment Objective • Given n input shapes, search for a meaningful relation R between their elements Meaningful = good non-rigid alignment Objective • Given n input shapes, search for a meaningful relation R between their elements Meaningful = agreement with human understanding Overview • Motivations: why shape correspondence? • Problem and specialization/classification • Representative approaches • Validation • Conclusion and future perspectives Representative approaches • Rigid transform ▫ ICP: iterative closest points ▫ Transformation search by voting • Piece-wise rigidity and isometry ▫ Rigidity decomposition ▫ Spectral embedding • Large non-rigid deformation ▫ Deformation-driven search Representative approaches • Rigid transform ▫ ICP: iterative closest points ▫ Transformation search by voting • Piece-wise rigidity and isometry ▫ Rigidity decomposition ▫ Spectral embedding • Large non-rigid deformation ▫ Deformation-driven search Iterative closest point (ICP) • One of the most classic correspondence schemes • Input: data and model shapes • Objective: ▫ Rigid transform = rotation + translation ▫ Minimize mean squared error from data points to closest points in model • Correspondence obtained by Euclidean proximity [Besl and Mckay 92] ICP algorithm model data Model and data shapes (point samples) [Besl and Mckay 92] ICP algorithm model data Find closest points from data to model [Besl and Mckay 92] ICP algorithm model data Find best rigid transform to align the corresponding points [Besl and Mckay 92] ICP algorithm model data Iterate … [Besl and Mckay 92] Issues with ICP • Many variants [Rusinkiewicz and Levoy 01] • Greedy: bad starts lead to bad local minima • Usually, initial data and model almost aligned • ICP works best as a refinement scheme • Harder: initial alignment even w/ arbitrary pose ▫ Feature-guided initial alignment ▫ Transform-space voting Robust global registration Feature selection on data Registration by features ICP refinement • Feature points selected by robust and scaledependent local curvature measure • Register feature points from data to model [Gelfand et al. 05] Correspond features to model • Use an exhaustive search (branch-and-bound) • Given feature point on data, matching candidates on model are filtered by local shape similarity • Rigidity constraints (distortion measure) further prune the search pi p j 2 qi q j 2 [Gelfand et al. 05] Optimization criteria • The implicit goal is to minimize a combination of similarity distance and distortion SimlarityD ist( p , q ) (1 ) Distortion ( p , p , q , q ) i i : feature i i j i i , j:feature • More difficult here due to partial matching exhaustive search over subsets of varying size j A general formulation SimlarityD ist( p , q ) (1 ) Distortion ( p , p , q , q ) i i : feature i i j i i , j:feature • For geometry-driven shape correspondence ▫ SimiarityDist() and Distortion() can vary • Essentially the (NP-hard) Quadratic Assignment Problem (QAP), if feature set is given j Issues • Issues with feature-aided ICP ▫ Needs sufficient number of features ▫ Feature extraction can be unreliable with much outlier, noise, and missing data • Transform-space voting ▫ Let data “vote” for the rigid transform that aligns the largest common subsets ▫ Voting in space of transforms via peak detection Transform-space voting Transform-space voting Simple triples of points (triples define a rigid transform) Transform-space voting T Estimate transform and test quality of fit Transform-space voting Good T Voting Transform space Good transform cats vote in low-D transform space Transform-space voting Good T Voting Transform space • No features, any initial poses, but costly O(n3) An insight: choose 4 points • Choosing special sets of 4 points, planar congruent sets, makes the problem easier O(n2) Choose a base on one shape S1: co-planar 4-point set Find all 4-point sets on other shape S2 approx. congruent to {a, b, c, d} [Aiger et al. 08] Basic idea • Two edge ratios r1 and r2 are invariant to affine transform (then certainly rigid transform) [Aiger et al. 08] Basic idea • Find 4-point sets in S2 sharing the same ratios • Looking at all quadruples too costly O(n4) • Check for “collision” between intermediate points on all edges in S2 O(n2) edges ▫ 4 intermediate points per edge [Aiger et al. 08] Example • Only two intermediates points shown for clarity [Aiger et al. 08] Representative approaches • Rigid transform ▫ ICP: iterative closest points ▫ Transformation search by voting • Piece-wise rigidity and isometry ▫ Rigidity decomposition ▫ Spectral embedding • Large non-rigid deformation ▫ Deformation-driven search Relaxing rigidity … • Piece-wise rigidity mainly motivated by character modeling/capture with pose • Poses are approximately isometric transforms Extension and reduction to rigid SimlarityD ist( p , q ) (1 ) Distortion ( p , p , q , q ) i i i : feature Need pose-oblivious shape descriptor and distance i j i i , j:feature Replace Euclidean for rigid by geodesic for approx. isometry • Relatively straightforward extension from rigid • Reduction to the rigid case: rigid decomposition or isometric embedding j Pose-oblivious (scalar) descriptor Top: Shape diameter function Bottom: Centricity function [Gal et al. 07] More on descriptors • Descriptions of local geometry • Key to correspondence: measure local similarity • Important issues: ▫ Robustness to noise and tessellation, e.g., integral invariants [Potmann et al. 06] ▫ Use of context, e.g., shape context, spin image, part analogy [Shapira et al. 09] ▫ Use the right scale (neighbourhood) Rigid decomposition • For deformable scan registration • Instead of one global rigid transform, find rigid transforms for different pieces to register Decomposition of shape into rigidly moving pieces [Chang and Zwicker 08] A labelling problem • Input: two (possibly incomplete) scans • Output: ▫ Vertices labelled with candidate rigid transforms ▫ Labelling implying a rigid decomposition ▫ Piece-wise rigid registration [Chang and Zwicker 08] Algorithm overview 1. Candidate correspondence by feature matching [Chang and Zwicker 08] Algorithm overview 1. Candidate correspondence by feature matching 2. Map rigid transform between corresponded features (their local frames) into transform space [Chang and Zwicker 08] Algorithm overview 1. Candidate correspondence by feature matching 2. Map rigid transform between corresponded features (their local frames) into transform space 3. Cluster in transform space to get candidate transforms [Chang and Zwicker 08] Many other works • Reliance of large scan overlaps between frames • Use of “reduced models”, e.g., skeletons ▫ Pair-wise correspondence [Chang and Zwicker 09] ▫ Skeleton consensusization [Zheng et al. 2010] • Many recent papers on deformable shape capture an EG tutorial this year T2: Geometric Registration for Deformable Shapes (Monday) by Will Chang, QiXing Huang, Hao Li, Niloy Mitra, Mark Pauly, Michael Wand Use of embedding • Transforming (embedding) task into new domain • Solution facilitated in that domain ▫ E.g., Spectral embedding pose normalization • General topic: spectral geometry processing ▫ Eurographics 2007 STAR and survey [Zhang et al. 10] ▫ SIGGRAPH 2010 course with Bruno Levy Spectral embedding • Use of eigenvectors of appropriate matrices to embed original shape into the spectral domain [Jain et al. 07] [Au et al. 2010] Rigidity reduction Rigid alignment Rigid alignment • Reduction to rigid alignment in spectral domain (more or less) [Jain et al. 07] [Au et al. 2010] Overall structure Eigendecomposition: A = UUT Input mesh y A = U e.g. y’ = U(3)U(3)Ty Some mesh operator A = UT Spectral correspondence 1. Define appropriate distance 2. Distances affinities 3. Spectrally embed two shapes based on affinity matrix 4. Correspondence analysis in the Rigid alignment between mesh elements spectral domain ▫ Perhaps rigid transform suffices ▫ At least good initialization [Jain et al. 07] A specific algorithm Pose normalization Geodesic-based spectral embedding Best matching Size of data sets Eigenvector scaling Non-rigid ICP via thin-plate spline Dealing with a bit of nonuniform deformation [Jain et al. 07] Embedding • Affinities defined by geodesics Eigenvector scaling 1 u1 2 u2 k uk … Spectral embeddings using 2nd, 3rd, and 4th scaled eigenvectors Eigenvectors u1, u2, …, uk [Jain et al. 07] Why does spectral work? • The right distance/affinity of correspondence into the distance measure • E.g., pose invariance via use of geodesic distance Rigid alignment • Build invariance properties • Affinities via Gaussian scale normalization [Jain et al. 07] Eigenvector switching • Eigenvector plots reveal switching due to part stretching • Switching causes a reflection, as does a sign flip y x y y x x [Jain et al. 07] Fixing eigenvector switching • “Un-switching” and “un-flipping” by exhaustive search • Search through all orthogonal transformations (rotation + reflection) in spectral domain [Mateus et al., 07] [Jain et al. 07] switching Some results symmetry Models with articulation and moderate stretching [Jain et al. 07] Cause of eigenvector switching • Stretching of parts Large variations in embedding Stretch-invariant correspondence? • Probably not arbitrary stretching • But stretching that preserves part structure ▫ Need distance measure to capture part structure Distance measure (metric) • Euclidean • Geodesic • Isophotic or angular [Pottmann 04] • Diffusion [Coifman 06] Surface based! Most used: geodesic & angular • Geodesic distance: insensitive to parts • Angular distance: subject to “leakage” problem No angular difference Diffusion distance • Models connected-ness between points ▫ Can sense a “narrowing” over the surface • More global than geodesic ▫ Consider more paths (those with length t or less) between two points An example Geodesic Angular Diffusion Still cannot fully sense part information Part-ware! Geodesic Diffusion Angular Part-aware [Liu et al. 09] Missing: connect to volume Parts are volumetric! [Liu et al. 09] Volumetric view • Look at the object from inside [Liu et al. 09] Volumetric view • Look at the object from inside to define a metric [Liu et al. 09] Use of visibility information • Significant visibility changes across part boundary • Design part-aware metric to capture change • Combine with geodesic and angular distances [Liu et al. 09] Visibility change [Liu et al. 09] Visibility change [Liu et al. 09] Visibility change [Liu et al. 09] Visibility change [Liu et al. 09] Visibility change [Liu et al. 09] Visibility change along path d VSI Diff. c a b e [Liu et al. 09] Results source Part-aware distance field [Liu et al. 09] Use of part-aware metric Homer Stretched [Liu et al. 09] Use of part-aware metric Homer Stretched Geodesic only Geodesic only Part-aware metric Part-aware metric Spectral embeddings [Liu et al. 09] Robustness against part stretching Geodesic only Geodesic only Part-aware metric Part-aware metric Spectral embeddings Rigid ICP registration Homer Stretched [Liu et al. 09] Limitations to spectral embedding • Intrinsic affinities ▫ Cannot distinguish symmetric switches ▫ Topology sensitivity • Exhaustive search for eigenvector un-switching ▫ Use of heat kernels (a sum) [Sun et al., Gebel et al. 09] • Global and inappropriate for partial matching Representative approaches • Rigid transform ▫ ICP: iterative closest points ▫ Transformation search by voting • Piece-wise rigidity and isometry ▫ Rigidity decomposition ▫ Spectral embedding • Large non-rigid deformation ▫ Deformation-driven search Difficulties SimlarityD ist( p , q ) (1 ) Distortion ( p , p , q , q ) i i i : feature Descriptor insensitive to pose and local geometry change i j i j i , j:feature No longer appropriate in the case of large deformations • More drastic shape variations + partial matching • Embedding or rigidity reduction no longer applies • Only few works so far Large non-rigid deformation Pose + non-homogenous part scaling Local shape variability [Zhang et al. 08] A more global approach • Local vs. global criteria ▫ Local: feature similarity ▫ Local criterion less reliable with large shape variations ▫ Focus more on global consistency of correspondence • Use of non-rigid mesh deformation Correspondence cost = effort to deform one < mesh into other [Zhang et al. 08] A result [Zhang et al. 08] Advantages • Automatic • Handles variations in pose, local scale, part composition, geometric details • Self distortion cost ▫ Energy measured on surface of deformed mesh ▫ Not error of fit partial matching and variations ▫ Feature similarity and geodesic distances do not enter cost; they only prune the search Advantages • Symmetry breaking extrinsic ▫ Symmetry switch captured by surface distortion • Priority-driven combinatorial search ▫ Priority = (self) deformation cost ▫ Exploration of large solution space ▫ Avoid initial align and local minima Symmetry switch Algorithm Step 1: feature (extremeties) extraction Algorithm Step 1: feature (extremeties) extraction Step 2: combinatorial search - Priority = deformation cost - Pruning by feature similarity and geodesic distance Search tree …… Search tree Search tree …… Search tree …… Search tree …… Search tree …… All partial …… matchings listed in tree Some results Observe partial matching Limitations • Still limited by use of geodesic distances • Pure geometry w/o modeling of semantics Limitations • Quite expensive due to exhaustive search and costly mesh deformation steps • Upcoming talk: Oscar K-C. Au, C-L. Tai, D. Cohen-Or, Y. Zhang, H. Fu, “Electors Voting for Fast Automatic Shape Correspondence”. Thursday, 13:30 – 15:30, Concert Hall Overview of talk • Motivations: why shape correspondence? • Problem and specialization/classification • Representative approaches • Validation • Conclusion and future perspectives Qualitative validation • Visual examination Quantitative evaluation • Indirect: ▫ Retrieval, e.g., Princeton Shape Benchmark • Direct: shapes with known correspondence ▫ Isometric deformations (TOSCA dataset) ▫ Simulated deformations [HJT08] ▫ No general benchmark for shape correspondence ▫ ShapeAnnotator [Attene et al. 09] ▫ Princeton segmentation benchmark [Chen et al. 09] Overview of talk • Motivations: why shape correspondence? • Problem and specialization/classification • Representative approaches • Validation • Conclusion and future perspectives Summary • Fundamental building blocks ▫ Local descriptors (robustness, context, scale) ▫ Surface metric to build the right neighbourhood or invariance properties (geodesic, angular, diffusion, commute-time, part-aware) • The right problem specialization ▫ Correspondence only: solve assignment (QAP), lots of work in vision, survey: [Pardalos et al. 2000] ▫ Alignment sought in most graphics applications Summary • Solution paradigms ▫ Solve assignment: relaxation labelling, ACO, HMM ▫ Searching for alignment: ICP, voting ▫ Priority-driven search: deformation, graph editing ▫ Embedding: spectral, mobius [Lipman & Funkhouser 09] • Partial matching is hard ▫ Exhaustive search, voting (find largest common subsets), part-in-whole signatures [Shapira et al. 09] Progressing from low- to high-level Rigid Progressing from low- to high-level Rigid Isometry/pose Progressing from low- to high-level Rigid Isometry/pose General deformation Progressing from low- to high-level Rigid Isometry/pose General deformation Non-rigid but topology-preserving Progressing from low- to high-level Rigid Isometry/pose General deformation Non-rigid but topology-preserving Topology Progressing from low- to high-level Rigid General deformation Isometry/pose Topology Non-rigid but topology-preserving Efficiency, partial matching Purely geometric Formulation, part analysis Semantic Knowledge-driven Upcoming paper V. Kalogerakis, A. Hertzmann, and K. Singh, “Learning 3D mesh segmentation and labelling”, SIGGRAPH 2010, to appear. Aside: visualizing correspondence • Matching color tags We are not visualizing but recognition! Visualizing correspondence • Edge links: becoming cluttered quickly Question: effective visualization of correspondence? Acknowledgement • The anonymous reviewers • My co-authors and many other people with their excellent works and discussions • Images and PPTs taken w/ or w/o permission • Funding agencies Questions Partial correspondence?