Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Руководства

Расширение возможностей приложений компьютерного зрения с помощью визуализации

Узнай, как с помощью пакета Ultralytics для Python преобразовывать данные приложений компьютерного зрения в понятные графики и получать более ценные выводы.

Nuvola LadiNuvola Ladi9 мин. чтения
Преобразование данных компьютерного зрения в аналитические графики

Каждую минуту создаются огромные объёмы данных — от аэропортов и железнодорожных вокзалов до торговых центров. По мере распространения ИИ всё больше этих данных анализируют и систематизируют. Но иногда результаты работы моделей ИИ затрудняют поиск закономерностей и быстрое понимание тенденций. Здесь помогает визуализация данных: она превращает сложные результаты в понятные выводы, которые легко воспринимать.

Это особенно актуально для приложений компьютерного зрения. Компьютерное зрение — это область искусственного интеллекта (AI), которая помогает машинам интерпретировать и понимать визуальную информацию из окружающего мира, например изображения и видео. Модели компьютерного зрения, такие как Ultralytics YOLO11, помогают анализировать эти визуальные данные и извлекать из них информацию, а визуализация данных позволяет представить эту информацию в понятном формате.

Проще говоря, визуализация данных с помощью информативных аналитических графиков помогает перейти от исходных данных к их осмысленному пониманию. Это важно, потому что машинам недостаточно просто выполнять задачи — они должны ещё и рассказывать историю.

Именно поэтому визуализация данных становится всё популярнее: к 2030 году объём рынка, по прогнозам, достигнет 18,36 миллиарда долларов. Ранее мы рассказывали, как компьютерное зрение помогает получать ценные аналитические выводы для бизнеса. Сегодня пойдём дальше и покажем, как с помощью пакета Ultralytics создавать понятные и информативные аналитические графики для приложений компьютерного зрения.

Визуализация данных на основе результатов Ultralytics YOLO11

Рис. 1. Пример визуализации данных на основе результатов YOLO11.

Обзор визуализации данных в приложениях компьютерного зрения#

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

Например, вместо того чтобы вручную просматривать часы записей с камер наблюдения, можно построить простой линейный график, показывающий количество обнаруженных автомобилей или людей с течением времени. Он быстро выявит часы пик или необычно тихие периоды.

Вот несколько основных причин, по которым полезно визуализировать данные:

  • Упрощает сложные данные: Тысячи обнаруженных объектов могут сбивать с толку, но такие способы визуализации, как столбчатые или круговые диаграммы, помогают увидеть общую картину, например понять, какие объекты встречаются чаще всего.
  • Выявляет тенденции: Линейные графики и столбчатые диаграммы помогают находить закономерности во времени, например определять, когда и где обычно увеличивается пешеходный трафик.
  • Экономит время: Вместо просмотра каждого кадра видео можно быстро выявить важные детали с помощью графиков, например резкие всплески активности транспорта или появление необычных объектов в закрытых зонах.
  • Упрощает коммуникацию: Наглядные материалы облегчают обмен выводами с нетехнической аудиторией и помогают всем лучше понять результаты.

Разные виды визуализации данных#

Разные типы аналитических графиков помогают наглядно и понятно представить результаты компьютерного зрения. Допустим, ты работаешь над приложением компьютерного зрения, которое обнаруживает людей и транспорт на записях с камер наблюдения. В этом случае линейный график отлично подойдет, чтобы показать, как меняется количество обнаружений со временем, например отследить всплески пешеходного трафика в течение дня.

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

Примеры аналитических графиков

Рис. 2. Примеры аналитических графиков.

Создание аналитических графиков для извлечения полезных выводов из данных компьютерного зрения#

Теперь, когда мы разобрались, что такое визуализация данных и почему важны разные типы аналитических графиков, давай рассмотрим, как использовать решение Ultralytics Analytics для визуализации результатов предсказаний твоей модели компьютерного зрения. Прежде чем перейти к пошаговой инструкции, рассмотрим инструменты и варианты настройки для обучения и использования пакета Ultralytics и таких моделей, как YOLO11.

Пакет Ultralytics для Python упрощает обучение моделей, обнаружение объектов, запуск предсказаний и визуализацию результатов. Для начала работы понадобится среда программирования. Вот три простых варианта:

  • Интерфейс командной строки (CLI): это простой текстовый инструмент, в котором можно вводить команды для запуска кода. У него нет графического интерфейса: взаимодействие происходит через инструкции, введённые в терминале или командной строке.
  • Jupyter Notebooks: это интерактивная среда программирования, в которой можно писать, запускать и проверять небольшие фрагменты кода (так называемые «ячейки») по одному. Результат отображается прямо под каждой ячейкой, поэтому легко понять, что происходит на каждом шаге. Такая среда особенно полезна для обучения и экспериментов.
  • Google Colab: это бесплатная облачная версия Jupyter Notebooks, работающая в браузере. Её не нужно настраивать на компьютере, а для ускорения обработки можно бесплатно использовать GPU.

