Создание комплексной системы отслеживания объектов и аналитики с помощью Roboflow Supervision

В этом продвинутом руководстве по Roboflow Supervision мы создадим полный конвейер обнаружения объектов с помощью библиотеки Supervision.

Начало работы

1. Настройка отслеживания объектов в реальном времени с помощью ByteTracker, добавление сглаживания обнаружения и определение полигональных зон для мониторинга определённых областей в видеопотоке.
2. Обработка кадров и аннотирование их с помощью ограничивающих рамок, идентификаторов объектов и данных о скорости, что позволяет отслеживать и анализировать поведение объектов с течением времени.

Наша цель — показать, как можно объединить обнаружение, отслеживание, зональную аналитику и визуальную аннотацию в единый и интеллектуальный рабочий процесс видеоанализа.

Установка необходимых пакетов

Мы начнём с установки необходимых пакетов, включая Supervision, Ultralytics и OpenCV. После проверки наличия последней версии Supervision мы импортируем все необходимые библиотеки. Затем мы инициализируем модель YOLOv8n, которая служит основным детектором в нашем конвейере.

Настройка компонентов

  • Отслеживание объектов с помощью ByteTrack.

  • Сглаживание обнаружения с помощью DetectionsSmoother (при наличии).

  • Аннотаторы для ограничивающих рамок, меток и следов.

Для обеспечения совместимости между версиями мы используем блоки try-except для перехода к альтернативным классам или базовым функциям при необходимости.

Определение динамических полигональных зон

Мы определяем динамические полигональные зоны внутри кадра для мониторинга определённых областей, таких как зоны входа и выхода, что позволяет проводить расширенный пространственный анализ.

Класс AdvancedAnalytics

Мы определяем класс AdvancedAnalytics для отслеживания движения объектов, расчёта скорости и подсчёта пересечений зон, что позволяет получить богатую информацию в реальном времени.

Функция process_video

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

Создание демонстрационного видео

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

Заключение

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

Ключевые особенности, которые мы реализовали:

  • ✓ Интеграция YOLO с Supervision.

  • ✓ Многообъектное отслеживание с помощью ByteTracker.

  • ✓ Сглаживание обнаружения.

  • ✓ Полигональные зоны для мониторинга зон.

  • ✓ Расширенные аннотации (рамки, метки, следы).

  • ✓ Аналитика и статистика в реальном времени.

  • ✓ Расчёт скорости и отслеживание истории.

Проверьте полный код здесь. Не стесняйтесь посетить нашу страницу GitHub для руководств, кодов и ноутбуков. Подписывайтесь на нас в Twitter и присоединяйтесь к нашему сообществу в ML SubReddit и подписывайтесь на нашу рассылку.

1. Какие инструменты и библиотеки используются для создания системы отслеживания объектов и аналитики в реальном времени?

Ответ: в статье описывается использование следующих инструментов и библиотек: Supervision, Ultralytics, OpenCV и YOLOv8n.

2. Какие шаги включает в себя настройка компонентов для отслеживания объектов?

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

3. Какие ключевые особенности были реализованы в системе отслеживания объектов и аналитики?

Ответ: ключевые особенности включают интеграцию YOLO с Supervision, многообъектное отслеживание с помощью ByteTracker, сглаживание обнаружения, полигональные зоны для мониторинга зон, расширенные аннотации (рамки, метки, следы), аналитику и статистику в реальном времени, расчёт скорости и отслеживание истории.

4. Какие цели были достигнуты при создании системы отслеживания объектов и аналитики?

Ответ: цель статьи — показать, как можно объединить обнаружение, отслеживание, зональную аналитику и визуальную аннотацию в единый и интеллектуальный рабочий процесс видеоанализа.

5. Какие методы используются для тестирования и проверки работы системы отслеживания объектов?

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

Источник