Spaces:
Runtime error
Runtime error
File size: 1,089 Bytes
972c1d0 6b1c23f 972c1d0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import pandas as pd
from ultralytics import YOLO
class Detection:
def __init__(self) -> None:
self.__obd_model = YOLO('model/obd_best.pt')
def detect_defect(self, image_path) -> pd.DataFrame:
result_obd = self.__obd_model.predict(image_path, stream=False) # Adjust paths as needed
# Prepare data for CSV
data = []
for result in result_obd:
cnt = 0
for i in result_obd[0].boxes.cls.tolist():
data.append({
"Image/File Name": result.path,
"Detected Class": self.__obd_model.names[int(i)],
"Confidence Score": result.boxes.conf.tolist()[cnt],
"x1": result.boxes.xyxy.tolist()[cnt][0],
"y1": result.boxes.xyxy.tolist()[cnt][1],
"x2": result.boxes.xyxy.tolist()[cnt][2],
"y2": result.boxes.xyxy.tolist()[cnt][3]
})
cnt = cnt + 1
# Convert to DataFrame and save as CSV
return pd.DataFrame(data) |