Skip to content

MANGAng solution for the KDD BR Competition 2022 - Visual odometry for autonomous UAVs

License

Notifications You must be signed in to change notification settings

aofrancani/KDD-BR22

Repository files navigation

CNN-VO: Visual Odometry for Autonomous UAVs in GNSS Contested Environments with Deep Learning

License: MIT

This is our solution (MANGAng) for the competition "KDD-BR 2022 - Visual odometry for autonomous UAVs in GNSS contested environments"

The model architecture was based on a U-Net encoder with a regression loss. The normalized features altitude and delta are concatenated in the input of the last multilayer perception. The solution achieved better performance compared to the two benckmarck solutions provided by the competition.

1. Dataset

Download the KDD-BR22 odometry dataset.

Create a simbolic link (Windows) or a softlink (Linux) to the dataset in the dataset folder:

  • On Windows: mklink /D <path_to_project>\KDD-BR22\dataset <path_to_downloaded_dataset>
  • On Linux: ln -s <path_to_your_downloaded_dataset> <path_to_your_project>/KDD-BR22/dataset

Then, the data structure should be as follows:

|---KDD-BR22
    |---dataset
        |---train
		|---000a3f777828d2cdbee98887561aa130.jpg
		|---...
        |---test
		|---000a8e84b013655b832041a6f362e5c9.jpg
		|---...
        |---public.csv
        |---sample_submission.csv		

2. Download Pre-trained Model and Logs

Download my pre-trained model and save it somewhere in the ckpt directory:

3. Setup

Create a Python virtual environment and activate it:

python -m venv venv
venv\Scripts\activate.bat

Install dependencies:

pip install -r requirements.txt

4. Usage

Run train_model.py to start training:

python train_model.py

If you want to keep the training from a checkpoint, change the key checkpoint_path of the dictionary args in train_model.py.

5. Evaluation

Test the model with test_model.py and generate the submission file:

python test_model.py

6. Results

You can analyse the Tensorboard logs with:

tensorboard --logdir <path_to_checkpoint>

Training and Validation Loss:

Evaluation Table (RMSE):

Method Public (RMSE) Private (RMSE)
CNN-VO (our) 0.47896 0.48608
Benchmark Beta 0.51000 0.51124
Benchmark Alpha 0.61503 0.61385
Guessing No Movement 1.26870 1.26918

Special thanks to the MANGAng teammates! Wish you all the best :)

About

MANGAng solution for the KDD BR Competition 2022 - Visual odometry for autonomous UAVs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages