dynamic geometry processing - max planck...
TRANSCRIPT
![Page 1: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/1.jpg)
Local, Rigid, PairwiseThe ICP algorithm and its extensions
Dynamic Geometry ProcessingEG 2012 Tutorial
Niloy J. MitraUniversity College London
![Page 2: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/2.jpg)
M1 ⇡ T (M2)
Eurographics 2012, Cagliari, Italy
Geometric Matching
2
M1 M2
![Page 3: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/3.jpg)
T : translation
Eurographics 2012, Cagliari, Italy
Matching with Translation
3
M1 M2
M1 ⇡ T (M2)
![Page 4: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/4.jpg)
T : translation + rotation
Eurographics 2012, Cagliari, Italy
Matching with Rigid Transforms
4
M1 M2
M1 ⇡ T (M2)
![Page 5: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/5.jpg)
Eurographics 2012, Cagliari, Italy
Partial Matching
5
M1 M2
M1 ⇡ T (M2)
T : translation + rotation
![Page 6: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/6.jpg)
M1 ⇡ T2(M2) · · · ⇡ Tn(Mn)
Given M1, . . . ,Mn, find T2, . . . , Tn such that
Eurographics 2012, Cagliari, Italy
Local vs. Global Matching
6
global registra1onany rigid transform
local registra1onnearly aligned
![Page 7: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/7.jpg)
p1 ! q1
p2 ! q2
p3 ! q3
Rpi + t ⇡ qi
Eurographics 2012, Cagliari, Italy
ICP: Local, partial, rigid transformsHow many point-pairs are needed to uniquely de!ne a rigid transform?
7
pi ! qjCorrespondence problem:?
![Page 8: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/8.jpg)
Eurographics 2012, Cagliari, Italy
Pairwise Rigid Registration GoalAlign two partially-overlapping meshes, given initial guess for relative transform
![Page 9: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/9.jpg)
Eurographics 2012, Cagliari, Italy
Outline
ICP: Iterative Closest Points
Classi!cation of ICP variants• Faster alignment• Better robustness
ICP as function minimization
Thin-plate spline (non-rigid ICP)
![Page 10: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/10.jpg)
Eurographics 2012, Cagliari, Italy
Aligning 3D Data
If correct correspondences are known, can !nd correct relative rotation/translation
![Page 11: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/11.jpg)
Eurographics 2012, Cagliari, Italy
Aligning 3D DataHow to !nd correspondences:
User input?Feature detection? Signatures?
![Page 12: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/12.jpg)
pi ! C(pi)
Eurographics 2012, Cagliari, Italy
Aligning 3D DataAssume: Closest points as corresponding
![Page 13: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/13.jpg)
Eurographics 2012, Cagliari, Italy
Aligning 3D Data... and iterate to !nd alignment
Iterative Closest Points (ICP) [Besl and McKay 92]
Converges if starting poses are close enough
![Page 14: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/14.jpg)
Eurographics 2012, Cagliari, Italy
Basic ICPSelect (e.g., 1000) random points
Match each to closest point on other scan,using data structure such as k-d tree
Reject pairs with distance > k times median
Construct error function:
Minimize (closed form solution in [Horn 87])
E :=X
i
(Rpi + t� qi)2
![Page 15: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/15.jpg)
Eurographics 2012, Cagliari, Italy
ICP Variants
1. Selec=ng source points (from one or both meshes)2. Matching to points in the other mesh3. Weigh=ng the correspondences4. Rejec=ng certain (outlier) point pairs5. Assigning an error metric to the current transform6. Minimizing the error metric w.r.t. transforma=on
Variants of basic ICP
![Page 16: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/16.jpg)
Eurographics 2012, Cagliari, Italy
Performance of VariantsCan analyze various aspects of performance:• Speed• Stability• Tolerance of noise and/or outliers•Maximum initial misalignment
Comparisons of many variants of ICP[Rusinkiewicz & Levoy, 3DIM 2001]
![Page 17: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/17.jpg)
Eurographics 2012, Cagliari, Italy
ICP Variants
1. Selec=ng source points (from one or both meshes)2. Matching to points in the other mesh3. Weigh=ng the correspondences4. Rejec=ng certain (outlier) point pairs5. Assigning an error metric to the current transform6. Minimizing the error metric w.r.t. transforma=on
![Page 18: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/18.jpg)
p
q
nM2(q)C(p)
Eurographics 2012, Cagliari, Italy
Point-to-Plane Error MetricUsing point-to-plane distance instead of point-to-point allows !at regions slide along each other [Chen and Medioni 91]
![Page 19: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/19.jpg)
point-‐to-‐point point-‐to-‐plane
Eurographics 2012, Cagliari, Italy
Point-to-Plane Error Metric
19
![Page 20: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/20.jpg)
Eurographics 2012, Cagliari, Italy
Point-to-Plane Error MetricError function:
where R is a rotation matrix, t is translation vector
Linearize (i.e., assume that sin θ ≈ θ, cos θ ≈ 1):
Result: overconstrained linear system
E :=X
i
((Rpi + t� qi) · ni)2
E ⇡X
i
((pi � qi) · ni + r · (pi ⇥ ni) + t · ni)2 with r =
2
4rx
ry
rz
3
5
pi ! Rpi + t pi ! c̄+ pi ⇥ c
![Page 21: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/21.jpg)
x = (ATA)�1ATb
Eurographics 2012, Cagliari, Italy
Overconstrained linear system
Solve using least squares
ATAx = ATb
Point-to-Plane Error Metric
![Page 22: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/22.jpg)
Eurographics 2012, Cagliari, Italy
Improving ICP StabilityClosest compatible point
Stable sampling
![Page 23: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/23.jpg)
Eurographics 2012, Cagliari, Italy
ICP Variants
1. Selec=ng source points (from one or both meshes)2. Matching to points in the other mesh3. Weigh=ng the correspondences4. Rejec=ng certain (outlier) point pairs5. Assigning an error metric to the current transform6. Minimizing the error metric w.r.t. transforma=on
![Page 24: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/24.jpg)
Eurographics 2012, Cagliari, Italy
Closest Compatible PointClosest points are often bad as corresponding points
Can improve matching effectiveness by restricting match to compatible points• Compatibility of colors [Godin et al. 94]
• Compatibility of normals [Pulli 99]
•Other possibilities: curvatures, higher-order derivatives, and other local features
![Page 25: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/25.jpg)
Eurographics 2012, Cagliari, Italy
ICP Variants
1. Selec=ng source points (from one or both meshes)2. Matching to points in the other mesh3. Weigh=ng the correspondences4. Rejec=ng certain (outlier) point pairs5. Assigning an error metric to the current transform6. Minimizing the error metric w.r.t. transforma=on
![Page 26: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/26.jpg)
Eurographics 2012, Cagliari, Italy
Selecting Source PointsUse all points
Uniform subsampling
Random sampling
Stable sampling [Gelfand et al. 2003]• Select samples that constrain all degrees of freedom
of the rigid-body transformation
![Page 27: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/27.jpg)
Eurographics 2012, Cagliari, Italy
Stable Sampling
Uniform Sampling Stable Sampling
![Page 28: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/28.jpg)
Eurographics 2012, Cagliari, Italy
Covariance MatrixAligning transform is given by ATAx = ATb, where
Covariance matrix C = ATA determines the change in error when surfaces are moved from optimal alignment
![Page 29: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/29.jpg)
Eurographics 2012, Cagliari, Italy
Sliding DirectionsEigenvectors of C with small eigenvalues correspond tosliding transformations
3 small eigenvalues3 rota0on
3 small eigenvalues2 transla0on1 rota0on
2 small eigenvalues1 transla0on1 rota0on
1 small eigenvalue1 rota0on
1 small eigenvalue1 transla0on
[Gelfand et al. ‘04]
![Page 30: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/30.jpg)
Eurographics 2012, Cagliari, Italy
Stability Analysis
Key: 3 DOFs stable
4 DOFs stable
5 DOFs stable
6 DOFs stable
![Page 31: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/31.jpg)
Eurographics 2012, Cagliari, Italy
Sample SelectionSelect points to prevent small eigenvalues• Based on C obtained from sparse sampling
Simpler variant: normal-space sampling• Select points with uniform distribution of normals• Pro: faster, does not require eigenanalysis• Con: only constrains translation
![Page 32: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/32.jpg)
Eurographics 2012, Cagliari, Italy
ResultStability-based or normal-space sampling important for smooth areas with small features
Random sampling Normal-‐space sampling
![Page 33: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/33.jpg)
Eurographics 2012, Cagliari, Italy
Selection vs. Weighting
Could achieve same effect with weighting
Hard to ensure enough samples in features except at high sampling rates
However, have to build special data structure
Preprocessing / run-time cost tradeoff
![Page 34: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/34.jpg)
Eurographics 2012, Cagliari, Italy
Improving ICP SpeedProjection-based matching
1. Selec=ng source points (from one or both meshes)2. Matching to points in the other mesh3. Weigh=ng the correspondences4. Rejec=ng certain (outlier) point pairs5. Assigning an error metric to the current transform6. Minimizing the error metric w.r.t. transforma=on
![Page 35: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/35.jpg)
Eurographics 2012, Cagliari, Italy
Finding Corresponding PointsFinding closest point is most expensive stage of the ICP algorithm• Brute force search – O(n)• Spatial data structure (e.g., k-d tree) – O(log n)
![Page 36: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/36.jpg)
Eurographics 2012, Cagliari, Italy
Projection to Find CorrespondencesIdea: use a simpler algorithm to #nd correspondences
For range images, can simply project point [Blais 95]
• Constant-time• Does not require precomputing a spatial data structure
![Page 37: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/37.jpg)
Eurographics 2012, Cagliari, Italy
Projection-Based MatchingSlightly worse performance per iteration
Each iteration is one to two orders of magnitude faster than closest-point
Result: can aligntwo range imagesin a few milliseconds,vs. a few seconds
![Page 38: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/38.jpg)
Eurographics 2012, Cagliari, Italy
ApplicationGiven:• A scanner that returns range images in real time• Fast ICP• Real-time merging and rendering
Result: 3D model acquisition• Tight feedback loop with user• Can see and #ll holes while scanning
![Page 39: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/39.jpg)
Eurographics 2012, Cagliari, Italy
Scanner Layout
![Page 40: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/40.jpg)
Eurographics 2012, Cagliari, Italy
Photograph
![Page 41: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/41.jpg)
Eurographics 2012, Cagliari, Italy
Real-Time Result
![Page 42: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/42.jpg)
Eurographics 2012, Cagliari, Italy
Theoretical Analysis of ICP VariantsOne way of studying performance is via empirical tests on various scenes
How to analyze performance analytically?
For example, when does point-to-plane help? Under what conditions does projection-based matching work?
![Page 43: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/43.jpg)
Eurographics 2012, Cagliari, Italy
What Does ICP Work?
Two ways of thinking about ICP:• Solving the correspondence problem•Minimizing point-to-surface squared distance
ICP is like (Gauss-) Newton method on an approximation of the distance function
f(x)
![Page 44: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/44.jpg)
Eurographics 2012, Cagliari, Italy
What Does ICP Work?
f’(x)
Two ways of thinking about ICP:• Solving the correspondence problem•Minimizing point-to-surface squared distance
ICP is like (Gauss-) Newton method on an approximation of the distance function
![Page 45: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/45.jpg)
Eurographics 2012, Cagliari, Italy
What Does ICP Do?
Two ways of thinking about ICP:• Solving the correspondence problem•Minimizing point-to-surface squared distance
ICP is like Newton’s method on an approximation of the distance function• ICP variants affect shape of
global error function orlocal approximation
![Page 46: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/46.jpg)
Eurographics 2012, Cagliari, Italy
Point-to-Surface Distance
![Page 47: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/47.jpg)
Eurographics 2012, Cagliari, Italy
Point-to-Point Distance
![Page 48: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/48.jpg)
Eurographics 2012, Cagliari, Italy
Point-to-Plane Distance
![Page 49: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/49.jpg)
Eurographics 2012, Cagliari, Italy
Point-to-Multiple-Point Distance
![Page 50: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/50.jpg)
Eurographics 2012, Cagliari, Italy
Point-to-Multiple-Point Distance
![Page 51: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/51.jpg)
Eurographics 2012, Cagliari, Italy
Soft Matching and Distance Functions
Soft matching equivalent to standard ICP on (some) #ltered surface
Produces #ltered version of distance function⇒ fewer local minima
Multiresolution minimization [Turk & Levoy 94]or softassign with simulated annealing(good description in [Chui 03])
![Page 52: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/52.jpg)
Eurographics 2012, Cagliari, Italy
Distance-!eld Based OptimizationPrecompute piecewise-quadratic approximation to distance #eld throughout space
Store in “d2tree” data structure
2D 3D
[Mitra et al. 2004]
![Page 53: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/53.jpg)
Eurographics 2012, Cagliari, Italy
Distance-!eld Based OptimizationPrecompute piecewise-quadratic approximation to distance #eld throughout space
Store in “d2tree” data structure
At run time, look up quadratic approximants and optimize using Newton’s method•More robust, wider basin of convergence•Often fewer iterations, but more precomputation
![Page 54: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/54.jpg)
Eurographics 2012, Cagliari, Italy
Convergence Funnel
Transla=on in x-‐z plane. Rota=on about y-‐axis.
Converges
Does not converge
![Page 55: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/55.jpg)
Eurographics 2012, Cagliari, Italy
Convergence Funnel
distance-field formulation
Plane-to-plane ICP
![Page 56: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/56.jpg)
Eurographics 2012, Cagliari, Italy
Non-rigid ICP
Thin plate spline [Bookstein ’89]
Minimize bending energy (second order par=al deriva=ves)
Affine transforms are linear and hence do not contribute to J.
![Page 57: Dynamic Geometry Processing - Max Planck Societyresources.mpi-inf.mpg.de/deformableShapeMatching/EG2012... · 2012-05-25 · Eurographics 2012, Cagliari, Italy Distance-!eld Based](https://reader033.vdocument.in/reader033/viewer/2022042311/5eda0adb49d90237bc3d793b/html5/thumbnails/57.jpg)
Eurographics 2012, Cagliari, Italy
Non-rigid Registration
[Brown and Rusinkiewicz, 2007]