Skip to content

MSc Artificial Intelligence Thesis. Expert-SLAM: Learning best tracking strategy for real-time SLAM.

Notifications You must be signed in to change notification settings

eggonz/msc-thesis

Repository files navigation

MSc Thesis: Expert-SLAM

Setup

Install environment and dependencies

git clone https://github.com/eggonz/msc-thesis.git --recursive
cd msc-thesis
conda env create -f expert-slam-env.yaml
conda activate expert-slam-env
# Make sure running on gpu node
module purge
module load 2022
module load CUDA/11.7.0
python setup.py install
pip install open3d==0.16.0  # might need headless-open3d instead
pip install evo==1.25.2

python -m pip install -U setuptools pip
conda install -c conda-forge cupy cuda-version=11.7

Install evaluate_3d_reconstruction_lib

Follow instructions from README at https://github.com/tfy14esa/evaluate_3d_reconstruction_lib.git, by Erik Sandstroem. Skip step 2. In step 3, use the corresponding path to your conda environment (e.g. #!/gpfs/home1/egonzalez/.conda/envs/expert-slam-env/bin/python3.10). Run installation (last step) and done.

Download datasets

You can use provided scripts:

TARGET_DIR=/path/to/expert_data

sh scripts/download_cull_replica_mesh.sh $TARGET_DIR
sh scripts/download_replica.sh $TARGET_DIR
sh scripts/download_tum.sh $TARGET_DIR

Download checkpoints

wget "https://github.com/eriksandstroem/Point-SLAM/raw/main/pretrained/middle_fine.pt"
  • FastFlowNet:
wget https://github.com/ltkong218/FastFlowNet/raw/refs/heads/main/checkpoints/fastflownet_ft_mix.pth

Place downloaded checkpoints under ./pretrained.

Run examples

# module purge
# module load 2022
# module load CUDA/11.7.0

source activate expert-slam-env

cd
cd msc-thesis

Use the following example commands to run the first 100 frames in debug mode. Feel free to remove those flags or modify configuration files. All configuration files for different experiments can be found under ./configs.

Exp: Fixed

python run.py configs/exp_fixed/Replica/mean_office0.yaml --debug --max_frames=100 --make_video

Exp: PSNR

python run.py configs/exp_psnr/Replica/office0.yaml --debug --max_frames=100 --make_video

Exp: Learned

Training:

python trainer.py configs/exp_learned/trainer_lie.yaml --debug

Testing:

python tester.py configs/exp_learned/tester_replica.yaml --debug --ckpt=/path/to/output_folder/ExpertTrainer/learned_expert/DEBUG_expL/2025-01-01T00:00:00.000000/ckpts/mixer_latest.pth

Additional resources

PLY visualization

Use scripts/vis_ply.py script to visualize a reconstructed scene interactively using Open3D.

Notebooks

Run jupyter notebooks under notebooks/ to generate analysis plots for PSNR-Expert and Learned-Expert Training.

About

MSc Artificial Intelligence Thesis. Expert-SLAM: Learning best tracking strategy for real-time SLAM.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published