surface registration - hao li - about me · pdf filespring 2014 4.2 surface registration . ......
TRANSCRIPT
![Page 1: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/1.jpg)
CSCI 599: Digital Geometry Processing
Hao Lihttp://cs599.hao-li.com
!1
Spring 2014
4.2 Surface Registration
![Page 2: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/2.jpg)
Administrative
!2
• Next Thursday, let’s capture some stuff, bring yourself or an object of your choice.
• Today’s Office Hour from 2:30 to 3:30
![Page 3: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/3.jpg)
Acknowledgement
!3
Images and Slides are courtesy of !• Prof. Szymon Rusinkiewicz, Princeton University
• ICCV Course 2005: http://www.cs.princeton.edu/~bjbrown/iccv05_course/
![Page 4: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/4.jpg)
Surface Registration
!4
Align two partially-overlapping!
meshes given initial guess for!
relative transform
![Page 5: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/5.jpg)
Outline
!5
• ICP: Iterative Closest Points
• Classification of ICP variants • Faster alignment • Better robustness
• ICP as function minimization
![Page 6: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/6.jpg)
Aligning 3D Data
!6
If correct correpondences are known, can find correct relative rotation/translation
![Page 7: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/7.jpg)
Aligning 3D Data
!7
• How to find correspondences: User input? Feature detection? Signatures?
• Alternatives: assume closest points correspond
![Page 8: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/8.jpg)
Aligning 3D Data
!8
• … and iterate to find alignment • Iterative Closest Points (ICP) [Besl & Mckay]
• Converges if starting position “close enough”
![Page 9: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/9.jpg)
Basic ICP
!9
• Select 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
kRpi + t� qik2
![Page 10: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/10.jpg)
Shape Matching: Translation
!10
• Define bary-centered point sets !
!
!
!
• Optimal translation vector maps barycenters onto each other
p̄ :=1m
m�
i=1
pi
p̂i := pi � p̄
q̄ :=1m
m�
i=1
qi
q̂i := qi � q̄
t = p̄�Rq̄
t
![Page 11: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/11.jpg)
Shape Matching: Rotation
!11
• Approximate nonlinear rotation by general matrix !
!
• The least squares linear transformation is !
!
!
• SVD & Polar decomposition extracts rotation from
minR
�
i
⇤p̂i �Rq̂i⇤2 ⇥ min
A
�
i
⇤p̂i �Aq̂i⇤2
A =
�m⇤
i=1
p̂iq̂Ti
⇥·�
m⇤
i=1
q̂iq̂Ti
⇥�1
⇥ IR3⇥3
A = U�VT � R = UVT
A
![Page 12: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/12.jpg)
ICP Variants
!12
Variants on the following stages of ICP have been proposed!
1. Selecting source points (from one or both meshes)
2. Matching to points in the other mesh
3. Weighting the correspondences
4. Rejecting certain (outliers) point pairs
5. Assining an error metric to the current transform
6. Minimizing the error metric w.r.t. transformation
![Page 13: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/13.jpg)
ICP Variants
!13
Can analyze various aspects of performance:!• Speed
• Stability
• Tolerance of noise and/or outliers
• Maximum initial misalignment
Comparisons of many variants in!• [Rusinkiewicz & Levoy, 3DIM 2001]
![Page 14: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/14.jpg)
ICP Variants
!14
1. Selecting source points (from one or both meshes)
2. Matching to points in the other mesh
3. Weighting the correspondences
4. Rejecting certain (outliers) point pairs
5. Assining an error metric to the current transform!
6. Minimizing the error metric w.r.t. transformation
![Page 15: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/15.jpg)
Point-to-Plane Error Metric
!15
Using point-to-plane distance instead of point-to-point lets flat regions slide along each other [Chen & Medioni 91]
!
![Page 16: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/16.jpg)
Point-to-Plane Error Metric
!16
• Error function: !
!
where is a rotation matrix, is a translation vector • Linearize (i.e. assume that , ): !
!
!
• Result: overconstrained linear system
R t
sin ✓ ⇡ ✓ cos ✓ ⇡ 1
E =X�
(Rpi + t� qi)>ni
�2
r =
2
4rx
ry
rz
3
5E ⇡X�
(pi � qi)>ni
�2+ r>(pi ⇥ ni) + t>ni)
2
![Page 17: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/17.jpg)
Point-to-Plane Error Metric
!17
• Overconstrained linear system !
!
!
!
!
• Solve using least squares
Ax = b
A =
2
64 p1 ⇥ n1 ! n1 ! p2 ⇥ n1 ! n2 !
......
3
75 x =
2
6666664
rx
ry
rz
tx
ty
tz
3
7777775b =
2
64�(p1 � q1)>n1
�(p2 � q2)>n2...
3
75
A
>Ax = A
>b
x = (A>A)�1
A
>b
![Page 18: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/18.jpg)
Improving ICP Stabilitiy
• Closest compatible point
• Stable sampling
![Page 19: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/19.jpg)
ICP Variants
!19
1. Selecting source points (from one or both meshes)
2. Matching to points in the other mesh!
3. Weighting the correspondences
4. Rejecting certain (outliers) point pairs
5. Assining an error metric to the current transform
6. Minimizing the error metric w.r.t. transformation
![Page 20: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/20.jpg)
Closest Point Search
!20
• Find closest point of a query point
• Brute force: O(n) complexity
!
• Use Hierarchical BSP tree • Binary space partitioning tree (general kD-tree) • Recursively partition 3D space by planes • Tree should be balanced, put plane at median • log(n) tree levels, complexity O(nlog n)
![Page 21: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/21.jpg)
BSP Closest Point Search
!21
PB
D
ED
E
PC
F G
F
G
B C
PAA
![Page 22: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/22.jpg)
BSP Closest Point Search
!22
PB
D
ED
E
PC
F G
F
G
B C
PAA
![Page 23: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/23.jpg)
BSP Closest Point Search
!23
PB
D
ED
E
PC
F G
F
G
B C
PAA
![Page 24: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/24.jpg)
BSP Closest Point Search
!24
PB
D
ED
E
PC
F G
F
G
B C
PAA
![Page 25: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/25.jpg)
BSP Closest Point Search
!25
PB
D
ED
E
PC
F G
F
G
B C
PAA
![Page 26: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/26.jpg)
BSP Closest Point Search
!26
BSPNode::dist(Point x, Scalar& dmin)!{! if (leaf_node())! for each sample point p[i]! dmin = min(dmin, dist(x, p[i]));!! else! {! d = dist_to_plane(x);! if (d < 0) ! {! left_child->dist(x, dmin);! if (|d| < dmin) right_child->dist(x, dmin);! } ! else ! {! right_child->dist(x, dmin);! if (|d| < dmin) left_child->dist(x, dmin);! }! }!}
![Page 27: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/27.jpg)
Closest Compatible Point
!27
• Closest point often a bad approximation to corresponding point
• Can improve matching effectiveness by restricting match to compatible points • Compatibility of colors [Godin et al. ’94] • Compatibility of normals [Pulli ’99] • Other possibilities: curvature, higher-order
derivatives, and other local features (remember: data is noisy)
![Page 28: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/28.jpg)
ICP Variants
!28
1. Selecting source points (from one or both meshes)!
2. Matching to points in the other mesh
3. Weighting the correspondences
4. Rejecting certain (outliers) point pairs
5. Assining an error metric to the current transform
6. Minimizing the error metric w.r.t. transformation
![Page 29: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/29.jpg)
Selecting Source Points
!29
• Use 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 30: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/30.jpg)
Stable Sampling
!30
Uniform Sampling Stable Sampling
![Page 31: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/31.jpg)
Covariance Matrix
!31
• Aligning transform is given by , where
!
!
!
!
• Covariance matrix determines the change in error when surfaces are moved from optimal alignment
A =
2
64 p1 ⇥ n1 ! n1 ! p2 ⇥ n1 ! n2 !
......
3
75 x =
2
6666664
rx
ry
rz
tx
ty
tz
3
7777775b =
2
64�(p1 � q1)>n1
�(p2 � q2)>n2...
3
75
C = A>A
A
>Ax = A
>b
![Page 32: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/32.jpg)
Sliding Directions
!32
• Eigenvectors of with small eigenvalues correspond to sliding transformations
C
3 small eigenvalues!2 translation 1 rotation
3 small eigenvalues!3 rotation
2 small eigenvalues!1 translation 1 rotation
1 small eigenvalue!1 rotation
1 small eigenvalue!1 translation [Gelfand]
![Page 33: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/33.jpg)
Stability Analysis
!33
6 DOFs stable
5 DOFs stable3 DOFs stable
4 DOFs stable
Key:
![Page 34: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/34.jpg)
Sample Selection
!34
• Select points to prevent small eigenvalues
• Based on 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
C
![Page 35: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/35.jpg)
Result
!35
Stability-based or normal-space sampling important for smooth areas with small features
!
Random Sampling Normal-space Sampling
![Page 36: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/36.jpg)
Selection vs. Weighting
!36
• 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 37: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/37.jpg)
Improving ICP Speed
!37
Projection-based matching
1. Selecting source points (from one or both meshes)
2. Matching to points in the other mesh!
3. Weighting the correspondences
4. Rejecting certain (outliers) point pairs
5. Assining an error metric to the current transform
6. Minimizing the error metric w.r.t. transformation
![Page 38: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/38.jpg)
Finding Corresponding Points
!38
• Finding 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 39: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/39.jpg)
Projection to Find Correspondence
!39
• Idea: use a simpler algorithm to find correspondences
• For range images, can simply project point [Blais 95]
• Constant-time
• Does not require precomputing a spatial data structure
![Page 40: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/40.jpg)
Projection-Based Matching
!40
• Slightly worse performance per iteration
• Each iteration is on to two orders of magnitude faster than closest point
• Result: can align two range images in a few milliseconds, vs. a few seconds
![Page 41: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/41.jpg)
Application
!41
• Given:
• 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 fill holes while scanning
![Page 42: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/42.jpg)
Examples
!42
[Newcombe et al. ’11] KinectFusion
[Rusinkiewicz et al. ‘02] Artec Group
![Page 43: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/43.jpg)
Theoretical Analysis of ICP Variants
!43
• One way of studying performance is via empirical tests on various scenes
• How to analyze performance analytically?
• For example, when does point-to-plan help? Under what conditions does projection-based matching work?
![Page 44: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/44.jpg)
What does ICP do?
!44
• Two ways of thinking about ICP:
• Solving correspondence problem
• Minimizing point-to-surface squared distance
• ICP is like Newton’s method on an approximation of the distance function
![Page 45: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/45.jpg)
What does ICP do?
!45
• Two ways of thinking about ICP:
• Solving correspondence problem
• Minimizing point-to-surface squared distance
• ICP is like Newton’s method on an approximation of the distance function
![Page 46: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/46.jpg)
What does ICP do?
!46
• Two ways of thinking about ICP:
• Solving 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 the global error function or local approximation
![Page 47: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/47.jpg)
Point-to-Surface Distance
!47
![Page 48: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/48.jpg)
Point-to-Point Distance
!48
![Page 49: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/49.jpg)
Point-to-Plane Distance
!49
![Page 50: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/50.jpg)
Global Registration Goal
!50
• Given: n scans around an object
• Goal: align them all
• First attempt: apply ICP to each scan to one other
![Page 51: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/51.jpg)
Global Registration Goal
!51
• Want method for distributing accumulated error among all scans
![Page 52: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/52.jpg)
Approach #1: Avoid the Problem
!52
• In some cases, have 1 (possibly low-resolution) scan that covers most surface
• Align all other scans to this “anchor” [Turk 94]
• Disadvantage: not always practical to obtain anchor scan
![Page 53: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/53.jpg)
Approach #2: The Greedy Solution
!53
• Align each new scan to all previous scans [Masuda ’96]
• Disadvantages:
• Order dependent
• Doesn’t spread out error
![Page 54: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/54.jpg)
Approach #3: The Brute-Force Solution
!54
• While not converged:
• For each scan:
• For each point:
• For every other scan
• Find closest point
• Minimize error w.r.t. transforms of all scans
• Disadvantage:
• Solve (6n)x(6n) matrix equation, where n is number of scans
![Page 55: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/55.jpg)
Approach #3a: Slightly Less Brute-Force Solution
!55
• While not converged:
• For each scan:
• For each point:
• For every other scan
• Find closest point
• Minimize error w.r.t. transforms of this scans
• Faster than previous method (matrices are 6x6) [Bergevin ’96, Benjemaa ‘97]
![Page 56: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/56.jpg)
Graph Methods
!56
• Many global registration algorithms create a graph of pairwise alignments between scans
Scan 1
Scan 2
Scan 3
Scan 4
Scan 5
Scan 6
![Page 57: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/57.jpg)
Pulli’s Algorithm
!57
• Perform pairwise ICPs, record sample (e.g., 200) of corresponding points
• For each scan, starting w most connected
• Align scan to existing set
• While (change in error) > threshold
• Align each scan to others
• All alignments during global reg phase use precomputed correspondending points.
![Page 58: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/58.jpg)
Bad ICP in Global Registration
!58
One bad ICP can throw off the entire model!
Correct Global Registration Global Registration Including Bad ICP
![Page 59: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/59.jpg)
Literature
!59
• Rusinkiewicz & Levoy, Efficient Variants of the ICP Algorithm, 3DIM 2001
• Chen & Medioni, “Object modeling by registration of multiple range images”, ICRA1991
• Besl & McKay: A method for registration of 3D shapes, PAMI 1992
• Horn: Closed-form solution of absolute orientation using unit quaternions, Journal Opt. Soc. Amer. 4(4), 1987
• Gelfand et al: Geometrically Stable Sampling for the ICP Algorithm, 3DIM, 2001.
• Pulli, Multiview Registration for Large Data Sets, 3DIM 1999
![Page 60: Surface Registration - Hao Li - about me · PDF fileSpring 2014 4.2 Surface Registration . ... Minimizing the error metric w.r.t. transformation. ... can simply project point](https://reader034.vdocument.in/reader034/viewer/2022051600/5ab041cf7f8b9a6b308e4ddc/html5/thumbnails/60.jpg)
Next Time
!60
3D Capture Session