Abstract
Motivated by the high speed but insufficient precision of the existing fast point feature histogram algorithm, a new fast point feature histogram registration algorithm based on density optimization is proposed. In this method, a 44-section blank feature histogram is first established, and then a principal component analysis is implemented to calculate the normal of each point in the point cloud. By translating the coordinate system in the established local coordinate system, the normal angle of each point pair and its weighted neighborhood are obtained, and then a fast point feature histogram with 33 sections is established. The reciprocal of the volume density for the central point and its weighted neighborhood are calculated simultaneously. The whole reciprocal space is divided into 11 sections. Thus, a density fast point feature histogram with 44 sections is obtained. On inputting the testing models, the initial pose of the point cloud is adjusted using the traditional fast point feature histogram and the proposed algorithms, respectively. Then, the iterative closest point algorithm is incorporated to complete the fine registration test. Compared with the traditional fine registration test algorithm, the proposed optimization algorithm can obtain 44 feature parameters under the condition of a constant time complexity. Moreover, the proposed optimization algorithm can reduce the standard deviation by 8.6% after registration. This demonstrates that the proposed method encapsulates abundant information and can achieve a high registration accuracy.
Introduction
Motivation
With the increasing demands for applications of point clouds, map-making,1,2 cultural relic research, geological research, 3 autonomous driving, and medical simulation rely heavily on high-quality point cloud data. Although a point cloud can be obtained via a scanner, binocular camera, or optical radar, a full point cloud model cannot be obtained through a single measurement, owing to the immobility of the scanning target and the large size of the model. To obtain full point cloud data, the original point cloud data acquired from various perspectives or coordinates should be transformed into a unified reference system. Manual and automatic registration algorithms represent two common methods used for point cloud registration. However, the manual registration algorithm requires several punctuation points attached to the surface of the target, which leads to low efficiency. For this reason, the automatic registration algorithm has attracted the attention of many researchers.
Literature review
Solving the transformation matrix between two (or more) sets of point clouds represents the core of a point cloud registration algorithm. In 1992, Besl and Mckay proposed a classic registration algorithm called iterative closest point (ICP). 4 The corresponding relationship between two point clouds (corresponding point pair) is obtained by finding the overlapping parts of the two point clouds, and then the transformation matrix of the overall point clouds is solved.
However, the ICP algorithm has several limitations, such as the requirement for overlapping regions between two point clouds and strict requirements on the initial poses of the point clouds. If the initial poses do not satisfy the requirements, then the registration may fall into a local optimum or provide an incorrect registration. The most common current solution to this issue is to perform a coarse registration operation on the point cloud to obtain a suitable initial pose before employing the ICP. For example, this point could involve the variable metric 5 registration algorithm, integrated feature descriptors registration algorithm, 6 or using the Plücker straight line to calculate the relative pose parameters. 7 Unfortunately, these proposed methods are limited to specific situations. Radu Bogdan Rusu proposed a universal coarse registration algorithm, in which the coordinates and normal information of corresponding point pairs are considered as features. 8 The parameters of the description information are reduced from 12 to 4 by shifting the coordinate system, and then the four obtained eigenvalues are equally divided into five intervals. The number of points in a point cloud falling into each interval is counted to construct the point feature histogram. This algorithm can extract sufficient information and features, but is highly time-consuming. For this reason, Rusu proposed the fast point feature histogram (FPFH) algorithm. 9 This method only calculates the normal information of the center point and its neighborhood points so that the speed of the algorithm is significantly improved. Meanwhile, the accuracy of the point feature histogram (PFH) is considerably reduced owing to a partial loss of information.
To enhance the accuracy of FPFH, some researchers have employed the Bhattacharyya distance of the FPFH feature for two point clouds as a new metric optimization parameter. 10 Combined with the color texture direction feature histogram and viewpoint feature histogram, 11 a new algorithm can be constructed. To obtain a high-speed registration algorithm, researchers have attempted to utilize pre-processing clustering to obtain effective information points, 12 calculate the surface normal vector to optimize the FPFH feature, 13 and combine the transformation matrix between point clouds and sequential images 14 to enhance the accuracy of FPFH. Although the particle swarm algorithm15,16 has recently been implemented for point cloud registration, it is easy to fall into a local optimum and difficult to find optimal parameters to complete point cloud registration, owing to the inherent drawbacks of the particle swarm algorithm. It should be noted that there is currently no proposed method that can simultaneously achieve a high registration speed and accuracy. Thus, an approach to building a point cloud registration algorithm with a high speed and accuracy has become the focus of researchers.
Contributions and organization
The proposed method has two major contributions. (1) Considering the good rotational and scale invariance of a density, an FPFH based on the density optimization algorithm is proposed, which can achieve high-accuracy registration results. (2) The algorithm can ensure that the proposed method and traditional FPFH algorithm have the same time complexity by calculating the volume density features of a central point and its neighborhood points.
In the next section, this article will introduce the principles of the proposed algorithm and then illustrate its advantages in detail. Simulations will be described in the third section. The fourth section will analyze the simulation results and compare the density-FPFH algorithm with other algorithms. The fifth section will present a discussion on the robustness of the proposed method. Finally, conclusions will be provided in the last section.
FPFH algorithm based on volume density optimization
Algorithm overview
Prior to the fine registration of a point cloud, it is necessary to obtain a suitable initial pose. The common approach is to apply the classic FPFH algorithm. The surface normal and curvature of a point cloud are the most important features and simple to calculate, only requiring the extraction of the information of the central point and its neighborhood using principal component analysis algorithm.
17
However, the normals of each surface are reasonably close to each other owing to the huge amount of data in a point cloud. If only either the normal or curvature is considered, then a large number of approximate points are obtained. Moreover, the normal and curvature of the center point are obtained using the k-domain approximation, which is not sufficiently accurate. Therefore, it is difficult to find the correct corresponding pose simply by using the normal line. The PFH containing the point cloud normal interaction information and statistical information becomes a significant local feature descriptor of the point cloud
18
during this operation. However, the PFH is required to calculate the interconnections between all the pairs of points in the point cloud. Suppose that any query point has K neighborhood points, and its computational complexity is
If the size of the point cloud increases, the number of required calculations increases dramatically. Therefore, an accelerated version of the PFH, called the FPFH algorithm, is more widely used in practice. The FPFH algorithm reduces the required amount of calculation by reducing the amount of acquired information. Thus, the calculation speed of FPFH is improved at the expense of reducing point cloud features. Moreover, the feature calculations of FPFH and PFH need to traverse the point cloud from 0 to each point in a pair. Taking each point as the center with the query point being the starting point or critical point, the normal deviation is 0 for both FPFH and PFH. Therefore, an FPFH based on volume density optimization is proposed.
Calculation of three deflections
The interactive normal deviation between any two points in the point cloud is calculated according to the traditional FPFH algorithm proposed by Rusu. Suppose that, for a point coded as

Schematic diagram of overall calculation.
Let the normals of

Schematic diagram of normal declination calculation.
The interactive normal deviation between the points
Assume
where d represents the distance between the two points in a point cloud.
The process is divided into three steps. (1) The normal deviation relationship between the point
where
Therefore, the normal deviation relationship (
Volume density calculation
In this section, the fourth metric, called the volume density, will be calculated. The new volume density metric is proposed because the number of neighborhood points has been calculated during the calculation of
where
If the features of the whole point cloud are calculated using the same radius r, then the volume V can be deemed as a constant. Furthermore,
It is concluded that if the FPFH feature is calculated by the radius r neighborhood query, the center point volume density can use the number of its neighborhood points K to represent.
Taking the point

Schematic diagram of density.
The volume density of the center point is not sufficient to represent the volume density of the sphere, and thus the volume densities of all neighborhood points at the center point are calculated. The reciprocal of the sum for the volume densities of each neighborhood point is added to the central point’s volume density, and the result is adopted as the final feature. To improve the calculation speed, the actual volume density calculation is performed synchronously with the calculation of
Finally, the volume density feature is combined with the three deviation angles

Schematic diagram of feature combination.
Compared with the traditional FPFH algorithm, the time complexity of the proposed algorithm is unchanged, and the number of required calculations is increased slightly. Moreover, the information missing in the traditional FPFH algorithm is preserved. Density information that can be used for registration is still available even if the current query point has no normal deviation.
Algorithm registration
Although the point cloud is adjusted using the density-FPFH algorithm to obtain a good initial pose, it is still necessary to subsequently perform secondary fine registration. The core principle of the ICP algorithm is the calculation of the point cloud transformation matrix. 19 A good initial pose, which can be obtained by the density-FPFH algorithm, is required for its application. 20 Thus, the ICP algorithm is adopted to perform the secondary fine registration. To verify the speed and accuracy of the proposed algorithm, a registration simulation test is performed.
Volume density–optimized FPFH registration test
Registration scheme design
The classic Stanford rabbit model (the size of two point cloud models is 35,974) is adopted to verify the speed and accuracy of the proposed algorithm. A C++ compiler is used for the registration test, while Geomagic Studio 12 is used for the error analysis. The algorithm is designed as follows:
Input: Two rabbit point cloud models with different initial poses (the source point
Output: The registered point cloud
Step 1: Any point
Step 2: According to the above-mentioned steps for solving the three deviation angles, any point
Step 3: K-dimensional tree searching is employed to search for
Step 4: The upper and lower limits of the volume density are calculated for each point cloud. The value interval is divided equally into 11 parts, and the number of points falling into each interval is counted.
Step 5: The interval value of
Step 6: The sample consensus initial alignment,21,22 which is characteristic in the density-FPFH algorithm, is used to perform the coarse registration test. The point cloud pose is adjusted to obtain the coarse point cloud
Step 7: The registered point cloud
Registration parameter design
The utilized test data consist of the classic Stanford rabbit model, where the total number of points is 35,974. If the whole point cloud is implemented to perform the registration test, this will be time-consuming. Therefore, the point cloud should first be sampled. Generally speaking, the remaining point cloud can represent the features of the whole model with a smaller size. The sampling radius is set to a suitable value of 1 mm after several tests. The size of the remaining point clouds is 819. To ensure the accuracy of the test results, the volume density is set as a variable. The remainder of the registration algorithm parameters are the same, as shown in Table 1.
Registration algorithm parameters.
FPFH: fast point feature histogram.
Analysis of results
Feature histogram effect comparison
According to the proposed algorithm, the density-FPFH feature of each point in the point cloud should have 11 more parameters than the traditional FPFH, which represent the volume density feature. To verify its validity, a point of the rabbit model is selected to calculate its FPFH and density-FPFH features. The two results are illustrated in Figures 5 and 6, respectively.

Traditional FPFH feature.

Density-FPFH feature.
As shown in Figure 5, the traditional FPFH has 33 parameters, and mutations are present at the starting point. Most of the features are concentrated in the middle and rear portions, which are utilized as features for registration in the FPFH algorithm.
Compared with the 33-section eigenvalues of the traditional FPFH algorithm, density-FPFH has 11 new volume density features as shown in Figure 6, which significantly enhances the traditional FPFH content. It can be concluded that density-FPFH has more complete and important information than the traditional FPFH algorithm.
Registration effect comparison
Registration fit analysis
According to the number of features, it can be inferred whether the feature information of the optimization algorithm is rich. However, the performances of the two algorithms should be determined by testing. Based on the Point Cloud Library platform, coarse registration is performed for the sampled rabbit model using the density-FPFH and FPFH algorithms, respectively. The registration results are illustrated in Figure 7. It should be noted that the red model represents the source point cloud, and the black one is the registered point cloud.

Coarse registration results: (a) traditional FPFH and (b) density-FPFH.
According to Figure 7, the traditional FPFH registration algorithm exhibits prominent deviations in the tail and ear contours of the rabbit. The point cloud obtained by density-FPFH is closer to the source point cloud.
On this basis, the coarse registration results of the point cloud are utilized to perform fine registration using the ICP algorithm, as shown in Figure 8.

Fine registration results: (a) traditional FPFH + ICP and (b) density-FPFH + ICP.
According to Figure 8, no overlap is observed in the tail of the rabbit using the traditional algorithm. The cloud registered by density-FPFH coincides with the source point cloud, and the difference can barely be observed with the naked eye. Thus, the performance of the proposed algorithm is superior to that of the traditional algorithm.
To demonstrate the universality of the proposed algorithm, more detailed scenarios will be considered, such as fish, cattle, deer, microphones, workpieces, and vertebrae. Moreover, to ensure the accuracy of the comparison results, the same number of iterations and search radius are utilized for the two algorithms so that the algorithm type is the only variable, as shown in Figure 9.

Comparison of coarse registration effects.
According to Figure 9, the results of the density-FPFH registration yield a higher recognition, and the point cloud obtained by density-FPFH is closer to the source point cloud. It can be concluded that the proposed algorithm can handle various scenarios and achieve a better registration result than the traditional algorithm.
Registration error analysis
According to the coarse registration results presented above, the density-FPFH algorithm can obtain a better pose, but the degree of optimization is unknown. To obtain the quantitative index of the optimization degree, standard deviation obtained according to Geomagic is used to research, which can be expressed as follows
where D represents the distance between the point of the registered point cloud and the source point cloud model,
The relative error
where
The standard deviation analysis results are shown in Table 2.
Standard deviation for coarse registration.
FPFH: fast point feature histogram.
According to Table 2, the standard deviation of the volume density optimization algorithm is always lower than that of the traditional algorithm. After 500 iterations, the standard deviation after the density-FPFH coarse registration is significantly smaller and the result is more accurate, which is consistent with the conclusions of the presented diagrams. More precisely, in the coarse registration stage, the FPFH algorithm based on volume density optimization yields a smaller registration standard deviation than the traditional FPFH algorithm and can reduce the standard deviation by 6.7%. It can be concluded that the coarse registration results are more accurate for the density-FPFH algorithm.
To analyze the effect on the final registration results, the same parameters are utilized for ICP registration. The point clouds that have been coarsely registered for 500 iterations with the density-FPFH and traditional FPFH algorithms are considered. The obtained standard deviation results are presented in Table 3.
Standard deviation for fine registration.
FPFH: fast point feature histogram; ICP: iterative closest point.
Observing the final standard deviation results obtained by the proposed and traditional algorithms, it is found that the standard deviation obtained by the proposed algorithm is reduced by 8.6%, and its registration result is more accurate.
Registration density radius effect analysis
The density-FPFH algorithm proposed in this study is based on the volume density feature and utilized to optimize the traditional FPFH algorithm. The degree of optimization is closely related to the point cloud’s volume density. As the calculation of the volume density depends on the radius, to obtain better optimization results, the registration calculation is performed with different radii. It is noted that the other registration parameters are the same. The obtained test results are presented in Table 4.
Radius effect analysis results.
The analysis consists of two parts. First, the relationship between the radius and standard deviation is explored. According to Table 4, as the radius increases within a certain range, the standard deviation decreases. Moreover, the standard deviation increases sharply when the density calculation radius exceeds 1 mm. This is because when the radius is too large, the densities of all points in the point cloud are almost the same, and the volume density characteristic has a small effect on the algorithm. Thus, the precision is decreased. To maximize the effect of the volume density feature on the proposed algorithm, the registration test density should be 1 mm.
Second, the relationship between the running time of the algorithm and the radius of the density calculation is explored. According to Table 4, as the radius increases, the running time of the algorithm gradually decreases. The larger the radius, the easier it is to calculate the volume density characteristics. However, it is necessary for the registration to consider the dual factors of time and precision. Therefore, the final running time of the test is 3763 ms. At this time, the traditional FPFH algorithm running time is 3515 ms. Although the speed is slightly reduced, the final result of the registration is more sensitive to the standard deviation, and the accuracy is significantly improved.
Therefore, it can be concluded that when the point cloud’s volume density is utilized as a feature, the selection of the density calculation radius is highly important. If the radius is too large, then the error sharply increases and the feature becomes invalid. If it is too small, then the speed is reduced and the error is increased. The key of the density-FPFH algorithm is the selection of the radius of the volume density.
Discussion
According to the above experiments, the density-FPFH algorithm has a higher precision and speed. To study the stability of the proposed algorithm, a classical particle swarm optimization (PSO) algorithm is utilized to perform the registration experiment.
Taking the rabbit model as an example, the traditional FPFH, density-FPFH, and particle swarm algorithm are employed to register the point cloud. Because the particle swarm algorithm is considerably faster than the FPFH and density-FPFH algorithms, to ensure the algorithms are only compared in terms of a single variable, the number of iterations of the FPFH and density-FPFH algorithms is reduced so that the running times of all algorithms are the same. The experimental results are illustrated in Figure 10.

Standard deviation comparison.
Based on Figure 10, it can be observed that the proposed algorithm is the most accurate and stable method, and the traditional algorithm achieves a moderate performance. The registration results obtained for PSO are highly unstable. The reason that the proposed method outperforms the traditional FPFH algorithm is because the volume density is introduced, which can maintain the same time complexity and preserve the missing information of the traditional algorithm. PSO has a wide range of related applications.23,24 The reason for outperforming the PSO algorithm is mainly down to the inherent drawbacks of particle swarm algorithm, which involves randomness during operations. There are two main problems for PSO: (1) how to choose the appropriate registration parameters and (2) how to avoid becoming trapped in local optima. Thus, it can be concluded that stability is a major advantage of the density-FPFH algorithm.
Conclusion
According to the shortcomings of the current popular combined FPFH and ICP registration algorithm, an FPFH algorithm based on the volume density is proposed. The coarse registration results are obtained by volume density optimization and then incorporated into the ICP algorithm to perform fine registration. By combining the traditional FPFH algorithm and the point cloud volume density, the proposed method increases the number of features in the point cloud registration and enriches the feature histogram information to optimize the traditional FPFH algorithm. A point cloud library is then employed to perform a coarse registration test on the optimized and traditional FPFH algorithms and adjust the test registration parameters until the optimal coarse registration result is obtained. Finally, Geomagic is utilized to perform an error analysis on the registration test. The experimental results show that the density-FPFH algorithm proposed in this study can improve the coarse registration accuracy and obtain better initial point cloud poses under the constraints of time complexity when compared with the traditional FPFH algorithm. The ICP algorithm is incorporated to perform fine registration in the later stage, the overall standard deviation can be reduced by 8.6% within a short time, and the high-precision registration results can be obtained. Compared with the PSO 25 algorithm, the proposed algorithm achieves a high stability. In summary, the volume density feature of point cloud plays an important role in the registration and can be utilized to optimize the FPFH algorithm to achieve high-quality registration results.
Footnotes
Appendix 1
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the National Natural Science Youth Fund (No.51705229).
