# Efficient variants of the ICP algorithm

## Summary (2 min read)

### 1 Intr oduction – Taxonom y of ICP Variants

- TheICP(originally IterativeClosestPoint,thoughIterativeCorrespondingPointis perhapsabetterexpansionfor theabbreviation) algorithm hasbecomethe dominantmethodfor aligning threedimensionalmodelsbasedpurelyonthegeometry, andsometimes color, of themeshes.
- The authors will look at variantsin eachof thesesix categories,andexaminetheir effectson theperformanceof ICP.
- Ourcomparisonssuggesta combinationof ICP variantsthat is ableto aligna pair of meshesin a few tensof milliseconds,significantlyfaster thanmostcommonly-usedICP systems.
- Next, wesummarizeseveralICPvariantsin eachof the above six categories,andcomparetheir convergence performance.

### 2 Comparison Methodology

- The authors goal is to comparetheconvergencecharacteristicsof several ICPvariants.
- In orderto limit thescopeof theproblem,andavoid acombinatorialexplosionin thenumberof possibilities,weadopt themethodologyof choosinga baselinecombinationof variants, andexaminingperformanceasindividual ICP stagesarevaried.
- Matching eachselectedpoint to the closestsamplein the othermeshthathasanormalwithin 45degreesof thesource normal.
- In addition, to ensurefair comparisonsamongvariants,the authors make thefollowing assumptions: Thenumberof sourcepointsselectedis always2,000.

### 2.1 Test Scenes

- The“wave” scene is aneasycasefor mostICP variants, since it containsrelatively smoothcoarse-scalegeometry.
- The“incisedplane”scene consistsof two planeswith Gaussiannoiseandgrooves in the shapeof an “X.”.
- Thoughthesescenescertainly do not cover all possibleclassesof scannedobjects, they are representative of surfacesencounteredin many classesof scanning applications.
- Themotivationfor usingsyntheticdatafor their comparisonsis so that the authors know the correcttransformexactly, andcanevaluate the performanceof ICP algorithmsrelative to this correctalignment.
- The authors only presentthe resultsof onerun for eachtestedvariant.

### 3.1 Selection of Points

- The authors begin by examiningthe effect of the selectionof point pairs on the convergenceof ICP.
- In addition to these,the authors introducea new samplingstrategy: choosingpointssuchthat the distribution of normalsamongselectedpointsis aslargeaspossible.
- Thus, one way to improve the chancesthat enoughconstraintsare presentto determineall the componentsof the transformationis to bucket the points accordingto the position of the normalsin angular space,then sampleasuniformly aspossibleacrossthe buckets.
- If the authors usea more“asymmetric” matchingalgorithm,suchasprojectionor normalshooting(see Section3.2), they seethat samplingfrom both meshesappearsto give slightly betterresults, especiallyduring theearly stagesof the iterationwhenthe two meshesarestill far apart.

### 3.2 Matching Points

- The next stageof ICP that the authors will examineis correspondence finding.
- The authors will refer to this as“normal shooting.”.
- Sincethe authors are not analyzingvariantsthat usecolor, the particular variantsthey will compareare: closestpoint, closestcompatible point (normalswithin 45 degrees),normalshooting,normal shootingto a compatiblepoint (normalswithin 45 degrees),projection,andprojectionfollowedby search.
- The authors first look at performancefor the“fractal” scene.
- The authors see thatalthoughtheprojectionalgorithmdoesnotoffer thebestconvergenceper iteration,eachiterationis fasterthanan iterationof closestpointfindingor normalshootingbecauseit is performedin constantime,ratherthaninvolving aclosest-pointsearch(which, evenwhenacceleratedby ak-d tree,takesO logn time).

### 3.3 Weighting of Pairs

- The authors now examinethe effect of assigningdifferentweightsto the correspondingpoint pairs found by the previous two steps.
- Theresultfor atypicallaser rangescanneris that theuncertaintyis lower, hencehigher weightshouldbeassigned,for surfacestilted away from the rangecamera.
- Wefirst look at a versionof the“wave” scene.
- The authors seethat even with the additionof extra noise, all of the weighting strategies have similar performance,with the “uncertainty” and“compatibility of normals”optionshaving marginally betterperformancethan the others.
- The authors mustbecautious wheninterpretingthis result,sincetheuncertainty-basedweighting assignshigherweightsto pointson themodelthathave normalspointingaway from therangescanner.

### 3.4 Rejecting Pairs

- Rejectionof pairs whosepoint-to-point distanceis larger than somemultiple of the standarddeviation of distances.
- Rejectionof pairs containingpoints on meshboundaries [Turk 94].
- Sinceits cost is usuallylow andin mostapplicationsits usehas few drawbacks,the authors alwaysrecommendusingthis strategy, andin factthey useit in all thecomparisonsin thispaper.
- Thus,the authors concludethatoutlier rejection, thoughit mayhaveeffectsontheaccuracy andstabilitywith which the correctalignmentis determined,in generaldoesnot improve thespeedof convergence.

### 3.5 Error Metric and Minimization

- Thefinal piecesof theICP algorithmthatthe authors will look at arethe error metric and the algorithm for minimizing the error metric.
- For an error metric of this form, there exist closedform solutionsfor determiningthe rigid-body transformation that minimizes the error.
- Theabove “point-to-point” metric,takinginto accountboth the distancebetweenpoints and the differencein colors [Johnson97b].
- Theabove iterative minimization,combinedwith extrapolation in transformspaceto accelerateconvergence[Besl92].
- Here,thepoint-to-pointalgorithmsarenot ableto reachthe correctsolution,sinceusingthe point-to-pointerror metric does notallow theplanesto “slide over” eachotheraseasily.

### 4 High-Speed Variants

- Theability to have ICP executein real time (e.g.,at videorates) wouldpermitsignificantnew applicationsin computervisionand graphics.
- If it werepossibleto alignthosescansasthey are generated,theusercouldbepresentedwith anup-to-datemodelin real time,makingit easyto seeandfill “holes” in themodel.
- With thesegoalsin mind,the authors maynow constructa high-speed ICPalgorithmbycombiningsomeof thevariantsdiscussedabove.
- Also, becauseof thepotentialfor overshoot,the authors avoid extrapolationof transforms.
- Figure17 shows an exampleof the algorithmon real-world data:two scannedmeshesof anelephant figurinewerealignedin approximately30 ms.

### 5 Conc lusion

- The authors have classifiedandcomparedseveral ICP variants,focusing on theeffect eachhason convergencespeed.
- Wehave introduced a new samplingmethodthat helpsconvergencefor sceneswith small, sparsefeatures.
- Finally, the authors have presentedan optimized ICP algorithmthat usesa constant-timevariantfor finding point pairs,resultingin a methodthattakesonly a few tensof millisecondsto align two meshes.
- In addition, a better analysisof theeffectsof variouskindsof noiseanddistortion wouldyield furtherinsightsinto thebestalignmentalgorithmsfor real-world, noisy scanneddata.

Did you find this useful? Give us your feedback

##### Citations

3,138 citations

2,429 citations

### Cites background from "Efficient variants of the ICP algor..."

...Here, we briefly overview the rigid and non-rigid point set registration methods and state our contributions....

[...]

2,373 citations

### Cites background or methods from "Efficient variants of the ICP algor..."

...In our system we use projective data association [24] to find these correspondences....

[...]

...Our approach for real-time camera tracking and surface reconstruction is based on two well-studied algorithms [1, 5, 24], which have been designed from the ground-up for parallel execution on the GPU....

[...]

...ICP is a popular and well-studied algorithm for 3D shape alignment (see [24] for a detailed study)....

[...]

1,896 citations

1,879 citations

##### References

^{1}

17,598 citations

4,522 citations

### "Efficient variants of the ICP algor..." refers background in this paper

...Solution methodsbased on singular value decomposition[Arun 87], quaternions [Horn 87],orthonormalmatrices[Horn 88], anddualquaternions [Walker 91] have beenproposed;Eggertet. al. have evaluatedthe numericalaccuracy and stability of eachof these[Eggert97], concludingthat the differencesamong…...

[...]

3,862 citations

2,157 citations

1,675 citations

##### Related Papers (5)

##### Frequently Asked Questions (19)

###### Q2. What is the common method of generating the initial alignment?

Generating the initial alignment may be done by a variety of methods, such as tracking scanner position, identification and indexing of surface features [Faugeras 86, Stein 92], “spin-image” surface signatures [Johnson 97a], computing principal axes of scans [Dorai 97], exhaustive search for corresponding points [Chen 98, Chen 99], or user input.

###### Q3. Why do the authors use synthetic data for their comparisons?

The motivation for using synthetic data for their comparisons is so that the authors know the correct transform exactly, and can evaluate the performance of ICP algorithms relative to this correct alignment.

###### Q4. What is the effect of weighting on convergence rate?

For this scene, therefore, the uncertainty weighting assigns higher weight to points within the incisions, which improves the convergence rate.

###### Q5. What is the way to look at error?

Though so far the authors have been looking at error as a function of the number of iterations, it is also instructive to look at error as a function of running time.

###### Q6. What is the purpose of using a “ground truth” error metric?

Using such a “ground truth” error metric allows for more objective comparisons of the performance of ICP variants than using the error metrics computed by the algorithms themselves.

###### Q7. What is the way to compare ICP variants?

Their comparisons suggest a combination of ICP variants that is able to align a pair of meshes in a few tens of milliseconds, significantly faster than most commonly-used ICP systems.

###### Q8. What is the way to solve the next view problem?

Allowing the user to be involved in the scanning process in this way is a powerful alternative to solving the computationally difficult “next best view” problem [Maver 93], at least for small, handheld objects.

###### Q9. What is the way to compare the performance of the closest-point algorithm?

Because the matching stage of ICP is usually the one that takes the longest, applications that require ICP to run quickly (and that do not need to deal with the geometrically “difficult” cases) must choose the matching algorithm with the fastest performance.

###### Q10. What is the way to solve the error metric?

Repeatedly generating a set of corresponding points using the current transformation, and finding a new transformation that minimizes the error metric [Chen 91].

###### Q11. How long does it take to find point pairs?

the authors have presented an optimized ICP algorithm that uses a constant-time variant for finding point pairs, resulting in a method that takes only a few tens of milliseconds to align two meshes.

###### Q12. What is the result for a typical laser range scanner?

As shown in the Appendix, the result for a typical laser range scanner is that the uncertainty is lower, hence higher weight should be assigned, for surfaces tilted away from the range camera.

###### Q13. What is the way to compare variants?

Although the authors will not compare variants that use color or intensity, it is clearly advantageous to use such data when available, since it can provide necessary constraints in areas where there are few geometric features.

###### Q14. What is the difference between normal-space sampling and random sampling?

Normal-space sampling is therefore a very simple example of using surface features for alignment; it has lower computational cost, but lower robustness, than traditional feature-based methods [Faugeras 86, Stein 92, Johnson 97a].

###### Q15. What is the way to sample the two meshes?

If the authors use a more “asymmetric” matching algorithm, such as projection or normal shooting (see Section 3.2), the authors see that sampling from both meshes appears to give slightly better results (Figure 6), especially during the early stages of the iteration when the two meshes are still far apart.

###### Q16. What is the effect of the uncertainty-based weighting on convergence rate?

the authors must be cautious when interpreting this result, since the uncertainty-based weighting assigns higher weights to points on the model that have normals pointing away from the range scanner.

###### Q17. What causes the inability of uniform and random sampling to converge to the correct alignment?

together with the fact that noise and distortion on the rest of the plane overwhelms the effect of those pairs that are sampled from the grooves, accounts for the inability of uniform and random sampling to converge to the correct alignment.

###### Q18. What is the description of the ICP algorithm?

The ability to have ICP execute in real time (e.g., at video rates) would permit significant new applications in computer vision and graphics.

###### Q19. What is the way to sample from two meshes?

In addition, the authors expect that sampling from both meshes would also improve results when the overlap of the meshes is small, or when the meshes contain many holes.