Next Article in Journal
Energy-Efficient Deep Neural Networks for EEG Signal Noise Reduction in Next-Generation Green Wireless Networks and Industrial IoT Applications
Previous Article in Journal
Color Sensing and Image Reconstruction Using Intelligent Machine Learning Algorithm with PINIP Radial Junction Imager
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Coarse–Fine Registration of Point Cloud Based on New Improved Whale Optimization Algorithm and Iterative Closest Point Algorithm

School of Mechanical and Electrical Engineering, Changchun University of Technology, Changchun 130012, China
*
Author to whom correspondence should be addressed.
Symmetry 2023, 15(12), 2128; https://doi.org/10.3390/sym15122128
Submission received: 30 October 2023 / Revised: 21 November 2023 / Accepted: 24 November 2023 / Published: 29 November 2023

Abstract

:
In this paper, a point cloud coarse–fine registration method based on a new improved version of the whale optimization algorithm (NIWOA) and iterative closest point (ICP) algorithm is proposed; we use three strategies to improve the whale optimization algorithm (WOA). Firstly, circle chaotic mapping is used to initialize the whale population to increase the diversity of the population and make the search space more comprehensively explored. In addition, a Newton inertia weight is proposed to flexibly adjust the proportion of global exploration and local optimization in order to achieve the balance between the exploitation performance and exploration ability of the algorithm. At the same time, we introduce the nonlinear convergence factor that can adjust the size adaptively so that the algorithm can find the global optimal solution faster and more accurately, allowing it to avoid falling into the local optimal solution to a certain extent. The NIWOA algorithm is used to optimize the objective function of point cloud coarse registration to obtain the optimal coordinate transformation, and the rotation and translation operation is carried out on the registered point cloud. The obtained position is used as the initial pose of the ICP fine registration, and the final registration is achieved through ICP iteration. We conduct coarse registration experiments on multiple model point clouds and scene point clouds using the Stanford 3D Scanning Repository dataset and Princeton 3Dmatch dataset, respectively. The experimental results confirm that the NIWOA algorithm can not only find the initial position that is closer to the target point cloud, but also provide reliable initial values for the ICP algorithm. Meanwhile, the NIWOA algorithm combined with ICP experiment results show that the method has a higher registration accuracy and operation efficiency.

1. Introduction

Reverse engineering technology is widely used in modern industrial design, material production processes, product modeling and analysis, and other advanced manufacturing fields [1,2,3]. Three-dimensional (3D) reconstruction is an important research topic in reverse engineering technology [4,5]. In order to improve the accuracy of reconstruction and improve the operation efficiency of algorithms, many researchers have conducted in-depth exploration and research on 3D laser scanning systems [6], and point cloud registration technology, as an important part of 3D reconstruction and laser scanning, has become a hot topic for many scholars [7,8].
Due to the influence of the point cloud acquisition environment and target self-occlusion, the establishment of a complete 3D model of an object needs to measure multiple sets of point cloud data from multiple angles and accurately splice these point cloud data. The splicing process can usually be divided into registration problems of multiple two point cloud data, so it is of great significance to conduct in-depth research on registration problems of two point cloud data. The purpose of point cloud registration is to unify the overlapping point cloud data into the same coordinate system through coordinate transformation so as to obtain the complete 3D point cloud model of the target object. Point cloud registration is one of the key steps in 3D laser scanning, and the quality of registration directly determines the effect of 3D model reconstruction. At present, the most widely used point cloud registration method is the classical ICP algorithm [9], which calculates the optimal coordinate transformation between the two point cloud data through multiple iterations. However, the ICP algorithm needs to calculate all corresponding points between two point cloud data in each iteration, which adds a lot of computational burden to the algorithm, resulting in slow convergence and making it easy to fall into the local optimal solution when solving the optimal objective function value. To address these issues, researchers usually perform a coarse registration of the point cloud data before executing the ICP algorithm so that the two sets of point clouds have closer initial positions.
In recent years, with the popularization and wide application of artificial intelligence technology in various disciplines, swarm intelligence optimization algorithms have been receiving attention more and more by scholars and have been applied to the field of 3D imaging technology. Swarm intelligence is a class of algorithms inspired by the combination of natural intelligence and human intelligence, and the proposed algorithms only involve some basic mathematical calculations, which have the advantages of being easy to implement and being adaptable to various types of complex optimization problems. Representative algorithms in the field of swarm intelligence research include the genetic algorithm (GA) [10], particle swarm optimization (PSO) [11], bat algorithm (BA) [12], ant lion optimizer (ALO) [13], cuckoo search (CS) [14], invasive weed optimization (IWO) [15], etc. These classical algorithms and various forms of improved algorithms can achieve excellent results in different engineering optimization problems.
  • Optimization problems and related research in point cloud registration
The process of 3D point cloud registration is employed to solve the spatial coordinate transformation so that the distance between the corresponding points of the source point cloud and the target point cloud is zero. However, the measured point cloud in the real scene is affected by noise, error, and other factors, and the actual registration result cannot reach the ideal value after the coordinate transformation. Therefore, the essence of point cloud registration can be transformed into solving the global optimization problem, that is, solving the rigid body transformation matrix that minimizes the Euclidean distance between all corresponding points of two sets of point clouds in 3D space. Because the swarm intelligence optimization algorithm has good optimization performance for solving optimization problems, and because this kind of algorithm has a good global search and local optimization ability for complex spatial optimization problems, it has full research value and broad application prospects for optimizing the objective function of point cloud registration to achieve fast and accurate global registration. In this study, Shi et al. [16] proposed a point cloud coarse registration method by combining the filtering and adaptive fireworks algorithm [17], which showed a good performance in error analysis and stability analysis. Zhan et al. [18] proposed a 3D point cloud registration method based on entropy and the PSO algorithm and proved through experiments that their method can effectively improve the registration accuracy. Feng et al. [19] used the grey wolf optimizer (GWO) [20] algorithm to solve various parameters in the rotation matrix, which has great potential to improve the calculation speed and registration accuracy compared with other traditional registration methods. Liu et al. [21] used GA to optimize the HSV color information of a point cloud and applied it to point cloud registration to reduce registration errors. Chen et al. [22] introduced a new search equation and enhanced artificial bee colony (ABC) [23] algorithm to alternately search for the optimal solution, which effectively shortened the calculation time of registration.
  • Research on the whale optimization algorithm (WOA) and related improvements
The whale optimization algorithm is a novel optimization algorithm proposed in recent years by Mirjalili et al. [24] inspired by the hunting behavior of humpback whales. This algorithm simulates the “spiral bubble net”, the contraction enveloping mechanism, and the spiral position updating mechanism of humpback whales for foraging and has the characteristics of a simple structure, few adjustment parameters, and easy implementation. However, it was later found that the algorithm still has problems such as falling into local optimal and slow convergence. Therefore, many scholars have proposed various forms of improved WOA algorithms to overcome these shortcomings. Chakraborty et al. [25] introduced a unique selection parameter to balance the global and local search process of the algorithm, improved the adjustment vector, and introduced inertia weights in the exploitation stage, which greatly improved the search performance of the original algorithm. Liu et al. [26] introduced differential evolution operators to adjust the method of whale location update in the exploration and exploitation stages and improved the global exploration and local exploitation capabilities of the algorithm. Luo et al. [27] proposed a hybrid WOA named MDE-WOA, which not only improved the diversity of the population, but also made the algorithm easily jump out of the local optimal by embedding an improved differential evolution operator. Li et al. [28] added a tent chaos graph to the original WOA algorithm and adopted a tournament selection strategy to improve the optimization accuracy of the algorithm during the algorithm execution. Anitha et al. [29] proposed modified WOA (MWOA), which controls the position of the whale by adjusting the cosine function and introduces a correction factor to adjust the position update of the search agent during the motion process, effectively balancing the exploration and exploitation capabilities of the algorithm. Lin et al. [30] proposed a niching hybrid heuristic WOA (NHWOA), which introduced niche technology in the initialization to improve population diversity and inhibit premature convergence. Meanwhile, it flexibly adjusted algorithm parameters and carried out design disturbances on all search agents to improve the search performance of the algorithm and avoid falling into local optimum. Saha et al. [31] proposed cosine adapted modified WOA (CamWOA) with cosine adaptive correction. They adjusted the control parameters and used correction factors to reduce the step size. Yang et al. [32] improved WOA by introducing four strategies: chaotic mapping, adaptive weight and dynamic convergence factor, Levy flight mechanism, and evolutionary population dynamics, which showed certain advantages in benchmark test functions and actual optimization problems. Chakraborty et al. [33] proposed hunger search-based WOA (HSWOA) in 2022, which combined the hunger games search concept with the whale hunting process, and adaptively designed hunger games search (HGS) weights according to the whale’s hunger level to balance the overall search process of the algorithm. The above improved methods have different degrees of contribution to improve the search accuracy and convergence speed of the WOA, which provide valuable ideas for the further improvement of the algorithm’s performance. However, the problems of not being able to stably converge to the global optimum for some high-dimensional multi-peak test functions, the lack of a certain degree of robustness, and the high computational complexity are still more obvious in different improved algorithms. Therefore, it is of considerable practical significance to further study the WOA algorithm in terms of its operational theory and calculation process.
  • Coarse–fine registration of point cloud based on new improved whale optimization algorithm (NIWOA) and iterative closest point (ICP) algorithm
