Conference PaperPDF Available

Abstract and Figures

This paper presents an approach for initial alignment or coarse registration of a partial 3D point cloud of objects. The method is based on computing the centroid of the points in the point cloud, and a line derived from the surface normals. This approach uses conformal geometric algebra and non-linear least squares optimization to achieve the results. The method performs well in experiments, and it is shown that it performs more accurately the more points are sampled.
Content may be subject to copyright.
Initial Alignment of Point Clouds using Motors
Adam Leon Kleppe
Department of Mechanical and
Industrial Engineering, Norwegian
University of Science and Technology
N-7491
Trondheim, Norway
adam.l.kleppe@ntnu.no
Lars Tingelstad
Department of Mechanical and
Industrial Engineering, Norwegian
University of Science and Technology
N-7491
Trondheim, Norway
alrs.tingelstad@ntnu.no
Olav Egeland
Department of Mechanical and
Industrial Engineering, Norwegian
University of Science and Technology
N-7491
Trondheim, Norway
olav.egeland@ntnu.no
ABSTRACT
is paper presents an approach for initial alignment or course
registration of a 3D point cloud. e method is based on computing
the centroid of the points in the point cloud, and a line derived
from the surface normals. is approach uses conformal geometric
algebra and non-linear least squares optimization to achieve the
results. e method performs well in experiments, and it is shown
that it performs more accurately the more points are sampled.
CCS CONCEPTS
Mathematics of computing
Nonlinear equations;
Computing
methodologies Optimization algorithms;
KEYWORDS
computer vision, conformal geometric algebra, initial alignment,
screw theory
ACM Reference format:
Adam Leon Kleppe, Lars Tingelstad, and Olav Egeland. 1997. Initial Align-
ment of Point Clouds using Motors. In Proceedings of Computer Graphics
International 2017, Yokohama, Japan, Juny 2017 (CGI’17 ENGAGE), 5 pages.
DOI: 10.475/123 4
1 INTRODUCTION
e 3D-3D registration problem [
13
] is a well-known problem in
computer vision, and it is still a challenging problem. e problem
is formulated as such: Assume that there are two sets of points, or
point clouds
A={ai},aiR3,1
,i=1, . . . , m(1)
B={bj},bjR3,1
,j=1, . . . , n(2)
Find the rotation
RSO (
3
)
and the translation
tR3
that gives
the most optimal alignment between the two sets.
min X
i
kbjRaitk2(3)
where bjis the optimal corresponding point to ai.
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for prot or commercial advantage and that copies bear this notice and the full citation
on the rst page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permied. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specic permission and/or a
fee. Request permissions from permissions@acm.org.
CGI’17 ENGAGE, Yokohama, Japan
©2016 ACM. 123-4567-24-567/08/06. . . $15.00
DOI: 10.475/123 4
is problem can be divided into two sub-problems. e rst is
to nd the pose that aligns the two point clouds, and the second is
to nd point-wise correspondences between the sets, or in other
words, which point in
A
corresponds to the points in
B
, or even if
there is a correspondence.
A large number of methods have been proposed to solve the
registration problem [
14
,
19
]. e most popular approach is ICP [
2
,
5
,
15
]. ese methods can be classied as either course or ne
registration methods, and usually both have to be applied in order
to get globally optimal solution to the registration problem. Here
the course registration aims to nd a rough initial alignment which
improves the initial conditions for the ne registration.
Most of the ne registration methods, including ICP, are so called
Expectation-Maximization algorithms[
13
], because they alternate
between solving the two sub-problems until both reaches a local
minima. A known restriction with EM-algorithms is that they only
nd local optimal solutions. is means that in order for them to
converge to the global optimum, the algorithm either has to be
expanded to include global optimization techniques, such as Go-
ICP [
23
] or Sparse ICP [
3
], or it has to have good initial conditions,
i.e. the point clouds have to have a good initial alignment relative
to each other, in order to converge to the correct solution. is is
achieved with course registration methods, such as [7, 16–18].
e course registration methods usually only solves one of the
sub-problems: Finding the pose that aligns the two point clouds.
is means that the methods does not take the point correspon-
dences into account. e most common approach is to create a
set of features or signatures in each point cloud, and search for
correspondences between the features. Examples of this are Point
Signatures [
6
], Spin Images [
12
], Point Feature Histograms [
16
,
17
],
and Principal Component Analysis [7].
Both Point Signatures, Spin Images and Point Feature Histograms
use techniques that originated from 2D computer vision. ey use
some measurement using relative distances and angles to generate
features. ese measurements are calculated from the points and
surface normals of the point cloud. e methods uses dierent
schemes to categorize the features, be it sets, tables or histograms
to group them into cells. e main drawback with these methods
is that the accuracy of the them depend on the resolution of these
cells.
In this paper we propose a new method for initial alignment of
two point clouds, i.e. course registration. e method constructs
a feature using the centroid and a line computed from the surface
normals of a point cloud. is feature is calculated using Conformal
Geometric Algebra. e motor which aligns the features of two
point clouds is found using Non-Linear Least Square Optimization,
CGI’17 ENGAGE, Juny 2017, Yokohama, Japan Adam Leon Kleppe, Lars Tingelstad, and Olav Egeland
and results in an initial alignment pose between the two point
clouds. e benet of optimization techniques to nd the pose
is that the accuracy does not depend on a given resolution. is
method also has the benet of requiring less computation than the
methods mentioned above.
is paper is is organised as follows: Section 2 is the preliminar-
ies, which introduces the parts of Conformal Geometric Algebra
used in the paper. Section 3 describes the proposed method. Sec-
tion 4 show the conducted experiment and the results, and lastly
the conclusion is found in Section 5.
2 PRELIMINARIES
2.1 Conformal Geometric Algebra
e geometric algebra of the Euclidean space
R3
is denoted
R3
,
while the conformal model of geometric algebra is denoted
R4,1
resulting in the null basis
{n0,e1,e2,e3,n}
[
9
,
10
]. e basis vector
n
represents the point at innity, while
n0
represents an arbitrary
origin. ese basis vectors have the properties
n2
=n2
0=
0 and
n·n0=
1. e notation
Rk
3
refers to the
k
-grade elements of
R3
. e highest grade element of
R3
, is the Euclidean pseudoscalar,
which is denoted
I3
. e conformal pseudoscalar is denoted
I
. e
conformal dual of a multivector Xis denoted X=XI1.
Euclidean vectors pR3maps to points PR4,1using
P=p+1
2p2n+n0(4)
A line
`R3
4,1
is constructed as the outer product of two conformal
points and the point at innity:
`=PAPBe.(5)
is can be expressed as
`=(p+n0)ˆ
nn(6)
where
p
is the Euclidean point and
ˆ
n
is the Euclidean directional
vector of the line. is is called the direct representation in [
9
], and
the OPNS representation in [10].
e dual representation of a line in conformal space is
`=A+bn(7)
where
A=ˆ
n
is the directional bivector, and
b
is the momentum
of the line. It is noted that Ab=0.
A ag [
20
] can be wrien as the set of a line and a conformal
point
f={`,P}(8)
A ag is not a geometric object, but rather two geometric objects
in a set.
3 METHOD
is method uses two point clouds, which represents the surface of
a given object, and nds the motor
M
which is an optimal alignment
between the two point clouds. is is achieved by nding the motor
which minimizes the error between the centroids of each point
cloud, which results in an optimal translation, and at the same time
minimizes the deviation of the average line.
Assume that two point clouds
X
and
Y
are given by a set of
points and their respective surface normals.
Figure 1: 2D Representation of the points in a point cloud
and their respective surface normal
X={xi,ˆ
nxi},xi,ˆ
nxiR3,1
,|| ˆ
nxi||2=1,i=1, . . . , m(9)
Y={yj,ˆ
nyj},yj,ˆ
nyjR3,1
,|| ˆ
nyj||2=1,j=1, . . . , n(10)
Note that the number of points in
X
and
Y
are not the same, and
that
xi
and
yj
do not necessarily correspond if
i=j
. It is assumed
that the surface normals are either calculated from the CAD model,
or by estimating it using the points in the point cloud data.
3.1 Centroid
e conformal centroid of each point cloud is found by
¯
PX=C*
,
1
m
m
X
i=1
xi+
-(11)
¯
PY=C*
.
,
1
n
n
X
j=1
yj
+
/
-(12)
3.2 Average of lines
e average of a set of lines is constructed as a screw which is the
sum of all lines, where each line is generated from a point and its
surface normal.
LX
and
LY
are the sets containing all lines generated from the
point cloud.
LX={`xi=(xi+n0)ˆ
nxin}(13)
LY={`yj=(yj+n0)ˆ
nyin}(14)
(15)
e sum of these lines become a screw, where the screw axis is
computed as the average of the lines. e point cloud, generated
lines, average line and centroid can be viewed in Figure 2. It can be
seen here that the screw axis does not necessarily pass through the
centroid.
e screws of the two point clouds, Xand Y, are dened as
SX=1
n
n
X
i=1
`
xi(16)
SY=1
m
m
X
j=1
`
yj(17)
Initial Alignment of Point Clouds using Motors CGI’17 ENGAGE, Juny 2017, Yokohama, Japan
Figure 2: Lines generated from each point in the point cloud.
e red line represents the average line, while the red point
is the centroid
It can be seen that these screws are the average of all lines since
S=1
n
n
X
i=1
`
i(18)
=1
n
n
X
i=1
Ai+bin(19)
=1
n
n
X
i=1
Ai+
n
X
i=1
bin(20)
=¯
A+¯
bn(21)
where
¯
A
is the average directional bivector, and
¯
b
is the average
momentum. is can be wrien as
S=¯
A+(¯
bk+¯
b)n(22)
where ¯
A¯
bk=0.
is can be rewrien using the average line
¯
`
, which is the
average of the combined lines.
S=¯
A+(¯
bk+¯
b)n(23)
=¯
A+¯
bkn+¯
bn(24)
=¯
`+¯
bn(25)
3.3 Restrictions
ere are in total 7 degrees of freedom in a motion, 3 to translation,
3 to rotation and 1 to scale [
11
]. is method uses only one line
and one point is known in both point clouds and therefore in both
coordinate systems. is forces seven constraints upon the system,
4 from the line and 3 from the point. is means the method is able
to perform any rigid-body motion.
Since each line is generated by a point
p
and its corresponding
surface normal
ˆ
n
, these lines can be described as a force
F=ˆ
n
at
p
, where
|F|=
1. To sum all these forces is the same as evaluating
the force applied over the whole surface area, which by denition
is the same as pressure.
is forces a restriction upon the method: is method cannot be
used on the whole surface of an object. is is because the pressure
over an enclosed surface area is zero. is means that if the whole
surface is sampled by points and these points generate lines, then
the sum of these lines will be zero.
As mentioned, this method is used on point clouds generated
from the viewable surfaces of an object. In practice, this means
that this restriction will never occur, since the whole surface of an
object cannot be viewed at the same time.
3.4 Motor Estimation
Each point cloud,
X
and
Y
, have one centroid,
¯
PX
and
¯
PY
, and one
screw axis, ¯
`Xand ¯
`Y.
From these, their respective ags are dened as
fX={¯
`X,¯
PX}(26)
fY={¯
`Y,¯
PY}(27)
is means that
fXMfY˜
M(28)
¯
`XM¯
`Y˜
M+¯
PXM¯
PY˜
M=0 (29)
where
M
is the optimal motor between the two point clouds. is
is only valid if the two point clouds Xand Y, are identical.
When comparing two point clouds which are not identical, either
because of added noise or dierent points are used, an optimization
scheme could be used. e motor which is the optimal transform
between the two ags, will have one unique solution, since two
lines and two points are used in the minimization function [4, 8].
3.5 Error Functions
e optimization of the motor between the two centroids in the
ag only require an error measurement in the form of distance. e
distance measure between the two centroids is easily found with
ϵP=d2=¯
PX·M¯
PY˜
M(30)
where ϵPis the error function for the two centroids.
For the average lines in the ag, both the distance and the angle
has to be optimized [
1
]. ese parameters can be extracted from
the motor Mwhich transforms one to the other.
M=
¯
`X
¯
`Y
(31)
where
M=cos θsin θAnsin θbnndcos θann+dsin θe1e2e3n
(32)
where
An=a
n
and
bn
are components of the common normal line
`n.
According to [
22
], a good error function for angles is
sin θ
2
. is
is because the error function is at most
sin π
2=
1, which means
that outliers do not have a large error, but is bound by 1. is can
be calculated using
1
2(1cos θ)=sin2θ
2(33)
CGI’17 ENGAGE, Juny 2017, Yokohama, Japan Adam Leon Kleppe, Lars Tingelstad, and Olav Egeland
e distance between the two lines can be calculated by decom-
posing the motor in a dierent manner:
M=T R (34)
where
T=11
2tn(35)
R=n0·(Mn)(36)
where Tis the translation and Ris the rotation.
e distance between the lines can then be calculated using
δ=kδk(37)
δ=tB
B(38)
(39)
where
t=2n0·M
R(40)
B=hRi2
khRi2k(41)
where hRi2is the 2-blade component of R.
With these parameters, the error function
ϵ¯
`
can be formulated
as
ϵ¯
`=δ2+sin2θ
2=δ2+1
2(1cos θ)(42)
3.6 Non-linear Least Square Optimization
e non-linear least square optimization solver was used to estimate
the motor. e optimization problem is
min 1
2 δ2+sin2θ
2+d2!2
(43)
such that
M˜
M=1 (44)
which is solved using the GAME framework [21].
4 EXPERIMENTS
Several point clouds were generated from a set of CAD models.
Since the method only works when having partial surfaces, the
point clouds were generated using viewpoint sampling.
Viewpoint sampling was done by placing a virtual camera facing
the 3D model. e points are generated based on the surfaces that
are visible by the virtual camera. In order to get the whole view
of the CAD model, several samples were generated from dierent
viewpoints. e position of the viewpoints were calculated using a
tessellated sphere which surrounded the 3D model. Each vertex of
the tessellated sphere was set as a viewpoint.
Two models each generated 3 point clouds per viewpoint, one
with 100 points, one with 1000 points and one with 10000 points.
ere were a total of 42 viewpoints per object, resulting in a total
of 252 point clouds. A sample of these point clouds is shown in
Figure 3. Each point cloud was given an arbitrary transformation
and noise was applied to the point cloud. e initial alignment
method together with the GAME framework was used to calculate
the transformation between the two point clouds. e error was
calculated by applying the Root Mean Square between the points
in each point cloud, and is measured in meters.
Figure 3: Seven viewpoint samples generated from one of
the objects.
ϵ=r1
nPX1·MPY2˜
M+PX2·MPY2˜
M. . . PXn·M PYn˜
M(45)
e result of these tests are shown in Table 1. It can be seen
from the table that the error decreased as the number of samples
increased. is is expected since the more samples are used, the
more the average will cancel out the added noise. e average error
was
6.8325 ×104m
for a 100 samples,
3.323 ×104m
for a 1000
samples and 3.7214 ×105m for a 10000 samples.
5 CONCLUSION
is paper shows a method for initial alignment for point clouds.
e method nds the optimal motor between the centroid and
average of lines of two point clouds, which is the initial align-
ment. e average error was
6.8325 ×104m
for a 100 samples,
3.323 ×104m
for a 1000 samples and
3.7214 ×105m
for a 10000
samples.
REFERENCES
[1]
Eduardo Bayro-Corrochano, Kostas Daniilidis, and Gerald Sommer. 2000. Motor
algebra for 3D kinematics: the case of the hand-eye calibration. Journal of
Mathematical Imaging and Vision 13, 2 (2000), 79–100.
DOI:
hps://doi.org/10.
1023/A:1026567812984
[2]
Paul Besl and Neil McKay. 1992. A Method for Registration of 3-D Shapes. (1992),
239–256 pages. DOI:hps://doi.org/10.1109/34.121791
[3]
Soen Bouaziz, Andrea Tagliasacchi, and Mark Pauly. 2013. Sparse iterative
closest point. Computer Graphics Forum 32, 5 (2013), 113–123.
DOI:
hps://doi.
org/10.1111/cgf.12178
[4]
H.H. Chen. 1991. A screw motion approach to uniqueness analysis of head-eye
geometry. Proceedings. 1991 IEEE Computer Society Conference on Computer Vision
and Paern Recognition (1991), 145–151.
DOI:
hps://doi.org/10.1109/CVPR.1991.
139677 arXiv:cs/9605103
[5]
Y. Chen and G. Medioni. 1991. Object modeling by registration of multiple
range images. Proceedings. 1991 IEEE International Conference on Robotics and
Automation April (1991), 2724–2729.
DOI:
hps://doi.org/10.1109/ROBOT.1991.
132043
[6]
Chin Seng Chua and Ray Jarvis. 1997. Point Signatures: A New Representation
for 3D Object Recognition. International Journal of Computer Vision 25, 1 (1997),
63–85. DOI:hps://doi.org/10.1023/A:1007981719186
Initial Alignment of Point Clouds using Motors CGI’17 ENGAGE, Juny 2017, Yokohama, Japan
100 Samples 1000 Samples 10000 Samples
Point Cloud # Iteration Error [m] # Iteration Error [m] # Iteration Error [m]
1 6 1.840 ×1036 9.4128 ×10317 6.6647 ×107
6 7 4.8510 ×10416 1.3453 ×10612 3.5899 ×107
7 7 3.1998 ×10414 2.5855 ×10612 2.5160 ×106
14 7 1.8475 ×1047 5.7251 ×10312 1.0650 ×108
22 7 1.1063 ×1036 1.2058 ×10211 3.9998 ×108
31 6 1.7973 ×1037 5.5537 ×1037 1.0105 ×102
45 7 1.0676 ×10313 4.3508 ×10911 8.0189 ×108
65 7 1.1544 ×10413 2.5538 ×10913 8.5678 ×109
73 12 8.7525 ×10911 7.6853 ×10910 4.7666 ×109
78 11 1.0848 ×10811 3.4762 ×10812 6.9853 ×109
Average 6.8325 ×1043.323 ×1043.7214 ×105
Table 1: Sample of the result of the initial alignment method. e number of iterations before the method terminated and the
resulting error from the true transform is shown. e average of all results is also shown.
[7]
Do Hyun Chung, Il Dong Yun, and Sang Uk Lee. 1997. Registration of Multiple
Range Views using the Reverse Calibration Technique. (1997), 0–19.
[8]
Kostas Daniilidis. 1999. Hand-Eye Calibration Using Dual aternions. e
International Journal of Robotics Research 18, 3 (1999), 286–298.
DOI:
hps://doi.
org/10.1177/02783649922066213
[9]
Leo Dorst, Daniel Fontijne, and Stephen Mann. 2009. Geometric Algebra for
Computer Science: An Object-Oriented Approach to Geometry. Morgan Kaufmann
Publishers Inc. San Francisco, CA, USA. 664 pages. hp://www.geometricalgebra.
net/
[10]
Dietmar Hildenbrand. 2013. Foundations of Geometric Algebra Computing. Ge-
ometry and Computing, Vol. 8. Springer Berlin Heidelberg, Berlin, Heidelberg.
DOI:hps://doi.org/10.1007/978-3- 642-31794- 1
[11]
Berthold K P Horn. 1987. Closed-form solution of absolute orientation using
unit quaternions. Journal of the Optical Society of America A 4, 4 (1987), 629.
DOI:hps://doi.org/10.1364/JOSAA.4.000629
[12]
Andrew E. Johnson and Martial Hebert. 1999. Using spin images for ecient
object recognition in cluered 3D scenes. IEEE Transactions on Paern Analysis
and Machine Intelligence 21, 5 (1999), 433–449.
DOI:
hps://doi.org/10.1109/34.
765655
[13]
Hongdong Li and Richard Hartley.2007. e 3D-3D registration problem revisited.
Proceedings of the IEEE International Conference on Computer Vision (2007).
DOI:
hps://doi.org/10.1109/ICCV.2007.4409077
[14]
Helmut Pomann, Stefan Leopoldseder, and Michael Hofer. 2004. Registration
without ICP. Computer Vision and Image Understanding 95, 1 (2004), 54–71.
DOI:
hps://doi.org/10.1016/j.cviu.2004.04.002
[15]
S. Rusinkiewicz and M. Levoy. 2001. Ecient variants of the ICP algorithm.
Proceedings of International Conference on 3-D Digital Imaging and Modeling,
3DIM 2001-Janua (2001), 145–152.
DOI:
hps://doi.org/10.1109/IM.2001.924423
[16]
Radu Bogdan Rusu, Nico Blodow, and Michael Beetz. 2009. Fast Point Feature
Histograms (FPFH) for 3D registration. IEEE International Conference on Robotics
and Automation (2009), 3212–3217.
DOI:
hps://doi.org/10.1109/ROBOT.2009.
5152473
[17]
Radu Bogdan Rusu, Gary Bradski, Romain ibaux, and John Hsu. 2010. Fast
3D Recognition and Pose Using the Viewpoint Feature Histogram. (2010), 2155–
2162.
[18]
B Sabata and J. K. Aggarwal. 1996. Surface Correspondence and Motion Compu-
tation from a Pair of Range Images. Computer Vision and Image Understanding
63, 2 (1996), 232–250. DOI:hps://doi.org/10.1006/cviu.1996.0017
[19]
Joaquim Salvi, Carles Matabosch, David Fo, and Josep Forest. 2007. A review of
recent range image registration methods with accuracy evaluation. Image and
Vision Computing 25, 5 (2007), 578–596.
DOI:
hps://doi.org/10.1016/j.imavis.
2006.05.012
[20]
J. M. Selig. 2005. Geometric Fundamentals of Robotics. 398 pages.
DOI:
hps:
//doi.org/10.1007/b138859 arXiv:arXiv:1011.1669v3
[21]
Lars Tingelstad and Olav Egeland. 2016. Motor Estimation using Heterogeneous
Sets of Objects in Conformal Geometric Algebra. Advances in Applied Cliord
Algebras (2016), 1–15. DOI:hps://doi.org/10.1007/s00006- 016-0692- 8
[22]
Robert Valkenburg and Leo Dorst. 2011. Estimating Motors from a Variety
of Geometric Data in 3D Conformal Geometric Algebra. Guide to Geometric
Algebra in Practice XVII, December (2011), 25–45.
DOI:
hps://doi.org/10.1007/
978-0- 85729-811- 9 arXiv:arXiv:1011.1669v3
[23]
Jiaolong Yang, Hongdong Li, and Yunde Jia. 2013. Go-ICP: Solving 3D registration
eciently and globally optimally. Proceedings of the IEEE International Conference
on Computer Vision (2013), 1457–1464.
DOI:
hps://doi.org/10.1109/ICCV.2013.
184
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
In this paper we present a novel method for nonlinear rigid body motion estimation from noisy data using heterogeneous sets of objects of the conformal model in geometric algebra. The rigid body motions are represented by motors. We employ state-of-the-art nonlinear optimization tools and compute gradients and Jacobian matrices using forward-mode automatic differentiation based on dual numbers. The use of automatic differentiation enables us to employ a wide range of cost functions in the estimation process. This includes cost functions for motor estimation using points, lines and planes. Moreover, we explain how these cost functions make it possible to use other geometric objects in the conformal model in the motor estimation process, e.g., spheres, circles and tangent vectors. Experimental results show that we are able to successfully estimate rigid body motions from synthetic datasets of heterogeneous sets of conformal objects including a combination of points, lines and planes.
Article
Full-text available
Finding the relationship between two coordinate systems using pairs of measurements of the coordinates of a number of points in both systems is a classic photogrammetric task. It finds applications in stereophotogrammetry and in robotics. I present here a closed-form solution to the least-squares problem for three or more points. Currently various empirical, graphical, and numerical iterative methods are in use. Derivation of the solution is simplified by use of unit quaternions to represent rotation. I emphasize a symmetry property that a solution to this problem ought to possess. The best translational offset is the difference between the centroid of the coordinates in one system and the rotated and scaled centroid of the coordinates in the other system. The best scale is equal to the ratio of the root-mean-square deviations of the coordinates in the two systems from their respective centroids. These exact results are to be preferred to approximate methods based on measurements of a few selected points. The unit quaternion representing the best rotation is the eigenvector associated with the most positive eigenvalue of a symmetric 4X4 matrix. The elements of this matrix are combinations of sums of products of corresponding coordinates of the points.
Chapter
Full-text available
The motion rotors, or motors, are used to model Euclidean motion in 3D conformal geometric algebra. In this chapter we present a technique for estimating the motor which best transforms one set of noisy geometric objects onto another. The technique reduces to an eigenrotator problem and has some advantages over matrix formulations. It allows motors to be estimated from a variety of geometric data such as points, spheres, circles, lines, planes, directions, and tangents; and the different types of geometric data are combined naturally in a single framework. Also, it excludes the possibility of a reflection unlike some matrix formulations. It returns the motor with the smallest translation and rotation angle when the optimal motor is not unique.
Article
Rigid registration of two geometric data sets is essential in many applications, including robot navigation, surface reconstruction, and shape matching. Most commonly, variants of the Iterative Closest Point (ICP) algorithm are employed for this task. These methods alternate between closest point computations to establish correspondences between two data sets, and solving for the optimal transformation that brings these correspondences into alignment. A major difficulty for this approach is the sensitivity to outliers and missing data often observed in 3D scans. Most practical implementations of the ICP algorithm address this issue with a number of heuristics to prune or reweight correspondences. However, these heuristics can be unreliable and difficult to tune, which often requires substantial manual assistance. We propose a new formulation of the ICP algorithm that avoids these difficulties by formulating the registration optimization using sparsity inducing norms. Our new algorithm retains the simple structure of the ICP algorithm, while achieving superior registration results when dealing with outliers and incomplete data. The complete source code of our implementation is provided at http://lgg.epfl.ch/sparseicp.
Conference Paper
Registration is a fundamental task in computer vision. The Iterative Closest Point (ICP) algorithm is one of the widely-used methods for solving the registration problem. Based on local iteration, ICP is however well-known to suffer from local minima. Its performance critically relies on the quality of initialization, and only local optimality is guaranteed. This paper provides the very first globally optimal solution to Euclidean registration of two 3D point sets or two 3D surfaces under the L2 error. Our method is built upon ICP, but combines it with a branch-and-bound (BnB) scheme which searches the 3D motion space SE(3) efficiently. By exploiting the special structure of the underlying geometry, we derive novel upper and lower bounds for the ICP error function. The integration of local ICP and global BnB enables the new method to run efficiently in practice, and its optimality is exactly guaranteed. We also discuss extensions, addressing the issue of outlier robustness.