Next Article in Journal
Novel Planar Ultra-Wideband Modular Antenna Array with Low Profile
Next Article in Special Issue
Human Activity Recognition for the Identification of Bullying and Cyberbullying Using Smartphone Sensors
Previous Article in Journal
A DEXiRE for Extracting Propositional Rules from Neural Networks via Binarization
Previous Article in Special Issue
A Novel Algorithm for Automated Human Single-Lead ECG Pre-Annotation and Beat-to-Beat Separation for Heartbeat Classification Using Autoencoders
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Point Cloud Registration Method Based on Histogram and Vector Operations

1
Key Laboratory of Micro/Nano Systems for Aerospace, Ministry of Education, Northwestern Polytechnical University, Xi’an 710072, China
2
Shaanxi Province Key Laboratory of Micro and Nano Electro-Mechanical Systems, Northwestern Polytechnical University, Xi’an 710072, China
3
Ningbo Institute of Northwestern Polytechnical University, 218 Qingyi Road, Ningbo 315103, China
4
Xi’An Zhisensor Technologies Co., Ltd., Xi’an 710077, China
5
Konka Group Company Limted, Kejinan 12 Road 28, Shenzhen 518063, China
*
Author to whom correspondence should be addressed.
Electronics 2022, 11(24), 4172; https://doi.org/10.3390/electronics11244172
Submission received: 11 November 2022 / Revised: 6 December 2022 / Accepted: 7 December 2022 / Published: 14 December 2022

Abstract

:
Point-pair registration in a real scene remains a challenging task, due to the complexity of solving three transformations (scale, rotation, and displacement) simultaneously, and the influence of noise and outliers. Aimed at this problem, a registration algorithm based on histogram and vector operations is proposed in this paper. This approach converts point-based operations into vector-based operations, thereby decomposing the registration process into three independent steps solving for scale transformation factors, rotation matrices, and displacement vectors, which reduces the complexity of the solution and avoids the effects of scaling in the other two processes. The influence of outliers on the global transformation matrix is simultaneously eliminated using a histogram-based approach. Algorithm performance was evaluated through a comparison with the most commonly used SVD method in a series of validation experiments, with results showing that our methodology was superior to SVD in the cases with scaling transformation or outliers.

1. Introduction

