1992 - A Method For Registration of 3-D Shapes - ICP - OK
1992 - A Method For Registration of 3-D Shapes - ICP - OK
1992 - A Method For Registration of 3-D Shapes - ICP - OK
2, FEBRUARY 1992
239
AbstractThis paper describes a general-purpose, representation-independent method for the accurate and computationally efficient registration of 3-D shapes including free-form curves and surfaces. The method handles the full six degrees of freedom and is based on the iterative closest point (ICP) algorithm, which requires only a procedure to nd the closest point on a geometric entity to a given point. The ICP algorithm always converges monotonically to the nearest local minimum of a meansquare distance metric, and experience shows that the rate of convergence is rapid during the rst few iterations. Therefore, given an adequate set of initial rotations and translations for a particular class of objects with a certain level of shape complexity, one can globally minimize the mean-square distance metric over all six degrees of freedom by testing each initial registration. For example, a given model shape and a sensed
data shape that represents a major portion of the model shape
can be registered in minutes by testing one initial translation and a relatively small set of rotations to allow for the given level of model complexity. One important application of this method is to register sensed data from un xtured rigid objects with an ideal geometric model prior to shape inspection. The described method is also useful for deciding fundamental issues such as the congruence (shape equivalence) of different geometric representations as well as for estimating the motion between point sets where the correspondences are not known. Experimental results show the capabilities of the registration algorithm on point sets, curves, and surfaces. Index Terms Free-form curve matching, free-form surface matching, motion estimation, pose estimation, quaternions, 3-D registration.
with an idealized geometric model prior to shape inspection. When inspecting shapes using high-accuracy noncontact measurement devices [4] over a shallow depth of eld, the uncertainty in different sensed points does not vary by much. Therefore, for purposes of simplicity and relevance to inspection applications based on thousands of digitized points, the case of unequal uncertainty among points is not considered. Similarly, the removal of statistical outliers is considered a
preprocessing step, is probably best implemented as such,
measurement device does not generate bad data is reasonable since some sensors have the ability to reject highly uncertain measurements. The proposed shape registration algorithm can be used with the following representations of geometric data: 1) Point sets 2) line segment sets (polylines) 3) implicit curves: '(a:,y,z) = 0
4: parametric curves:
I. INTRODUCTION
GLOBAL AND local shape matching metrics for freeform curves and surfaces as well as point sets were described in [3] in an attempt to formalize and unify the description of a key problem in computer vision: Given 3D data in a sensor coordinate system, which describes a data
to register 3-D shapes. Other representations are handled by providing a procedure for evaluating the closest point on the
given shape to a given digitized point.
This paper is structured as follows: Several relevant papers from the literature are rst reviewed. Next, the mathematical preliminaries of computing the closest point on a shape to a
given point are covered for the geometric representations men-
on a computer-aided-design (CAD) model? This paper provides a solution to this free-form surface matching problem
240
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 2, FEBRUARY 1992
free-form shapes. Most of the existing literature addressing global shape matching or registration have addressed limited
classes of shapes, namely, 1) polyhedral models, 2) piecewise-
1985 work in these areas. For a sampling of other more recent related work not discussed below, see [8], [10], [12], [13],
by investigating shape matching based on generalized shape polynomials. This demonstrated some interesting theoretical results but remains to be demonstrated for practical use on complex surfaces. Szeliski [54] also describes a method for estimating motion from sparse range data without correspondence between the points and without feature extraction. His primary goal was
to create a method for estimating the motion of the observer
[19], [20], [24], [26], [34], [35], [37]. [39], [44]. [46], [48],
[53], [58], [59].
Historically, free-form shape matching using 3-D data was
(steering knuckle) in the early 1980s. This work popularized the use of quaternions for least squares registration of corresponding 3-D point sets in the computer vision community. The alternative use of the singular value decomposition (SVD)
algorithm [23], [1], [49] was not as widely known in this time
between two range image frames of the same terrain. Given the set of points from one frame, he applies a smoothness assumption to create a smoothing spline approximation of the points. Then, a conventional steepest descent algorithm is used to rotate and translate the second data set so that it minimizes the sum of the covariance-weighted z differences between the points and the surface. His approach is based on a regular my-grid structure, and true 3-D point-to-surface distances are
not computed. The steepest-descent approach is a slower
frame. The primary limitation of this work was that it relied on the probable existence of reasonably large planar regions
within a free-form shape.
Schwartz and Sharir [50] developed a solution to the freeform space curve matching problem without feature extraction
mathematics to allow him to downweight noisier values at longer ranges from a simulated range nder. For navigation
range imaging sensors, the uncertainty in data points vary
in late 1985. They used a nonquaternion approach to computing the least squares rotation matrix. The method works well
signi cantly from the foreground to the background. For highaccuracy sensors with shallow depths of eld, the uncertainty
with reasonable quality curve data but has dif culty with very noisy curves because the method uses arclength sampling of
the curves to obtain corresponding point sets.
variation between points is orders of magnitude less and is of much less concern. Szeliski provides experimental results
for synthetic terrain data and a block. The terrain data motion
Haralick er al. [28] addressed the 3-D point-set pose estimation problem using robust methods combined with the
Horn and Harris [33] also addressed the problem of estimating the exact rigid-body motion of the observer given sequentially digitized range image frames of the same terrain. They describe a range rate constraint equation and an elevation
rate constraint equation. The result is a noniterative least squares method that provides a six-degree-of-freedom motion
estimate as long as the motion between frames of data is
based on surface normal histograms. Taubin [55] has done some interesting work in the area of
implicit algebraic nonplanar 3-D curve and surface estimation
with applications to position estimation without feature extraction. He describes a method of approximating data points with implicit algebraic forms up to the tenth degree using
a reasonable approach but relies on extraction of derivativebased quantities. Experimental results are shown for a coffee cup and the Renault auto part; see also Wong er al. [60] for other related work using attributed graphs for 3-D matching.
human face. Taubin has stated that the numerical methods of the approximate distance t tend to break down above the tenth
degree. He later [56] extended his work in shape description
24]
The work of Gilbert and Foo [21] and Gilbert et al. [22] is related in that it addresses the computation of distance between two object shapes. Such methods could be the basis for similar shape matching techniques as are described below.
The major inconvenience with their method, though, is that
A. Point to Parametric Entity Distance In this section, a parametric curve and a parametric surface are treated as a single parametric entity 1F'(ri,'), where 11' = 'u. E R1 should be substituted for parametric curves, and ii : (u, '0) E R2 should be substituted for parametric surfaces
object shapes must be decomposed into convex subbodies, which is a problem that, in general, is not trivial for arbitrary
CAD models or for digitized 3-D data.
("R denotes the real line). The evaluation domain for a curve
is an interval, but the evaluation domain for a surface can be
(6)
entities. The reader might consult Mortenson [42] on some of the items below for additional information. The Euclidean distance d('.F'1,'F2) between the two points F1 = (56112/1,21,) and F2 = ($2.3/2,Z2) is d('F1J-$2) I HT1 Tall I \/(372 11)2 + (3/2 ?J1)2 l' (Z2 - Z1)2- Lei A be a point set with Na points denoted 5,: A = {G5,} for 2' = 1, . . . , Na. The distance between the point 15 and the point set A is
F=
(1)
(7)
The closest point ti, of A satis es the equality d(g3, cifj) : d(g5', A). Let l be the line segment connecting the two points F1 and
F2. The distance between the point F and the line segment Z is
I H1111
"u;-I-11:1
The closest point 3], on the parametric entity set F satis es the equality d(p', 3],-) = d(p,
Our rst step towards computing the distance from a point to
where u [0,1] and "v E [0,1]. The required closed-form computations are straightforward. Let L be the set of N; line
curve by more than a prespeci ed distance 6. By tagging each point of the polyline with its corresponding u argument values
of the parametric curve, one can obtain an estimate of the 'u,,,
distance between the point 15' and the line segment set L is
do: L) = {;13t;3N1}d<a.1a>~
equality d(p', ',-) d(13, L).
<3)
Similarly, for a parametric surface S : {'F'(u,'u)}, one can compute a triangle set T(S,6) such that the piecewisetriangular approximation never deviates from the surface by
The closest point 3}, on the line segment set L satis es the Let t be the triangle de ned by the three points F1 =
(SL'1,y1,/2'1), 772 I (.5l3g,_t/2,22), and F3 I (Ll5'3,f_lj3,Z3). Tll
result of these curve and surface procedures, one can assume that an initial value 1].], is available such that r"('&.',,) is very
close to the closest point on the parametric entity. The point-to-parametric-entity distance problem is ideal for employing a pure Newtons minimization approach when a
closed-form computations are again straightforward. Let T be the set of N, triangles denoted t,~, and let T : {t,-} for 21 = 1,..._,N,. The distance between the point 15' and the
triangle set T is given by
(8)
gradi-
(5)
ent operator (where t implies vector transpose). The minimum of f occurs when V f = 0. When the parametric entity is a surface, the 2-D gradient vector is V f = [f,,, f,,]*, and the 2-D Hessian matrix
242
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 2, FEBRUARY 1992
is
quadratic
objective
function
subject
to
nonlinear
We el ii: iii]
by Mil) f.)(i-1) fm.(t7) f....(ii) fUU(,J)
f,,,,. The
(18)
= 2'Ff.(11') ('F(11') ~ 25) = 2ti(t1')('F'('J) 15') = 2t"i...(t1)(t*(t1') - 15') + 2Fi,(11')Fu('J) = 21*..(11')(t( ti) + 2Fi('@1)t%(iTT) = 21*i...(t1')(F( Eifi I5) + 2rZ(1?)Ft(t1')update formula for either
(10) vne+Yvao-0 an (11) an =0 (12) (13) where V 6/6f]* and solve this system of nonlinear equations via numerical methods. The number of equations (14) and unknowns for the nonlinear system is three for planar
curves, four for surfaces, and ve for implicitly de ned space entity
is
tnI=ar-Wv%naar*vnnJ
an
point, but a good starting point will allow the use of faster
methods, such as the multidimensional Newtons root nding
method. From a numerical point of view, the parametric methods are much easier to deal with. From an applied
point of view, no industrial CAD systems store free-form
(16)
_.
The calculations to compute this distance are also not closed form and are relatively involved. One method for computing point-to-curve and point-to-surface distances is outlined below.
I it ' m"
5{3L=5-11:;
_.
V9( it
(Ft)
<2)
This method is only exact if the in nite line with the direction
Vg(F) at the starting point "F0 intersects the implicit entity at a
point where the normal vector has that same direction. This is
not true in general, and the approximation is generally worse the further the point is from the implicit entity. Therefore,
aao:%g@Mgaa>
an
Our rst step towards computing the distance from a point to an implicit entity is creating a simplex-based approximation
(line segments or triangles) as was done for parametric entities
are not desired. The SVD approach, based on the crosscovariance matrix of two point distributions, does, however,
the parametric entity case where unconstrained optimization suf ces. To nd the closest point on an implicit entity
de ned by '('F') = 0 to a given point p, one must solve a constrained optimization problem to minimize
243
IV. THE ITERATIVE CLOSEST POINT ALGORITHM Now that the methods for computing the closest point on a geometric shape to a given point and for computing a
least squares registration vector have been outlined, the ICP
generated by a unit rotation quaternion is found at the bottom of this page. Let 51- = [q4q5q6] be a translation vector. The complete registration state vector rj is denoted rj [rj'R|rjT]. Let P = be a measured data point set to be aligned with
a model point set X = {:i:',}, where N,, = Np and where each point 5, corresponds to the point 5, with the same index. The
fa) =
NP
<22)
The center of mass /1}, of the measured point set P and the center of mass x for the X point set are given by
Hp =
'_B2
IIM3
I-182
.;MF
S-. S
(23)
points to be used for triangle and line sets are the vertices
and the endpoints, and if the data shape comes in a surface or
curve form, then the vertices and endpoints of the triangle/line approximation (as described above) are used. The number
of points in the data shape will be denoted NP. Let N,, be
W
310$ =
'_U2
(24) The cyclic components of the anti-symmetric matrix A,_,- = (Em ZIg:,,),,- are used to form the column vector A =
[A23 A31 A1g]T. This vector is then used to form the symmetric 4 X 4 matrix Q(E,,,,)
"0
-5
the model shape. As described above, the curve and surface closest-point evaluators implemented in our system require a framework of lines or triangles to yield the initial parameter values for the Newtons iteration; therefore, the number N, is
d(i5ZX) =-" :rEX 11i11||i"15'||where I3 is the 3 >< 3 identity matrix. The unit eigenvector
q}} = [qg q1 Q2 q3]* corresponding to the maximum
(23)
that computing the closest point is O(N,,) worst case with expected cost log When the closest point computation
(from 13 to X) is performed for each point in P, that process is
(26)
Y=qRxy
am
(27)
Given the resultant corresponding point set Y, the least squares registration is computed as described above:
where rim, is the mean square point matching error. The nota-
(39)
The positions of the data shape point set are then updated via P = rj'(P).
22(q1q2 - qoqal
2(q1q3 + (I092)
R=
2@m+mm)
2(q1q3 qoq2)
%+
2(q2qa + qoqil
2@m~mm)
<13 + qg qj qg
(3)
244
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 2, FEBRUARY 1992
would yield a smaller mean square error than the least squares registration, which cannot possibly be the case. Next, let the
least squares registration rj}, be applied to the point set P0, yielding the point set P;,+1. If the previous correspondence to
and the model shape X (with N, supporting geometric primitives: points, lines, or triangles) are given.
' The iteration is initialized by setting P0 = P, (I0 =
dk =
i_i G2
$3.2 We -i5,k+1||2-
(33)
|l?Ii.i=+1 - Z7t,k+1|| S lltjtk -}7t,k+1l| fol @3611 i = 11NP (34) because the point 311;, was the closest point prior to transformation by rj}, and resides at some new distance relative to 13',;,;,+1.
If g]',;,;,+1 were further from g'5',,;,+1 than Qk, then this would
c.
d.
0(Np))Terminate the iteration when the change in meansquare error falls below a preset threshold *r > 0 specifying the desired precision of the registration:
dk dk+1 < '7'.
directly contradict the basic operation of the C closest point operator. Therefore, the mean square errors ek and dk must obey the following inequality:
(35)
above must converge monotonically to a minimum value. Q.E.D. Experimentally, we nd fast convergence during the rst
few iterations that slows down as it approaches the local
and proved. The key ideas are that 1) least squares registration generically reduces the average distance between corresponding points during each iteration, whereas 2) the closest point
reduces the average distance because the average of a set of smaller positive numbers is smaller. We offer a more elaborate
explanation in the proof below. Theorem: The iterative closest point algorithm always converges monotonically to a local minimum with respect to the
The accelerated ICP algorithm uses a minor variation on the basic line search methods of multivariate unconstrained
minimization [45]. As the iterative closest point algorithm
the internal geometric representation of X. The mean squared error e;, of that correspondence is given by
(36)
Afli<tA(Il-1
spondence:
.N
||Aqt||llAqt_1l|
(37)
If
P % "-F D
(32)
Elk < and l9;,,_1 < (38)
It is always the case that dk ek. Suppose that dk > ek. If this were so, then the identity transformation on the point set
then there is good direction alignment for the last three registration state vectors: Q,-1,, }.,_1, and rj},_2. Let dk, dk_1,
J
I .
-<s>
m=".::r....*"..=:....
\.
Mean Square Em Axis
\____1~mmumBmr
q(i-2 in
Q
qti-3)
iv
q(1)
8e(1_I)
Linear Update
I l
'
:
_ .
\ Tz
A-_ ._ _
A ,
J
mo
: Tx
, _ ,
g
_ 1' _-_l~-1-ig>4_.
,_
58(1)
Parabola Update
Z0-1'-I>l"0lZ>W"|
AL.///l
Fig. 1.
and d;,_2 be the associated mean square errors, and let '01,,
B 1
ll)
l ; L . 5
'5
r ; *1
,::,
eido
f
I l
ql
'---_
I Jm __ ___ _ 1 ll 1_ l
zo-
CumuIltivcArcLtglh
" - 1 -%==' Eual -
Uh = U vt-1 = -|lAli<||,va-2 = "l|A(lit-1|] + 'vxt~1- (39) See Fig. 1 for a picture of the situation. Next, a linear
approximation and a parabolic interpolant to the last three
Fig. 2. Various quantities plotted against iteration count for the basic nonaccelerated ICP algorithm.
which gives us a possible linear update, based on the zero crossing of the line, and a possible parabola update, based on
the extremum point of the parabola:
U1 = -01/(11 > 0 U2 I -02/20,2.
using the new registration with the last two steps and move to the appropriate minimum. This has not been necessary in our experience. To be rigorous, one can simply ignore the suggested update if it causes a worse mean square error. To give a quantitative example comparison, the registration
values, RMS error, maximum error, angular change, and cumulative arc length values were recorded during 50 iterations
To be on the safe side, we adopt a maximum allowable value omax. The following logic is used to perform an attempted update: 1)If0<Ug <'u1 <'vm,,Xor0 < '02 < vmax < "01, use the parabola-based updated registration vector: (fl, = (Ir + 'ugAcj},/|[Atj';,|| instead of the usual vector if}, when performing the update on the point set, i.e.,
of both the basic and accelerated ICP algorithms during the same free-form surface matching test. The results for the basic ICP algorithm are shown in Fig. 2. Note the smooth character
of all the curves. The most important feature is that the cos(6t9)
Pa+1 = <I'i,(P0)-
addition, note how most quantities get close to their nal values after the rst acceleration step and very close after two. The acceleration steps occur whenever a V-shaped dip occurs
in the plot of cos(6l9) versus the iteration count. D. Alternative Minimization Approaches The ICP algorithm allows us to move from a given starting
that does not use explicit vector gradient estimates, such as Powells direction set method, the Nelder-Mead downhill
simplex method, or simulated annealling, requires literally hundreds to tens of thousands of closest point evaluations. These numbers are based on tests done to simulate the action of the least squares registration step involved in one ICP iteration but using instead Powells direction set method and the Nelder-Mead method from [45].
246
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 2, FEBRUARY 1992
I L
/\r v
V
ytos (69)
v V 1:
XlI
Um Error
example, consider Szeliskis [54] work with steepest descent and three rotation angles. However, the arguments above indicate that one would have a hard time trying to nd an
algorithm that was only ten times slower on average. The key
bene t of the ICP algorithm is that the convergence is fast and monotonic. No expensive closest point evaluations are spent
><*< N
> -
Even though the ICP algorithm must converge monotonically to a local minimum from any given rotation and translation of the data point set, it may or may not converge on the desired global minimum. The only way to be sure is to
Fig. 3. Various quantities plotted against iteration count for the accelerated ICP algorithm.
Any optimization method that uses explicit vector gradients, such as steepest descent, conjugate gradient, and variable
metric schemes, will require at least seven closest point
of attraction) because this partitioning is potentially different for every possible different shape encountered.
To be precise, consider a 6-D state space Q, where the
quaternion component qo is determined from the other quaternion components: qo = (/1 (qf + q + (11% The actual
state space Q is a subset of the space Q = [-1, 1]? >< R3, where R : (oe,+oo) is the real line. The subset Q is
speci ed by the inside or on the unit 3 sphere constraint
numerical Hessian-based Newtons method were used, the numerical gradient and Hessian computations would require at least 13 closest point evaluations per iteration, implying
that the iteration would have to converge in two iterations
to be competitive with the accelerated ICP algorithm. A pure Newtons method might require only three iterations if the initial point were already well into the region of attraction surrounding a local minimum, but the initial iterations would
not be handled well by Newtons method. Whenever an accelerated parabolic update takes place after three basic ICP steps, we can get nearly quadratic convergence
X, consider that any initial state Q G Q of the point set P = q(P;@g) will converge to a local minimum as it is
matched to X. There are a nite number of local minima
\I1tX. P) = {..}.t:1
This allows us to state that
<42)
consistent direction is being followed. Other problems involved with using general-purpose optimization methods are the following: 1) If any angles are
used as in [54], angular cycles across 360 must be handled correctly, and 2) if a unit quaternion becomes a nonunit quaternion, as would be expected taking arbitrary direction steps
(43)
Let 111 be the equivalence class that maps to the correct global minimum 1111. To guarantee that the global minimum is found for a given
247
P by at least one initial registration will place the point set into the correct equivalence class \I11 of registrations. This
allows it to converge to the correct global minimum 1/)1. Two
coincide, and then apply ICP. We have found no differences in the nal registration results between 1) not translating and
2) pretranslating the point set when using an adequately large
shapes converge to the correct respective global minimum. By using a suf ciently dense uniform sampling of quaternions on the unit sphere combined with a suf ciently dense sampling of translation vectors occupying the total volume about the shape X, it is possible to determine the complete nite set of local minima with a suf ciently small probability of error for one given object. One could construct a set of
of mass to the model shapes center of mass generally saves a few iterations (e.g., 2 to 4) out of the usual 20 or so total. A further simpli cation in the global shape matching algorithm can be accomplished for most generic shapes, where principal moments demonstrate some level of distinctness. Let
pr Z pg Z pz be the square roots of the eigenvalues of Zlp, and let 11,, Z ry Z rz be the square roots of the eigenvalues
Pi. S 042%
T2 O!2'l"y
(45)
(46)
rst
can reliably match the basic shape structure of data and model using only the eigenvectors of the matrices E1, and Em. Again,
the exact value of 0:2 could be computed for any given set of objects and any given level of sensor noise via exhaustive testing if needed. In this case of eigenvalue distinctness,
each subsequent shape. Such methods can be very memory intensive; a 20 >< 20 >< 20 >< 20 >< 20 >< 20 hypercubic-hypervoxel
grid of the smallest hypercylinder containing all relevant
but indeed, it is possible and relatively straightforward, except for the high dimension of the problem.
A. Initial States for Global Matching
(44)
holds for a suf ciently large factor, say 0:1 = 1/\/2 m 0.71, then we have found that it is generally not necessary to use
octahedral/hexahedral states and the icosahedral/dodecahedral states. The octahedral/hexahedral states are not properly contained in the icosahedral/dodecahedral states. For a convenient listing of these rotations in quaternion form, see Appendix A of [32]. From an implementation point of view, one has the option
248
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 2, FEBRUARY 1992
full interior and surface of the unit 3 sphere) is adequate. In general, every application may want to use a customized set
of initial quaternions that will maximize the probability of
4=
21
(41)
error, we can also state categorically that for any given xed
set of initial rotation states, one can construct a shape X that cannot be correctly registered by the algorithm. Begin with
a sphere of radius R. Add a thin spike of length S to the surface of the sphere for each speci ed axis and for each rotation about that axis as indicated by the fixed set of initial
rotation states. Next, add one or more spikes of length S + e anywhere that the extra spikes will t. If the extras will not t, make the original spikes thinner. Then, sample points on
the surface of this shape with any desired scheme so that there
is at least one point per spike, including one at the tip of each spike. The ICP algorithm combined with the given xed set
programs were written in C. Any quoted approximate times are given for execution on a single-processor computer rated at 1.6
M ops on the 100 >< 100 double-precision Linpack benchmark. A. Point Set Matching In this section, we demonstrate the ability of the ICP
algorithm to perform local point set matching without correspondence. Table I lists a point set with eight points that is to be matched against a set of 11 points. Fig. 4 shows the two point sets prior to registration. Fig. 5 shows the two point sets after registration by the ICP algorithm after six iterations, which took less than 1 s. The computed registration is
Translation: -48.078 6.65685 119.479 Rotation Axis: (0.0321865 0.998188 -0.0508331) Rotation Angle: 55.7188 degs RMS Error: 0.437608 mm
grouped together.
The algorithm does not pay attention to the extra points or to the ordering of the points because it always pairs a given
249
/1 H
1 1
4 6
1 1
I I
/
1
J
1 I J T I I I/I I"!
, ,r I
order insensitivity.
1) Computational Issues: If one were to use a brute-force
1
1 I 1 I
tree search (testing every possible correspondence and choosing the best one) in order to
]
1 1 1 j 1 I r
/ , / /I I , j I I
| ig
~ i
,1
I_____L___
1
I PT
1 I
1
/ 1 1
'
1
j
1
1
1 I "1 I
f I
1/
(1
fl
least squares quaternion match. For the simple example of local matching above with Np : 8 and N,,, : 11, a brute force test would require 6 652 800 quaternion registration operations. The above registration required only six operations since the initial state was already a member of the equivalence class of the global minimum. Even with 24 initial translation states and 60 initial rotation states allowing ten iterations for
Fig. 4.
l |
1 1 1I
I l l
-If
Ir
I
, 1' I1
,1 , 1
\
\ I , I /
,.
-" F _, I
-_
' 11
If I !' f
i
I
/I
f , 1
1
If /I 1 I
I r " 1 "
"1 I I "
operations to provide an exhaustive and very capable matching ability. Moreover, it only takes a few minutes for these types of small point sets. The computation reduction ratio of the ICP algorithm compared with brute-force testing for this simple case is 462:1. Of course, other alternatives are possible, but we see that considering 1440 initial states is not unreasonable when the ICP algorithm is used to move from initial state to local minimum.
1
1 1- I
r
I ,
,I
I I
If
I
1 1.
1 I I I
1
1 1 I
.1
1
J ___._
'
I
1'
1 - I 1 I
-. ~. \ \
"
states in less than 8 min. The amount of brute-force enumeration testing required for this case is ridiculously large; more than 17002(> 107500) operations are required. Even at 1 TeraOp/s (1012) for the age of the universe 1018 s, this exact
l
1 I 1/ " I
J1 I I
Fig. 5.
B. Curve Matching
22
.
u_
1' 1
..
yl
21
lT _
I2
- it l
In this section, the ability of the ICP algorithm to do local free-form curve matching is demonstrated. A 3-D parametric
space curve spline was de ned as a linear combination of
43.89
42.02 42.01
-5.88
20.52
106.99 112.52
146.10
148.67
25.39
4.69 17.96
113.25
112.60
147.20
148.09
44.95
44.12 48.26 Y 46.28
72.71
70.67 64.38 72.47 69.82
17.69
4.62 -5 .40 -1.16 19.81 25.00
115.15
113.59 114.58 117.65
145.95
143.59
polyline was then corrupted by zero-mean Gaussian noise with a standard deviation of o : 0.1 (compared with a curve size
of 2.3 >< 2 >< 1 units). The i3o range of 0.6 units is clearly
143.85
148.32 150.00 140.00
145.00
47.06
visible compared with the size of the object. We then cut off
over half of the noisy polyline leaving a partial noisy curve shape. Fig. 6 shows the two space curves prior to registration. Fig. 7 shows the two space curves after ICP registration using
77.00
l 1
80.00
-10.0
30.00
83.00
the curve away from the original curve is post-multiplied by point on the rst set to the closest point on the other set. Only
one initial rotation state and one initial translation state were used in this example of local matching. In general, one must use an initial set of rotations combined with an initial set of the registration recovered using the ICP algorithm, we should
25O
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 2, FEBRUARY 1992
"
"'7
"
\*
i
| y
__
1
I
i'\
F \\ \ .| .
i
.
\ \ \
_ _
"u '1.-/ I-~ $1.. 1-5: 'r_., ,~. . ,_ ~.:_' c_,-.,4_,-._,1 n.,'>,__-';_:,__ r,;_:,~_.__- C 4; 'r "'-2' -.~ 'F ;u -r. --r 3; us1_ -1 -.'/7f .-5/ *-,_ ;- I \ Q I1 4 iv or I) I .3, \ 1-\ f _i.r:Ii I "K. IV /' "1 I-n__/ .n , 13 -A|_{_ _.,'\/'1, _ =_'-, /,/ t.I \ I\'.. Nu m_ 9"i.' \|l| \\ \ ~ \" z \ I 11L_ ,-T! .-,-
,I \
'4;,.1" ;.~<"-#*Z=-"
\\/ v
1
"0" iii .4
'?. -~ .: .~s~'-
~\ \\
..P' _.,' _ ,, -, /Y'-1,/', ",rf it -~'A1, ,_-4. 4,--5/' :/-\ 113;" :\_-0; .'-. '/p"l/"1 >1T '_L-,.4 "51~ ~."-_'=5/r<i b;,: '~-5=."-.=!~"~35"
.. -t-r -\ v 1'0 '1 / I;-1' , 1", __:___. ._, T_:%, ,, 4'4 t _~ 4___: | -1-_,<;;/" |\_J-\ ,. 3 1-. ~ ;1:' -. -_F'1 /Q -..r-_/,-2_- -'t~ _
-H
__.-
--=
__
1
\ \
I I v' \ \ .
W._/
,- ,
"Q
I
4
...
I I I,
\ \ _,-P J
r.I'_-)1
l \n\ \. Il.!.1.!sI!lif-!4. l.I!A!A!l I I ! l;\:\Il,L!.!l!L\ \ rIl 1?:7.i!il ,nIill :n'.ger :zIifl l l g./",\IM %%/
-_, u-..
Fig. 6.
Fig. 8. Noisy point set and surface patch prior to registration: 250 points matched to 450 triangles.
-1
-v--_
'\
,-
\
"0- -.
T
\
0S . .i
. "315
"
\
\ \
H
Fig. 9.
I .r
\ 1
A *".="*f.~I.-{iii l:;_'f:
v
,
I, l/
,
F
via isoparametric lines indicating 450 triangles and ts in a 3 >< 3 >< 1 units box. Following the space curve example, 3-
D vector noise with a standard deviation of 0.1 units in each direction was added to the point set data to create a noisy
Fig. 7. Ideal and a partial noisy space curve after registration.
point set. The surface patch and the noisy point set are shown
prior to registration in Fig. 8. After running the ICP algorithm with same 24 initial rotation states for a total of about 3 min, we obtained the result shown in Fig. 9. The initial positioning
transformation multiplied by the recovered transformation for
C. Surface Matching In this section, the ability of the ICP algorithm to register
face patch was constructed for quick testing of the free-form surface matching capability of the ICP algorithm. A set of
250 randomly positioned points was evaluated in the interior of the domain of the surface patch and translated and rotated in a random manner. The points of this point set are connected
matching ability. The surface patch and the noisy point subset
are shown prior to registration in Fig. 10. After running the
by lines indicating the point list sequence; they do not indicate line geometry to be matched. The surface patch is drawn
, _| . I
\ \ l
_|
J
1 1 , ll ,1 /a .
-1 _.. _-//' 5 er, ,..|._ _ I,, A , _ -'-4- 3' r7 4'.-,-.?7_'1 I ,_ _r-, r, .1 31,-,rJJ_..,._/. , 1, '1 .
.
r ._,
\ ivy, ,
\
V ,t. r , 11 a
-. _
v\ ,~ - \<\.; z\,\\\
\ P \\ i
.-
,\ \ I.
' 1, I
' |'
1 Q 0QO -III]("l;;;I;"0.:0':-:0:-ozy:.::0;J_
00,, v.,<-04.0-4 -. C 0 QQ\\\\\\\Q6; QQ D .\\\_. 41;,4- 0,0;0;0,; \ \, \ 1o;:'O::'Io:"00:-v:;33;::o'v'Q*:\\\\\::;?:~~?:\Q \ "Ia;-"I;:'lo:'l0:-';'O Q Q.0.0.0:?;//!l"Q \\\-\\_~. /l0;,'Il;,'I0;,'0-.,,P..O.OQQO.'. I If, ..\"-\ \\\\.-'\\ \, "ll""l" 0_":1;'.4. . . Q Q 1!], I Q \\\\ \\_~.: . \ Illn, ll1,, "40),;O;-QQ O /II \\.. .. o.~Q 0; I \ .. I, II 44': "I4 '0 O Q .0 0 I "0' Q Q -'0, w \\\\
,3-Z$;g;2;;2:;::32;;Z;;:gZ:.:\\\\.\-,~::iS E j 3
II 'I \ ~ -. _ zz;qI;:O..,;$::\.Q:::5;i3i J
. \\ 9/! ~-. .. -'71 ,1,-_ "X "2-_ __-1. _,,1 .:.,_,-)~, r/(I 1 1._ -',-- -7', F_._""r.'_/-.~1 ,0! _' .1-_\~--u;\;,\I'_ ,;:i9_,=_,_:_.. _7' ' 1-I ''"- d:-',- Ad'4,1
I-\_ J
"~
1.
: WIIfff"lI''("!;"'0'o;$77:11ZZZ25/0/0:}Ir$'0f:o,.\g\:\\\\\\ Wm n 0 0' ow" ~,,, /Io I1 NW0 \ \\ 0;," II/;:'I)' ' II): fIIIzII.I I glgiff3Z;4;:41;z0:z;:I.:I:.O. \\\\ \\
I ' u!"5$"'o"o' \\\\\
J-,4 5' 41"
'$'l 41111111/l1;,''0,'I:{o,*.%'';.$551$$5;'/a,,m"o"''\\*\\\\\
Ir/I0/3'55?"1'o9"?!'5$*$'3'3'3'3'$:$$$$i/0155i$"$o"5$'''$'3:'i\\iii\ 4 I I] 0 0 oooo0 o 1 0 0 O \
III!!!
\i
pr;- '-"4 _.p'ai-!"--/ rki.4|pI '5' 7 1|-" 'bI",4','1 'f';I"4.
. _ ., _ _
*"- - -Hr
xi. ...
I'1:
.
I ___. _
Illlliiifi iiiiiiiiiiiiiiiziizgtstit;7:;;:;:;=:;:555:?:;$:$::;$;Zvt;i.ti\;t tr, 0 ;,$;;r'i/ ) "'., L'- "_:"-?'.4 3Y /lIII1';-'//I/II1,'I{l;0;'o'0'o'oti tg tgit t \\\\\-
0952-
'*
"3Q";\>-L
*4
''
"
Y
\ '\
4
-
//J
l~2.2==" . t,t}t!"3,
W3: .
I'11: .-
lAm-".r'i.r/
I 151%}: I
__-
\\\\II!
Fig. 12. Model surface: Range image of mask: 8442 triangles.
Fig. 10. Noisy point subset and surface patch prior to registration: 138 points and 450 triangles.
I. -I U
_| a
it
it
1"
|
r-.
\\\.
.
' L
I
\,r'..\'."~\" "
0 r\
-.;,
'\- .
\
r 1,. r !
&5E.8.%i;2:\
/ 3
-4.._
'--'.Z."'-41-PF.-"'_*-I:-_-1_\.';-_-
Fig. 11.
-=' _;~__%7T-:_~7\!>
____
:_- -*1C
Fig. 13. Data: Rotated and translated point set of mask: 2546 points. Translation: -0.166476 0.159480 0.128289 Rotation: 0.990806 0.113548 0.073548 Matrix: -0.113595 0.993521 0.003545 -0.073474 -0.004842 0.997285
This matrix approximation to the identity is much less precise than the global matching case, but the data is so noisy and the shape is so featureless that we found it surprising that the registration came out as well as it did.
2) The NRCC A ican Mask: In this experiment, range data
from the National Research Council of Canadas African mask example was obtained using the commercially available Hyscan laser triangulation sensor from Hymarc, Ltd. A lowresolution 64 >< 68 gridded image was computed from the original data set for use in our experiments and is shown in
version of the measured data point set containing 2546 points is used as the data point set and is shown as scan lines in a test registration view in Fig. 13. All trial positionings of the 90-mm object, including the one shown above, converged to the correct solution in about 10 min, and all cases had a 0.59-mm RMS error. This includes six iterations worth of testing on each of 24 initial state vectors and full iteration on the best state of the six initial iterations. A side view of both the digital surface model and the measured point set as registered is shown in Fig. 14. The registration is quite accurate. A Bezier surface patch model of the mask was created to test the parametric surface matching capability on the given shape. This model is shown in in Fig. 15. The point set
Fig. 12. This data will serve as the model surface description
with 8442 triangles (4221 quadrilateral polygons). A thinned
in various rotations and translations was then registered to the parametric surface model. We had expected about a 1.2-
252
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 2, FEBRUARY 1992
1"*
6,1,
t
up
\ \\ ..' . -r .1
i '1 fit W
4-5=";%f_-re/J
%E" T" -'=,_=*'?"-=5"
.;\\.
tn-*>.-"~'@=../AT r.~ 1
1%. 1.;-.if4? e .7
J .4_-|#"'
1'
T*"'
44- 14-
tri ( \ \-','\\i.\\
-,4 /'
-_. - -
-K\
\ \
is
In
\Q / \\ 7i-T: 1, _T.l' /
/>4
\\\\\\\
\ }YI
=
0
-~ .
A %E-- 4724/ l, i /l 1/\ mini
Fig. 14.
\-
'_. '7 \ - - /A
' ',-.
. - I
\; )1
M iF~;-_u'.
Fig. 15. Surface patch boundaries of a set of parametric surfaces: 97 cubic Bezier patches.
measured points. Note the extra data points for which there was no possible surface correspondence and the evidence of misregistration in Fig. 16. Overall, this match was not bad considering the circumstances. After a post-processing step
to ignore any measured points whose point-to-surface vectors
._
; -4 I
~r.'. -_
aw
0.
I=_=; t-'2.ttutsx Z:"?l.=~ ""'$"i'i*i*P.it{i: sasa.%s3~".=;%?,= *Isiaat 7 "~."~itt\ '- s; .t.'...: 1' p..t.rnn==_i.;.._ 'I..=;.;a.-.7-~.,.' . I "
it
\I|,@*at;ia'9 i'?i~,;;&>'{ia,$\ _ \~i..tP-W. .....~';.-P-3 I"7"" ,/.'%f1b-i? if-#'im''-~""*'"""iiii:?'ilP;35t-\** ti 'i:ti ti tl&i x&\f5;?:;.;*i-,;<?: i>5E,'~ i.34~Y\-- i 1' __ ,_.._.'-an-|_|4l' ' <'_;_1I'{;l__i- Q15 - ~..i' 2-130-
?-.1 .15
1-1'
_"'
-H-'7' _.
.'.
_fij E1@"',4tWY?,jg_":;;5?,1%i5A2'a%5#,g?*'
~ o'er/27%~1*
'
~*' i ~ '~ 7
v i
17. The registration algorithm locked in on the solution and gave a slightly improved nns distance in less time than the full data set.
3) Terrain Data: For the nal set of experimental results, some terrain data for an area near Tucson was obtained from
Fig. 16.
point set was then lifted above the model surface and rotated to be approximately orthogonal to the model set as shown
in Fig. 20. The ICP algorithm performed local matching to the model surface using 24 initial rotations and one initial translation. The registration process for these larger data sets
are 6700 >< 6840 >< 1400 units. A point set was extracted
by performing 56 planar section cuts at regular intervals
along one axis and then thinning out the data using a chord
length deviation check. An interior section of this data set was extracted such that about 60% of the surface area of the original data set was covered. The resulting data set
took about 1 hr. The results are shown in Fig. 21. The initial positioning transformation multiplied by the recovered
transformation yields the following approximate identity transformation, which demonstrates that surface matching for very
253
.
. \_:, 1/ ,1: _
ii I-*
.1
" T 1T~''=_..
i"7}'{}1\1-,|]"r._
."" .\li l"
\| M [Ir
~\\\
\\\.
C
"
1'| |i
ll
\
\
iiii W
\.
\\
,4: 5
.-._
Fig. 19.
" "' ,
4'
Fig. 17.
tr-it
Fig. 20.
Fig. 18.
Fig. 21.
VII. CONCLUSIONS
The iterative closest point (ICP) algorithm is able to register
a data shape with Np points to a model shape with NI primitives. The model shape can be a point set, a set of polylines, a set of parametric curves, a set of implicit curves, a set of triangles, a set of parametric surfaces, or a set of implicit surfaces. Any other type of shape representation can
254
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 2, FEBRUARY 1992
complexity of local matching is O(N,NqN,,N,,). The advantages of the ICP shape matching algorithm are as follows: ' It handles the full six degrees of freedom.
' It is independent of shape representation. ' The surface patch or curve segment partitioning of para-
The disadvantages of the ICP shape matching algorithm are as follows: ' It is susceptible to gross statistical outliers unless a statistically robust method is substituted at some point (either in preprocessing or registration computation) for outlier detection. ~ The fast least squares quaternion and SVD methods are not so easily adapted to weighted least squares extensions, meaning that it is dif cult to extend the fast algorithm to allow the assignment of unequal uncertainties to points, as was done in [54]. This is not a major inconvenience
for inspection applications but would yield noticably
data in its native form without elaborate user-guided preprocessing. ' It does not require preprocessing of 3-D point data,
such as smoothing, as long as the number of statistical outliers is near zero. This is usually the case with accurate
increases signi cantly with range. ' The cost of local matching can get quite large for small
allowable occlusion percentages, e.g., 10% or less. We do
' As an extension of the outlier rejection issue, the stated algorithm does not solve the segmentation problem, of
course. If data points from two shapes are intermixed and
' It can handle a reasonable amount of normally distributed vector noise, with standard deviations of up to 10% of object size demonstrated above. ' The method generalizes to rt dimensions by substituting the SVD algorithm [23] for the quaternion algorithm with the added feature that re ections are allowed. ' The method can be made statistically robust by substituting iterations of the SVD-based algorithm by Haralick er
al. [28] for the quaternion algorithm to identify outliers.
The increased computational requirements are signi cant. ' It can easily be used in conjunction with other algorithms, such as the covariance matrix alignment, which preorient the data so that fewer initial rotation states are necessary. ' Shapes with three suf ciently distinct principal moments (eigenvalues) can be globally matched at a cost of only
four initial rotation states. ' It is relatively insensitive to minor data segmentation errors as indicated by the performance of the registration of points with the African mask parametric surface model.
matched against the individual shapes, the registrations will be wrong, and the mean square distance metric will be large. This is a problem with almost all of the shape matching algorithms in the literature. ' For any given xed initial set of rotations, the global shape matching capability can be defeated even without sensor noise by constructing sea urchin or planetoid shaped objects based on the set of rotations such that correct registration cannot be guaranteed. On the other hand, for a xed set of objects and no sensor noise, one can determine an initial set of registrations in a nite amount of time such that one can guarantee registration in a nite amount of time with a suf ciently small probability of error.
' In the limit of very complicated sea urchins or perfectly
spherical planets with a single 1 um bump or in the limit of very localized matching (1% of object shape or less) on any object, the ICP algorithm degenerates to brute-force 3-D template matching. Feature extraction techniques, if possible, are preferable in such circumstances.
VIII. FUTURE DIRECTIONS
' The results of the last iteration of closest point registration can be used directly as inspection results since the distance to the closest point on a surface is computed as a byproduct. ' The accelerated ICP algorithm can achieve Newton-type
more testing has been done. We believe the algorithm for point sets, polyline sets, and triangle sets are simple enough to be
widely implemented and tested.
example, we have not discussed the use of kd trees to ensure expected cost of O(log N,,,) rather than the worst case O(N,)
255
I [19] [11] I12] [13] I14] [15] [16] [17] [18] [19] [39]
entation system, Int. J. Robotic Res., vol. 5, no. 3, pp. 3-26, Fall 1986. P. Brou, Using the Gaussian image to nd the orientation of an object,
Int. J. Robotics Res., vol. 3, no. 4, pp. 89-125, 1983.
J. Callahan and R. Weiss, A model for describing surface shape, in Proc. Conf Comput. Vision. Part. Recogn. (San Francisco, CA), June 1985, pp. 240-247. C. H. Chen and A. C. Kak, 3DPOLY: A robot vision system for recognizing 3-D objects in low-order polynomial time, Tech. Rep. 88-48, Elect. Eng. Dept., Purdue Univ., West Lafayette, IN, 1988. R. T. Chin and C. R. Dyer, Model-based recognition in robot vision, ACM Comput. Surveys, vol. 18, no. l, pp. 67-108, Mar. 1986. C. DeBoor, A Practical Guide to Splines. New York: Springer-Verlag, 1978. C. DeBoor and K. Hollig, B-splines without divided differences,
Geometric Modeling: Algorithms and New Trends (G. Farin, Ed.), SIAM,
pp. 21-28, 1987. G. Farin, Curves and Surfaces in Computer Aided Geometric Design: A Practical Guide. New York: Academic, 1990. O. D. Faugeras and M. Hebert, The representation, recognition, and locating of 3-D objects, Int. J. Robotic Res. vol. 5, no. 3, pp. 27-52, Fall 1986. T. J. Fan, Describing and recognizing 3-D objects using surface properties, Ph.D. dissertation, IRIS-237, Inst. Robotics Intell. Syst., Univ. of Southern California, Los Angeles, 1988. P. J. Flynn and A. K. Jain, CAD-based computer vision: From CAD
models to relational graphs, IEEE Trans. Patt. Anal. Machine Intell.,
It may be possible to extend the basic least squares registration solution to allow deformations (independent axis scaling
vol. 13, no. 2, pp. 114-132, 1991; see also Ph.D. Thesis, Comput. Sci. Dept., Michigan State Univ., E. Lansing, MI. E. G. Gilbert and C. P. Foo, Computing the distance between smooth objects in 3D space, RSD-TR-13-88, Univ. of Michigan, Ann Arbor, 1988. E. G. Gilbert, D. W. Johnson, S. S. Keerthi, A fast procedure for computing the distance between complex objects in 3D space, IEEE J.
Robotics Automat, vol. 4, pp. 193-203, 1988.
signi cantly complicates matters. Finally, these free-form shape matching methods are likely
to be useful as part of a 3-D object recognition system.
G. H. Golub and C. F. Van Loan, Matrix Computations. Baltimore, MD: Johns Hopkins Univ. Press, 1983. W. E. L. Grimson, The combinatorics of local constraints in modelbased recognition and localization from sparse data, J. ACM, vol. 33, no. 4, pp. 658-686, 1986.
W. E. L. Grimson and T. Lozano-Prez, Model-based recognition and
localization from sparse range or tactile data, Int. J. Robotics Res., vol. 3, no. 3, pp. 3-35, Fall 1984. K. T. Gunnarsson and F. B. Prinz, CAD model-based localization of parts in manufacturing, IEEE Comput., vol. 20, no. 8, pp. 66-74, Aug. 1987. E. Hall, J. Tio, C. McPherson, and F. Sadjadi, Measuring curved surfaces for robot vision, Comput. vol. 15, no. 12, pp. 42-54, Dec. 1982. R. M. Haralick et al., Pose estimation from corresponding point data, inMachine Vision for Inspection and Measurement (H. Freeman, Ed.). New York: Academic, 1989.
H. Hilton, Mathematical Crystallography and the Theory of Groups of
REFERENCES
ili K. S. Arun, T. S. Huang, and S. D. Blostein, Least square tting of two
3-D point sets, IEEE Trans. Part. Anal. Machine Intell. vol. PAMI-9,
31 32 33 34
no. 5, pp. 698-700, 1987. _2i R. Bajcsy and F. Solina, Three-dimensional object representation revisited, Proc. 1st Int. Con Comput. Vision (London), June 8-11, 1989, pp. 231-240. I3: P. J. Besl, Geometric modeling and computer vision, Proc. IEEE, vol.
76, no. 8, pp. 936-958, Aug. 1988.
Movements. Oxford: Clarendon, 1963; London: Dover, 1963. B. K. P. Horn, Extended Gaussian images, Proc. IEEE, vol. 72, no. 12, pp. 1656-1678, Dec. 1984 __.._., Closed-form solution of absolute orientation using unit quaternions, J. Opt. Soc. Amer. A vol. 4, no. 4, pp. 629-642, Apr. 1987 _______, Relative orientation, A.I. Memo 994, AI Lab, Mass. Inst. Technol., Cambridge, Sept. 1987. B. K. P. Horn and J. G. Harris, Rigid body motion from range image sequences, Comput. Vision Graphics Image Processing, 1989. K. Ikeuchi, Generating an interpretation tree from a CAD model for
3-D object recognition in bin-picking tasks, Int. J. Comput. Vision, vol. 1, no. 2, pp. 145-165, 1987.
41 P. J. Besl, Active optical range imaging sensors, in Advances in Machine Vision (J. Sanz, Ed.). New York: Springer-Verlag, 1989; see also Machine Vision and Applications, vol. 1, pp. 127-152, 1989. [5] i, The free-form surface matching problem, Machine Vision for Three-Dimensional Scenes (H. Freeman, Ed.). New York: Academic, 1990. [6] P. J. Besl and R. C. Jain, Three dimensional object recognition,ACM Comput. Surveys, vol. 17, no. 1, 75-145, March 1985, [7] J. Blumenthal, Polygonizing implicit surfaces, Xerox Parc Tech. Rep. EDL-88-4, 1988. [8] B. Bhanu and C. C. Ho, CAD-based 3-D object representation for robot vision, IEEE Comput., vol. 20, no. 8, pp. 19-36, Aug. 1987.
I35] [36]
A. K. Jain and R. Hoffman, Evidence-based recognition of 3-D objects, IEEE Trans. Part. Anal. Machine Intell., vol. 10, no. 6, pp. 793-802, 1988. B. Kamgar-Parsi, J. L. Jones, and A. Rosenfeld, Registration of multiple overlapping range images: Scenes without distinctive features,
Proc. IEEE Comput. Vision Patt. Recogn. Conf (San Diego, CA), June
1989.
256
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 2, FEBRUARY 1992
[38] I39]
[40] [41] I42: -43-
S. Z. Li, Inexact matching of 3D surfaces, VSSP-TR-3-90, Univ. of Surrey, England, 1990. P. Liang, Measurement, orientation determination, and recognition of surface shapes in range images, Cent. Robotics Syst., Univ. of California, Santa Barbara, 1987. D. Luenberger, Linear and Nonlinear Programming. Reading, MA: Addison-Wesley, 1984. A. P. Morgan, Solving Polynomial Systems Using Continuation for Engineering and Scienti c Problems. Englewood Cliffs, NJ: PrenticeHall, 1987. M. E. Mortenson, Geometric Modeling. New York: Wiley, 1985. J. Mundy et al., The PACE system, in Proc. CVPR 88 Workshop; see
also DARPA IUW.
B. C. Vemuri, A. Mitiche, and J. K. Aggarwal, Curvature-based representation of objects from range data, Image Vision Comput., vol. 4, no. 2, pp. 107-114, May 1986. B. C. Vemuri and J. K. Aggarwal, Representation and recognition of objects from dense range maps, IEEE Trans. Circuits Syst., vol. CAS-34, no. 11, pp. 1351-1363, Nov. 1987. A. K. C. Wong, S. W. Lu, and M. Rioux, Recognition and shape synthesis of 3-D objects based on attributed hypergraphs, IEEE Trans. Patt. Anal. Machine Intell., vol. 11, no. 3, pp. 279-290, Mar. 1.989.
-44: .45-
-46:
i471 I481
Press, Flannery, Teukolsky, and Vetterling, Numerical Recipes in C. Cambridge, UK: Cambridge University Press, 1988. J. Rieger, On the classi cation of views of piecewise smooth objects, Image and Vision Computing, vol. 5, no. 2, pp. 91-97, 1987. Proc. IEEE Robust Methods Workshop. Univ. of Washington, Seattle. P. Sander, On reliably inferring differential structure from 3D images, Ph.D. dissertation, Dept. of Elect. Eng., McGill Univ., Montreal,
Canada, 1988.
[491 [501
[51I
P. H. Schonemann, A generalized solution to the orthogonal procrustes probIem, Psychometrika, vol. 31, no. 1, 1966 J. T. Schwartz and M. Sharir, Identi cation of partially obscured objects in two and three dimensions by matching noisy characteristic curves,
Int. J. Robotics Res., vol. 6, no. 2, pp. 29-44, 1987.
152*
[538 I541
T. W. Sederberg, Piecewise algebraic surface patches, Comput. Aided Geometric Des., vol. 2, no. 1, pp. 53-59, 1985. B. M. Smith, IGES: A key to CAD/CAM systems integration, IEEE Comput. Graphics Applications, vol. 3, no. 8, pp. 78-83, .1983. G. Stockman, Object recognition and localization via pose clustering,
Comput. Vision Graphics Image Processing, vol. 40, pp. 361-387, 1987.
Paul J. Besl (M86) received the B.S. degree summa cum laude in physics from Princeton University, Princeton, NJ, in 1978 and the M. S. and Ph. D. degrees in electrical engineering and computer science from the University of Michigan, Ann Arbor, in 1981 and 1986, respectively. Prior to 1984, he worked for Bendix Aerospace Systems in Ann Arbor and Structural Dynamics Research Corporation, Cincinnati, OH. Since 1986, he has been a research scientist at General Motors Research Laboratories, Warren, MI, where his primary research interest is computer vision, especially the practical applications of range imaging sensors. Dr. Besl is a member of the Association for Computing Machinery. He received a Rackham Distinguished Dissertation Award for his Ph. D. work on range image understanding, which was later published in book form by Springer Verlag.
R. Szeliski, Estimating motion from sparse range data without correspondence, 2nd Int. Con Comput. Vision (Tarpon Springs, FL), Dec. 5-8, 1988, pp. 207-216. [551 G. Taubin, Algebraic nonplanar curve and surface estimation in 3space with applications to position estimation, Tech. Rep. LEMS-43, Div. Eng., Brown Univ., Providence, RI, 1988. [56] ____, About shape descriptors and shape matching, Tech. Rep. LEMS-57, Div. Eng., Brown Univ., Providence, RI, 1989. I57] D. Terzopoulos, J. Platt, A. Barr, and K. Fleischer, Elastically deformable models. Comput. Graphics, vol. 21, no. 4, pp. 205-214, July 1987.
Neil D. McKay received the B. S. degree in electrical engineering from the University of Rochester, Rochester, NY, in 1980, the M.S. degree in computer and systems engineering from Rensselaer Polytechnic Institute in 1982, and the Ph. D. degree in electrical engineering from the University of Michigan in 1985. He has been with the Computer Science Department of General Motors Research Laboratories since 1985. His interests include robot path planning and optimal control.