LIFT SLAM is a hybrid SLAM that combines a learned feature detector and descriptor along with a classical SLAM back-end such as ORB SLAM.
Read our report here
Things to apt install
sudo apt install libgl1-mesa-dev libglew-dev pkg-config libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols libeigen3-dev
-
cd third-party/Pangolin-0.6 mkdir build cd build cmake .. cmake --build . sudo make install
-
cd SLAM chmod +x build.sh ./build.sh
-
cd workspace ./SLAM/Examples/Monocular/mono_kitti_orb SLAM/Vocabulary/ORBvoc.txt SLAM/Examples/Monocular/KITTI04-12.yaml data/04-Straight-Line-Drive
-
Create a separate conda env for this
-
Several Python Packages
pip install -r requirements.txt
-
cudatoolkit (choose one)
conda install -c anaconda cudatoolkit=10.2 conda install -c anaconda cudatoolkit=11.0
-
Build (No need, all Python)
-
Test
python lift_features.py
-
Your KITTI data should be under
data/<sequence>
from the root of this repo, e.g.data/04-Straight-Line-Drive
-
Go to
lift_parser.py
and change the folder directory to the sequence you want and run itmain_dir = "data/04-Straight-Line-Drive"
-
Run LIFT SLAM
cd workspace ./SLAM/Examples/Monocular/mono_kitti_lift SLAM/Vocabulary/ORBvoc.txt SLAM/Examples/Monocular/KITTI04-12.yaml data/04-Straight-Line-Drive ./SLAM/Examples/Monocular/mono_kitti_lift SLAM/Vocabulary/ORBvoc.txt SLAM/Examples/Monocular/KITTI04-12.yaml data/06-2U-turns-same-road
-
Evaluate
python evaluation.py