Instructions to use wcahca/solar-panel-inspection with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use wcahca/solar-panel-inspection with ultralytics:
# Couldn't find a valid YOLO version tag. # Replace XX with the correct version. from ultralytics import YOLOvXX model = YOLOvXX.from_pretrained("wcahca/solar-panel-inspection") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
Upload README.md
Browse files
README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: cc-by-4.0
|
| 3 |
+
tags:
|
| 4 |
+
- ultralytics
|
| 5 |
+
- yolo11
|
| 6 |
+
- instance-segmentation
|
| 7 |
+
- solar-panel
|
| 8 |
+
- computer-vision
|
| 9 |
+
library_name: ultralytics
|
| 10 |
+
pipeline_tag: image-segmentation
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
# Solar Panel Inspection — Two-Stage Instance Segmentation
|
| 14 |
+
|
| 15 |
+
โมเดลตรวจสภาพแผงโซลาร์เซลล์แบบ **two-stage instance segmentation** ด้วย YOLO11s-seg:
|
| 16 |
+
**Stage 1** หาขอบเขตของแผงแต่ละแผง และ **Stage 2** ตรวจ defect 4 กลุ่ม (`dust`, `bird_drop`, `physical_damage`, `leaf`) จากนั้นจับคู่ defect กับแผง คำนวณ **severity** (สัดส่วนพื้นที่ defect ต่อพื้นที่แผง) และแปลงเป็นคำแนะนำการบำรุงรักษาแบบ rule-based รายแผง
|
| 17 |
+
|
| 18 |
+
repo นี้เก็บ checkpoint ของทั้งสอง stage โดย Stage 2 เป็นเวอร์ชันหลังเพิ่ม clean-negative images (`v2`) ซึ่งใช้ใน deployment จริง
|
| 19 |
+
|
| 20 |
+
- **Demo (Gradio):** <https://huggingface.co/spaces/wcahca/solar-panel-inspection>
|
| 21 |
+
- **Code:** <https://github.com/wachirawit-charoenkitpeeti/Solar-Panel-Inspection>
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
> โมเดลนี้เป็นเครื่องมือคัดกรองเบื้องต้น ไม่ได้ออกแบบมาแทนการตรวจของผู้เชี่ยวชาญ
|
| 25 |
+
|
| 26 |
+
## Contents
|
| 27 |
+
|
| 28 |
+
| File | Stage | คำอธิบาย |
|
| 29 |
+
|---|---|---|
|
| 30 |
+
| `stage1_panel.pt` | Stage 1 | panel instance segmentation (1 class: `panel`) |
|
| 31 |
+
| `stage2_defect_v2.pt` | Stage 2 (v2) | defect instance segmentation (4 classes) หลังเพิ่ม clean negatives |
|
| 32 |
+
|
| 33 |
+
|
| 34 |
+
|
| 35 |
+
## Usage
|
| 36 |
+
|
| 37 |
+
```python
|
| 38 |
+
from huggingface_hub import hf_hub_download
|
| 39 |
+
from ultralytics import YOLO
|
| 40 |
+
import numpy as np
|
| 41 |
+
|
| 42 |
+
REPO = "wcahca/solar-panel-inspection"
|
| 43 |
+
|
| 44 |
+
# โหลดทั้งสอง stage
|
| 45 |
+
panel_model = YOLO(hf_hub_download(REPO, "stage1_panel.pt"))
|
| 46 |
+
defect_model = YOLO(hf_hub_download(REPO, "stage2_defect.pt"))
|
| 47 |
+
|
| 48 |
+
img = "panel.jpg"
|
| 49 |
+
PANEL_CONF = DEFECT_CONF = 0.25
|
| 50 |
+
NMS_IOU = 0.70
|
| 51 |
+
IMGSZ = 640
|
| 52 |
+
|
| 53 |
+
panels = panel_model.predict(img, conf=PANEL_CONF, iou=NMS_IOU, imgsz=IMGSZ)[0]
|
| 54 |
+
defects = defect_model.predict(img, conf=DEFECT_CONF, iou=NMS_IOU, imgsz=IMGSZ)[0]
|
| 55 |
+
|
| 56 |
+
```
|
| 57 |
+
|
| 58 |
+
|
| 59 |
+
## Credits
|
| 60 |
+
|
| 61 |
+
**Datasets (CC BY 4.0)**
|
| 62 |
+
- solar-panel-b1cmz — <https://universe.roboflow.com/dhanashree-meshram-rcbmv/solar-panel-b1cmz>
|
| 63 |
+
- solar-panel-o6dwf — <https://universe.roboflow.com/solar-panel-damage-detectionsegmentation/solar-panel-o6dwf>
|
| 64 |
+
- bird_dust_leaf — <https://universe.roboflow.com/panneauxphotovoltaique/bird_dust_leaf>
|
| 65 |
+
- IA-Cobotics — <https://www.ia-cobotics.com/research-projects/pv-inspection>
|
| 66 |
+
|
| 67 |
+
**Tools:** Ultralytics YOLO11-seg, SAM 2.1, GroundingDINO, CVAT, Gradio, Hugging Face
|
| 68 |
+
|
| 69 |
+
## License
|
| 70 |
+
|
| 71 |
+
CC-BY-4.0
|