54 Y. Ma et al. / Image and Vision Computing 67 (2017) 52–66
angles can reflect the rotation between two point clouds. Based on
this observation, a direction angle is first defined and the statistics
information of the direction angles is used to obtain the rotation
matrix.
To perform 3D registration, our registration algorithm is decom-
posed into two parts: rotation estimation and translation estimation.
For rotation estimation, a novel estimation algorithm is proposed
using the direction angle histograms. For translation estimation, the
centers of the rotated point clouds are aligned using a variant of ICP.
Specifically, we only conduct translation estimation without consid-
ering the rotation. Since the rotation angles are precisely estimated,
we can obtain an accurate translation estimation after a few itera-
tions (10 in our case). The proposed rotation estimation algorithm
does not require any initial alignment, and can be implemented effi-
ciently as it does not have to generate point correspondences. A set
of experiments have been conducted on indoor point clouds. Exper-
imental results show that the proposed algorithm outperforms the
ICP algorithm [15,25], the Coherent Point Drift (CPD) algorithm [18],
the Accelerated Coherent Point Drift (ACPD) algorithm [17] and the
algorithm proposed in [26] on point clouds with small overlaps.
Moreover, the proposed rotation estimation algorithm is used to
address the global localization problem in 3D maps. For translation
estimation, we use the projection information of each point cloud.
The point cloud is projected onto the coordinate plane and the trans-
lation vector is then extracted by template matching between the
two corresponding projection images. Experiments have been con-
ducted on indoor point clouds. Experimental results show that the
proposed algorithm achieves a high localization accuracy.
The rest of this paper is organized as follows. Section 2 reviews
existing work on point cloud registration. Section 3 defines our
problem. Section 4 introduces our direction angle distribution based
rotation estimation algorithm. Section 5 presents the comparative
experimental results and analyses in point clouds registration and
global localization. Section 6 concludes this paper.
2. Related work
2.1. 3D point cloud registration
Despite of the recent research progress, 3D point cloud reg-
istration remains a challenging task. The task of 3D point cloud
registration is to estimate the rotation and translation parameters to
align the 3D point clouds acquired from different viewpoints. Many
existing 3D registration algorithms consider the rotation and trans-
lation estimation task as an iterative optimization problem. The ICP
algorithm [15] and its variants [16,25,27-33] have been frequently
used to perform 3D point cloud registration. ICP is one of the earli-
est point cloud registration techniques, it uses a least square method
to achieve optimal matching between two point clouds. At each
step, the algorithm estimates the rotation and translation param-
eters by minimizing the Euclidean distance between correspond-
ing points. Subsequently, many ICP variants have been proposed.
Granger and Pennec [31] formulated the registration problem as
a general Maximum-Likelihood (ML) estimation of the transforma-
tion and proposed an improved ICP using Expectation-Maximization
(EM) principles, namely EM-ICP. To improve the computational effi-
ciency of EM-ICP, Tamaki et al. [32] implemented the EM-ICP using
CUDA and achieved a faster performance than the CPU based imple-
mentation. Chen and Medioni [30] used a more robust point-to-plane
distance to replace the point-to-point distance in the original ICP.
This variant improves the robustness and applicability of ICP. Segal et
al. [27] developed a probabilistic version of ICP, namely Generalized-
ICP (GICP). GICP also uses point-to-plane distance to generate point
correspondences, and assigns a weight to each pairs of corresponding
points in the objective function using their surface normals. Serafin
and Grisetti [29] used normal features to obtain more accurate point
correspondences, resulting in an improved registration accuracy for
large-scale point clouds. The classical ICP algorithm and its variants
require an accurate initial alignment and a large percent of overlaps.
Moreover, only a local optima can be achieved by these algorithms.
Besides, several registration algorithms [17–20] consider a point
cloud as a probabilistic model (e.g., GMM [19]). Evangelidis et al. [20]
proposed a generative model based on multiple GMMs for joint reg-
istration of multiple point clouds. Myronenko et al. [18] proposed
a Coherent Point Drift (CPD) algorithm to achieve high registration
accuracy by maximizing the likelihood between the two GMMs
of point clouds. The original CPD algorithm is time-consuming.
Myronenko and Song [18] then proposed a Fast Gauss Transform
based CPD (FGT-CPD) algorithm. To achieve a robust and faster reg-
istration, Lu et al.
[17] proposed
an Accelerated Coherent Point Drift
(ACPD) algorithm. Experimental results show that the computational
complexity of these probabilistic algorithms is very high, especially
for large-scale point clouds.
Generally, the ICP variants and the probabilistic algorithms are
prone to local optima. Yang et al. [28] proposed a Global Opti-
mal ICP (GO-ICP) algorithm for point cloud registration. The GO-ICP
algorithm combines the traditional ICP with a branch-and-bound
(bnb) scheme to perform rotation estimation. It achieves a global
accurate registration in a small-scale scene. Recently, several algo-
rithms have been proposed to estimate the rotation and translation
parameters [26,34-37]. Generally, these algorithms are able to obtain
global optima at the cost of high computational complexity. A simi-
lar technique is used to estimate the rotation between two 3D point
clouds in [34,35,37]. First, keypoints are extracted from the given
point clouds, followed by the generation of keypoint matches. The
keypoint matches [35,37] or the original points [34] can then be
used to solve the point correspondence problem. The point corre-
spondence searching process in [34,35,37] is slow, which requires
at least three correct keypoint matches to guarantee reliable fea-
ture correspondence. As a major component in these algorithms,
keypoint extraction and matching is computationally expensive. Fur-
thermore, it is challenging for keypoint extraction algorithms to
work in textureless environments. Makadia et al. [26] used the ori-
entation histogram in spherical coordinates to estimate the rotation.
Once a rough rotation and translation estimation is completed, ICP
is performed to achieve fine alignment. Similar to [26], the global
direction information of the normal vectors of all points is used for
rotation estimation and a variant of ICP is used for translation esti-
mation in this paper. Different from [26], we define a measure named
direction angle and use the peaks of the direction angle histograms
to obtain the rotation angles. No Fourier transform or Inverse Fourier
transform (which is the key step in [26]) is needed in our algorithm.
For automatic 3D point cloud registration in structural environ-
ments, the proposed algorithm is simple but effective. No keypoint
or local feature extraction is required by our algorithm. Furthermore,
our algorithm is more robust to outliers.
2.2. Global localization
Real-time localization forms the basis for outdoor and indoor
navigation [38–41]. It can be used for many applications including
robotics, and unmanned vehicles. The task of global localization is to
estimate its position without any initial knowledge about its loca-
tion. It also requires the platform (e.g., a vehicle or robot) to be able
to relocate itself if its position is lost.
Indoor robot localization is an extensively investigated topic in
the area of global localization. A large number of approaches have
been proposed for mobile robot global localization using RGB/RGB-
D cameras. Global navigation is usually achieved by matching a
local map to the global map using global or local features extracted
from the maps. Schiele and Crowley [38] proposed a Hough trans-
form based localization algorithm. It uses Hough transform to extract