Top Banner

of 37

icp-SVD

Feb 20, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/24/2019 icp-SVD

    1/37

    1

    Wolfram Burgard, Cyrill Stachniss,

    Maren Bennewitz, Kai Arras

    Iterative Closest Point

    Algorithm

    Introduction toMobile Robotics

  • 7/24/2019 icp-SVD

    2/37

    2

    Motivation

    Goal: Find local transformation to align points

  • 7/24/2019 icp-SVD

    3/37

    3

    The Problem

    !

    Given two corresponding point sets:

    !

    Wanted: Translation t and rotation Rthatminimize the sum of the squared error:

    Where

    are corresponding pointsand

  • 7/24/2019 icp-SVD

    4/37

    4

    Key Idea

    !

    If the correct correspondences are known,the correct relative rotation/translation canbe calculated in closed form

  • 7/24/2019 icp-SVD

    5/37

    5

    Center of Mass

    and

    are the centers of mass of the two point sets

    Idea:

    ! Subtract the corresponding center of massfrom every point in the two point setsbefore calculating the transformation

    !

    The resulting point sets are:

    and

  • 7/24/2019 icp-SVD

    6/37

    6

    Singular Value Decomposition

    Let

    denote the singular value decomposition (SVD) of Wby:

    whereare unitary, and

    are the singular values of W

  • 7/24/2019 icp-SVD

    7/37

    7

    SVD

    Theorem(without proof):

    If rank(W) = 3, the optimal solution of E(R,t) isunique and is given by:

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

  • 7/24/2019 icp-SVD

    8/37

    8

    ICP with Unknown Data Association

    !

    If the correct correspondences are notknown, it is generally impossible todetermine the optimal relative rotation/translation in one step

  • 7/24/2019 icp-SVD

    9/37

    9

    Iterative Closest Point (ICP)Algorithm

    ! Idea: Iterate to find alignment

    ! Iterative Closest Points[Besl & McKay 92]

    ! Converges if starting positions are

    close enough

  • 7/24/2019 icp-SVD

    10/37

    Basic ICP Algorithm

    !

    Determine corresponding points! Compute rotation R, translation t via SVD

    ! Apply Rand tto the points of the set to be

    registered

    !

    Compute the error E(R,t)! If error decreased and error > threshold

    ! Repeat these steps

    !

    Stop and output final alignment, otherwise

    10

  • 7/24/2019 icp-SVD

    11/37

    11

    ICP Example

  • 7/24/2019 icp-SVD

    12/37

    12

    ICP Variants

    Variants on the following stages ofICP 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

  • 7/24/2019 icp-SVD

    13/37

    13

    Performance of Variants

    !

    Various aspects of performance:! Speed

    ! Stability (local minima)

    !

    Tolerance wrt. noise and outliers

    ! Basin of convergence(maximum initial misalignment)

  • 7/24/2019 icp-SVD

    14/37

    14

    ICP Variants

    1. Point subsets (from one or both point

    sets)

    2.

    Weighting the correspondences3. Data association

    4. Rejecting certain (outlier) point pairs

  • 7/24/2019 icp-SVD

    15/37

    15

    Selecting Source Points

    !

    Use all points! Uniform sub-sampling

    ! Random sampling

    !

    Feature based sampling! Normal-space sampling

    (Ensure that samples have normals distributed asuniformly as possible)

  • 7/24/2019 icp-SVD

    16/37

    16

    Normal-Space Sampling

    uniform sampling normal-space sampling

  • 7/24/2019 icp-SVD

    17/37

    17

    Comparison

    !

    Normal-space sampling better for mostlysmooth areas with sparse features[Rusinkiewicz et al., 01]

    Random sampling Normal-space sampling

  • 7/24/2019 icp-SVD

    18/37

    18

    Comparison

    !

    Normal-space sampling better for mostlysmooth areas with sparse features[Rusinkiewicz et al., 01]

    Random sampling Normal-space sampling

  • 7/24/2019 icp-SVD

    19/37

    19

    Feature-Based Sampling

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

    ! Try to find importantpoints

    !

    Decreases the number of correspondences to find

    ! Higher efficiency and higher accuracy

    ! Requires preprocessing

  • 7/24/2019 icp-SVD

    20/37

    20

    ICP Application(With Uniform Sampling)

    [Nuechter et al., 04]

  • 7/24/2019 icp-SVD

    21/37

    21

    ICP Variants

    1. Point subsets (from one or both point

    sets)

    2.

    Weighting the correspondences3. Data association

    4. Rejecting certain (outlier) point pairs

  • 7/24/2019 icp-SVD

    22/37

    22

    Weighting

    !

    Select a set of points for each set! Match the selected points of the two sets

    ! Weight the corresponding pairs

    !

    E.g., assign lower weights for points withhigher point-point distances

    ! Determine transformation that minimizesthe error function

  • 7/24/2019 icp-SVD

    23/37

    24

    ICP Variants

    1. Point subsets (from one or both point

    sets)

    2.

    Weighting the correspondences3. Data association

    4. Rejecting certain (outlier) point pairs

  • 7/24/2019 icp-SVD

    24/37

    25

    Data Association

    !

    Has greatest effect on convergence andspeed

    ! Matching methods:

    ! Closest point

    !

    Normal shooting

    ! Closest compatible point

    ! Projection-based

  • 7/24/2019 icp-SVD

    25/37

    26

    Closest-Point Matching

    !

    Find closest point in other the point set(using kd-trees)

    Generally stable, but slow convergence

    and requires preprocessing

  • 7/24/2019 icp-SVD

    26/37

    27

    Normal Shooting

    !

    Project along normal, intersect other pointset

    Slightly better convergence results than

    closest point for smoothstructures, worse

    for noisy or complex structures

  • 7/24/2019 icp-SVD

    27/37

    28

    Closest Compatible Point

    !

    Improves the two previous variants byconsidering the compatibilityof the points

    ! Only match compatible points

    ! Compatibility can be based on

    !

    Normals!

    Colors

    ! Curvature

    ! Higher-order derivatives

    ! Other local features

  • 7/24/2019 icp-SVD

    28/37

    29

    Point-to-Plane Error Metric

    !

    Minimize the sum of the squared distancebetween a point and the tangent plane at itscorrespondence point[Chen & Medioni 91]

    tangentplane

    s1

    sourcepoint

    destination

    point

    d1

    n1

    unit

    normal

    s2

    d2

    n2

    s3

    d3

    n3

    destination

    surface

    source

    surface

    l1

    l2

    l3

    image from [Low 04]

  • 7/24/2019 icp-SVD

    29/37

    30

    Point-to-Plane Error Metric

    !

    Solved using standard nonlinear leastsquares methods (e.g., Levenberg-Marquardt method [Press92]).

    ! Each iteration generally slower than the

    point-to-point version, however, oftensignificantly better convergence rates[Rusinkiewicz01]

    ! Using point-to-plane distance instead of

    point-to-point lets flat regions slide alongeach other [Chen & Medioni 91]

  • 7/24/2019 icp-SVD

    30/37

    31

    Projection

    !

    Finding the closest point is the mostexpensive 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]

  • 7/24/2019 icp-SVD

    31/37

    32

    Projection-Based Matching

    !

    Constant time

    ! Does not require precomputing a specialdata structure

    !

    Requires point-to-plane error metric! Slightly worse alignments per iteration

  • 7/24/2019 icp-SVD

    32/37

    33

    ICP Variants

    1. Point subsets (from one or both point

    sets)

    2.

    Weighting the correspondences3. Data association

    4. Rejecting certain (outlier) point pairs

  • 7/24/2019 icp-SVD

    33/37

    34

    Rejecting (Outlier) Point Pairs

    !

    Corresponding points with point to pointdistance higher than a given threshold

  • 7/24/2019 icp-SVD

    34/37

    35

    Rejecting (Outlier) Point Pairs

    !

    Corresponding points with point to pointdistance higher than a given threshold

    ! Rejection of pairs that are not consistentwith their neighboring pairs [Dorai 98]

  • 7/24/2019 icp-SVD

    35/37

    36

    Rejecting (Outlier) Point Pairs

    !

    Corresponding points with point to pointdistance higher than a given threshold

    ! Rejection of pairs that are not consistentwith their neighboring pairs [Dorai 98]

    !

    Sort all correspondences with respect totheir error and delete the worst t%,Trimmed ICP (TrICP) [Chetverikov et al. 02]

    ! tis used to estimate the overlap

    !

    Problem: Knowledge about the overlap isnecessary or has to be estimated

  • 7/24/2019 icp-SVD

    36/37

    Summary: ICP Algorithm

    !

    Potentially sample Points! Determine corresponding points

    ! Potentially weight / reject pairs

    ! Compute rotation R, translation t (e.g. SVD)

    !

    Apply Rand tto all points of the set to beregistered

    ! Compute the error E(R,t)

    ! If error decreased and error > threshold

    !

    Repeat to determine correspondences etc.

    ! Stop and output final alignment, otherwise

    38

  • 7/24/2019 icp-SVD

    37/37

    39

    ICP Summary

    !

    ICP is a powerful algorithm for calculatingthe displacement between scans

    ! The major problem is to determine thecorrect data associations

    !

    Convergence speed depends on pointmatchings

    ! Given the correct data associations, thetransformation can be computed efficiently

    using SVD