{"id":14566103,"url":"https://github.com/HKUST-Aerial-Robotics/G3Reg","last_synced_at":"2025-09-04T08:33:10.260Z","repository":{"id":190024823,"uuid":"681793752","full_name":"HKUST-Aerial-Robotics/G3Reg","owner":"HKUST-Aerial-Robotics","description":"A fast and robust global registration library for outdoor LiDAR point clouds.","archived":false,"fork":false,"pushed_at":"2024-08-07T03:40:32.000Z","size":13668,"stargazers_count":204,"open_issues_count":1,"forks_count":13,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-09-07T04:10:36.258Z","etag":null,"topics":["registration"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HKUST-Aerial-Robotics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-22T19:10:59.000Z","updated_at":"2024-09-06T07:07:31.000Z","dependencies_parsed_at":"2024-08-07T07:39:05.317Z","dependency_job_id":null,"html_url":"https://github.com/HKUST-Aerial-Robotics/G3Reg","commit_stats":null,"previous_names":["hkust-aerial-robotics/g3reg"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HKUST-Aerial-Robotics%2FG3Reg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HKUST-Aerial-Robotics%2FG3Reg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HKUST-Aerial-Robotics%2FG3Reg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HKUST-Aerial-Robotics%2FG3Reg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HKUST-Aerial-Robotics","download_url":"https://codeload.github.com/HKUST-Aerial-Robotics/G3Reg/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231949213,"owners_count":18450456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["registration"],"created_at":"2024-09-07T04:01:16.407Z","updated_at":"2024-12-31T05:31:58.796Z","avatar_url":"https://github.com/HKUST-Aerial-Robotics.png","language":"C++","funding_links":[],"categories":["WhyLongTerm"],"sub_categories":["Australia"],"readme":"# \u003cdiv align = \"center\"\u003e\u003cimg src=\"assets/car.png\" width=\"5%\" height=\"5%\" /\u003e G3Reg: \u003c/div\u003e\n\n## \u003cdiv align = \"center\"\u003ePyramid Graph-based Global Registration using Gaussian Ellipsoid Model\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://ieeexplore.ieee.org/document/10518010\"\u003e\u003cimg src=\"https://img.shields.io/badge/Paper-IEEE TASE-004088.svg\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://arxiv.org/abs/2308.11573\"\u003e\u003cimg src=\"https://img.shields.io/badge/ArXiv-2308.11573-004088.svg\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://youtu.be/4OeZ9bVsxcY?si=180BzZ-lxak1iq69\"\u003e\n\u003cimg alt=\"Youtube\" src=\"https://img.shields.io/badge/Video-Youtube-red\"/\u003e\n\u003c/a\u003e\n\u003ca \u003e\u003cimg alt=\"PRs-Welcome\" src=\"https://img.shields.io/badge/PRs-Welcome-red\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/HKUST-Aerial-Robotics/G3Reg/stargazers\"\u003e\n\u003cimg alt=\"stars\" src=\"https://img.shields.io/github/stars/HKUST-Aerial-Robotics/G3Reg\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/HKUST-Aerial-Robotics/G3Reg/network/members\"\u003e\n\u003cimg alt=\"FORK\" src=\"https://img.shields.io/github/forks/HKUST-Aerial-Robotics/G3Reg?color=FF8000\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/HKUST-Aerial-Robotics/G3Reg/issues\"\u003e\n\u003cimg alt=\"Issues\" src=\"https://img.shields.io/github/issues/HKUST-Aerial-Robotics/G3Reg?color=0088ff\"/\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\n\u003e [Zhijian Qiao](https://qiaozhijian.github.io/), Zehuan Yu, Binqian Jiang, [Huan Yin](https://huanyin94.github.io/), and [Shaojie Shen](https://uav.hkust.edu.hk/group/)\n\u003e\n\u003e IEEE Transactions on Automation Science and Engineering\n\n### News\n* **`03 Apr 2024`:** Accepted by [IEEE TASE](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=8856)! \n* **`19 Dec 2023`:** Conditionally Accept.\n* **`22 Aug 2023`:** We released our paper on Arxiv and submit it to [IEEE TASE](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=8856).\n\n\n## Abstract\n\u003cdiv align=\"center\"\u003e\u003ch4\u003eG3Reg is a fast and robust global registration framework for point clouds.\u003c/h4\u003e\u003c/div\u003e\n\n\u003cdiv align = \"center\"\u003e\u003cimg src=\"assets/pipeline.png\" width=\"95%\" /\u003e \u003c/div\u003e\n\n**Features**:\n+ **Fast matching**: We utilize segments, including planes, clusters, and lines, parameterized as Gaussian Ellipsoid Models (GEM) to facilitate registration.\n+ **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.\n+ **Framework Integration**: Both GEM and PAGOR can be integrated into existing registration frameworks to boost their performance. \n\n**Note to Practitioners**:\n+ **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.\n+ **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](docs/demo.md).\n+ **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](configs/kitti_lc_bm/fpfh_pagor.yaml).\n+ **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.\n\n## Getting Started\n- [Installation](docs/install.md)\n- [Demo](docs/demo.md)\n- [Benchmarks](docs/benchmarks.md)\n\n## Qualitative results on datasets\n### KITTI-08\nhttps://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/8f4091b5-5305-4236-afb6-00ea5799ecd7\n### Apollo-Highway\nhttps://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/f1d4c9ad-04e9-4cf4-890a-12714f74eb59\n### Apollo-Sunnyvale\nhttps://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/60c7bf50-cd1c-447d-964d-1902e4db0489\n### Livox-HIT-1\nhttps://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/ee1d9dd1-d460-4970-b060-ada25bc8e004\n### Livox-HIT-3\nhttps://github.com/HKUST-Aerial-Robotics/G3Reg/assets/21232185/ef453f89-c92b-4d26-b232-3db2e3bac3f3\n## Application to Multi-session Map Merging\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"docs/map_merging.png\" alt=\"map_merging\"\u003e\n\u003c/div\u003e\n\n## Acknowledgements\nWe would like to show our greatest respect to authors of the following repos for making their works public:\n* [Teaser](https://github.com/MIT-SPARK/TEASER-plusplus)\n* [Segregator](https://github.com/Pamphlett/Segregator)\n* [Quatro](https://github.com/url-kaist/Quatro)\n* [3D-Registration-with-Maximal-Cliques](https://github.com/zhangxy0517/3D-Registration-with-Maximal-Cliques)\n\n## Citation\nIf you find G3Reg is useful in your research or applications, please consider giving us a star 🌟 and citing it by the following BibTeX entry.\n```bibtex\n@ARTICLE{qiao2024g3reg,\n  author={Qiao, Zhijian and Yu, Zehuan and Jiang, Binqian and Yin, Huan and Shen, Shaojie},\n  journal={IEEE Transactions on Automation Science and Engineering}, \n  title={G3Reg: Pyramid Graph-Based Global Registration Using Gaussian Ellipsoid Model}, \n  year={2024},\n  volume={},\n  number={},\n  pages={1-17},\n  keywords={Point cloud compression;Three-dimensional displays;Laser radar;Ellipsoids;Robustness;Upper bound;Uncertainty;Global registration;point cloud;LiDAR;graph theory;robust estimation},\n  doi={10.1109/TASE.2024.3394519}}\n```\n```bibtex\n@inproceedings{qiao2023pyramid,\n  title={Pyramid Semantic Graph-based Global Point Cloud Registration with Low Overlap},\n  author={Qiao, Zhijian and Yu, Zehuan and Yin, Huan and Shen, Shaojie},\n  booktitle={2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},\n  pages={11202--11209},\n  year={2023},\n  organization={IEEE}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHKUST-Aerial-Robotics%2FG3Reg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHKUST-Aerial-Robotics%2FG3Reg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHKUST-Aerial-Robotics%2FG3Reg/lists"}