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

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

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

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

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



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

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

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

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

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

Тепловые карты с использованием 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="yolo26n.pt",  # path to the YOLO26 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, e.g., 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 аргументы:

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
colormapintcv2.COLORMAP_JETЦветовая карта для тепловой карты.
show_inboolTrueФлаг для управления отображением количества входящих объектов на видеопотоке.
show_outboolTrueФлаг для управления отображением количества исходящих объектов на видеопотоке.
regionlist'[(20, 400), (1260, 400)]'Список точек, определяющих область подсчета.

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

АргументТипПо умолчаниюОписание
trackerstr'botsort.yaml'Указывает алгоритм отслеживания, например, bytetrack.yaml или botsort.yaml.
conffloat0.1Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
ioufloat0.7Устанавливает порог Intersection over Union (IoU) для фильтрации перекрывающихся обнаружений.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verboseboolTrueУправляет отображением результатов отслеживания, обеспечивая визуальный вывод отслеживаемых объектов.
devicestrNoneУказывает устройство для инференса (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.

Кроме того, ниже перечислены поддерживаемые аргументы визуализации:

АргументТипПо умолчаниюОписание
showboolFalseЕсли True, отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования.
line_widthint or NoneNoneУказывает ширину линии ограничивающих рамок. Если None, ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для большей четкости.
show_confboolTrueОтображает оценку достоверности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели для каждого обнаружения.
show_labelsboolTrueОтображает метки для каждого обнаружения в визуальном выводе. Обеспечивает немедленное понимание обнаруженных объектов.

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

Название цветовой картыОписание
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 YOLO26

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

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

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

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

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

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

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

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

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

import cv2

from ultralytics import solutions

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

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

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

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

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

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

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

import cv2

from ultralytics import solutions

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

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

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

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



📅 Создано 2 лет назад ✏️ Обновлено 7 дней назад
glenn-jocherRizwanMunawarRizwanMunawarMatthewNoycepderrengerUltralyticsAssistantIvorZhu331AyushExelYOLOv5-Magic

Комментарии