Next Article in Journal
Research on the Changes to the Lipid/Polymer Membrane Used in the Acidic Bitterness Sensor Caused by Preconditioning
Next Article in Special Issue
A Rapid Coordinate Transformation Method Applied in Industrial Robot Calibration Based on Characteristic Line Coincidence
Previous Article in Journal
Removing the Interdependency between Horizontal and Vertical Eye-Movement Components in Electrooculograms
Previous Article in Special Issue
Design and Analysis of a Single—Camera Omnistereo Sensor for Quadrotor Micro Aerial Vehicles (MAVs)
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Enhanced ICP for the Registration of Large-Scale 3D Environment Models: An Experimental Study

1
State Key Laboratory of Robotics, Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang 110016, China
2
University of Chinese Academy of Sciences, Beijing 100049, China
*
Authors to whom correspondence should be addressed.
Sensors 2016, 16(2), 228; https://doi.org/10.3390/s16020228
Submission received: 20 November 2015 / Revised: 19 January 2016 / Accepted: 19 January 2016 / Published: 15 February 2016
(This article belongs to the Special Issue Sensors for Robots)

Abstract

:
One of the main applications of mobile robots is the large-scale perception of the outdoor environment. One of the main challenges of this application is fusing environmental data obtained by multiple robots, especially heterogeneous robots. This paper proposes an enhanced iterative closest point (ICP) method for the fast and accurate registration of 3D environmental models. First, a hierarchical searching scheme is combined with the octree-based ICP algorithm. Second, an early-warning mechanism is used to perceive the local minimum problem. Third, a heuristic escape scheme based on sampled potential transformation vectors is used to avoid local minima and achieve optimal registration. Experiments involving one unmanned aerial vehicle and one unmanned surface vehicle were conducted to verify the proposed technique. The experimental results were compared with those of normal ICP registration algorithms to demonstrate the superior performance of the proposed method.

Graphical Abstract

1. Introduction

One of the main applications of mobile robots is large-scale perception of the outdoor environment. Recently, many studies have focused on fusing environmental data from multiple robots, especially heterogeneous robots such as unmanned aerial vehicles (UAVs), unmanned ground vehicles (UGVs), unmanned surface vehicles (USVs), and even remoted operated vehicles (ROVs) to achieve better and complementary perception. However, the huge differences in experimental data obtained by heterogeneous robots, such as in the view angles and resolution, make combining the data difficult, especially with the demand for highly accurate perception.
The data fusion technique of 3D model registration (3D-MR) is extensively used in medical image registration [1,2], simultaneous localization and mapping (SLAM) of mobile robots [3,4,5], remote sensing and image processing [6], etc. Existing 3D-MR algorithms may be categorized into two classes: Featured-Based and featureless. Feature-based 3D-MR predefines some offline descriptors, such as Harris corners [7], Susan corners [8], and spin-images [9]. These descriptors are then used as features to find correspondences between the two 3D point clouds that need to be fused. Of these descriptors, the spin-image has been proven to be accurate and robust [10,11,12]. However, approaches that use it suffer from a heavy computational burden [10]. Moreover, the performance of feature-based MR depends on the accuracy of the preselected descriptors. This may limit its applicability to large-scale outdoor environment registration, for which accurate descriptors may be impossible to obtain. In order to reduce the feature dependency, Bao et al. [13] proposed using semantic prior information for dense object reconstruction. Ho and Gibbins used semantic features to align city-scale LiDAR point clouds [14].
In contrast to feature-based MR, the featureless scheme can be used to model unstructured environments where accurate features are difficult to predefine [14]. Iterative closest point (ICP) [15,16,17] is one of the most commonly used featureless 3D-MR algorithms. With ICP, one point cloud (normally called the reference or target) is fixed, while the other (called the source) is transformed to match the reference. The algorithm iteratively revises the transformation to minimize the distance between the two point clouds. Point-to-point ICP calculates the distance between two paired points and optimizes the distance by gradient descent. Thus, its performance closely depends on a good initial estimate. On the other hand, point-to-plane ICP takes advantage of the surface normal information to improve the robustness to the initial estimate. Plane-to-plane ICP uses the surface structure to measure the distance and has been proved to be more robust with respect to a large initial transformation error [18].
ICP algorithms have also been applied to take advantages of multi-resolution data. For example, Jost et al. [19,20] used multi-resolution ICP (M-ICP) to accelerate the registration procedure by scattering the point cloud at a lower resolution level. This scheme can also improve the robustness against the initial estimation. However, when used for large-scale outdoor environment model registration, most ICP algorithms may suffer from the local minimum problem. This is mainly due to the gradient-descent-based optimization procedure, which cannot guarantee a global optimal resolution. A normal approach to resolving the local minimum problem is deliberately selecting the initial estimation so that the iterative calculation will completely avoid local minima. However, how to guarantee that the initial value is sufficiently accurate is still an open problem, especially when the data are from different view angles and have different resolutions. Most recently, Yang et al. [21] proposed global optimal ICP (GO-ICP) to solve the local minimum problem. GO-ICP combines the ICP framework with a branch-and-bound (BnB) scheme to try to search the space more efficiently and thus guarantee global optimization. However, the high computational burden may be a problem when GO-ICP is used for the model registration of a large-scale outdoor environment, where unstructured datasets may involve large amounts of sensory data.
In this paper, we propose an enhanced ICP algorithm for the fusion of cloud points obtained by heterogeneous robots. Three enhancements are presented: (1) a hierarchical searching scheme that is combined with the octree-based 3D modeling technique to improve the robustness with respect to the initial modeling error and realize coarse-to-fine registration of large-scale multi-resolution data; (2) an early warning mechanism to perceive the local minimum problem; and (3) a heuristic escape scheme based on sampling potential transformation vectors to avoid local minima. Experiments using one UAV and one USV, both carrying cameras onboard, to measure a riverside environment were conducted to verify the proposed technique. The contents of this paper are organized as follows: first, the ICP algorithms are introduced in Section 2. Then, the proposed enhancement techniques are explained in Section 3. In Section 4, the experimental setup is introduced, and an analysis of the results along with a comparison with the results of normal ICP algorithms is presented for an evaluation of the performance of the proposed method. Finally, the conclusions and future work are discussed in Section 5.

2. Preliminaries

Let P ∈ {RN} and Q ∈ {RM} represent the 3D datasets of the scan and global models, respectively, where N and M are the point numbers inside P and Q, respectively. Without losing generality, if M > N, the standard ICP is to find the sub-point sets {qi}Ni=1 in model Q that are most similar to the scan model P, i.e., to solve the problem:
min T ( i N | | ( T p i q i | | 2 ) T = [ R t 0 1 ] s . t . R T R = I , det ( R ) = 1
where T ∈ T4 × 4 is the combination of the rotation matrix R and translation vector t. Thus, the registration problem of two 3D models is converted into an optimization problem. However, the standard ICP cannot guarantee an optimal match and may suffer from local minima when a bad initial registration is used. Furthermore, the ICP itself cannot indicate whether or not it has been trapped into a local minimum.
Generalized-ICP (G-ICP) [18] uses the plane-to-plane scheme to improve the robustness. In G-ICP, all of the points in P and Q can be remodeled as a Gaussian distribution:
p i ~ N ( p i m , C i P ) q i ~ N ( q i m , C i Q )
where pmi and qmi are the measured points and {CPi} and {CQi} are the covariance matrices associated with the measured points. Usually, pi and qi are assumed to be independent of each other.
For the transformation T, a new transformation error for pi and qi can be defined as:
d i ( T ) = q i T p i
Thus, d(T)i is also a stochastic variant with the following Gaussian distribution:
d i ( T * ) ~ N ( q ^ i T * p ^ i , C i Q + T * C i P ( T * ) T )
By using the maximum likelihood estimate, the ICP in Equation (1) can be transformed into a probabilistic model:
T = arg max T i p ( d i ( T ) )     = arg max T i log ( p ( d i ( T ) ) )     = arg min T i ( d i ( T ) ) T ( C i Q + T C i P T T ) 1 d i ( T )
If we set CQi = I and Cpi = 0, the above equation can be converted to the original ICP form:
T = arg min T i ( d i ( T ) ) T d i ( T )     = arg min T i | | T p i q i | | 2
G-ICP computes the covariance matrices along the direction normal to the local surface of each point, and the searching regions are larger compared with that of the standard point-to-point ICP. Thus, the possibility of G-ICP falling into a local minimum is reduced, and the robustness against measurement noise is improved. However, G-ICP increases the computational burden because of the stochastic calculations.

3. New Proposed Registration Algorithm

Figure 1 shows a flowchart of our new proposed algorithm. It includes the following four steps:
Step I. 
Point cloud standardization and extraction
Transform both the scan point cloud P (i.e., local 3D model with NP points) and model point cloud Q (i.e., global 3D model with NQ points) to the same resolution level through the use of the OctoMap [22] data structure. All different resolution level of a single point cloud can be generated from the same OctoMap.
Figure 1. Pipe flow of the enhanced ICP: Coarse-to-Fine Iteration works as a Multi-Resolution ICP registration step; Early Warning Mechanism is introduced to estimate the potential local optima; Heuristic Escaping help the data point cloud escape from the current local optimal by estimating the potential optimal transformation.
Figure 1. Pipe flow of the enhanced ICP: Coarse-to-Fine Iteration works as a Multi-Resolution ICP registration step; Early Warning Mechanism is introduced to estimate the potential local optima; Heuristic Escaping help the data point cloud escape from the current local optimal by estimating the potential optimal transformation.
Sensors 16 00228 g001
Step II. 
Coarse to fine iteration
(a)
Align the scan point cloud P and model point cloud Q at the current resolution level.
(b)
Calculate the efficiency of the current ICP registration by using the registration index Ikcur and tendency index Trendkcur, where k represents the kth resolution level and cur represents the current ICP registration.
Step III. 
Early warning mechanism
(a)
Adjust the resolution level based on the value of Trendkcur.
(b)
If Trendkcur is bigger than a given positive threshold, go directly to Step II. If Trendkcur is just bigger than zero, update the resolution to a higher level and then go to Step II.
(c)
If Ikcur is bigger than the given threshold, the algorithm has found a global optimal result, and go to Step V. Otherwise, the early warning has been triggered, and go to Step IV.
Step IV. 
Heuristic escape
(a)
Cluster the current aligned scan point cloud P based on distances between each point in P with its closest point in the model point cloud Q. Then, extract the biggest clustered point cloud Pmerge with the distance below the given threshold Threscluster.
(b)
Estimate the normal vector and normal surface of the point cloud Pmerge and transform the current scan point cloud into six temporary scan point clouds P(n)temp, where n is from 1 to 6;
(c)
Weight each transformation vectors according to the registration index at each temporary scan point cloud P(n)temp and generate the transformation vector according to the ICP registration.
(d)
Estimate the potential translation Tescape based on the weighted translation vectors and then transform the scan point cloud P according to the estimated translation vector. Go to Step III.

3.1. Octree-Based 3D Map Extraction

3D point cloud models obtained by using distinct devices or different platforms usually differ in scale, noise, and especially resolution. We used OctoMap to unify the point clouds with different resolution levels and generate multi-resolution maps based on the hierarchical octree data structure.
According to Hornung et al. [22], the occupancy of each OctoMap lead node or the highest-resolution map is updated according to the observations {s1:i} and the initial occupancy estimation:
L ( n | s 1 : t ) 0 = L ( n | s 1 : t 1 ) 0 + L ( n | s t ) 0
where L(n|s1:t)0 represents the nth leaf node of OctoMap and L(n|st)0 is the log-odds measurement of the nth leaf node based on current observations. The lower-resolution level node is generated directly from a higher-resolution level node:
L ( m | s 1 : t ) i + 1 = j 8 L ( n j | s 1 : t ) i
where L(m|s1:t)I+1 refers to eight lower-resolution nodes L(m|s1:t)I+1 because of the 3D octree structure [23]. Thus, multi-resolution maps can be generated from and saved in a single OctoMap structure.

3.2. Early Warning Mechanism

Because traditional ICP methods cannot tell whether or not they have been trapped in a local minimum, we introduced the early warning mechanism to perceive the local minimum situation. We defined the registration index Ikcur for the current resolution level k:
I c u r k = exp ( 1 / D k ) D k = ( i = 1 N p | | q i k T o p t p i k | | 2 )
where Dk is the sum of the Euclidean distances between the scan point pki and its nearest model point qki. Topt is the optimal transformation matrix based on the current alignment. Actually, the registration index Ikcur defines the registration error on the kth resolution level. If the registration index is beyond the given error ThresI, the current registration has meet the error tolerating band.
However, a single registration index cannot be used to perceive the local minimum situation. We defined the tendency index Trendkcur to describe the tendency of the current kth resolution level’s registration procedure:
T r e n d c u r k = ( I c u r k I p r e k ) T c u r k
where Ikpre is the previous registration index on the kth resolution level and Ikcur is the current registration index on the kth resolution level. Tkcur is the computation time of the current registration loop on the kth resolution level. The tendency index Trendkcur measures the velocity of the current registration procedure at the kth resolution. Usually, a higher velocity means an efficient local optimal, while a lower or in some cases even negative velocity may mean the registration procedure has reached a local minimum situation. The resolution level levelre is determined by the tendency index Trendkcur:
l e v e l r e = { l e v e l r e , T r e n d c u r k > T h r e s t r e n d l e v e l r e 2 , T h r e s t e n d T r e n d c u r k δ T h r e s t r e n d l e v e l r e 2 , T r e n d c u r k < δ T h r e s t r e n d
where δ is a constant parameter between 0 and 1. If the tendency index is beyond the given threshold ThresTrend, the registration may achieve more accurate results based on the current resolution level. Then, the coarse-to-fine registration scheme can continue. However, if this index is only bigger than δ times ThresTend, the registration process may not have been able to achieve efficient improvement at the current resolution level. Then, both point clouds are transformed into a higher resolution level through the use of OctoMap, and the registration process continues. Otherwise, the registration process has hit a local optimum. Then the optimum is determined to be a local minimum or global optimum according to the registration index Ikcur. If the registration index is beyond ThresI, the registration process ends, and the aligned point clouds are output. Otherwise, the current registration may be a local minimum. The early warning is triggered, and the algorithm enters the heuristic escape scheme.

3.3. Heuristic Escape

The heuristic escape scheme helps the scan point cloud exit the local minimum by estimating the proper rotation angle Rescape and translation Tescape based on sampled potential rotation angles and transformation vectors. Both rotation angles and translation vectors are relayed to the merged scan and model point clouds.
To extract the merged point cloud, the distance between each point in the scan point cloud P and the closest point in the model point cloud Q is evaluated, and the scan points with a distance greater than the constant threshold Threscluster are filtered out. The remaining points in the scan point cloud are clustered by the k-means method, and the biggest clustered point cloud Pmerge is extracted as the merged point cloud. According to Rusu et al. [24], the normal vector of Pmerge can be estimated from the eigenvalue of the covariance matrix of the point cloud:
C o v = 1 N i = 1 N ( p i p ¯ ) ( p i p ¯ ) T C o v v j = λ j v j , j { 1 , 2 , 3 } p ¯ = 1 N i = 1 N p i
where N is the number of points in the point cloud, λj is the jth eigenvalue of the matrix Cov, vt is its corresponding eigenvector, and j is from 1 to 3. We assumed the eigenvalue is ordered by λ1λ2λ3, so v3 can be taken as the normal vector of the point cloud Pmerge. Then, the normal surface of Pmerge can also be determined by v3.
Based on the current position, we can measure the registration index for six equally divided rotation angles on the normal surface. The escape rotation Rescape is the rotation matrix Rj of the relative angle j with the highest registration index:
R e s c a p e = { R j | j = max i = 0 , 60 , 120...300 I i }
where Ii is the registration index of the corresponding rotation angle i in degree.
To estimate the escape translation, the scan point cloud is transformed to temporary scan point clouds P(n)temp along the six transformation matrices Tpotentialn. Two matrixes are along the normal vector (i.e., blue axis), and the other four are from the normal surface Pmerge (i.e., red and green axes), where n is from 1 to 6. Then, each temporary scan point cloud is aligned to the model point cloud by the standard ICP method. The corresponding potential transformation vector tn is generated by
t n = [ 0 3 × 3 1 3 × 1 ] T n I C P T n p o t e ntial [ 1 3 × 1 0 ]
where TICPn is the relative ICP registration matrix. Figure 2 shows the six potential transformation vectors as the green lines. Then, tn is weighted to the registration index of P(n)temp.
Figure 2. Escape direction estimation: v3 is the normal vector of the point cloud Pmerge, the potential initial transformations are allow the 3 axis of x, y and v3. Dotted green lines are the transformations estimated by ICP registration and the thick green lines tn are the combination of initial transformation and ICP estimation. Thick yellow line represent of the combination of tn, and red ball is desired registration.
Figure 2. Escape direction estimation: v3 is the normal vector of the point cloud Pmerge, the potential initial transformations are allow the 3 axis of x, y and v3. Dotted green lines are the transformations estimated by ICP registration and the thick green lines tn are the combination of initial transformation and ICP estimation. Thick yellow line represent of the combination of tn, and red ball is desired registration.
Sensors 16 00228 g002
Finally, the proper escape translation Tescape can be estimated based on the six weighted potential transformation vectors:
T e s c a p e = 1 6 n = 1 6 θ n t n θ n = I n n = 1 6 I n , n = 1 , 2 , 3...6
where θn is the normalized weight of the kth potential transformation. The escape translation is shown as the yellow line in Figure 2. Then, the scan point cloud is transformed according to the escape translation. Simultaneously, the resolution level of the point clouds is transformed to a higher resolution level, and the coarse-to-fine iteration scheme is continued.

4. Experiments and Results

4.1. Experiment Setup

To verify the performance improvement of the proposed algorithm, experiments were conducted on the cooperation of multiple heterogeneous UAV and USV at a river bank. Both robots were equipped with a navigation system for pose measurement and LiDAR for environment perception, as shown in Figure 3. The pose of each platform was estimated with the inertial measurement unit (IMU) and differential Global Positioning System (GPS) at an output frequency of 100 Hz.
Figure 3. Experiment Vehicles: (a) a UAV is equipped with a Velodyne VLP-16 LiDAR to generate the Model point cloud, where the resolution level is 1 m; (b) a USV is equipped with a Velodyne 32e Lidar, which could generate the local Scan point cloud at the resolution level at 0.2 m.
Figure 3. Experiment Vehicles: (a) a UAV is equipped with a Velodyne VLP-16 LiDAR to generate the Model point cloud, where the resolution level is 1 m; (b) a USV is equipped with a Velodyne 32e Lidar, which could generate the local Scan point cloud at the resolution level at 0.2 m.
Sensors 16 00228 g003
As shown in Figure 3a,b, the model was extracted from a bay. The points were collected by a Velodyne VLP-16 LiDAR mounted on the UAV that generated 300,000 points per second. The model point cloud was generated through an offline SLAM method. The scan point cloud was collected by a Velodyne 32e LiDAR mounted on USV that generated about 700,000 points per second. In our experiments, all of the environmental data were gathered online on an embedded board, and the registration algorithm ran offline on a laptop (Think-pad x220: Intel i5-2410 m 4 core @ 2.30 GHz CPU and 8 GB RAM) from Lenovo. The software was programmed in C++ with the Robot Operating System (ROS) [25] framework and Point Cloud Library (PCL) [26].
The small initial translation error was [10 m, 15 m, 10 m] on the roll, pitch, and yaw axes, and the large initial translation error was about 20 m. The small initial rotation error was about [5.7°, 5.7°, 15.6°], and the large initial rotational error was about 30°.
We tested the registration methods in two different registration experiments: A slender bank with complex terrain, which is circled in yellow in Figure 4b; and a triangular area with diverse elevations, which is circled in blue in the same figure. Table 1 gives the details of each experiment. To verify the robustness against different resolution levels, the model point clouds were kept at the same resolution level in both experiments, but the resolution level of the scan point clouds was set to 0.5 m for the slender bank and 0.2 m for the triangular area.
Table 1. Experimental conditions.
Table 1. Experimental conditions.
No.DatasetsNumber of PointsResolution
Slender bank
ExIModel212,9121 m
Scan40,3000.5 m
Triangular area
ExIIModel212,9121 m
Scan125,4930.2 m
To quantitatively evaluate the registration accuracy, the following registration error index ΔT was defined:
Δ T = [ Δ R Δ t 0 1 ] = T r × T e
where Tr is the corresponding transformation obtained through using different registration algorithms and Te is the initial transformation error.
Figure 4. Experimental site (middle) and its 3D models: (a) 3D model obtained from USV; (b) satellite imagery of the experimental site, the green circled area is the slender bank and the blue circled area is the triangular area.
Figure 4. Experimental site (middle) and its 3D models: (a) 3D model obtained from USV; (b) satellite imagery of the experimental site, the green circled area is the slender bank and the blue circled area is the triangular area.
Sensors 16 00228 g004
Similarly, the translation error et and rotation error er can be defined based on the Euclidean norm of the translation vector and geodesic distance as follows:
e t = | | Δ t | | e r = arccos ( t r a c e ( Δ R ) 1 2 )
The followed subsections present detailed analysis of the experiment results to demonstrate the improvement in performance.

4.2. Multi-Resolution Map Generation

Figure 5 shows both scan and model point clouds at resolution levels of 0.5, 2, and 10 m. With the hierarchical property of the OctoMap structure [22], all different resolution-level maps of the same point cloud could be generated from a single OctoMap data structure. The lower-resolution level map could be directly generated from a higher-resolution level map, as shown in Equation (8).
Figure 5. Multi-resolution maps, where r is the resolution of the 3D model. The blue ones are the global model maps, and the red ones are the local scan maps, three different resolution levels (0.5 m, 2 m and 10 m) are listed in this figure.
Figure 5. Multi-resolution maps, where r is the resolution of the 3D model. The blue ones are the global model maps, and the red ones are the local scan maps, three different resolution levels (0.5 m, 2 m and 10 m) are listed in this figure.
Sensors 16 00228 g005
At the 10-m resolution level, the maps were not sensitive to noise and outliers. Everything was transformed into a simple data structure. This property improved the robustness against the initial registration error.

4.3. Warning and Escape

We then verified the robustness of our proposed heuristic escape scheme against the local minimum problem. Figure 6a–e lists five local minimum registrations without our heuristic escape, Figure 6f presents one global optimal registration with our escape scheme. Figure 7 gives a detailed registration process for the ExII triangular area case with an initial translation error of [10 m, 30 m, 10 m] and rotation error of [−10°, 10°, 55°]. Figure 7a shows the initial point clouds of both scan (colored in black) and model (colored in red). Figure 7b,c shows the coarse-to-fine registration scheme. At the resolution level of 5 m, as shown by the blue circle of Figure 7c, the tendency index Trendkcur according to Equation (10) was below the expected δ times ThresTend. The registration index Ikcur evaluated by Equation (9) was also lower than ThresI. Thus, the early warning was triggered, and the registration process entered the heuristic escape step. The resolution level was lowered to 10 m, as shown in Figure 7d, and a new transformation was generated by the heuristic escape estimation based on Equations (9)–(11). Finally, the registration result reached a global optimum, as shown in Figure 7f.
Different initial transformation errors led to variations in the escape times. Figure 8 shows the relation between the root mean square (RMS) of the initial transformation error and the escape times. As the RMS error increased, the escape time grew with a ladder pattern.
Figure 6. Local minima of the triangular area test: (ae) show five local minimum registrations in the triangle area test; (f) shows the desired registration result.
Figure 6. Local minima of the triangular area test: (ae) show five local minimum registrations in the triangle area test; (f) shows the desired registration result.
Sensors 16 00228 g006
Figure 7. Heuristic escape: (a) shows the original transformation; (bf) show the multi-resolution registration with the heuristic escape; the registration process hits a local optimal in the blue circle of (c); (d) shows the heuristic escaping transformation; (ef) shows the following registration process.
Figure 7. Heuristic escape: (a) shows the original transformation; (bf) show the multi-resolution registration with the heuristic escape; the registration process hits a local optimal in the blue circle of (c); (d) shows the heuristic escaping transformation; (ef) shows the following registration process.
Sensors 16 00228 g007
Figure 8. Escape times vs. RMS error.
Figure 8. Escape times vs. RMS error.
Sensors 16 00228 g008

4.4. Convergence

Besides our proposed enhanced ICP, we also evaluated three other ICP-based methods for comparison: Standard-ICP, M-ICP, and G-ICP. Figure 9 and Figure 10 show the results for the slender bank and triangular area experiments. The red point cloud represents the model point cloud Q. The green, yellow, purple, and pink point clouds represent the registration results of the enhanced ICP, standard-ICP, M-ICP, and G-ICP, respectively. Each method was tested for both the normal initial transformation error and abrupt turn case in the experiment.
For the normal initial transformation error case, the initial translation error was randomly sampled within [±10, ±10, ±10], and the rotation error was sampled within [±20°, ±20°, ±40°]. Although all methods obtained acceptable results for the triangular area test, as shown in Figure 9b, the other methods failed to match the model point cloud for the slender bank test owing to the complexity of the terrain as shown in Figure 9a. In contrast, our proposed enhanced ICP method guaranteed correct results with a final RMS error of 1.1 m and rotation error of 1.5°. Table 2 summarizes the registration results of 40 normal initial transformation error tests on the slender bank and triangular area in Detail 2. On average, our proposed method could achieve an accurate match even with a rough initial error.
To verify the abrupt turn problem with the different ICP-based methods, we set the initial rotation error on the z-axis around 160°–220°, as shown in Figure 10. The Standard ICP, M-ICP, and G-ICP became trapped in a local minimum in both the slender bank and triangular area test. Our proposed enhanced ICP could efficiently estimate the local minimum problem by using the early warning mechanism and eventually escape with a proper transformation by using our heuristic escape scheme.
Figure 9. Registration results for the normal initial error test. In the slender bank test, the translation error was [5, 4, 4], and the rotation error was [17.1°, 20°, 34.2°], our proposed method make the registration with the RMS error at 1.1 m and rotation error at 1.5°. In the triangular area test, the translation error was [4, 3, 10], and the rotation error was [10°, 20°, 34.2°], our proposed method guarantee the registration result with the RMS error at 0.4 m and rotation error at 1.1°.
Figure 9. Registration results for the normal initial error test. In the slender bank test, the translation error was [5, 4, 4], and the rotation error was [17.1°, 20°, 34.2°], our proposed method make the registration with the RMS error at 1.1 m and rotation error at 1.5°. In the triangular area test, the translation error was [4, 3, 10], and the rotation error was [10°, 20°, 34.2°], our proposed method guarantee the registration result with the RMS error at 0.4 m and rotation error at 1.1°.
Sensors 16 00228 g009
Table 2. Registration results with a normal initial error.
Table 2. Registration results with a normal initial error.
MethodTranslation Error etRotation Error er
minμtσtminμrσr
Slender Bank Experiment
ICP1.45 m8.34 m6.32 m3.4°24.1°10.2°
M-ICP1.55 m6.57 m4.31 m1.6°15.8°5.9°
G-ICP0.45 m5.11 m2.31 m0.2°12.09°3.8°
OUR0.23 m1.78 m1.98 m0.4°1.7°1.2°
Triangular area Experiment
ICP1.24 m8.23 m9.21 m2.3°19.4°12.2°
M-ICP1.77 m5.34 m6.53 m2.1°15.4°8.6°
G-ICP0.30 m4.23 m3.34 m0.5°12.7°6.1°
OUR0.10 m1.32 m1.42 m1.1°2.8°1.8°
μt is the average translation error; σt is the variance of the translation error; μr is the average rotation error; and σt is the variance of the rotation error. The translation errors were within [±10, ±10, ±10], and the rotation errors were within [±20°, ±20°, ±40°].
Figure 10. Registration results of the abrupt turn test. In the slender bank test, the translation error was [15, 14, 20], and the rotation error was [17°, 20°, 190°], our proposed method make the registration with the RMS error at 1.5 m and rotation error at 2.3°. In the triangular area test, the translation error was [14, 15, 20], and the rotation error was [10°, 20°, 171°], our proposed method guarantee the registration result with the RMS error at 2.3 m and rotation error at 1.7°.
Figure 10. Registration results of the abrupt turn test. In the slender bank test, the translation error was [15, 14, 20], and the rotation error was [17°, 20°, 190°], our proposed method make the registration with the RMS error at 1.5 m and rotation error at 2.3°. In the triangular area test, the translation error was [14, 15, 20], and the rotation error was [10°, 20°, 171°], our proposed method guarantee the registration result with the RMS error at 2.3 m and rotation error at 1.7°.
Sensors 16 00228 g010
Table 3 summarizes the results of 40 abrupt turn tests in detail. Even with a tough abrupt turn, our proposed enhanced ICP method was able to guarantee matching accuracy, while the other method all became trapped in a local minimum.
Table 3. Registration results with an abrupt turn.
Table 3. Registration results with an abrupt turn.
MethodTranslation Error etRotation Error er
minμtσtminμrσr
Slender bank experiment
ICP17.21 m24.23 m16.32 m154.4°176.1°21.2°
M-ICP13.23 m21.23 m18.31 m156.6°182.8°33.9°
G-ICP10.32 m15.21 m12.11 m126.4°192.09°45.8°
OUR0.31 m4.55 m3.98 m0.1°15.7°8.2°
Triangular area experiment
ICP7.32 m23.34 m16.21 m126.4°189.1°28.2°
M-ICP16.42 m26.57 m15.31 m145.6°176.8°35.9°
G-ICP9.89 m28.11 m13.23 m170.2°181.9°49.8°
OUR0.21 m6.78 m4.98 m0.4°14.7°7.4°
The rotation error along the z-axis was around 160°–220°.

4.5. Running Time

Figure 11a presents the average registration times of the methods in both experiments with normal initial transformation errors. The proposed method was not as fast as the single standard ICP or M-ICP method. This is because of the heuristic escape scheme, which combines potential direction estimation and G-ICP to escape from the local minimum. On average, our proposed method reduced the registration time by 30% compared to G-ICP while guaranteeing registration accuracy at the same time. For the abrupt turn case, we only evaluated the relation between the RMS error and registration time of our proposed method. As shown in Figure 11b, the registration time for the abrupt case was closely related to the heuristic escape time, as given in Figure 8. A larger initial transformation error increased the heuristic escape time, which also increased the computation time.
Figure 11. Time cost analysis: (a) in both Slender Bank test and Triangle Area test, our method could make the alignment around 2 s, faster than the generalized ICP, but slower than the standard-ICP method and multi-resolution ICP method because of the heuristic escape scheme; (b) the registration time is highly related to RMS error.
Figure 11. Time cost analysis: (a) in both Slender Bank test and Triangle Area test, our method could make the alignment around 2 s, faster than the generalized ICP, but slower than the standard-ICP method and multi-resolution ICP method because of the heuristic escape scheme; (b) the registration time is highly related to RMS error.
Sensors 16 00228 g011

5. Conclusions

This paper presents the fast and accurate registration of a large-scale 3D environmental model for application to heterogeneous mobile robot cooperation with a rough initial transformation error. A hierarchical searching scheme is combined with the octree-based ICP algorithm. A novel early warning mechanism is proposed to perceive the local minimum problem, and a heuristic escape scheme is used to avoid local minima and achieve optimal registration. Experiments involving one UAV and one USV were conducted to verify the proposed technique, and the experimental results were compared with those of normal ICP registration algorithms. The results showed that the proposed algorithm is insensitive to the initial transformation error and can make effective heuristic escape decisions to resolve the local minimum problem.

Acknowledgments

Research supported by the National Natural Science of China (Grant Nos. 61473282, 61433016) and the State Key Laboratory of Robotics (Grand No. 2015-Z02).

Author Contributions

Peng Yin has done this research as part of his Ph.D. dissertation under the supervision of Jianda Han. Yuqing He and Feng Gu have contributed to the experiments design in this paper, and the result analysis are done by Peng Yin and Yuqing He. The paper is written by Peng Yin, and revised by Jianda Han and Yuqing He. All authors were involved in discussions over the past year that shaped the paper in its final version.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Du, M.; Xing, Y.; Suo, J.; Liu, B.; Jia, N.; Huo, R.; Chen, C.; Liu, Y. Real-time automatic hospital-wide surveillance of nosocomial infections and outbreaks in a large Chinese tertiary hospital. BMC Med. Inform. Decis. Mak. 2014, 14. [Google Scholar] [CrossRef] [PubMed]
  2. Zheng, Y.; Daniel, E.; Hunter, A.A.; Xiao, R.; Gao, J.; Li, H.; Maguire, M.G.; Brainard, D.H.; Gee, J.C. Landmark matching based retinal image alignment by enforcing sparsity in correspondence matrix. Med. Image Anal. 2014, 18, 903–913. [Google Scholar] [CrossRef] [PubMed]
  3. Handa, A.; Whelan, T.; McDonald, J.; Davison, A.J. A Benchmark for RGB-D Visual Odometry, 3D Reconstruction and SLAM. In Proceedings of the 2014 IEEE International Conference on Robotics and Automation, Hong Kong, China, 31 May–7 June 2014; pp. 1524–1531.
  4. Salas-Moreno, R.F.; Glocken, B.; Kelly, P.H.J.; Davison, A.J. Dense Planar SLAM. In Proceedings of the IEEE International Symposium on Mixed and Augmented Reality (ISMAR), Munich, Germany, 10–12 September 2014; pp. 157–164.
  5. Jiang, Y.; Chen, H.; Xiong, G.; Scaramuzza, D. ICP Stereo Visual Odometry for Wheeled Vehicles based on a 1DOF Motion Prior. In Proceedings of the 2014 IEEE International Conference on Robotics and Automation, Hong Kong, China, 31 May–7 June 2014; pp. 585–592.
  6. Nießner, M.; Dai, A.; Fisher, M. Combining inertial navigation and ICP for real-time 3D surface reconstruction. Available online: http://graphics.stanford.edu/~niessner/papers/2014/0inertia/niessner2014combining.pdf (accessed on 22 January 2016).
  7. David, G. Distinctive Image Features from Scale-Invariant Keypoints. Int. J. Comput. Vis. 2004, 60, 91–110. [Google Scholar]
  8. Smith, S.M.; Brady, J.M. SUSAN—A new approach to low level image processing. Int. J. Comput. Vis. 1997, 23, 45–78. [Google Scholar] [CrossRef]
  9. Johnson, A. Spin-Images: A Representation for 3-D Surface Matching. Doctoral Dissertation, Carnegie Mellon University, Pittsburgh, PA, USA, 1997; pp. 1–7. [Google Scholar]
  10. He, Y.; Mei, Y. An efficient registration algorithm based on spin image for LiDAR 3D point cloud models. Neurocomputing 2015, 151, 354–363. [Google Scholar] [CrossRef]
  11. Dinh, H.Q.; Kropac, S. Multi-resolution Spin-images. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, New York, NY, USA, 17–22 June 2006; Volume 1, pp. 863–870.
  12. Assfalg, J.; Bertini, M.; Bimbo, A.D.; Pala, P. Content-based retrieval of 3-D objects using spin image signatures. IEEE Trans. Multimed. 2007, 9, 589–599. [Google Scholar] [CrossRef]
  13. Bao, S.Y.; Chandraker, M.; Lin, Y.; Savarese, S. Dense Object Reconstruction with Semantic Priors. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Portland, OR, USA, 23–28 June 2013; pp. 1264–1271.
  14. Ho, H.T.; Gibbins, D. Curvature-based approach for multi-scale feature extraction from 3D meshes and unstructured point clouds. IET Comput. Vis. 2009, 3, 201–212. [Google Scholar] [CrossRef]
  15. Besl, P.; McKay, N. A method for registration of 3-D shapes. IEEE Trans. Pattern Anal. Mach. Intell. 1992, 14, 239–256. [Google Scholar] [CrossRef]
  16. Chen, Y.; Medioni, G. Object Modelling by Registration of Multiple Range Images. In Proceedings of the 1991 IEEE International Conference on Robotics and Automation, Sacramento, CA, USA, 9–11 April 1991; Volume CH2969, pp. 2724–2729.
  17. Zhang, Z. Iterative point matching for registration of free-form curves and surfaces. Int. J. Comput. Vis. 1994, 13, 119–152. [Google Scholar] [CrossRef]
  18. Segal, A.; Haehnel, D.; Thrun, S. Generalized-ICP. Available online: http://www.robots.ox.ac.uk/~avsegal/resources/papers/Generalized_ICP.pdf (accessed on 22 January 2016).
  19. Jost, T.; Hugli, H. A Multi-resolution ICP with Heuristic Closest Point Search for Fast and Robust 3D Registration of Range Images. In Proceedings of the Fourth International Conference on 3-D Digital Imaging Modeling, Banff, AB, Canada, 6–10 October 2003.
  20. Jost, T.; Hugli, H. A Multi-resolution Scheme ICP Algorithm for Fast Shape Registration. In Proceedings of the First International Symposium on 3D Data Processing, Visualization and Transmission, Padova, Italy, 19–21 June 2002; pp. 2000–2003.
  21. Yang, J.; Li, H.; Jia, Y. Go-ICP: Solving 3D Registration Efficiently and Globally Optimally. In Proceedings of the 2013 IEEE International Conference on Computer Vision, Sydney, Australia, 1–8 December 2013; pp. 1457–1464.
  22. Hornung, A.; Wurm, K.M.; Bennewitz, M.; Stachniss, C.; Burgard, W. OctoMap: An efficient probabilistic 3D mapping framework based on octrees. Auton. Robot. 2013, 34, 189–206. [Google Scholar] [CrossRef]
  23. Zeng, M.; Zhao, F.; Zheng, J.; Liu, X. Octree-based fusion for real-time 3D reconstruction. Graph. Model. 2013, 75, 126–136. [Google Scholar] [CrossRef]
  24. Rusu, R.B.; Blodow, N.; Beetz, M. Fast Point Feature Histograms (FPFH) for 3D Registration. In Proceedings of the 2009 IEEE International Conference on Robotics and Automation, Kobe, Japan, 12–17 May 2009.
  25. Quigley, M.; Conley, K.; Gerkey, B.; Faust, J.; Foote, T.; Leibs, J.; Berger, E.; Wheeler, R.; Mg, A. ROS: An Open-Source Robot Operating System. Available online: http://pub1.willowgarage.com/~konolige/cs225B/docs/quigley-icra2009-ros.pdf (accessed on 22 January 2016).
  26. Rusu, R.B.; Cousins, S. 3D Is Here: Point Cloud Library (PCL). In Proceedings of the IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 1–4.

Share and Cite

MDPI and ACS Style

Han, J.; Yin, P.; He, Y.; Gu, F. Enhanced ICP for the Registration of Large-Scale 3D Environment Models: An Experimental Study. Sensors 2016, 16, 228. https://doi.org/10.3390/s16020228

AMA Style

Han J, Yin P, He Y, Gu F. Enhanced ICP for the Registration of Large-Scale 3D Environment Models: An Experimental Study. Sensors. 2016; 16(2):228. https://doi.org/10.3390/s16020228

Chicago/Turabian Style

Han, Jianda, Peng Yin, Yuqing He, and Feng Gu. 2016. "Enhanced ICP for the Registration of Large-Scale 3D Environment Models: An Experimental Study" Sensors 16, no. 2: 228. https://doi.org/10.3390/s16020228

APA Style

Han, J., Yin, P., He, Y., & Gu, F. (2016). Enhanced ICP for the Registration of Large-Scale 3D Environment Models: An Experimental Study. Sensors, 16(2), 228. https://doi.org/10.3390/s16020228

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop