Skip to content

Leveraging Semantic Graphs for Efficient and Robust LiDAR SLAM

License

Notifications You must be signed in to change notification settings

nubot-nudt/SG-SLAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leveraging Semantic Graphs for Efficient and Robust LiDAR SLAM

This repo contains the implementation of our paper

Leveraging Semantic Graphs for Efficient and Robust LiDAR SLAM

Neng Wang, Huimin Lu, Zhiqiang Zheng, Hesheng Wang, Yun-Hui Liu, Xieyuanli Chen

SG-SLAM is a semantic graph enhanced SLAM framework. It is robust for pose estimation and capable of constructing globally consistent semantic map.

News:

  • [2025-03] Code released.
  • [2025-02] Submitted IROS 2025.

1. Introduction

1.1 Framework

we propose a semantic graph-enhanced SLAM framework, named SG-SLAM, which effectively leverages the geometric, semantic, and topological characteristics inherent in environmental structures. The semantic graph serves as a fundamental component that facilitates critical functionalities of SLAM, including robust relocalization during odometry failures, accurate loop closing, and semantic graph map construction. Our method employs a dual-threaded architecture, with one thread dedicated to online odometry and relocalization, while the other handles loop closure, pose graph optimization, and map update. This design enables our method to operate in real time and generate globally consistent semantic graph maps and point cloud maps.

1.2 A related video

Our accompanying video is available on OneDrive.

2. Prerequisites

We tested our code on ubuntu 20.04 and ROS Noetic We have integrate the following dependency libraries into the folder

Additionally GTSAM 4.0.3 needs to be installed on your machine.

3. Data

1. KITTI

You can download the point cloud dataset from the KITTI official website, as well as the labels from the semanticKITTI website. In our experiments, we use the labels from the SegNet4D. For the convenience, you can download from here.

2. MulRAN

Download the dataset from the official website.

3. Apollo

We use a subset of Apollo proposed by the AutoMOS. You can download from MapMOS repo.

4. Usage

4.1 Install

mkdir -p catkin_ws/src
cd catkin_ws/src
git clone [email protected]:nubot-nudt/SG-SLAM.git
cd ..
catkin build
source ~/catkin_ws/devel/setup.bash

4.2 running

Run the following commands for SLAM

roslaunch semgraph_slam semgraph_slam_kitti.launch # for kitti
roslaunch semgraph_slam semgraph_slam_mulran.launch # for mulran
roslaunch semgraph_slam semgraph_slam_apollo.launch # for apollo

Note that you should replace lidar_path and label_path with your own.

SLAM Performance Evaluation

cd eval
python traj_eval.py --gt_file ./ground_truth_pose/00.txt --pred_file ../save/kitti_slam_00.txt --calib_file /path/to/calib/00/calib.txt

4.3 Relocalization Demo

Download our relocalization demo data form this link, or create your own dataset by randomly removing 10 consecutive frames.

Run the following commands for odometry with relocalization.

roslaunch semgraph_slam semgraph_slam_relocalization.launch

You can observe the relocalization results from rviz.

Our related work

  • SegNet4D, a 4D semantic segmentation method.
  • SGLC, a semantic graph guided loop closing method.

Citation

If you find our work helpful, please consider citing our paper:

 @article{wang2025sgslam,
        title     = {{Leveraging Semantic Graphs for Efficient and Robust LiDAR SLAM}},
        author    = {Neng, Wang and Huimin, Lu and Zhiqiang, Zheng and Hesheng, Wang and Yun-Hui, Liu and Xieyuanli, Chen},
        journal   = {arXiv preprint arXiv:2503.11145},
        year      = {2025}
      }

Acknowledgments

We would like to express our sincere gratitude for the following open-source work that has been immensely helpful in the development of SG-SLAM.

  • KISS-ICP: KISS-ICP: In Defense of Point-to-Point ICP Simple, Accurate, and Robust Registration If Done the Right Way.

  • CVC-Cluster: Curved-Voxel Clustering for Accurate Segmentation of 3D LiDAR Point Clouds with Real-Time Performance.

License

This project is free software made available under the MIT License. For details see the LICENSE file.