WOA and its improved algorithms have been applied in many engineering optimization problems and show good performance. In the field of 3D imaging and computer vision, WOA has been used as a basic tool to optimize the objective function. However, for the objective function optimization problem in 3D point cloud registration, only applying the original WOA to the search and optimization of rotation and translation parameters can no longer meet the requirements of accuracy and speed of registration operation. Therefore, some scholars have begun to improve WOA and use the improved WOA to optimize the registration process. For example, Li et al. [34] proposed an improved WOA based on nonlinear convergence factor and adaptive weight coefficient, which was combined with the RANSAC algorithm to realize initial registration, and used the obtained transformation matrix as the initial pose estimation for fine registration. In order to achieve higher registration accuracy and running speed, based on the original WOA algorithm, three strategies were proposed to improve the algorithm, which were circle chaotic mapping, Newton inertia weight, and nonlinear convergence factor. The new improved WOA (NIWOA) is used to optimize the objective function of the coarse registration to obtain the global optimal coordinate transformation to realize the initial pose estimation of the two point clouds, which provides a reliable initial value for the fine registration based on the ICP algorithm. Finally, the accuracy of registration is improved and the convergence speed of the algorithm is accelerated.
NIWOA’s contribution to point cloud registration and its comparison with classical methods are briefly outlined in Table 1. The specific proof is given in the experimental section.

2. Principle and Processing Operation of Point Cloud Registration

2.1. Principle of Point Cloud Registration

For two sets of point cloud data P and Q, P = { p i p i R 3 , i = 1 , 2 , , m } is the point cloud to be registered, Q = { q i q i R 3 , i = 1 , 2 , , n } is the target point cloud, and m and n are the number of points in the two sets of point cloud; the purpose of registration is to solve the space coordinate transformation matrix V between the point cloud P and Q so as to minimize the Euclidean distance between the two corresponding points. V can be expressed as Equation (1), where V contains three rotation angles α , β , γ around the x, y, z axes and three translation vectors v x , v y , v z along the x, y, z axes.
V = t R x R y R z
where
t = 1 0 0 0 0 1 0 0 0 0 1 0 v x v y v z 1 , R x = 1 0 0 0 0 cos α sin α 0 0 sin α cos α 0 0 1 0 1 , R y = cos β 0 sin β 0 0 1 0 0 sin β 0 cos β 0 0 0 0 1 , R z = cos γ sin γ 0 0 sin γ cos γ 0 0 0 0 1 0 0 1 0 1 .
Theoretically, the corresponding points of point cloud P and Q should coincide completely after the coordinate transformation of the rotation matrix and translation vector; that is, the Euclidean distance between the corresponding points should be zero. However, due to the measurement error in the process of point cloud acquisition and the influence of noisy environment, there will be some inevitable errors in the registration results. The task of point cloud registration is to minimize the Euclidean distance between the point cloud to be registered and the corresponding point of the target point cloud through the optimal rigid body coordinate transformation matrix V, which is essentially a global optimization problem. Point cloud fine registration using the ICP algorithm usually requires that two point clouds have relatively close initial relative positions between them. Therefore, before fine registration, two sets of point clouds are usually coarse-registered to obtain a more effective initial pose. This paper proposes using the new improved WOA (NIWOA) algorithm to optimize the rotation and translation matrix in the coarse registration stage so as to make the Euclidean distance of the corresponding points between the point cloud to be registered and the target point cloud closer.

2.2. Point Cloud Data Preprocessing

The point cloud data obtained by laser scanning equipment usually contains a large number of spatial points. The statistics and processing of all points in the point cloud will undoubtedly increase the computational burden of the registration process, which cannot ensure the final registration accuracy and affect the overall registration efficiency. In this paper, before the point cloud registration operation, the uniform sampling method is used to reduce the amount of data processing in the subsequent operation, and the registration speed is accelerated to some extent in the early stage.
In order to further improve the accuracy and efficiency of the algorithm, we perform a feature point extraction operation on the uniformly sampled point cloud. In this paper, the classical intrinsic shape signature (ISS) [35] feature point extraction algorithm is used to screen out the representative points. This algorithm has the advantages of a simple principle and easy implementation, especially suitable for point cloud data with uniform distribution. The main idea of the ISS algorithm is to calculate the eigenvalues of the covariance matrix of the neighborhood of each point and determine the key points through the linear relationship between the eigenvalues. The process can be expressed as follows:
(a)
Suppose there are n points in point cloud P, and the coordinate of any point is p i ( x i , y i , z i ) , i = 0 , 1 , , n 1 ;
(b)
The local coordinate system is established for each point p i in the point cloud, and the search radius r of each point is set;
(c)
Query all points p i j of each point p i in the point cloud data within the radius r; j is the number of neighborhood points, and calculate the weight as follows:
w i j = 1 p i : p i p i j 2 < r
(d)
Calculate the covariance matrix for each point p i :
C o v ( p i ) = j = 1 k p i p i j 2 < r w i j ( p i p i j ) ( p i p i j ) T j = 1 k p i p i j 2 < r w i j
(e)
Compute the eigenvalues λ i 1 , λ i 2 , λ i 3 of the covariance matrix for each point p i and sort them in descending order;
(f)
Set two thresholds γ 21 and γ 32 as not greater than 1; the points satisfying the following equation will be marked as ISS feature points.
λ i 2 / λ i 1 γ 21 λ i 3 / λ i 2 γ 32

2.3. Feature Description and Matching

The preprocessed point cloud data effectively retains the feature points that can represent its spatial geometric characteristics and filters out most of the useless points in the original point cloud. On the basis of feature extraction, we use the classical PFH [36] feature description method to represent the mathematical model of spatial features for points within the neighborhood of each feature point. The spatial feature description of PFH first constructs a local coordinate system for the point pairs composed of feature points and their neighborhood points, and the construction method can be expressed as follows:
u = h s v = u × ( p i p i ) p i p i 2 w = u × v
where h s is the normal vector of feature point p i , × represents the outer product between vectors, and u , v , and w are all unit vectors. Based on this local coordinate system, PFH describes the spatial features of points as follows:
α = v h t d = p i p i 2 ϕ = u ( p i p i ) d θ = arctan ( w h t , u h t )
where h t is the normal vector of the neighborhood point that forms a local point pair with point p i , · represents the inner product between vectors, and α , ϕ , θ , d together constitute the feature description of PFH.
The similarity of the feature point description in the point cloud to be registered and the target point cloud is used as the matching basis to find the spatially symmetric corresponding points in the two groups of point clouds. In this paper, the Euclidean distance between feature vectors is used to measure the similarity of matching point pairs. Here, the distance between feature vectors is denoted by f n p i f n q i / f n p i + f n q i . Then, a threshold τ is set, and the point pairs whose distance between feature vectors is less than or equal to τ are selected as matching point pairs. The selection conditions are as follows:
f n p i f n q i / f n p i + f n q i τ
where n is the number of feature descriptors, f is the feature descriptions of PFH, p i and q i are the feature points in the point cloud to be registered and the target point cloud, respectively, i = 1 , 2 , , N , and N is the number of points in the point cloud after feature extraction.
To further confirm the accuracy of the corresponding point pairs, we use the the RANSAC method [37] to eliminate the mismatching point pairs. The algorithm randomly selects three pairs of matching points as samples, calculates a model parameter from the point cloud to be registered to the target point cloud, then checks the deviation between all remaining matching point pairs and the model and compares the deviation with the threshold set according to experience. When the deviation is less than the threshold, the matching point pair belongs to the sample point in the model, that is, the correct matching point pair. Otherwise, it is identified as a wrong matching point pair. The current number of correct point pairs is recorded, and the process is repeated continuously. In each repetition, the parameter with the largest number of correctly matched point pairs is retained as the best model parameter. The number of iterations N required by the algorithm to satisfy all corresponding point pairs for at least one randomly selected sample model is computed as:
N = log 1 k log 1 1 e s
where k is the confidence that all randomly selected sample models are interior points (that is, correctly matched point pairs) at least once. s denotes the number of corresponding point pairs in the minimal sampling set. In 3D point cloud registration, three pairs of non-collinear matching points are needed to calculate the rigid transformation matrix, so s is set to 3. e is the outlier rate, which is the probability that a point pair does not match. After N iterations, the best model parameters are the estimated values of the desired model parameters, which are used as the correct rigid body transformation matrix, and the point pairs calculated from the transformation matrix are used as the set of exact matching point pairs.

