В этом продвинутом руководстве по 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. Какие методы используются для тестирования и проверки работы системы отслеживания объектов?
Ответ: для тестирования используется создание синтетического демонстрационного видео с двумя движущимися прямоугольниками, имитирующими отслеживаемые объекты. Это позволяет проверить обнаружение, отслеживание, мониторинг зон и анализ скорости без необходимости использования реальных входных данных.