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