optimisation-on-a-manifold for global registration of...

22
Int. J. Intelligent Systems Technologies and Applications,Vol. 3, Nos. 3/4, 2007 319 Optimisation-on-a-manifold for global registration of multiple 3D point sets Shankar Krishnan AT&T Labs – Research, Florham Park, NJ, USA E-mail: [email protected] Pei Yean Lee* and John B. Moore National ICT Australia Limited, Locked Bag 8001, Canberra ACT, 2601, Australia Research School of Information Sciences and Engineering (RSISE), Australian National University, ACT, Australia E-mail: [email protected] E-mail: [email protected] *Corresponding author Suresh Venkatasubramanian AT&T Labs – Research, Florham Park, NJ, USA E-mail: [email protected] Abstract: We propose a novel algorithm to register multiple 3D point sets within a common reference frame simultaneously. Our approach performs an explicit optimisation on the manifold of rotations. Firstly, we present a new closed-form solution for simultaneous multiview registration in the noise-free case. Secondly, we use this as a first step to derive a good initial estimate of a solution in the case of noisy data. This initialisation step may be of use in any general iterative scheme. Finally, we present an iterative scheme based on Gauss–Newton method evolving on rotations manifold that has locally quadratic convergence. We demonstrate the efficacy of our scheme on scan data taken both from the Digital Michelangelo Project and from scans extracted from models. In all cases under study, our algorithm converges much faster than the other well-known approaches (in some cases orders of magnitude faster) and generates consistently higher quality registrations. Keywords: multiview registration; optimisation; manifold; computer vision; computer graphics. Reference to this paper should be made as follows: Krishnan, S., Lee, P.Y., Moore, J.B. and Venkatasubramanian, S. (2007) ‘Optimisation-on-a-manifold for global registration of multiple 3D point sets’, Int. J. Intelligent Systems Technologies and Applications, Vol. 3, Nos. 3/4, pp.319–340. Copyright © 2007 Inderscience Enterprises Ltd.

Upload: others

Post on 01-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Int. J. Intelligent Systems Technologies and Applications, Vol. 3, Nos. 3/4, 2007 319

Optimisation-on-a-manifold for global registration ofmultiple 3D point sets

Shankar Krishnan

AT&T Labs – Research,Florham Park, NJ, USAE-mail: [email protected]

Pei Yean Lee* and John B. Moore

National ICT Australia Limited,Locked Bag 8001, Canberra ACT,2601, Australia

Research School of Information Sciences and Engineering (RSISE),Australian National University,ACT, AustraliaE-mail: [email protected]: [email protected]*Corresponding author

Suresh Venkatasubramanian

AT&T Labs – Research,Florham Park, NJ, USAE-mail: [email protected]

Abstract: We propose a novel algorithm to register multiple 3D point sets withina common reference frame simultaneously. Our approach performs an explicitoptimisation on the manifold of rotations. Firstly, we present a new closed-formsolution for simultaneous multiview registration in the noise-free case. Secondly,we use this as a first step to derive a good initial estimate of a solution inthe case of noisy data. This initialisation step may be of use in any generaliterative scheme. Finally, we present an iterative scheme based on Gauss–Newtonmethod evolving on rotations manifold that has locally quadratic convergence.We demonstrate the efficacy of our scheme on scan data taken both from theDigital Michelangelo Project and from scans extracted from models. In all casesunder study, our algorithm converges much faster than the other well-knownapproaches (in some cases orders of magnitude faster) and generates consistentlyhigher quality registrations.

Keywords: multiview registration; optimisation; manifold; computer vision;computer graphics.

Reference to this paper should be made as follows: Krishnan, S., Lee, P.Y.,Moore, J.B. and Venkatasubramanian, S. (2007) ‘Optimisation-on-a-manifoldfor global registration of multiple 3D point sets’, Int. J. Intelligent SystemsTechnologies and Applications, Vol. 3, Nos. 3/4, pp.319–340.

Copyright © 2007 Inderscience Enterprises Ltd.

Page 2: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

320 S. Krishnan et al.

Biographical notes: Shankar Krishnan is a member of Technical Staff at AT&TShannon Laboratory in the InformationVisualization Department. He received hisBachelor’s degree in Computer Science from the Indian Institute of Technology,Chennai in 1991. He received an MS and PhD in Computer Science fromthe University of North Carolina, Chapel Hill in 1993 and 1997, respectively.His main research interests include 3D computer graphics and visualisation,computational geometry and general purpose computing on commodity graphicshardware. He has authored several papers and has given a number of technicalpresentations and tutorials on these topics in leading conferences in computergraphics, computational geometry and visualisation.

Pei Yean Lee received her Bachelor’s degree in Mechatronics Engineering fromthe University of Adelaide in 2001. She received her PhD in InformationEngineering from Australian National University in 2005. She is currently aResearcher in Autonomous Systems and Sensing Technologies Program withinNational ICT Australia Limited and an adjunct Research Fellow at AustralianNational University.

John B. Moore received his Bachelor and Masters degrees in ElectricalEngineering in 1963 and 1964, respectively, and his doctorate in ElectricalEngineering from the University of Santa Clara, California, in 1967. He wasappointed Senior Lecturer in the Electrical Engineering Department, Universityof Newcastle, UK in 1967, and promoted to Associate Professor in 1968 andFull time Professor (personal chair) in 1973. He was Department Head for theperiod 1975–1979. In 1982, he was appointed as a Professorial Fellow in theDepartment of Systems Engineering, Research School of Physical Sciences,Australian National University, Canberra and promoted to Professor in 1990.He has been head of the department since 1992–1999, 2002-present. Thedepartment, now the Information Engineering Department is now located in theResearch School of Information Sciences and Engineering. He is currently alsoa Researcher in the Systems Engineering and Complex Systems Program withinNational ICT Australia, based in Canberra. He is a Fellow of the IEEE and of theAustralian Academy of Technological Sciences and the Australian Academy ofScience.

Suresh Venkatasubramanian works in algorithms and computational geometryin the Information Visualization Department of AT&T Labs – Research.He completed his PhD in 1999 from Stanford University and has been at AT&Tsince.

1 Introduction

Constructing a 3D computer model of a real object from 3D surface measurement datahas various applications in computer graphics, virtual reality, computer vision and reverseengineering. To construct such a model, a single view of the object is often not sufficient dueto self occlusion, presence of shadow and the limited field of view of the 3D scanner. Thus,multiple partial views of the object from different viewpoints are needed to describe theentire object. Typically the views are obtained from multiple scanners or a single scannerbeing stationed at different locations and orientation or a fixed scanner taking time-sampledimages of an object on the moving turntable. The images are often simplified as a set of

Page 3: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 321

features, such as points, and the relative position and orientation (pose) between views areunknown. Thus, these partially overlapping views need to be registered within a commonreference frame to determine the unknown relative pose.

