Аналитика с помощью Ultralytics YOLO26
Введение
Это руководство содержит полный обзор трех основных типов визуализации данных: линейных графиков, гистограмм и круговых диаграмм. Каждый раздел включает пошаговые инструкции и примеры кода по созданию этих визуализаций с помощью Python.
Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts
Визуальные примеры
| Линейный график | Гистограмма | Круговая диаграмма |
|---|---|---|
![]() | ![]() | ![]() |
Почему графики важны
- Линейные графики идеально подходят для отслеживания изменений на коротких и длительных промежутках времени, а также для сравнения изменений в нескольких группах за один и тот же период.
- Гистограммы, напротив, подходят для сравнения количественных показателей по различным категориям и демонстрации взаимосвязи между категорией и ее числовым значением.
- Наконец, круговые диаграммы эффективны для иллюстрации пропорций между категориями и отображения частей целого.
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:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
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 | Устанавливает порог достоверности для обнаружения; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания. |
iou | float | 0.7 | Устанавливает порог Intersection over Union (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, толщина подбирается автоматически в зависимости от размера изображения. Обеспечивает визуальную настройку для ясности. |
Заключение
Понимание того, когда и как использовать различные типы визуализаций, критически важно для эффективного анализа данных. Линейные графики, гистограммы и круговые диаграммы — это базовые инструменты, которые помогут тебе яснее и эффективнее донести историю твоих данных. Решение Ultralytics YOLO26 Analytics предоставляет оптимизированный способ создания таких визуализаций на основе твоих результатов обнаружения объектов и отслеживания, что облегчает извлечение значимых инсайтов из визуальных данных.
Часто задаваемые вопросы (FAQ)
Как создать линейный график с помощью Ultralytics YOLO26 Analytics?
Чтобы создать линейный график с помощью Ultralytics YOLO26 Analytics, выполни следующие действия:
- Загрузи модель YOLO26 и открой видеофайл.
- Инициализируй класс
Analyticsс параметром type, установленным на "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.
В чем преимущества использования 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()Чтобы узнать больше, посети раздел Гистограмма в руководстве.
Почему стоит использовать 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()Для получения дополнительной информации обратись к разделу Круговая диаграмма в руководстве.
Можно ли использовать 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()Чтобы узнать о полной функциональности, смотри раздел Отслеживание.
Чем Ultralytics YOLO26 отличается от других решений для обнаружения объектов, таких как OpenCV и TensorFlow?
Ultralytics YOLO26 выделяется среди других решений для обнаружения объектов, таких как OpenCV и TensorFlow, по нескольким причинам:
- Передовая точность: YOLO26 обеспечивает превосходную точность в задачах обнаружения, сегментации и классификации объектов.
- Простота использования: Удобный API позволяет быстро внедрять и интегрировать решение без написания большого объема кода.
- Производительность в реальном времени: Оптимизировано для высокоскоростного вывода, подходит для приложений, работающих в реальном времени.
- Разнообразные приложения: Поддерживает множество задач, включая многообъектное отслеживание, обучение пользовательских моделей и экспорт в различные форматы, такие как ONNX, TensorRT и CoreML.
- Комплексная документация: Обширная документация и ресурсы блога, которые помогут тебе на каждом этапе.
Для более подробного сравнения и ознакомления с примерами использования изучи наш Блог Ultralytics.


