Cicp Ras Tazir 2018 Compressed
Cicp Ras Tazir 2018 Compressed
net/publication/326538689
CITATIONS READS
36 1,516
5 authors, including:
All content following this page was uploaded by Mohamed Lamine Tazir on 28 August 2018.
Mohamed Lamine Tazira,∗, Tawsif Gokhoolb , Paul Checchina , Laurent Malaterrea , Laurent Trassoudainea
a Université Clermont Auvergne, CNRS, SIGMA Clermont, Institut Pascal, F-63000 Clermont-Ferrand, France;
b MIS laboratory, Univesité de Picardie Jules Vernes, 80080, Amiens, France
Abstract
Point cloud registration is an important and fundamental building block of mobile robotics. It forms an integral part
of the processes of mapping, localization, object detection and recognition, loop closure and many other applications.
Throughout the years, registration has been addressed in different ways, based on local features, global descriptor or
object-based. However, all these techniques give meaningful results only if the input data are of the same type and
density (resolution). Recently, with the technological revolution of 3D sensors, accurate ones producing dense clouds
have appeared as well as others faster, more compatible with real-time applications, producing sparse clouds. Accuracy
and speed are two sought-after concepts in every robotic application including those cited above, which involves the
simultaneous use of both types of sensors, resulting in sparse-dense (or dense-sparse) point cloud registration. The
difficulty of sparse to dense registration lies in the fact that there is no direct correspondence between each point in
the two clouds, but rather a point equivalent to a set of points. In this paper, a novel approach that surpasses the
notion of density is proposed. Its main idea consists in matching points representing each local surface of source cloud
with the points representing the corresponding local surfaces in the target cloud. Experiments and comparisons with
state-of-the-art methods show that our approach gives better performance. It handles registration of point clouds of
different densities acquired by the same sensor with varied resolution or taken from different sensors.
Keywords: sparse to dense (dense to sparse) registration, density change, cluster, points selection, matching, ICP.
Compress point cloud in a set of distinct elements not concerned x [33] X [49] [52] [60] X
Not environment specific X [46] x [43] x [50] [51] X
Not affected by imperfect segmentation not concerned not concerned x [52] [61] X
Does not require a very dense cloud X [6] x [62] X [21] X
3. Our Contributions volumes, the two clouds are divided into voxels (subdivi-
sions) of the same size. At this stage, the main clouds
In this paper, a novel approach for sparse to dense (or integral characteristics are the set of voxels V and the set
dense to sparse) registration is introduced, exploiting nor- of points P . The relation between these two sets deter-
mals differently. The desired contributions are as follows: mines whether the cloud is sparse or dense.
Below, we give some basic definitions, and we introduce
1. A new selection strategy is proposed by keeping only
points which are most likely to be associated in the the “voxelic density” definition in theoretical and practical
matching phase, thereby improving on convergence cases:
and accuracy simultaneously. Definition 1 (Voxel in R3 ). A voxel v with center ω =
2. The proposed method is totally independent of the (x0 , y0 , z0 ) and rayon r, is a set of points P (x, y, z) if:
density (amount of points, scanning resolution) of v = {(x, y, z) : max {|x − x0 |, |y − y0 |, |z − z0 |} <= r}
the two clouds, scanning patterns (nature of sen-
sors). It takes as input point clouds of different res- Definition 2 ( Set of all voxels in P ). Let v a voxel of
olution, gathered by different sensors, or with the VP , we say that VP is a set of all voxels in P if:
same sensor. VP = {∀v ∈ Vp , v ⊂ P }
3. A novel mathematical definition of sparse and dense
concept is proposed to accomplish these objectives. Theoretically, a dense cloud is:
All the considerations outlined in this section will be Definition 3 (Voxelic density). P is dense ↔
demonstrated in the results section and these claims are ∀v ∈ Vp , ∃p ∈ P : p ∈ v
further consolidated in the Discussion section (cf. Sec- According to this last definition, a point cloud is called
tion 7). dense, if and only if, there is always at least one point
belonging to a voxel, whatever the voxel size.
4. General Formulation Unfortunately, for practical reasons, this definition is
not always verified. Because of this, we propose defini-
4.1. Mathematical Definition tions 4 and 5:
Dense and sparse are terms used to describe the state
Definition 4 (Sparse Cloud). A sparse cloud is a cloud
of points within a cloud. This includes their quantity, dis-
C = (V, P ) in which:
tribution and resolution. The distinction between these
|P | = O(|V |).
two terms is rather vague, and depends on the context.
Suppose we have two clouds of the same environment, Definition 5 (Dense Cloud). A dense cloud is a cloud
with the same dimensions and taken from the same view- C = (V, P ) in which:
point, they will probably have been taken by different sen- |P | = O(k.|V |), with k > 2.
sors or by the same sensor with varied resolutions. Let us
assume that there is a large degree of variation between O: proportionality operator.
their densities. The dense cloud will exhibit a larger num- Definitions 4 and 5 are proposed to frame the notions
ber of points with a smaller distance separating them, as of sparsity and density of point clouds. The voxel size is
opposite to the sparser cloud. The concept of density in set according to the number of points in the sparse cloud,
3D is always linked to a given volume. To get the same so that each voxel contains at least one point. This choice
ensures a significant difference in density between the two
5
clouds. A dense cloud, in our case, contains at least twice but for sparse point clouds, they might cause further
as many points as the sparse cloud. Otherwise, they are degradation to the characteristics and information
considered as equivalent. carried by these points. For this reason, we chose to
use all the points in the two clouds without making
4.2. Iterative Closest Point: The Algorithm any modification on points of both clouds.
Our proposed algorithm, named CICP in short for clus- 2. Matching: this step represents the key operation
ter iterative closest point, adopts the general scheme of the in the ICP algorithm. It consists in coupling corre-
ICP algorithm. For this reason, we will discuss here the sponding points from both clouds. These correspon-
most important items of that algorithm. As it is well- dences are obtained by seeking, for each point of the
known, the ICP algorithm is an iterative registration me- source cloud, the nearest point in the target cloud.
thod, which consists in putting the points of the source The definition of the “nearest point” determines the
cloud into the frame of the target cloud in order to gen- matching technique used [68]. Several techniques of
erate a unique and consistent point cloud. To do this, a nearest-neighbor-search (NNS) are used to optimize
translation and a rotation, which make the points of the the time of this step, as it used to be the most de-
source cloud move to correspond with the points of the manding step in terms of computation time [68]. The
target cloud must be found by the algorithm. Moreover, authors of [69] and [68] assert that “k-d trees” is the
this algorithm must identify the points of the two clouds best technique to find the nearest neighbor. For this
that correspond to each other. The strategy of the ICP reason, we use it in our implementation.
algorithm consists in taking an optimistic assumption that 3. Weighting: assignment of weights to matched pairs
there are a number of points in common between the two of points. It aims to strengthen the contribution of
clouds taken from two different points of view. In this way, correspondences believed to be correct and mitigate
the algorithm will have a good initial estimate of the rota- the effect of false matches [13].
tion R and the translation t. Applying this assumption, 4. Rejection: reject the pairs of points that do not
the correspondence of a point will be the closest point to contribute positively to the convergence of the algo-
it. In this way, the algorithm will find the closest points of rithm, such as outliers, occluded points (points that
all source points corresponding to the points of the target are not visible in one of the acquisitions) or unpaired
cloud. Once it has these correspondences, it can improve points (points of one cloud that do not find corre-
the estimate of R and t, by solving this optimization: spondents in the second cloud).
N
5. Error metrics: it defines the objective function
X which is minimized at each iteration of the algo-
R, t = argminRj ,tj kd(pi , qi )k2 (1)
rithm. Three metrics are commonly used: point-to-
i=1
point [15], point-to-plane [14] and plane-to-plane [47].
where p and q denote the pairs of corresponding points in 6. Minimization: minimize the error metric to bring
the two clouds and d represents the distance separating the points of the source cloud and align them with
the points of each pair. the points of the target cloud.
After each iteration, better matches are found produc-
ing progressively better registration. This is repeated until The algorithm terminates when a maximum number
the algorithm converges. It converges when the distance d of iterations is reached or a variation relative to the error
is less than a certain threshold. Once this convergence is metric is reached. In many cases, the algorithm converges
reached, the final rotation and the translation between the quickly but not necessarily towards the optimal solution.
two sets of points are obtained. Rusinkiewicz [63] identify Several problems may arise, namely:
six distinct stages in this algorithm: • noises and outliers that can cause biased results,
1. Selection: selection of a set of points from one or
• partial overlap.
both clouds of input points. This first stage seeks
to reduce the number of points of the input clouds
by applying one or more filters [64]. The way in 5. Proposed Method
which these points are selected has a direct impact
on the convergence of the algorithm, and especially This work proposes a novel approach that deals with
on the computation time necessary for convergence, dense-sparse registration. We adopt the Rusinkiewicz de-
in particular, when handling very dense datasets. In composition and propose a new selection strategy, which
this stage, we can find strategies like uniform [65] aims to improve the pairing process and make it reliable for
or random sampling [66], sampling according to the the purpose of this paper. Figure 1 illustrates the workflow
orientation of normals [63], statistical sampling [67] of the proposed method.
and outliers filtering [22]. However, as we deal with CICP starts with the estimation of normals of the two
sparse and dense clouds, classical selection strate- clouds. Then, it takes the target cloud first and subdi-
gies can bring improvements for dense point clouds, vides it into small voxels. The points of each voxel are
6
subjected to a classification process based on their nor- an HDL-32E Velodyne. Figures 2 (c), (d), (e), (f) are
mals, giving rise to different groups of points, according samples of various places in a scene. The 3D points of
to the geometric variation of each voxel. Each group of the source and target clouds are represented in blue and
points represents a local surface since they share the same green respectively, whilst their normals are in white and
normal vector. Next, from the points of each small local red. These figures depict the dissimilarity between nor-
surface, a single point is chosen to represent this surface mals pertaining to the same surface, which theoretically
during the matching process. In our case, we take the clos- should have the same orientations. This change is due to
est point to centroid of each local surface. Regarding the the different disturbances mentioned above. This is the
source point cloud, its points are transformed with their major problem of the methods that use geometric features
normals by the initial guess of the relative transformation. according to [21, 13]. Additionally, according to the au-
Then, this cloud undergoes the same steps as the target thors of [70], the calculation of normals on a large dataset
cloud: voxelization, normals-based classification, designa- is computationally expensive.
tion of points representatives. At the end of these steps, To overcome this problem, we use normals only to dis-
the method comes up with two sets of points from the tinguish the different local surfaces (group each surface
two clouds. Each set contains the most probable points to alone). For the rest of the algorithm, we use x, y and z
match with the points of the second set (this is specifically coordinates of each point without having recourse to their
in the overlapping area of the two clouds, as it reflects the normals. In other words, we use normals only to distin-
same geometry seen from two different viewpoints). guish the different surfaces, but we do not use them in the
alignment process.
5.1. Selection Normals are computed once for each cloud at the be-
The main contribution of this paper is the proposal ginning of the algorithm. Source normals are transformed
of a new selection strategy. As mentioned above, instead at each iteration by the transformation found. We use
of matching point-to-point as the classical ICP variants, Principal Component Analysis (PCA) [36] to determine
points pass through an election process, which gives rise to normals vectors of point cloud, as it is the most perfor-
one representative point for each small region. These rep- mant method used to compute normals according to [68]
resentatives appear as the most likely points to be matched and [71]. PCA-based algorithm is usually used to analyze
between each other. These good matches ultimately result the variation of points in the three directions. Normal vec-
in an accurate motion between the two clouds. This elec- tor corresponds to the direction with minimum variation.
tion process is based on 3D position of points and their We can also imagine the use of the dominant directions of
normals. It consists of three sub-tasks: (1) voxelization, the points as a characteristic of designation of the cluster
(2) clustering and (3) Representative election. The first within each voxel, instead of normals. We have chosen to
task performs a spatial grouping which attempts to pre- use normals, as they are classical and common features.
serve the topological information based on the 3D position From the eigen decomposition of the covariance ma-
of the points. A set of 3D cubic regions (voxels) is gen- trix of considered nearest neighbors, the eigenvector cor-
erated where all points within the voxel have very close responding to the minimum eigenvalue represents the nor-
spatial positions. The second task bundles all points of mal vector. The covariance matrix can be calculated from
each voxel based on their normals. Once this grouping is the following equation:
done, we perform the last task, which selects one point for 1 k T
each cluster (local surface) in the voxel for the matching C= Σ (pi − p̄) (pi − p̄) (2)
k i=1
process. But before that, normals need to be calculated.
where k is the number of considered nearest neighbors;
5.1.1. Normal Estimation pi , i = 1 : k are kNN points and p̄ is the mean of all k
Normal segmentation of geometric range data has been neighbors.
a common practice integrated in the building blocks of Algorithm 1 shows how to calculate the normals with
point cloud registration. Most well-known point to plane the PCA method.
and plane to plane state-of-the-art registration techniques
make use of normal features to ensure a better alignment. 5.1.2. Voxelization
However, the latter is influenced by noise, pattern scan- The voxelization is applied in order to maintain the
ning and difference in densities. Consequently, the result- topological details of the scrutinized surface. As normal
ing normals in both a source point cloud and a target computation depends on the number of neighbouring points
point cloud will not be perfectly adapted, thereby influ- and as the resolution of points of the two clouds is differ-
encing the alignment process, due to weak inter-surface ent, voxelization with the same voxel size aims to generate
correspondences. In order to support these claims, an il- equivalent local regions in the two clouds. A common cri-
lustration of sparse to dense registration is given in Fig- terion of comparison now becomes feasible. Therefore, the
ure 2. A dense point cloud is obtained from a 3D LiDAR voxel size parameter is of paramount importance for our
Leica P20 scanner whilst the sparser one is extracted from technique and it should be chosen carefully in order to keep
7
Pre-processing Correspondances selection Optimization
Normal computing
Gauss Newton
Yes Convergence
T cloud Representative <ε
Rejection
Matching
•Selection Voxelization Clustering reached
election
•Noise No
Filtering
•Sampling Intial N
Clustering Representative
Voxelization Yes
S cloud transform election >Itermax Divergence
No
Transformation
Figure 1: Overview of the CICP pipeline. Given two point clouds, CICP starts by computing the surface normals of the two clouds. It
looks for points sharing the same local properties, and then elects one representative point from each local cluster. This election process
is based on 3D position of points and their normals. It consists of three sub-tasks: (1) Voxelization: a set of 3D cubic regions (voxels) is
generated where all voxel points have very close spatial positions. (2) Clustering: classify all points of each voxel according to their normals.
(3) Representative election: once this grouping step is completed, the last task consists in selecting one point from each cluster (local surface)
in each voxel. Representative points serve as candidates for correspondence process. As a result, few points are used in the matching process,
but which are most likely to be associated, thereby, improving on convergence and accuracy simultaneously.
the fundamental characteristics of both point clouds; be it Y and Z. The number of voxels for this bounding box
dense or sparse with topological details. In our case, the is determined by the number of points and the voxel size
set of rules mentioned previously in the Section 4.1 must is deduced. The same procedure is applied to the dense
be verified. cloud. For more details, see voxelized point clouds in Al-
At the beginning, the procedure applies a bounding gorithm 2.
box to the entire sparse cloud by finding the minimum
and maximum positions of points along the three axes X, 1. Voxel assignment: each voxel is identified by a unique
8
Algorithm 2: Voxelization of a point cloud. 5.1.3. Clustering
Input: pointXYZ P, voxelSize The process of electing one point from each local sur-
Output: vector voxels face makes them good candidates for point correspondence
1 Initialize: minX = maxX = P [0] .x, minY= searching, thereby rejecting wrong matches impacting align-
maxY= P [0] .y, minZ = maxZ = P [0] .z, ment accuracy. At first, all the “voxelized” points are
numDivX= numDivY =0 taken and a classification method is applied to identify
2 begin points belonging to the same surface. In our work, k-means
3 // Create a bounding box for all the points of P clustering [74] is used as the classification technique based
4 foreach point p in P do on the normal of each point. The appropriate number of
5 if (p.x < minX) then minX = p.x; clusters (local surfaces) within each voxel is determined
6 if (p.x > maxX) then maxX = p.x; using the Elbow method [72, 75]. An illustration of the
7 if (p.y < minY ) then minY = p.y; described approach is given in Figure 3.
8 if (p.y > maxY ) then maxY = p.y; Grouping the point clouds using their normal aims at:
9 if (p.z < minZ) then minZ = p.z; • improving the robustness of the matching step by
10 if (p.z > maxZ) then maxZ = p.z; only allowing the pairing of compatible points,
11 end
12 // Calculate number of voxels along each axis • reducing the amount of data to be processed during
13 numDivX = (maxX − minX) /voxelSize + 1 the matching stage.
14 numDivY =
(maxY − minY ) /voxelSize + 1 5.2. Matching
15 numDivZ = (maxZ − minZ) /voxelSize + 1
The clustering process generates a reduced, but differ-
16 // Assign each point p to its corresponding voxel
ent number of points in both clouds. These two sets of
17 foreach point p in P do
points are used for matching. Based on our bibliographic
18 i = (p.x − minX) /voxelSize
research, the best technique identified is the k-d trees (Sec-
19 j = (p.y − minY ) /voxelSize
tion 4.2). We use the k-d trees implemented in PCL [26]
20 k = (p.z − minZ) /voxelSize
directly, which is based on the FLANN library [13]. The
21 idx = i + j × numDivX + k × numDivX ×
correspondence is obtained by finding, for each point of
numDivY (3)
the source cloud, the nearest point in the target cloud.
22 voxels [idx] .push bach (p)
This is accomplished using L2 norm. Since the number
23 end
of points used for matching is different in the two pairing
24 // Erase empty voxels
sets, there will be some wrong correspondences. This is
25 voxel.erase
handled in the rejection step, which aims to reduce these
(remove if (voxels.begin, voxels.end, container is
false matches.
26 empty) , voxels.end)
27 return voxels 5.3. Weighting
28 end
The aim of weighting is to reduce the influence of out-
liers on the alignment process. We tested two weighting
strategies: Huber weighting [76] and Tukey weighting [77].
linear index. If i, j, k represent the voxel indices in However, the tests showed a minimal influence of these
the X, Y , Z dimensions, respectively, numDivX, strategies on our data. Consequently, on our implemen-
numDivY are the number of voxels along X and Y tation, we do not use any weighting strategy. This is the
axes, the formula to encode the linear index [72] is:
9
same conclusion as found in [68], which affirms that the ~
Since an approximation of the displacement T(x̃) is
weighting stage might be removed from the ICP algorithm. known, the increment T(x) is assumed to be small. In
this case, it is possible to linearize the vector E(x) by
5.4. Rejection performing a Taylor series approximation around x = 0:
We opted for the distance-based rejection [39, 22], as
1
it is the most basic way to eliminate the wrong pairings. e(x) = e(0) + J(0)x + H(0, x)x + O(kxk3 ) (8)
This simple and powerful strategy consists in eliminating 2
the correspondences which have distances greater than a where J is the Jacobian matrix of the error vector E, with
given threshold [65, 22]. This aims to reject the pairs of dimensions (m×n)×6 and represents the variation of e(x)
points that do not contribute positively to the convergence as a function of each component of x:
of the algorithm, such as unpaired points (as the number
of points used for matching is different in the two pairing J(x) = ∇x e(x) (9)
sets) and outliers.
and the matrix H(x1 , x2 ) of dimensions (m × n) × 6, is
5.5. Error metrics defined ∀(x1 , x2 ) ∈ R6 × R6 by:
After the matching step, which results in a selection h
∂ 2 e1 (x1 ) ∂ 2 e (x ) ∂ 2 en (x1 )
iT
H(x1 , x2 ) = ∇x1 (J(x1 )x2 ) =
∂x1 2
x2 ∂x2 2 1 x2 ... ∂x1 2
x2
of an equivalent number of representative points in both 1
(10)
clouds, the three metrics commonly exploited in the liter- 2
ature, namely point-to-point, point to plane and plane to where each Hessian matrix ∂ ∂xe1 (x1 )
1
2 x2 represents the sec-
plane, can be used. However, for the sake of simplicity, we ond derivative of E with respect to x.
use the point-to-point metric: The system of equations (2) can be solved with a least-
squares method. This is equivalent to minimizing the fol-
N
X lowing cost function:
E= kRpi + ~t − qi k2 (4)
1 1
i=1 O(x) = ke(0) + J(0)x + H(0, x)xk2 (11)
2 2
5.6. Optimization
A necessary condition for the vector x to be a minimum
The optimization is used to determine the transforma- of the cost function is that the derivative of O(x) is zero
tion from the set of finding pairs. Given a set of correspon- at the solution, i.e. x = x̃:
dences, rotation and translation between the two frames
are calculated using Gauss-Newton iterative least square ∇x O(x)|x=x̃ = 0; (12)
algorithm [78] (Algorithm 3).
In the case of the point-to-point metric, the error func- In this case, the derivative of the cost function can be
tion to be minimized is given by: written:
T
N
∇x O(x) = (J(0) + H(0, x)) e(0) + J(0)x + O(kxk2 )
X
E (x) = ~ (x̃) pi − qi k2
kT (5) (13)
i=1 The standard method for solving (12) is Newton’s me-
~ thod. It consists of incrementally determining a solution
where T(x̃) defines the displacement between the points of
x by:
the source cloud pi and the points of the target cloud qi , T
and x a vector which belongs to R6 , representing linear ve- x = −Q−1 J(0) e; (14)
locities ϑ = [ϑx ϑy ϑz ] and angular velocities ω = [ωx ωy ωz ]. where the matrix Q is written:
Suppose now that only an approximation T̂ of T ~ (x̃) is
N
known. In this case, the registration problem consists in T
X ∂ 2 e1 (x1 )
finding the incremental transformation T(x): Q = J(0) J(0) + |x=0 ei (15)
i=0
∂x1 2
~
T(x̃) = T̂T(x) (6) However, Newton’s method requires the calculation of
the Hessian matrices, which is expensive in computation
Such that the differences between the positions of the time. Nevertheless, it is possible to approximate the ma-
source points registered by the transformation T̂T(x) and trix Q with a first order approximation by the Gauss-
those of the target cloud, are zero. Newton method:
N T
Q = J(0) J(0) (16)
X
E (x) = ~ (x̃) pi − qi k2 = 0
kT (7)
i=1
For this genre of non-linear optimization problem, the
E(x) is the vector of dimensions (m × n) × 1 containing Gauss-Newton method is preferred, because, on the one
the errors associated to each point.
10
hand, it makes it possible to ensure a definite positive ma- the solution is impacted by several factors; sensor observ-
trix Q and, on the other hand, to avoid the rather expen- ability, sensor noise, uncertainties induced whilst taking
sive calculation of the Hessian matrices. measurements. Therefore, a mathematical condition for
Under these conditions, at each iteration, a new error convergence is generally difficult to establish.
E and a new Jacobian matrix J(0) are computed in order However, the optimization domain can be sampled to
to obtain the new value of x by: provide a qualitative analysis of the convexity of the es-
−1 timator. This is illustrated in Figure 4 where the root-
T T mean-square error (RM SE) (in meters) is shown versus
x = − J(0) J(0) J(0) e(x) (17)
two groups; translational and rotational couples. It is ob-
and to update the rigid transformation by: served that for a typically chosen subsampled point cloud
set (dense: 926 725 points, sparse: 71 584 points), the es-
T̂ ←− T̂T(x) (18) timator is convex for the translation as inferred from its
formulation and hence, the result is not directly concerned
In general, the minimization is stopped when the er- by the initialization of the algorithm. However, the min-
ror: k e k2 < α occurs, or when the calculated increment imiser, though it exhibits a globally convex profile, con-
becomes too small: kxk2 < ε, where α and ε are predefined tains one or several local minima along the way. This
stop criteria. implies that initial values for the relative rotation must be
carefully given locally around the solution.
Algorithm 3: CICP Algorithm.
Input: targetCloud, sourceCloud; voxelSeize, T̂ 6. Results
Output: Optimal T
1 Intialize: NormalXYZ T normals, S normals; We implement our CICP approach in C++ without
PointXYZ T match, S match code optimization, and we conduct multiple experiments
2 begin to evaluate it. Two different data sets are used: (1) point
3 T normals = normalComputing (targetCloud) clouds acquired by different sensors; (2) point clouds gen-
4 S normals = normalComputing (sourceCloud) erated by a single sensor by varying the scan resolution.
5 T match = normalClustering (targetCloud, These two datasets are carried out on indoor and outdoor
T normals, voxelSeize) environments. The indoor scene is represented by a typical
6 while (iteration < iter maxk|x| > ε) do office environment, which is symbolized with walls, desks
7 sourceCloud = transform (sourceCloud, and chairs. And the outdoor environment (PAVIN 5 ) is
S normals, T̂ ) an experimental site for the development of automated
8 S match = normalClustering (sourceCloud, vehicles in realistic urban environment. These different
S normals, voxelSeize) datasets provide a good platform to investigate the perfor-
9 EstablishCorrespondences (T match, mance of the proposed method. We first show its results
S match) for the registration of two sparse and dense clouds, ac-
10 distanceRejection (distThreshold) quired with two different sensors, and enumerating differ-
11 compute the Jacobian J (9) ent indoor and outdoor environments (Section 6.1). Then,
12 compute the error vector e(x) (8) we compare our results with the existing sparse and dense
13 compute the increment x (17) methods (Section 6.2). Thereafter, we perform registra-
14 update the pose T (18) tions between multiple clouds from the same sensor, but
15 iteration ← iteration + 1 with different resolutions (Section 6.3). Finally, registra-
tions between clouds from different sensors are carried out
16 end
(Section 6.5).
17 return T
The computational efficiency of the algorithm is be-
18 end
yond the scope of this paper. We would rather focus on
the methodology.
The experimental is set up as shown in Figure 5. The
5.7. Analysis of the cost function center of the two sensors; Velodyne HDL32 and that of
the Leica P20 are perfectly superimposed with the help
In this section, a more in-depth analysis of the cost
of the STANLEY Cubix cross line laser. The velodyne
function is carried out. The cost function is based on a
is then physically displaced and rotated by known trans-
sum of squared error (SSE) term as shown by equation (5).
lations and rotations from the graduated set up in order
This is an undeniable problem considering the fact that for
to perturb the 6 degrees of freedom transformation. Data
a non-linear optimization problem (as is our case), whose
domain is non-convex, it may contain several local min-
ima. The local convexity of the SSE estimator around 5 PAVIN: http://www.institutpascal.uca.fr/index.php/en/the-
institut-pascal/equipments
11
Figure 4: Convergence domain for the office scene. First row represents the RM SE with respect to the three possible DoFs in translation.
tx , ty , tz ∈ [−2 m, 2 m] with a descretization of 10 cm. The second row shows the rotation domain where each DoF takes values in [−20◦ , 20◦ ]
with a step of 2◦ .
acquisition is then performed under different scenarios in point clouds that do not exceed 70 000 points. This repre-
order to test our CICP algorithm. Table 3 below sum- sents a ratio of 14 times between the two clouds from the
marizes the various experiments performed in a controlled first environment and a ratio of 40 times, for clouds of the
environment. For each experiment, CICP is initialized at second environment.
Identity, i.e. x = [0, 0, 0, 0, 0, 0]. Figure 7 shows the registration process of such point
clouds using the CICP method. On the left, the green
6.1. Dense-Sparse Registration with CICP cloud is from the LiDAR Leica P20 and the blue cloud is
The purpose of this first experiment is to evaluate our from the Velodyne HDL32-E. The corresponding results
CICP method. For that, we choose two clouds acquired are shown on the right. Table 2 includes the various pa-
with different sensors; the denser cloud produced by a 3D rameters that manage the registration. The voxel size is
LiDAR Leica P20 laser scanner and the sparser cloud with set according to the number of points in the sparse cloud
an HDL-32E Velodyne LiDAR sensor. A Leica P20 gener- in order to verify the definition proposed in Section 4.1.
ates very detailed and dense point clouds as shown in Fig- In order to optimize the computing time, it is better to
ures 6(a), 6(c). Depending on the resolution chosen during choose the sparse cloud as the source cloud, since the lat-
the scanning process, these clouds can exceed 100 millions ter is transformed and clustered at each iteration.
of points for a single scan. For reasons of compatibility Table 2: CICP configuration parameters.
with the available computational equipment, which pro-
vided an Intel Core i74800MQ processor, 2.7 GHz, and 32 Parameter Value
GB of RAM, we perform a sampling process using method
Voxel size 8 cm
described in [72] in order to reduce the number of points Rejection distance 0.2 − 0.5 m
to the order of few millions without losing useful informa- Max iteration 500
tion. By compressing data, we provide a more compact 3D Translation tolerance 10−3 m
Rotation tolerance 10−4 ◦
representation of point clouds whilst maintaining the no-
tion of density and without affecting the initial structure
of the scanned subject. Figures 6(b), 6(d) illustrate the In order to verify the convergence of the optimization, a
output of the sampling process with 986 344 and 2 732 783 comparison between the two clouds at the start and at the
points for the office and PAVIN scenes, respectively. As end of the registration process is recorded together with
for the Velodyne HDL-32E, this sensor generates sparse the convergence profile obtained. It is summarized in the
12
Figure 5: Experimental set up for data collection from Velodyne HDL32 (left) and Leica P20(right) sensors.
Table 3: CICP registration applied to mainly two compiled datasets; OFFICE and PAVIN. The resolutions of corresponding dense and sparse
cloud are given along with the initial physical measured transformation from our set up given by the first row of each experiment, whilst the
second row depicts the results output by our algorithm. Convergence is evaluated from the RM SE and the number of iterations required for
full registration.
evolution of the RM SE as a function of the number of it- rithm to converge. A more complete analysis is summa-
erations (see Figure 8). As expected, the convergence error rized in Table 3, along with the RM SE recorded and the
draws to a minimum until the imposed stopping condition number of iterations achieved at convergence. The analy-
is reached. It is normally a tolerance on the translation sis of this table allows us to identify three elements that
and rotation rates. In our case, this tolerance is 10−3 and influence the registration results. Namely, the inter-frame
10−4 for the translation and rotation, respectively. We displacement and the difference in density between the two
run the algorithm for several indoor and outdoor scenes, clouds, as well as the nature of the environment (indoor or
with different viewpoints, as depicted in Table 3 and shown outdoor). For the displacement, we can observe that the
in Figure 8. Each experiment is performed more than 20 larger the initial displacement, the more difficult the reg-
times. For instance, for the experiment 1 (Expt 1), the dis- istration is. We would like to draw the reader’s attention
placement between the two clouds is [150, 170, 35, 5, 0, 0], to the fact that the displacements experimented here are
where the first three values correspond to the translation quite large, keeping in mind that dense techniques gen-
in millimeters and the last three to the rotation in de- erally require an inter-frame displacement since the cost
grees. As for the fourth experiment, the displacement is function is linearized around x = 0.
[65, 45, 200, 0, 7, 5], which took 34 iterations for the algo- Continuing with our discussion on the influence of ini-
13
should be noted that, although the actual values are sub-
jected to systematic errors of ±2◦ in rotation and ±1 cm
in translation, they do not affect, one way or the other,
the correct functioning in the various steps of our method.
The true discrepancy between the two corresponding point
clouds at convergence is measured using the RM SE. Re-
garding the influence of density, a quick look shows that
the denser the clouds becomes, the more RM SE decreases,
(a) Indoor point cloud delivered (b) Indoor point cloud after leading to better registration. We will examine this pa-
by the LiDAR Leica P20 with sampling containing 986 344
88 539 380 points points rameter in detail in the Section 6.3. Finally, we observe
that CICP performance depends on the scene. In fact,
the impact of scene affects the performance of registration
as observed by the difference of the number of iterations
required to reach the convergence between PAVIN’s and
that of the office. It is clear that the indoor environment
achieves better registration than the outdoor scene. This
is possibly caused by the richness in planar regions of the
former. It should not be overlooked that the outdoor en-
vironment contains a large amount of noise and outliers.
(c) Outdoor point cloud deliv- (d) Outdoor point cloud after
ered by the LiDAR Leica P20 sampling containing 2 732 783 This can be seen on Expt 8 and Expt 9, in which the initial
with 72 947 044 points points displacement is the same in both experiments. However,
the alignment for the office dataset requires 34 iterations
Figure 6: Point cloud sampling. to converge instead of 56 for the PAVIN dataset.
For the sake of illustration, we take four experiments
arbitrarily (Expt 3, Expt 4, Expt 7, Expt 8), and show
tial displacement, let us take the example of experiments their state before and after the registration with their con-
Expt 3 and Expt 6, which represent a pure translation and vergence profile in Figure 8. A closer look to the RM SE
a pure rotation, respectively. These two experiments, as a curves in the third column of this figure shows that the
sample of several experiments that we carry out, show that residues which are far away are successfully minimized.
generally, the pure rotation requires more energy to reach However, the convergence begins very quickly and then
the convergence with respect to the case of pure transla- stabilizes for a while before it reaches its minimum. This
tion. Tables 10 to 15 demonstrate further rigorous testing is mainly due to the fact that there is not a perfect point-
of the cost function with our selection strategy. All six to-point equivalence in the two pairing sets. This is quite
degrees of freedom (DoF) are activated and tested either logical and it can be explained by the large difference in
independently or permuted arbitrarily. The results show density between the two clouds, the noise, and the cluster-
the convergence values against the actual values, always ing defects on the two clouds.
with an initialization at identity, i.e. x = [0, 0, 0, 0, 0, 0]. It
6.2. Comparison with Existing Methods
In order to compare our method with the existing state-
of-the-art methods, we use implemented routines of PCL [26]
library for the NDT algorithm, GICP, point-to-plane ICP
and simple ICP for dense methods. For the case of sparse
methods (methods based on features extraction) we also
use PCL implementations of SIFT3D and FPFH to ex-
tract characteristic points from the two clouds, and use
(a) Clouds before registration (b) Clouds after registration
simple ICP to perform matching. The performance of
each method is evaluated using three metrics: the accu-
racy, the relative translational error and the relative ro-
tational error. The former describes the evolution of the
root-mean-square point-to-point distance; this can be ex-
pressed mathematically as:
r
1 n
(c) Clouds before registration (d) Clouds after registration RM SE = Σ k Ei k2 (19)
n i=1
Figure 7: Registration results with CICP algorithm. where n is the number of points and Ei is the distance
error between the source points and its correspondent in
14
Expt 3
Dense Sparse
ICP pt2pl NDT GICP CICP SIFT FPFH
ICP 3D+ICP +ICP
RM SE (m) 0.0602 0.0620 0.0636 0.0636 0.0299 0.0516 failed
Office
m, m, m,◦ ,◦ ,◦ RT E 0.2811 0.2482 0.2019 0.2178 0.0169 0.0191 failed
(m)
[0, 0.5, 0.5, 20, 0, 10] RRE (◦ ) 0.0517 0.0.0186 0.0285 0.0213 0.0005 0.0201 failed
RM SE (m) 0.0836 0.0804 0.0824 0.0860 0.0347 0.0678 failed
PAVIN
m, m, m,◦ ,◦ ,◦ RT E 0.0365 0.0253 0.0315 0.0642 0.0092 0.021 failed
(m)
[0, 0.5, 0.3, 0, 0, 10] RRE (◦ ) 0.0058 0.0050 0.0058 0.0090 0.0034 0.0058 failed
ods. Bold values show the best result. Quantitatively, the Table 6: Tuning parameters used of each algorithm for experimental
section (§ 6.2.1).
RM SE value of the indoor scene reaches 6 cm in the case
of point-to-point, 6.2 cm point-to-plane ICP, 6.3 cm for the
NDT and the GICP, more than 5 cm for SIFT3D and less Parameter ICP ICP P2PL NDT GICP CICP
than 3 cm for the proposed method. The maximum num- ε(stop criteria)(m) 10−6 10−6 10−6 10−6 10−6
ber of iterations for each test is fixed at 500 beyond which
Rejection distance (m) 0.5 0.5 0.5 0.5 0.5
the algorithm is considered as not having converged if it
Maximum iterations 500 500 500 500 500
reaches that ceiling, as is the case of the FPFH method.
# neighbors normals estimation - 10 - - 10
Figure 9 shows the comparison of convergences bet-
ween different registration methods. CICP outperforms # neighbors compute covariance - - - 20 -
the state-of-the-art methods on both datasets. In addition, maximum step size for MT search - - 0.1 - -
it is shown that CICP is robust against scene variation. Resolution of NDT grid (m) - - 1 - -
method. Clustering always ensures the availability of rep- viewpoint). The outcome of this experiment is shown in
resentative points from which the matching is performed, Table 7.
even in the case of low density. The only difference is in The conclusion that can be drawn from the findings of
the minimal change present in RM SE, as illustrated by this evaluation is that the difference of density between the
the graphs in Figures 12a and 12c. This can be expressed two clouds only affects the convergence of the algorithm.
as: high density implies a superior accuracy. As in this experiment, nothing changes between the two
clouds except the density. The final RM SE values are all
6.3.2. Data from the same sensor equal and are close to the accuracy of the sensor (3 mm).
The second batch of experimentation in this section The only difference is in the number of iterations needed to
consists in aligning different clouds acquired by the same reach the convergence. This can be formulated by: a small
sensor. Figure 13 shows seven clouds with different den- difference in density between the two clouds extends the
sities. All these clouds are taken with the same sensor convergence process. In fact, this is due to several reasons.
by changing the scanning resolution each time. Indeed, First, choosing the sparse cloud as the source cloud (in or-
the LiDAR Leica P20 allows the change of resolution, by der to optimize the computing time as mentioned above).
increasing or decreasing the sampling distance (distance This means that the search for nearest neighbors is done
that separates two points of the cloud at a given distance in the dense cloud for the points of sparse cloud. Secondly,
from the scanner). In the case of the Leica P20, this dis- according to the mathematical definition proposed in this
tance varies from 0.8 mm per 10 m to 50 mm/ 10 m, giv- article (Section 4.1), the voxel size for clustering is fixed
ing rise to different density variation as illustrated in Fig- according to the number of points in the sparse cloud, in
ure 13. In this experiment, the dimensions of clouds are order to ensure points for matching. These two reasons
fixed within the sensor. This latter is placed in one fixed impact the search of the nearest neighbor, which is easier
position, and the only difference between these 7 clouds is and more accurate in a dense cloud and less precise and
the scanning resolution (neither the dimensions, nor the longer in a less dense cloud.
Figure 10: Cost function evolution for the unstructured environment. Iteration 3 6 7 10
17
(a) Google earth top view (b) Site front view (c) Initial state of two scans (d) ICP
Figure 11: Results with a semi structured environment. Registration between a Leica P20 scan and the Velodyne HDL32-E is performed
using state-of-the-art algorithms and CICP.
18
(a) 0.8 mm at 10 m (b) 1.6 mm at 10 m (c) 3.1 mm at 10 m (d) 6.3 mm at 10 m
Figure 13: Density change within the same sensor (the colors from blue to red correspond to the scale of the intensity of the reflectance).
Figure 14: Sensors used to test the CICP approach. From left to Figure 15: Registration of two clouds captured by Leica P20 LiDAR
right: SR4000 Time-of-Flight camera, Velodyne HDL 32-E, and Le- for the dense cloud and Velodyne HDL-32E for the sparser cloud.
ica P20 Laser.
19
6.5.6. SR4000 vs Velodyne of points used for matching. As clustering generates a few
Here the two sensors are affected by noise. This ex- representative points relative to the input points, thereby
plains why the registration takes more than 124 iterations increasing the convergence speed, but decreasing the accu-
to converge. The final RM SE is about 0.0231. In contrast racy. Setting a small voxel size decreases the convergence
to the previous experiment, the dense cloud is produced speed, but increases accuracy, due to the availability of
by the ToF camera, while the Velodyne cloud represents sufficient points for matching. Therefore, a reliable trade
the sparse one. Even though the total number of points off needs to be determined in order to find the optimal
in the Velodyne cloud is almost 3 times higher than the discretization of the point cloud.
cloud ToF, in the part that interests us (representing ap-
proximately (2 × 1 × 1) m3 , which enclose the table and
objects exposed on it and the table behind), the ToF cloud
is denser than the cloud of the Velodyne (Figure 17).
22
Table 13: Variation only of the translation along two axes: tx and ty .
Table 14: Variation only of the translation along three axes: tx , ty and tz .
Table 15: Variation of translation along one axis (ty ) and rotation around one axis (θz ).
Conference on Ambient Computing, Applications, Services and Conference on Intelligent Robots and Systems, 2013, pp. 4347–
Technologies, Proceedings, IARA, 2014, pp. 8–13. 4354.
[3] F. Pomerleau, F. Colas, R. Siegwart, A Review of Point Cloud [8] A. Patidar, P. Sanjiv, A Review Paper on Self - Driving Car ’ s
Registration Algorithms for Mobile Robotics, Foundations and and its Applications, in: National Conference on Innovations in
Trends in Robotics 4 (1-104) (2015) 1–104. Micro-electronics, Signal Processing and Communication Tech-
[4] M. Velas, M. Spanel, A. Herout, Collar Line Segments for fast nologies IJIRST, 2016, pp. 33–35.
odometry estimation from Velodyne point clouds, in: IEEE In- [9] S. Thrun, M. Montemerlo, H. Dahlkamp, D. Stavens, A. Aron,
ternational Conference on Robotics and Automation (ICRA), J. Diebel, P. Fong, J. Gale, M. Halpenny, G. Hoffmann, K. Lau,
2016, pp. 4486–4495. C. Oakley, M. Palatucci, V. Pratt, P. Stang, S. Strohband,
[5] T. Zhang, Surface Reconstruction with Sparse Point Clouds of C. Dupont, L.-E. Jendrossek, C. Koelen, C. Markey, C. Rum-
Velodyne Sensor, in: The 14th IFToMM World Congress, 2015. mel, J. van Niekerk, E. Jensen, P. Alessandrini, G. Bradski,
[6] J. Razlaw, D. Droeschel, D. Holz, S. Behnke, Evaluation of reg- B. Davies, S. Ettinger, A. Kaehler, A. Nefian, P. Mahoney,
istration methods for sparse 3d laser scans, in: Mobile Robots Stanley: The Robot That Won the DARPA Grand Challenge,
(ECMR), 2015 European Conference on, IEEE, 2015, pp. 1–7. Springer Berlin Heidelberg, Berlin, Heidelberg, 2007, Ch. 1, pp.
[7] W. S. Grant, R. C. Voorhies, L. Itti, Finding planes in LiDAR 1–43. doi:10.1007/978-3-540-73429-1_1.
point clouds for real-time registration, in: IEEE International URL http://dx.doi.org/10.1007/978-3-540-73429-1_1
23
[10] R. W. Wolcott, R. M. Eustice, Visual localization within LI- 2571.
DAR maps for automated urban driving, in: Intelligent Robots [31] B. Steder, R. B. Rusu, K. Konolige, W. Burgard, Point Fea-
and Systems (IROS 2014), 2014 IEEE/RSJ International Con- ture Extraction on 3D Range Scans Taking into Account Ob-
ference on, IEEE, 2014, pp. 176–183. ject Boundaries Bastian, in: IEEE International Conference on
[11] T. Caselitz, B. Steder, M. Ruhnke, W. Burgard, Monocular Robotics and Automation (ICRA),, 2011, pp. 2601–2608.
Camera Localization in 3D LiDAR Maps, in: IEEE/RSJ Inter- [32] R. B. Rusu, N. Blodow, Z. C. Marton, M. Beetz, Aligning
national Conference on Intelligent Robots and Systems (IROS), Point Cloud Views using Persistent Feature Histograms, in:
2016, pp. 1–6. IEEE/RSJ International Conference on Intelligent Robots and
[12] W. Maddern, P. Newman, Real-time probabilistic fusion of Systems, IROS, 2008, pp. 3384–3391.
sparse 3d lidar and dense stereo, in: Intelligent Robots and [33] R. B. Rusu, N. Blodow, M. Beetz, Fast Point Feature His-
Systems (IROS), 2016 IEEE/RSJ International Conference on, tograms (FPFH) for 3D registration, in: IEEE International
IEEE, 2016, pp. 2181–2188. Conference on Robotics and Automation, 2009, pp. 3212–3217.
[13] D. Holz, A. E. Ichim, F. Tombari, R. B. Rusu, S. Behnke, Reg- [34] R. B. Rusu, G. Bradski, R. Thibaux, J. Hsu, Fast 3d recogni-
istration with the Point Cloud Library PCL, IEEE Robotics & tion and pose using the viewpoint feature histogram, in: Intelli-
Automation Magazine 22 (4) (2015) 1–13. gent Robots and Systems (IROS), 2010 IEEE/RSJ International
[14] Y. Chen, G. Medioni, Object modeling by registration of mul- Conference on, IEEE, 2010, pp. 2155–2162.
tiple range images, in: IEEE International Conference on [35] A. Aldoma, M. Vincze, N. Blodow, D. Gossow, S. Gedikli, R. B.
Robotics and Automation, 1991, pp. 2724–2729. Rusu, G. Bradski, Cad-model recognition and 6dof pose esti-
[15] P. J. Besl, N. D. McKay, A Method for Registration of 3-D mation using 3d cues, in: Computer Vision Workshops (ICCV
Shapes, IEEE Trans. Pattern Anal. Mach. Intell. 14 (2) (1992) Workshops), 2011 IEEE International Conference on, IEEE,
239–256. 2011, pp. 585–592.
[16] P. Markelj, D. Tomaževič, B. Likar, F. Pernuš, A review of [36] I. T. Jolliffe, Principal Component Analysis for Special Types
3D/2D registration methods for image-guided interventions, of Data, Springer New York, New York, NY, 1986, Ch. 11, pp.
Medical image analysis 16 (3) (2012) 642–661. 199–222.
[17] J. Salvi, C. Matabosch, D. Fofi, J. Forest, A review of recent [37] Y. Zhong, Intrinsic shape signatures: A shape descriptor for
range image registration methods with accuracy evaluation, Im- 3d object recognition, in: Computer Vision Workshops (ICCV
age and Vision computing 25 (5) (2007) 578–596. Workshops), 2009 IEEE 12th International Conference on,
[18] F. Pomerleau, Applied registration for robotics, Ph.D. thesis, IEEE, 2009, pp. 689–696.
ETH ZURICH (2013). [38] A. Mian, M. Bennamoun, R. Owens, On the repeatability and
[19] R. Fabio, From point cloud to surface: the modeling and visual- quality of keypoints for local feature-based 3d object retrieval
ization problem, International Archives of the Photogrammetry, from cluttered scenes, International Journal of Computer Vision
Remote Sensing and Spatial Information Sciences 34 (2003) 11. 89 (2) (2010) 348–361.
[20] R. Marani, V. Reno, M. Nitti, T. D’Orazio, E. Stella, A modified [39] T. Weber, R. Hänsch, O. Hellwich, Automatic registration of
iterative closest point algorithm for 3D point cloud registration, unordered point clouds acquired by Kinect sensors using an
Computer-Aided Civil and Infrastructure Engineering 31 (7) overlap heuristic, ISPRS Journal of Photogrammetry and Re-
(2016) 515–534. mote Sensing 102 (2015) 96–109.
[21] J. Serafin, E. Olson, G. Grisetti, Fast and Robust 3D Feature [40] J. Serafin, G. Grisetti, NICP: Dense normal based point cloud
Extraction from Sparse Point Clouds, in: IEEE/RSJ Interna- registration, in: IEEE International Conference on Intelligent
tional Conference on Intelligent Robots and Systems (IROS), Robots and Systems, Vol. 2015-Decem, 2015, pp. 742–749.
2016, pp. 4105–4112. [41] J. Yang, H. Li, Y. Jia, Go-icp: Solving 3d registration efficiently
[22] C. M. Costa, H. M. Sobreira, A. J. Sousa, G. M. Veiga, Ro- and globally optimally, in: Proceedings of the IEEE Interna-
bust 3/6 DoF self-localization system with selective map update tional Conference on Computer Vision, 2013, pp. 1457–1464.
for mobile robot platforms, Robotics and Autonomous Systems [42] B. Yang, Z. Dong, F. Liang, Y. Liu, Automatic registration of
76 (C) (2016) 113–140. large-scale urban scene point clouds based on semantic feature
[23] Y. Feng, A. Schlichting, C. Brenner, 3D feature point extrac- points, ISPRS Journal of Photogrammetry and Remote Sensing
tion from LiDAR data using a neural network, International 113 (2016) 43–58.
Archives of the Photogrammetry, Remote Sensing and Spatial [43] C. Cadena, L. Carlone, H. Carrillo, Y. Latif, D. Scaramuzza,
Information Sciences-ISPRS Archives 41 (2016) 41 (2016) 563– J. Neira, I. Reid, J. Leonard, Past, Present, and Future of Si-
569. multaneous Localization And Mapping: Towards the Robust-
[24] S. Filipe, L. A. Alexandre, A comparative evaluation of 3D key- Perception Age, IEEE Transactions on Robotics 32 (6) (2016)
point detectors in a RGB-D object dataset, in: Computer Vision 13091332.
Theory and Applications (VISAPP), 2014 International Confer- [44] J. Nieto, T. Bailey, E. Nebot, Scan-SLAM: Combining EKF-
ence on, Vol. 1, IEEE, 2014, pp. 476–483. SLAM and scan correlation, Springer Tracts in Advanced
[25] D. G. Lowe, Object recognition from local scale-invariant fea- Robotics 25 (2006) 167–178.
tures, in: Proceedings of the Seventh IEEE International Con- [45] A. Das, M. Diu, N. Mathew, C. Scharfenberger, J. Servos,
ference on Computer Vision, 1999, pp. 1150–1157. A. Wong, J. S. Zelek, D. A. Clausi, S. L. Waslander, Map-
[26] R. B. Rusu, S. Cousins, 3D is here: point cloud library, in: IEEE ping, planning, and sample detection strategies for autonomous
International Conference on Robotics and Automation (ICRA), exploration, Journal of Field Robotics 31 (1) (2014) 75–106.
2011, pp. 1 – 4. [46] M. Magnusson, A. Lilienthal, T. Duckett, Scan registration for
[27] R. Hänsch, T. Weber, O. Hellwich, Comparison of 3D interest autonomous mining vehicles using 3D-NDT, Journal of Field
point detectors and descriptors for point cloud fusion, ISPRS Robotics 24 (10) (2007) 803–827.
Annals of Photogrammetry, Remote Sensing and Spatial Infor- [47] A. Segal, D. Haehnel, S. Thrun, Generalized-ICP, in: Robotics:
mation Sciences II-3 (September) (2014) 57–64. Science and Systems, Vol. 5, 2009, pp. 168–176.
[28] E. Rosten, T. Drummond, Machine learning for high-speed cor- [48] F. Pomerleau, F. Colas, R. Siegwart, S. Magnenat, Comparing
ner detection, Computer Vision–ECCV 2006 (2006) 430–443. icp variants on real-world data sets, Autonomous Robots 34 (3)
[29] H. Bay, A. Ess, T. Tuytelaars, L. Van Gool, Speeded-up ro- (2013) 133–148.
bust features (surf), Computer vision and image understanding [49] R. Dubé, D. Dugas, E. Stumm, J. Nieto, R. Siegwart, C. Ca-
110 (3) (2008) 346–359. dena, Segmatch: Segment based loop-closure for 3d point
[30] E. Rublee, V. Rabaud, K. Konolige, G. Bradski, Orb: An effi- clouds, arXiv preprint arXiv:1609.07720.
cient alternative to sift or surf, in: Computer Vision (ICCV), [50] R. F. Salas-Moreno, R. A. Newcombe, H. Strasdat, P. H. Kelly,
2011 IEEE international conference on, IEEE, 2011, pp. 2564– A. J. Davison, Slam++: Simultaneous localisation and mapping
24
at the level of objects, in: Proceedings of the IEEE Conference tions, in: Robotics and Automation, 2009. ICRA’09. IEEE In-
on Computer Vision and Pattern Recognition, 2013, pp. 1352– ternational Conference on, IEEE, 2009, pp. 3206–3211.
1359. [72] M. L. Tazir, P. Checchin, L. Trassoudaine, Color-based 3D Point
[51] E. Fernández-Moral, P. Rives, V. Arévalo, J. González-Jiménez, Cloud Reduction, in: the 14th International Conference on Con-
Scene structure registration for localization and mapping, in: trol, Automation, Robotics and Vision, ICARCV, 2016, pp. 1–7.
Robotics and Autonomous Systems, 2016, pp. 649–660. [73] T. Wiemann, M. Mrozinski, D. Feldschnieders, K. Lingemann,
[52] E. Fernández-Moral, W. Mayol-Cuevas, V. Arévalo, J. Hertzberg, Data Handling in Large-Scale Surface Recon-
J. Gonzalez-Jimenez, Fast place recognition with plane- struction, in: 13th International Conference on Intelligent Au-
based maps, in: Robotics and Automation (ICRA), 2013 IEEE tonomous Systems, 2014, pp. 1–12.
International Conference on, IEEE, 2013, pp. 2719–2724. [74] D. Arthur, S. Vassilvitskii, K-means++: The Advantages of
[53] K. Georgiev, R. T. Creed, R. Lakaemper, Fast plane extraction Careful Seeding, in: Proceedings of the Eighteenth Annual
in 3d range data based on line segments, in: Intelligent Robots ACM-SIAM Symposium on Discrete Algorithms, SODA ’07,
and Systems (IROS), 2011 IEEE/RSJ International Conference Society for Industrial and Applied Mathematics, Philadelphia,
on, IEEE, 2011, pp. 3808–3815. PA, USA, 2007, pp. 1027–1035.
[54] M. A. Fischler, R. C. Bolles, Random sample consensus: a [75] R. Tibshirani, G. Walther, T. Hastie, Estimating the number of
paradigm for model fitting with applications to image analy- clusters in a data set via the gap statistic, Journal of the Royal
sis and automated cartography, Communications of the ACM Statistical Society: Series B (Statistical Methodology) 63 (2)
24 (6) (1981) 381–395. (2001) 411–423.
[55] J. Forsberg, U. Larsson, A. Wernersson, Mobile robot naviga- [76] P. J. Huber, E. M. Ronchetti, Robust statistics, John Wiley &
tion using the range-weighted hough transform, IEEE Robotics Sons, 2009.
& Automation Magazine 2 (1) (1995) 18–26. [77] P. J. Huber, Robust statistics, Wiley, New York, New York,
[56] G. Pandey, S. Savarese, J. R. McBride, R. M. Eustice, Visu- 1981, Ch. The Basic Types of Estimates, pp. 45–67.
ally bootstrapped generalized icp, in: Robotics and Automation [78] A. Bjorck, Numerical methods for least squares problems, Siam,
(ICRA), 2011 IEEE International Conference on, IEEE, 2011, 1996.
pp. 2660–2667. [79] E. Puttonen, M. Lehtomäki, H. Kaartinen, L. Zhu, A. Kukko,
[57] K. Lenac, A. Kitanov, R. Cupec, I. Petrović, Fast planar sur- A. Jaakkola, Improved sampling for terrestrial and mobile laser
face 3d slam using lidar, Robotics and Autonomous Systems 92 scanner point cloud data, Remote Sensing 5 (4) (2013) 1754–
(2017) 197–220. 1773.
[58] N. Mellado, D. Aiger, N. J. Mitra, Super 4PCS fast global point-
cloud registration via smart indexing, Computer Graphics Fo-
rum 33 (5) (2014) 205–215.
[59] A. Zeng, S. Song, M. Nießner, M. Fisher, J. Xiao,
T. Funkhouser, 3dmatch: Learning the matching of local 3d
geometry in range scans, arXiv 1603.
[60] M. Li, X. Gao, L. Wang, G. Li, Automatic registration of laser-
scanned point clouds based on planar features, in: 2nd ISPRS
International Conference on Computer Vision in Remote Sens-
ing (CVRS 2015), Vol. 9901, International Society for Optics
and Photonics, 2016, p. 990103.
[61] Toward Object-based Place Recognition in Dense RGB-D Maps.
[62] A. Sehgal, D. Cernea, M. Makaveeva, Real-time scale invariant
3d range point cloud registration, in: International Conference
Image Analysis and Recognition, Springer, 2010, pp. 220–229.
[63] S. Rusinkiewicz, M. Levoy, Efficient variants of the ICP algo-
rithm, in: Proceedings of International Conference on 3-D Dig-
ital Imaging and Modeling, 3DIM, 2001, pp. 145–152.
[64] A. Gressin, C. Mallet, N. David, Improving 3D Lidar Point
Cloud Registration Using Optimal Neighborhood Knowledge,
ISPRS Annals of Photogrammetry, Remote Sensing and Spatial
Information Sciences I-3 (September) (2012) 111–116.
[65] Z. Zhang, Iterative point matching for registration of free-form
curves and surfaces, International journal of computer vision
13 (2) (1994) 119–152.
[66] J. S. Vitter, Faster Methods for Random Sampling, Commun.
ACM 27 (7) (1984) 703–718.
[67] R. B. Rusu, Semantic 3D object maps for everyday manipu-
lation in human living environments, Ph.D. thesis, Technische
Universitt Mnchen, Diss., 2009 (2009).
[68] F. Donoso, K. Austin, P. McAree, How do ICP variants perform
when used for scan matching terrain point clouds?, Robotics
and Autonomous Systems 87 (2017) 147 – 161.
[69] J. Elseberg, S. Magnenat, R. Siegwart, N. Andreas, Comparison
of nearest-neighbor-search strategies and implementations for
efficient shape registration, Journal of Software Engineering for
Robotics (JOSER) 3 (1) (2012) 2–12.
[70] L. He, X. Wang, H. Zhang, M2DP: A novel 3D point cloud
descriptor and its application in loop closure detection, in: In-
telligent Robots and Systems (IROS), 2016 IEEE/RSJ Interna-
tional Conference on, IEEE, 2016, pp. 231–237.
[71] K. Klasing, D. Althoff, D. Wollherr, M. Buss, Comparison of
surface normal estimation methods for range sensing applica-
25