TrackZone с использованием Ultralytics YOLO26

Open TrackZone In Colab

Что такое TrackZone?

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



Watch: How to Track Objects in Region using Ultralytics YOLO26 | TrackZone 🚀

Преимущества отслеживания объектов в зонах (TrackZone)

  • Целевой анализ: Отслеживание объектов внутри определенных зон позволяет получать более сфокусированные данные, обеспечивая точный мониторинг и анализ интересующих областей, таких как точки входа или ограниченные зоны.
  • Повышенная эффективность: Сужая область отслеживания до заданных зон, TrackZone снижает вычислительную нагрузку, обеспечивая более быструю обработку и оптимальную производительность.
  • Улучшенная безопасность: Зональное отслеживание улучшает видеонаблюдение за счет мониторинга критических зон, помогая в раннем обнаружении необычной активности или нарушений безопасности.
  • Масштабируемые решения: Возможность фокусироваться на конкретных зонах делает TrackZone адаптируемым к различным сценариям, от торговых площадей до промышленных объектов, обеспечивая бесшовную интеграцию и масштабируемость.

Примеры реального применения

Сельское хозяйствоТранспорт
Отслеживание растений в поле с использованием Ultralytics YOLO26Отслеживание транспортных средств на дороге с использованием Ultralytics YOLO26
Отслеживание растений в поле с использованием Ultralytics YOLO26Отслеживание транспортных средств на дороге с использованием Ultralytics YOLO26
TrackZone с использованием Ultralytics YOLO
# Run a trackzone example
yolo solutions trackzone show=True

# Pass a source video
yolo solutions trackzone source="path/to/video.mp4" show=True

# Pass region coordinates
yolo solutions trackzone show=True region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"

TrackZone полагается на список region, чтобы знать, какую часть кадра мониторить. Определи многоугольник так, чтобы он соответствовал нужной тебе физической зоне (двери, ворота и т.д.), и оставь show=True включенным во время настройки, чтобы ты мог проверить, совпадает ли наложение с видеопотоком.

Аргументы TrackZone

Вот таблица с аргументами TrackZone:

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Список точек, определяющих область подсчета.

Решение TrackZone включает поддержку параметров track:

АргументТипПо умолчаниюОписание
trackerstr'botsort.yaml'Указывает алгоритм отслеживания, который необходимо использовать, например, bytetrack.yaml или botsort.yaml.
conffloat0.1Устанавливает порог достоверности для обнаружения; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
ioufloat0.7Устанавливает порог Intersection over Union (IoU) для фильтрации перекрывающихся обнаружений.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verboseboolTrueУправляет отображением результатов отслеживания, предоставляя визуальный вывод отслеживаемых объектов.
devicestrNoneУказывает устройство для вывода (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.

Более того, доступны следующие опции визуализации:

АргументТипПо умолчаниюОписание
showboolFalseЕсли True, отображает аннотированные изображения или видео в окне. Полезно для мгновенной визуальной проверки в процессе разработки или тестирования.
line_widthint or NoneNoneЗадает толщину линий ограничивающих рамок. Если None, толщина подбирается автоматически в зависимости от размера изображения. Обеспечивает визуальную настройку для ясности.
show_confboolTrueОтображает показатель уверенности для каждого обнаруженного объекта рядом с меткой. Дает представление об уверенности модели в каждом обнаружении.
show_labelsboolTrueОтображает метки для каждого обнаруженного объекта на визуальном выводе. Дает быстрое понимание того, какие объекты были найдены.

Часто задаваемые вопросы (FAQ)

Как отслеживать объекты в определенной области или зоне видеокадра с помощью Ultralytics YOLO26?

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

yolo solutions trackzone source="path/to/video.mp4" show=True

Как я могу использовать TrackZone в Python с помощью Ultralytics YOLO26?

Всего за несколько строк кода ты можешь настроить отслеживание объектов в определенных зонах, что упрощает интеграцию в твои проекты.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init trackzone (object tracking in zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = trackzone(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Как настроить точки зоны для обработки видео с помощью Ultralytics TrackZone?

Настройка точек зоны для обработки видео с помощью Ultralytics TrackZone проста и легко настраиваема. Ты можешь напрямую определять и корректировать зоны через Python-скрипт, что позволяет точно контролировать области, которые ты хочешь мониторить.

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Initialize trackzone
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
)

Комментарии