Global registration is a fundamental task that estimates the relative pose between two viewpoints of 3D point clouds. However, there are two issues that degrade the performance of global registration in LiDAR SLAM: one is the sparsity issue and the other is degeneracy. The sparsity issue is caused by the sparse characteristics of the 3D point cloud measurements in a mechanically spinning LiDAR sensor. The degeneracy issue sometimes occurs because the outlier-rejection methods reject too many correspondences, leaving less than three inliers. These two issues have become more severe as the pose discrepancy between the two viewpoints of 3D point clouds becomes greater. To tackle these problems, we propose a robust global registration framework, called Quatro++. Extending our previous work that solely focused on the global registration itself, we address the robust global registration in terms of the loop closing in LiDAR SLAM. To this end, ground segmentation is exploited to achieve robust global registration. Through the experiments, we demonstrate that our proposed method shows a higher success rate than the state-of-the-art global registration methods, overcoming the sparsity and degeneracy issues. In addition, we show that ground segmentation significantly helps to increase the success rate for ground vehicles. Finally, we apply our proposed method to the loop closing module in LiDAR SLAM and confirm that the quality of the loop constraints is improved, showing more precise mapping results. Therefore, the experimental evidence corroborated the suitability of our method as an initial alignment in the loop closing. Our code will be made available on publication.
The ultimate goal of our approach is to achieve robust global registration even though the quality of feature matching is degraded. Of course, just as in the current research direction, improving the performance of feature matching and descriptors naturally enhances the performance of registration (and in this case, RANSAC still works very well). However, we want to propose a method that can robustly handle registration even in situations where the performance of feature extraction and matching is undesirably compromised. To this end, we propose a simple yet powerful approach, which consists of a) ground segmentation and b) Quatro.
One may argue that Quatro++ is just the combination of ground segmentation and Quatro. It's true, but please kindly note that what we aim for is to solve a difficult problem with ease using this simple combination of two approaches; and it successfully shows significant performance. In particular, it has been remarkable that our Quatro++ consistently succeeds even when two point clouds with large discrepancies of viewpoints are given, as can be seen in the video below:
Unlike object-level point cloud data whose points are evenly distributed, or indoor datasets acquired by RGB-D sensors, a 3D point cloud captured by a spinning LiDAR sensor has somewhat different characteristics. That is, as the distance from the origin of a point cloud becomes longer, the density dramatically decreases, which is referred to as sparsity issue (for more details, I recommend reading my previous papers: Patchwork and Quatro). The sparsity issue directly has a negative impact on the quality of feature descriptors and thus induces false matching results.
To be more concrete, most feature descriptor methods, including deep learning-based methods, utilize the geometrical inter-relations between each point and its neighboring points to generate descriptors. However, as the density becomes sparse, these neighboring points are insufficient to describe the actual geometrical inter-relations because the distance between the two points becomes large. As a result, the expressibility of descriptors becomes worse. Finally, if these degraded descriptors are taken as the inputs of descriptor matching, it will deteriorate the matching performance, reducing the number of actual inliers while increasing the ratio of outliers, as shown in the figure below:
One sentence summary: As the actual pose discrepancy between two viewpoints of point clouds, the number of actual inliers reduces while the ratio of outliers inevitably increases.
Examples of registration results. Green boxes indicate that our approaches only succeeded when two point clouds with large discrepancies of viewpoints were given
As explained earlier, our proposed method showed more robust performance against these ambiguous scenes and reverse cases by leveraging ground segmentation. Accordingly, even though distant or reversed loop pairs are given by the loop detection module, our proposed method can successfully estimate the relative pose in a coarse manner. Consequently, the local registration method, which follows the global registration, can estimate the correct relative pose as a fine alignment. Consequently, our Quatro++ significantly makes the quality of mapping better, particularly in large-scale environments, presenting tightly aligned mapping results and fewer false loops.
(T-B): Point cloud mapping results and the corresponding loop constraints in DCC01 of the MulRan dataset. (a) The original LeGO-LOAM. (b) LeGO-LOAM with ScanContext as a loop detection. (c) LeGO-LOAM with both TEASER++ and ScanContext, named as TSC-LeGO-LOAM. (d) LeGO-LOAM with both Quatro++ and ScanContext, named as QSC-LeGO-LOAM, showing a tightly aligned mapping result and fewer false loops. The green lines denote the true positive loop constraints and red lines denote the false positive loop constraints (best viewed in color).
In addition, we tested USIP, which is a learning-based feature extraction method, to run MDGAT-Matcher, but it completely failed to extract proper feature points. Therefore, these issues might be problems to be solved in the robotics community in the future.
Visualization of wrong keypoint extraction in MulRan dataset using USIP, which is trained in the KITTI dataset and tested in the MulRan dataset. The red points are the extracted keypoints. These experiments showed that deep learning-based approaches are relatively hard to be generalized in other datasets.
cd ~/your_workspace/src
git clone https://github.com/engcang/Quatro
cd ..
catkin build -DCMAKE_BUILD_TYPE=Release -DQUATRO_TBB=ON
@article{lim2023quatro-plusplus,
author = {Lim, Hyungtae and Kim, Beomsoo and Kim, Daebeom and Lee, Eungchang and Myung, Hyun},
title = {Quatro++: Robust Global Registration Exploiting Ground Segmentation for Loop Closing in LiDAR SLAM},
booktitle = {International Journal of Robotics Research},
year = {2023},
}