Link to this sectionАналитика с использованием Ultralytics YOLO26#
Link to this sectionВведение#
Это руководство содержит подробный обзор трех основных типов визуализации данных: линейных графиков, столбчатых диаграмм и круговых диаграмм. Каждый раздел включает пошаговые инструкции и фрагменты кода, показывающие, как создавать эти визуализации с помощью Python.
Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts
Link to this sectionПримеры визуализации#
| Линейный график | Столбчатая диаграмма | Круговая диаграмма |
|---|---|---|
![]() | ![]() | ![]() |
Link to this sectionПочему графики важны#
- Линейные графики идеально подходят для отслеживания изменений на коротких и длинных промежутках времени, а также для сравнения изменений в нескольких группах за один и тот же период.
- Столбчатые диаграммы, напротив, подходят для сравнения количественных показателей по разным категориям и демонстрации отношений между категорией и ее числовым значением.
- Наконец, круговые диаграммы эффективны для иллюстрации пропорций между категориями и показа частей целого.
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=TrueLink to this sectionАргументы Analytics#
Вот таблица с описанием аргументов Analytics:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
model | str | None | Путь к файлу модели Ultralytics YOLO. |
analytics_type | str | 'line' | Тип графика, например: line, bar, area или pie. |
Ты также можешь использовать различные аргументы track в решении Analytics.
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Указывает алгоритм отслеживания, например: bytetrack.yaml или botsort.yaml. |
conf | float | 0.1 | Устанавливает порог достоверности (confidence threshold) для обнаружений; низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания. |
iou | float | 0.7 | Устанавливает порог IoU для фильтрации перекрывающихся обнаружений. |
classes | list | None | Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы. |
verbose | bool | True | Управляет отображением результатов отслеживания, обеспечивая визуальный вывод отслеживаемых объектов. |
device | str | None | Указывает устройство для вывода (например, cpu, cuda:0 или 0). Позволяет выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели. |
Кроме того, поддерживаются следующие аргументы визуализации:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
show | bool | False | Если True, отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования. |
line_width | int or None | None | Указывает толщину линий ограничивающих рамок. Если установлено None, толщина линии автоматически настраивается в зависимости от размера изображения. Позволяет визуально настроить четкость. |
Link to this sectionЗаключение#
Понимание того, когда и как использовать различные типы визуализации, критически важно для эффективного анализа данных. Линейные графики, столбчатые и круговые диаграммы — это фундаментальные инструменты, которые помогут тебе более ясно и эффективно доносить информацию о своих данных. Решение Ultralytics YOLO26 Analytics предоставляет оптимизированный способ создания этих визуализаций на основе результатов твоего обнаружения объектов и отслеживания, облегчая извлечение полезной информации из визуальных данных.
Link to this sectionЧасто задаваемые вопросы (FAQ)#
Link to this sectionКак создать линейный график с помощью Ultralytics YOLO26 Analytics?#
Чтобы создать линейный график с помощью Ultralytics YOLO26 Analytics, выполни следующие действия:
- Загрузи модель YOLO26 и открой свой видеофайл.
- Инициализируй класс
Analyticsс типом, установленным в "line". - Итерируй по кадрам видео, обновляя линейный график соответствующими данными, такими как количество объектов на кадр.
- Сохрани выходное видео, отображающее линейный график.
Пример:
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))
out = cv2.VideoWriter(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="line",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Для получения дополнительной информации о настройке класса Analytics посети раздел Аналитика с использованием Ultralytics YOLO26.
Link to this sectionВ чем преимущества использования Ultralytics YOLO26 для создания столбчатых диаграмм?#
Использование Ultralytics YOLO26 для создания столбчатых диаграмм дает несколько преимуществ:
- Визуализация данных в реальном времени: Легко интегрируй результаты обнаружения объектов в столбчатые диаграммы для динамических обновлений.
- Простота использования: Простой API и функции делают реализацию и визуализацию данных максимально понятными.
- Кастомизация: Настраивай заголовки, подписи, цвета и многое другое в соответствии со своими конкретными требованиями.
- Эффективность: Эффективно обрабатывай большие объемы данных и обновляй графики в реальном времени во время обработки видео.
Используй следующий пример для генерации столбчатой диаграммы:
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))
out = cv2.VideoWriter(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="bar",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Чтобы узнать больше, посети раздел Столбчатая диаграмма в руководстве.
Link to this sectionПочему мне стоит использовать Ultralytics YOLO26 для создания круговых диаграмм в моих проектах по визуализации данных?#
Ultralytics YOLO26 — отличный выбор для создания круговых диаграмм, потому что:
- Интеграция с обнаружением объектов: Непосредственно интегрируй результаты обнаружения объектов в круговые диаграммы для мгновенного анализа.
- Дружественный API: Простота настройки и использования при минимуме кода.
- Кастомизируемость: Различные варианты настройки цветов, подписей и многого другого.
- Обновления в реальном времени: Обработка и визуализация данных в реальном времени, что идеально подходит для проектов видеоаналитики.
Вот краткий пример:
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))
out = cv2.VideoWriter(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="pie",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Для получения дополнительной информации обратись к разделу Круговая диаграмма в руководстве.
Link to this sectionМожно ли использовать Ultralytics YOLO26 для отслеживания объектов и динамического обновления визуализаций?#
Да, 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))
out = cv2.VideoWriter(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="line",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Чтобы узнать о полном функционале, ознакомься с разделом Отслеживание.
Link to this sectionЧем Ultralytics YOLO26 отличается от других решений для обнаружения объектов, таких как OpenCV и TensorFlow?#
Ultralytics YOLO26 выделяется среди других решений по нескольким причинам:
- Передовая точность: YOLO26 обеспечивает превосходную точность в задачах обнаружения объектов, сегментации экземпляров, семантической сегментации и классификации.
- Простота использования: Дружественный API позволяет быстро реализовать и интегрировать решение без необходимости писать сложный код.
- Производительность в реальном времени: Оптимизирован для высокоскоростного вывода, что делает его пригодным для приложений реального времени.
- Разнообразные задачи: Поддерживает множество задач, включая многообъектное отслеживание, обучение кастомных моделей и экспорт в различные форматы, такие как ONNX, TensorRT и CoreML.
- Исчерпывающая документация: Обширная документация и ресурсы блога, которые помогут тебе на каждом этапе.
Для более подробных сравнений и сценариев использования изучи наш Блог Ultralytics.


