0% found this document useful (0 votes)
97 views21 pages

Besl 1992 Method For Registration of 3D Shapes

This document describes a method for registering and aligning 3D shapes called the Iterative Closest Point (ICP) algorithm. The ICP algorithm iteratively minimizes the distance between corresponding points on two 3D shapes to determine the optimal rotation and translation that aligns them. The algorithm is representation-independent, requiring only a procedure to find the closest point on a shape to a given point. It converges monotonically to the nearest local minimum. The document reviews related work and provides details on using ICP to register point sets, curves, surfaces, and other geometric representations.

Uploaded by

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

Besl 1992 Method For Registration of 3D Shapes

This document describes a method for registering and aligning 3D shapes called the Iterative Closest Point (ICP) algorithm. The ICP algorithm iteratively minimizes the distance between corresponding points on two 3D shapes to determine the optimal rotation and translation that aligns them. The algorithm is representation-independent, requiring only a procedure to find the closest point on a shape to a given point. It converges monotonically to the nearest local minimum. The document reviews related work and provides details on using ICP to register point sets, curves, surfaces, and other geometric representations.

Uploaded by

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

A Method for Registration and translation that aligns, or registers, the model shape

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).

1 Introduction 6. Implicit Surfaces: g(x, y, z) = 0.


7. Parametric Surfaces: (x(u,v),y(u,v),z(u,v)).
Global and local shape matching metrics for freeferm
curves and surfaces as well as point sets were described This covers most applications that would utilize a method
in [3] in an attempt to formalize and unify the description to register 3-D shapes. Other representations are handled
of a key problem in computer vision: Given 3-D data in by providing a procedure for evaluating the closest point
a sensor coordinate system, which describes a data shape on the given shape to a given digitized point.
that may correspond to a model shape, and given a model This paper is structured as follows. Several relevant
shape in a model coordinate system in a different geomet-
papers from the literature are first reviewed. Next, the
nc shape representation, estimate the optimal rotation mathematical preliminaries of computing the closest point

586 1 SPIE Vol. 16 1 1 Sensor Fusion IV (1 99 1) O-8194-0748-8/92/$4.OO

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


on a shape to a given point are covered for the geomet- method [18] of least squares quaternion matching that
nc representations mentioned above. Then, the iterative uses the maximum eigenvalue of a 4x4 matrix instead of
closest point (ICP) algorithm is stated and a theorem the minimum eigenvalue. Horn [30] and Brou [11] also
is proven concerning its monotonic convergence property. developed the extended Gaussian image (EGI) methods
The issue of the initial registration states is addressed allowing the matching of convex and restricted sets of
next. Finally, experimental results for point sets, curves, non-convex shapes based on surface normal histograms.
and surfaces are presented to demonstrate the capabilities Taubin [55] has done some interesting work in the area
of the ICP registration algorithm. of implicit algebraic nonplanar 3-D curve and surface es-
timation with applications to position estimation without
feature extraction. He describes a method of approximat-
2 Literature Review ing data points with implicit algebraic forms up to tenth
degree using an approximate distance metric. Global
Relatively little work has been published in the area of shapes, not occluded shapes, can be identified based on
registration (pose estimation, alignment, motion estima- generalized eigenvalues, and the registration transforma-
tion) of 3-D free-form shapes. Most of the existing lit- tion can be recovered. The method is shown to be useful
erature addressing global shape matching or registration for complete planar curve and space curve shapes, but it
have addressed limited classes ofshapes: namely (1) poly- is unclear that the effectiveness generalizes well to more
hedral models, (2) piecewise-(super)quadric models [2] complicated surfaces, such as terrain data or a human
[27], (3) point sets with known correspondence. The face. Taubin has stated that the numerical methods of the
reader may consult [6][14] for pre-1985 work in these ar- approximate distance fit tend to break down above tenth
eas. For a sampling ofother more recent related work not degree. He later [56] extended his work in shape descrip-
discussed below, see [8] [10] [12] [13] [19] [20] [24] [26] [34] tion by investigating shape matching based on generalized
[35] [37] [39] [44] [46] [48] [53] [58] [59]. shape polynomials. This demonstrated some interesting
Historically, free-form shape matching using 3-D data theoretical results, but remains to be demonstrated for
was done earliest by Faugeras and his group at INRIA practical use on complex surfaces.
[18] where they demonstrated effective matching with a Szeliski [54] also describes a method for estimating
Renault auto part (steering knuckle) in the early 1980's. motion from sparse range data without correspondence
This work popularized the use of quaternions for least between the points and without feature extraction. His
squares registration of corresponding 3-D point sets in the primary goal was to create a method for estimating the
computer vision community. The alternative use of the motion of the observer between two range image frames
singular value decomposition (SVD) algorithm [23] [1] [49] of the same terrain. Given the set of points from one
was not as widely known in this time frame. The primary
frame, he applies a smoothness assumption to create a
limitation of this work was that it relied on the probable
smoothing spline approximation of the points. Then a
existence of reasonably large planar regions within a free- conventional steepest descent algorithm is used to rotate
form shape. and translate the second data set so that it minimizes the
Schwartz and Sharir [50] developed a solution to the sum of the covariance-weighted z-differences between the
free-form space curve matching problem without feature points and the surface. His approach is based on a regular
extraction in late 1985. They used a non-quaternion ap-
proach to computing the least squares rotation matrix. xy-grid structure, and true three-dimensional point-to-
surface distances are not computed. The steepest-descent
The method works well with reasonable quality curve approach is a slower alternative to reaching the local mm-
data, but has difficulty with very noisy curves because ima than our proposed iterative closest point (ICP) algo-
the method uses arclength sampling of the curves to ob-
rithm described below. Szeliski uses optimal Bayesian
tam corresponding point sets. mathematics to allow him to downweight noisier values
Haralick et al. [28] addressed the 3-D point-set pose
at longer ranges from a simulated range finder. For nay-
estimation problem using robust methods combined with
the least squares SVD registration approach, which pro- igation range imaging sensors, the uncertainty in data
points vary significantly from the foreground to the back-
vided a robust statistical alternative to the least squares
ground. For high-accuracy sensors with shallow depths of
quaternion or SVD point set matching. This algorithm field, the uncertainty variation between points is orders
is able to handle statistical outliers and could theoreti-
of magnitude less and is of much less concern. Szeliski
cally be substituted for our quaternion-based algorithm
provides experimental results for synthetic terrain data
as long as the determinant of the orthonormal matrix is and a block. The terrain data motion test was a sim-
strictly positive one. A recent conference proceedings [47] ple translation along one axis, a 1-D correlation problem.
contains new contributions on this subject.
His block test did
.
involve six degrees of freedom, but the
Horn [31] derived an alternative formulation of Faugeras .
block is a very simple shape. Overall, this work presents