Two-view (pairwise) registration has been well studied in the literature. It is usuallyperformed using feature matching (Faugeras and Herbert, 1986), Iterative ClosestPoint (ICP) (Besl and McKay, 1992) or its variant (Chen and Medioni, 1992). Severalanalytical methods for registration of two 3D point sets with known correspondences havebeen proposed. An overview of these techniques can be found by Kanatani (1994) and acomparison of these analytical methods has been presented by Lorusso et al. (1995).

Multiview registration is a more difficult problem than two-view registration. Thereare two strategies towards solving the problem, local (sequential) registration and global(simultaneous) registration. The sequential registration involves the alignment of pairs ofoverlapping views followed by an integration step to ensure all views are combined (Masudaand Yokoya, 1995; Chen and Medioni 1992). This widely used approach does not give anoptimal solution because errors are accumulated and propagated as pointed out by Benjemaaand Schmitt (1998) and Bergevin et al. (1996). On the other hand, global registration alignsall scans at the same time by distributing the registration error evenly over all overlappingviews (see Eggert et al., 1998; Pulli, 1999; Sharp et al., 2004; Silva et al., 2003).

We restrict attention to the registration of multiview 3D point sets with knowncorrespondences between overlapping images. Relatively little has been published on globalregistration of multiple point sets. Some work in this area can be found by Benjemaa andSchmitt (1998), Pennec (1996) and Stoddart and Hilton (1996). These techniques havebeen compared by Cunnington and Stoddart (1999). Recently, Williams and Bennamoun(2001) have proposed an algorithm that generalises the well known pairwise solution toglobal registration by iteratively optimising individual rotation matrices using singular valuedecomposition.

The particular problem of multiview registration is that the function to be minimised isa non-convex function of a set of rotations. By elementary operations, translations can beeliminated to simplify the optimisation. Any algorithm that minimises the resulting functionon rotation matrices must also maintain the rotation matrix constraints during the courseof an iterative procedure. Other approaches have been proposed; Pottmann et al. (2004)suggest using the underlying affine space, applying the rigidity constraints only towardsthe end. Thus, standard optimisation approaches either use Lagrange constraints or have toperform projection steps after each iteration to ensure that the (non-linear)rotation matrixconstraints are maintained.

A different approach that has been considered is to perform the minimisation directly onthe constraint manifold. R

n is a manifold, albeit of very special type and by translating theusual notions of derivatives and tangents in their differential-geometric generalisations, it isconceivable that standard numerical methods such as Newton/Gauss iterations and conjugategradients can be translated into their manifold-based analogues. This area has receivedconsiderable attention over the past few decades. Much work has gone into both theoreticaland practical approaches to manifold-based optimisation. A review of the literature in thisarea is beyond the scope of this paper, but readers may refer to Lee’s thesis (Lee, 2005) fordetails.

In graphics, vision and robotics, the ‘natural’ constraint manifolds arise fromtransformations groups such as SO3, SE3 and the like. The group structure allows us toview these manifolds as Lie groups, with associated Lie algebras. For SO3 in particular,many of the relevant formulae (the exponential map, the logarithmic map and geodesiccurves) are easy to write down, making this approach very tractable both mathematically

Page 4: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

322 S. Krishnan et al.

and computationally. There are now several examples of the use of Lie group methodsin areas such as pose estimation (Govindu, 2004; Lee and Moore, 2004), path planning(Agrawal, 2005) and animation (Alexa, 2002).

In this paper, we consider the simultaneous registration of multiview 3D point sets withknown correspondences between overlapping scans. We address the global registration taskas an unconstrained optimisation problem on a constraint manifold. Our novel algorithminvolves iterative cost function reduction on the smooth manifold formed by the N -foldproduct of special orthogonal groups. The optimisation is based on locally quadraticallyconvergent Newton-type iterations on this constraint manifold. The proposed algorithm isfast, converges at a local quadratic rate, computation per iteration is low since the iterationcost is independent of the number of data points in each view. The Newton or Gauss stepsonly involve the inverse of 3 × 3 Hessian matrices, one for each view.

In addition, we present a new closed-form solution based on a singular valuedecomposition to achieve simultaneous registration of multiple point sets. In thenoise-free case, it gives correct registrations in a single step. In the presence of noiseadditional 3×3 singular value decompositions for projection to the constraint manifold arerequired. This analytical solution is a useful initial estimate for any iterative algorithm. Thispaper, builds on our conference paper (Krishnan et al., 2005) by presenting more simulationstudies and a convergence analysis of interest in its own right.

We start with a review of prior art in the area in Section 2.After a high level overview of ourmethod in Section 3, we provide a brief introduction to Lie groups and related mathematicalbasics in Section 5. The global point registration problem is formulated as an unconstrainedoptimisation on a constraint manifold in Section 6. We present a compact reformulationof the problem in Section 7. This is followed by a presentation of our iterative scheme inSection 8. Next we describe our analytic noise-free solution and our noisy initialisation stepsin Section 9. A summary of the implementation is presented in Section 10. Experimentalevaluation and conclusions follow in Sections 11 and 13. A rigorous mathematical proof ofthe local quadratic convergence of the algorithm is presented in Section 12 and conclusionsgiven in the final section.

2 Related work

The first work on pairwise scan alignment is that of Faugeras and Herbert (1986), Horn(1987) and Arun et al. (1987). In all cases, the authors obtained simple closed-formexpressions for the single transformation minimising the least squares error betweenthe registered scans. Such pairwise schemes are used as modules in general multiviewapproaches such as in the ICP (Besl and McKay, 1992) and the work of Chen and Medioni(1992). Simultaneous multiview registration schemes algorithm is considered by numerousresearchers (Bergevin et al., 1996; Chen and Medioni, 1992; Eggert et al., 1998; Pulli,1999; Sharp et al., 2004; Silva et al., 2003) among the more recent are papers by Benjemaaand Schmitt (1998) and Williams and Bennamoun (2001), the former group formulatingthe optimisation in quaternion space and the latter deriving a similar approach using matrixrepresentations. A comparative study of simultaneous multiview registration schemes iscarried out by Cunnington and Stoddart (1999); however, this comparison predates thework of Williams and Bennamoun.

The ICP algorithm has become the most common method for aligning three-dimensionalmodels based purely on the geometry. The algorithm is widely used for registering theoutputs of 3D scanners, which typically only scan an object from one direction at a time.

Page 5: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 323

ICP starts with two meshes and an initial guess for their relative rigid-body transform anditeratively refines the transform by repeatedly generating pairs of corresponding points onthe meshes and minimising an error metric. Generating the initial alignment can be doneby a variety of heuristics, such as tracking scanner position, identification and indexingof surface features (Faugeras and Herbert, 1986; Stein and Medioni, 1992), ‘spin-image’surface signatures (Johnson and Hebert, 1997), computing principal axes of scans (Doraiet al., 1997), exhaustive search for corresponding points (Chen et al., 1998, 1999) or viathe user input.

Registration of corresponding points is not the only approach to solving multiviewregistration in general. ICP itself uses other heuristics to align surfaces, and in many casesmatching a point to a surface can provide a better fit than simple point-point matchingRusinkiewicz and Levoy, 2001). Owing to space limitations, we will not discuss theseapproaches further.

The most directly relevant prior art is a paper by Adler and Dedieu (2002) that considersthe problem of spine realignment. There, the problem is to determine correct posesfor individual vertebrae on the spinal cord such that misalignment between adjacentvertebrae is minimised and a balance criterion (expressed as an affine condition overthe poses) is maintained. They demonstrate that a good solution to this problem closelyresembles a healthy spinal alignment. Their approach, like ours, is to view the problem asa minimisation over a product manifold of SO3, and use a Newton-type method to solveit. The specifics of their approach are different in that they derive an iterative scheme fromfirst principles by using the covariant derivative ∇X on the manifold; our approach uses theLie-algebraic representation of the tangent space to yield a more direct approach.

It may be viewed that our requirement for apriori knowledge of point correspondencesfrom overlapping scans is a major limitation, as this is usually not the case inpractice. However, our algorithm is meant to work in conjunction with methods likeICP, which provide a general framework for model registration. The crucial inner stepof the ICP algorithm is to refine the transform such that it minimises an error metric. It isthis step that we consider in this paper.

3 Overview and intuition

To help explain our algorithms, we present a brief overview of how to perform Newton-typemethods on manifolds. This is intended to capture the intuition behind our methods and isnot intended to be mathematically rigorous. A reader familiar with Lie groups and basicdifferential geometry may go directly to the next section.

A traditional unconstrained or constrained optimisation method performs searches in RN .

Directions of motion are computed using Newton’s method (or other approaches) and a smallstep is made in this direction. The standard iterative step is of the form xk+1 = xk + aωk ,where xk is the kth iterate, a is a positive scalar and ωk is a descent direction. The descentdirections lie in the tangent space of R

N , which is RN itself, a crucial fact that allows us to

combine the terms xk and ωk .When we move to a general manifold, almost every aspect of the above iteration needs

to be reinterpreted. Firstly, the descent direction ωk lies in the tangent space at xk , which isin general different to the tangent space at any other point, and is different in general fromthe manifold itself. Thus, some mapping is needed to pull back the tangent to the manifold.Secondly, the operator ‘+’ is specific to R

N as a group operator that takes two elements ofa group and maps to a third element.

Page 6: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

324 S. Krishnan et al.

For a Lie group, the tangent space at a point can be expressed in terms of the associatedLie algebra. For SO3, the associated Lie algebra so3 is the space of three-dimensionalskew-symmetric matrices. Thus, the descent direction can be represented by askew-symmetric matrix. The pull back operator is called the exponential map. For matrices,it is in fact the function eA (see Section 4 for the definition). The operator ‘+’ is replaced bythe group operator ◦ of the Lie group (which for SO3 is matrix multiplication). What we thenobtain is an iteration of the form Rk+1 = Rk ◦ eaA, where once again, a is a positive scalar.We will additionally exploit the isomorphism of so3 with R

3, allowing us to parametrisethe matrix A by coordinates in R

3.

4 Preliminaries

We introduce some common matrix operators that we will use in subsequent sections. If M

is an n × k matrix, then vec(M) is a nk × 1 vector formed by writing down the columnsof M one at a time. The Kronecker product or tensor product A ⊗ B of two matricesA and B is the matrix formed by replacing each element aij of A by the matrix aijB. Thisis different from the direct sum ⊕ of matrices, which is equal to a block diagonal matrixwith the individual matrices as the diagonal blocks. Let tr(A) = ∑

i aii denote the traceof a square matrix A. The following identities are well known: tr(AB) = tr(BA) if A andB are both square, (X ⊗ Y )� = X� ⊗ Y�, (X ⊗ Y )−1 = X−1 ⊗ Y−1 when the inversesexist, (X ⊗ Y )(A ⊗ B) = (XA ⊗ YB) and vec(XYZ) = (Z� ⊗ X)vec(Y ). A useful factis that tr(X�Y ) = tr(XY�) = vec�(x)vec(Y ), which implies that for vectors u, v, the dotproduct u · v = u�v can be written as u · v = tr(uv�). The exponential eA of a matrix A isdefined as eA = ∑

iAi

i! .

5 Geometry of N -fold product of the special orthogonal group SON3

Here, we review the geometry of the special orthogonal group and its product manifold. LetSO3 denote the group of 3 × 3 orthogonal matrices with determinant +1. Recall that SO3 isa Lie group and its associated Lie algebra so3 is the set of 3 × 3 skew symmetric matricesof the form:

� =⎡⎣ 0 −ωz ωy

ωz 0 −ωx

−ωy ωx 0

⎤⎦ (1)

There is a well known isomorphism from the Lie algebra (R3, ×) to the Lie algebra(so3, [., .]), where × denotes the cross product and [., .] denotes the matrix commutator.This allows one to identify so3 with R

3 using the mapping in (1), which maps a vectorω = [

ωx ωy ωz

] ∈ R3 to a matrix � ∈ so3. Denoting

Qx :=⎡⎣0 0 0

0 0 −10 1 0

⎤⎦ , Qy :=

⎡⎣ 0 0 1

0 0 0−1 0 0

⎤⎦ , Qz :=

⎡⎣0 −1 0

1 0 00 0 0

⎤⎦ (2)

note that

� = Qxωx + Qyωy + Qzωz

Page 7: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 325

Our interest here is a product manifold of SO3, which is a smooth manifold of dimension3N , given by

SON3 =

N times︷ ︸︸ ︷SO3 × · · · × SO3

5.1 Tangent space of SON3

Recall that the tangent space of SO3 at Ri , for i = 1, 2, . . . , N , is given as TRiSO3 =

{Ri�i | �i ∈ so3} and the corresponding affine tangent space is T affRi

SO3 = {Ri +Ri�i | �i ∈ so3}. Note that direct sum ⊕ of matrices is equal to a block diagonal matrixwith the individual matrices as the diagonal blocks and define

� := �1 ⊕ �2 ⊕ · · · ⊕ �N, �i ∈ so3 (3)

Due to isomorphism, the tangent space of SON3 at R = [R1 R2 . . . RN ] ∈ SON

3 can beidentified as

TRSON3 = R� (4)

and the affine tangent space is

T affR SON

3 = R + R� (5)

5.2 Local parameterisation of SON3

For every point Ri ∈ SO3, there exists a smooth exponential map

µRi: R

3N → SO3, ωi �→ Rie�(ωi )

which is a diffeomorphism about the origin in R3. This is known as the local parameterisation

map of SO3 around Ri . Owing to isomorphism, every point R ∈ SON3 can be locally

parameterised by the smooth map

ϕR : R3N → SON

3 (6)

ω =

⎡⎢⎢⎢⎣

ω1

ω2...

ωN

⎤⎥⎥⎥⎦ �→ R

(e�(ω1) ⊕ e�(ω2) ⊕ · · · ⊕ e�(ωN )

) = Re�(ω) (7)

6 Problem formulation

Given possibly noisy surface measurements from multiple 3D images and pointcorrespondences among overlapped images, the registration process is to find the rigid bodytransformations between each image coordinate frame to align sets of surface measurementsinto a reference frame.

