Awesome
Solar-Panels-Detection
- Detection of Solar Panels from high-resolution aerial images in https://figshare.com/articles/Distributed_Solar_Photovoltaic_Array_Location_and_Extent_Data_Set_for_Remote_Sensing_Object_Identification/3385780. We train U-Net implemented with PyTorch.
- Benchmark study of U-Net training using Hogwild and MPI
- Creation of training set for other detection problems using Sentinel-2 images and Open Street Maps
Scripts
- src/data_loader.py: classes to load 256x256 images in the training set
- src/utils/solar_panels_detection_california.py: creation of training set using geojson file and aerial images from here.
- src/train_unet2.py: training of U-Net using Cuda Tensors
- src/train_unet2_cpu.py: training of U-Net using cpu Tensors
- src/Hogwild/train_unet2_cpu_Hogwild.py: distributed training of U-Net in one node of a cluster, doing asynchrnous update of model parameters.
- src/mpi/train_unet2_cpu_mpi.py: distributed training of U-Net in several nodes of a cluster using mpi4py
- src/OpenStreetMaps/osm.py: rasterisaton of OpenStreetMaps data to create mask images of Sentinel-2 images. Useful to create training sets for other detection problems
Data
- Solar panels locations in aerial images of four cities in California: https://figshare.com/articles/Distributed_Solar_Photovoltaic_Array_Location_and_Extent_Data_Set_for_Remote_Sensing_Object_Identification/3385780
- Sentinel-2 images https://scihub.copernicus.eu
- OpenStreetMaps: shapefiles of different geographical features from Scotland: http://download.geofabrik.de/europe/great-britain.html
Results
True Positives examples
- Left: Original image. Center: U-Net output. Right: Solar panels delimited using U-Net output
False Positives Examples
Sentinel-2 land monitoring training set creation
- Sentinel-2 image of Edinburgh area
- Mask image with white pixels at forests location
- Mask image with white pixels at roads location