SPIE Vol. 1611 Sensor Fusion IV (1991)! 587

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


some interesting ideas, but the experimental results are point set A is
unconvincing for applications.
Horn and Harris [33] also addressed the problem of d(P,A)=rnin d(j3,d ) (1)
estimating the exact rigid-body motion of the observer
given sequentially digitized range image frames of the The closest point d, of A satisfies the equality dQ3, a, ) =
same terrain. They describe a range rate constraint equa- d(, A).
tion and an elevation rate constraint equation. The result Let 1 be the line segment connecting the two points
is a non-iterative least squares method that provides a six r1 and 1n2• The distance between the point f and the line
degree-of-freedom motion estimate as long as the motion segment 1 is
between frames of data is relatively small. This method
is much quicker than the one proposed by Szeliski, but d(p,l)= mm
U +V
=I
Ik'1+t'2PII (2)
it is not clear that this method generalizes to arbitrary
rotations and translations of a shape. where 14 E [0, 1] and v E [0, 1]. The required closed-form
Kamgar-Parsi et al. [36] also describe a method for the computations are straightforward. Let L be the set of N,
registration of multiple overlapping range images without line segments denoted l: L = {l} for i = 1, ..., N,. The
distinctive feature extraction. This method works very distance between the point 3' and the line segment set L
well using the level sets of 2.5-D range data, but is essen- is
tially restricted to the 3 degrees of freedom in the plane dQ3,L) = 15,11 ) (3)
since the work was addressed toward piecing together ter- iE ,irNl}d(
rain map data. The closest point 7j on the line segment set L satisfies
Li [38] addressed free-form surface matching with the equality d(jS, 7j) = d(15,L)
bitrary rotations and translations. His method forms Let i be the triangle defined by the three points F1 =
an attributed relational graph of fundamental surface re- ( xi,yi,zi),P2 = (x2,y,z2), and = (x3,y3,z3). The
gions for data and model shapes and then performs graph distance between the point 15 and the triangle t is
matching using an inexact approach that allows for van-
ability in attributes as well as in graph adjacency rela- d(15,t) = mm I ui + vf?2 + w3 — 15 (4)
u+v+w1
tionships. This seems to be a reasonable approach, but
relies on extraction of derivative-based quantities. Exper- where u E [0, 1], v E [0, 1], and w E [0, 1]. The required
imental results are shown for a coffee cup and the Renault closed-form computations are again straightforward. Let
auto part. See also Wong et a!. [60] for other related work T be the set of N, triangles denoted t: T = {t} for
using attributed graphs for 3D matching. i = 1, .. ., N1 . The distance between the point 15 and the
The work of Gilbert and Foo [21] and Gilbert et al. triangle set T is given by
[22] is related in that it addresses the computation of dis-
tance between two object shapes. Such methods could dQS,T) = . mm d( p,t1 ) (5)
be the basis for similar shape matching techniques as E{l ,..,N}
are described below. The major inconvenience with their The closest point !7j on the triangle set T satisfies the
method though is that object shapes must be decomposed equality d(15, j ) = d(15, T).
into convex sub-bodies, a problem which in general is not
trivial for arbitrary CAD models or for digitized 3-D data.
3.1 Point to Parametric Entity Distance
In this section, a parametric curve and a parametric sur-
3 Mathematical Preliminaries face are treated as a single parametric entity (i) where
In this section, methods for computing the closest point
the reader should substitute i = u for parametric
to a given point on the various geometric representations
curves and iZ = (u, v) E 2 for parametric surfaces (
denotes the real line). The evaluation domain for a curve
listed above are described. First, the basic geometric enti-
is an interval, but the evaluation domain for a surface can
ties are covered followed by parametric entities and finally
be any arbitrary closed connected region in the plane. For
implicit entities. The reader might consult Mortenson 2]
more information on parametric entities, such as Bezier
on some of the items below for additional information.
The Euclidean distance d(r1 , 2) between the two points and B-spline curves and surfaces, see [9] [15} [16] [171 [42]
y
n1 = (x1 , Yi , zi) and r2 (x2 , , z2) is d(in1 , r2) = IVi — [52].The distance from a given point 15 to a parametric
7'211 v'(x2 x1)2 (Y2 Yi)2 + (z2 — zi)2. Let A be entity E is
a point set with Na points denoted d2: A = {ä} for
i = 1, ..., Na. The distance between the point 15 and the d(15, E) =1)E
mmEd(15, r(ii)). (6)

588 ISPIE Vol. 161 1 SensorFusion IV(1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


The computations to compute the distance are not closed- f(fi) = (12)
form and are relatively involved. One method for corn- f(fi) = (13)
puting point-to-curve and point-to-surface distances is f(ti) = 2f.(il)(?ü) — p')+ 2'(i)f,(il). (14)
described below. Sets of parametric entities are again
straightforward once the distance metric for an individual The curve case requires only computation of f, and f.
entity is implemented. Let F be the set of Ne parametric The Newton's update formula for either entity is
entities denoted E, : F = {E1} for i = 1 , Ne . The distance
between a point j3 and the parametric entity set F is Uk+1 i7k — [VV t(f)(iik)]lVf(iik) (15)

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)

SPIE Vol. 1611 Sensor Fusion IV(1991)/589

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


