Besl 1992 Method For Registration of 3D Shapes
Besl 1992 Method For Registration of 3D Shapes
of 3-D Shapes and the data shape minimizing the distance between the
shapes and thereby allowing determination of the equiv-
Paul J. Besi and Neil D. McKay alence of the shapes via a mean-square distance metric.
Computer Science Department Of key interest to many applications is the following ques-
General Motors Research Laboratories tion: does a segmented region from a range image match
Warren, Michigan 48090-9055 a subset of B-spline surfaces on a CAD (computer-aided-
design) model? This paper provides a solution to this
Abstract free-form surface matching problem as defined in [3][5J
as a special case of a simple, general, unified approach,
This paper describes a general purpose, representa- which generalizes to n-dimensions and also provides solu-
tion independent method for the accurate and compu- tions to (1) the point-set matching problem without cor-
tationally efficient registration of three-dimensional (3- respondence and (2) the free-form curve matching prob-
D) shapes including free-form curves and surfaces. The lem. The algorithm requires no extracted features, no
method handles the full six-degrees of freedom and is curve or surface derivatives, and no preprocessing of 3-D
based on the Iterative Closest Point (ICP) algorithm, data, except for the removal of statistical outliers.
which requires only a procedure to find the closest point The main application of the proposed method as de-
on a geometric entity to a given point. The ICP algorithm scribed here is to register digitized data from unfixtured
always converges monotonically to the nearest local mm- rigid objects with an idealized geometric model prior to
imum of a mean-square distance metric, and experience
shape inspection. When inspecting shapes using high-
shows that the rate ofconvergence is rapid during the first accuracy non-contact measurement devices [4] over a shal-
few iterations. Therefore, given an adequate set of initial low depth of field, the uncertainty in different sensed
rotations and translations for a particular class of objects points does not vary by much. Therefore, for purposes of
with a certain level of "shape complexity" ,one can glob- simplicity and relevance to inspection applications based
ally minimize the mean-square distance metric over all on thousands of digitized points, the case of unequal un-
six degrees of freedom by testing each initial registration. certainty among points is not considered. Similarly, the
For example, a given "model" shape and a sensed "data" removal of statistical outliers is considered a preprocess-
shape that represents a major portion of the model shape ing step, is probably best implemented as such, and will
can be registered in minutes by testing one initial transla- also not be addressed. In the context of inspection appli-
tion and a relatively small set of rotations to allow for the cations, the assumption that a high-accuracy non-contact
given level of model complexity. One important applica- measurement device does not generate bad data is reason-
tion of this method is to register sensed data from unfix- able since some sensors have the ability to reject highly
tured rigid objects with an ideal geometric model prior uncertain measurements.
to shape inspection. The described method is also use- The proposed shape registration algorithm can be used
ful for deciding fundamental issues such as the congruence with the following representations of geometric data:
( shape equivalence) of different geometric representations
as well as for estimating the motion between point sets 1. Point Sets.
where the correspondences are not known. Experimental
results show the capabilities of the registration algorithm 2. Line Segment Sets (Polylines).
on point sets, curves, and surfaces. 3. Implicit Curves: (x, y, z) = 0.
Index Tenns: 3-D registration, pose estimation, mo-
tion estimation , quaternions , free-form curve matching, 4. Parametric Curves: (x(u),y(u),z(u)).
free-form surface matching.
5. Triangle Sets (Faceted Surfaces).
IE{1N d( fJ, ).
d(p,F) = (7) where iZo = ila . When using the starting point selection
method described above based on a simplex-approximation
The closest point j on the parametric entity set F sat- with a reasonably small , Newton's method for comput-
= d(3, F). ing the closest point generally converges in one to five iter-
isfies the equality d(j3',
Our first step towards computing the distance from a ations, and typically in three. The computational cost of
Newton's method is very low in contrast to finding good
point to a parametric entity is creating a simplex-based
approximation (line segments or triangles). For a para- starting points.
metric space curve C = {r(u)}, one can compute a poly-
line L(C, t5) such that the piecewise-linear approximation 3.2 Point to Implicit Entity Distance
never deviates from the space curve by more than a pre-
An implicit geometric entity is defined as the zero set of
specified distance t5. By tagging each point of the polyline a possibly vector-valued multivariate function il() = 0.
with its corresponding u argument values of the paramet-
The distance from a given point j3 to an implicit entity I
nc curve, one can obtain an estimate of the u argument
is
value of the closest point from the line segment set.
Similarly, for a parametric surface S = {ju, v)}, one dQ3, I) = mm d(13, ) = mm — p. (16)
can compute a triangle set T(S, 6) such that the piecewise- (f )=O (f )=O
triangular approximation never deviates from the surface
The calculations to compute this distance are also not
by more than a pre-specified distance b. By tagging each
closed-form and are relatively involved. One method for
triangle vertex with the corresponding (u, v) argument computing point-to-curve and point-to-surface distances
values of the parametric surface, one can obtain an esti-
is outlined below. Sets of implicit entities are straight-
mate (t'a, Va) of the argument values of the closest point forward once the distance metric for an individual entity
from the triangle set. As a result of these curve and sur-
is implemented. Let J be the set of N1 parametric enti-
face procedures, one can assume that an initial value ila 5
ties denoted Ik: J = {Ik} for k = 1, N1. The distance
available such that (iZa) is very close to the closest point
between a point 3 and the implicit entity set J is
on the parametric entity.
The point-to-parametric-entity distance problem is ideal d(,J) = mm d( j3,i ). (17)
for employing a pure Newton's minimization approach kE{1 N1}
when a reliable starting point ila S available. The scalar
The closest point j on the implicit entity I satisfies the
objective function to be minimized is
equality d(jY, 7j ) = d(p, J).
Our first step towards computing the distance from
f(il) = IV(il) — p1!2. (8)
a point to an implicit entity is creating a simplex-based
Let V = [ô/ôïi]' be the vector differential gradient oper- approximation (line segments or triangles) as was done
ator (where t implies vector transpose). The minimum of for parametric entities [7]. Computing the point-to-line
f occurs when Vf = 0. When the parametric entity is a set or point-to-triangle set distance yields an approximate
surface, the 2-D gradient vector is Vf = [f, , and closest point , which can be used to compute the exact
the 2-D Hessian matrix is distance.
The implicit entity distance problem is quite different
from the parametric entity case where unconstrained op-
VVt(f)=[ fv] (9)
timmzation suffices. To find the closest point on an implicit
where the partial derivatives of the objective function are entity defined by ) = 0 to a given point 3, one must
solve a constrained optimization problem to mmnimie a
given by quadratic objective function subject to a non-linear con-
straint
f(il) = 2t(i)(F'(ii)—p (10)
f(ti) = 2t(ü)(r1il)—p1 (11) Minimize 1(e) = IIr_ p1!2 where (f) = 0. (18)
in our implemented system either via special case mathe- the center of mass ji for the X point set are given by
matics (e.g. spheres) or via a parametric form. Of course,
if there were an application where it was necessary to han- N N
die free-form implicit entities in their implicit form [51],
the above algorithm could be implemented.
lip = >i:
pi=i
and
-. pt,, = - zi=1
> x2. (23)
Taubin [55] uses an approximate distance algorithm The cross-covariance matrix E,, of the sets P and X is
that implies a simple update formula for surfaces and pla-
nar curves when g(j;) is nearly zero: given by
Vg()g() N N
r4
-. -.
rk (20) =
;—E[Q3;—iip)(i—PzY]=
pi=1 7.>:{I3i1t}_I:iPii2.
pi=i
This method is only exact if the infinite line with the (24)
direction Vg(i ) at the starting point Fo intersects the The cyclic components of the anti-symmetric matrix A, =
implicit entity at a point where the normal vector has ( Ep2; _ E;)1 are used to form the column vector X =
that same direction. This is not true in general and the [ A23 A31 A12]T. This vector is then used to form the
approximation is generally worse the further the point is symmetric 4x4 matrix Q(X)
from the implicit entity. Therefore, this result cannot be
used if precise distance results are required.
Q(E) = [ tr(r )
+ E; _ tr(E4I3 ] (25)
3.3 Corresponding Point Set Registration where 13 is the 3x3 identity matrix. The unit eigenvector
All closest point (minimum distance) algorithms have been qil = {qo qi q2 q3]t corresponding to the maximum
mentioned in forms that generalize to n-dimensions. One eigenvalue of the matrix Q(E) is selected as the optimal
more necessary procedure for yielding the least squares rotation. The optimal translation vector is given by
rotation and translation is reviewed. For our purposes,
the quaternion-based algorithm is preferred over the sin- (26)
gular value decomposition (SVD) method in two and three
This least squares quaternion operation is O(N) and
dimensions since reflections are not desired. The SVD
is denoted as
approach, based on the cross-covariance matrix of two
(q,dms) = Q(P,X) (27)
point distributions, does however generalize easily to n-
dimensions and would be our method of choice for n> 3 where dms is the mean square point matching error. The
in any n-D applications. The basic solution of Horn [31] notation qP) is used to denote the point set P after
is described below although the method of Faugeras [18] transformation by the registration vector
is equivalent. Our summary stresses the role of the SVD
cross-covariance matrix, which is an important relation-
ship not discussed in other work.
ek = PikII2. (31)
_I
"k —
'
1 N,
Yik
T(- \- -'kT 2
'MqkR)pio (32)
P i=1
It is always the case that dk ek . Suppose that dk > ek.
If this were so, then the identity transformation on the
point set would yield a smaller mean square error than
the least squares registration, which cannot possibly be
the case. Next, let the least squares registration be
applied to the point set Po yielding the point set Pi . If
Figure 1: Consistent Direction allows Acceleration of the
the previous correspondence to the set of points Yk were
maintained, then the mean square error is still dk . That ICP Algorithm
is,
1 N, _ 2
algorithm proceeds, a sequence of registration vectors is
dk >:
p i=1
IIYik Pi,k+1II (33) generated: , , , , , , ... which traces out a path
in the registration state space from the identity transfor-
However, during the application of the subsequent closest mation toward a locally optimal shape match. Consider
point operator, a new point set Yk+1 is obtained: Yk+1 = the difference vector sequence defined by
C(Pk+1 , X). It is clear that
=ik—k-1 (36)
IIYI,k+1 Pi,k+1Il lYik Pi,k+iII for each i = 1, N which defines a direction in the registration state space.
(34)
because the point y7k was the closest point prior to trans- Let the angle in 7-space between the two last directions
formation by 4 and resides at some new distance relative be denoted
to j5,k+1 • If ,k+1 were further from Pi,k+1 than 1/1k , then
this would directly contradict the basic operation of the C Ok cos -11 z0iLi \(37)
%jILkIl IIk_1iI)
closest point operator. Therefore, the mean square errors
ek and dk must obey the following inequality: and let 69 be a sufficiently small angular tolerance (e.g.
10 degrees). If
0 dk+1 ek÷1 dk ek for all k. (35)
The lower bound occurs, of course, since mean-square er-
0k < and 0k1 < M, (38)
rors cannot be negative. Because the mean-square error then there is good direction alignment for the last three
sequence is non-increasing and bounded below, the algo- registration state vectors: a—i, 1k—2• Lt dk , dk_1,
rithm as stated above must converge monotonically to a dk_2 be the associated mean square errors and let vk,
minimum value. Q.E.D. Vk_ 1 , Vk_2 be associated approximate arc length argu-
Experimentally, we find fast convergence during the ment values:
first few iterations that slows down as it approaches the
local minimum. Even at this slow pace, somewhere be- Vk 0, Vk_1 IILkII, Vk_2 = IIL:_iII. (39)
tween 30 and 50 iterations yields excellent results: dk See Figure 1 for a picture of the situation. Next, a un-
0.1% of model shape size. The convergence can be accel- ear approximation and a parabolic interpolant to the last
erated using a simple additional operation described in three data points are computed:
the next section.
di(v)=aiv+bi d2(v)= a2v2+b2v+c2 (40)
4.3 An Accelerated ICP Algorithm give us a possible linear update, based on the zero
which
crossing of the line, and a possible parabola update, based
The accelerated ICP algorithm uses a minor variation on the extremum point of the parabola:
on the basic line search methods of multivariate uncon-
strained minimization [45]. As the iterative closest point v1 = —bi/ai > 0 v2 = —b2/2a2 (41)
I0
2. IfO < < v2 < Vmax or 0 < v1 < Vmax < V2 or
v1
N
V2 < 0 and 0 < Vi < Vmax , use the line-based up-
dated registration vector: q' = k + q3 R
0
instead of the usual vector k. T
A
3. If both v1 > Vmax and v2 > Vmax, use the maxi-
mum allowable update: qk = +
instead of the usual vector k.
We have found experimentally that setting Vmax
adaptively has provided a good sanity check on the up-
dates allowing the iterative closest point algorithm to
move to the local minimum with a given degree of pre- Figure 2: Various Quantities Plotted Against Iteration
cision in many fewer steps. A nominal run of more than Count for the Basic Non-Accelerated Iterative Closest
50 basic ICP iterations for a given value of r is typically Point Algorithm.
accelerated to 15 or 20 iterations.
If the updated registration vector were somehow to
the closest point operator, the most expensive computa-
overshoot the minimum enough to yield a worse mean tion. Any optimization method that does not use explicit
square error, it would be advantageous to construct a vector gradient estimates, such as Powell's direction set
new parabola using the new registration with the last method, the Nelder-Mead downhill simplex method, or
two steps and move to the appropriate minimum. This simulated annealling, requires literally hundreds to iens
has not been necessary in our experience. To be rigorous, of thousands of closest point evaluations. These numbers
one can simply ignore the suggested update if it causes a are based on tests done to simulate the action of the least
worse mean square error.
squares registration step involved in one ICP iteration,
To give a quantitative example comparison, the regis- but using instead Powell's direction set method and the
tration values, RMS error, maximum error, angular change, Nelder-Mead method from [45].
and cumulative arc length values were recorded during Any optimization method that uses explicit vector
50 iterations of both the basic and accelerated ICP algo-.
gradients,
rithms during the same free-form surface matching test. and variable such as steepest descent, conjugate gradient,
metric schemes, will require at least 7 cbs-
The results for the basic ICP algorithm are shown in Fig- est point evaluations for each a numerical gradient evalu-
ure 2. Note the smooth character of all the curves. The ation. Therefore, such a method would have to converge
most important feature is that the cos(59) plot indicates in 3 or 4 iterations to be competitive with the acceler-
a consistent direction of updates for all but the first few ated ICP method. Such generic methods generally require
iterations. In contrast, the accelerated ICP algorithm many more than 3 iterations with the number of required
shows the desirable jumpy behavior as seen in Figure 3. closest point evaluations running well over a hundred even
Note also how most quantities get close to their final val- in ideal circumstances. If a pure numerical Hessian-based
ues after the first acceleration step and very close after Newton's method were used, the numerical gradient and
two. The acceleration steps occur whenever a V-shaped
Hessian computations would require at least 13 closest
dip occurs in the plot of cos(50) versus the iteration count.
point evaluations per iteration implying that the iteration
would have to converge in two iterations to be competi-
4.4 Alternative Minimization Approaches tive with the accelerated ICP algorithm. A pure Newton's
The iterative closest point algorithm allows us to move method might require only 3 iterations if the initial point
from a given starting point to a local minima in 7-space were already well into the region of attraction surround-
ing a local minimum, but the initial iterations would not
relatively quickly in comparison to other possible alter-
natives. Each iteration requires only one evaluation of be handled well by Newton's method.
j;
The only way to be sure is to find the minimum of all
the local minima. The problem with reaching the desired
global minimum with certainty is that it is difficult to
precisely characterize in general the partitioning of the
registration state space into local minima wells (regions
of attraction) because this partitioning is potentially dif-
ferent for every possible different shape encountered.
To be precise, consider a six-dimensional state space
Arc Length ci where the quaternion component qo is determined from
the other quaternion components: qo /1 — (q + q + q).
Figure 3: Various Quantities Plotted Against Iteration The actual state space is a subset of the space f ' =
Count for the Accelerated Iterative Closest Point Algo—
[—1, i] x R3 where R = (—, +cx) is the real line. The
rithm subset Q is specified by the "inside or on the unit 3-
sphere" constraint that q + q + q 1. Therefore, l
Whenever an accelerated parabolic update takes place may be viewed as a type of hyper-cylinder in 6-space.
after three basic ICP steps, we can get nearly quadratic For any given non-pathological shape X that repre-
convergence for less than steepest descent cost . This is an sents a real-world surface or object (e.g., pathological
interesting accomplishment for a function where deriva- shape descriptions based on sin(1/x) near zero not a!-
tives cannot be evaluated. Note that the steepest de- lowed), and for any given point set Preg already correctly
scent gradient direction is not deliberately computed; we registered with X , consider that any initial state 7 E Q
merely observe when a consistent direction is being fol- of the point set P = Preg) will converge to a local
lowed. minimum as it is matched to X. There are a finite num-
Other problems involved with using general-purpose ber of local minima Nm(X, P) after one has fixed X and
optimization methods are the following: (1) if any angles P. (The shape X is considered pathological if this is not
are used as in [54] , angular cycles across 360 degrees must true.) Let 'I'(X, P) be the set of all local minima:
be handled correctly, and (2) if a unit quaternion becomes
a non-unit quaternion as would be expected taking arbi- W(X,P) = {b} (42)
trary direction steps in 4-space, the quaternion must be
This induces a natural partitioning of into equivalence
re-normalized somewhere. Unfortunately, if the objective
where every value of t that converges
function evaluator changes the values in the state vector classes, labeled W, ,
via the ICP algorithm to t is a member of the class W.
during the optimization iteration, this has a bad effect on
This allows us to state that
most nonlinear optimization algorithms.
To summarize, any method that allows one to move
from an initial state to its corresponding local minimum = and 'I'T,fl'ITfl=4 if (43)
could theoretically be used in place of the iterative cbs-
est point algorithm. For example, consider Szeliski's [54] Let 'I' be the equivalence class that maps to the correct
work with steepest descent and three rotation angles.
However, the arguments above indicate that one would global minimum ti'i.
have a hard time trying to find an algorithm that was To guarantee that the global minimum is found for a
given shape X and a given set P not already registered
only ten times slower on average. The key benefit of the
with X, one must use an appropriate set ofinitial states so
ICP algorithm is that the convergence is fast and mono-
tonic. No expensive closest point evaluations are spent on
that transforming P by at least one initial registration will
registration vectors that have worse mean square errors place the point set into the correct equivalence class 'I'
of registrations. This allows it to converge to the correct
ciV'ir(E) /r(Ep) Vtr(E) (44) the entire surface of the northern hemisphere of the unit
4-sphere uniformly.
holds for a sufficiently large factor, say c = 1/J O.71, The rotation groups of the regular polyhedra, well
then we have found that it is generally not necessary to known to crystallographers since the 1800's [29], provide a
use multiple initial translation states as long as enough convenient set of uniformly sampled initial rotations: (a)
rotation states are used. This factor c is the allowable 12 tetrahedral group states, (b) 24 octahedral / hexahe-
occlusion percentage for global matching. The exact value dral group states, and (c) 60 icosahedral / dodecahedral
of ci could be computed for any given class of object group states. The tetrahedral states are a proper sub-
shapes via exhaustive testing if desired. set (subgroup) of the octahedral / hexahedral states and
6690T 8L7L
X
TL
z
OU9TT
O? ?TT 6T0L O8i L98IT
1O?t
6iI
6g?
69i
TJ
09?11
T9L
TLL
8T
69LT
OLN
6O8T
Tt T1T L90L 9•f7 6fT
98I
89I'
96LT
LT 6TT
OL 8i1T
i9
LV?L
OV
9F1
6T
OOLI 8T 9LTT 69 TW6T •TT
OOLL OO OOOT
OOO O0T 0001'T
ini : S I PU S dDI UOiJS!3J
s si
OO•fT
i sqng Jo s xis
pndwo UOiJSLi
'suoiJ! qiqt jOO
s!
i uip g puoos qj
:uotsize1j 8LO8t— S89S99 6Lt6U WI!
UoTOj :txy S981€O'O) 88866'O (IE8OSOO—
UO33Oli :eIuy 881L'SS ep
SI4U :ioii 8O9LtO mm
we see that considering 1440 initial states is not unrea- which is very close to the identity matrix:
sonable when the ICP algorithm is used to move from
initial state to local minimum. Translation: 0.023540 0.006925 —0.015471
Rotation- 0.999925 -0.012227 -0.001007
In the African mask example in the surface section be- Matrix: 0.012262 0.998647 0.050550
low, we accurately registered a point set with N=25OO 0.000387 —0.050557 0.998721
points to a point set with N=42OO points using 60 mi-
tial rotation states in less than 8 minutes. The amount
of brute-force enumeration testing required for this case 6.3 Surface Matching
is ridiculously large: more than 17002500(> 107500) oper- In this section, the ability of the ICP algorithm to register
ations are required. Even at 1 TeraOp/sec (1012) for the free-form surface shapes is demonstrated.
age of the universe 1018 seconds, this exact brute-force
enumeration of all possible combinations would require 6.3.1 A Bezier Surface Patch
well over 10250 universe lifetimes!
A simple parametric Bezier surface patch was constructed
for quick testing of the free-form surface matching cap&.
6.2 Curve Matching bility of the ICP algorithm. A set of 250 randomly posi-
In this section, the ability of the ICP algorithm to do tioned points was evaluated in the interior of the domain
local free-form curve matching is demonstrated. A 3-D of the surface patch and translated and rotated in a ran-
parametric space curve spline was defined as a linear com- dom manner. The points of this point set are connected
bination of cubic B-splines and control points. A copy of by lines indicating the point list sequence; they do not in-
it was translated and rotated so as to be relatively dif- dicate line geometry to be matched. The surface patch is
ficult to match. The rotated and translated curve was drawn via isoparametric lines indicating 450 triangles and
converted to a polyline description with 64 points. Each fits in a 3 x 3 x 1 units box. Following the space curve ex-
x,y,z component of each point of the polyline was then ample, 3-D vector noise with a standard deviation of 0.1
corrupted by zero-mean Gaussian noise with a standard units in each direction was added to the point set data to
deviation of = 0.1 (compared to a curve size of 2.3 create a noisy point set. The surface patch and the noisy
x 2 x 1 units). The range of 0.6 units is clearly point set are shown prior to registration in Figure 8. After
visible compared to the size of the object. We then cut running the ICP algorithm with same 24 initial rotation
off over half of the noisy polyline leaving a partial noisy states for a total of about 3 minutes, we obtained the
curve shape. Figure 6 shows the two space curves prior result shown in Figure 9. The initial positioning trans-
to registration. Figure 7 shows the two space curves after formation multiplied by the recovered transformation for
ICP registration using 12 initial rotation states and 6 mi- the noisy point set yields the following approximate iden-
tial translation states for a total of 72 initial registration tity transformation:
states. If the registration to move the curve away from Translation: —0.057329 0.013923 0.018430
the original curve is post-multiplied by the registration Rotation— 0.999357 0.034041 0.011264
recovered using the ICP algorithm, we should obtain a Matrix: —0.033883 0.999328 —0.013935
matrix close to the identity matrix except for the effects
—0.011731 0.013545 0.999840
of noise. The match of the partial noisy curve to the orig-
inal spline curve yielded the following registration matrix,
R• /4d
Translation: —11.330336 1.404177 0.934043 . Global matching is achieved at predictable cost based
Rotation— 0.999994 0.003308 —0.000231 on shape complexity.
Matrix: —0.003309
0.000230
0.999994
0.000505
—0.000505
1.000000
. Local matching is achieved at predictable cost based
on shape complexity and the percentage of allow-
able occlusion.
7 Conclusions . It can handle a reasonable amount of normally dis-
The iterative closest point (ICP) algorithm is able to reg- tributed vector noise, with standard deviations of
ister a data shape with N points to a model shape with up to 10% of object size demonstrated above.
N primitives. The model shape can be a point set, a set . The method generalizes to n-dimensions by substi-
of polylines, a set of parametric curves, a set of implicit tuting the SVD algorithm [23] for the quaternion
curves, a set oftriangles, a set of parametric surfaces, or a algorithm with the added feature that reflections
set ofimplicit surfaces. Any other type ofshape represen- are allowed.
tation can be incorporated if a procedure for computing
the closest point on the model shape to a given point is . The method can be made statistically robust by
available. If a data shape were to come in a form other substituting iterations of the SVD-based algorithm
than point set form, a dense set of points on the data by Haralick et al. [28] for the quaternion algorithm
shape can serve as the data point set. to identify outliers. The increased computational
The accelerated ICP algorithm converges to a local requirements are significant.
minimum quickly in comparison to generic non-linear op- . It can easily be used in conjunction with other algo-
timization methods. It is fast enough that global shape
rithms, such as covariance matrix alignment, which
matching can be achieved using a sufficiently dense sam-
pling of unit quaternions used as initial rotation states pre-orient the data so that fewer initial rotation
states are necessary.
and local shape matching can be achieved by combining
a sufficiently dense sampling of relevant translations. The . Shapes with three sufficiently distinct principal mo-
complexity of a single ICP iteration is O(NN). For N ments (eigenvalues) can be globally matched at a
initial translations and Nq initial rotations, the overall cost of only four initial rotation states.
complexity of local matching is O(NtNqNpNr).
The advantages of iterative closest point shape match- . It is relatively insensitive to minor data segmenta-
ing algorithm are as follows: tion errors as indicated by the performance of the
registration of points with the African mask para-
. It handles the full six degrees of freedom. metric surface model.
[30] Horn, B.K.P. 1984. Extended Gaussian images. Proc. [46] Rieger, J. 1987. On the classification of views of piece-
IEEE 72, 12 (Dec.) 1656-1678. wise smooth objects. Image and Vision Computing 5,
2, 91-97
[31] Horn, B.K.P. 1987. Closed-form solution of absolute on-
entation using unit quaternions. J. Opt. Soc. Amer. A [47] Proc. IEEE Robust Methods Workshop. University of
4, 4 (April), 629-642. Washington, Seattle.
[32] Horn, B.K.P. 1987. Relative orientation. A.I.Memo 994. [48] Sander, P. 1988. On reliably inferring differential struc-
Al Lab, Mass. Institute Technology. (Sept.) (appeared tune from 3D images. Ph.D. dissertation. Dept. of
in Int'l. Journal of Computer Vision) Electrical Eng., McGill University, Montreal, Quebec,
Canad a.
[33] Horn, B.K.P. and Harris, J.G. 1989. Rigid body motion
from range image sequences. (appeared in Computer [49] Schonemann, P.H. 1966. A generalized solution to the
Vision Graphics and Image Processing.) orthogonal procrustes problem. Psychometrika 31(1).
[34] Ikeuchi, K. 1987. Generating an interpretation tree from [50] Schwartz, J.T. and Shanir, M. 1987. Identification of
a CAD model for 3-D object recognition in bin-picking partially obscured objects in two and three dimensions
tasks. International Journal of Computer Vision 1 (2), by matching noisy characteristic curves. Int'l. J. Rob.
145-165. Res. 6, 2, 29-44.
[35] Jam, A.K. and Hoffman, R. 1988. Evidence-based recog- [51] Sederbeng, T.W. 1985. Piecewise algebraic surface
nition of 3-d objects. IEEE Trans. Pattern Anal. Ma- patches. Computer Aided Geometric Design 2, 1, 53-59.
chine Intell. PAMI-lO, 6, 793-802.
[52] Smith, B.M. 1983. ICES: A key to CAD/CAM systems
[36] Kamgar-Pansi, B., Jones, J.L., and Rosenfeld, A. integration. IEEE Computer Graphics and Applications
1989. Registration of multiple overlapping range images: 3, 8, 78-83.
scenes without distinctive features. Proc. of IEEE Com-
[53] Stockman, G. 1987. Object recognition and localization
puter Vision and Pattern Recognition Conference, June,
San Diego, CA. via pose clustering. Computer Vision Graphics Image
Processing 40, 36 1-387.
[37] Lamdan, Y. and Wolfson, H.J. 1988. Geometric hash-
ing: a general and efficient model-based recognition [54] Szeliski, R., 1988. Estimating motion from sparse range
data without correspondence. 2nd Int'l. Conf. Corn-
scheme. Proc. 2nd Int'l. Conf. Computer Vision (Tar-
puter Vision, (Tarpon Springs, Fla., Dec. 5-8), IEEE-
pon Springs, Fla., Dec. 5-8), IEEE-CS, pp. 238-251. CS, pp. 207-216.
[38] Li, S.Z., 1990. Inexact matching of 3D surfaces. VSSP-
[55] Taubin, G. 1988. Algebraic nonpianar curve and sur-
TR-3-90. University of Surrey, England. face estimation in 3-space with applications to position
[39] Liang, P. 1987. Measurement, orientation determina- estimation. Technical Report LEMS-43 Division of En-
tion, and recognition of surface shapes in range images. gineering. Brown University, Providence, Rhode Island.
Center for Robotics Systems, University of California,
Santa Barbara. [56] Taubin, G. 1989. About shape descriptors and shape
matching. Technical Report LEMS-57 Division of Engi-
[40] Luenberger, D. 1984. Linear and Nonlinear Program- neening. Brown University, Providence, Rhode Island.
ming Addison-Wesley, Reading, Mass.
[57] Terzopoulos,D., Platt,J. , Barr,A., and Fleischer,K.
[41] Morgan, A.P., 1987. Solving polynomial systems using 1987. Elastically deformable models. Computer Graph-
continuation for engineering and scientific problems. ics 21, 4 (July), 205-214.
Prentice-Hall, Englewood Cliffs, NJ.