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

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

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

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

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



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

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

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

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

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

Тепловые карты с использованием 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 Устанавливает порог пересечения над объединением (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Ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для наглядности.

Тепловые карты COLORMAPs

Название цветовой карты Описание
cv::COLORMAP_AUTUMN Карта осенних цветов
cv::COLORMAP_BONE Карта цвета костей
cv::COLORMAP_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 Цветная карта Паруля
cv::COLORMAP_MAGMA Карта цветов магмы
cv::COLORMAP_INFERNO Цветная карта Инферно
cv::COLORMAP_PLASMA Карта цветов плазмы
cv::COLORMAP_VIRIDIS Цветная карта Виридиса
cv::COLORMAP_CIVIDIS Цветная карта Сивидиса
cv::COLORMAP_TWILIGHT Цветная карта сумерек
cv::COLORMAP_TWILIGHT_SHIFTED Цветовая карта "Сдвинутые сумерки
cv::COLORMAP_TURBO Карта цветов турбо
cv::COLORMAP_DEEPGREEN Карта цвета глубокого зеленого

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

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

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

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

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

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

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

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

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

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

Да, Ultralytics YOLO11 поддерживает одновременное отслеживание объектов и создание тепловых карт. Этого можно достичь с помощью Heatmap решение, интегрированное с моделями отслеживания объектов. Для этого необходимо инициализировать объект 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 год назад ✏️ Обновлено 5 дней назад

Комментарии