/HERO-SLAM

Primary LanguagePython

HERO-SLAM: Hybrid Enhanced Robust Optimization of Neural SLAM

This is an official implementation of our work published in ICRA'24. Project Page

HERO-SLAM: Hybrid Enhanced Robust Optimization of Neural SLAM

Zhe Xin1, Yufeng Yue2, Liangjun Zhang3 and Chenming Wu3
1Meituan UAV, Beijing, China, 2School of Automation, Beijing Institute of Technology, 3Robotics and Autonomous Driving Lab (RAL), Baidu Research

Paper (arXiv)

Installation

Please follow the instructions below to install the repo and dependencies.

git clone https://github.com/hero-slam/HERO-SLAM
cd HERO-SLAM

Install the environment

# Create conda environment
conda create -n heroslam python=3.7
conda activate heroslam

# Install the pytorch first (Please check the cuda version)
pip install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu113/torch_stable.html

pip install -r requirements.txt

# Build extension (marching cubes from neuralRGBD)
cd external/NumpyMarchingCubes
python setup.py install

Dataset

Please follow the instructions provided here: https://github.com/HengyiWang/Co-SLAM for downloading and preprocessing datasets.

Run

You can run HERO-SLAM using the code below.

For fixd interval, controlled by "ds_interval" in config file

python heroslam_opt_pose.py --config './configs/{Dataset}/{scene}.yaml 

For adaptive interval, controlled by "run_interval" in config file, and "ds_interval = 1" in this mode.

python heroslam_opt_pose_adaptive_interval.py --config './configs/{Dataset}/{scene}.yaml 

Evaluation

Code for evaluation strategy, performance analysis click here.

Acknowledgement

Our codebase builds on the code in Co-SLAM.

Citation

If you find our code or paper useful for your research, please consider citing:

@inproceedings{xin2024heroslam,
        title={HERO-SLAM: Hybrid Enhanced Robust Optimization of Neural SLAM},
        author={Zhe Xin, Yufeng Yue, Liangjun Zhang and Chenming Wu},
        booktitle={ICRA},
        year={2024}
}