Giter VIP home page Giter VIP logo

uavlocalization's Introduction

Leveraging Map Retrieval and Alignment for Robust UAV Visual Geo-Localization

Introduction

This project focuses on development of a robust geo-localization system on aerial platform leveraging deep-learning based map retrieval and alignment. Two public datasets from Ageagle have been re-organized to evaluate the proposed algorithms. A field test in Beijing Haidian has been also conducted to demonstrate the effectiveness of the localization system.

Input data: orthophoto and the target referenced map

Output data: extracted geo-coordinates

Get-Started

Install dependencies:

The environment we use can be seen in setup/environment.yml. Note this project is mainly built based on the pytorch without many additional dependencies. And this environment list can be referred if there is any conflicts of dependencies.

Prepare the dataset:

We use the pre-stored images to represent the scenes captured during the flight.

  • Our datasets: please download the datasets and input in the dataset directory.
  • Custom dataset: please make sure the map contains the actual geo-coordinates and the file of the query images should be re-named as such format: @index@longitude@latitude@.

Test on the dataset:

Please make sure the paths for the pretrained weights and the datasets are correct. With the evaluation for the Ageagle dataset, simply run:

python main.py

If other datasets need to be tested, please change the configuration in utility/config.py.

Absolute-Localization-Flow

The fine localization is achieve with frame-to-map alignment. For more details, please refer to the main.py and files in scripts/.

Code-Structure

The file structure is shown as the following. At present, we only provide the main files, and all the related files will be released after the article is published.

.
+--- asset          # asset for this repository
+--- datasets       # path to save the geo-referenced map and captured frames
+--- models         # path to save the pretrained network weights
+--- scripts        # essential scripts for network models
+--- setup          # statement for the dependencies
+--- utility        # essential utilities to load image and visualize
+--- main.py        # main programme
+--- README.md      

Resources-Download

  • DATASETS: All the datasets for this research have been open-sourced at the this link.

  • WEIGHTS: The model checkpoints have been also given at the this link.

(only the Ageagle datasets are available at present.)

Acknowledgements

In particular, we appreciate the following online resources to support the training and testing in this work.

We also express our gratitude for these open-sourced researches and parts of this work are inspired by them.

Citation

(related publication waiting for reviewing)

uavlocalization's People

Contributors

hmf21 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

uavlocalization's Issues

about initial Motion

Hi!
I am a rookie in this area,I saw your comment under 'GPS-denied-uav-localization' post and I sincerely want to ask you, if I want to use this program to run my own uav images, how do I get the motion parameters in the '.csv' file containing the information of each uav image frame. If you have time to reply me, I would be very grateful.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.