Page 8: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

326 S. Krishnan et al.

6.1 3D object points and multiple views

Figure 1 illustrates the global multiview registration problem. Consider a 3D object as a setof 3D points W := {wk ∈ R

3 | k = 1, 2, . . . , n} in a ‘world’ reference frame (Figure 1(a)).Throughout this paper we indicate the kth point in a set by a superscript k.

Now consider multiple views of the object as depicted in Figure 1(b). Each view beingfrom a different vantage point and viewing direction and each viewing being of possiblyonly a subset of the n 3D points. For N views, let us denote the relative rotations andtranslations as (R1, t1), . . . , (RN, tN), that is, relative to the ‘world’ reference frame, whereRi is a 3 × 3 rotation matrix, satisfying R�

i Ri = I3, det(Ri) = +1 and ti ∈ R3 is a

translation vector.

Figure 1 Global registration of multiple 3D point sets: given multiple 3D point sets, eachrepresents a partial view of a 3D object. Assuming that point correspondencesbetween overlapping views are known, the task is to register all views into a singlereference frame simultaneously: (a) 3D objject points in ‘world’ reference frame (W ),(b) Multiple views of the 3D object, (c) Overlapping ragion between views (Wij ),(d) Registration of view i into world frame and (e) Registration of view i and view j

into world frame

Page 9: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 327

As illustrated in Figure 1(c) and 1(d), the ith view is limited to ni points Wi = {wki ∈

R3 | k = 1, 2, · · · , ni} ⊂ W and is denoted Vi = {vk

i ∈ R3 | k = 1, 2, · · · , ni} and

consists of the images of the ni points in Wi with relative rotation matrices and translationvectors given by (Ri, ti). Thus, in the noise-free case,

wki = Riv

ki + ti , k = 1, 2, . . . , ni

Let Wij = Wi ∩ Wj be the set of nij points in Wi for which there are correspondingpoints in Wj , for i, j = 1, · · · , N . That is, Wij = Wji consists of nij = nji pointswk

ij = wkji ∈ R

3, k = 1, · · · , nij . In view Vi the set of images of these points is denotedVij := {vk

ij ∈ R3 | k = 1, 2, · · · , nij } ⊂ Vi and of course for view Vj it is denoted

Vji := {vkji ∈ R

3 | k = 1, 2, · · · , nij } ⊂ Vj . In the noise-free case, it is immediate thatwk

ij = Rivkij + ti = Rjv

kji + tj , ∀ i, j = 1, 2, · · · , N, k = 1, 2, · · · , nij (8)

as depicted in Figure 1(e).

6.2 Registration error cost function

When there is measurement noise, it makes sense to work with a cost function that penalisesthe error (Riv

kij +ti)−(Rjv

kji+tj ) for all i, j = 1, 2, · · · , N and k = 1, 2, · · · , nij . Trivially

the error is zero for i = j . The cost index for all the registrations which first comes to mindis given by the sum of the squared Euclidean distances between the corresponding pointsin all overlaps,

g =N∑

i=1

N∑j=i+1

nij∑k=1

‖(Rivkij + ti) − (Rjv

kji + tj )‖2 (9)

=N∑

i=1

N∑j=i+1

nij∑k=1

(‖Rivkij − Rjv

kji‖2 + 2(ti − tj )

�(Rivkij − Rjv

kji) + ‖ti − tj‖2).

Before optimising this index, we first reformulate the index in a more convenient notation.Let ei := ith column of N × N identity matrix, IN , eij := ei − ej ,

R := [R1 R2 · · · RN

] ∈ R3×3N, T := [

t1 t2 · · · tN] ∈ R

3×N (10)

then we have

Ri = R(e�i ⊗ I3), ti = T ei, ti − tj = T eij

Also define,

[A B

B� C

]=

N∑i=1

N∑j=i+1

nij∑k=1

[ak

ij

eij

] [ak�

ij e�ij

]≥ 0, ak

ij := (ei ⊗ I3)vkij − (ej ⊗ I3)v

kji .

Now, simple manipulations show that the registration error cost function (9) can be rewrittenin convenient matrix notation as

g(R, T ) = tr(RAR� + 2RBT � + T CT �),

= tr

([R T

] [A B

B� C

] [R�T �

])≥ 0

(11)

Page 10: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

328 S. Krishnan et al.

or equivalently, as

g(R, T ) = tr(RAR�) + 2vec�(T )vec(RB) + vec�(T )(C ⊗ I3)vec(T ) (12)

since tr(X�Y ) = vec�(X)vec(Y ).

7 A more compact reformulation

7.1 Optimal translation

Observe that (12) is readily minimised over all vec(T ) ∈ R3N or T ∈ R

3×N . Thus,

T ∗(R) := arg minT

g(R, T )

satisfies

vec(T ∗(R)) = −(C† ⊗ I3)vec(RB) = −vec(RBC†) ⇔ T ∗(R) = −RBC† (13)

Note that the data matrix C is singular, since C1N = 0, where 1N is the N × 1 vectorconsisting of unity elements. Thus, the pseudo inverse C† is used. Clearly, the absolutetransformations cannot be recovered. Since rotating each view by R0 and then translatingit by t0 does not change the value of the cost function, as now indicated,

‖ (R0(Riv

kij + ti) + t0

) − (R0(Rjv

kji + tj ) + t0

) ‖ = ‖(Rivkij + ti) − (Rjv

kji + tj )‖

it makes sense to estimate the rigid body transformations relative to (say) the first referenceframe, by fixing (R1, t1) as (I3, 03) where 03 denotes the 3 × 1 zero vector.

7.2 Registration error cost function independent of translation

From the previous subsection, we see that optimising the translation can be decoupled fromoptimising the rotation. Substituting T ∗(R) from (13) into (11) leads to a registration errorcost function depending only on rotations,

f (R) := g(R, T (R)) = tr(RMR�) = vec�(R�)(I3 ⊗ M)vec(R�) (14)

where M := A − BC†B� is the Schur complement of the matrix

[A B

B� C

].

8 Optimisation on the manifold SON3

8.1 Cost function on the manifold SON3

Noting M from (14), consider the smooth function,

f : SON3 → R, f (R) = tr(RMR�) = vec�(R�)(I3 ⊗ M)vec(R�) (15)

Minimisation of this function penalises the alignment error among all range imagessimultaneously.

Page 11: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 329

8.2 Local cost function

The cost function f at R ∈ SON3 expressed in local parameter space using the smooth local

parameterisation ϕR defined in (6) is given by,

f ◦ ϕR : R3N → R, f ◦ ϕR(ω) = tr(Re�(ω)Me�(ω)�R�) (16)

The second-order Taylor approximation of f ◦ ϕR about 0 ∈ R3N in direction ω is

j(2)0 (f ◦ ϕR) : R

3N → R,

ω �→(

(f ◦ ϕR)(tω) + d

dt(f ◦ ϕR)(tω) + 1

2

d2

dt2(f ◦ ϕR)(tω)

)∣∣∣∣t=0

The mapping consists of

1 a constant term,

(f ◦ ϕR)(tω)|t=0 = tr(RMR�)

2 a linear term,d

dt(f ◦ ϕR)(tω)

∣∣∣∣t=0

= 2 tr(R�MR�) = 2ω�∇f ◦ϕR(0),

Recall (1)–(3) and let vec(��) := Qω, the explicit formula for the gradient of f ◦ ϕRevaluated at 0 ∈ R

3N is

∇f ◦ϕR(0) = J�vec(MR�) (17)

where

J := (R ⊗ I3N)Q, Q := Qe1 ⊕ Qe2 ⊕ · · · ⊕ QeN, Qei

:=⎡⎣ei ⊗ Qx

ei ⊗ Qy

ei ⊗ Qz

⎤⎦ (18)

3 a quadratic term which consists of a sum of two terms. The first term is given as

tr(R�M��R�) = ω�Hf ◦ϕR(0)ω,

and the second quadratic term is

tr(R�2MR�) = vec�(��)vec(MR�R�) = ω�Hf ◦ϕR(0)ω

Thus, the Hessian of f ◦ ϕR evaluated at zero is

Hf ◦ϕR(0) = Hf ◦ϕR(0) + Hf ◦ϕR(0) (19)

where

Hf ◦ϕR(0) = J�(I3 ⊗ M)J ≥ 0Hf ◦ϕR(0) = −Q�(I3N ⊗ MR�R)Q

(20)

Page 12: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

330 S. Krishnan et al.

8.3 Algorithm

The proposed algorithm consists of the iteration,

s = π2 ◦ π1 : SON3 → SON

3 (21)

where π1 maps a point R ∈ SON3 to an element in the affine tangent space T aff

R SON3 that

minimises j(2)0 (f ◦ ϕR)(0) and π2 projects that element back to SON

3 by means of theparametrisation ϕR, as illustrated in Figure 2.

Optimisation in local parameter space, π1. Optimisation in local parameter spaceconsists of two steps, first calculate a suitable descent direction and then search for astep length that ensures reduction in cost function, as described by the mapping

π1 = πb1 ◦ πa

1 : SON3 → T affSON

3 (22)

Here, πa1 is used to obtain a descent direction,

πa1 : SON

3 → T affSON3 , R �→ R + R�(ωopt(R)) (23)

where ωopt ∈ R3N as a function of R = ϕR(0) can be given by the Newton direction when

Hf ◦ϕR(0) > 0 as,

ωNewtonopt (R) = −[Hf ◦ϕR(0)]−1∇f ◦ϕR(0) (24)

or by a Gauss direction otherwise, as

ωGaussopt (R) = −[Hf ◦ϕR(0)]−1∇f ◦ϕR(0) (25)

Figure 2 The proposed algorithm first maps a point Rk ∈ SON3 to an element of the affine

tangent space T affRk

SON3 via π1, followed by step π2 to project that vector back

to the manifold

SO3N

π1

π2

π1a

Rk Rk+1

Once an optimal direction is computed, an approximate one-dimensional line searchis carried out in this direction. We proceed with a search on the scalar λ > 0 whichensures that the cost function f ◦ ϕR(λωopt) is reduced at every step, giving rise to themappings,

πb1 : T affSON

3 → T affSON3

R + R�(ωopt(R)) �→ R + R�(λoptωopt(R))(26)

whereλopt is the step length that reduces the cost function in direction ωopt, and is found usingthe simple backtracking line search. As we are using a descent direction, for sufficientlysmall step size, the cost function will go downhill.

Page 13: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 331

Remark 8.1: More on Backtracking Line Search. Given a descent direction ωopt for functionf ◦ ϕR at 0 ∈ R

3N ,

• An exact line search is,

λopt = arg minλ>0

f ◦ ϕR(λωopt) (27)

• A backtracking line search with parameters α ∈ (0, 0.5), β ∈ (0, 1), then starting atλ := 1, we proceed as follows:

While f ◦ ϕR(λωopt) > f ◦ ϕR(0) + αλ[∇f ◦ϕR(0)]�ωopt

do λ := βλ

and λopt := λ.

Projecting back via parametrisation. Once the descent direction and downhill step size isobtained, we project it back to the manifold via the parametrisation,

π2 : T affSON3 → SON

3

R + �(λoptωopt(R)) �→ Re�(λoptωopt(R))

= R(e�(λoptω

opt1 (R1)) ⊕ · · · ⊕ e�(λoptω

optN

(RN ))) (28)

since ωopt(R) = [ω

opt1 (R1)

� · · · ωoptN (RN)�

]�.

9 Algorithm initialisation

Here we present a new closed-form solution based on singular value decomposition thatsimultaneously registers all range images. This is used as the initial estimate for the proposediterative algorithm of the previous section. In the noise-free case, it gives optimal estimatesof the rotation matrices in a single step. Moreover, these are the desired (exact) rotationmatrices. In the presence of noise, this step leads to an ‘optimal’ matrix R ∈ R

3×3N butsuch that Ri /∈ SO3 for some or all i typically. Thus, an additional projection step to themanifold is required.

9.1 Noise-free solution

In the noise-free case, for R ∈ SON3 , the optimal value of the cost function (15) is zero, as

vec�(R�)vec(MR�) = 0 ⇒ vec(MR�) = 0 ⇒ MR� = 0 (29)

Since M is symmetric, a singular value decomposition gives

M = U�U� = [Ua Ub

] [�a 00 0

] [U�

a

U�b

]⇒ MUb = 0 (30)

To obtain R such that R1 = I3, let U := [I3 0

]Ub, then the closed-form solution is

R = U−�U�b (31)

Page 14: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

332 S. Krishnan et al.

9.2 Initialisation for noisy case

In the presence of noise, the optimal cost function is no longer equal to zero. In this case, Ub

is chosen to be the set of right singular vectors associated with three least singular valuesof M, which may not be zero. These singular vectors might not be on SON

3 . Thus, anadditional projection step is required. Denoting Gi := U−�Ub(ei ⊗ I3), we have

Ropti = arg min

Ri∈SO3‖Ri − Gi‖ = arg max

Ri∈SO3tr(R�

i Gi) (32)

By applying a singular value decomposition on Gi , we obtain

Gi = WZ�, Ropti = W

[I2 00 det(WZ�)

]Z� (33)

where det(Ropti ) = +1.

10 Implementation of algorithm

Start with an initial estimate of the rotation matrices R = [R1 R2 · · · RN ] ∈ SON3 obtained

from the initialisation algorithm of the previous section.

Step 1: Carry out the optimisation step,

• Compute the gradient ∇f ◦ϕR(0) and the Hessian Hf ◦ϕR(0) via (17), (19), respectively.

• If Hf ◦ϕR(0) > 0,

Compute the Newton step, ωopt = −[Hf ◦ϕR(0)]−1∇f ◦ϕR(0), otherwise compute theGauss step ωopt = −[Hf ◦ϕR(0)]−1∇f ◦ϕR(0).

• Compute the optimum step size λopt in direction ωopt using a backtracking line search,as described in Remark 8.3.

Step 2: Carry out the projection step, R = R(e�(λoptω

opt1 ) ⊕ · · · ⊕ e�(λoptω

optN

))

.

Step 3: Set R = R, go back to Step 1 if ‖∇f ◦ϕR(0)‖ > ε, a prescribed accuracy.

Remark 10.1: To reduce computational effort per iteration of the algorithm, the sparsematrix J (18) for Hessian and gradient computation can be manipulated further as follows.Recalling � from (1), then

J = [(R1 ⊗ I3N)Qe1 (R2 ⊗ I3N)Qe2 · · · (RN ⊗ I3N)QeN

]

=⎡⎣�(e�

1 R1) ⊕ �(e�1 R2) ⊕ · · · ⊕ �(e�

1 RN)

�(e�2 R1) ⊕ �(e�

2 R2) ⊕ · · · ⊕ �(e�2 RN)

�(e�3 R1) ⊕ �(e�

3 R2) ⊕ · · · ⊕ �(e�3 RN)

⎤⎦ (34)

11 Experimental evaluation

We now present an experimental study of our algorithm, focusing primarily on the qualityof the registrations it produces, and the convergence rate of the method.

Page 15: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 333

11.1 Methods

We will compare our algorithm (which we will refer to as Manifold-Based Registration(MBR)) to the schemes proposed by Benjemaa and Schmitt (1998) (QUAT) and Williamsand Bennamoun (2001 (MAT). MBR and MAT are matrix based and are written in MATLAB.MAT, which uses quaternions in its formulation, is written in C. We used a maximumiteration limit of 1000 for all the methods. Our method of comparison between variousalgorithms will be based on both visual quality as well as iteration counts and errorconvergence rates (we will not use clock time).

11.2 Data

Our first data set consists of actual 3D models from the Stanford 3D Scanning Repository.For each of three models, we generated a collection of views as follows: we first generatea unit vector (representing a view) and extracted the points on all front-facing triangleswith respect to this view. Next, each view is randomly rotated and translated into a localcoordinate system. Finally, each point in each view is randomly perturbed using a Gaussiannoise model. This yields a collection of views that possess a global noisy registration. Withthis data, we have ground truth (exact correspondences) since we have the original model.Table 1 gives the statistics of this data.

Table 1 Statistics for the synthetic 3D models used for global registration

Model Number of Number Total size Number of Time (in sections)vertices of scans of all scans view pairs per iteration

generated (MBR)

DRILL 1961 20 23,298 77 0.015

DRAGON 100,250 20 1,142,487 98 0.016

BUDDHA 32,328 50 252,580 526 0.093

Our second data set consists of 3D range scan data from the Digital Michelangelo Project(Levoy et al., 2000). The individual scans come with an original alignment (stored in .xffiles). We perform ICP on pairs of scans, using the routines built into scanalyse, andretain all pairs of scans that have at least three points in common as determined by ICP.In each instance, we run ICP five times and take the best alignment thus generated (eachinstance of ICP runs for ten iterations). The model of correspondence used is point-point.

11.3 3D Models

We have run the three algorithms on the view pairs obtained from the three 3D models.In Figure 3(a)–(c), we show the output registrations obtained by MBR. For these examples,the other two schemes produced similar registrations, although with higher error. In Table 2,we compare the performance of the three schemes on the models, in terms of both the numberof iterations till convergence, and the final error. The final error is computed by evaluatingthe function defined in Equation (12).

What is striking about the numbers is that although mostly the other approaches yieldcomparable error (except for DRILL), their iteration counts are orders of magnitude higherthan that of our scheme. This is a clear demonstration of locally quadratic convergenceproperties of our scheme.

Page 16: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

334 S. Krishnan et al.

Figure 3 Registrations produced by our Optimisation-on-a-Manifold algorithm, MBR,on synthetic and real data sets. The real data set was obtained from the DigitalMichelangelo Project at Stanford University: (a) drill (b) dragon (c) buddha(d) David Head and (e) David Head and Bust

(a) (b) (c)

(d) (e)

Table 2 Performance of the three registration methods – our Optimisation-on-a-Manifoldmethod MBR, Williams and Bennamoun’s SVD-based method MAT and Benjemaaand Schmitt’s Quaternion-based method QUAT on the synthetic data sets

MBR MAT QUATIteration Error Iteration Error Iteration Error

Drill 2 3.5 × 10−7 47 3.5 × 10−7 48 710−7

Dragon 4 5 × 10−3 933 110−2 1000 1 × 10−2

Buddha 2 2 × 10−4 534 210−3 718 3 × 10−3

Factors that influence iteration counts: we investigated other factors that might affectthe algorithm performance. Some of the parameters that influence iteration counts arethe density of the correspondence graph, that is, how many view pairs are provided and thestrength of match for each pair (average number of points in each view pair).

In all cases, the number of iterations required by our method to converge wasunaffected by these parameters. However, for the other methods, we noticed a fairly weakcorrelation between the density of the correspondence graph and the number of iterationsneeded; as the graph got denser, implying a more constrained system, the number ofiterations needed to converge reduced. For example, the iteration counts for MAT andQUAT went from close to 1000 (for a sparse graph in the Dragon) to 47 (for a dense graphin the Drill).

Page 17: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 335

Cost per iteration: we do not provide a comparison of actual time per iteration for thethree methods because they have been implemented on different platforms. However, MBRand MAT exhibit cubic dependence on the number of scans (for N scans, each iterationtakes O(N3) time), while QUAT take quadratic time per iteration at the expense of manymore iterations. There is no running time dependence on the actual size of the model orsize of each scan; there is however a preprocessing cost dependent on the total size of thecorresponding points. Using our Matlab code, we measured the time per iteration only forour algorithm, MBR, and is shown in the last column of Table 1. All timing measurementswere performed on a PC running Windows XP with a 2.8-GHz Pentium IV processor and512 MBytes of RAM. For the models we tried in this paper, we roughly had anywhere from8 to 80 corresponding points between pairs of scans.

11.4 Range scan data

Having evaluated the performance of our scheme in relation to prior art in a controlledsetting where ground truth (exact correspondences) are known, we now present the resultsof running the schemes on range scan data. We focus on the model of David, specifically theviews corresponding to the head and bust region. After implementing the view generationprocedure described earlier, we obtain a 10-scan instance of the bust and a 38-scan instanceof the head. We also use a 21-scan instance that has bad starting alignment. The registrationproduced by our algorithm for 10-scan instance of the bust and a 38-scan instance of thehead are shown in Figure 3(d) and (e), respectively.

Figure 4 shows the registrations obtained by MBR, MAT and QUAT. In all cases,the registration produced by our algorithm is quite plausible. The other methods donot fare so well; a typical problem is that the two halves of David’s face do notregister properly, creating the false effect of two heads. Table 3 summarises theperformance of the three algorithms in terms of iteration counts. For absolute times periteration, our algorithm, MBR, took 9 ms for the 10-scan instance of the bust, 47 ms for the38-scan instance of the head and 20 ms for the 21-scan instance of the bust with bad initialalignment.

12 Convergence analysis of algorithm

12.1 Local quadratic convergence

Theorem 12.1: Let R∗ ∈ SON3 be a non-degenerate minimum of the smooth function

f : SON3 → R defined in (14). Let Rk be a point in an open neighbourhood of R∗.

Consider the proposed iteration on SON3 ,

Rk+1 = s(Rk), s = π2 ◦ π1, (35)

where π1 is given by the Newton direction defined in (24), π2 involves projection back toSON

3 via the smooth exponential map of (28). Then, the point sequence generated by s

converges quadratically to R∗.

Proof 12.1: Let R∗ ∈ SON3 be a fixed point of s = π2 ◦ π1, we have

s(R∗) = R∗ ⇔ π2 ◦ π1(R∗) = R∗ ⇔ R∗e�(λoptωopt) = R∗ ⇔ e�(λoptωopt) = I

Page 18: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

336 S. Krishnan et al.

Figure 4 This figure shows the results of three algorithms for simultaneous registration ofmultiple3D point sets – our Optimisation-on-a-Manifold method MBR, Williams andBennamoun’s SVD-based method MAT and Benjemaa and Schmitt’sQuaternion-based method QUAT (from left to right) on different instances of theDavid model. In all cases, the registration produced by our algorithm is quite plausible.The other methods do not fare so well; a typical problem is that the two halves ofDavid’s face do not register properly, creating the false effect of two heads: (a) thehead of David (detailed: 38 scans), (b) the head and bust of David (10) scans) and(c) head and bust: bad initial alignment (21 scans)

