4keles commited on
Commit
52ab71a
·
verified ·
1 Parent(s): 71fcec4

feat: add model card — 6-class metrics, usage, download instructions

Browse files
Files changed (1) hide show
  1. README.md +114 -0
README.md CHANGED
@@ -1,3 +1,117 @@
1
  ---
2
  license: mit
 
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: mit
3
+ language:
4
+ - en
5
+ tags:
6
+ - object-detection
7
+ - solar-panel
8
+ - yolo
9
+ - computer-vision
10
+ - onnx
11
+ - defect-detection
12
+ library_name: ultralytics
13
+ pipeline_tag: object-detection
14
  ---
15
+
16
+ # Solar Panel Defect Detection
17
+
18
+ YOLOv11-based object detection model for solar panel surface anomaly detection. Identifies 6 defect categories in RGB images. Trained on a custom labeled dataset using both RGB and thermal modalities; this repo contains the RGB variant.
19
+
20
+ **GitHub:** [4keles/Solar-Panel-AI-Analysis](https://github.com/4keles/Solar-Panel-AI-Analysis)
21
+
22
+ ---
23
+
24
+ ## Classes
25
+
26
+ | Class | Description |
27
+ |-------|-------------|
28
+ | `bird_drop` | Bird dropping contamination |
29
+ | `bird_feather` | Feather debris on panel surface |
30
+ | `physical_damage` | Cracks, chips, physical panel damage |
31
+ | `dust_partical` | Dust and particle contamination |
32
+ | `leaf` | Leaf debris |
33
+ | `snow` | Snow coverage |
34
+
35
+ ---
36
+
37
+ ## Performance — v1.2.1 (test split)
38
+
39
+ | Metric | Value |
40
+ |--------|-------|
41
+ | mAP@50 | **0.546** |
42
+ | mAP@50-95 | 0.241 |
43
+ | Precision | 0.569 |
44
+ | Recall | 0.582 |
45
+ | F1 | 0.575 |
46
+
47
+ ### Per-Class Breakdown
48
+
49
+ | Class | mAP@50 | Precision | Recall |
50
+ |-------|--------|-----------|--------|
51
+ | bird_feather | **0.995** | 0.832 | 1.000 |
52
+ | leaf | 0.752 | 0.668 | 0.813 |
53
+ | physical_damage | 0.552 | 0.543 | 0.565 |
54
+ | snow | 0.467 | 0.567 | 0.494 |
55
+ | dust_partical | 0.408 | 0.590 | 0.373 |
56
+ | bird_drop | 0.100 | 0.214 | 0.246 |
57
+
58
+ > `bird_drop` performance is low due to limited labeled samples in the dataset — planned improvement in v1.3.
59
+
60
+ ---
61
+
62
+ ## Model Versions
63
+
64
+ | Version | Format | Size | Notes |
65
+ |---------|--------|------|-------|
66
+ | `v1.2.1/best.onnx` | ONNX | 37.9 MB | **Recommended** — CPU/GPU portable |
67
+ | `v1.2.1/best.pt` | PyTorch | 6 MB | Fine-tuning / training |
68
+ | `thermal-v1.0.4/best.onnx` | ONNX | 37.9 MB | Thermal camera variant |
69
+
70
+ ---
71
+
72
+ ## Usage
73
+
74
+ ### Download (Python)
75
+
76
+ ```python
77
+ from huggingface_hub import hf_hub_download
78
+
79
+ model_path = hf_hub_download(
80
+ repo_id="4keles/solar-panel-od",
81
+ filename="v1.2.1/best.onnx"
82
+ )
83
+ ```
84
+
85
+ Or use the project download script:
86
+
87
+ ```bash
88
+ python scripts/download_model.py --version v1.2.1
89
+ ```
90
+
91
+ ### Inference
92
+
93
+ ```python
94
+ from ultralytics import YOLO
95
+
96
+ model = YOLO("best.onnx", task="detect")
97
+ results = model.predict("solar_panel.jpg", conf=0.25)
98
+ results[0].show()
99
+ ```
100
+
101
+ ### Class names (ordered)
102
+
103
+ ```python
104
+ CLASSES = ["bird_drop", "bird_feather", "physical_damage", "dust_partical", "leaf", "snow"]
105
+ ```
106
+
107
+ ---
108
+
109
+ ## Hardware
110
+
111
+ Trained on NVIDIA GeForce RTX 3050 Laptop GPU (4 GB VRAM). ONNX export runs on CPU or any CUDA device without recompilation.
112
+
113
+ ---
114
+
115
+ ## License
116
+
117
+ MIT