Skip to content

Crayon-new/Loop-Closure-Verification-Based-on-Environmental-Invariance-Feature-Points

Repository files navigation

Loop-Closure-Verification-Based-on-Environmental-Invariance-Feature-Points

Overview

This is the repository for the project of course EEE5346 Autonomous Robot Navigation in SUSTech 2023-Spring. The description of the course project is in the file project-description.pdf, and the Github repository is MedlarTea/EE5346_2023_project.

Environment Setup

Experiment on Validation Split

Prepare Data

Clone the repository MedlarTea/EE5346_2023_project and unzip the data.

git clone https://github.com/MedlarTea/EE5346_2023_project
cd EE5346_2023_project
unzip -q '*.zip'

Prepare Background Mask

Method 1: Use the prepared data

Build the data symlinks and unzip the mask files

ln -s /path/to/repository/Loop-Closure-Verification-Based-on-Environmental-Invariance-Feature-Points/data/*_mask.zip /path/to/repository/EE5346_2023_project
cd /path/to/repository/EE5346_2023_project
unzip -q '*_mask.zip'

Method 2: Use the pretrained model

Download the checkpoint file from models and unzip it to DANNet/checkpoint

cd Loop-Closure-Verification-Based-on-Environmental-Invariance-Feature-Points/DANNet
# compute mask, input "Autumn_mini_query" can be "Autumn_mini_query", "Night_mini_ref" or "Suncloud_mini_ref", the output mask will be saved in dir like "Autumn_mini_query_mask"
python evaluate.py --input /path/to/repository/EE5346_2023_project/Autumn_mini_query

Run Validation

Run python script lcv_validation.py

cd /path/to/repository/Loop-Closure-Verification-Based-on-Environmental-Invariance-Feature-Points
python lcv_validation.py --data_root_dir /path/to/repository/EE5346_2023_project --save_dir ./output

Experiment on Test Split

Prepare Data

Following MedlarTea/EE5346_2023_project

Prepare Background Mask

Following the steps in Experiment on Validation Split

Run Test

python lcv_test.py --test_file /path/to/test_file --data_root_dir /path/to/data/for/test --save_dir ./output_for_test

example for test_file and data dir for test:

test_file.txt

scene_1/000001.png scene_2/000001.png
scene_1/000002.png scene_2/000003.png

data for test directory structure

data_for_test
├── scene_1
│      ├── 000001.png
│      ├── 000002.png
│      └── 000003.png
├──scene_1_mask
│      ├── 000001.npy
│      ├── 000002.npy
│      └── 000003.npy
├──scene_2
│      ├── 000001.png
│      ├── 000002.png
│      └── 000003.png
└──scene_2_mask
       ├── 000001.npy
       ├── 000002.npy
       └── 000003.npy

Acknowledgement

About

Loop Closure Verification Based on Environmental Invariance Feature Points

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published