Home

Open-Source Software

Quickstart

Two ways in: run the full detection pipeline yourself, or use pypvroof standalone on masks or outlines you already have.

1. Run the full detection pipeline

Clone the repository and install the dependencies. DeepPVMapper needs GDAL and a CUDA-capable GPU (8 GB+ VRAM) to run classification and segmentation at scale.

git clone https://github.com/gabrielkasmi/deeppvmapper.git
cd deeppvmapper
pip install -r requirements.txt

# Run the pipeline for a single département
python main.py --dpt 06

Full setup notes — GDAL, CUDA, config files →

2. Extract PV characteristics with pypvroof

Already have segmentation masks or array outlines? pypvroof turns them into surface, tilt, orientation, and installed-capacity estimates on its own — no need to run the full pipeline.

pip install pypvroof
import geojson
from pypvroof import MetadataExtraction

arrays = geojson.load(open("path/to/arrays.geojson"))
params = {
    "azimuth-method": "bounding-box",
    "tilt-method": "lut",
    "regression-type": "linear",
}
extractor = MetadataExtraction(p=params)
characteristics = extractor.extract_all_characteristics(arrays["features"][0])

Source Code

License GitHub stars Last commit

Packages

Model Weights & Training Data

Interactive Demo

No longer maintained

An early Hugging Face Space let you run DeepPVMapper on a sample image directly in the browser. It's kept online for reference, but it isn't actively maintained — expect it to be slow to wake up, and possibly out of sync with the current pipeline and models.

Looking for the actual detections? Browse the registry on Data. Want to run the detection algorithm yourself? Grab the source code above.

Open the legacy demo on Hugging Face →

Want the detailed architecture, training setup, and methodology behind the pipeline?

Read the full pipeline presentation →