This repository is based on a project conducted by Michael Fixl, Josef Hinterleitner, Felix Krause and Adrian Seiß at the Vienna University of Economics and Business in collaboration with Trustbit.
The notebooks above perform the following tasks:
- Script to manually filter satellite images and labels based on a list of coordinates (of GeoPandas polygon type; coordinates of truck parking lots can be extracted from OpenStreetMap, e.g. via Google BigQuery)
- Combine several white- and blacklists from manual filtering to one csv containing coordinates and an unique id
- Create training data for object detection (XML file with pixel values of bounding box; object detection not in this repo yet)
- Create training data for polygonal labels
- Save information in one JSON (necessary for instance segmentation with for example Mask R-CNN)
- Save information as masks (necessary for algorithms of Segmentation Models API)
- Train image segmentation models (U-Net, Linknet, FPN and PSPNet) in a simple baseline setting
- Optimize the best performing model of notebook 4.
- Final function, where one can enter coordinates (of a parking lot), and the function returns the parking lot prediction mask for this location
- Final function but for public use (only one interactive code chunk)
Data sources and references:
- Coordinate data from OpenStreetMap
- Satellite imagery from Esri, World Imagery (Image sources: Esri, Maxar, Earthstar Geographics, CNES/Airbus DS, and the GIS User Community)
- Code snippets from Dr. Vadim Savenkov
- Image segmentation training notebooks adapted from Dr. Sreenivas Bhattiprolu
- Image segmentation models via Segmentation Models API
Please conform to the license applied.