MCPcopy Create free account
hub / github.com/HKUST-Aerial-Robotics/G3Reg

github.com/HKUST-Aerial-Robotics/G3Reg @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,019 symbols 2,282 edges 103 files 146 documented · 14% updated 13mo ago★ 325

Browse by type

Functions 819 Types & classes 200
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

G3Reg:

Pyramid Graph-based Global Registration using Gaussian Ellipsoid Model

Youtube PRs-Welcome stars FORK Issues

Zhijian Qiao, Zehuan Yu, Binqian Jiang, Huan Yin, and Shaojie Shen

IEEE Transactions on Automation Science and Engineering

News

  • 03 Apr 2024: Accepted by IEEE TASE!
  • 19 Dec 2023: Conditionally Accept.
  • 22 Aug 2023: We released our paper on Arxiv and submit it to IEEE TASE.

Abstract

G3Reg is a fast and robust global registration framework for point clouds.

Features: + Fast matching: We utilize segments, including planes, clusters, and lines, parameterized as Gaussian Ellipsoid Models (GEM) to facilitate registration. + Robustness: We introduce a distrust-and-verify scheme, termed Pyramid Compatibility Graph for Global Registration (PAGOR), designed to enhance the robustness of the registration process. + Framework Integration: Both GEM and PAGOR can be integrated into existing registration frameworks to boost their performance.

Note to Practitioners: + Application Scope: The method outlined in this paper focuses on global registration of outdoor LiDAR point clouds. However, the fundamental principles of G3Reg, including segment-based matching and PAGOR, are applicable to any point-based registration tasks, including indoor environments. + Segmentation Check: If the registration does not perform as expected on your point cloud, it is advisable to review the segmentation results closely, referring to Segmentation Demo. + Alternative Matching Approaches: For practitioners preferring not to use GEM-based matching, point-based matching is a viable alternative. For implementation details, please refer to the configuration file at fpfh_pagor. + Limitations: Segment-based matching may be less effective in environments with sparse geometric information, such as areas with dense vegetation. In such scenarios, enhancing segment descriptions through hand-crafted or deep learning-based descriptors is recommended to improve matching accuracy.

Getting Started

Qualitative results on datasets

KITTI-08

https://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/8f4091b5-5305-4236-afb6-00ea5799ecd7

Apollo-Highway

https://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/f1d4c9ad-04e9-4cf4-890a-12714f74eb59

Apollo-Sunnyvale

https://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/60c7bf50-cd1c-447d-964d-1902e4db0489

Livox-HIT-1

https://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/ee1d9dd1-d460-4970-b060-ada25bc8e004

Livox-HIT-3

https://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/ef453f89-c92b-4d26-b232-3db2e3bac3f3

Application to Multi-session Map Merging

<img src="https://github.com/HKUST-Aerial-Robotics/G3Reg/raw/main/docs/map_merging.png" alt="map_merging">

Acknowledgements

We would like to show our greatest respect to authors of the following repos for making their works public: * Teaser * Segregator * Quatro * 3D-Registration-with-Maximal-Cliques

Citation

If you find G3Reg is useful in your research or applications, please consider giving us a star 🌟 and citing it by the following BibTeX entry.

@ARTICLE{qiao2024g3reg,
  author={Qiao, Zhijian and Yu, Zehuan and Jiang, Binqian and Yin, Huan and Shen, Shaojie},
  journal={IEEE Transactions on Automation Science and Engineering}, 
  title={G3Reg: Pyramid Graph-Based Global Registration Using Gaussian Ellipsoid Model}, 
  year={2024},
  volume={},
  number={},
  pages={1-17},
  keywords={Point cloud compression;Three-dimensional displays;Laser radar;Ellipsoids;Robustness;Upper bound;Uncertainty;Global registration;point cloud;LiDAR;graph theory;robust estimation},
  doi={10.1109/TASE.2024.3394519}}
@inproceedings{qiao2023pyramid,
  title={Pyramid Semantic Graph-based Global Point Cloud Registration with Low Overlap},
  author={Qiao, Zhijian and Yu, Zehuan and Yin, Huan and Shen, Shaojie},
  booktitle={2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  pages={11202--11209},
  year={2023},
  organization={IEEE}
}

Core symbols most depended-on inside this repo

Shape

Method 673
Class 191
Function 146
Enum 9

Languages

C++100%
Python1%

Modules by API surface

Thirdparty/backward-cpp/backward.hpp213 symbols
Thirdparty/robot_utils/include/nanoflann/nanoflann.hpp135 symbols
include/back_end/teaser/registration.h57 symbols
include/front_end/gem/tgs.hpp40 symbols
include/front_end/gem/gemodel.h28 symbols
Thirdparty/clique_solver/include/clique_solver/graph.h26 symbols
include/front_end/graph_vertex.h23 symbols
include/utils/opt_utils.h21 symbols
include/front_end/gem/aos.hpp21 symbols
Thirdparty/clique_solver/Thirdparty/pmc/src/pmc_graph.cpp19 symbols
Thirdparty/clique_solver/Thirdparty/pmc/include/pmc/pmc_graph.h19 symbols
include/front_end/gem/voxel.h18 symbols

For agents

$ claude mcp add G3Reg \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page