0% found this document useful (0 votes)
6 views32 pages

cs685 Icp

The document discusses the Iterative Closest Point (ICP) algorithm used in mobile robotics for aligning two point sets by minimizing the sum of squared errors. It emphasizes the importance of correct data associations for effective transformation calculations and explores various ICP variants that improve performance in terms of speed, stability, and noise tolerance. Key techniques include normal-space sampling, data association methods, and outlier rejection strategies.

Uploaded by

chris7462
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views32 pages

cs685 Icp

The document discusses the Iterative Closest Point (ICP) algorithm used in mobile robotics for aligning two point sets by minimizing the sum of squared errors. It emphasizes the importance of correct data associations for effective transformation calculations and explores various ICP variants that improve performance in terms of speed, stability, and noise tolerance. Key techniques include normal-space sampling, data association methods, and outlier rejection strategies.

Uploaded by

chris7462
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Introduction to

Mobile Robotics
Iterative Closest Point
Algorithm

Slides adopted from: Wolfram Burgard, Cyrill Stachniss,


Maren Bennewitz, Kai Arras and Probabilistic Robotics Book
1
Motivation

2
The Problem
§ Given: two corresponding point sets:

§ Wanted: translation t and rotation R that


minimizes the sum of the squared error:

Where and are corresponding points.

3
Key Idea
§ If the correct correspondences are known,
the correct relative rotation/translation can
be calculated in closed form.

4
Center of Mass

and

are the centers of mass of the two point sets.


Idea:
§ Subtract the corresponding center of mass
from every point in the two point sets
before calculating the transformation.
§ The resulting point sets are:

and

5
SVD
Let

denote the singular value decomposition (SVD) of W


by:

where are unitary, and


are the singular values of W.

6
SVD
Theorem (without proof):

If rank(W) = 3, the optimal solution of E(R,t) is


unique and is given by:

The minimal value of error function at (R,t) is:

7
Proof

8
ICP with Unknown Data Association

§ If correct correspondences are not known, it


is generally impossible to determine the
optimal relative rotation/translation in one
step

9
ICP-Algorithm

§ Idea: iterate to find alignment


§ Iterated Closest Points (ICP)
[Besl & McKay 92]
§ Converges if starting positions are
close enough

10
Iteration-Example

11
ICP-Variants
§ Variants on the following stages of ICP
have been proposed:

1. Point subsets (from one or both point


sets)
2. Weighting the correspondences
3. Data association
4. Rejecting certain (outlier) point pairs

12
Performance of Variants
§ Various aspects of performance:
§ Speed
§ Stability (local minima)
§ Tolerance wrt. noise and/or outliers
§ Basin of convergence
(maximum initial misalignment)
§ Here: properties of these variants

13
ICP Variants

1. Point subsets (from one or both point


sets)
2. Weighting the correspondences
3. Data association
4. Rejecting certain (outlier) point pairs

14
Selecting Source Points
§ Use all points
§ Uniform sub-sampling
§ Random sampling
§ Feature based Sampling
§ Normal-space sampling
§ Ensure that samples have normals distributed as
uniformly as possible

15
Normal-Space Sampling

uniform sampling normal-space sampling

16
Comparison
§ Normal-space sampling better for mostly-
smooth areas with sparse features
[Rusinkiewicz et al.]

Random sampling Normal-space sampling 17


Feature-Based Sampling
§ try to find important points
§ decrease the number of correspondences
§ higher efficiency and higher accuracy
§ requires preprocessing

3D Scan (~200.000 Points) Extracted Features (~5.000 Points)


18
Application

[Nuechter et al., 04] 19


ICP Variants

1. Point subsets (from one or both point


sets)
2. Weighting the correspondences
3. Data association
4. Rejecting certain (outlier) point pairs

20
Selection vs. Weighting
§ Could achieve same effect with weighting
§ Hard to guarantee that enough samples of
important features except at high sampling
rates
§ Weighting strategies turned out to be
dependent on the data.
§ Preprocessing / run-time cost tradeoff (how
to find the correct weights?)

21
ICP Variants

1. Point subsets (from one or both point


sets)
2. Weighting the correspondences
3. Data association
4. Rejecting certain (outlier) point pairs

22
Data Association
§ has greatest effect on convergence and
speed
§ Closest point
§ Normal shooting
§ Closest compatible point
§ Projection
§ Using kd-trees or oc-trees

23
Closest-Point Matching
§ Find closest point in other the point set

Closest-point matching generally stable,


but slow and requires preprocessing
24
Normal Shooting
§ Project along normal, intersect other point
set

Slightly better than closest point for smooth


structures, worse for noisy or complex
structures 25
Point-to-Plane Error Metric
§ Using point-to-plane distance instead of
point-to-point lets flat regions slide along
each other [Chen & Medioni 91]

26
Projection
§ Finding the closest point is the most
expensive stage of the ICP algorithm
§ Idea: simplified nearest neighbor search
§ For range images, one can project the
points according to the view-point [Blais 95]

27
Projection-Based Matching
§ Slightly worse alignments per iteration
§ Each iteration is one to two orders of
magnitude faster than closest-point
§ Requires point-to-plane error metric

28
Closest Compatible Point
§ Improves the previous two variants by
considering the compatibility of the points
§ Compatibility can be based on normals,
colors, etc.
§ In the limit, degenerates to feature
matching

29
ICP Variants

1. Point subsets (from one or both point


sets)
2. Weighting the correspondences
3. Nearest neighbor search
4. Rejecting certain (outlier) point pairs

30
Rejecting (outlier) point pairs
§ sorting all correspondences with respect to
there error and deleting the worst t%,
Trimmed ICP (TrICP) [Chetverikov et al.
2002]
§ t is to Estimate with respect to the Overlap

Problem: Knowledge about the


overlap is necessary or has to
be estimated

31
ICP-Summary
§ ICP is a powerful algorithm for calculating
the displacement between scans.
§ The major problem is to determine the
correct data associations.
§ Given the correct data associations, the
transformation can be computed efficiently
using SVD.

32

You might also like