Improved Registration Algorithm Based on Double Threshold Feature Extraction and Distance Disparity Matrix
Abstract
:1. Introduction
2. Materials and Methods
2.1. Normal Vector Calculation
- (1)
- For point (), its neighbourhood points , , … are found in a ball of radius .
- (2)
- Equations (1) and (2) are used to calculate the normal vector of point , where is the 3D centroid of the neighbourhood point set, and is the covariance matrix of . The three eigenvectors and the corresponding three eigenvalues of covariance matrix are calculated via eigenvalue decomposition. The eigenvector that corresponds to the smallest eigenvalue is the normal vector of point .
- (3)
- The direction of the normal vector is determined using Equation (3). In general, the direction of the normal vector is consistent towards the viewpoint direction (from viewpoint to ).
2.2. Curvature Calculation
- (1)
- Point is set as the coordinate origin, establishing the local coordinate system (). The direction of the normal vector of the surface at point is the direction of the -axis. The - and - axes are on the tangent plane at point , as shown in Figure 3. The - - and -axes are orthogonal.
- (2)
- Basic equation of quadric surface [32]:
- (3)
- The first fundamental quantity and the second fundamental quantity of the fitted surface can be obtained by solving the first- and second-order partial derivatives of the equation from the basic equation of the surface. Combined with the surface parameter equation, the principal curvature (, ), Gaussian curvature (), and average curvature () can be calculated.
2.3. Double Threshold Feature Extraction Based on the Normal Vector and Curvature
2.4. DDM Algorithm
- (1)
- The distance matrix for point sets and is calculated, i.e., , ,(), where , .
- (2)
- The DDM is calculated, i.e., , . Each element in the matrix represents the difference between the Euclidean distances of two feature points before and after rigid body transformation; hence, it is called DDM. If the point pair set has no external value, then , ; otherwise, if () is a wrong match, then a large nonzero value will appear in row and column of the symmetric matrix , resulting in () being distinguished from other point pairs.
- (3)
- A vector is defined to store the mean value of each row of , and the extreme values are determined. If the subtraction of the two values is less than the set threshold , then , and the extreme value is continuously found; otherwise, the cycle is exited.
2.5. SAC-IA Coarse Registration
- (1)
- A number of sampling points are selected from the source point cloud , and the distance between each point should be greater than the minimum distance given in advance to ensure that there are different FPFH between points.
- (2)
- According to the FPFH, one or more points similar to the sampling points are found in the target point cloud , and these similar points are regarded as the corresponding points of the sampling points.
- (3)
- The transformation matrix is calculated in accordance with the corresponding points. The performance of registration is evaluated according to the total distance error function by solving the corresponding point transformation, which is expressed as follows:
2.6. ICP Fine Registration
- (1)
- The point cloud after coarse registration and the target point cloud are taken as the initial point set for fine registration.
- (2)
- For all points of , the nearest corresponding point in is found to form the initial corresponding point pairs.
- (3)
- Use the least square method to solve the optimal rotation matrix and translation matrix , perform , on the point cloud and the mean square error (MSE) function is minimized.
- (4)
- Set the threshold , if the condition is met, end the iteration and get the final transformation matrix and .
3. Results
3.1. Selection of Mian Parameters
3.2. The Results of Experiments
4. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Azizmalayeri, F.; Peyghambarzadeh, S.M.M.; Khotanlou, H.; Salarpour, A. Kernel Correlation Based CNN for Point Cloud Classification Task. In Proceedings of the 2018 8th International Conference on Computer and Knowledge Engineering (ICCKE), Mashhad, Iran, 25–26 October 2018; pp. 200–204. [Google Scholar] [CrossRef]
- Liu, J.; Bai, D.; Chen, L. 3D point cloud registration algorithm based on greedy projection triangulation. Appl. Sci. 2018, 8, 1776. [Google Scholar] [CrossRef]
- Moring, I.; Ailisto, H.; Koivunen, V.; Myllylä, R. Active 3D vision system for automatic model-based shape inspection. Opt. Lasers Eng. 1989, 10, 149–160. [Google Scholar] [CrossRef]
- Luo, H.; Pape, C.; Reithmeier, E. Scale-Aware Multi-View Reconstruction Using an Active Triple-Camera System. Sensors 2020, 20, 6726. [Google Scholar] [CrossRef] [PubMed]
- Baltsavias, E.P. A comparison between photogrammetry and laser scanning. ISPRS J. Photogramm. Remote Sens. 1999, 54, 83–94. [Google Scholar] [CrossRef]
- Gong, Y.; Zhang, S. Ultrafast 3D shape measurement with an off-the-shelf DLP projector. Opt. Express 2010, 18, 19743–19754. [Google Scholar] [CrossRef] [PubMed]
- Li, X.C.; Yan, Z.Y.; Lin, S. Point Cloud Registration Based on Neighbourhood Characteristic Point Extraction and Matching. Acta Photonica Sin. 2020, 49, 0415001. [Google Scholar] [CrossRef]
- Huang, X.; Mei, G.; Zhang, J.; Abbas, R. A comprehensive survey on point cloud registration. arXiv 2021. [Google Scholar] [CrossRef]
- Liu, X.; Qi, C.R.; Guibas, L.J. FlowNet3D: Learning Scene Flow in 3D Point Clouds. In Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, CA, USA, 15–20 June 2019; pp. 529–537. [Google Scholar] [CrossRef]
- Ao, S.; Hu, Q.; Yang, B.; Markham, A.; Guo, Y. Spinnet: Learning a general surface descriptor for 3d point cloud registration. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, Nashville, TN, USA, 25 June 2021; pp. 11753–11762. [Google Scholar] [CrossRef]
- Zhang, Z.; Dai, Y.; Sun, J. Deep learning based point cloud registration: An overview. Virtual Real. Intell. Hardw. 2020, 2, 222–246. [Google Scholar] [CrossRef]
- Besl, P.J.; McKey, H.D. A method for registration of 3D shapes. IEEE Trans. Pattern Anal. Mach. Intell. 1992, 14, 239–256. [Google Scholar] [CrossRef]
- He, Y.; Liang, B.; Yang, J.; Li, S.; He, J. An iterative closest points algorithm for registration of 3D laser scanner point clouds with geometric features. Sensors 2017, 17, 1862. [Google Scholar] [CrossRef]
- Hong, S.; Ko, H.; Kim, J. VICP: Velocity updating iterative closest point algorithm. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, Alaska, 3–8 May 2010; pp. 1893–1898. [Google Scholar] [CrossRef]
- Segal, A.; Haehnel, D.; Thrun, S. Generalised-ICP. Robot. Sci. Syst. 2009, 2, 435. [Google Scholar] [CrossRef]
- Yang, J.; Li, H.; Jia, Y. Go-ICP: Solving 3D Registration Efficiently and Globally Optimally. In Proceedings of the 2013 IEEE International Conference on Computer Vision, Sydney, Australia, 1–8 December 2013. [Google Scholar] [CrossRef]
- Magnusson, M.; Lilienthal, A.; Duckett, T. Scan registration for autonomous mining vehicles using 3D-NDT. J. Field Robot. 2007, 24, 803–827. [Google Scholar] [CrossRef]
- Yu, Z. Intrinsic shape signatures: A shape descriptor for 3D object recognition. In Proceedings of the IEEE International Conference on Computer Vision Workshops, Montreal, BC, Canada, 11–17 October 2010. [Google Scholar] [CrossRef]
- 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] [CrossRef]
- Rusu, R.B.; Blodow, N.; Beetz, M. Fast point feature histograms (FPFHs) for 3D registration. In Proceedings of the 2009 IEEE International Conference on Robotics and Automation, Kobe, Japan, 12–17 May 2009; pp. 3212–3217. [Google Scholar] [CrossRef]
- Zhao, J.; Li, C.; Tian, L.; Zhu, J. FPFH-based graph matching for 3D point cloud registration. In Proceedings of the Tenth International Conference on Machine Vision (ICMV 2017), Vienna, Austria, 13–15 November 2017; Volume 10696, pp. 143–155. [Google Scholar] [CrossRef]
- Yun, D.; Kim, S.; Heo, H.; Ko, K.H. Automated registration of multi-view point clouds using sphere targets. Adv. Eng. Inform. 2015, 29, 930–939. [Google Scholar] [CrossRef]
- Jauer, P.; Kuhlemann, I.; Bruder, R.; Schweikard, A.; Ernst, F. Efficient registration of high-resolution feature enhanced point clouds. IEEE Trans. Pattern Anal. Mach. Intell. 2018, 41, 1102–1115. [Google Scholar] [CrossRef] [PubMed]
- 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]
- Raobo, L.; Xiping, Y.; Shu, G.; Rui, B.; Sha, G.; Lin, H. Research on Point Cloud Registration Method Using Gravity Feature Transformation. Acta Photonica Sin. 2021, 50, 1112002. [Google Scholar] [CrossRef]
- Bin, W.; Lin, L.; Yuqing, H. Three-dimensional cardiac point cloud registration by improved iterative closest point method. Opt. Precis. Eng. 2020, 28, 474–484. [Google Scholar] [CrossRef]
- Chenghang, S.; Jingru, L.; Guanjie, L. Improved ICP algorithm point cloud registration by feature point sampling consistency. Beijing Surv. Mapp. 2021, 35, 6. [Google Scholar] [CrossRef]
- Xu, G.; Pang, Y.; Bai, Z.; Wang, Y.; Lu, Z. A Fast Point Cloud Registration Algorithm for Laser Scanners. Appl. Sci. 2021, 11, 3426. [Google Scholar] [CrossRef]
- Min, Z.; Wang, J.L.; Meng, M.Q.H. Robust generalized point cloud registration using hybrid mixture model. In Proceedings of the 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 21–25 May 2018; pp. 4812–4818. [Google Scholar] [CrossRef]
- Koide, M.Y.; Oishi, S.; Banno, A. Voxelized gicp for fast and accurate 3d point cloud registration. In Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA), Xi’an, China, 30 May–5 June 2021; pp. 11054–11059. [Google Scholar] [CrossRef]
- Shui, W.; Zhou, M. An approach for model reconstruction based on multi-view scans registration. In Proceedings of the 2010 International Conference on Audio, Language and Image Processing, Shanghai, China, 23–25 November 2010; pp. 601–606. [Google Scholar] [CrossRef]
- Milroy, M.J.; Bradley, C.; Vickers, G.W. Segmentation of a wraparound model using an active contour. Comput. Aided Des. 1997, 29, 299–320. [Google Scholar] [CrossRef]
- Luo, N.; Wang, Q. Optimised initial aligning algorithm for point cloud registration. J. Xidian Univ. 2017, 44, 69–74. [Google Scholar] [CrossRef]
- Wu, Z.; Song, S.; Khosla, A.; Yu, F.; Zhang, L.; Tang, X.; Xiao, J. 3D ShapeNets: A Deep Representation for Volumetric Shapes. In Proceedings of the 28th IEEE Conference on Computer Vision and Pattern Recognition (CVPR2015), Columbus, OH, USA, 23–28 June 2015; pp. 1912–1920. [Google Scholar] [CrossRef] [Green Version]
k/m | 0.01 | 0.0009 | 0.0008 | 0.0007 | 0.0006 | 0.005 | 0.004 | 0.003 | 0.002 | 0.001 |
Neighbourhood points | 623 | 507 | 402 | 309 | 229 | 159 | 102 | 58 | 25 | 5 |
Parameters | Value | Definition |
---|---|---|
k | 0.002 m | Neighbourhood radius |
20 rad | Threshold of normal vector change degree | |
15 1/m | Threshold of average curvature local characteristic weight | |
0.001 m | Threshold of ending the DDM algorithm | |
0.004 m | Radius of calculating FPFH | |
0.01 m | Max distance threshold of corresponding points for ICP | |
50 | Max iteration number for ICP |
Model | Number of Points | Algorithm | Time of Coarse Registration | Time of ICP | MSE |
---|---|---|---|---|---|
Bunny (0°) | 40,256 | ICP | / | 61.758 s | 1.939 × 10−7 |
Algorithm in [27] | 11.805 s | 1.088 s | 2.560 × 10−7 | ||
Algorithm in [28] | 3.443 s | 0.652 s | 9.116 × 10−7 | ||
Proposed | 1.676 s | 0.604 s | 1.259 × 10−16 | ||
Armadillo (60°) | 23,404 | ICP | / | 20.287 s | 5.169 × 10−7 |
Algorithm in [27] | 8.593 s | 0.663 s | 3.041 × 10−7 | ||
Algorithm in [28] | 2.839 s | 0.412 s | 8.219 × 10−8 | ||
Proposed | 2.807 s | 0.345 s | 3.515 × 10−16 | ||
Dragon (24°) | 34,836 | ICP | / | 56.146 s | 2.735 × 10−7 |
Algorithm in [27] | 10.561 s | 0.908 s | 3.967 × 10−7 | ||
Algorithm in [28] | 4.833 s | 0.616 s | 9.306 × 10−8 | ||
Proposed | 1.610 s | 0.511 s | 8.385 × 10−16 | ||
Buddha (0°) | 78,056 | ICP | / | 164.677 s | 5.632 × 10−8 |
Algorithm in [27] | 30.416 s | 4.158 s | 8.658 × 10−8 | ||
Algorithm in [28] | 4.098 s | 1.418 s | 4.228 × 10−8 | ||
Proposed | 20.666 s | 2.873 s | 6.643 × 10−16 | ||
Plane | 36,980 | ICP | / | 39.74 s | 5.185 × 10−12 |
Algorithm in [27] | 324.319 s | 3.639 s | 5.932 × 10−7 | ||
Algorithm in [28] | 132.853 s | 1.103 s | 1.904 × 10−7 | ||
Proposed | 1.146 s | 0.539 s | 1.835 × 10−15 |
Model | Number of Points | Algorithm | Time of Coarse Registration | Time of ICP | MSE |
---|---|---|---|---|---|
Bunny (0° and 45°) | 40,256, 40,097 | ICP | / | 47.315 s | 9.332 × 10−6 |
Algorithm in [27] | 6.141 s | 1.261 s | 1.302 × 10−6 | ||
Algorithm in [28] | 2.900 s | 0.737 s | 2.995 × 10−5 | ||
Proposed | 0.991 s | 0.599 s | 4.481 × 10−8 | ||
Armadillo (60° and 90°) | 23,404, 28,341 | ICP | / | 19.867 s | 6.527 × 10−6 |
Algorithm in [27] | 11.957 s | 0.815 s | 2.230 × 10−6 | ||
Algorithm in [28] | 3.580 s | 0.519 s | 4.474 × 10−6 | ||
Proposed | 1.558 s | 0.427 s | 6.581 × 10−8 | ||
Dragon (24° and 48°) | 34,836, 22,092 | ICP | / | 27.818 s | 1.559 × 10−5 |
Algorithm in [27] | 3.385 s | 0.709 s | 6.722 × 10−6 | ||
Algorithm in [28] | 4.701 s | 0.531 s | 2.325 × 10−5 | ||
Proposed | 1.789 s | 0.348 s | 9.180 × 10−8 | ||
Buddha (0° and 48°) | 78,056, 69,158 | ICP | / | 224.568 s | 2.223 × 10−5 |
Algorithm in [27] | 9.837 s | 2.454 s | 2.159 × 10−5 | ||
Algorithm in [28] | 3.789 s | 1.511 s | 2.158 × 10−5 | ||
Proposed | 10.260 s | 1.137 s | 7.440 × 10−8 | ||
Airpane | 36,980, 34,117 | ICP | / | 165.056 s | 2.235 × 10−4 |
Algorithm in [27] | 274.603 s | 6.119 s | 6.248 × 10−6 | ||
Algorithm in [28] | 49.362 s | 2.317 s | 5.254 × 10−6 | ||
Proposed | 0.910 s | 0.491 s | 2.037 × 10−8 |
Point Clouds | Number of Points | |||
---|---|---|---|---|
Original Points | Feature Points | Initial Matched Points | Final Matched Points | |
Bunny 0° and 45° | 40,256, 40,097 | 1044, 487 | 31 | 15 |
Armadillo 60° and 90° | 23,404, 28,341 | 2324, 2711 | 73 | 38 |
Dragon 24° and 48° | 34,836, 22,092 | 1441, 1228 | 79 | 49 |
Buddha 0° and 48° | 78,056, 69,158 | 7436, 5648 | 884 | 375 |
Airplane | 36,980, 34,117 | 1162, 879 | 15 | 10 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wang, B.; Zhou, J.; Huang, Y.; Wang, Y.; Huang, B. Improved Registration Algorithm Based on Double Threshold Feature Extraction and Distance Disparity Matrix. Sensors 2022, 22, 6525. https://doi.org/10.3390/s22176525
Wang B, Zhou J, Huang Y, Wang Y, Huang B. Improved Registration Algorithm Based on Double Threshold Feature Extraction and Distance Disparity Matrix. Sensors. 2022; 22(17):6525. https://doi.org/10.3390/s22176525
Chicago/Turabian StyleWang, Biao, Jie Zhou, Yan Huang, Yonghong Wang, and Bin Huang. 2022. "Improved Registration Algorithm Based on Double Threshold Feature Extraction and Distance Disparity Matrix" Sensors 22, no. 17: 6525. https://doi.org/10.3390/s22176525
APA StyleWang, B., Zhou, J., Huang, Y., Wang, Y., & Huang, B. (2022). Improved Registration Algorithm Based on Double Threshold Feature Extraction and Distance Disparity Matrix. Sensors, 22(17), 6525. https://doi.org/10.3390/s22176525