3. The Classic Whale Optimization Algorithm

The WOA algorithm consists of three phases: encircling prey, bubble net attack, and searching prey; the performance of the algorithm depends on the balance between the global exploration phase and the local exploitation phase. In WOA, these three strategies are used to achieve a dynamic balance between exploration and exploitation processes.

3.1. Mathematical Model of Encircling Prey

Humpback whales can accurately identify the location of their prey and surround them. As the position of the optimal solution in the search space is unknown, WOA assumes that the best alternative solution in the current population (the optimal whale position) is the position of the target prey. After determining the position of the prey, the rest of the search agents (individual whales) will move to the best search agent (the prey) in different ways. At this stage, other whale individuals in the population approach the optimal position and update their positions using Equations (9) and (10):
D = C . X * ( t ) X ( t )
X ( t + 1 ) = X * ( t ) A D
where D represents the bounding step size and t is the current iteration number. A and C are coefficient vectors; X * is the position vector of the current prey; X is the position vector of the remaining search agents; || is the absolute value; and is a multiplication between elements. The vectors A and C can be calculated by the following equations:
A = 2 a r a
C = 2 r
where a is the coefficient in the iterative process (linearly decreasing from 2 to 0 in the iterative process); r is a random vector between 0 and 1. During the computation, the position of X around the optimal solution can be adjusted by adjusting the values of vectors A and C .

3.2. Mathematical Model of Bubble Net Attack

3.2.1. Shrinking Encircling Mechanism

During the iteration, this behavior is achieved by decreasing the value of a from 2 to 0 in Equation (11), in which case A will fluctuate within a , a , and when A is a random value within 1 , 1 , the whale can be located anywhere between the original position and the current optimal position.

3.2.2. Spiral Updating Position Mechanism

Firstly, the distance between the position of the search agent (individual whale) and the position of the prey is calculated, and then the position of the individual whale is updated by using Equation (13) by simulating the hunting method that the whale spits out the bubble net along the spiral line and approaches the prey.
X ( t + 1 ) = D e b l cos ( 2 π l ) + X * ( t )
where D = X * ( t ) X ( t ) represents the distance between the whale and the prey, b is a constant controlling the shape of the logarithmic spiral, and l is a random number in 1 , 1 .

3.2.3. Mathematical Model of the Search Prey Phase

In the stage of searching prey, the individual whale does not choose the current best individual as the target for position update but randomly selects an individual from the current population for position update. The purpose is to increase the search range and find the optimal solution while maintaining the diversity of the population. The mathematical model at this stage is as follows.
D = C X r a n d X
X ( t + 1 ) = X r a n d A . D
where X r a n d is the position of a randomly selected individual whale from the current population, || is the absolute value, and is a multiplication between elements.
In general, humpback whales swim around their prey in a shrank circle following a spiral trajectory. In order to simulate this behavior, suppose that there is a 50% probability to choose the shrinking bounding mechanism or the spiral mechanism to update the position of the whale in the optimization process, that is, p is a random number of [ 0 , 1 ] interval. When p 0.5 , the bubble net attack mechanism is entered, and the position is updated using Equation (13). When p < 0.5 , the system enters the stage of searching prey or encircling prey according to the absolute value of the coefficient vector A . If A < 1 , then it enters the stage of encircling the prey (the search agent moves in the direction of the prey), and the position is updated using Equation (10). When A 1 , it enters the stage of searching prey (the search agent moves in the direction of the randomly selected search agent), and the position is updated using Equation (15). Overall, WOA updates its position in the following way:
X ( t + 1 ) = X * ( t ) A D               A < 1 X r a n d A . D             A 1               i f     p < 0.5 D e b l cos ( 2 π l ) + X * ( t )         i f     p 0.5

4. New Improved Whale Optimization Algorithm

4.1. Population Initialization Based on Circle Chaotic Map

Chaos is a special motion form of a nonlinear dynamic system, which is a pseudo-random phenomenon between deterministic and random phenomena. In the latest research of the swarm intelligence algorithm, chaos is widely used in the initialization process to improve the optimization performance of the algorithm; a chaotic sequence has the characteristics of randomness and ergodicity. The main idea is to map the variables into the value interval of the chaotic variable space, and the obtained solution is linearly transformed into the optimization variable space.
The convergence accuracy and speed of the WOA algorithm are largely affected by the diversity of the initial population distribution. The classical WOA algorithm establishes the initial population by a random method, and the algorithm does not have any prior knowledge of the solution space of the optimization problem, which is easy to make the distribution of individual whales in the population uneven, and the spatial position of the optimization is not extensive enough. To address such problems, in order to produce a uniform population distribution during the initialization process of the algorithm and to improve the speed of the algorithm to search for the global optimal solution, this paper adds circle mapping in the process of population initialization, and the improved algorithm is able to conduct a comprehensive exploration of the search space, which increases the diversity of the initial population location of whales. To a certain extent, the optimization efficiency of the algorithm is increased. The circle mapping can be expressed as follows:
z t + 1 = mod ( z t + 0.2 ( 0.5 2 π ) sin ( 2 π z t ) , 1 )
where mod is the residual function. Based on the chaotic variables obtained from the circle mapping, we set the upper and lower boundaries of the search space, ub and lb; the improved algorithm produces a high-quality initial whale population [32]:
X i j = l b + z j × ( u b l b )
where X i j is the jth dimension coordinate of the ith search agent and z j is the jth dimension coordinate of z after internal random ordering.

4.2. Newton Inertia Weight

In order to achieve a better balance between the global search and local optimization ability of the algorithm, the inertia weight is widely used in the optimization process of intelligent algorithms. The commonly used inertia weight includes constant inertia weight, linear decreasing inertia weight, and nonlinear adaptive inertia weight. Setting the constant inertia weight as larger or smaller will affect the performance of the algorithm in different degrees, resulting in the decline of the accuracy of the algorithm. Although the linearly decreasing inertia weight can adjust the global and local search ability of the algorithm to a certain extent, its local search ability is weak in the early iteration, and it often misses the global optimum. In the later iteration, the global search ability becomes weak, and it is easy to fall into the local optimum value. The nonlinear adaptive inertia weight can adjust the search direction to the better area by comparing the objective function value, but it is not flexible enough to adjust the exploration and exploitation ability of the algorithm.
The classical whale optimization algorithm lacks adaptability in the process of updating the whale position. Therefore, this paper improves Equation (16) by designing an effective inertia weight. In view of the shortcomings of the traditional inertia weight, this section proposes a Newton inertia weight based on Newton interpolation formula according to the number of iterations of the algorithm, which can flexibly adjust the weight and better distribute the relationship between the exploration and exploitation capabilities of the original whale optimization algorithm. The weights corresponding to 0 times; intermediate iteration times T m i d and maximum iteration times T max are set as ω i n i t , ω m i d , and ω e n d , respectively. According to the three points ( 0 , ω i n i t ) , ( T m i d , ω m i d ) , and ( T max , ω e n d ) , the Newton interpolation formula is obtained as follows:
ω ( t ) = ω i n i t + M t + N t ( t T m i d )
where t is the current iteration number, M = ω m i d ω i n i t T m i d , N = 1 T max ( ω e n d ω m i d T max T m i d ω m i d ω i n i t T m i d ) .
In order to make the algorithm produce a relatively small weight when approaching the optimal point and accelerate the convergence speed of the algorithm, on this basis, we add the random disturbance part to the Newton interpolation formula and obtain the expression of the Newton inertia weight:
ω ( t ) = ω i n i t + ω m i d ω i n i t T m i d t + t T max ( ω e n d ω m i d T max T m i d ω m i d ω i n i t T m i d ) ( t T m i d ) + μ r a n d .
where μ is an adjustable parameter; in general, the inertia weight will decrease with the increase in the number of iterations; therefore, ω i n i t > ω m i d > ω e n d is set in this paper. Combined with the Newton inertia weight, the position update method of the whale is improved by the following equation:
X ( t + 1 ) = ω ( t ) × X * ( t ) A D           A < 1 ω ( t ) × X r a n d A . D               A 1           i f       p < 0.5 D e b l cos ( 2 π l ) + ω ( t ) × X * ( t )               i f       p 0.5
In the process of updating the whale position, by adjusting the intermediate iteration number T m i d and weight value ω m i d , Newton inertia weight can flexibly adjust the proportion of the exploration and exploitation ability of the algorithm. In the early stage of iteration, we set a larger weight to improve the global search ability of the algorithm; in the later stage of iteration, setting a smaller weight helps to improve the ability of local optimization. Under the action of Newton inertia weight, the whale will approach the prey in the later iteration and adjust it into an adaptive weight to make the population around the pilot whale so that the algorithm can carry out a more refined local search and greatly avoid the algorithm falling into local optimum.

