Content uploaded by Olav Egeland
Author content
All content in this area was uploaded by Olav Egeland on Oct 12, 2017
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},ai∈R3,1
,i=1, . . . , m(1)
B={bj},bj∈R3,1
,j=1, . . . , n(2)
Find the rotation
R∈SO (
3
)
and the translation
t∈R3
that gives
the most optimal alignment between the two sets.
min X
i
kbj∗−Rai−tk2(3)
where bj∗is 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 prot 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 permied. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specic 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 classied 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 dierent
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 benet of optimization techniques to nd the pose
is that the accuracy does not depend on a given resolution. is
method also has the benet 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 innity, 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∗=XI−1.
Euclidean vectors p∈R3maps to points P∈R4,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 innity:
`=PA∧PB∧e∞.(5)
is can be expressed as
`=(p+n0)∧ˆ
n∧n∞(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 A∧b=0.
A ag [
20
] can be wrien 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,ˆ
nxi∈R3,1
,|| ˆ
nxi||2=1,i=1, . . . , m(9)
Y={yj,ˆ
nyj},yj,ˆ
nyj∈R3,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)∧ˆ
nxi∧n∞}(13)
LY={`yj=(yj+n0)∧ˆ
nyi∧n∞}(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 dened 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 wrien as
S=¯
A+(¯
bk+¯
b⊥)n∞(22)
where ¯
A∧¯
bk=0.
is can be rewrien using the average line
¯
`
, which is the
average of the combined lines.
S=¯
A+(¯
bk+¯
b⊥)n∞(23)
=¯
A+¯
bkn∞+¯
b⊥n∞(24)
=¯
`∗+¯
b⊥n∞(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 denition
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 dened as
fX={¯
`X,¯
PX}(26)
fY={¯
`Y,¯
PY}(27)
is means that
fX−M†fY˜
M†(28)
→¯
`X−M†¯
`Y˜
M†+¯
PX−M†¯
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 dierent 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 θAn−sin θbnn∞−dcos θ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(1−cos θ)=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 dierent manner:
M=T R (34)
where
T=1−1
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)
δ=t∧B
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(1−cos θ)(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 dierent
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 ×10−4m
for a 100 samples,
3.323 ×10−4m
for a 1000
samples and 3.7214 ×10−5m 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 ×10−4m
for a 100 samples,
3.323 ×10−4m
for a 1000 samples and
3.7214 ×10−5m
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:
hps://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:hps://doi.org/10.1109/34.121791
[3]
Soen Bouaziz, Andrea Tagliasacchi, and Mark Pauly. 2013. Sparse iterative
closest point. Computer Graphics Forum 32, 5 (2013), 113–123.
DOI:
hps://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 Paern Recognition (1991), 145–151.
DOI:
hps://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:
hps://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:hps://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 ×10−36 9.4128 ×10−317 6.6647 ×10−7
6 7 4.8510 ×10−416 1.3453 ×10−612 3.5899 ×10−7
7 7 3.1998 ×10−414 2.5855 ×10−612 2.5160 ×10−6
14 7 1.8475 ×10−47 5.7251 ×10−312 1.0650 ×10−8
22 7 1.1063 ×10−36 1.2058 ×10−211 3.9998 ×10−8
31 6 1.7973 ×10−37 5.5537 ×10−37 1.0105 ×10−2
45 7 1.0676 ×10−313 4.3508 ×10−911 8.0189 ×10−8
65 7 1.1544 ×10−413 2.5538 ×10−913 8.5678 ×10−9
73 12 8.7525 ×10−911 7.6853 ×10−910 4.7666 ×10−9
78 11 1.0848 ×10−811 3.4762 ×10−812 6.9853 ×10−9
Average 6.8325 ×10−43.323 ×10−43.7214 ×10−5
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:
hps://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. hp://www.geometricalgebra.
net/
[10]
Dietmar Hildenbrand. 2013. Foundations of Geometric Algebra Computing. Ge-
ometry and Computing, Vol. 8. Springer Berlin Heidelberg, Berlin, Heidelberg.
DOI:hps://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:hps://doi.org/10.1364/JOSAA.4.000629
[12]
Andrew E. Johnson and Martial Hebert. 1999. Using spin images for ecient
object recognition in cluered 3D scenes. IEEE Transactions on Paern Analysis
and Machine Intelligence 21, 5 (1999), 433–449.
DOI:
hps://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:
hps://doi.org/10.1109/ICCV.2007.4409077
[14]
Helmut Pomann, Stefan Leopoldseder, and Michael Hofer. 2004. Registration
without ICP. Computer Vision and Image Understanding 95, 1 (2004), 54–71.
DOI:
hps://doi.org/10.1016/j.cviu.2004.04.002
[15]
S. Rusinkiewicz and M. Levoy. 2001. Ecient variants of the ICP algorithm.
Proceedings of International Conference on 3-D Digital Imaging and Modeling,
3DIM 2001-Janua (2001), 145–152.
DOI:
hps://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:
hps://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:hps://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:
hps://doi.org/10.1016/j.imavis.
2006.05.012
[20]
J. M. Selig. 2005. Geometric Fundamentals of Robotics. 398 pages.
DOI:
hps:
//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 Cliord
Algebras (2016), 1–15. DOI:hps://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:
hps://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
eciently and globally optimally. Proceedings of the IEEE International Conference
on Computer Vision (2013), 1457–1464.
DOI:
hps://doi.org/10.1109/ICCV.2013.
184