Quatro++: Robust Global Registration Exploiting Ground Segmentation for Loop Closing in LiDAR SLAM

1Korea Advanced Institute of Science & Technology (KAIST),

TL;DR Quatro++: Quatro w/ ground segmentation achieves robust registration performance
when two point clouds with large discrepancy of viewpoints are given!

Abstract

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.

Why Quatro++?

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:

Problem Definition: Challenge of 3D Point Cloud Registration in Distant and Partially Overlapped Cases

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.

Four Takeaway Messages of Our Paper

1. Robustness of Quatro++ Against Large Pose Discrepancy and Partial Overlap

First, we demonstrate that Quatro++ becomes more robust in distant cases. For instance, when the difference in viewpoints between the source and target clouds ranges between 10 to 12 m in the KITTI dataset, our Quatro++ showed a substantial performance increase compared with the state-of-the-art methods, as shown in the figure below. Not only that, but there are also more results in our manuscript.

Examples of registration results. Green boxes indicate that our approaches only succeeded when two point clouds with large discrepancies of viewpoints were given

2. Applicability as a Loop Closing Module

Second, as an extension of the first message, we investigated the impact of Quatro++ to the LiDAR SLAM as a part of loop closing module. Even now, most LiDAR SLAM methods heavily rely on ICP or G-ICP to estimate the relative pose of the loop candidate. Under this circumstance, our proposed method can be utilized as a coarse alignment to provide an initial guess, helping these local registration methods to successfully estimate the relative pose. That is, because the performance of Quatro++ is less affected by the initial pose difference, our global registration can initially transform the source cloud to the region where the estimate of local registration can converge into the global minimum.

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).

3. Quantitative Analysis of the Impact of Ground Segmentation on Point Cloud Registration

Third, we quantitatively present exploiting ground segmentation enables global registration to robustly estimate the relative pose between the two point clouds whose pose discrepancy is large. Empirically, while other researchers empirically use ground segmentation to improve the performance of their own tasks (e.g. LCDNet), they seldom provide any in-depth analyses of the impact of ground segmentation on global registration. Thus, we conducted thorough analyses and particularly validated the potential of synergy between our Quatro and ground segmentation.

4. Deep Learning-Based Approaches Are Not Panacea: From the Generalization Perspective

Note that our proposed method is a learning-free approach; thus, our approach could be directly exploited to own environments. In particular, we focused on the limited generalization capabilities of deep learning-based approaches and we observed that the performance of deep learning-based methods was more significantly degraded than our approach when the surroundings or sensor configuration was different from the training data. We tested LCDNet which is trained using the KITTI dataset (captured by Velodyne HDL-64E) on the MulRan dataset (captured by Ouster OS1-64). The results are shown in the table below, which supports our claim that our approach is more suitable for loop closing and applicable to various environments because our approach does not need any training procedure.

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.

Applications (Use Cases)

1. Loop-closing in SLAM

In addition to the previously mentioned Quatro-Lego-LOAM, we implemented real-time SLAM methods and publicized them to benefit the robotics community: FAST-LIO-SAM-QN and FAST-LIO-SAM-SC-QN. These methods utilize FAST-LIO2 as odometry estimates and Quatro as real-time loop closing module. Quatro robustly estimates the relative pose between two point clouds with large pose discrepancy, where plane ICP methods fail. Furthermore, Quatro is optimized with TBB and the `optimizeMatching` function to achieve real-time performance, while maintaining the robustness and accuracy of the registration.



2. Map-based matching for localization

As Quatro provides robust and accurate global registration, a real-time map-based localization is also implemented and publicized. Fast-LIO-Localizaiton-QN accurately localizes the robots in the global coordinates by matching the current scan and the saved map. This can be efficiently applied to autonomous robots that perform repetitive tasks in designated areas.

How to use in your packages

For detailed build steps and code examples of Quatro as a module, please visit here
cd ~/your_workspace/src
git clone https://github.com/engcang/Quatro
cd ..
catkin build -DCMAKE_BUILD_TYPE=Release -DQUATRO_TBB=ON

BibTeX

@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},
}