Расширенная визуализация данных: Тепловые карты с использованием Ultralytics YOLO26 🚀
Введение в тепловые карты
Тепловая карта, сгенерированная с помощью Ultralytics YOLO26, преобразует сложные данные в яркую, цветокодированную матрицу. Этот визуальный инструмент использует спектр цветов для представления различных значений данных, где более теплые оттенки указывают на более высокую интенсивность, а более холодные тона — на более низкие значения. Тепловые карты превосходно визуализируют сложные закономерности данных, корреляции и аномалии, предлагая доступный и увлекательный подход к интерпретации данных в различных областях.
Смотреть: Тепловые карты с использованием Ultralytics YOLO26
Почему стоит выбрать тепловые карты для анализа данных?
- Интуитивно понятная визуализация распределения данных: Тепловые карты упрощают понимание концентрации и распределения данных, преобразуя сложные наборы данных в простые для понимания визуальные форматы.
- Эффективное обнаружение закономерностей: Визуализируя данные в формате тепловой карты, становится легче выявлять тенденции, кластеры и выбросы, что облегчает более быстрый анализ и получение информации.
- Улучшенный пространственный анализ и принятие решений: Тепловые карты играют важную роль в иллюстрации пространственных взаимосвязей, помогая в процессах принятия решений в таких секторах, как бизнес-аналитика, экологические исследования и городское планирование.
Приложения в реальном мире
| Транспорт | Розничная торговля |
|---|---|
![]() | ![]() |
| Транспортная тепловая карта Ultralytics YOLO26 | Ultralytics 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 аргументы:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
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.1 | Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания. |
iou | float | 0.7 | Устанавливает порог 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 | int or None | 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 YOLO26
Решение Heatmap в Ultralytics YOLO26 расширяет класс ObjectCounter для генерации и визуализации паттернов движения в видеопотоках. При инициализации решение создает пустой слой тепловой карты, который обновляется по мере перемещения объектов в кадре.
Для каждого обнаруженного объекта решение:
- Отслеживает объект по кадрам, используя возможности track YOLO26.
- Обновляет интенсивность тепловой карты в местоположении объекта
- Применяет выбранную цветовую карту для визуализации значений интенсивности
- Накладывает цветную тепловую карту на исходный кадр
В результате получается динамическая визуализация, которая развивается с течением времени, выявляя закономерности движения транспорта, перемещения толпы или другие пространственные особенности в ваших видеоданных.
Часто задаваемые вопросы
Как 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.

