-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from roboflow-ai/update-readme-with-resources
Update README.md
- Loading branch information
Showing
1 changed file
with
38 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |