YOLO Vision 2026:

Обзор наборов данных для многообъектного отслеживания#

Многообъектное отслеживание — это критически важный компонент видеоаналитики, который идентифицирует объекты и сохраняет уникальные идентификаторы для каждого обнаруженного объекта в кадрах видео. Ultralytics YOLO предоставляет мощные возможности отслеживания, которые можно применять в различных областях, включая видеонаблюдение, спортивную аналитику и мониторинг дорожного движения.

Формат датасета#

Режим отслеживания не обучает трекер и не требует датасета, специфичного для трекера. Обучи модель детектирования, сегментации, позы или OBB на стандартном формате датасета для этой задачи, а затем используй полученные веса с model.track() или yolo track. Выбранный трекер сопоставляет предсказания модели между кадрами во время инференса.

Доступные трекеры#

Ultralytics YOLO поддерживает следующие алгоритмы отслеживания:

  • BoT-SORT — Использовать botsort.yaml, чтобы включить этот трекер
  • ByteTrack — используй bytetrack.yaml, чтобы включить этот трекер
  • OC-SORT — используй ocsort.yaml, чтобы включить этот трекер
  • Deep OC-SORT — используй deepocsort.yaml, чтобы включить этот трекер
  • FastTracker — используй fasttrack.yaml, чтобы включить этот трекер
  • TrackTrack — Использовать tracktrack.yaml, чтобы включить этот трекер (по умолчанию)

Использование#

Пример
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

Сохранение треков между кадрами#

Для непрерывного трекинга между кадрами видео ты можешь использовать параметр persist=True:

Пример
import cv2

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo26n.pt")

# Open the video file
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, frame = cap.read()
    if success:
        # Run tracking with persistence between frames
        results = model.track(frame, persist=True)

        # Visualize the results
        annotated_frame = results[0].plot()
        cv2.imshow("Tracking", annotated_frame)

        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

FAQ#

  • Чтобы использовать многообъектное отслеживание с Ultralytics YOLO, начни с использования примеров для Python или CLI. Вот как ты можешь начать:

    Пример
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")  # Load the YOLO26 model
    results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

    Эти команды загружают модель YOLO26 и используют ее для трекинга объектов в заданном видеоисточнике с определенными пороговыми значениями уверенности (conf) и Intersection over Union (iou). Подробнее см. в документации по режиму track.

  • Ultralytics YOLO — это современная модель обнаружения объектов, известная своей производительностью в реальном времени и высокой точностью. Использование YOLO для многообъектного трекинга дает несколько преимуществ:

    • Отслеживание в реальном времени: обеспечивай эффективное и высокоскоростное отслеживание, идеально подходящее для динамических сред.
    • Гибкость с предобученными моделями: не нужно обучать с нуля — просто используй предобученные модели детектирования, сегментации, поз или OBB.
    • Простота использования: простая интеграция API как с Python, так и с CLI делает настройку конвейеров отслеживания понятной.
    • Обширная документация и поддержка сообщества: Ultralytics предоставляет исчерпывающую документацию и активный форум сообщества для устранения неполадок и улучшения твоих моделей отслеживания.

    Подробности о настройке и использовании YOLO для трекинга ищи в нашем руководстве по использованию track.

  • Да. Обучи модель детектирования, сегментации, позы или OBB на своем кастомном датасете, а затем передай ее веса в model.track(). Сам трекер запускается во время инференса и не требует отдельных данных для обучения.

  • После выполнения задачи отслеживания с помощью Ultralytics YOLO результаты включают различные точки данных, такие как ID отслеживаемых объектов, их ограничивающие прямоугольники (bbox) и оценки достоверности. Вот краткий обзор того, как интерпретировать эти результаты:

    • ID отслеживания: каждому объекту присваивается уникальный идентификатор, который помогает отслеживать его в разных кадрах.
    • Ограничивающие прямоугольники (BBox): они указывают расположение отслеживаемых объектов в кадре.
    • Оценки достоверности: они отражают уверенность модели в обнаружении отслеживаемого объекта.

    Подробные инструкции по интерпретации и визуализации этих результатов см. в руководстве по работе с результатами.

  • Ты можешь настроить трекер, создав измененную версию файла конфигурации трекера. Скопируй существующий файл конфигурации трекера из ultralytics/cfg/trackers, измени параметры по своему усмотрению и укажи этот файл при запуске трекера:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model.track(source="video.mp4", tracker="custom_tracker.yaml")

Комментарии