Spaces:
Sleeping
Sleeping
| from ultralytics import YOLO | |
| from PIL import Image | |
| import numpy as np | |
| # Load the YOLOv8 model (make sure 'solar_fault.pt' exists in your root directory) | |
| model = YOLO("solar_fault.pt") | |
| def detect_faults(image, threshold=0.3): | |
| # Convert image to numpy array | |
| results = model.predict(np.array(image), conf=threshold) | |
| detections = [] | |
| for r in results: | |
| for box in r.boxes: | |
| label_id = int(box.cls[0]) | |
| confidence = float(box.conf[0]) | |
| x1, y1, x2, y2 = map(int, box.xyxy[0]) | |
| label = model.names[label_id] | |
| detections.append((label, confidence, (x1, y1, x2, y2))) | |
| return detections | |
| CUSTOM_CLASSES = ["crack", "burn", "hotspot", "dust"] | |