One approach to this problem is to form the augmented The unit quaternion is a 4-vector: R = [qo i q2 q3]
Lagrange multiplier system of equations [40]: where qo 0 and q + q12 + q22 + q = 1. The 3x3 rotation
matrix generated by a unit rotation quaternion is
Vf(f) + )ttVgi) =0 (19)
q + q — q — q: 2(qlq2 — qoq3) 2(qlq3 + qoq2)
(f) =0 It = 2(qlq2 + qq3) q + q — q? —
2(qlq3 — qoq2)
q
2(q2q3 + qoqi)
2(q2q3 _
q + q —q—
qoqi)
where V = {O/Or ] and solve this system of nonlinear (21)
equations via numerical methods. The number of equ&- Let T [q4 q5 q6J be a translation vector. The corn-
tions and unknowns for the nonlinear system is 3 for pl&- plete registration state vector is denoted = [R q]t. I
nar curves, 4 for surfaces, and 5 for implicitly defined Let P = {;3;} be a measured data point set to be aligned
space curves. Continuation methods [41] can be used to
solve this problem for algebraic entities even without a
with a model point set X = {i}
where N = N and
where each point j3 corresponds to the point x with the
good starting point, but a good starting point will allow same index. The mean square objective function to be
the use of faster methods, such as the multidimensional minimized is
Newton's root finding 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 curves or surfaces in implicit form.
f() = :N
;_.p i=1 ii — R()j3 — rlI2.
For this reason, implicit surfaces of interest are dealt with The "center of mass" p of the measured point set P and
(22)

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.

590 / SPIE Vol. 1611 Sensor Fusion IV (1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


4 The Iterative Closest Point Al— 4.1 ICP Algorithm Statement
gorithm The iterative closest point (ICP) algorithm can now be
stated:
Now that the methods for computing the closest point on
a geometric shape to a given point and for computing a . The point set P with N points {j5} from the data
least squares registration vector have been outlined, the shape and the model shape X (with N supporting
iterative closest point (ICP) algorithm can be described geometric primitives: points, lines, or triangles) are
in terms of an abstract geometric shape X whose internal given.
representation must be known to execute the algorithm,
. The iteration is initialized by setting Po = P, o =
but is not of concern for this discussion. Thus, all that
follows applies equally well to (1) sets of points, (2) sets [ 1 0 0 0 0 0 0 and k = 0. The registration vec-
tors are defined relative to the initial data set Po so
of line segments, (3) sets of parametric curves, (4) sets of
that the final registration represents the complete
implicit curves, (5) sets of triangles, (6) sets of parametric transformation. Steps 1,2,3,4 are applied until con-
surfaces, and (7) sets of implicit surfaces.
vergence within a tolerance r. The computational
In the description of the algorithm, a "data" shape
P is moved (registered, positioned) so as to be in best cost of each operation is given in brackets.
alignment with a "model" shape X. The data and the 1. Compute the closest points: Y,. = C(Pk, X).
model shape may be represented in any of the allowable Cost: O(NN).
forms. For our purposes the data shape must be decom-
posed into a point set if it is not already in point set form. 2. Compute the registration: (, dk) = Q(P0, Yk).
Fortunately, this is easy: the points to be used for trian- Cost: O(N).
gle and line sets are the vertices and the endpoints, and if 3. Apply the registration: Pk1 = q(Po). Cost:
the data shape comes in a surface or curve form, then the O(N).
vertices and endpoints of the triangle/line-approximation 4. Terminate the iteration when the change in
( as described above) are used. The number of points in mean-square error falls below a preset thresh-
the data shape will be denoted N. Let N be the num- old r > 0 specifying the desired precision of
ber of points, line segments, or triangles involved in the the registration: dk — dk+1 <r
model shape. As described above, the curve and surface
closest-point evaluators implemented in our system re- If a dimensionless threshold is desired, one can replace r
quire a framework of lines or triangles to yield the initial with rtr(E) where the square root of the trace of the
parameter values for the Newton's iteration; therefore, covariance of the model shape indicates the rough size of
the number N is still relevant for these smooth entities the model shape.
but varies according to the accuracy of the approxima-
tion. 4.2 Convergence Theorem
The distance metric d between an individual data point
p and a model shape X will be denoted A convergence theorem for the ICP algorithm is now
stated and proved. The key ideas are that (1) least squares
d(,X) = niII—p1I. ( 28) registration generically reduces the average distance be-
The closest point in X that yields the minimum distance tween corresponding points during each iteration whereas
(2) the closest point determination generically reduces the
is denoted such that d(, 7) = d(, X) where X.
distance for each point individually. Of course, this in-
Note that computing the closest point is O(N). When
dividual distance reduction also reduces the average dis-
the closest point computation (from j3 to X) is then per- tance because the average of a set of smaller positive num-
formed for each point in P, that process is O(NN). Let
bers is smaller. We offer a more elaborate explanation in
Y denote the resulting set of closest points and let C be
the proof below.
the closest point operator:
Y = C(P,X). (29) Theorem:
The iterative closest point algorithm always converges
Given the resultant corresponding point set Y, the least monotonically to a local minimum with respect to the
squares registration is computed as described above: mean-square distance objective function.
(,d) = Q(P,Y). (30) Proof: Given Pk = {j5sk} = 1k(Po) and X, compute the
The positions of the data shape point set are then up- set of closest points Yk = {k}
as prescribed above given
dated via P = qP), which means apply the registration
vector to the point set P.

SPIEVo!. 1611 Sensor Fusion !V(1991)/591

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


[The Acceleratedi
the internal geometric representation of X. The mean
squared error ek of that correspondence is given by
Lf! Algorithm J

ek = PikII2. (31)

The Q operator is applied to get and dk from that


correspondence:

_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)

592 ISPIE Vol. 1611 Sensor Fusion IV(1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


To be on the safe side, we adopt a maximum allowable (&) Horizontal Axb-
Numb& of Iterations
LI-
value Vm • The following logic is used to perform an
attempted update:
1. If 0 < v2 < v1 < Vmax or 0 < v2 < Vmax < V1,
use the parabola-based updated registration vector: T
ik'when
k+ v2/IlI instead of the usual vector
R
A
performing the update on the point set:
i.e., Pk+1 = qk (Pa).
r-i____ —.—---.------.-.--.— A
N

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.

SPIE Vol. 1611 Sensor Fusion IV(1991) /593

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


than the current state. Because of the ICP convergence
theorem, one does not have to "feel around" in the multi-
[ThLnumFAToT dimensional space to determine which direction to move.

ThLffor 5 The Set of Initial Registrations


Ty Even though the iterative closest point 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.

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

594 ISPIE Vol. 1611 Sensor Fusion IV(1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


global minimum tIi • Two fundamental questions are (1) There are two reasonable options for the initial trans-
how to construct an initial set of states for any given lation state: (1) apply the ICP algorithm directly to the
object that guarantees a correct global minimum and (2) point set P using multiple rotation states about its center
how to construct an initial set of states that guarantees all of mass fi , or (2) to transform it first so that the centers
shapes in a given class of shapes converge to the correct of mass of P and X coincide and then apply ICP. We
respective global minimum. have found no differences in the final registration results
By using a sufficiently dense uniform sampling of quater- between (1) not translating and (2) pre-translating the
nions on the unit sphere combined with a sufficiently point set when using an adequately large set of initial ro-
dense sampling of translation vectors occupying the to- tations (e.g. 22). In fact, any translation state suffices
tal volume about the shape X, it is possible to determine because the ICP algorithm is very insensitive to the mi-
the complete finite set of local minima with a sufficiently tial translation state when used for global shape match-
small probability of error for one given object. One could ing. We have observed that pre-translating the data point
construct a set of initial states to include all these local set's center of mass to the model shape's center of mass
minima solutions along with possibly the halfway states generally saves a few iterations (e.g. 2 to 4) out of the
between the k-nearest neighbors (e.g. k = 12) to attempt usual 20 or so total.
to avoid having a set of initial states that lie on or near A further simplification in the global shape matching
the boundaries between the equivalence classes. algorithm can be accomplished for most generic shapes,
A method that could be useful for computing guar- where principal moments demonstrate some level of dis-
anteed initial states for a set of model shapes is to use a tinctness. Let p p Pz be the square roots of the
six-dimensional occupancy array to compute hypervoxel- eigenvalues of E,,, and let r r
r2 be the square
based descriptions of the equivalence classes for each shape roots of the eigenvalues of E. If the following sets of
of interest, and then computing an overall partitioning conditions hold:
by refining the first shape's partition by intersecting the
equivalence classes ofeach subsequent shape. Such meth- Py a2PX Pz S a2Py (45)
ods can be very memory intensive: a 20x20x20x20x20x20 &27'x (46)
hypercubic-hypervoxel grid of the smallest hypercylinder for a specified value of a2, e.g. a2 1/' O.71, one =
containing all relevant registrations of all shapes of in- can reliably match the basic shape structure of data and
terest requires an 8 Megabyte (64 Megabit) array for a model using only the eigenvectors of the matrices , and
single object. Clearly, this is a test of patience for anyone E. Again, the exact value of c2 could be computed for
wishing to construct an initial set of states customized any given set of objects and any given level of sensor noise
to a given set of objects to yield guaranteed results, but via exhaustive testing ifneeded. In this case of eigenvalue
indeed it is possible and relatively straightforward except distinctness, the identity transformation and the 180 de-
for the high dimension of the problem. gree rotations about the eigenvector axes corresponding
to r,, i's' , and
r2 provide a very good set of only four mi-
5.1 Initial States for Global Matching tial rotations that will yield the correct global minimum
There are simpler methods of dealing with the initial state for a wide class of model shapes.
If two of the three eigenvalues are approximately equal,
problem that are very effective on most shapes one comes
across. Let us adopt the following definition of the first but significantly different than the third for both data
two moments of the distribution of geometry in P and X: and model shapes, the number of initial states need only
be expanded for rotations about the non-ambiguous axis,
lip = E[j3E p1, liz E[1'E Xb Ep E[(j5— /T1p)( thereby reducing the total number of initial rotational
jj)tp p}, and E = E[(i— ,:z)(— iir)'VE X] where states.
E[.] represents the sample expectation (averaging) oper- If neither of the above cases for global matching hold
ator. If the point data set P covers a significant portion
of the model shape X such that the condition true (i.e. p: py Pz and r
must use a fine sampling of quaternion states that cover
r
ri), then one

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

SPIE Vol. 1611 Sensor Fusion IV(1991) / 595

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


the icosahedral / dodecahedral states. The octahedral / ets." These shapes are characterized as having almost
hexahedral states are not properly contained in the icosa- exactly equal eigenvalues of the covariance matrix E and
hedral I dodecahedral states. For a convenient listing of as having small shape features at a fine scale relative to
these rotations in quaternion form, see appendix A of [32]. the overall shape. Of course, for any given fixed set of
From an implementation point of view, one has the object shapes, the set of initial rotations can be increased
option of using precomputed lists or nested loops. For so as to guarantee correct registration.
the nested loop case, all normalized combinations of q =
{1, 0), qi = {+1, 0, —1), q {+1, 0, —1}, q3 = {+1, 0, —1} 5.3 Local Shape Matching
provide an easy-to-compute set of 40 rotation states that
includes the tetrahedral and the octahedral/hexahedral The proposed registration algorithm is definitely not use-
groups. (One must insure that the first non-zero quater- ful if only a subset of the data point shape P corresponds
nion component is positive to avoid duplication of states.) to the model shape X or a subset of the model shape X.
For a really complicated set ofshapes, all normalized com- That is, the data point set includes a significant number
binationsofqo = {1,O.5,O}, qi {+1,O.5,O,—O.5,--1}, of data points that do not correspond to any points on
q2 = {+1,O.5,O,—O.5,—1}, q3 = {+1,O.5,O,—O.5,--1} the model shape. Unfortunately, this is a trait of the ma-
provides another easy-to-compute set of 312 initial ro- jority of the shape matching algorithms that have ever
tation states. Another scheme for a very dense sampling been implemented. Moreover, this is a common problem
of states is to refine the 60 states of the icosahedral group in computer vision since data segmentation algorithms of-
by subdividing triangles using a 1 to 4 split and using an ten misgroup one set of data points with another distinct
increased number of rotations about each axis specified group of points that should not be grouped together.
by each vertex of the refined icosahedron. The ICP algorithm is still useful for local matching
The general rule of thumb is the more complicated problems where the entire set of data points P matches a
the object, the more initial states required. Any method subset of the model shape X. The drawback is that more
of getting a sufficiently dense, uniform distribution of than one initial translation must be used which increases
quaternions over the northern hemisphere of the unit 4- the cost of computing the correct registration. If N is the
sphere (or over the full interior and surface of the unit number of initial translation states and Nq S the number
3-sphere) is adequate. In general, every application may of initial rotation states and each closest point evalua-
want to use a customized set of initial quaternions that tion of P relative to X costs O(NN), the total cost of
will maximize the probability of choosing a good starting local matching is O(NtNqNxNp) as opposed to the cost
point early for the shapes of interest. of global matching O(NqNZNP). The number of initial
translations is also dependent on the relative size of the
5.2 A Counter-Example data point set P compared to the model shape X. By
defining a quantity rj as the ratio of the "sizes" of the
While the above methods for global shape matching will data and model shapes
work very well for many, many shapes with a small prob-
ability of error, we can also state categorically that for rn(X)
11= (47)
any given fixed set of initial rotation states, one can con- rn(P)
struct a shape X that cannot be correctly registered by
the algorithm. Begin with a sphere of radius R. Add a where (.)
is a general measure that measures approx-
thin spike of length S to the surface of the sphere for each
imate (1) arc length if X is a curve, (2) area if X is a
surface, and (3) volume if X is a volumetric point con-
specified axis and for each rotation about that axis as in-
dicated by the fixed set of initial rotation states. Next figuration, then one can estimate the basic qualitative
behavior of the required number of translation states as
add one or more spikes of length S + anywhere that the
extra spikes will fit. Ifthe extras won't fit, make the orig- N c(X)ij
for most shapes, where c(X) is an approxi-
mate proportionality factor that depends on the complex-
ma! spikes thinner. Then sample points on the surface of
this shape with any desired scheme so that there is at ity of the shape X being matched.
Computing such an estimate m(X) is straightforward
least one point per spike, including one at the tip of each
for the shape X, but evaluating rn(P) is more difficult be-
spike. The ICP algorithm combined with the given fixed
cause P may simply be a point set and the corresponding
set of initial rotation states will not be able to register
a generic repositioning of this point set with the original
length, area, and volume on the shape model X is un-
known. One can use a convex hull, surface Delaunay, or
object in such a way that the longer (or shorter) spikes are
closest point connection algorithm to get accurate mea-
correctly registered with each other. It can safely be pre-
sures for volumes, areas, and arc lengths, but it is more
dicted that the proposed registration algorithm will have
likely that one would design an algorithm to tolerate up
difficulty correctly registering "sea urchins" and "plan- to a particular percentage of occlusion, and a fixed set of

596 ISPIE Vol. 1611 Sensor Fusion IV(1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


flxj T
6W 88
TZ

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

jqej : OMJ Ui JUiOd :ss


OO8 OOO

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

/' 1' wquop saop ou Ad uoiu3 o


suiod ioo UiJpJO Jo surod snq ! seMje
UAI uiod UO ¶S1J S 03 ssop U!Od
UO J4O S
iU
uo jer!ui uo!g1sugJ
3U0 UO!Oi
psn u
pu
1dwgx
S Jo SUO!O1 puiqwo'iU
Jo P°I Ui4YW UJ UO snw sn u I!U!
q!M ug I!U! S Jo -suJ
s pu o A!4 i°
inij : T oud o s uiqw
SUO!
snnbi qiq&
2Uiq?W prcdwo3 o U!Od
uns iqwnu jo suiod
pnpUi 'upuodsa1io3 M A11uss U!pgJ
suoisui pjno q pndwo o jpuq jf spCqo ut Jo juoijipp fldD aui ioJ poj U!qUi ijiqde pu
UA! ssp sqoJo 4!M dn O JpJo 1AI UO!SfljOJO uiod tA!isusu!
sduix JO joj dqs uiqw pisuouip ui
np UU1!JdX SflS3i uoip3s Moq VV9 uotpndtuo sonssI
uo JM o sn e ioj-niq TpJs uis) -A
9 puamJadx SllflS11 Li qissod pu usOOq3 flI saq uo(
ur ipio O PUJ TI sq 'qw S!1 dA Jo Js!J
qj
sy
SjflSi UO!S Si ppiA!p oui iq
-:s uoq PIflOM i!flbi .(dNXN) suoiido Jo !q S?j
:suoi (j) uiod 'uiqui () AJfl 'uiqtu pu (i::) srenbs uo!uinb qui io !dU!S jdiux JO -01
J1flS U!qUJ siuioid UUM ui uy I: u!qYrrllu Aoq dN = SN = 'JT niq
ponb gwixoiddg SUJ! uAi JOJ UO!flX uo JOJ jflOM J!flbi OO'9'9 uoiujagnb UO!JS!i
iossoid-juis indiuo pgj W 91 sdoj, uo suo!Jdo qj a&oqi uoiisii piinbi A1uo 9 -do
qnop uoisiid pduq Juipuq suoigi 3UiS SM p1fe g iquiw Jo
ufeAinb? ssip jo TllflWLtL!W UA qLM
U!Od ps I!"! UOiSUi sws pu 09 I!U! UOEWOi sw,s
T•9
S 'UO!JS
u!q:wFJ j 'i' OOT suoigjdo o
suoiii ioj ipg puiqwo 1!U! 'es M
U At isuouip
o wJoJJd joj s uiq?w
!I!q Jo dJI -ji? pjno nnbi piAo1d u -x
s j s qit
U!Od flOqJ!M -io:
'-I A!snq pu qidez uiqui '1AO1O J!
upuodsi jqj, AJA
I SS!j uiod g MJ snU!m ioj sqp sd
SU!Od s! jo jus
o q pqw suu g jo suiod SAtoqs
2c1uo
ss qj,
U!Od
uiod ss ioud o uoi1us!1 1fld soqs wqu pndwo o ioj-niq U!s ioj siq 1dw!s-oI
uoigndwo3 UOipflpi Oi1 JO
f7
dDI
o& utod ss uo!1s!i q dI aIJJoJ S! j:9 jj 'sino iqo sA!uife ie 'qissodS13 nq

3ldS 10A 1 9 I I JOSU UO!SflJ Al 1) 66 (I I L6

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


Figure 6: An Ideal and a Partial Noisy Space Curve before Figure 7: An Ideal and a Partial Noisy Space Curve after
Registration Registration

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,

598/SPIEVo!. 1611 SensorFusion IV(1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


..

R• /4d

Figure 11: Noisy Point Subset and Surface Patch After


Figure 8: Noisy Point Set and Surface Patch Prior to Registration
Registration: 250 Points Matched to 450 Triangles.
The initial positioning transformation multiplied by the
recovered transformation for the noisy point subset yields
the following approximate identity transformation:
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.
Figure 9: Noisy Point Set and Surface Patch After Reg-
istration. 6.3.2 The NRCC African Mask
In this experiment, range data from the National Re-
This demonstrates that global matching under noisy search Council of Canada's African mask example was
conditions works quite well. obtained using the commercially available Hyscan laser
A subset of 138 noisy points was used to test the lo- triangulation sensor from Hymarc, Ltd. A low-resolution
cal matching ability. The surface patch and the noisy 64x68 gridded image was computed from the original data
point subset are shown prior to registration in Figure 10. set for use in our experiments and is shown in Figure 12.
After running the ICP algorithm with 24 initial rotation This data will serve as the model surface description with
states and 6 initial translation states for a total of about
6 minutes, we obtained the result shown in Figure 11. 8442 triangles (4221 quadrilateral polygons). A thinned
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 Figure 13.
All trial positionings of the 90 mm size object, includ-
ing the one shown above, converged to the correct solution
in about 10 minutes, and all cases had a 0.59 mm RMS
error. This includes 6 iterations worth of testing on each
of 24 initial state vectors and full iteration on the best
state of the 6 initial iterations. A side view of both the
digital surface model and the measured point set as reg-
istered is shown in Figure 14. The registration is quite
accurate.
A Bezier surface patch model of the mask was cre-
ated to test the parametric surface matching capability
Figure 10: Noisy Point Subset and Surface Patch Prior on the given shape. This model is shown in in Figure 15.
to Registration: 138 Points and 450 Triangles The point set in various rotations and translations was
then registered to the parametric surface model. We had

SPIE Vol. 16 1 1 Sensor Fusion IV (1991) I 599

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


Figure 12: Model Surface: Range Image of Mask: 8442
Triangles.

Figure 14: Side View of Range Image Model and Regis-


tered Point Set

Figure 13: Data: Rotated and rfraflslated Point Set of


Mask: 2546 Points.

Figure 15: Surface Patch Boundaries of a Set of Paramet-


expected about a 1.2 mm RMS distance, but the final nc Surfaces: 97 Cubic Bezier Patches
solution had a 3.4 mm RMS distance. After examining
the results closely, we discovered that surfaces had not
been created in regions where there were measured points. misgrouping of nearby points will usually have a minor
Note the extra data points for which there was no possible effect. Another important point to keep in mind is that
surface correspondence and the evidence of misregistra- the matching algorithm does not care about the partition-
tion in Figure 16. Overall, this match was not bad consid- ing of the composite surface model into separate surface
ering the circumstances. After a post-processing step to patches.
ignore any measured points whose point-to-surface vec- As a final test on the mask, about 30% of the points
tors were not within a few degrees of the surface normal from the measured data point set were deleted as shown
at the corresponding points, the misregistration disap- in Figure 17 The registration algorithm locked in on the
peared and the data locked in on the surface with the solution and gave a slightly improved RMS distance in
expected RMS distance. Although the ICP algorithm is less time than the full data set.
not designed to handle data points that do not corre-
spond to the model shape, one can conclude that a minor

600 / SPIE Vol. 1611 Sensor Fusion IV (1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


Figure 18: Model Surface: Rugged Terrain near Tucson,
Figure 16: Side View of Parametric Surface Model and Arizona: 45,900 Triangles
Registered Point Set

Figure 19: Data: Rugged Terrain near Tucson, Arizona:


13,655 Points

Figure 17: A Subset of the Data Point Set: 1781 Points

6.3.3 Terrain Data


For the final set of experimental results, some terrain data
for an area near Tucson was obtained from the University
of Arizona. Figure 18 shows a shaded image of the rugged
terrain. The dimensions of the model surface are 6700 x
6840 x 1400 units. A point set was extracted by perform-
ing 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 con-
tained 13,655 points and is shown in Figure 19. The data
point set was then lifted above the model surface and ro-
tated so as to be approximately orthogonal to the model Figure 20: Data and Model of Rugged Terrain Prior to
set as shown in Figure 20. The ICP algorithm performed Registration

SPIE Vol. 1611 Sensor Fusion IV(1991) / 601

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


. It is independent of shape representation.
. The surface patch or curve segment partitioning of
parametric or implicit entities is essentially ignored
by the matching procedure. This is important for
using CAD data in its native form without elaborate
user-guided pre-processing.
. It does not require pre-processing of 3-D point data,
such as smoothing, as long as the number of statis-
tical outliers is near zero. This is usually the case
with accurate non-contact sensors used for inspec-
Figure 21: Data and Model of Rugged Terrain After Reg-
tion purposes.
istration
. It does not require any derivative estimation or any
local matching to the model surface using 24 initial rota- local feature extraction.
tions and one initial translation. The registration process
for these larger data sets took about 1 hour. The results
. Almost all aspects ofthe algorithm are ideally suited
for coarse-grain or fine-grain parallel architectures.
are shown in Figure 21. The initial positioning transfor- For large problems, even remote execution proce-
mation multiplied by the recovered transformation yields
dures and distributed file systems on networks of
the following approximate identity transformation, which
demonstrates that surface matching for very complex sur- workstations can provide worthwhile speedup with-
face shapes works quite well: out significant overhead.

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.

602 ISPIE Vol. 161 1 Sensor Fusion !V(1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


. The results of the last iteration of closest point reg- and no sensor noise, one can determine an initial set
istration can be used directly as inspection results of registrations in a finite amount of time such that
since the distance to the closest point on a surface one can guarantee registration in a finite amount of
is computed as a by-product. time with a sufficiently small probability of error.
. The accelerated ICP algorithm can achieve Newton- • In the limit of very complicated sea urchins or per-
type quadratic convergence steps at less cost than fectly spherical planets with a single 1 micron bump,
a numerical steepest descent step. No time is spent or in the limit of very localized matching ( 1% of ob-
evaluating the objective function to find worse mean ject shape or less) on any object, the ICP algorithm
square errors off the path to the local minimum degenerates to brute-force 3D template matching.
goal. Feature extraction techniques, if possible, are prefer-
able in such circumstances.
The disadvantages of iterative closest point shape match-
ing algorithm are as follows:
. It is susceptible to gross statistical outliers unless a
8 Future Directions
statistically robust method is substituted at some Although we have tried to present compelling results, no
point ( either in pre-processing or registration corn- method with such promise is likely to be widely accepted
putation) for outlier detection. until more testing has been done. We believe the algo-
. The fast least squares quaternion and SVD methods rithm for point sets, polyline sets, and triangle sets are
are not so easily adapted to weighted least squares simple enough to be widely implemented and tested.
extensions meaning that it is difficult to extend the The accelerated ICP algorithm is quite efficient, but
there is plenty of room for further computational speedups.
fasi algorithm to allow the assignment of unequal Actual testing on parallel architectures also needs to be
uncertainties to points as was done in [54J . This is
not a major inconvenience for inspection applica- done.
Given a large but finite amount of off-line processing,
tions, but would yield noticably suboptimal results it seems reasonable to make the following statements: For
for navigation laser radars and long depth of field
a fixed set of objects and a given level of allowable oc-
triangulation systems where uncertainty increases clusion and a given maximum possible (Gaussian) noise
significantly with range. level and a set of initial registration states, it is possi-
. The cost of local matching can get quite large for ble to estimate the probability of registration failure by
small allowable occlusion percentages, e.g. 10% or carrying out exhaustive tests. For a 1% (of the smallest-
less. We do not advocate our proposed method if shape size) noise level and a 40% maximum allowable
feature extraction techniques will successfully solve occlusion, our tests indicate that very low probabilities
the problem. of failure should be achievable with minimal extra work.
The method needs to be characterized in such detail.
. The generalization to matching deformable models A single complicated object in a set of simpler objects
with high order deformations [57] is not straight- may require a large set of initial registrations to handle
forward without e.g. enumerating a dense set of the entire set of objects with certainty. Unfortunately,
possible deformations. much time is then spent testing initial registrations with
. As an extension of the outlier rejection issue, the simpler objects such that one is continually homing in on
stated algorithm does not solve the segmentation the same local minimum over and over again. By the ad-
problem of course. If data points from two shapes dition of extra bookkeeping, it may be possible to quickly
are intermixed and matched against the individ- recognize a familiar local minimum well that you have
ual shapes, the registrations will be wrong and the already fallen into a few times and abort that iteration
mean square distance metric will be large. This is or to use penalty function methods to penalize walking
a problem with almost all of the shape matching down a path that has already been explored. The ap-
algorithms in the literature. propriate shape of the penalty functions would depend
on the shape of the region of attraction in 6-D, which is
• For any given fixed initial set of rotations, the global difficult to quantify and analyze.
shape matching capability can be defeated even with- It may be possible to extend the basic least squares
out sensor noise by constructing "sea urchin" or registration solution to allow deformations (independent
"planetoid" shaped objects based on the set of rota- axis scaling and bending) of the model shapes when match-
tions such that correct registration cannot be guar- ing to the data shapes. Shears and separate axis scaling
anteed. On the other hand, for a fixed set of objects can be easily accomodated by allowing a general affine

SPIE Vol. 1611 Sensor Fusion IV (1991) / 603

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


transformation; allowing even quadratic bending about [12] Callahan, J. and Weiss, R. 1985. A model for descnib-
the center of mass significantly complicates matters. ing surface shape. Proc. Conf. Comp. Vision. Pattern
Finally, these free-form shape matching methods are Recog. (June, 1985, San Francisco, CA) IEEE-CS, 240-
likely to be useful as part of a 3D object recognition sys- 247.
tern. [13] Chen, C.H. and Kak, A.C. 1988. 3DPOLY: A robot
vision system for recognizing 3-D objects in low-order
polynomial time. Tech. Report 88-48, Electrical Engi-
9 Acknowledgements neening Dept., Purdue University, West Lafayette, In-
diana.
The authors wish to thank A. Morgan, R. Khetan, R.
Tilove, W. Wiitanen, R. Bartels, D. Field, W. Meyer, [14] Chin, R.T., and Dyer, C.R. 1986. Model-based recog-
C. Wampler, D. Baker, R. Smith, N. Sapidis, and the nition in robot vision. ACM Computing Surveys 18, 1
reviewers for their comments. (March), 67-108.
[15] DeBoor, C. 1978. A practical guide to splines. Springer-
Verlag, New York.
References
[16] DeBoor, C. and Hollig, K. 1987. B-splines without di-
[1] Arun, K.S., Huang, T.S., Blostein, S.D. 1987. Least vided differences. Geometric Modeling: Algorithms and
square fitting of two 3-D point sets. IEEE Trans. Patt. New Trends, (G. Farm, Ed.), SIAM, 21-28.
Analysis Mach. Intelligence PAMI-9, 5 (Sept.), 698-700.
[17] Farm, G. 1990. Curves and Surfaces in Computer Aided
[2] Bajcsy, R. and Solina, F. 1989. Three-dimensional ob- Geometric Design: A Practical Guide . Academic Press,
ject representation revisited. Proc. 1st Int'l. Conf. Corn- New York.
puter Vision (June 8-11, London, UK) IEEE-CS, pp.
231-240. [18] Faugeras, O.D., and Hebert, M. 1986. The representa-
tion, recognition, and locating of 3-D objects. Int. J.
[3] Besl, P.J. 1988. Geometric modeling and computer vi- Robotic Res. 5, 3, Fall, 27-52.
sion. Proc. IEEE 76, 8 (August), 936-958.
[19] Fan, T.J. 1988. Describing and recognizing 3-D objects
[4] Besl, P.J. 1989. Active optical range imaging sensors. using surface properties. Ph.D. dissertation. IRIS-237.
Advances in Machine Vision (J. Sanz, Ed.) Springer- Institute for Robotics and Intelligent Systems. Univer-
Verlag, New York. (see also Machine Vision and Appli- sity of Southern California, Los Angeles.
cations 1, 127-152.) [20] Flynn, P.J. and Jam, A.K. 1991. CAD-based computer
[5] Besl, P.J. 1990. The free-form surface matching prob- vision: from CAD models to relational graphs. IEEE
lem. Machine Vision for Three-Dimensional Scenes (H. Trans. Pattern Anal. Machine Intell. PAMI-13, 2, 114-
Freeman, Eds.) Academic Press. 132. see also Ph.D. Thesis, CS Dept., Michigan State
Univ., E. Lansing, Mich.
[6] Besl, P.J., and Jam, R.C. 1985. Three dimensional
object recognition. ACM Computing Surveys 17, 1 [21] Gilbert, E.G., Foo, C.P. 1988. Computing the distance
(March), 75-145. between smooth objects in 3D space. RSD-TR-13-88.
University of Michigan, Ann Arbor.
[7] Blumenthal, J. 1988. Polygonizing implicit surfaces. Xe-
rox Parc Technical Report EDL-88-4. (appeared later in [22] Gilbert, E.G., Johnson, D.W., Keerthi, S.S. 1988. A fast
procedure for computing the distance between complex
CAGD).
objects in 3D space. IEEE J. Robotics and Automation
[8] Bhanu, B. and Ho, CC. 1987. CAD-based 3D object Vol. 4., 193-203.
representation for robot vision. IEEE Computer 20, 8
(August), 19-36. [23] Golub, G.H., and Van Loan, C.F. 1983. Matrix Compu-
tations. Johns Hopkins Univ. Press, Baltimore, Md.
[9] Boehm, W., Fan G., Kahmann, J. 1984. A survey of [24] Gnimson, W.E.L. 1986. The combinatonics of local con-
curve and surface methods in CAGD. Computer Aided
straints in model-based recognition and localization
Geometric Design 1 , 1 (July), 1-60.
from sparse data. J. ACM33,4, 658-686.
[10] Bolles, R.C., and Horaud, P. 1986. 3DPO: a three- [25] Gnimson, W.E.L. and Lozano-Perez, T. 1984. Model-
dimensional part orientation system. Int. J. Robotic
based recognition and localization from sparse range or
Res. 5, 3, Fall, 3-26. tactile data. Intl. J. Robotics Research 3, 3 (Fall), 3-35.
[11] Brou, P. 1983 Using the Gaussian image to find the [26] Gunnarsson, K.T. and Pninz, F.B. 1987. CAD model-
orientation of an object. Int'l. Journal of Robotics Re- based localization of parts in manufacturing. IEEE
search, Vol. 3, No. 4, 89-125.
Computer 20, 8 (August), 66-74.

604 / SPIE Vol. 1611 Sensor Fusion IV(1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


[27] Hall, E., Tio, J., McPherson, C., and Sadjadi, F. 1982. [42] Mortenson, M.E. 1985. Geometric modeling. Wiley,
Measuring curved surfaces for robot vision. Computer New York.
15, 12 (Dec.), 42-54.
[43] Mundy, J. et a!. 1988. The PACE system. CVPR 88
[28] Haralick, R.M., Joo, H., Lee.,C. Zhuang, X., Vaidya, Workshop. See also DARPA IUW.
V.G., Kim, M.B. 1989. Pose estimation from corre-
sponding point data. Machine Vision for Inspection and [44] Murray, D.W. 1987. Model-based recognition using 3D
Measurement. (H. Freeman, Ed.) Academic Press. shape alone. Computer Vision Graphics, Image Process-
ing 40, 250-266.
[29] Hilton, H., 1903. Mathematical crystallography and the
theory of groups of movements. Clarendon Press, Ox- [45) Press, Flannery, Teukoisky, and Vettenling, 1988. Nu-
ford. Dover Press 1963. merical Recipes in C Cambridge Press, UK.

[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.

SPIE Vol. 1611 Sensor Fusion IV (1991) / 605

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms


[58] Vemuri, B.C., Mitiche, A., and Aggarwal, J.K. 1986.
Curvature-based representation of objects from range
data. Image and Vision Computing, 4, 2 (May), 107-
114.

[59] Vemuri, B.C. and Aggarwal, J.K. 1987. Representation


and recognition of objects from dense range maps. IEEE
Trans. Circuits and Systems CAS-34, 11 (Nov.), 1351-
1363.

[60] Wong, A.K.C., Lu, S.W., and Rioux, M. 1989. Recog-


nition and shape synthesis of 3-D objects based on at-
tributed hypergraphs. IEEE Trans. Pattern A nal. Ma-
chine Intell. PAMI-li, 3 (Mar.), 279-290.

606 / SPIE Vol. 1611 Sensor Fusion IV(1991)

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/12/2015 Terms of Use: http://spiedl.org/terms

You might also like