4.3. Nonlinear Convergence Factor

In the classical WOA algorithm, the search performance of the algorithm greatly depends on the value of the coefficient vector A , and A changes linearly with the decrease in the convergence factor a; moreover, the coefficient vector A is controlled by the coefficient a in the iterative process. However, with the increase in iterations, a is a linearly decreasing function, which cannot show the actual search state and the actual iterative process of the algorithm. It has the same decreasing speed during the execution of the algorithm, which easily affects the diversity of the whale population and reduces the overall optimization ability of the algorithm and makes it easy for the algorithm to fall into the local optimum [24]. In order to further make the algorithm achieve a better balance between the global search in the early stage and the local optimization in the later stage, this paper proposes a nonlinear decreasing convergence factor, which can be expressed as:
a = 2 × ( 1 e 1 t 1 )
In the early stage of the algorithm execution, the convergence factor is adaptively adjusted to a large value and rapidly decreases so that the algorithm can carry out optimal exploration in the global scope. With the increase in the number of iterations, the value of a decreases slowly in the later stage of the algorithm operation, which makes it so that the improved whale optimization algorithm can search the optimal solution more accurately and effectively improve the convergence accuracy of the algorithm.

5. Point Cloud Registration Based on NIWOA and ICP

5.1. Optimization Model for Coarse Registration of Point Clouds Based on NIWOA

In this section, we use the optimization objective function of point cloud coarse registration as the fitness function of NIWOA. The corresponding point set that overlaps with the target point cloud Q is found in the point cloud P to be registered. NIWOA is used to optimize the rotation and translation matrix, which aims to minimize the average Euclidean distance between the corresponding points of the two point clouds. The rotation and translation matrix contains six parameters (rotation angles α , β , γ and translations v x , v y , v z ). These six parameters are used as optimization variables for the NIWOA algorithm. In this paper, we assume that the rotation matrix is R and the translation vector is T ; the fitness function can be expressed as follows:
d = min 1 c i = 1 c q i ( R p i + T ) 2
where c represents the number of matched point pairs and p i and q i represent the matched points in the point cloud P to be registered and the target point cloud Q, respectively.

5.2. Fine Registration of Point Clouds Based on ICP Algorithm

Through NIWOA, we can obtain the initial transformation parameters of the two point clouds, and some overlap has been achieved in these matching points. To achieve a more accurate registration effect, the most simple and effective method is to continue to iteratively calculate the two point clouds on the basis of the initial rotation and translation transformation to make more corresponding point pairs coincide. Therefore, this paper uses the classic ICP algorithm to calculate the final rigid body coordinate transformation. After calculating the transformation parameters each time, the algorithm transforms the coordinates of the point clouds obtained by the previous transformation so that the two point clouds obtain a closer pose; then, the algorithm continues to calculate the next transformation until the distance between the corresponding point pairs is small enough or the pose of the two iterations does not change significantly. The procedure of ICP can be viewed as a robust estimation problem, which aims to further minimize the mean square objective function as follows:
f ( T ) = 1 c i = 1 c q i r p i + t 2
where T contains the coordinate transformation of rotation and translation,r and t are the rotation matrix and translation vector during the ICP iteration, and p i and q i are the spatially symmetric corresponding points of the two point clouds after coarse registration transformation, respectively.
Fine registration using the ICP algorithm has the advantages of a simple implementation process and no need for segmenting point clouds. As NIWOA provides effective initial registration parameters for ICP, the overall registration operation largely avoids the problem of the algorithm falling into local optimum.

6. Registration Experiments and Result Analysis

6.1. Experimental Instructions and Setup

In this section, we apply the proposed NIWOA to the objective function optimization of point cloud registration. At the same time, we conduct registration experiments on several representative point cloud datasets, and then, through the comparison of multiple evaluation indicators, we prove the effectiveness and robustness of the NIWOA algorithm in point cloud registration. In the experiment, we compare the accuracy and running efficiency of the coarse registration using only WOA and the coarse registration using NIWOA; we also verify the performance of the coarse–fine registration combined with ICP. The datasets selected for the experiment include the classic point cloud models of Stanford University [38] (Bunny, Dragon, Armadillo, HappyBuddha) and the Princeton 3Dmatch dataset [39,40] (sun3d-hotel_umd-maryland_hotel3). The Stanford University dataset is the most common dataset for point cloud processing, and the point cloud models in it are also widely used as experimental objects for point cloud registration. The Princeton 3Dmatch dataset is often used for keypoint detection, feature descriptors, point cloud registration, and other point cloud tasks.
These datasets contain some model point clouds and indoor scene point clouds, which can verify the applicability of the registration algorithm for different application objects. The point clouds under different viewpoints are shown in Figure 1, Figure 2, Figure 3, Figure 4 and Figure 5.
The sizes of different point cloud models are shown in Table 2.
The parameter setting in each stage of the registration process is particularly important, and different parameter values have a great impact on the accuracy and efficiency of the registration results. Therefore, after numerous tests and verifications, we set the most appropriate parameters for each link to conduct the experiment. Firstly, for the preprocessing stage, the uniform sampling scale of the point cloud directly determines the calculation amount of the subsequent point cloud processing. Too high a sampling rate will increase the computational burden of the algorithm, and too low a sampling rate will lead to inaccurate local feature expression and cause the algorithm to be prone to large registration error. On the basis of appropriate uniform sampling, we determined the parameters of the ISS algorithm through multiple sets of feature extraction experiments and finally selected the search radius r = 0.04 and 0.2; the values of γ 21 and γ 32 were 0.5. This set of parameters can better retain the inherent shape features of the point cloud after preprocessing and has good robustness for point cloud data with noise and outliers.
In addition, in this experiment, the number of iterations of WOA, NIWOA, and ICP were all set to 100, the size of the whale population was set to 20, and the dimension of the solution was set to 6. The experimental operation was programmed using MATLAB R2022a on a 3.60 GHz Intel(R) Core (TM) i9-9900KF CPU configured with 32 GB of RAM.

6.2. Experiments on Coarse Registration of Point Clouds

In this section, we apply the proposed NIWOA algorithm to the coarse registration process of point clouds to verify its effectiveness in improving the accuracy of coarse registration. In the experiment, we chose the registration method based on the original WOA for comparison to verify the contribution of the proposed NIWOA algorithm to the improvement of coarse registration performance.
In this experiment, the registration accuracy was tested by the mean square error (MeanSE) between the corresponding points of the two point clouds after coarse registration so as to measure the error of coarse registration. The smaller the value of MeanSE, the higher the consistency of the two point clouds after coarse registration. The mathematical expression of MeanSE is shown in Equation (25). We calculated the error of coarse registration using two different methods respectively, and the comparison results are shown in Table 3 below:
M e a n S E = M e a n R , t R p i * + t q i * 2
It can be seen from the MeanSE values in the table that NIWOA has a smaller registration error. Compared with the coarse registration method of the original WOA algorithm, NIWOA can provide a more accurate coarse registration guarantee for point cloud data of different scales so that the relative positions of the two point clouds are closer. In addition, the coarse registration results of five groups of point cloud data achieved by using these two methods are shown in Figure 6, Figure 7, Figure 8, Figure 9 and Figure 10. It can be clearly seen from the figures that the coarse registration based on the NIWOA algorithm can make the point cloud be registered and have the target obtain a closer distance, regardless of if it is used on the model point cloud data of the Stanford dataset or on the large indoor scene point cloud data of Princeton. It can ensure the smooth execution of the subsequent fine registration more effectively.

6.3. Experiments on Coarse–Fine Registration of Point Clouds

The test results of multiple sets of coarse registration show that the proposed NIWOA algorithm can achieve a better coarse registration effect for the point cloud data after feature extraction, which also indicates that the coarse registration based on the NIWOA algorithm can provide a more reliable initial registration position for the next step of fine registration. To verify the final registration results, we further test the effectiveness and robustness of this improved algorithm by combining the ICP algorithm. In the experiment, we use the relative positions of point clouds obtained by coarse registration methods based on WOA and NIWOA as the initial values of the ICP algorithm. In the case of increasing iterations, we use these methods to calculate the final registration accuracy on point cloud models of different datasets. To this end, this paper provides two accuracy evaluation indicators, including the root mean square error (RMSE) and mean absolute error (MAE) of the Euclidean distance between the corresponding points of the two point clouds after coarse–fine registration, which are expressed in the following equations:
R M S E ( P , Q ) = 1 M i = 1 M R p i * + t q i * 2
M A E ( P , Q ) = 1 M i = 1 M R p i * + t q i *
where R and t represent the rotation matrix and translation vector from point p i * to point q i * , respectively, and M is the number of corresponding point pairs after feature point extraction. Both RMSE and MAE can reflect the effect of registration, and the smaller their values are, the higher the accuracy of registration is. As can be seen from Table 4, compared with the classical WOA algorithm, our improved method has a great improvement in the registration accuracy, and the NIWOA can also reduce the final registration error to a certain extent.
After verifying the effectiveness of the NIWOA algorithm for point cloud registration, this paper further considers the registration performance of the proposed improved algorithm for initial position changes. In order to better prove the robustness of the NIWOA algorithm for arbitrary initial pose registration, we perform varying degrees of rotation and translation transformations on the point clouds to be registered in these point cloud data, as shown in Table 5. A total of 10 groups of transform positions are given in the table, in which the rotation angle refers to the angle of rotation along the x, y, and z axes, respectively, and the translation parameter represents the translation distance along the three coordinate axes. In the experiment, the NIWOA+ICP, WOA+ICP, and direct ICP registration methods were compared. RMSE and MAE were also used as evaluation indexes. The comparison results are shown in Table 6, Table 7, Table 8, Table 9 and Table 10.
According to the values of RMSE and MAE in Table 6, Table 7, Table 8, Table 9 and Table 10, it can be seen that in most cases, the NIWOA algorithm proposed in this paper can obtain higher registration accuracy in the coarse and fine registration that is combined with ICP, which has a significant performance improvement compared with the registration directly using ICP and also has a certain breakthrough compared with WOA+ICP. This is because our proposed NIWOA algorithm uses circle chaotic mapping to explore the registration space in a more comprehensive way. Under the adjustment of Newton’s inertia weight, the global search ability and local exploration level of the algorithm are flexibly kept within a reasonable range of relations. Under the action of nonlinear convergence factors, the algorithm can be used to explore the registration space. In the later stage of the algorithm search, the global optimal solution is more accurately found, that is, the optimal coordinate transformation of coarse registration is completed. Therefore, the NIWOA algorithm obtains a more accurate coarse registration position. The registration result is used as the initial pose of ICP for iterative optimization, and the final registration error is also reduced as expected, which fully proves the effectiveness and robustness of the improved method.
In order to clearly show the effectiveness and robustness of the overall registration strategy in this paper, the experiments in this section are presented in a complete visualization on the above four model point clouds and one scene point cloud, respectively, as shown in Figure 11, Figure 12, Figure 13, Figure 14 and Figure 15, where Figure 11a demonstrates the original input point cloud, Figure 11b is the coarse registration based on the NIWOA, Figure 11c is the fine registration using ICP on the basis of coarse registration, and Figure 11d is the final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered. As can be seen from the figures, thanks to the reliable coordinate transformation calculated by NIWOA for the initial point cloud pose, the fine registration algorithm has a good initial value, and the overall registration method used in this paper obtains a more accurate registration effect and also achieves the expected improvement effect. Figure 11e is the error convergence curve of the coarse registration by using NIWOA, and Figure 11f is the convergence curve of the error transformation with the number of iterations in the ICP fine registration process. In the figures, the blue arrow represents the flow guidance of point cloud registration, and the orange arrow represents the correspondence with the registration result and the convergence curve. From the final error performance, it can be seen that NIWOA effectively reduces the coarse registration error of two point clouds to a certain extent, and the ICP algorithm further improves the registration accuracy on this basis.
The execution efficiency of the algorithm is another important index to evaluate the performance of point cloud registration. Therefore, after determining the effective improvement of the accuracy of the registration method proposed in this paper, we record the time consumption of different methods to complete registration. The experimental test was conducted on the point cloud data Bunny, with the initial position of the point cloud to be registered being rotated π / 18 , π / 18 , π / 18 and the translation distance being 0.02, 0.02, 0. The statistics are shown in Table 11, which shows the registration times using only the ICP algorithm, the original WOA algorithm combined with ICP registration, and the NIWOA algorithm combined with ICP registration. All time units in the table are in seconds (s). It can be clearly seen from the table that the registration time of the proposed NIWOA algorithm combined with ICP algorithm is less, which is significantly reduced compared with the ICP algorithm only. It also has a certain competitive advantage compared with WOA + ICP and has a higher time efficiency because the improved algorithm can search the global optimal value more accurately and quickly. In the coarse registration stage, the position of the target point cloud is found in general, which provides a reliable initial pose for further iterative searches of ICP, and it reduces the computational burden of the ICP algorithm.

7. Conclusions

In this paper, a point cloud coarse and fine registration method based on the new improved version of whale optimization algorithm (NIWOA) and ICP algorithm is proposed. a circle chaotic map, Newton inertia weight, and nonlinear convergence factor are integrated in WOA to enhance the global exploration and local exploitation ability of the algorithm. The improved algorithm is used to optimize the objective function of the coarse registration of the point cloud to obtain a more accurate initial registration position, and this initial registration result is used as the initial value of the ICP algorithm to iteratively compute the globally optimal coordinate transformations to achieve the final registration. Through the coarse registration experiments on different model point clouds and the scene point cloud, it is verified that NIWOA can effectively improve the coarse registration accuracy. At the same time, in the coarse and fine registration experiment combined with the ICP algorithm, by changing the initial positions of multiple sets of point clouds to be registered, the superiority of NIWOA+ICP for improving the registration performance and the robustness of different registration conditions is proven. In addition, in terms of the execution efficiency of registration, the proposed method is also proven to have better performance.
In future work, according to the characteristics of the solution space of the optimization objective function and in combination with more advanced improvement strategies, we will focus on developing improved algorithms with faster optimization speeds and higher search accuracies based on this study, with the aim of being able to calculate more accurate registration parameters and provide higher registration efficiency for larger and more complex models and scene point clouds.

Author Contributions

Conceptualization, Y.T.; Methodology, Y.T.; Software, Y.T.; Validation, Y.T.; Formal analysis, Y.T.; Investigation, Y.T.; Resources, X.Y. and J.Z.; Data curation, X.Y. and J.Z.; Writing—original draft, Y.T.; Writing—review & editing, X.Y. and J.Z.; Visualization, Y.T.; Supervision, X.Y. and J.Z.; Project administration, X.Y. and J.Z.; Funding acquisition, X.Y. and J.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This work is supported by the Jilin Province Development and Reform Commission (2020C018-3), the Department of Science and Technology of Jilin Province (20220203091SF).

Data Availability Statement