The use of 3D point cloud processing has seen rapid expansion over the last several years, promoted by developments in computer hardware and increased processing power. Recent applications have included a broad range of fields, such as industrial production, autonomous driving, and cultural relic restoration [1,2,3]. However, it remains difficult to completely reconstruct objects using a single depth sensor, due to field-of-view limitations and occlusions. As such, multiple depth sensors are typically required to measure an object from multiple angles and positions. Reconstructed results can then be converted to the same coordinate system and fused into a complete point cloud [4]. This process requires point cloud registration, a challenging task in pattern recognition [5], computer vision [6], robotics [7], and industrial measurements [8]. Its purpose is to identify a transformation matrix from one coordinate system to another, allowing the point clouds from different sensors to be converted into the same coordinate system, thereby forming a complete point cloud for the measured object [9,10,11].
Point cloud registration algorithms are typically implemented in three steps. The first step involves determining the correspondence of points between two sets. The second step requires calculating a transformation matrix between the two point sets using this correspondence. The third step applies iterative methods to optimize the transformation matrix [12]. The first step can be achieved using a variety of techniques, including distance-based [13] and feature-based methods [14]. The third step can primarily be divided into optimization methods based on distance [15], annealing, and soft correspondence [16], similarity measurements [17], and probability density estimation [18]. In terms of the second step, most techniques use an algorithm based on SVD (singular value decomposition) to calculate the transformation matrix [19,20,21,22,23]. This approach is not only fast, but it also produces the smallest errors when only rotation and translation transformations are applied between point sets [24].
When only rotation and translation operations are conducted between point sets, the algorithm can achieve good results. However, It is very difficult for the SVD algorithm to identify and handle the scale transformation. Here, scale transformation is a linear transformation that enlarges or shrinks objects by a scale factor that is the same in all directions. In practice, the sizes of two reconstructed point clouds are always different. Therefore, if scale transformation is neglected, not only can the transformation relationship of two point clouds not be correctly expressed, but also unavoidable error will be introduced into rotation and translation processes [25]. These issues are the result of errors and variability in different sensors, which are essentially unavoidable. In addition, all points are involved in calculating the transformation matrix and, as such, calculation errors increase when local noise is too large or outliers are included [26]. Therefore, point clouds must be filtered before this registration process, and it has high requirements for filtering [27,28,29].
In response to the above problems, scholars have proposed various solutions. The PFH (point feature histogram) algorithm proposed by Radu computes the registration results by extracting an optimal set that best characterizes a given point cloud through feature histograms [30]. This method is insensitive to outliers, but the computational efficiency is generally low due to the high computational dimension (16D). Baowei utilizes the PCA (Principal Component Analysis) algorithm to calculate the covariance matrix of the source and target point clouds, and finds the rotation and transformation matrices between the source and target point clouds based on the covariance matrix [25]. This method works well in the case of scale transformation, but the computation time is also long, taking several minutes to compute 100,000 points. In addition, Xuyan’s proposed method based on triangle similarity ratio consistency uses LASH (Local Angle Statistics Histogram) to detect triangle matching points with the same similarity for computing multiple transformations between two point clouds, which has been proved to be robust to noise [31]. Xu’s method applies the NVP (normal vector and particle swarm optimization) algorithm to find the correspondence points and employs the quaternion method to align the correspondence points, which achieves high accuracy even when some data are lost [32]. Yet, this method generally requires a long time when evaluating multiple transformation matrices.
Aimed at this complex registration process, this study proposes a registration method based on histogram and vector operations. To avoid the mutual influence of registration parameters, our method converts point-based operations into vector-based operations, thereby decomposing the registration process into three independent steps solving for scale transformation factors, rotation matrices, and displacement vectors, which reduces the complexity of the solution. In case of noise and outlier situations, histograms are utilized to obtain Rodrigues parameters (i.e., scale factor, rotation axis vector, sine and cosine values of the rotation angle), following the processes to calculate the transformation matrices based on Rodrigues’ rotation formula. Finally, four experiments demonstrate that the proposed method has good registration accuracy both in the case of scale transformation and outliers.
Compared to existing methods, the novelty of this paper is: (i) Other methods address the scale and outlier problem in terms of feature extraction, and our method addresses both of these problems in the computation of the transformation matrix. (ii) We calculated the scale factor, rotation axis vector, rotation angle, and displacement vector separately using vector and histogram methods to reduce the error interactions of these variables. (iii) We make full use of the relationship between vectors (Equations (5)–(8)) to calculate the rotation axis vector and the rotation angle. (iv) Even under Gaussian noise, the distribution of Rodrigues parameters will not be the standard positive-terrestrial distribution, which makes the error of methods such as averaging very large. In contrast, our method uses histograms to greatly avoid this systematic error and provides a way for others to find the maximum likelihood variable for non-Gaussian distributions.
This paper is organized as follows. The principles of the proposed registration methodology are introduced in Section 2. Experimental details are provided in Section 3. The discussions are presented in Section 4. The conclusion is given in the last section.

2. Methods

2.1. Symbol Description

Since many symbols are used in this paper, Table 1 explains the meaning of these symbols.

2.2. Understanding of the Registration Process

We all know that the registration process between two point clouds { p i } and { p i } is actually to find the transformation matrix H, which makes the corresponding points p i and p i between the two point clouds meet the following relationship:
p i = H p i
In homogeneous coordinates,
H = R t 0 1 s c a l e
Among them, R, t , and s c a l e are the rotation matrix, displacement vector, and scale factor for transforming point cloud { p i } to point cloud { p i } . Therefore, the registration process of two point clouds is actually the process of solving the R, t , and s c a l e components of the two point cloud transformations.

2.3. Rodrigues’ Rotation Formula

Rodrigues’ rotation formula states that if a point cloud { p i } is rotated by an angle θ around the unit vector n to form the point cloud { p i } , the associated rotation matrix R can be represented by:
R = I + ( 1 cos θ ) K 2 + sin θ K
Here, I is a 3 3 unit matrix and K can be expressed as:
K = 0 k z k y k z 0 k x k y k x 0
where the coordinates of the rotation axis n are denoted ( k x , k y , k z ) . Once n and the rotation angle θ are determined, the rotation matrix R can be calculated from the point cloud { p i } to the point cloud { p i } .