(a)

(b)

(c)

If the exponential map in the projection step π2 is within its injectivity radius, then onlyωopt = 0 satisfies the above equation (since λopt is a positive scalar). Thus all critical pointsare fixed points, although only local minima are stable fixed points. Notice that ωopt = 0 isthe (unique) minimum of j

(2)0 (f ◦µR∗)(ω) if and only if µR∗(0) = R∗ is a non-degenerate

local minimum of f : SON3 → R.

Under the assumption that the cost function f is smooth and Hessian of f ◦ µR isinvertible everywhere, the optimisation step π1 is smooth. The projection step π2 whichinvolves only the exponential mappings is also smooth.

Page 19: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 337

Table 3 Performance of the three registration methods – our Optimization-on-a-Manifoldmethod MBR, Williams and Bennamoun’s SVD-based method MAT andBenjemaa and Schmitt’s Quaternion-based method QUAT on the Davidmodel - courtesy of the Digital Michelangelo Project

MBR Iter. MAT Iter. QUAT Iter.

Head 48 247 1000

Bust 12 1000 1000

Bust – Bad alignment 81 1000 1000

Let R∗ denote a stable fixed point of s = π2 ◦ π1, being also a non-degenerate minimumof the function f . We will compute the first derivative of s at this fixed point. Applyingchain rule and using the fact that π1(R∗) = π2(R∗) = R∗, we have for all tangent elementsξ ∈ TR∗SO

N3 ,

Ds(R∗) · ξ = Dπ2(R∗) · Dπ1(R∗) · ξ (36)

Consider s in the local parameter space, we have the self map

µ−1R∗ ◦ s ◦ µR∗ : R

3N → R3N (37)

Thus, rewriting (37) in terms of local parameterisation defined by

µR∗ : R3N → SON

3 , ω �→ R∗e�(ω) (38)

with µR∗(0) = R∗ and � defined in (3), we have for all h ∈ R3N ,

Dµ−1R∗ ◦ s ◦ µR∗(0) · h = Dµ−1

R∗(R∗) · Ds ◦ µR∗(0) · h (39)

Next, consider the composite function,

s ◦ µR∗ : R3N → SON

3 , ω �→ µR∗(ω)e�(ωNewton

opt (µR∗ (ω))) (40)

since in the neighbourhood of R∗, the algorithm uses the Newton step with λopt = 1 and

ωNewtonopt ◦ µR∗(ω) = ωNewton

opt (µR∗(ω)) = −[Hf ◦µR∗ (ω)]−1∇f ◦µR∗ (ω) (41)

Exploiting linearity of the mapping �, using the well-known formula for differentiating thematrix exponential and the fact that,

µR∗(0) = R∗, ωNewtonopt ◦ µR∗(0) = 0

we have

DµR∗(0) · h = R∗�(h), (42)

and

DωNewtonopt ◦ µR∗(0)h

= −[Hf ◦µR∗ (0)]−1D∇f ◦µR∗ (0) · h − D[Hf ◦µR∗ ]−1(0) · h∇f ◦µR∗ (0),

= −[Hf ◦µR∗ (0)]−1Hf ◦µR∗ (0)h, since ∇f ◦µR∗ (0) = 0= −h

(43)

Now, using (42) and (43), we compute the first derivative of the composite function in (40),

Ds ◦ µR∗(0) · h = R∗�(h) + R∗�(

DωNewtonopt ◦ µR∗(0) · h

)= 0. (44)

Page 20: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

338 S. Krishnan et al.

Substituting (44) into (39) shows that for all h ∈ R3N

Dµ−1R∗ ◦ s ◦ µR∗(0) · h = 0 (45)

Let Rk denote a point in an open neighbourhood of R∗, generated by s. By inverse mapping,ωk = µ−1

R∗(Rk) stays in a sufficiently small open neighbourhood of the origin in R3N .

Vanishing of the first derivative then implies local quadratic convergence by the Taylor-typeargument, for some positive κ ,∥∥µ−1

R∗ ◦ s ◦ µR∗(ωk)∥∥ ≤ sup

y∈N (0)

κ∥∥D2µ−1

R∗ ◦ s ◦ µR∗(y)∥∥ · ‖ωk‖2 , (46)

with N (0) the topological closure of a sufficiently small open neighbourhood of origin inR

3N .One might ask: what happens in the non-generic case when the Hessian matrix is singularat a local minima? In this case, the local minima are not isolated and one expects quadraticconvergence to this connected set by similar but more technical arguments.

13 Conclusion and future work

In this paper, we have presented a novel algorithm for simultaneous registration of multiple3D point sets. The algorithm is iterative in nature, based on an optimisation-on-a-manifoldapproach. The algorithm is locally quadratically convergent as demonstrated by rigorousmathematical proof and simulation results. It also converges much faster than prior methodsfor simultaneous registration. We also propose a new analytic method that provides aclosed-form solution based on singular value decomposition. It gives exact solutions inthe noise-free case and can be used as a good initial estimate for any iterative algorithm.

Acknowledgements

We acknowledge Prof. Marc Levoy and the Digital Michelangelo Project at StanfordUniversity for providing access to the raw scan data used in this paper.

National ICT Australia is funded by the Australian Department of Communications,Information Technology and the Arts and the Australian Research Council through BackingAustralia’s Ability and the ICT Centre of Excellence Program. This research is supportedin part by the ARC discovery grants A0010582 and DP0450539.

References

Adler, R.L. and Dedieu, J-P. (2002) ‘Newton’s method on Riemannian manifolds and a geometricmodel for the human spine’, IMA Journal of Numerical Analysis, Vol. 22, pp.359–390.

Agrawal, M.A. (2005) ‘Lie algebraic approach for consistent pose registration for general euclideanmotion’, Proceedings of IEEE ICRA.

Alexa, M. (2002) ‘Linear combination of transformations’, ACM Transactions on Graphics, Vol. 21,No. 3, pp.380–387.

Arun, K., Hwang, T.S. and Bolstein, S. (1987) ‘Least squares fitting of two 3D point sets’, IEEETransactions on Pattern Analysis and Machine Intelligent, Vol. 9, No. 5, pp.698–700.

Benjemaa, R. and Schmitt, F. (1998) ‘A solution for the registration of multiple 3D point sets using unitquaternion’, Proceedings of the European Conference on Computer Vision, Freiburg, Germany,pp.34–50.

Page 21: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

Optimisation-on-a-manifold for global registration 339

Bergevin, R., Soucy, M., Gagnon, H. and Laurendeau, D. (1996) ‘Towards a general multiviewregistration technique’, IEEETransactions on PatternAnalysis and Machine Intelligence, Vol. 18,No. 5, pp.540–547.

Besl, P. and McKay, N.D. (1992) ‘A method for registration of 3D shapes’, IEEE Transactions onPattern Analysis and Machine Intelligence, Vol. 14, No. 2, pp.239–256.

Chen, Y. and Medioni, G. (1992) ‘Object modelling by registration of multiple range images’, ImageVision Computing, Vol. 10, No. 3, pp.145–155.

Chen, C., Hung, Y. and Cheng, J. (1998) ‘A fast automatic method for registration of partiallyoverlapping range images’, Proceedings of International Conference on Computer Vision.

Chen, C., Hung, Y. and Cheng, J. (1999) ‘RANSAC-based darces: a new approach to fast automaticregistration of partially overlapping range images’, IEEE Transactions on Pattern Analysis andMachine Intelligence, Vol. 21, No. 11, pp.1229–1234.

Cunnington, S. and Stoddart, A.J. (1999) ‘N -view point set registration: a comparison’, Proceedingsof the British Machine Vision Conference, Nottingham, UK.

Dorai, C., Weng, J. and Jain, A.K. (1997) ‘Optimal registration of object views using range data’,IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 19, No. 10, pp.1131–1138.

Eggert, D., Fitzgibbon, A.W. and Fisher, R. (1998) ‘Simultaneous registration of multiple range viewsfor use in reverse engineering of CAD models’, Computer Vision and Image Understanding,Vol. 69, No. 3, pp.253–272.

Faugeras, O.D. and Herbert, M. (1986) ‘The representation, recognition, and location of 3D objects’,International Journal of Robotics Research, Vol. 5, No. 3, pp.27–52.

Govindu, V.M. (2004) ‘Lie-algebraic averaging for globally consistent motion estimation’,Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.

Horn, B.K.P. (1987) ‘Closed form solution of absolute orientation using unit quaternions’, Journalof the Optical Society of America A, Vol. 4, pp.629–642.

Kanatani, K. (1994) ‘Analysis of 3D rotation fitting’, IEEE Transactions on Pattern Analysis andMachine Intelligence, Vol. 16, No. 5, pp.543–549.

Krishnan, S., Lee, P.Y., Moore, J.B. andVenkatasubramania, S. (2005) ‘Global registration of multiple3D point sets via optimization-on-a-manifold’, Proceedings of Eurographics Symposium onGeometry Processing, pp.187–196.

Lee, P.Y. (2005) ‘Geometric optimization for computer vision’, PhD Thesis, Australian NationalUniversity, Canberra.

Lee, P.Y. and Moore, J.B. (2004) ‘Pose estimation via a Gauss-Newton-on-manifold approach’,Proceedings of International Symposium on Mathematical Theory of Network and System.

Levoy, M., Pulli, K., Curless, B., Rusinkiewicz, S., Koller, D., Pereira, L., Ginzton, M.,Anderson, S., Davis, J., Ginsberg, J., Shade, J. and Fulk, D. (2000) ‘The Digital MichelangeloProject: 3D scanning of large statues’, Proceedings of SIGGRAPH, pp.131–144.

Lorusso, A., Eggert, D.W. and Fisher, R.B. (1995) ‘A comparison of four algorithms for estimating3D rigid transformations’, Proceedings of the British Machine Vision Conference, Birmingham,England, pp.237–246.

Masuda, T. and Yokoya, N. (1995) ‘A robust method for registration and segmentation of multiplerange images’, Computer Vision and Image Understanding, Vol. 61, No. 3, pp.295–307.

Nocedal, J. and Wright, S.J. (1999) Numerical Optimization, NewYork: Springer Series in OperationResearch, Springer Verlag.

Pennec, X. (1996) ‘Multiple registration and mean rigid shapes: application to the 3D case’,Proceedings of 16th Leeds Annual Statistical Workshop, Leeds, UK, pp.178–185.

Pottmann, H., Huang, Q.X., Yang, Y.L. and Hu, S.M. (2004) ‘Geometry and convergence analysisof algorithms for registration of 3D shapes’, Technical Report, No. 117, Technical UniversityWien.

Page 22: Optimisation-on-a-manifold for global registration of …users.cecs.anu.edu.au/~john/papers/JOUR/189.pdfOptimisation-on-a-manifold for global registration 321 features, such as points,

340 S. Krishnan et al.

Pulli, K. (1999) ‘Multiview registration for large data sets’, Proceedings of the InternationalConference on 3D Digital Imaging and Modeling, Ottawa, Canada, pp.160–168.

Rusinkiewicz, S. and Levoy, M. (2001) ‘Efficient variant of the ICP algorithm’, Proceedings of theInternational Conference on 3D Digital Imaging and Modeling.

Sharp, G.C., Lee, S.W. and Wehe, D.K. (2004) ‘Multiview registration of 3D scenes by minimizingerror between coordinate frames’, IEEE Transactions on Pattern Analysis and MachineIntelligence, Vol. 26, No. 8, pp.1037–1050.

Silva, L., Bellon, O.R.P. and Boyer, K.L. (2003) ‘Enhanced, robust genetic algorithms for multiviewrange image registration’, Proceedings of the International Conference on 3D Digital Imagingand Modeling, Banff, Canada, pp.268–275.

Stein, F. and Medioni, G. (1992) ‘Structural indexing: efficient 3D object recognition’, IEEETransactions on Pattern Analysis and Machine Intelligence, Vol. 14, No. 2, pp.125–145.

Stoddart, A. and Hilton, A. (1996) ‘Registration of multiple point sets’, Proceedings of theInternational Conference on Pattern Recognition, Vienna, pp.40–44.

Williams, J. and Bennamoun, M. (2001) ‘Simultaneous registration of multiple corresponding pointsets’, Computer Vision and Image Understanding, Vol. 81, No. 1, pp.117–142.