The data that support the findings of this study are available from the corresponding author upon reasonable request.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Buonamici, F.; Carfagni, M.; Furferi, R.; Governi, L.; Lapini, A.; Volpe, Y. Reverse engineering of mechanical parts: A template-based approach. J. Comput. Des. Eng. 2018, 5, 145–159. [Google Scholar] [CrossRef]
  2. Yanamandra, K.; Chen, G.L.; Xu, X.; Mac, G.; Gupta, N. Reverse engineering of additive manufactured composite part by toolpath reconstruction using imaging and machine learning. Compos. Sci. Technol. 2020, 198, 108318. [Google Scholar] [CrossRef]
  3. Raffo, A.; Barrowclough, O.J.D.; Muntingh, G. Reverse engineering of CAD models via clustering and approximate implicitization. Comput. Aided Geom. Des. 2020, 80, 101876. [Google Scholar] [CrossRef]
  4. Zheng, L.; Chen, S.; Chen, X.; Ji, S. Reverse Engineering-Inspired Parametric 3D Geometry Model of Marine Propeller. Pol. Marit. Res. 2023, 30, 35–47. [Google Scholar] [CrossRef]
  5. Dong, Z.; Wu, X.; Ma, Z. Research on 3D model reconstruction based on a sequence of cross-sectional images. Mach. Vis. Appl. 2021, 32, 92. [Google Scholar] [CrossRef]
  6. Song, L.; Jiang, Q.; Zhong, Z.; Dai, F.; Wang, G.; Wang, X.; Han, G.; Zhang, D. Technical path of model reconstruction and shear wear analysis for natural joint based on 3D scanning technology. Measurement 2022, 188, 110584. [Google Scholar] [CrossRef]
  7. Peng, Y.; Lin, S.; Wu, H.; Cao, G. Point Cloud Registration Based on Fast Point Feature Histogram Descriptors for 3D Reconstruction of Trees. Remote Sens. 2023, 15, 3775. [Google Scholar] [CrossRef]
  8. Zou, Z.; Lang, H.; Lou, Y.; Lu, J. Plane-based global registration for pavement 3D reconstruction using hybrid solid-state LiDAR point cloud. Autom. Constr. 2023, 152, 104907. [Google Scholar] [CrossRef]
  9. Besl, P.J.; Mckay, N.D. A method for registration of 3D shapes. IEEE Trans. Pattern Anal. Mach. Intell. 1992, 14, 239–256. [Google Scholar] [CrossRef]
  10. Holland, J.H. Genetic algorithms. Sci. Am. 1992, 267, 66–73. [Google Scholar] [CrossRef]
  11. Eberhart, R.; Kennedy, J. A new optimizer using particle swarm theory. In Proceedings of the Sixth International Symposium on Micro Machine and Human Science, Nagoya, Japan, 4–6 October 1995; pp. 39–43. [Google Scholar]
  12. Yang, X.S. A new metaheuristic bat-inspired algorithm. In Nature Inspired Cooperative Strategies for Optimization (NICSO 2010); Springer: Berlin/Heidelberg, Germany, 2010; pp. 65–74. [Google Scholar]
  13. Mirjalili, S. The ant lion optimizer. Adv. Eng. Softw. 2015, 83, 80–98. [Google Scholar] [CrossRef]
  14. Yang, X.S.; Deb, S. Engineering Optimisation by Cuckoo Search. Int. J. Math. Model. Numer. Optim. 2010, 1, 330–343. [Google Scholar] [CrossRef]
  15. Mehrabian, A.R.; Lucas, C. A novel numerical optimization algorithm inspired from weed colonization. Ecol. Inform. 2006, 1, 355–366. [Google Scholar] [CrossRef]
  16. Shi, X.; Liu, T.; Han, X. Improved Iterative Closest Point (ICP) 3D point cloud registration algorithm based on point cloud filtering and adaptive fireworks for coarse registration. Int. J. Remote Sens. 2020, 41, 3197–3220. [Google Scholar] [CrossRef]
  17. Ma, Y.; Zhao, H.D.; Zhang, W. Research on Intelligent Minefield Attack Decision Based on Adaptive Fireworks Algorithm. Arab. J. Sci. Eng. 2019, 44, 2487–2496. [Google Scholar]
  18. Zhan, X.; Cai, Y.; He, P. A three-dimensional point cloud registration based on entropy and particle swarm optimization. Adv. Mech. Eng. 2018, 10, 1687814018814330. [Google Scholar] [CrossRef]
  19. Feng, Y.; Tang, J.; Su, B.; Zhou, Z. Point cloud registration algorithm based on the grey wolf optimizer. IEEE Access 2020, 8, 143375–143382. [Google Scholar] [CrossRef]
  20. Mirjalili, S.; Mirjalili, S.M.; Lewis, A. Grey wolf optimizer. Adv. Eng. Softw. 2014, 69, 46–61. [Google Scholar] [CrossRef]
  21. Liu, D.; Hong, D.; Wang, S.; Chen, C. Genetic Algorithm-Based Optimization for Color Point Cloud Registration. Front. Bioeng. Biotechnol. 2022, 10, 923736. [Google Scholar] [CrossRef]
  22. Chen, L.; Kuang, W.; Fu, K. A resample strategy and artificial bee colony optimization-based 3d range imaging registration. Comput. Vis. Image Underst. 2018, 175, 44–51. [Google Scholar] [CrossRef]
  23. Karaboga, D.; Basturk, B. A powerful and efficient algorithm for numerical function optimization: Artificial bee colony (ABC) algorithm. J. Glob. Optim. 2007, 39, 459–471. [Google Scholar] [CrossRef]
  24. Mirjalili, S.; Lewis, A. The whale optimization algorithm. Adv. Eng. Softw. 2016, 95, 51–67. [Google Scholar] [CrossRef]
  25. Chakraborty, S.; Saha, A.K.; Chakraborty, R.; Saha, M. An enhanced whale optimization algorithm for large scale optimization problems. Knowl.-Based Syst. 2021, 233, 107543. [Google Scholar] [CrossRef]
  26. Liu, M.; Yao, X.; Li, Y. Hybrid whale optimization algorithm enhanced with Lévy flight and differential evolution for job shop scheduling problems. Appl. Soft Comput. 2020, 87, 105954. [Google Scholar] [CrossRef]
  27. Luo, J.; Shi, B. A hybrid whale optimization algorithm based on modified differential evolution for global optimization problems. Appl. Intell. 2019, 49, 1982–2000. [Google Scholar] [CrossRef]
  28. Li, Y.; Han, M.; Guo, Q. Modified whale optimization algorithm based on tent chaotic mapping and its application in structural optimization. KSCE J. Civ. Eng. 2020, 24, 3703–3713. [Google Scholar] [CrossRef]
  29. Anitha, J.; Pandian, S.I.A.; Agnes, S.A. An efficient multilevel color image thresholding based on modified whale optimization algorithm. Expert Syst. Appl. 2021, 178, 115003. [Google Scholar] [CrossRef]
  30. Lin, X.; Yu, X.; Li, W. A heuristic whale optimization algorithm with niching strategy for global multi-dimensional engineering optimization. Comput. Ind. Eng. 2022, 171, 108361. [Google Scholar] [CrossRef]
  31. Saha, N.; Panda, S. Cosine adapted modified whale optimization algorithm for control of switched reluctance motor. Comput. Intell. 2022, 38, 978–1017. [Google Scholar] [CrossRef]
  32. Yang, W.; Xia, K.; Fan, S.; Wang, L.; Li, T.; Zhang, J.; Feng, Y. A multi-strategy Whale optimization algorithm and its application. Eng. Appl. Artif. Intell. 2022, 108, 104558. [Google Scholar] [CrossRef]
  33. Chakraborty, S.; Saha, A.K.; Chakraborty, R.; Saha, M.; Nama, S. HSWOA: An ensemble of hunger games search and whale optimization algorithm for global optimization. Int. J. Intell. Syst. 2022, 37, 52–104. [Google Scholar] [CrossRef]
  34. Li, G.; Cui, Y.; Wang, L.; Meng, L. Automatic registration algorithm for the point clouds based on the optimized RANSAC and IWOA algorithms for robotic manufacturing. Appl. Sci. 2022, 12, 9461. [Google Scholar] [CrossRef]
  35. Zhong, Y. Intrinsic shape signatures: A shape descriptor for 3D object recognition. In Proceedings of the 2009 IEEE 12th International Conference on Computer Vision Workshops, ICCV Workshops, Kyoto, Japan, 27 September–4 October 2009; pp. 689–696. [Google Scholar]
  36. Rusu, R.B.; Blodow, N.; Marton, Z.C.; Beetz, M. Aligning Point Cloud Views using Persistent Feature Histograms. In Proceedings of the 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, Nice, France, 22–26 September 2008; pp. 3384–3391. [Google Scholar]
  37. Fischler, M.A.; Bolles, R.C. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Commun. ACM 1981, 24, 381–395. [Google Scholar] [CrossRef]
  38. The Stanford 3D Scanning Repository. Available online: http://graphics.stanford.edu/data/3Dscanrep/ (accessed on 19 August 2014).
  39. Zeng, A.; Song, S.; Nießner, M.; Fisher, M.; Xiao, J.; Funkhouser, T. 3dmatch: Learning local geometric descriptors from rgb-d reconstructions. In Proceedings of the of the IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, HI, USA, 21–26 July 2017; pp. 1802–1811. [Google Scholar]
  40. Halber, M.; Funkhouser, T. Fine-to-coarse global registration of rgb-d scans. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, HI, USA, 21–26 July 2017; pp. 1755–1764. [Google Scholar]
Figure 1. (a) bun000; (b) bun045.
Figure 1. (a) bun000; (b) bun045.
Symmetry 15 02128 g001
Figure 2. (a) dragonBk1_0; (b) dragonBk4_0.
Figure 2. (a) dragonBk1_0; (b) dragonBk4_0.
Symmetry 15 02128 g002
Figure 3. (a) ArmadilloOnHeadMultipleOffset_15; (b) ArmadilloOnHeadMultipleOffset_45.
Figure 3. (a) ArmadilloOnHeadMultipleOffset_15; (b) ArmadilloOnHeadMultipleOffset_45.
Symmetry 15 02128 g003
Figure 4. (a) happyBkgd3_0; (b) happyBkgd4_0.
Figure 4. (a) happyBkgd3_0; (b) happyBkgd4_0.
Symmetry 15 02128 g004
Figure 5. (a) sun3d-hotel_umd-maryland_hotel3 cloud_bin_35; (b) sun3d-hotel_umd-maryland_hotel3 cloud_bin_36.
Figure 5. (a) sun3d-hotel_umd-maryland_hotel3 cloud_bin_35; (b) sun3d-hotel_umd-maryland_hotel3 cloud_bin_36.
Symmetry 15 02128 g005
Figure 6. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud bun000 and bun045.
Figure 6. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud bun000 and bun045.
Symmetry 15 02128 g006
Figure 7. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud dragonBk1_0 and dragonBk4_0.
Figure 7. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud dragonBk1_0 and dragonBk4_0.
Symmetry 15 02128 g007
Figure 8. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud ArmadilloOnHeadMultipleOffset_15 and ArmadilloOnHeadMultipleOffset_45.
Figure 8. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud ArmadilloOnHeadMultipleOffset_15 and ArmadilloOnHeadMultipleOffset_45.
Symmetry 15 02128 g008
Figure 9. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud happyBkgd3_0 and happyBkgd4_0.
Figure 9. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud happyBkgd3_0 and happyBkgd4_0.
Symmetry 15 02128 g009
Figure 10. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud sun3d-hotel_umd-maryland_hotel3 cloud_bin_35 and sun3d-hotel_umd-maryland_hotel3 cloud_bin_36.
Figure 10. Coarse registration results based on WOA (a) and NIWOA (b) for point cloud sun3d-hotel_umd-maryland_hotel3 cloud_bin_35 and sun3d-hotel_umd-maryland_hotel3 cloud_bin_36.
Symmetry 15 02128 g010
Figure 11. Coarse–fine registration process of point cloud bun000 and bun045 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Figure 11. Coarse–fine registration process of point cloud bun000 and bun045 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Symmetry 15 02128 g011
Figure 12. Coarse–fine registration process of point cloud dragonBk1_0 and dragonBk4_0 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Figure 12. Coarse–fine registration process of point cloud dragonBk1_0 and dragonBk4_0 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Symmetry 15 02128 g012
Figure 13. Coarse–fine registration process of point cloud ArmadilloOnHeadMultipleOffset_15 and ArmadilloOnHeadMultipleOffset_45 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Figure 13. Coarse–fine registration process of point cloud ArmadilloOnHeadMultipleOffset_15 and ArmadilloOnHeadMultipleOffset_45 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Symmetry 15 02128 g013
Figure 14. Coarse–fine registration process of point cloud happyBkgd3_0 and happyBkgd4_0 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Figure 14. Coarse–fine registration process of point cloud happyBkgd3_0 and happyBkgd4_0 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Symmetry 15 02128 g014
Figure 15. Coarse–fine registration process of point cloud sun3d-hotel_umd-maryland_hotel3 cloud_bin_35 and sun3d-hotel_umd-maryland_hotel3 cloud_bin_36 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Figure 15. Coarse–fine registration process of point cloud sun3d-hotel_umd-maryland_hotel3 cloud_bin_35 and sun3d-hotel_umd-maryland_hotel3 cloud_bin_36 and convergence curve of the registration error of the NIWOA and ICP algorithms. (a) original input point cloud, (b) coarse registration based on the NIWOA, (c) fine registration using ICP on the basis of coarse registration, (d) final result of mapping the final calculated coordinate transformation parameters to the input point cloud to be registered, (e) error convergence curve of the coarse registration by using NIWOA, (f) convergence curve of the error transformation with the iterations in the ICP fine registration process.
Symmetry 15 02128 g015
Table 1. Contribution of NIWOA and its comparison with classical methods.
Table 1. Contribution of NIWOA and its comparison with classical methods.
Registration MethodMethod DescriptionAccuracy and Efficiency
ICPThe registration of the point cloud data is performed directly without initial pose estimationlow
WOA + ICPWOA is used for coarse registration optimization followed by ICP fine registrationmedium
NIWOA + ICPNIWOA is used to optimize the coarse registration to obtain a more accurate initial pose of the point cloud, and then ICP fine registration is performedhigh
Table 2. Size of the point cloud model.
Table 2. Size of the point cloud model.
Point Cloud ModelNumber of Points
bun00039,937
bun04539,974
dragonBk1_047,747
dragonBk4_044,832
ArmadilloOnHeadMultipleOffset_1532,208
ArmadilloOnHeadMultipleOffset_4524,764
happyBkgd3_083,327
happyBkgd4_079,802
sun3dhotel_umdmaryland_hotel3 cloud_bin_3575,521
sun3dhotel_umdmaryland_hotel3 cloud_bin_36151,564
Table 3. MeanSE of coarse registration based on WOA and NIWOA.
Table 3. MeanSE of coarse registration based on WOA and NIWOA.
Point Cloud ModelWOANIWOA
bun000 and bun04554.971 × 10–34.3481 × 10–3
dragonBk1_0 and dragonBk4_03.6750 × 10–31.7964 × 10–3
ArmadilloOnHeadMultipleOffset_15 and 452.9120 × 10–30.9347 × 10–3
happyBkgd3_0 and happyBkgd4_049.537 × 10–31.3966 × 10–3
sun3d-hotel_umd-maryland_hotel3 cloud_bin_35 and 3693.479 × 10–348.141 × 10–3
Table 4. Coarse and fine registration accuracy combined with the ICP algorithm.
Table 4. Coarse and fine registration accuracy combined with the ICP algorithm.
Point Cloud ModelWOA + ICPNIWOA + ICP
RMSEMAERMSEMAE
bun000 and bun0450.2137 × 10–30.1796 × 10–30.1830 × 10–30.1596 × 10–3
dragonBk1_0 and dragonBk4_00.4564 × 10–30.3835 × 10–30.3991 × 10–30.3557 × 10–3
ArmadilloOnHeadMultipleOffset_15 and 452.2423 × 10–31.7998 × 10–31.6007 × 10–31.4047 × 10–3
happyBkgd3_0 and happyBkgd4_01.2529 × 10–30.9981 × 10–31.5877 × 10–30.8737 × 10–3
sun3d-hotel_umd-maryland_hotel3 cloud_bin_35 and 366.0036 × 10–35.8355 × 10–31.8908 × 10–31.7002 × 10–3
Table 5. Different initial position changes.
Table 5. Different initial position changes.
TransformationRotation AngleTranslation Parameter
1 π / 18 , π / 18 , π / 18 0.02, 0.02, 0
2 π / 18 , π / 18 , π / 18 0.02, 0.02, 0
3 π / 18 , π / 9 , π / 18 0.02, 0.02, 0.02
4 π / 9 , π / 18 , π / 18 0.04, 0.04, 0.04
5 π / 9 , π / 9 , π / 18 −0.02, −0.02, 0.02
6 π / 18 , π / 18 , π / 9 0.04, −0.04, −0.04
7 π / 9 , π / 9 , π / 9 0.02, 0.02, 0.02
8 π / 6 , π / 6 , π / 6 0.02, 0, 0.02
9 π / 3 , π / 4 , π / 5 0.02, 0.02, 0.02
10 π / 4 , π / 5 , π / 3 0.02, 0.02, 0.02
Table 6. Accuracy comparison of different methods under initial position transformation of point cloud Bunny.
Table 6. Accuracy comparison of different methods under initial position transformation of point cloud Bunny.
TransformationICPWOA + ICPNIWOA + ICP
RMSEMAERMSEMAERMSEMAE
12.1002 × 10–31.4861 × 10–30.2007 × 10–30.1604 × 10–30.1594 × 10–30.1260 × 10–3
23.4861 × 10–31.7831 × 10–31.2827 × 10–31.0576 × 10–31.1262 × 10–30.9321 × 10–3
33.1411 × 10–32.3184 × 10–30.9909 × 10–30.7848 × 10–30.4054 × 10–30.3247 × 10–3
43.9570 × 10–33.4569 × 10–33.3988 × 10–32.7422 × 10–32.8368 × 10–32.3830 × 10–3
51.9144 × 10–31.6427 × 10–30.3501 × 10–30.2812 × 10–30.2022 × 10–30.1631 × 10–3
62.8302 × 10–32.4801 × 10–31.6946 × 10–31.3569 × 10–31.6486 × 10–31.3116 × 10–3
718.126 × 10–310.026 × 10–35.2826 × 10–34.3323 × 10–34.1156 × 10–33.4269 × 10–3
820.061 × 10–314.061 × 10–32.9983 × 10–32.5001 × 10–31.9489 × 10–31.6364 × 10–3
929.314 × 10–324.731 × 10–37.4075 × 10–35.9711 × 10–37.5001 × 10–36.1138 × 10–3
1066.117 × 10–361.217 × 10–337.331 × 10–330.152 × 10–322.662 × 10–317.913 × 10–3
Table 7. Accuracy comparison of different methods under initial position transformation of point cloud Dragon.
Table 7. Accuracy comparison of different methods under initial position transformation of point cloud Dragon.
TransformationICPWOA + ICPNIWOA + ICP
RMSEMAERMSEMAERMSEMAE
12.8112 × 10–31.4781 × 10–30.4685 × 10–30.3926 × 10–30.4039 × 10–30.3458 × 10–3
271.331 × 10–369.913 × 10–344.146 × 10–336.296 × 10–31.0666 × 10–30.8857 × 10–3
350.096 × 10–341.562 × 10–330.267 × 10–325.145 × 10–30.4070 × 10–30.3437 × 10–3
415.584 × 10–310.015 × 10–33.1386 × 10–32.5825 × 10–32.2677 × 10–31.9539 × 10–3
517.146 × 10–311.291 × 10–38.8337 × 10–37.6719 × 10–35.1751 × 10–34.4633 × 10–3
615.001 × 10–310.687 × 10–312.501 × 10–39.8141 × 10–31.6681 × 10–31.3077 × 10–3
767.839 × 10–357.630 × 10–334.551 × 10–328.232 × 10–39.1667 × 10–37.2391 × 10–3
866.110 × 10–361.561 × 10–347.292 × 10–339.386 × 10–322.095 × 10–318.644 × 10–3
936.001 × 10–330.088 × 10–319.637 × 10–316.394 × 10–36.3658 × 10–35.2960 × 10–3
1034.892 × 10–329.939 × 10–323.121 × 10–319.864 × 10–319.764 × 10–315.716 × 10–3
Table 8. Accuracy comparison of different methods under initial position transformation of point cloud Armadillo.
Table 8. Accuracy comparison of different methods under initial position transformation of point cloud Armadillo.
TransformationICPWOA + ICPNIWOA + ICP
RMSEMAERMSEMAERMSEMAE
118.641 × 10–310.124 × 10–31.5373 × 10–31.2586 × 10–30.2062 × 10–30.1553 × 10–3
218.712 × 10–311.349 × 10–32.1173 × 10–31.7448 × 10–31.5942 × 10–31.3149 × 10–3
317.130 × 10–313.177 × 10–33.5651 × 10–32.8069 × 10–32.5926 × 10–32.0991 × 10–3
413.577 × 10–310.006 × 10–35.2117 × 10–34.3217 × 10–31.2529 × 10–31.0146 × 10–3
514.519 × 10–312.508 × 10–36.9152 × 10–35.6668 × 10–32.5551 × 10–32.0391 × 10–3
611.667 × 10–39.6474 × 10–37.6794 × 10–36.2240 × 10–32.0824 × 10–31.6497 × 10–3
710.969 × 10–39.9773 × 10–37.1197 × 10–35.9673 × 10–34.9126 × 10–34.1194 × 10–3
817.478 × 10–314.302 × 10–35.9541 × 10–34.8468 × 10–31.9536 × 10–31.5721 × 10–3
970.447 × 10–361.347 × 10–331.051 × 10–324.896 × 10–33.9365 × 10–33.0721 × 10–3
1077.893 × 10–374.622 × 10–336.490 × 10–329.492 × 10–336.263 × 10–329.271 × 10–3
Table 9. Accuracy comparison of different methods under initial position transformation of point cloud Happy Buddha.
Table 9. Accuracy comparison of different methods under initial position transformation of point cloud Happy Buddha.
TransformationICPWOA + ICPNIWOA + ICP
RMSEMAERMSEMAERMSEMAE
11.3479 × 10–31.1371 × 10–30.4246 × 10–30.3392 × 10–30.1132 × 10–30.0903 × 10–3
21.1748 × 10–31.0030 × 10–31.1835 × 10–30.9645 × 10–31.0259 × 10–30.8322 × 10–3
36.0047 × 10–35.4641 × 10–33.1674 × 10–32.5306 × 10–30.2740 × 10–30.2330 × 10–3
43.9903 × 10–33.2616 × 10–32.3172 × 10–31.9182 × 10–32.1463 × 10–31.7688 × 10–3
55.3781 × 10–35.1791 × 10–35.4066 × 10–34.5087 × 10–33.9862 × 10–33.3243 × 10–3
61.1792 × 10–31.0463 × 10–30.5406 × 10–30.4141 × 10–30.2620 × 10–30.2222 × 10–3
714.300 × 10–311.413 × 10–39.0206 × 10–37.4120 × 10–35.0598 × 10–34.2153 × 10–3
812.588 × 10–311.647 × 10–32.5597 × 10–32.1557 × 10–30.9920 × 10–30.7820 × 10–3
917.493 × 10–313.414 × 10–34.4930 × 10–33.7820 × 10–34.3744 × 10–33.7186 × 10–3
1029.157 × 10–324.937 × 10–315.620 × 10–312.618 × 10–314.347 × 10–311.438 × 10–3
Table 10. Accuracy comparison of different methods under initial position transformation of point cloud Sun3d-hotel.
Table 10. Accuracy comparison of different methods under initial position transformation of point cloud Sun3d-hotel.
TransformationICPWOA + ICPNIWOA + ICP
RMSEMAERMSEMAERMSEMAE
18.9401 × 10–38.4811 × 10–35.7463 × 10–35.0161 × 10–31.5710 × 10–31.3297 × 10–3
210.257 × 10–310.043 × 10–39.5630 × 10–38.0642 × 10–38.9771 × 10–37.1357 × 10–3
32.1486 × 10–31.8326 × 10–31.4353 × 10–31.2796 × 10–30.2486 × 10–30.2102 × 10–3
460.011 × 10–357.561 × 10–313.508 × 10–311.683 × 10–310.366 × 10–38.9703 × 10–3
59.1137 × 10–38.8991 × 10–35.9154 × 10–35.1550 × 10–34.3545 × 10–33.8034 × 10–3
635.593 × 10–327.911 × 10–317.320 × 10–313.497 × 10–39.3239 × 10–38.0980 × 10–3
729.316 × 10–326.633 × 10–315.143 × 10–312.344 × 10–37.7929 × 10–36.5554 × 10–3
894.538 × 10–389.441 × 10–325.555 × 10–318.465 × 10–327.143 × 10–320.060 × 10–3
988.807 × 10–383.218 × 10–371.708 × 10–358.281 × 10–332.818 × 10–326.988 × 10–3
1091.861 × 10–386.144 × 10–374.896 × 10–360.091 × 10–340.155 × 10–328.103 × 10–3
Table 11. Registration times for different methods (s).
Table 11. Registration times for different methods (s).
Point Cloud ModelICPWOA + ICPNIWOA + ICP
t I C P t W O A t I C P t s u m t N I W O A t I C P t s u m
bun000 and bun0459.622.080.782.861.580.732.31
dragonBk1_0 anddragonBk4_011.062.600.743.342.470.543.01
ArmadilloOnHeadMultipleOffset_15 and 458.571.610.392.001.490.411.90
happyBkgd3_0 and happyBkgd4_027.399.041.1410.188.361.229.58
sun3d-hotel_umdmaryland_
hotel3cloud_bin_35 and 36
13.266.550.797.343.910.574.48
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Tian, Y.; Yue, X.; Zhu, J. Coarse–Fine Registration of Point Cloud Based on New Improved Whale Optimization Algorithm and Iterative Closest Point Algorithm. Symmetry 2023, 15, 2128. https://doi.org/10.3390/sym15122128

AMA Style

Tian Y, Yue X, Zhu J. Coarse–Fine Registration of Point Cloud Based on New Improved Whale Optimization Algorithm and Iterative Closest Point Algorithm. Symmetry. 2023; 15(12):2128. https://doi.org/10.3390/sym15122128

Chicago/Turabian Style

Tian, Yunsheng, Xiaofeng Yue, and Juan Zhu. 2023. "Coarse–Fine Registration of Point Cloud Based on New Improved Whale Optimization Algorithm and Iterative Closest Point Algorithm" Symmetry 15, no. 12: 2128. https://doi.org/10.3390/sym15122128

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