Detecting parking bays from satellite imagery
This is the main folder to run detectron2 from.
We've been running it from google colab:
In the container
folder there are a few shell scripts to make it easy to run in docker.
See docker_build_run_see_logs.sh
and docker_build_run_see_stats.sh
. It will stop all containers, remove any unwanted images and run on port 8080.
The docker container runs in flask and should open up in your browser at http://localhost:8080/
.
From there you can upload an image and have the ml backend predict where the parkinglots should be.
This is probably the easiest way to get started.
This is the data collected from google earth. Joe and I have been taking screenshots and uploading them here.
The generated_data
folder contains data that was automatically generated by Joe's backend.
The export-2020-01-17T02-45-23.802Z.csv
file contains each file it's corresponding bbox coordinates. You can send this directly to the ML model.
These are screenshots taken in a Unity game of a parkinglot and city.
It's not perfect but we thought it would complement the ML model directly. It's also trivial to create more data from this Unity Scene.
I've since deleted most of Unity folder (as it was using too much space on my computer) but I've used this scene from the asset store.
The repository for creating this synthetic data can be found here: https://github.com/spiyer99/synthetic-data/. Please note that this repo won't work as I've deleted the big files but the most important files are still there.
The C# code to take aerial screenshots of the Unity scene can be found here
This was an experiment by me to see if we could get better results using plain mask RCNN. It was very unsuccessful and we went with detectron2 instead.
You can safely ignore this folder.
This folder contains the training data for the model.
It also contains augmented data.
This augmented data is created using this script.
Validation data for the model. You can put whatever images you'd like in here to see how it performs.
Take a look at https://github.com/spiyer99/retinanet for our initial attempt at this.
We've made a list of things to improve. Take a look at this google doc.