Ultralytics YOLO27:
Руководства

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

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

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

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

Особенно это актуально для приложений компьютерного зрения. Компьютерное зрение — это область искусственного интеллекта (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: открой меню "Runtime", выбери "Change runtime type" и установи 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.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

# Load model and video
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"

# Get properties
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)

# Writers for prediction and analytics videos
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 setup
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')

# Process frames
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, визуализированные в виде площадного графика.

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

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

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

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

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

Основные выводы#

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

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

Explore solutions

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

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

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

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

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

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

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

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

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

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

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

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

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше

Давай вместе создавать будущее AI!

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