Перейти к содержанию

Модули плагина acmenra-yolo

Плагин содержит один основной модуль, реализующий контракт acmenra_cv.inference.Backend.

YOLOBackend

Конкретная реализация интерфейса Backend для моделей Ultralytics YOLO.

Свойства (со строгой валидацией)

  • model (YOLO): Экземпляр модели Ultralytics. Смена модели сбрасывает внутреннее состояние трекинга.
  • iou (float): Порог IoU для Non-Maximum Suppression (NMS) в диапазоне [0.0, 1.0].
  • imgsz (int): Размер входного изображения в пикселях (должен быть > 0, рекомендуется кратный 32).
  • half (bool): Флаг использования FP16-инференса (работает только на CUDA).
  • refined (bool): Флаг генерации высококачественных масок (соответствует параметру retina_masks в Ultralytics). Значительно улучшает гладкость границ сегментации ценой снижения FPS на 20-30%.

Методы

  • predict(frame, max_det=640, track=False, verbose=False) → Result: Выполняет инференс. Автоматически маршрутизирует вывод в _process_bbox_results, _process_seg_results или _process_obb_results в зависимости от типа задачи.
  • track(frame, ...) → Result: Делегирует выполнение методу predict с включенным нативным трекингом YOLO (persist=True).

Внутренняя обработка

  • _process_bbox_results: Конвертирует YOLO boxes в нормализованные acmenra_cv.instance.Box.
  • _process_seg_results: Конвертирует YOLO masks.xyn в acmenra_cv.instance.Polygon и вычисляет ограничивающий Box.
  • _process_obb_results: Конвертирует YOLO obb.xywhr в acmenra_cv.instance.Obb с помощью нормализации углов и координат.

Следующие шаги

Вернуться к обзору ядра acmenra-cv