Skip to content

Commit

Permalink
Merge pull request #2 from roboflow-ai/update-readme-with-resources
Browse files Browse the repository at this point in the history
Update README.md
  • Loading branch information
Brad Dwyer authored Sep 12, 2022
2 parents 85f6d85 + 3a3e187 commit 354369a
Showing 1 changed file with 38 additions and 2 deletions.
40 changes: 38 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,42 @@
# dji-aerial-georeferencing
# DJI Aerial Georeferencing with Computer Vision

This project takes a video from a DJI Mavic Air 2, combined with its flight log, Mapbox, and a computer vision model trained on Roboflow to find solar panels and uses them to visualize and extract the GPS coordinates of the recognized panels.
This project takes a video from a DJI Mavic Air 2, combined with its flight log, Mapbox, and a computer vision model trained on Roboflow to find solar panels. It converts the machine learning model's predictions to GPS coordinates and uses them to visualize the recognized panels on a map.

https://user-images.githubusercontent.com/870796/189461690-122f4e64-a66e-40f0-ac4b-68258a8abe7e.mov

## Try It in Your Browser

The project is [deployed to Github Pages here](https://roboflow-ai.github.io/dji-aerial-georeferencing/) and you can test it out with [this sample video and flight log](https://drive.google.com/drive/folders/1m0lmYyLEQJiaykf821rYtyRvlO5Q_SAf).

## Resources

* A blog post about how this works is in progress; check back soon.
* Try the [aerial solar panels pre-trained computer vision model](https://universe.roboflow.com/brad-dwyer/aerial-solar-panels/model/5) in your browser on [Roboflow Universe](https://universe.roboflow.com)
* Browse other [Aerial Imagery Datasets and Pre-Trained Models](https://universe.roboflow.com/browse/aerial)
* [Train Your Own Computer Vision Model](https://docs.roboflow.com/quick-start) to use with this repo

## Run It Locally

* Clone this repo
* Run `npm install` in the main directory
* Run `npm run build:dev` to start a webpack build with livereload
* Open a new terminal window and run `npx serve dist`
* Open `http://localhost:3000` in your browser

## Customize It

This repo can easily be changed to run any custom model trained with [Roboflow](https://app.roboflow.com) including the thousands of [pre-trained models shared on Roboflow Universe](https://universe.roboflow.com/search?q=aerial%20imagery%20top%20down%20view%20trained%20model). Simply swap out your `publishable_key` and the `model` ID and `version` in the `ROBOFLOW_SETTINGS` at the top of [`main.js`](src/main.js).

There are also some additional configuration options available at the top of [`renderMap.js`](src/renderMap.js).

## Contributing

Pull requests are welcome to improve this repo. Ideas for improvements that could be made:

* Taking into account changes in the ground elevation & their impact on the `distance` calculations
* Intelligently choosing the correct part of the flight log based on the duration of `isVideo` compared to the duration of the loaded video
* Exporting a JSON file of the detected objects
* Adding a CLI for processing outside of a web browser
* Rendering the flight video and predictions into a single image (patching video frames together)
* Video controls (play/pause, scrubbing)
* Option to show the video in a static position vs flying over the flight path

0 comments on commit 354369a

Please sign in to comment.