Ultralytics YOLO27:
Get Started

Аналитика с Ultralytics YOLO26#

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



Смотри: Как создавать аналитические графики с помощью Ultralytics | Линейные графики, столбчатые диаграммы, графики с областями и круговые диаграммы

Примеры визуализации#

Линейный графикСтолбчатая диаграммаКруговая диаграмма
Линейный график аналитики YOLO для отслеживания объектовСтолбчатая диаграмма аналитики YOLO для подсчёта обнаруженийКруговая диаграмма аналитики YOLO для распределения по классам

Зачем визуализировать данные обнаружения?#

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

Построение графиков аналитики#

Передай видео решению Analytics и выбери диаграмму с помощью analytics_type. Решение выполняет обнаружение и отслеживание на каждом кадре и строит диаграмму размером 1280×720 (по умолчанию), которую можно сразу записать в выходное видео. Переключайся между "line", "bar", "pie" и "area" с помощью одного аргумента.

Аналитика с Ultralytics YOLO
yolo solutions analytics show=True

# Pass the source
yolo solutions analytics source="path/to/video.mp4"

# Generate the pie chart
yolo solutions analytics analytics_type="pie" show=True

# Generate the bar plots
yolo solutions analytics analytics_type="bar" show=True

# Generate the area plots
yolo solutions analytics analytics_type="area" show=True

Аргументы Analytics#

Ниже приведена таблица с аргументами Analytics:

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
analytics_typestr'line'Тип графика: line, bar, area или pie.
figsizetuple[float, float](12.8, 7.2)Размер графиков Analytics в дюймах; (12.8, 7.2) отображает кадр размером 1280×720.
line_widthint2Толщина линий рамок, ключевых точек и счётчиков, которые рисует решение.
verboseboolTrueВключает журнал решения для каждого кадра с указанием формы входных данных, количества объектов по классам и скорости обработки. Сам вызов отслеживания всегда выполняется без вывода сообщений.

В решении Analytics также можно использовать различные аргументы track.

АргументТипПо умолчаниюОписание
trackerstr'tracktrack.yaml'Задаёт алгоритм отслеживания. Встроенные варианты: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Задаёт порог уверенности для обнаружений: при более низких значениях можно отслеживать больше объектов, но возрастает вероятность ложноположительных срабатываний.
ioufloat0.7Задаёт порог пересечения над объединением (IoU) для фильтрации перекрывающихся обнаружений.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
devicestrNoneЗадаёт устройство для инференса (например, cpu, cuda:0 или 0). Позволяет выбрать CPU, определённый GPU или другое вычислительное устройство для выполнения модели.
imgszint or tuple640Целевой размер изображения для инференса: целое число для квадратного изображения или пара (height, width). Размеры корректируются с учётом шага модели.
max_detint300Максимальное количество обнаружений, сохраняемых в каждом кадре перед отслеживанием; ограничивает число объектов, обрабатываемых решением в насыщенных сценах.
quantizeint or strNoneТочность инференса: 16 (FP16) или 32/unset (FP32) для моделей PyTorch и TorchScript не на CPU; для других форматов точность определяется артефактом модели и средой выполнения. Заменяет устаревший аргумент half.

Кроме того, поддерживаются следующие аргументы визуализации:

АргументТипПо умолчаниюОписание
showboolFalseЕсли True, показывает аннотированные изображения или видео в окне. Полезно для мгновенной визуальной проверки во время разработки или тестирования.

Заключение#

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

Часто задаваемые вопросы#

  • Чтобы построить линейный график с помощью Ultralytics YOLO26 Analytics, выполни следующие действия:

    1. Загрузи модель YOLO26 и открой видеофайл.
    2. Инициализируй класс Analytics с помощью analytics_type="line".
    3. Перебирай кадры видео, вызывая решение для каждого кадра, чтобы обновлять линейный график данными, например количеством объектов.
    4. Записывай results.plot_im в выходное видео, чтобы сохранить диаграмму.

    Возьми за основу пример Python выше: в нём уже реализован полный цикл обработки кадров, а тип диаграммы analytics_type используется по умолчанию.

  • Использование Ultralytics YOLO26 для построения столбчатых диаграмм даёт несколько преимуществ:

    1. Визуализация данных в реальном времени: результаты обнаружения объектов легко интегрируются в столбчатые диаграммы и динамически обновляются.
    2. Простота использования: благодаря простому API и функциям реализовать визуализацию данных легко.
    3. Настройка: адаптируй заголовки, подписи, цвета и другие параметры под свои требования.
    4. Эффективность: решение эффективно обрабатывает большие объёмы данных и обновляет графики в реальном времени во время обработки видео.

    Чтобы построить столбчатую диаграмму, укажи analytics_type="bar" в примере Python выше — остальная часть цикла обработки кадров не меняется. Пример диаграммы см. в разделе «Примеры визуализации».

  • Ultralytics YOLO26 отлично подходит для построения круговых диаграмм по следующим причинам:

    1. Интеграция с обнаружением объектов: напрямую добавляй результаты обнаружения объектов в круговые диаграммы, чтобы сразу получать полезную информацию.
    2. Удобный API: простая настройка и использование с минимальным количеством кода.
    3. Гибкая настройка: множество вариантов настройки цветов, подписей и других параметров.
    4. Обновление в реальном времени: решение обрабатывает и визуализирует данные в реальном времени, что идеально подходит для проектов видеоаналитики.

    Чтобы построить круговую диаграмму, укажи analytics_type="pie" в примере Python выше. Подробнее см. в разделе «Примеры визуализации» руководства.

  • Да. Отслеживание встроено в решение Analytics: оно отслеживает несколько объектов в реальном времени и обновляет диаграмму по данным отслеживаемых объектов каждые 30 кадров, поэтому линейные графики, столбчатые и круговые диаграммы, а также диаграммы с областями отражают текущие значения. Именно это делает цикл обработки кадров в примере Python выше. Подробнее о базовой функциональности отслеживания см. в разделе «Отслеживание».

  • Ultralytics YOLO26 отличается от других решений для обнаружения объектов, таких как OpenCV и TensorFlow, по нескольким причинам:

    1. Высокая точность: YOLO26 обеспечивает превосходную точность в задачах обнаружения объектов, сегментации экземпляров, семантической сегментации и классификации.
    2. Простота использования: удобный API позволяет быстро внедрять и интегрировать решение без большого объёма программирования.
    3. Производительность в реальном времени: решение оптимизировано для высокоскоростного инференса и подходит для приложений реального времени.
    4. Широкий спектр применений: поддерживаются отслеживание нескольких объектов, обучение пользовательских моделей и экспорт в разные форматы, включая ONNX, TensorRT и CoreML.
    5. Подробная документация: обширная документация и материалы блога помогут тебе на каждом этапе.

    Подробные сравнения и примеры использования см. в нашем блоге Ultralytics.

Комментарии