2.4. Registration of Three Pairs of Corresponding Points

Three points (A, B, and C) can be identified in a given point cloud { p i } , corresponding to three points ( A , B , and C ) in the point cloud { p i } . A scale transformation factor from points A, B, and C to points A , B , and C can then be calculated as:
s c a l e = A B A B = ( x A x B ) 2 + ( y A y B ) 2 + ( z A z B ) 2 ( x A x B ) 2 + ( y A y B ) 2 + ( z A z B ) 2
where ( x A , y A , z A ) , ( x B , y B , z B ) , ( x A , y A , z A ) , and ( x B , y B , z B ) are the coordinates of points A, B, A and B , respectively. The axis of the rotation vector can be expressed as:
a x i s A B C = n o r m a l i z e ( ( A B A B A B A B ) × ( A C A C A C A C ) )
Since the unit vector A B A B is rotated around the rotation axis a x i s A B C to the vector A B A B . The vector a x i s A B C is then perpendicular to the vector A B A B A B A B and a x i s A B C is also perpendicular to A C A C A C A C . Thus, Equation (6) can be used to calculate the unit vector a x i s A B C , where n o r m a l i z e ( ) represents a normalization operation. The cosine of the angle θ is given by:
cos θ = ( A B A B A B A B a x i s A B C ) ( A C A C A C A C a x i s A B C ) A B A B A B A B a x i s A B C · A C A C A C A C a x i s A B C
The sine value of the angle θ is given by:
sin θ = ( A B A B A B A B a x i s A B C ) × ( A C A C A C A C a x i s A B C ) A B A B A B A B a x i s A B C · A C A C A C A C a x i s A B C a x i s A B C
When calculating the rotation angle of two vectors, the components in the direction of the rotation axis must be removed first. The angle can then be acquired using Equations (7) and (8) and the rotation matrix R can be calculated from Equation (3). The displacement vector t from points A, B, and C to points A , B , and C can be calculated as:
t = 1 3 i = 1 3 ( 1 s c a l e · p i R · p i )
where p i ( i = 1 , 2 , 3 ) represents the coordinates of points A, B, and C, respectively, and p i ( i = 1 , 2 , 3 ) denotes the coordinates of points A , B , and C , respectively.

2.5. Registration of Two Sets of Point Clouds

Point clouds can be grouped using three points, which can uniquely determine a registration relationship. The global registration relationship can then be determined from the registration relationship of each group as follows.
  • Step 1: The point clouds { p i } and { p i } are separately grouped using three points.
  • Step 2: The technique presented in Section 2.3 is used to calculate the Rodrigues parameters (i.e., scale factor, rotation axis vector, and sine and cosine values of the rotation angle) for each group.
  • Step 3: A histogram is used to acquire the global Rodrigues parameters, taking the parameter with the highest probability in the histogram as the global parameter.
  • Step 4: A global rotation matrix is acquired using the global Rodrigues parameters.
  • Step 5: A global displacement vector is calculated using:
    t = 1 N i = 1 N ( 1 s c a l e · p i R · p i )
    where p i represents the coordinates of the point p i in the point cloud { p i } and p i represents the coordinates of the point p i in the point cloud { p i } .

3. Experiments

Algorithm effectiveness was evaluated on the i5-10400 platform. We used a point cloud from the Bremen dataset as the source point cloud { p i } , which can be seen in Figure 1. Then, we transform the original point cloud according to Equation (11) to obtain the destination point cloud { p i } . Registration processing was performed on the two sets of point clouds using our proposed technique and the SVD algorithm.
p i = s c a l e r e a l · ( R r e a l · p i + t r e a l )
The accuracy of the two algorithms was determined by calculating the error using the following formula:
ε = 1 N i = 1 N ( 1 s c a l e c a l c u l a t e · p i R c a l c u l a t e · p i t c a l c u l a t e ) 2
where s c a l e c a l c u l a t e , R c a l c u l a t e , and t c a l c u l a t e are the scale factor, rotation matrix, and displacement vector calculated using our method and the SVD algorithm, respectively. The default SVD scaling factor was set to s c a l e c a l c u l a t e = 1 . Algorithm performance was verified in four distinct cases:
Case 1: Ideal conditions (no scaling transformation, noise, or outliers).
Case 2: Noisy conditions (no scaling transformation or outliers, but noise included).
Case 3: Scaled conditions (no outliers, but noise and a scaling transformation included).
Case 4: Outlier conditions (no scaling transformation, but noise and outliers included).
In Equation (11), the rotation matrix and displacement vector of the original point cloud transformation to the target point cloud are:
R r e a l = 0.3536 0.3536 0.866 0.7071 0.7071 0 0.6124 0.6124 0.5
t r e a l = 100 200 50
When there is no scale transformation, we define the factor of the scale transformation as 1. When there is scale transformation, we define the range of scale transformation as 0.9–1.1. In addition, the Gaussian noise standard deviation in this paper is 0.2, and the outliers are square point clouds with side lengths of 14 ∗ 14 and spacing of 0.1.

3.1. The Case of No Scale Transformation and No Noise

In this case, the transformations from the origin point cloud to the destination point cloud are rotation and translation transformations. The corresponding transformed point cloud { p i } is shown in Figure 2. Then, we calculated the registration parameters according to the steps in Section 2.5.
After the grouping process in step 1 and the vector operation in step 2, histograms for the scaling factor, cosine, and sine values of the rotation angle and rotation axis vector in step 3 are shown in Figure 3. We took the value of the maximum probability from the histogram of each Rodrigues parameter in step 3 as the global Rodrigues parameter and calculated the rotation matrix of the registration by Equation (3) (step 4) as:
R c a l c u l a t e = 0.3536 0.3535 0.866 0.707 0.7072 0 0.6124 0.6123 0.5
In step 5, we calculated the registered displacement vector by Equation (10) as:
t c a l c u l a t e = 100 200 50
and those calculated using SVD are given by:
R c a l c u l a t e = 0.3536 0.3536 0.866 0.7071 0.7071 0 0.6124 0.6124 0.5
t c a l c u l a t e = 100 200 50

3.2. The Case without a Scaling Transformation but with Gaussian Noise

Gaussian noise with a standard deviation of two times the point spacing ( σ = 0.2 ) was added to the destination point cloud { p i } described in Section 3.1. The destination point cloud { p i } with Gaussian noise is shown in Figure 4. Then, we calculated the registration parameters according to the steps in Section 2.5. In this case, histograms for the scaling factor, cosine, and sine values of the rotation angle and rotation axis vector are shown in Figure 5.
The scaling factor was set to 1 and the rotation matrix and displacement vector calculated using our method are:
R c a l c u l a t e = 0.3546 0.3539 0.8655 0.7066 0.7077 0 0.6124 0.6115 0.501
t c a l c u l a t e = 100.0063 199.9923 49.9844
Those produced by the SVD method are:
R c a l c u l a t e = 0.3536 0.3536 0.866 0.7071 0.7071 0 0.6124 0.6124 0.5
t c a l c u l a t e = 100.0005 200.0001 49.9999

3.3. The Case with Scaling Information and Gaussian Noise

The scaling effects produced by each of these two methods were observed using scale factors ( s c a l e r e a l ) ranging from 0.9 to 1.1, applied to the point cloud { p i } discussed in Section 3.2. The destination point cloud { p i } with Gaussian noise and scale transformation is shown in Figure 6. We then registered the point clouds { p i } and { p i } using each technique. Among them, when the scale factor is 0.9, histograms for the scaling factor, cosine, and sine values of the rotation angle and rotation axis vector are shown in Figure 7.
The scale factor calculated in step 3 is:
s c a l e c a l c u l a t e = 0.9
The rotation matrix calculated in step 4 is:
R c a l c u l a t e = 0.3538 0.3531 0.8659 0.7067 0.7074 0 0.6124 0.6122 0.4999
The displacement vector calculated in step 5 is:
t c a l c u l a t e = 100.0035 199.9940 50.0002
The rotation matrix and displacement vector produced by the SVD method are:
R c a l c u l a t e = 0.3484 0.3578 0.8664 0.7095 0.7047 0.0057 0.6125 0.6127 0.4994
t c a l c u l a t e = 90.7114 180.9782 45.3664
The results for varying scale factors are shown in Figure 8.
It can be seen in Figure 8a that in the process of increasing the scaling factor from 0.9 to 1.1, the maximum error produced by our method is 0.05 % and close to zero in most cases. Errors calculated using both our method and SVD are shown in Figure 8b, where it is evident that the SVD method produced the smallest errors for a scaling factor equal to 1, increasing as the scale factor deviated from 1 (e.g., reaching 60 for a scale factor of 1.1). As shown, our method is far less sensitive to changes in the scaling factor.

