This is an improved version of ORB-SLAM3 that adds an semantic mask-based object detection segmentation module implemented with YOLOv8-Seg to achieve SLAM in dynamic environments.
- Object Detection
- Instance Segmentation
- Dynamic SLAM
https://ieeexplore.ieee.org/abstract/document/10691024
@inproceedings{singh2024ydm,
title={YDM-SLAM: YOLOv8-Powered Dynamic Mapping of Environment Using ORB-SLAM3},
author={Singh, Balveer and Kumar, Puneet and Kaur, Narinder},
booktitle={2024 International Conference on Data Science and Network Security (ICDSNS)},
pages={01--07},
year={2024},
organization={IEEE}
}
We have tested on:
C++14
OS = Ubuntu 20.04
OpenCV = 4.2
Eigen3 = 3.3.9
Pangolin = 0.5
You can download the compatible version of onnx-runtime from Microsoft ONNX-Runtime We tested on onnxruntime-linux-x64-gpu-1.9.0
then extract the folder using the below command to third-party folder and update <path_to_onnxruntime> in CMakeLists.txt
tar -xzvf onnxruntime-linux-x64-gpu-1.9.0.tgz -C PATH/YDM-SLAM/Thirdparty
cd YDM-SLAM
chmod +x build.sh
./build.sh
Only the rgbd_tum target will be build.
Download any dynamic sequence from TUM-RGBD dataset
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE