BalveerSinghYT / YDM-SLAM

YDM-SLAM: YOLOv8-powered Dynamic Mapping of Environment using ORB-SLAM3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

YDM-SLAM: YOLOv8-powered Dynamic Mapping of Environment with ORB-SLAM3

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

Getting Started

0. Prerequisites

We have tested on:

C++14

OS = Ubuntu 20.04

OpenCV = 4.2

Eigen3 = 3.3.9

Pangolin = 0.5

1. Download ONNX Runtime

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

2. Build

cd YDM-SLAM
chmod +x build.sh
./build.sh

Only the rgbd_tum target will be build.

3. Execute

TUM-RGBD Dataset

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

About

YDM-SLAM: YOLOv8-powered Dynamic Mapping of Environment using ORB-SLAM3


Languages

Language:C++ 97.9%Language:Python 1.0%Language:CMake 1.0%Language:Shell 0.0%