3.4. The Case with Outliers and Gaussian Noise

Some outliers will inevitably be generated in point clouds, due to the influence of noise, varying fields of view, and moving objects in the environment. To evaluate the impact on each technique, we added outliers (square point clouds with side lengths of 14 14 and spacing of 0.1 ) to { p i } , as shown in Figure 9.
We then registered the source and destination point clouds using our method and SVD. Among them, the histogram in step 3 for the proposed technique is shown in Figure 10.
The rotation matrix and displacement vector calculated in step 4 and step 5 can be represented as:
R c a l c u l a t e = 0.3532 0.3544 0.866 0.7079 0.7064 0 0.6119 0.6128 0.5003
t c a l c u l a t e = 99.9914 200.0110 49.9973
Those produced by the SVD method are given by:
R c a l c u l a t e = 0.3484 0.3578 0.8663 0.7095 0.7046 0.0057 0.6125 0.6127 0.4994
t c a l c u l a t e = 99.9515 200.0389 50.0006

4. Results and Discussions

The experiments implemented above demonstrate that both our method and the SVD method are able to perform point cloud registration in each of the four cases. The results are shown in Table 2.
As shown in Table 2, the SVD results are superior in ideal and noisy conditions and the errors of both methods are much smaller than the point spacing of { p i } and { p i } . This is because SVD is optimal for least squares errors, while our method suffers from histogram quantization effects. In the case of scale transformations, our method is better than the SVD method, because it cannot calculate scale transformation factors, which will eventually influence the registration results for angle and displacement transformations. It can be seen from Table 2 that even small-scale transformations could lead to large errors. In contrast, our method was unaffected by scale transformations.
The SVD method calculates a global (optimal) point cloud solution. As such, when mismatches (such as outliers) are included in the correspondence of the two sets, these point pairs participate in the calculation of point clouds. This can negatively affect the final registration results, as was the case for the fourth experiment. However, our method uses a statistical histogram approach involving a rotation axis vector, rotation angle, and scale transformation factor to determine the maximum probability for the global rotation axis, rotation angle, and scale transformation factor, thereby eliminating local outliers and noise. Compared with the SVD algorithm, which uses global points in the calculation of a transformation matrix, the influence of outliers on the registration process is reduced significantly, which improves the resulting accuracy. However, our technique does involve multiple vector operations and a time-consuming normalization step. As such, reducing the computational complexity and runtime will be the subject of a future study.
In addition, it is difficult to calculate scale, angle, and displacement transformations between point clouds while registering pairs of points with similar relationships. Thus, we convert these relationships into vectors, eliminating displacement transformations, and then normalize the vectors to eliminate scale transformations between the vectors. In this way, the purpose of separately calculating each transformation between point clouds is achieved, thereby reducing the difficulty. This study also utilizes the relationships between vectors to directly identify a rotation axis and rotation angle from a source point cloud to a destination point cloud, using Rodrigues’ rotation formula to calculate the angle transformation matrix. This approach does not require a matrix decomposition or inversion, eliminating errors caused by failures in these steps.

5. Conclusions

Since SVD algorithm failed to solve the point-pair registration problem when scale transformation and outliers exist, a registration method based on histogram and vector operations is proposed in this paper. This method can reduce the complexity of point-pair registration by converting point-based operations into vector-based operations, and decomposing the registration process into three independent steps solving for scale transformation factors, rotation matrices, and displacement. This method can also eliminate the influence of outliers on the global transformation matrix by using a histogram-based approach. A series of validation experiments were carried out to validate the point-pair registration effect compared to the SVD-based method. The experimental results proved that our method has better performance in terms of relative error and registration error when scale transformations and outliers exist. Although our method has advantages in dealing with scale transformation and outliers, our method also has the disadvantage of being time-consuming due to the involvement of vector operations. How to reduce the computational complexity of vector operations will be the focus of our future study. I believe that our method can become a reliable and efficient registration method in the field of 3D reconstruction and SLAM (Simultaneous Localization and Mapping) in the future.

Author Contributions

Methodology, Y.Z.; experiments, Y.Z.; writing—original draft preparation, Y.Z.; writing—review and editing, D.Q., C.X. and Q.H.; supervision, D.Q. All authors have read and agreed to the published version of the manuscript.

Funding

This research received support from the National Natural Science Foundation of China (Grant No. U21B2035, 62074128) and the Key-Area Research and Development Program of Guangdong Province (Grant No. 2021B0101410001).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Yang, S.; Lu, H.; Li, J. Multifeature Fusion-Based Object Detection for Intelligent Transportation Systems. IEEE Trans. Intell. Transp. Syst. 2022, 1–8. [Google Scholar] [CrossRef]
  2. Chen, F.; Brown, G.M.; Song, M. Overview of three-dimensional shape measurement using optical methods. Opt. Eng. 2000, 39, 10–21. [Google Scholar]
  3. Zhang, Z.H. Review of single-shot 3D shape measurement by phase calculation-based fringe projection techniques. Opt. Lasers Eng. 2012, 50, 1097–1106. [Google Scholar] [CrossRef]
  4. Chen, S.; Nan, L.; Xia, R.; Zhao, J.; Wonka, P. PLADE: A plane-based descriptor for point cloud registration with small overlap. IEEE Trans. Geosci. Remote. Sens. 2019, 58, 2530–2540. [Google Scholar] [CrossRef]
  5. Evangelidis, G.D.; Horaud, R. Joint alignment of multiple point sets with batch and incremental expectation-maximization. IEEE Trans. Pattern Anal. Mach. Intell. 2017, 40, 1397–1410. [Google Scholar] [CrossRef] [Green Version]
  6. Cheng, L.; Chen, S.; Liu, X.; Xu, H.; Wu, Y.; Li, M.; Chen, Y. Registration of laser scanning point clouds: A review. Sensors 2018, 18, 1641. [Google Scholar] [CrossRef] [Green Version]
  7. Zhang, X.; Wang, J.; Fang, Y.; Yuan, J. Multilevel humanlike motion planning for mobile robots in complex indoor environments. IEEE Trans. Autom. Sci. Eng. 2018, 16, 1244–1258. [Google Scholar] [CrossRef]
  8. Zhu, H.; Li, Y.; Yu, J.; Leung, H.; Li, Y. Ensemble registration of multisensor images by a variational Bayesian approach. IEEE Sensors J. 2014, 14, 2698–2705. [Google Scholar] [CrossRef]
  9. Li, L.; Yang, M.; Wang, C.; Wang, B. Cubature Kalman Filter based point set registration for SLAM. In Proceedings of the 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), Rio de Janeiro, Brazil, 1–4 November 2016; pp. 847–852. [Google Scholar]
  10. Li, L.; Yang, M.; Wang, C.; Wang, B. Rigid point set registration based on cubature Kalman filter and its application in intelligent vehicles. IEEE Trans. Intell. Transp. Syst. 2017, 19, 1754–1765. [Google Scholar] [CrossRef]
  11. Wang, G.; Zhou, Q.; Chen, Y. Robust non-rigid point set registration using spatially constrained Gaussian fields. IEEE Trans. Image Process. 2017, 26, 1759–1769. [Google Scholar] [CrossRef]
  12. Lu, Y.; Duan, M.; Dai, S. A method of point cloud data block registration with considering distance from point to surface. Bull. Pol. Acad. Sci.-Tech. Sci. 2022, 70, e140259. [Google Scholar]
  13. Besl, P.J.; McKay, N.D. Method for registration of 3-D shapes. In Sensor Fusion IV: Control Paradigms and Data Structures; SPIE: Bellingham, WA, USA, 1992; Volume 1611, pp. 586–606. [Google Scholar]
  14. Renaudin, E.; Habib, A.; Kersting, A.P. Featured-Based Registration of Terrestrial Laser Scans with Minimum Overlap Using Photogrammetric Data. Etri J. 2011, 33, 517–527. [Google Scholar] [CrossRef]
  15. Rusinkiewicz, S.; Levoy, M. Efficient variants of the ICP algorithm. In Proceedings of the Third International Conference on 3-D Digital Imaging and Modeling, Quebec City, QC, Canada, 28 May–1 June 2001; pp. 145–152. [Google Scholar]
  16. Gold, S.; Rangarajan, A.; Lu, C.; Pappu, S.; Mjolsness, E. New algorithms for 2D and 3D point matching: Pose estimation and correspondence. Pattern Recognit. 1998, 31, 1019–1031. [Google Scholar] [CrossRef]
  17. Tsin, Y.; Kanade, T. A correlation-based approach to robust point set registration. In Proceedings of the European Conference on Computer Vision, Prague, Czech Republic, 11–14 May 2004; pp. 558–569. [Google Scholar]
  18. Myronenko, A.; Song, X. Point set registration: Coherent point drift. IEEE Trans. Pattern Anal. Mach. Intell. 2010, 32, 2262–2275. [Google Scholar] [CrossRef] [Green Version]
  19. Andrews, C.M.; Henry, A.B.; Soriano, I.M.; Southworth, M.K.; Silva, J.R. Registration techniques for clinical applications of three-dimensional augmented reality devices. IEEE J. Transl. Eng. Health Med. 2020, 9, 1–14. [Google Scholar] [CrossRef]
  20. Gruen, A.; Akca, D. Least squares 3D surface and curve matching. ISPRS J. Photogramm. Remote. Sens. 2005, 59, 151–174. [Google Scholar] [CrossRef] [Green Version]
  21. Zhang, Z. Iterative point matching for registration of free-form curves and surfaces. Int. J. Comput. Vis. 1994, 13, 119–152. [Google Scholar] [CrossRef]
  22. Cheng, J.; Zhang, L.; Chen, Q.; Hu, X.; Cai, J. A review of visual SLAM methods for autonomous driving vehicles. Eng. Appl. Artif. Intell. 2022, 114, 104992. [Google Scholar] [CrossRef]
  23. Sequeira, V.; Ng, K.; Wolfart, E.; Gonçalves, J.G.M.; Hogg, D. Automated reconstruction of 3D models from real environments. ISPRS J. Photogramm. Remote. Sens. 1999, 54, 1–22. [Google Scholar] [CrossRef]
  24. Sorkine-Hornung, O.; Rabinovich, M. Least-squares rigid motion using svd. Computing 2017, 1, 1–5. [Google Scholar]
  25. Lin, B.; Tamaki, T.; Zhao, F.; Raytchev, B.; Kaneda, K.; Ichii, K. Scale alignment of 3D point clouds with different scales. Mach. Vis. Appl. 2014, 25, 1989–2002. [Google Scholar] [CrossRef]
  26. Bolkas, D.; Walton, G.; Kromer, R.; Sichler, T. Registration of multi-platform point clouds using edge detection for rockfall monitoring. ISPRS J. Photogramm. Remote. Sens. 2021, 175, 366–385. [Google Scholar] [CrossRef]
  27. 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]
  28. Xu, G.; Pang, Y.; Bai, Z.; Wang, Y.; Lu, Z. A fast point clouds registration algorithm for laser scanners. Appl. Sci. 2021, 11, 3426. [Google Scholar] [CrossRef]
  29. Liu, H.; Zhang, Y.; Lei, L.; Xie, H.; Li, Y.; Sun, S. Hierarchical Optimization of 3D Point Cloud Registration. Sensors 2020, 20, 6999. [Google Scholar] [CrossRef]
  30. 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]
  31. Zou, X.; He, H.; Wu, Y.; Chen, Y.; Xu, M. Automatic 3D point cloud registration algorithm based on triangle similarity ratio consistency. IET Image Process. 2020, 14, 3314–3323. [Google Scholar] [CrossRef]
  32. Zhan, X.; Cai, Y.; Li, H.; Li, Y.; He, P. A point cloud registration algorithm based on normal vector and particle swarm optimization. Meas. Control. 2020, 53, 265–275. [Google Scholar] [CrossRef]
Figure 1. The Bremen point cloud used in the validation experiments.
Figure 1. The Bremen point cloud used in the validation experiments.
Electronics 11 04172 g001
Figure 2. The point cloud transformed by rotation and translation.
Figure 2. The point cloud transformed by rotation and translation.
Electronics 11 04172 g002
Figure 3. Histograms for the Rodrigues parameters calculated using our method in Case 1.
Figure 3. Histograms for the Rodrigues parameters calculated using our method in Case 1.
Electronics 11 04172 g003
Figure 4. The destination point cloud { p i } with noise.
Figure 4. The destination point cloud { p i } with noise.
Electronics 11 04172 g004
Figure 5. Histograms for the Rodrigues parameters calculated using our method in Case 2.
Figure 5. Histograms for the Rodrigues parameters calculated using our method in Case 2.
Electronics 11 04172 g005
Figure 6. The destination point cloud { p i } with scale and noise.
Figure 6. The destination point cloud { p i } with scale and noise.
Electronics 11 04172 g006
Figure 7. Histograms for the Rodrigues parameters calculated using our method in Case 3.
Figure 7. Histograms for the Rodrigues parameters calculated using our method in Case 3.
Electronics 11 04172 g007
Figure 8. The experimental results for Case 3. (a) The relative error for varying scale factors, calculated using our method. (b) A comparison of errors produced using our method and SVD, applied to Case 3.
Figure 8. The experimental results for Case 3. (a) The relative error for varying scale factors, calculated using our method. (b) A comparison of errors produced using our method and SVD, applied to Case 3.
Electronics 11 04172 g008
Figure 9. The point cloud { p i } with outliers.
Figure 9. The point cloud { p i } with outliers.
Electronics 11 04172 g009
Figure 10. Histograms for the Rodrigues parameters calculated using our method in Case 4.
Figure 10. Histograms for the Rodrigues parameters calculated using our method in Case 4.
Electronics 11 04172 g010
Table 1. The list of symbols used in this paper.
Table 1. The list of symbols used in this paper.
SymbolDescription
{ p i } The initial point cloud
{ p i } The target point cloud
p i a point in the point cloud { p i }
p i The corresponding point of p i in point cloud { p i } .
p i The coordinates of point p i
p i The coordinates of point p i
HHomogeneous transformation matrix between { p i } and { p i } .
I 3 × 3 unit matrix.
n The rotation axis of { p i } transformed to { p i }
( k x , k y , k z ) The coordinates of the rotation axis n
KThe anti-symmetric matrix representation of ( k x , k y , k z ) .
θ The rotation angle of { p i } transformed to { p i }
RThe rotation matrix of { p i } transformed to { p i }
R r e a l The real value of R
R c a l c u l a t e The calculated value of R
t The translation vector of { p i } transformed to { p i }
t r e a l The real value of t
t c a l c u l a t e The calculated value of t
s c a l e The scale factor of { p i } transformed to { p i }
s c a l e r e a l The real value of s c a l e
s c a l e c a l c u l a t e The calculated value of s c a l e
A B C Three points in the point cloud { p i }
A B C The corresponding points of points A, B and C in { p i } .
a x i s A B C The rotation axis of A B C transformed to A B C
p m p n The vector from point p m to point p n
p m p n The norm of vector p m p n
×Cross product of vectors
Dot product of vectors
n o r m a l i z e ( ) Normalization of vectors
ε The accuracy of registration algorithms
σ Gaussian noise standard deviation
Table 2. Comparisons of our method and the SVD method.
Table 2. Comparisons of our method and the SVD method.
Experiment No.1234
NoiseNoGaussianGaussianGaussian
Scaling1.01.00.91.0
OutliersNoNoNoYes
Error of our method 6.59 × 10 5 2.70 × 10 3 0.00170.0062
Error of SVD method0 7.69 × 10 7 58.18910.2541
Time consumed by our method0.161 s0.178 s0.177 s0.159 s
Time consumed by SVD method0.011 s0.013 s0.015 s0.012 s
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhang, Y.; Qiao, D.; Xia, C.; He, Q. A Point Cloud Registration Method Based on Histogram and Vector Operations. Electronics 2022, 11, 4172. https://doi.org/10.3390/electronics11244172

AMA Style

Zhang Y, Qiao D, Xia C, He Q. A Point Cloud Registration Method Based on Histogram and Vector Operations. Electronics. 2022; 11(24):4172. https://doi.org/10.3390/electronics11244172

Chicago/Turabian Style

Zhang, Yanan, Dayong Qiao, Changfeng Xia, and Qing He. 2022. "A Point Cloud Registration Method Based on Histogram and Vector Operations" Electronics 11, no. 24: 4172. https://doi.org/10.3390/electronics11244172

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