| 123456789101112131415161718192021222324252627282930313233 |
- from tqdm import tqdm
- from ultralytics import YOLO
- class YOLOv8MFDModel(object):
- def __init__(self, weight, device="cpu"):
- self.mfd_model = YOLO(weight)
- self.device = device
- def predict(self, image):
- mfd_res = self.mfd_model.predict(
- image, imgsz=1888, conf=0.25, iou=0.45, verbose=False, device=self.device
- )[0]
- return mfd_res
- def batch_predict(self, images: list, batch_size: int) -> list:
- images_mfd_res = []
- # for index in range(0, len(images), batch_size):
- for index in tqdm(range(0, len(images), batch_size), desc="MFD Predict"):
- mfd_res = [
- image_res.cpu()
- for image_res in self.mfd_model.predict(
- images[index : index + batch_size],
- imgsz=1888,
- conf=0.25,
- iou=0.45,
- verbose=False,
- device=self.device,
- )
- ]
- for image_res in mfd_res:
- images_mfd_res.append(image_res)
- return images_mfd_res
|