YOLOv8.py 903 Bytes
Newer Older
1
2
3
4
from ultralytics import YOLO


class YOLOv8MFDModel(object):
5
    def __init__(self, weight, device="cpu"):
6
7
8
9
        self.mfd_model = YOLO(weight)
        self.device = device

    def predict(self, image):
10
11
12
        mfd_res = self.mfd_model.predict(
            image, imgsz=1888, conf=0.25, iou=0.45, verbose=True, device=self.device
        )[0]
13
14
        return mfd_res

15
16
17
18
19
20
21
22
23
24
25
26
27
28
    def batch_predict(self, images: list, batch_size: int) -> list:
        images_mfd_res = []
        for index in range(0, len(images), batch_size):
            mfd_res = self.mfd_model.predict(
                images[index : index + batch_size],
                imgsz=1888,
                conf=0.25,
                iou=0.45,
                verbose=True,
                device=self.device,
            ).cpu()
            for image_res in mfd_res:
                images_mfd_res.append(image_res)
        return images_mfd_res