Next Article in Journal
A Study of Breast Cancer Classification Algorithms by Fusing Machine Learning and Deep Learning
Previous Article in Journal
Real-Time Advanced Computational Intelligence for Deep Fake Video Detection
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Optimization of the 3D Point Cloud Registration Algorithm Based on FPFH Features

1
School of Mechanical and Electrical Engineering, Changchun University of Technology, Yan ‘an Avenue, Changchun 130012, China
2
School of Mechanical and Aerospace Engineering, Jilin University, People’s Street, Changchun 130025, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(5), 3096; https://doi.org/10.3390/app13053096
Submission received: 3 January 2023 / Revised: 22 February 2023 / Accepted: 25 February 2023 / Published: 27 February 2023

Abstract

:
In order to solve the problem of the traditional iterative closest point algorithm (ICPA), which requires a high initial position of point cloud and improves the speed and accuracy of point cloud registration, a new registration method is proposed in this paper. Firstly, the rough registration method is optimized. As for the extraction of the feature points, a new method of feature point extraction is adopted, which can better keep the features of the original point cloud. At the same time, the traditional point cloud filtering method is improved, and a voxel idea is introduced to filter the point cloud. The edge length data of the voxels is determined by the density, and the experimentally verified noise removal rates for the 3D cloud data are 95.3%, 98.6%, and 93.5%, respectively. Secondly, a precise registration method that combines the curvature feature and fast point feature histogram (FPFH) is proposed in the precise registration stage, and the algorithm is analyzed experimentally. Finally, the two point cloud data sets Stanford bunny and free-form surface are analyzed and verified, and it is concluded that this method can reduce the error by about 40.16% and 36.27%, respectively, and improve the iteration times by about 42.9% and 37.14%, respectively.

1. Introduction

In recent years, with the continuous maturity of 3D scanning equipment technology, more and more fields have begun to use 3D point cloud data; 3D point cloud registration technology is widely used in machine vision [1], reverse engineering [2], 3D reconstruction [3,4], shape detection [5], and other fields. Point cloud data contains three-dimensional coordinates, which has the advantages of easy storage and convenient transmission, but it needs multiple scans to obtain complete point cloud data.
Nowadays, the wider point cloud registration algorithm is the iterative closest point (ICP) algorithm and its variants. The ICP algorithm [6] iteratively searches for the point with the shortest Euclidean distance as the corresponding point, completes the calculation when the error of the algorithm is minimal, and then obtains the transformation matrix. However, the limitation of this algorithm is that it falls easily into a local optimum, low efficiency, and slow convergence speed. To solve the above problems, domestic and foreign scholars have proposed various variant algorithms. Z. W. Yao et al. [7] proposed an improved ICP algorithm based on curvature similarity, which can improve the speed and accuracy of registration in an unstructured environment by using the similarity of curvature features. J. L. Yang et al. [8] put forward the first global optimization algorithm, the globally optimal iterative closest point (Go-ICP) algorithm. By searching the whole 3D motion space, the new upper and lower limits of the error function are deduced, which speeds up the running speed and ensures global optimization. B. Sofien et al. [9] improved the ICP algorithm by creating registration optimization using sparse induction norms and achieved excellent registration results when dealing with outliers and incomplete data. S. James et al. [10] put forward the generalized iterative closest point (G-ICP) algorithm, which uses additional information channels to integrate into the used point covariance weights, and improves the registration in geometric feature areas without computational loss. J. Serafin et al. [11] proposed the normal iterative closest point (N-ICP) algorithm, which determines the data association between two point clouds through the 3D structure around the points. The algorithm relies on the least square formula of the alignment problem, which minimizes the error metric according to the surface features (curvature and normal). Feature-based matching method is also a kind of commonly used point cloud registration algorithm in which the key is to find obvious feature points and accurate correspondence. M. Y. Li et al. [12] proposed a pose estimation algorithm using point cloud data for pose-picking tasks, which uses the curve set feature (CSF) to describe the points on the surface and can evaluate the pose at the same time. while matching, the origin point pair feature (PPF) algorithm in 2D space is combined with the matching idea of nearest neighbor search, and the rotating matching feature (RMF) is proposed to effectively match the descriptor curve set feature (CSF), providing robustness to noise. Z. Shu et al. [13] proposed a six-degree-of-freedom pose estimation method to solve the flatness measurement problem of laser profilometer, which uses the boundary of point cloud data to obtain the description features of key points, removes the wrong point pairs by neighborhood evaluation, and then clusters the point clouds by geometric consistency, greatly improving the performance of the algorithm in boundary extraction and registration. D. Liu et al. [14] proposed a robust point cloud registration method based on deep learning. Principal component analysis was used to adjust the initial position between point clouds, and an inverse combination algorithm was used to iterate the neural network to complete the registration. Experiments showed that the registration error of this method was small and it was not easy to fall into the optimal solution, which enhanced the robustness of point cloud registration. J. Zhang et al. [15] introduced the implementation of iterative node placement in radial basis function nonrigid registration to adaptively reduce the registration error. Based on the widely used signature of histogram of orientation (SHOT) descriptors, S. Y. Liu et al. [16] put forward a binary simplification method for adaptive 3D feature descriptors. Different binary feature descriptors are generated by binarizing the unit length and standard deviation number in the model, and the optimal solution is determined by experiments. Compared with the traditional SHOT descriptors, this method greatly reduces the matching time of feature points, shortens the complexity of calculation, improves comprehensive performance, and has a wider application. X. M. Ge et al. [17] proposed a 4-point congruent sets (4PCS) algorithm based on key points, which enhanced the robustness of the algorithm. S. Fontana et al. [18] put forward a benchmark that can be strictly compared among different methods, which makes the point cloud registration algorithm more accurate.
At present, most point cloud registration algorithms in use first perform rough registration to obtain a good initial position and then perform accurate registration. Coarse registration can vaguely register point clouds of unknown attitudes, which provides an initial position of point clouds, and it is convenient to narrow the difference of spatial positions of point clouds. Therefore, this paper improves the rough registration algorithm, which can quickly complete the rough registration process using point cloud feature point extraction, feature matching, and point cloud filtering. The improved rough registration process and ICP algorithm based on curvature and FPFH features can achieve better-matching results.

2. Rough Surface Matching Based on Octree and Edge Feature Point Algorithm

Point cloud coarse registration includes feature point extraction, filtering processing, feature matching, and the elimination of mismatched pairs. The process of rough registration is shown in Figure 1.

2.1. Point Cloud Feature Point Extraction

The accuracy of feature extraction is related to the speed and accuracy of subsequent registration. Figure 2 is a schematic diagram of the original point cloud data, which can be used to extract feature points. Using a single feature point extraction method such as the voxel down sampling method, although the point cloud data are simplified, it cannot keep the local features of the point cloud. The internal shape signatures (ISS) feature point extraction method can preserve the local features around the point cloud data; however, the internal points are missing due to the calculation method, as shown in Figure 3. Due to the principle of simplification, the simplified curvature algorithm has low efficiency and a large amount of calculation. In this paper, octree sampling and ISS feature point extraction are combined to extract feature points. Octree is an efficient way to organize point cloud data. The data are divided by cyclic recursion until the maximum recursion depth is reached. Figure 4 is the schematic diagram of the point cloud octree, Figure 5 is a schematic diagram of octree sampling results. In this paper, the octree sampling method is used to simplify the point cloud data for the first time, and the important data such as the shape and features of the point cloud are retained. Then, the ISS feature point algorithm is used to further retain the surrounding data so that the local features of the point cloud can be well preserved. Stanford bunnies were sampled according to this method, and the results are shown in Figure 6. The flow of the improved algorithm is as follows:
1)
Hierarchical processing of octree is performed. The set depth of this paper is 4, that is, divide the largest unit into eight parts, and repeat four times until the empty node skips.
2)
Search the neighborhood. Take a point in the neighborhood as the root node, judge whether there is an intersection with the set unit, and if there is an intersection, continue to search for its child nodes, and repeat the above process.
3)
Stop the calculation when the child node meets the conditions, and take this point as the nearest neighbor.
4)
Check whether there is a closer point around the child node, if so, define it as the new nearest neighbor, otherwise, remove it.
5)
Repeat the above process, define the searched nearest neighbor as set Q, and carry out the next optimization calculation.
6)
After all the nearest neighbors are obtained, ISS feature extraction is performed, and all of the points in the neighborhood that can reflect local features are screened. Those that meet the conditions are reserved as feature points, and the optimization is finished.

2.2. Point Cloud Filtering Processing

When collecting point cloud data, there will be some useless data points, called noise points, due to the wear and tear of equipment, lighting conditions, and other uncontrollable factors. Because their existence will affect the subsequent registration process, it is necessary to filter the collected point cloud data.
The original point cloud statistical filtering method may remove some points with local features while removing noise, which will have a certain impact on the subsequent registration process. Based on the original statistical filtering, this paper introduces the voxel idea and divides the point cloud data into many small voxel units, which enhances the accuracy of the filtering process and improves the efficiency of point cloud filtering. The improved ideas are summarized as follows:
1) Determination of the side length of the voxel unit. When measuring point cloud data, the density of point cloud data obtained from different angles is also very different. The density of the point cloud is shown in Figure 7. The point cloud density is introduced to calculate the voxel side length. The specific method is as follows:
s = 1 ρ
= N v
L = s 3 1
In Equation (1), ρ is the surface density of the point cloud, and s is the specific density.
In Equation (2), N is the volume of the point cloud used, v is the volume of one block after the point cloud data are partitioned, and is the number of blocks of the point cloud.
In Equation (3), L is the side length of the voxel to be estimated.
Synthesizing the above equation, the voxel side length can be determined as:
L = 1 ρ v N 3
2) Determination of the number of voxel units. According to Equation (4), the number X of voxel units can be determined as follows:
X = v L 3 = N × ρ 3
3) Determination of d i , the distance between each neighborhood point and the center of gravity point. After calculating the barycenter coordinate p m = ( x m , y m , z m ) of each voxel unit, take its mean value and record it as N = ( x m ¯ , y m ¯ , z m ¯ ) , construct a new set of data points, and then calculate the distance d i :
d i = ( x i x m ¯ ) 2 + ( y i y m ¯ ) 2 + ( z i z m ¯ ) 2
4) Calculate the average distance between each point in the neighborhood and the N point, and calculate the mean μ and variance σ 2 :
d ¯ = i = 1 n d i n
μ = i = 1 n d ¯ m
σ = i = 1 m ( d ¯ μ ) 2 m
5) Set the distance threshold. Calculate the distance threshold by using the results obtained from Equations (8) and (9). The expression can be written as:
d max = k σ + μ
In Equation (10), k is the scaling coefficient, and the value is related to the number of points in the point cloud data.
6) Screening factions of noise points. The screening conditions are as follows:
( x i x m ¯ ) 2 + ( y i y m ¯ ) 2 + ( z i z m ¯ ) 2 = d i d max
Traverse the whole sampled point cloud data, remove the noise points that meet the above conditions, and output the point cloud data after the removal.
This paper uses the teapot point cloud data set, Stanford bunny point cloud data set, and free-form surface data set for verification. There are 4,000 random noise points in each of the three point cloud data sets. Through the following experiments, we can see the difference between using a single statistical filtering method and the filtering algorithm used in this paper. The experimental results are shown in Figure 8.
It can be seen from the data in Table 1 that the removal rates of the noise points from the three point cloud data are 90.35%, 97.7%, and 92.6%, respectively, after single statistical filtering; however, they are not well removed. After filtering with the proposed algorithm, the removal rates of noise points are 95.3%, 98.6%, and 93.5%, respectively; the filtering efficiency is improved, the noise points are filtered well, and the characteristics of point cloud data are better preserved.

2.3. Matching Relationship of Feature Points

After the feature points are determined, the initial matching point pairs need to be acquired. In this paper, the feature descriptor based on a histogram is used to calculate the initial matching point pair. Because the point cloud data has the invariance of rotation and translation, the features of points can be well preserved. This paper describes the geometric features by using the normal vector relationship between points and their adjacent points and then obtains the initial matching point pairs, the schematic diagram of the matching point pair is as shown in the Figure 9:
In the registration process, only the feature elements of the target point and its neighboring points need to be calculated, which greatly reduces the complexity of the calculation. Then, the feature elements of its neighboring points are calculated, and the distance condition is used as the weight to re-determine the K-neighboring domain. The fast point feature histogram (FPFH) of the target point P is calculated as follows:
F P F H ( p ) = S P F H ( p ) + 1 k i = 1 k 1 w k S P F H ( d k )
where w k represents the weight measured by the distance d k between P and neighboring points, and SPFH, the simple point feature histogram, is a simplified point feature histogram.

2.4. Point Cloud Mismatch Pair Elimination

After filtering and other operations, most of the noise points in the point cloud data have been well removed; however, in many cases, the ideal state cannot be achieved, and there is still the possibility of false matching pairs. Therefore, this paper combines the edge feature point algorithm with the random sample consensus (RANSAC) algorithm to eliminate the false matching pairs, so that the accuracy of the initial data will be guaranteed.
The first requirement of the edge feature point method is to determine the edge points of data. In this paper, the kd-tree method is used to search the neighboring points in the neighborhood, traverse all the points, fit the neighboring points into a curved surface, and use the projection method to calculate the angle between the points and the projected points. When it is greater than the set threshold, the point is identified as an edge point, otherwise, the point is skipped, all edge points are connected, and the result is visualized by MATLAB, as shown in the Figure 10:
After the edge feature points are eliminated, the RANSAC algorithm is used to eliminate the mismatched point pairs. The algorithm uses randomness to randomly sample feature points, randomly selecting M pairs of feature-matching points to calculate the transformation relationship between the original point cloud and the target point cloud, and then counts the number of feature-matching pairs and satisfying the transformation relationship. By repeating the above process, the transformation relationship of the largest feature-matching pair can be obtained as a correct assumption, and the feature point-matching pair satisfying the transformation relationship will be kept, while the feature point-matching pair not satisfying the transformation relationship will be rejected. The reason why the two methods are combined is that the RANSAC algorithm alone cannot completely eliminate the influence of edge feature points, and the original features of point clouds will not be affected after elimination, which improves the accuracy of point cloud matching.

3. Precise Registration Algorithm Based on Curvature and FPFH Features

The iterative closest point algorithm is the most commonly used method in precise cloud registration, which tends to fall into a local optimum when dealing with large-scale point clouds and noisy point clouds. Therefore, on the premise of completing the abovementioned rough registration process to obtain good initial values of R and T, this paper proposes an ICP fine registration algorithm based on curvature and FPFH features. The specific process is as follows:
1) The octree algorithm and ISS feature point combination algorithm are used to sample the point cloud, and the curvature idea is used to obtain the feature point set of the point cloud, thus reducing the complexity of algorithm calculation.
2) A new method of selecting nearest neighbor points is defined. After the rough registration, the point clouds are, respectively, named P 1 ( x 1 , x 2 , , x n ) and Q 1 ( y 1 , y 2 , , y m ) , and any p l ( a 0 , b 0 , c 0 ) in P 1 is selected to find the three points q h ( a h , b h , c h ) , q i ( a i , b i , c i ) , and q j ( a j , b j , c j ) with the closest Euclidean distance on Q 1 . These three points form a minimum neighborhood space, and its barycenter coordinate is q l ( a , b , c ) . Equation (13) is the calculation method of the barycenter coordinates of the minimum neighborhood unit, and p l and q l are recorded as a pair of neighboring points.
a = a h + a i + a j 3 b = b h + b i + b j 3 c = c h + c i + c j 3
3) Kd-tree is used to search the nearest neighbors of points, which improves the searching efficiency of point sets.
4) Calculate the FPFH characteristics of point p l and neighboring points. The corresponding point set is determined by the calculated value, the number of correct matching points is increased, and the accuracy of point cloud registration is improved.
5) The quaternion method is used as an iterative solution until the error condition is met or the maximum number of iterations is reached, and the calculation is stopped.
Compared with the original ICP algorithm, the improved ICP algorithm puts forward a new method to determine the nearest neighbor, which increases the calculation of the FPFH eigenvalue, which seems to increase the workload. However, in the actual registration process, the point cloud is processed by curvature features, and the original Euclidean distance judgment condition is replaced by comparing the FPFH features of points, which increases the number of correct matching pairs and greatly improves the registration accuracy of point clouds.

4. Experimental Evaluation

At present, the ICP algorithm and its variant algorithms are the most important methods used to deal with point cloud registration, among which three prominent algorithms are the original ICP algorithm [6], the ICP algorithm accelerated by kd-tree [19], and PL-ICP (point-to-line ICP) algorithm [20], which are very typical and powerful in the whole ICP algorithm series. At present, many scholars are constantly researching and innovating the above methods. This paper improves the ICP algorithm and compares the improved algorithm with three ICP-related algorithms. Because the wide application range of the ICP algorithm leads to the continuous updating of the ICP algorithm, many variant algorithms are more and more widely used. Therefore, this paper selects the above three algorithms for comparison. In this paper, MATLAB R2020b and the PCL programming library are used. the CPU is an Intel (r) core (TM) i5-11400 h @ 2.70 ghz, and the memory is 16 Gb.
The experiment was divided into two parts. The coarse registration experiment analyzed the registration error of the selected data set, and the fine registration experiment verified the convergence speed of the proposed method. The selected point cloud data set comes from the Stanford 3D data set and a self-measured free-form surface data set. The self-measured point cloud data are shown in the following Figure 11.
In the experiment, a self-developed three-axis CNC machine tool is used. The range of the x-axis is 0–270 mm, the y-axis is 0–245 mm and the z-axis is 0–225 mm. The measuring part of the information-collecting device adopts the Kinsey contact sensor, GT2-H50, with an accuracy of 3.5 μ m and a resolution of 0.5 μ m .

4.1. Analysis of Rough Registration Experiment

In this section, the improved rough registration algorithm in this paper is compared with the above four existing algorithms through experiments, and the results are analyzed, the comparison results are shown in Table 2. The evaluation index adopts root-mean-square error (RMSE), which is defined as follows:
R M S E = i N T p i q i 2 N
In Equation (14), it is the closest point of the target point cloud to the point in the source point cloud, n is the number of point clouds, and t is the translation matrix.
This paper registers the bunny point cloud data set of Stanford University with the free-form surface point cloud data set independently measured. It can be seen from the data in Table 2 that compared with existing methods, the improved rough registration method has a shorter iteration time, faster registration speed, and better accuracy and robustness.

4.2. Experimental Analysis of Fine Registration

In order to verify the accuracy of the precise registration algorithm proposed in this paper, we compared the three existing algorithms with the optimized algorithms and chose RMSE as the registration accuracy. The results are shown in Figure 12. Taking Stanford bunny and free-form surface as examples, it can be seen that compared with the classical ICP algorithm, the convergence speed of the proposed algorithm is faster, and the error of the proposed algorithm is reduced by 40.16% and 36.27% compared with the original ICP algorithm when the same iteration is performed for 20 times. In addition, when the RMSE value of the algorithm is 3.2789 × 10 6   m , the iteration times of this algorithm are reduced by 42.9% and 37.14% compared with the original ICP algorithm, which solves the problem of the slow convergence speed of the original ICP algorithm.

5. Conclusions

An improved point cloud registration method is proposed in this paper. In the rough registration stage, ISS feature point extraction, which combined the feature points extraction algorithm based on octree methods and the noise points filtering algorithm, is used to verify the feasibility of the proposed method. Finally, the mismatching point pairs are eliminated by combining the edge feature point removal algorithm with the RANSAC algorithm. In the precise registration stage, a new nearest neighbor selection method is proposed, and the ICP algorithm precise registration algorithm is improved by using curvature and FPFH features, which are verified by experiment. Compared with the traditional algorithm, the speed and accuracy of registration in this paper have been improved. The research conclusions are as follows:
1) In the rough registration stage, this paper improves the point cloud feature point extraction method and point cloud filtering method and then verifies it through experiments. From the data in Table 1, it can be seen that the removal rates of noise points on the 3D cloud data sets reached 95.3%, 98.6%, and 93.5%, respectively, and the accuracy and robustness of rough registration have been improved.
2) In the precise registration stage, the feasibility of this method was verified by experiments. Taking the Stanford bunny and the free-form surface as examples, it can be seen that the error of the improved algorithm is reduced by 40.16% and 36.27%, respectively, and the number of iterations is reduced by 42.9% and 37.14%, respectively. Compared with the traditional ICP algorithm, the improved algorithm has higher registration accuracy, a faster running speed, and stronger versatility.
The point cloud registration method is proposed in this paper, which can improve the registration accuracy and iteration rate of complex surface grinding and polishing precision machining, and has a good registration effect. The matching analysis between complex surface parts, which includes not only machined blanks but also semi-finished parts and theoretical models, can be completed in the precise machining process of complex surface grinding and polishing, and the machining allowance of each position of complex surface grinding and polishing parts can be obtained, which optimizes the subsequent machining process parameters and process planning; this further improves the machining accuracy and efficiency of complex surface grinding and polishing. This study has good theoretical significance and important engineering application value for the future development of grinding and polishing through the precision machining of complex surfaces.

Author Contributions

Project administration, E.Z.; writing—original draft preparation, R.S., H.L. and Z.F.; supervision, D.M., S.J. and Z.Z.; data curation, R.S., H.L. and Z.F.; All authors have read and agreed to the published version of the manuscript.

Funding

In this paper: the general project of Jilin Natural Science Foundation (project number 20230101336JC) “Research on the new method of airbag polishing for composite free-form surface robot”, the key research and development project of Jilin Science and Technology Department (project number 20220201035GX) “Manufacturing theory and key technology of preci-sion performance-driven composite mirror” and the key research and development project of Jilin Science and Technology Department (project number 20200401121GX) “Research on New Technology and Equipment of Adaptive Grinding and Polishing of Complex Curved Surface” were obtained.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

All the data given in this paper is available at corresponding websites.

Acknowledgments

The authors are grateful to the anonymous reviewers and the editor for their valuable comments and suggestions for improving this paper.

Conflicts of Interest

The author(s) declare no potential conflict of interest concerning the research, authorship, and/or publication of this article.

