GithubHelp home page GithubHelp logo

pcvlabdrone2021's Introduction

UbihereDrone2021

Project Description

We launched this project to achieve UAV GeoLocalization in GPS-denied environment (GPS weak, unstable or unavailable). We used DJI Mavic air 2 for data collection and test flight. Other drone brands may lead to incorrect results for unknown reason.

demo_vid

TODO List and ETA

  • Google satellite map download, please refer to Deniz's contributed repo (2021-05)
  • Figure out feature matching and apply SuperGlue as the matching algorithm among google satellite map and UAV taken image (2021-07)
  • UAV flight rotation estimation (2022-03)
  • UAV flight height estimation (2022-04)
  • OSU campus flight test using Litchi (2022-04)

🚩 Updates

  • Check out QuadTree, a spatial indexing algorithm that improves geo-queries in a 2D-space.
  • Generate GIS building mask in correspondence with target area satellite image. GIS building mask comes from OSMnx could help improve geolocalization accuracy and UAV flight height estimation.

Prerequisites

This is a vision-based project. We use images taken by UAV embedded camera as the only data source for geolocalization. Our completing method is to match features from UAV taken images with other data sources with similar contexture information such as GoogleSatelliteMap and OpenStreetMap. Therefore, we provide two sub-repos with respect to satellite map generation and corresponding GIS mask generation. Both repos require creating new conda environment due to specific libraries version dependencies.

Main part

See UAV Geolocalization for more details.

Additional Notes

  • Discussions or questions are welcomed. Please contact [email protected]
  • Our test flight is done around Ohio State University main campus. If you want test around other place, please recollect satellite image, GIS mask and rebuild featurebase.

Cite

If you use our code or collected data in your project, please cite the paper:

@Article{drones7090569,
AUTHOR = {Wei, Jianli and Yilmaz, Alper},
TITLE = {A Visual Odometry Pipeline for Real-Time UAS Geopositioning},
JOURNAL = {Drones},
VOLUME = {7},
YEAR = {2023},
NUMBER = {9},
ARTICLE-NUMBER = {569},
URL = {https://www.mdpi.com/2504-446X/7/9/569},
ISSN = {2504-446X},
ABSTRACT = {The state-of-the-art geopositioning is the Global Navigation Satellite System (GNSS), which operates based on the satellite constellation providing positioning, navigation, and timing services. While the Global Positioning System (GPS) is widely used to position an Unmanned Aerial System (UAS), it is not always available and can be jammed, introducing operational liabilities. When the GPS signal is degraded or denied, the UAS navigation solution cannot rely on incorrect positions GPS provides, resulting in potential loss of control. This paper presents a real-time pipeline for geopositioning functionality using a down-facing monocular camera. The proposed approach is deployable using only a few initialization parameters, the most important of which is the map of the area covered by the UAS flight plan. Our pipeline consists of an offline geospatial quad-tree generation for fast information retrieval, a choice from a selection of landmark detection and matching schemes, and an attitude control mechanism that improves reference to acquired image matching. To evaluate our method, we collected several image sequences using various flight patterns with seasonal changes. The experiments demonstrate high accuracy and robustness to seasonal changes.},
DOI = {10.3390/drones7090569}
}

pcvlabdrone2021's People

Contributors

jianliwei1995 avatar alpery74 avatar

Stargazers

Uğurhan Daşdemir avatar Chen, PAO-HSUN avatar Adam Sherwood avatar Kaijie Yin avatar YFS avatar Xiangyu Lu avatar  avatar

Watchers

 avatar Sam Burdick avatar

Forkers

veast01

pcvlabdrone2021's Issues

Google map elements not exist

Hi,

I am trying to use the Satellite Map Generation module to generate satellite maps.
However, there are some error occur because some elements do not exist.
So, my question is do you remember what does this line mean in the create_map.py.
Maybe I can try to fix it.

remove_labels = [
    "document.getElementsByClassName(\"t9hXV-cdLCv-checkbox\")[1].click();",
]

Unable download the datasets

Hi

This work is so amazing, so I try to reproduce on my own uav.
However, I cannot download the datasets you provided,
because the system requires OSU accounts.
Do you provide the others way to download the datasets?

Thanks.

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.