Ultralytics YOLO27:

Аналитика с использованием Ultralytics YOLO26#

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



Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts

Визуальные примеры#

Линейный графикСтолбчатая диаграммаКруговая диаграмма
Линейный график 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.
line_widthint2Толщина линий для рамок, ключевых точек и счётчиков, которые рисует решение.
verboseboolTrueВключает покадровый журнал решения с указанием формы входных данных, количества классов и скорости обработки. Сам вызов отслеживания всегда выполняется без вывода.

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

АргументТипПо умолчаниюОписание
trackerstr'botsort.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/не задано (FP32) для моделей PyTorch и TorchScript; остальные форматы выполняют вычисления с точностью, выбранной их артефактом и средой выполнения. Заменяет устаревший флаг 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: оно отслеживает несколько объектов в реальном времени и обновляет график данными отслеживаемых объектов в каждом кадре, поэтому линейные графики, столбчатые диаграммы, круговые диаграммы и графики с областями отражают текущие значения. Именно это делает цикл обработки кадров в примере на Python выше. Подробнее о базовой функциональности трекинга см. в разделе Трекинг.

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

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

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

Комментарии