References

  1. Zhang, L.; Zhang, Y.; Chen, Z.; Xiao, P.; Luo, B. Splitting and Merging Based Multi-model Fitting for Point Cloud Segmentation. JGGS 2019, 2, 78–89. [Google Scholar]
  2. Yacout, G.; Shoukry, M.K. Reverse Engineering: Investigation of Optimization Techniques in Point Clouds Registration. PAMM 2021, 20, 5–8. [Google Scholar] [CrossRef]
  3. Li, B.; Zhang, Y.; Zhao, B.; Shao, H. 3D-ReConstnet: A single-view 3D-object point cloud reconstruction network. IEEE Access 2020, 8, 83782–83790. [Google Scholar] [CrossRef]
  4. Song, L.; Sun, S.; Yang, Y.; Zhu, X.; Guo, Q.; Yang, H. A multi-view stereo measurement system based on a laser scanner for fine workpieces. Sensors 2019, 19, 381. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  5. Ye, Y.; Chen, H.; Zhang, C.; Hao, X.; Zhang, Z. SARPNET: Shape attention regional proposal network for liDAR-based 3D object detection. Neurocomputing 2019, 379, 53–63. [Google Scholar] [CrossRef]
  6. Besl, P.J.; Mckay, N.D. A Method for Registration of 3-D Shapes. IEEE Trans. Pattern Anal. Mach. Intell. 1992, 14, 239–256. [Google Scholar] [CrossRef] [Green Version]
  7. Yao, Z.W.; Zhao, Q.X.; Li, X.F.; Bi, Q.S. Point cloud registration algorithm based on curvature feature similarity. Measurement 2021, 177, 109274. [Google Scholar] [CrossRef]
  8. Yang, J.L.; Li, H.D.; Dylan, C.; Jia, Y.D. Go-ICP: A globally optimal solution to 3D ICP point-set registration. IEEE. T. Pattern. Anal. 2016, 38, 2241–2254. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  9. Sofien, B.; Andrea, T.; Mark, P. Sparse iterative closest point. Comput. Graph. Forum 2013, 32, 113–123. [Google Scholar]
  10. James, S.; Steven, L.W. Multi-Channel generalized-ICP: A robust framework for multi-channel scan registration. Robot Auton Syst. 2017, 87, 247–257. [Google Scholar]
  11. Serafin, J.; Grisetti, G. NICP: Dense normal based point cloud registration. In Proceedings of the 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–2 October 2015; pp. 742–749. [Google Scholar] [CrossRef] [Green Version]
  12. Li, M.Y.; Hashimoto, K. Curve set feature-based robust and fast pose estimation algorithm. Sensors 2017, 17, 1782. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  13. Shu, Z.; Cao, S.; Jiang, Q.; Xu, Z.; Tang, J.; Zhou, Q. Pairwise Registration Algorithm for Large-Scale Planar Point Cloud Used in Flatness Measurement. Sensors 2021, 21, 4860. [Google Scholar] [CrossRef] [PubMed]
  14. Liu, D.Z.; Zhang, Y.; Luo, L.; Li, J.L.; Gao, X.R. PDC-Net: Robust point cloud registration using deep cyclic neural network combined with PCA. Appl. Optics 2021, 60, 2990–2997. [Google Scholar] [CrossRef] [PubMed]
  15. Zhang, J.; Ackland, D.; Fernandez, J. Point-cloud registration using adaptive radial basis functions. Comput. Method Biomec 2018, 21, 498–502. [Google Scholar] [CrossRef] [PubMed]
  16. Liu, S.Y.; Zheng, W.L.; Lin, Y.H. Adaptive binary simplification method for 3D feature descriptor. J. Comput. Appl. 2021, 41, 2062–2069. [Google Scholar]
  17. Ge, X.M. Automatic markerless registration of point clouds with semantic-key point-based 4-points congruent sets. ISPRS. J. Photogramm. Remote. Sens. 2017, 130, 344–357. [Google Scholar] [CrossRef] [Green Version]
  18. Fontana, S.; Cattaneo, D.; Ballardini, A.L.; Vaghi, M.; Sorrenti, D.G. A benchmark for point clouds registration algorithms. Robot. Auton. Syst. 2021, 140, 103734. [Google Scholar] [CrossRef]
  19. Gao, J.; Gu, Y. Feature matching for multi-beam sonar image sequence using KD-Tree and KNN search. Int. J. Comput. Appl. T 2021, 67, 168–175. [Google Scholar] [CrossRef]
  20. Lin, H.Y.; Chang, C.C.; Liang, S.C. 3D Pose Estimation Using Genetic-Based Iterative Closest Point Algorithm. Int. J. Innov. Comput. I 2018, 14, 537–547. [Google Scholar]
