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
Department of Mechanical and
Industrial Engineering, Norwegian
University of Science and Technology
N-7491
Trondheim, Norway
Department of Mechanical and
Industrial Engineering, Norwegian
University of Science and Technology
N-7491
Trondheim, Norway
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:
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 .
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
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 .
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 .
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

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

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

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

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

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

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.

Do Hyun Chung, Il Dong Yun, and Sang Uk Lee. 1997. Registration of Multiple
Range Views using the Reverse Calibration Technique. (1997), 0–19.

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

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/

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

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

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

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

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

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

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

Radu Bogdan Rusu, Gary Bradski, Romain ibaux, and John Hsu. 2010. Fast
3D Recognition and Pose Using the Viewpoint Feature Histogram. (2010), 2155–
2162.

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

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

J. M. Selig. 2005. Geometric Fundamentals of Robotics. 398 pages.
DOI:
hps:
//doi.org/10.1007/b138859 arXiv:arXiv:1011.1669v3

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

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

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