Эти инструменты отлично подходят для быстрого старта, но Ultralytics можно также интегрировать в интегрированные среды разработки (IDE), например Visual Studio Code (VS Code), или в производственные конвейеры. Другие варианты смотри в официальной документации Ultralytics.

Шаг 1. Настройка среды#

Выбрав подходящую среду, настрой ее для запуска предсказаний и визуализации результатов. Можно использовать любую из перечисленных выше сред — ту, с которой тебе удобнее работать.

Если ты работаешь в Google Colab, помни, что по умолчанию он использует CPU, из-за чего работа может замедлиться. Чтобы ускорить обработку, переключись на GPU: открой меню «Среда выполнения», выбери «Сменить тип среды выполнения» и установи в качестве аппаратного ускорителя GPU (лучше T4).

Чтобы подготовить среду, установи пакет Ultralytics для Python с помощью команды ниже. В инструментах на основе блокнотов, таких как Colab или Jupyter, не забудь поставить перед командой восклицательный знак (!).

pip install ultralytics

Шаг 2. Скачивание видеофайла#

Далее понадобится видео для работы. Его можно легко скачать с бесплатного сайта со стоковыми материалами, например Pexels. Выбери видео с объектами, которые может обнаруживать Ultralytics YOLO11. Поскольку модель предварительно обучена на наборе данных COCO, она распознает распространенные объекты, например людей, автомобили и велосипеды.

В этом руководстве мы используем видео с обработкой багажа в оживленном терминале аэропорта. Ты можешь взять то же видео или выбрать другое, подходящее для твоего проекта.

Кадр из входного видео, на котором обрабатывают багаж в терминале аэропорта

Рис. 3. Кадр из входного видео, на котором обрабатывают багаж в терминале аэропорта.

Шаг 3. Импорт библиотек#

Далее импортируем необходимые библиотеки и загрузим входное видео.

Начнем с импорта OpenCV (cv2) — широко используемой библиотеки для работы с изображениями и видео в задачах компьютерного зрения. Также импортируем библиотеку Ultralytics, которая помогает запускать обнаружение объектов и создавать аналитику по видео.

Затем попробуем открыть видеофайл, указав его путь. Не забудь заменить "path/to/video.mp4" фактическим расположением скачанного видеофайла.

В приведенном ниже фрагменте кода также есть простая проверка, которая убеждается, что видео загружено правильно. Если путь указан неверно или файл поврежден, программа остановится и выведет сообщение об ошибке: "Error reading video file."

import cv2
from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

Шаг 4. Подготовка видеозаписи#

Затем настроим запись видео, чтобы сохранить результат. При запуске аналитики эта часть кода создаст новый видеофайл с обновленными графиками, сформированными для каждого кадра исходного видео.

В приведенном ниже фрагменте кода сначала извлекаются основные характеристики входного видео: ширина, высота и частота кадров (fps). Эти значения считываются непосредственно из видео и преобразуются в целые числа, чтобы обеспечить правильный формат для записи результата.

Затем мы используем функцию cv2.VideoWriter, чтобы создать новый видеофайл с именем "analytics_output.avi" (при необходимости его можно переименовать). Видео сохраняется в формате MJPG — распространенном методе сжатия видео. Разрешение результата устанавливается равным 1280×720 пикселям независимо от размера исходного видео.

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(
    "analytics_output.avi",
    cv2.VideoWriter_fourcc(*"MJPG"),
    fps,
    (1280, 720),
)

Шаг 5. Настройка решения Ultralytics Analytics#

Теперь настроим решение Ultralytics Analytics для построения графиков по видео. Можно выбрать способ отображения данных — линейный, круговой, с областями или столбчатый график, — а также модель YOLO. В этом примере мы используем компактную модель YOLO11n («yolo11n.pt») и представим результаты в виде графика с областями.

analytics = solutions.Analytics(
    show=True,
    analytics_type="area",
    model="yolo11n.pt",
)

Шаг 6. Обработка входного видео#

На заключительном этапе код запускает цикл, обрабатывающий видео по одному кадру за раз. Каждый кадр передается инструменту аналитики, который обновляет график в реальном времени. Затем обновленный график записывается в выходное видео. Если кадр не удается прочитать, цикл останавливается. После обработки всех кадров видео сохраняется, а все открытые окна закрываются.

frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count)
        out.write(results.plot_im)
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()

Шаг 7. Собираем все вместе#

Наконец, соберем все вместе. С помощью всего нескольких дополнительных строк кода можно создать два выходных видео: одно с результатами обнаружения объектов Ultralytics YOLO11, где объекты отмечены рамками и подписями, и второе с графиками аналитики в реальном времени.

Для этого настроим два экземпляра VideoWriter: один для сохранения видео с предсказаниями, а другой — для аналитики. Эта версия кода включает отслеживание объектов и построение графиков, поэтому ты сможешь одновременно видеть результаты обнаружения и наглядные выводы.

Ниже приведен полный код, а также примеры видео с результатами предсказаний и аналитики.

import cv2
from ultralytics import YOLO, solutions

# Загрузка модели и видео
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"

# Получение характеристик
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)

# Запись видео с предсказаниями и аналитикой
out_pred = cv2.VideoWriter('output_predictions.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))
out_ana = cv2.VideoWriter('output_analytics.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, analytics_res)

# Настройка аналитики
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')

# Обработка кадров
frame_count = 0
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    frame_count += 1
    pred_frame = model.track(frame, persist=True)[0].plot()
    out_pred.write(pred_frame)
    resized = cv2.resize(pred_frame, analytics_res)
    out_ana.write(analytics(resized, frame_count).plot_im)

cap.release(), out_pred.release(), out_ana.release(), cv2.destroyAllWindows()

При успешном выполнении приведенного выше кода будут созданы два выходных видео. В файле “output_predictions.avi” будут показаны результаты обнаружения объектов с рамками и подписями, а в файле “output_analytics.avi” — графики аналитики в реальном времени, построенные на основе результатов обнаружения.

Кадр из выходного видео с результатами обнаружения объектов

Рис. 4. Кадр из файла “output_predictions.avi”.

Вот кадр из выходного видео с аналитикой, построенной на основе предсказаний. График с областями помогает увидеть, например, как со временем меняется количество чемоданов: всплеск примерно на кадре 268 указывает на перемещение чемоданов или активность в этой части видео.

Предсказания Ultralytics YOLO11 в виде графика с областями

Рис. 5. Предсказания Ultralytics YOLO11 в виде графика с областями.

Использование графиков в реальных приложениях компьютерного зрения#

Вот несколько реальных приложений компьютерного зрения, в которых визуализация данных приносит заметную пользу:

  • Здравоохранение: системы компьютерного зрения могут в реальном времени отслеживать активность пациентов, перемещения персонала и использование оборудования. В результате накапливается много визуальных данных, анализ которых помогает выявлять закономерности — например, периоды максимальной загруженности палат или задержки с оказанием помощи.
  • Розничная торговля и электронная коммерция: ИИ на основе компьютерного зрения можно использовать для отслеживания перемещения покупателей, времени, которое они проводят у полок, и взаимодействия с товарами. Наглядная аналитика, например столбчатые или круговые диаграммы, показывает, какие зоны магазина или товары привлекают больше всего внимания, и помогает ритейлерам оптимизировать выкладку и повышать конверсию.
  • Производство: Камеры с моделями компьютерного зрения могут следить за сборочными линиями, выявляя дефекты, нарушения техники безопасности и состояние оборудования. Визуализация данных показывает тенденции для наиболее распространенных типов дефектов и выявляет периоды с наибольшим числом ошибок, помогая быстрее принимать решения и проводить профилактическое обслуживание.

Главные выводы#

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

Хочешь узнать больше об ИИ? Изучи репозиторий на GitHub, присоединяйся к нашему сообществу и ознакомься с вариантами лицензирования, чтобы быстрее запустить проект в области компьютерного зрения. Подробнее об инновациях, таких как ИИ в производстве и компьютерное зрение в логистике, читай на страницах наших решений.

Автор

Nuvola Ladi
Nuvola Ladi

Менеджер по цифровому контенту · Ultralytics

Nuvola Ladi — менеджер по цифровому контенту в Ultralytics. Она создает материалы о Vision AI и Ultralytics YOLO, а также представляет компанию на отраслевых мероприятиях, таких как PyTorch Conference 2025. Она живет в Испании и получила степень магистра визуальных и цифровых медиа в IE University. До прихода в Ultralytics она работала в таких организациях, как XVA Gallery & Hotel и Rolex.

Комментарии

Задай вопрос, поделись результатами или помоги кому-нибудь.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения