Перейти к содержанию

Продвинутая Визуализация Данных: Тепловые карты с использованием Ultralytics YOLO11 🚀

Введение в тепловые карты

Открыть тепловые карты в Colab

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



Смотреть: Тепловые карты с использованием Ultralytics YOLO11

Почему стоит выбрать тепловые карты для анализа данных?

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

Приложения в реальном мире

Транспорт Розничная торговля
Тепловая карта транспорта Ultralytics YOLO11 Ultralytics YOLO11 Retail Heatmap
Тепловая карта транспорта Ultralytics YOLO11 Ultralytics YOLO11 Retail Heatmap

Тепловые карты с использованием Ultralytics YOLO

# Run a heatmap example
yolo solutions heatmap show=True

# Pass a source video
yolo solutions heatmap source="path/to/video.mp4"

# Pass a custom colormap
yolo solutions heatmap colormap=cv2.COLORMAP_INFERNO

# Heatmaps + object counting
yolo solutions heatmap region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"
import cv2

from ultralytics import solutions

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

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# For object counting with heatmap, you can pass region points.
# region_points = [(20, 400), (1080, 400)]                                      # line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]              # rectangle region
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)]   # polygon points

# Initialize heatmap object
heatmap = solutions.Heatmap(
    show=True,  # display the output
    model="yolo11n.pt",  # path to the YOLO11 model file
    colormap=cv2.COLORMAP_PARULA,  # colormap of heatmap
    # region=region_points,  # object counting with heatmaps, you can pass region_points
    # classes=[0, 2],  # generate heatmap for specific classes i.e person and car.
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = heatmap(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Heatmap() Аргументы

Вот таблица с Heatmap аргументы:

Аргумент Тип По умолчанию Описание
model str None Путь к файлу модели Ultralytics YOLO.
colormap int cv2.COLORMAP_JET Цветовая карта для тепловой карты.
show_in bool True Флаг для управления отображением количества входящих объектов на видеопотоке.
show_out bool True Флаг для управления отображением количества исходящих объектов на видеопотоке.
region list '[(20, 400), (1260, 400)]' Список точек, определяющих область подсчета.

Вы также можете применить различные track аргументы в Heatmap Решение.

Аргумент Тип По умолчанию Описание
tracker str 'botsort.yaml' Указывает алгоритм отслеживания, например, bytetrack.yaml или botsort.yaml.
conf float 0.3 Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
iou float 0.5 Устанавливает порог 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 None or int None Указывает ширину линии ограничивающих рамок. Если None, ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для большей четкости.
show_conf bool True Отображает оценку достоверности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели для каждого обнаружения.
show_labels bool True Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает немедленное понимание обнаруженных объектов.

Цветовые схемы тепловых карт

Название цветовой карты Описание
cv::COLORMAP_AUTUMN Осенняя цветовая карта
cv::COLORMAP_BONE Цветовая карта костей
cv::COLORMAP_JET Цветовая карта Jet
cv::COLORMAP_WINTER Зимняя цветовая карта
cv::COLORMAP_RAINBOW Радужная цветовая карта
cv::COLORMAP_OCEAN Цветовая карта океана
cv::COLORMAP_SUMMER Летняя цветовая карта
cv::COLORMAP_SPRING Весенняя цветовая карта
cv::COLORMAP_COOL Холодная цветовая карта
cv::COLORMAP_HSV Цветовая карта HSV (тон, насыщенность, значение)
cv::COLORMAP_PINK Розовая цветовая карта
cv::COLORMAP_HOT Горячая цветовая карта
cv::COLORMAP_PARULA Цветовая карта Parula
cv::COLORMAP_MAGMA Цветовая карта Magma
cv::COLORMAP_INFERNO Цветовая карта Inferno
cv::COLORMAP_PLASMA Цветовая карта Plasma
cv::COLORMAP_VIRIDIS Цветовая карта Viridis
cv::COLORMAP_CIVIDIS Цветовая карта Cividis
cv::COLORMAP_TWILIGHT Цветовая карта Twilight
cv::COLORMAP_TWILIGHT_SHIFTED Смещенная цветовая карта Twilight
cv::COLORMAP_TURBO Цветовая карта Turbo
cv::COLORMAP_DEEPGREEN Цветовая карта Deep Green

Эти цветовые карты обычно используются для визуализации данных с различными цветовыми представлениями.

Как работают тепловые карты в Ultralytics YOLO11

Решение Heatmap в Ultralytics YOLO11 расширяет класс ObjectCounter для создания и визуализации моделей движения в видеопотоках. При инициализации решение создает пустой слой тепловой карты, который обновляется по мере перемещения объектов по кадру.

Для каждого обнаруженного объекта решение:

  1. Отслеживает объект по кадрам, используя возможности отслеживания YOLO11
  2. Обновляет интенсивность тепловой карты в местоположении объекта
  3. Применяет выбранную цветовую карту для визуализации значений интенсивности
  4. Накладывает цветную тепловую карту на исходный кадр

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

Часто задаваемые вопросы

Как Ultralytics YOLO11 генерирует тепловые карты и каковы их преимущества?

Ultralytics YOLO11 генерирует тепловые карты, преобразуя сложные данные в матрицу с цветовой кодировкой, где разные оттенки представляют интенсивность данных. Тепловые карты облегчают визуализацию закономерностей, корреляций и аномалий в данных. Более теплые оттенки указывают на более высокие значения, а более холодные тона — на более низкие значения. Основные преимущества включают интуитивно понятную визуализацию распределения данных, эффективное обнаружение закономерностей и расширенный пространственный анализ для принятия решений. Для получения более подробной информации и параметров конфигурации обратитесь к разделу «Конфигурация тепловой карты».

Могу ли я использовать Ultralytics YOLO11 для одновременного отслеживания объектов и создания тепловой карты?

Да, Ultralytics YOLO11 поддерживает одновременное отслеживание объектов и генерацию тепловых карт. Это можно реализовать с помощью его Heatmap Решение, интегрированное с моделями отслеживания объектов. Для этого необходимо инициализировать объект тепловой карты и использовать возможности отслеживания YOLO11. Вот простой пример:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()

Для получения дополнительных указаний ознакомьтесь со страницей Режим отслеживания.

Чем тепловые карты Ultralytics YOLO11 отличаются от других инструментов визуализации данных, таких как OpenCV или Matplotlib?

Тепловые карты Ultralytics YOLO11 специально разработаны для интеграции с моделями обнаружения и отслеживания объектов, обеспечивая комплексное решение для анализа данных в реальном времени. В отличие от общих инструментов визуализации, таких как OpenCV или Matplotlib, тепловые карты YOLO11 оптимизированы для производительности и автоматизированной обработки, поддерживая такие функции, как постоянное отслеживание, регулировка коэффициента затухания и наложение видео в реальном времени. Для получения дополнительной информации об уникальных функциях YOLO11 посетите раздел «Введение в Ultralytics YOLO11».

Как я могу визуализировать только определенные классы объектов в тепловых картах, используя Ultralytics YOLO11?

Вы можете визуализировать определенные классы объектов, указав желаемые классы в track() метод модели YOLO. Например, если вы хотите визуализировать только автомобили и людей (предполагая, что их индексы классов 0 и 2), вы можете установить classes параметр соответственно.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()

Почему предприятиям следует выбирать Ultralytics YOLO11 для создания тепловых карт при анализе данных?

Ultralytics YOLO11 предлагает плавную интеграцию расширенного обнаружения объектов и создания тепловых карт в реальном времени, что делает его идеальным выбором для компаний, стремящихся более эффективно визуализировать данные. Ключевые преимущества включают интуитивно понятную визуализацию распределения данных, эффективное обнаружение закономерностей и расширенный пространственный анализ для принятия более эффективных решений. Кроме того, передовые функции YOLO11, такие как постоянное отслеживание, настраиваемые цветовые карты и поддержка различных форматов экспорта, делают его превосходящим другие инструменты, такие как TensorFlow и OpenCV, для комплексного анализа данных. Узнайте больше о бизнес-приложениях в Ultralytics Plans.



📅 Создано 1 год назад ✏️ Обновлено 4 месяца назад

Комментарии