Figure 1. The rough registration process of the point cloud.
Figure 1. The rough registration process of the point cloud.
Applsci 13 03096 g001
Figure 2. Point cloud raw data.
Figure 2. Point cloud raw data.
Applsci 13 03096 g002
Figure 3. ISS feature point extraction.
Figure 3. ISS feature point extraction.
Applsci 13 03096 g003
Figure 4. Schematic diagram of octree with a depth of 4.
Figure 4. Schematic diagram of octree with a depth of 4.
Applsci 13 03096 g004
Figure 5. Based on octree sampling.
Figure 5. Based on octree sampling.
Applsci 13 03096 g005
Figure 6. Sampling algorithm in this paper.
Figure 6. Sampling algorithm in this paper.
Applsci 13 03096 g006
Figure 7. Visualization diagram of cloud density.
Figure 7. Visualization diagram of cloud density.
Applsci 13 03096 g007
Figure 8. Comparison of filtering effect.
Figure 8. Comparison of filtering effect.
Applsci 13 03096 g008
Figure 9. Visualization of matching relationships between feature points.
Figure 9. Visualization of matching relationships between feature points.
Applsci 13 03096 g009
Figure 10. Extraction of feature points on the edge of the point cloud.
Figure 10. Extraction of feature points on the edge of the point cloud.
Applsci 13 03096 g010
Figure 11. Free-form surface information collection system and its cloud images.
Figure 11. Free-form surface information collection system and its cloud images.
Applsci 13 03096 g011
Figure 12. Fine registration results.
Figure 12. Fine registration results.
Applsci 13 03096 g012
Table 1. Number of point cloud filters.
Table 1. Number of point cloud filters.
Filtering MethodTotal Number of
Point Clouds
Number of Filtered
Point Clouds
Effective Filtering NumberFilter Rate
Single statistical filtering45,475 141,858361490.35%
Optimization algorithm used in this paper41,660381295.3%
Single statistical filtering44,256 240,346391097.7%
Optimization algorithm used in this paper40,314394298.6%
Single statistical filtering25,316 321,612370492.6%
Optimization algorithm used in this paper21,577373993.5%
1 Teapot point cloud dataset; 2 Bun000 point cloud dataset; 3 Free-form surface point cloud dataset.
Table 2. Analysis of rough registration results.
Table 2. Analysis of rough registration results.
Registration MethodIterations R M S E / m Iterations R M S E / m
I C P 10
(Bun000)
9.4754 × 10 6 10
(Free-form surface)
8.8821 × 10 6
I C P K d t r e e 7.4715 × 10 6 7.419 × 10 6
P L I C P 6.5929 × 10 6 6.94 × 10 6
The algorithm in this paper 5.3832 × 10 6 5.941 × 10 6
I C P 25
(Bun000)
5.0498 × 10 6 25
(Free-form surface)
3.6151 × 10 6
I C P K d t r e e 4.624 × 10 6 3.6087 × 10 6
P L I C P 4.5434 × 10 6 3.5248 × 10 6
The algorithm in this paper 4.4834 × 10 6 3.4832 × 10 6
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

Sun, R.; Zhang, E.; Mu, D.; Ji, S.; Zhang, Z.; Liu, H.; Fu, Z. Optimization of the 3D Point Cloud Registration Algorithm Based on FPFH Features. Appl. Sci. 2023, 13, 3096. https://doi.org/10.3390/app13053096

AMA Style

Sun R, Zhang E, Mu D, Ji S, Zhang Z, Liu H, Fu Z. Optimization of the 3D Point Cloud Registration Algorithm Based on FPFH Features. Applied Sciences. 2023; 13(5):3096. https://doi.org/10.3390/app13053096

Chicago/Turabian Style

Sun, Ruiyang, Enzhong Zhang, Deqiang Mu, Shijun Ji, Ziqiang Zhang, Hongwei Liu, and Zheng Fu. 2023. "Optimization of the 3D Point Cloud Registration Algorithm Based on FPFH Features" Applied Sciences 13, no. 5: 3096. https://doi.org/10.3390/app13053096

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