yolo8 fun

PHOTO EMBED

Tue Sep 19 2023 09:49:22 GMT+0000 (Coordinated Universal Time)

Saved by @cvataicode

import PIL.Image
from ultralytics import YOLO
​
import cvat_sdk.auto_annotation as cvataa
import cvat_sdk.models as models
​
_model = YOLO("yolov8n.pt")
​
spec = cvataa.DetectionFunctionSpec(
    labels=[cvataa.label_spec(name, id) for id, name in _model.names.items()],
)
​
def _yolo_to_cvat(results):
    for result in results:
        for box, label in zip(result.boxes.xyxy, result.boxes.cls):
            yield cvataa.rectangle(int(label.item()), [p.item() for p in box])
​
def detect(context, image):
    return list(_yolo_to_cvat(_model.predict(source=image, verbose=False)))

content_copyCOPY