Skip to content

PlutoPotatoes/Google-Virtual-Drive

Repository files navigation

This repository combines Google's Static Streetview API with either Directions API, Routes API, or CSV Coordinate files to allow easy generation of machine learning training data.

It also allows for this training data to be automatically passed through YOLO object recognition models and categorized based on detected objects and confidence levels.

Drive.py requires the installation of the following packages based on the implementation needed

Google's Directions API
-> googlemaps
-> polyline

Google's Routes API
-> google-maps-routing
-> polyline

CSV Coordinate Implementation
-> n/a

For all Implementations the following are also required
-> requests
-> os
-> haversine
-> re
-> ultralytics
-> csv
-> gspread
-> oauth2client
-> torchmetrics

`pip install googlemaps polyline google-maps-routing requests haversine ultralytics gspread oauth2client torchmetrics transformers numpy paddleocr piexif pyproj paddlepaddle`
Also download Exiftool and replace the path in the `GoProDataHelper.py` `EXIFTOOL` constant to where you saved the executable file on your device.

Setup:

1. Create a virtual Python environment and run `pip install -r requirements.txt` in terminal to install all the libraries/packages this project depends on.
2. Place any Yolo object detection models you want to run on the extracted images in the models folder
3. For Routes/Directions implementations set the origin and destination. For CSV implementations add the file with coordinates and pass the filename
4. Place your API Key in a text file titled `secrets.txt`
5. Create service account credentials from Google Cloud and save the json keyfile in `credentials.json` for access to Google Sheets
6. Link Signs Google Sheet with the service account (tutorial: https://spreadsheetpoint.com/connect-python-and-google-sheets-15-minute-guide/)
7. Uncomment your selected method at the bottom of drive.py and run

Tips:

1. Whenever a new library/package is installed, please type `pip freeze > requirements.txt` to update the list of requirements.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages