lab-sun / Triplet-Graph

RAL-2024, A key-frame based LiDAR global localization method.
MIT License
6 stars 0 forks source link

Triplet-Graph: Global Metric Localization based on Semantic Triplet Graph for Autonomous Vehicles

This is the code for Triplet-Graph. [paper]

You are also very welcome to check my personal Github for more frequent update.

If you find Triplet-Graph helpful, please consider citing:

@ARTICLE{ma2024triplet,
  author={Ma, Weixin and Huang, Shoudong and Sun, Yuxiang},
  journal={IEEE Robotics and Automation Letters}, 
  title={Triplet-Graph: Global Metric Localization Based on Semantic Triplet Graph for Autonomous Vehicles}, 
  year={2024},
  volume={9},
  number={4},
  pages={3155-3162}}

Install

Operation System

Tested on Ubuntu 20.04

Dependencies

Build

mkdir -p ~/tripletgraph_ws/src
cd ~/tripletgraph_ws/src
git clone https://github.com/lab-sun/Triplet-Graph.git
cd ..
catkin_make
source devel/setup.bash

Data preparation

We evaluate our method on SeamnticKitti dataset following paper SSC: Semantic Scan Context for Large-Scale Place Recognition.

Please download LiDAR scans from the offical website of SemanticKitti dataset. Sequence-00, 02, 05, 06, 07, and 08 are used.

We use semantic label from SemanticKitti and RangeNet++.

For your convenience, you can download all required data here (onely seq-06 is available). Unzip test_data.zip to folder src/Triplet-Graph.

Run

We provide three different launch files.

*Note that you should replace file paths as yours appropriately in config.yaml.

Evaluation

Based on results files (or you can download raw data for results reported in the paper), you can use eval.py to get the final results. Copy eval.py into the your result folder, and then run command python3 eval.py. numpy, sklearn, and matplotlib are required dependences for eval.py.

Contact

If you have any questions, please contact:

Support Material

Here are the support material docs/appendix.pdf, which investigates the effects of some important parameters in Triplet-Graph.