YOLO Remote Sensing Photovoltaic Detection
π Overview
This model detects buildings and rooftop photovoltaic panels from remote sensing imagery using YOLO.
Model type: YOLOv8 / YOLO26
Task: Object Detection / Segmentation
Classes:
- building
- photovoltaic panel
Dataset
- training-dataset-2 : {'train': 461, 'test': 66, 'val': 131}
- training-dataset-seg : {'train': 466, 'test': 71, 'val': 122}
IGN's Orthophotos (960x960 pixels aka 192x192 meters) from South-West of France (Castelnaudary to Perpignan), Montpellier surroundings and South of Paris. Rooftop photovoltaic panels and buildings shapes identified with the help of OpenStreetMap.
π Usage
Install dependencies
pip install ultralytics
Run inference
from ultralytics import YOLO
model = YOLO("yolo-remote-sensing-photovoltaic-v26l-solar-farms-and-cities-v20260402-segment-100_epochs.pt")
results = model("example_input.png", save=True)
πΌοΈ Example
π¦ Files
yolo-remote-sensing-photovoltaic-v26l-solar-farms-and-cities-v20260403-segment-300_epochs.pt
+200 Epochs (from the previous model) - +5h of training on L40S - based on yolo-remote-sensing-photovoltaic-v26l-solar-farms-and-cities-v20260402-segment-100_epochs.pt - Segmentation task
training-dataset-seg / val
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 | Mask P | Mask R | Mask mAP50 | Mask mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|
| all | 122 | 4792 | 0.574 | 0.428 | 0.424 | 0.23 | 0.558 | 0.384 | 0.378 | 0.173 |
| building | 108 | 4393 | 0.581 | 0.353 | 0.376 | 0.182 | 0.57 | 0.314 | 0.331 | 0.129 |
| photovoltaic panel | 121 | 399 | 0.568 | 0.504 | 0.473 | 0.278 | 0.547 | 0.454 | 0.426 | 0.217 |
training-dataset-seg / test (never seen before)
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 | Mask P | Mask R | Mask mAP50 | Mask mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|
| all | 71 | 2526 | 0.652 | 0.481 | 0.508 | 0.26 | 0.621 | 0.435 | 0.425 | 0.172 |
| building | 68 | 2313 | 0.667 | 0.385 | 0.433 | 0.229 | 0.656 | 0.367 | 0.404 | 0.173 |
| photovoltaic panel | 71 | 213 | 0.637 | 0.577 | 0.582 | 0.291 | 0.586 | 0.502 | 0.447 | 0.171 |
yolo-remote-sensing-photovoltaic-v26l-solar-farms-and-cities-v20260402-segment-100_epochs.pt
100 Epochs - 3.5h of training on L40S - yolo26l - Segmentation task
training-dataset-seg / val
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 | Mask P | Mask R | Mask mAP50 | Mask mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|
| all | 122 | 4792 | 0.552 | 0.413 | 0.402 | 0.213 | 0.519 | 0.383 | 0.352 | 0.163 |
| building | 108 | 4393 | 0.566 | 0.339 | 0.359 | 0.175 | 0.539 | 0.319 | 0.319 | 0.127 |
| photovoltaic panel | 121 | 399 | 0.538 | 0.486 | 0.444 | 0.251 | 0.498 | 0.446 | 0.385 | 0.199 |
training-dataset-seg / test (never seen before)
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 | Mask P | Mask R | Mask mAP50 | Mask mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|
| all | 71 | 2526 | 0.581 | 0.462 | 0.461 | 0.236 | 0.528 | 0.412 | 0.399 | 0.17 |
| building | 68 | 2313 | 0.636 | 0.379 | 0.429 | 0.225 | 0.611 | 0.364 | 0.401 | 0.172 |
| photovoltaic panel | 71 | 213 | 0.526 | 0.545 | 0.494 | 0.246 | 0.444 | 0.46 | 0.397 | 0.168 |
yolo-remote-sensing-photovoltaic-v26l-solar-farms-and-cities-v20260401-segment-10_epochs.pt
10 Epochs - 20 minutes of training on L40S - yolo26l - Segmentation task
training-dataset-seg / val
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 | Mask P | Mask R | Mask mAP50 | Mask mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|
| all | 122 | 4792 | 0.414 | 0.340 | 0.291 | 0.151 | 0.395 | 0.307 | 0.255 | 0.114 |
| building | 108 | 4393 | 0.503 | 0.252 | 0.266 | 0.119 | 0.478 | 0.225 | 0.230 | 0.084 |
| photovoltaic panel | 121 | 399 | 0.325 | 0.429 | 0.317 | 0.183 | 0.313 | 0.388 | 0.281 | 0.144 |
training-dataset-seg / test (never seen before)
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 | Mask P | Mask R | Mask mAP50 | Mask mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|
| all | 71 | 2526 | 0.402 | 0.353 | 0.294 | 0.144 | 0.404 | 0.314 | 0.259 | 0.109 |
| building | 68 | 2313 | 0.505 | 0.307 | 0.33 | 0.16 | 0.52 | 0.288 | 0.31 | 0.123 |
| photovoltaic panel | 71 | 213 | 0.298 | 0.399 | 0.257 | 0.127 | 0.287 | 0.341 | 0.208 | 0.0953 |
yolo-remote-sensing-photovoltaic-v8l-solar-farms-and-cities-v20260331-detect-1000_epochs.pt
1000 Epochs - 3.6h of training on L40S - yolov8l - Detection task
training-dataset-2 / val
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 |
|---|---|---|---|---|---|---|
| all | 131 | 5101 | 0.655 | 0.382 | 0.412 | 0.235 |
| building | 117 | 4629 | 0.639 | 0.268 | 0.312 | 0.148 |
| photovoltaic panel | 131 | 472 | 0.671 | 0.496 | 0.512 | 0.322 |
training-dataset-2 / test (never seen before)
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 |
|---|---|---|---|---|---|---|
| all | 66 | 3050 | 0.529 | 0.375 | 0.358 | 0.174 |
| building | 64 | 2823 | 0.551 | 0.336 | 0.341 | 0.172 |
| photovoltaic panel | 66 | 227 | 0.507 | 0.414 | 0.374 | 0.176 |
yolo-remote-sensing-photovoltaic-v8l-solar-farms-and-cities-v20260329-detect-100_epochs.pt
100 Epochs - 22 minutes of training on L40S - yolov8l - Detection task
training-dataset-2 / val
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 |
|---|---|---|---|---|---|---|
| all | 131 | 5101 | 0.506 | 0.423 | 0.403 | 0.228 |
| building | 117 | 4629 | 0.566 | 0.336 | 0.353 | 0.168 |
| photovoltaic panel | 131 | 472 | 0.447 | 0.511 | 0.454 | 0.287 |
training-dataset-2 / test (never seen before)
| Class | Images | Instances | Box P | Box R | Box mAP50 | Box mAP50-95 |
|---|---|---|---|---|---|---|
| all | 66 | 3050 | 0.521 | 0.383 | 0.375 | 0.184 |
| building | 64 | 2823 | 0.574 | 0.353 | 0.381 | 0.197 |
| photovoltaic panel | 66 | 227 | 0.468 | 0.414 | 0.369 | 0.17 |
| photovoltaic panel | 66 | 227 | 0.507 | 0.414 | 0.374 | 0.176 |
β οΈ Notes
- Designed for aerial / high resolution satellite imagery
π€ Credits
Trained using YOLO and tailored remote sensing datasets.
Model tree for agademer/yolo-remote-sensing-photovoltaic
Base model
Ultralytics/YOLO26
