Продвинутая визуализация данных: Тепловые карты с использованием 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 для генерации и визуализации паттернов движения в видеопотоках. При инициализации решение создает пустой слой тепловой карты, который обновляется по мере перемещения объектов в кадре.
Для каждого обнаруженного объекта находится решение:
- Отслеживает объект по кадрам, используя возможности отслеживания YOLO11
- Обновляет интенсивность тепловой карты в месте расположения объекта
- Применяет выбранную карту цветов для визуализации значений интенсивности
- Наложение цветной тепловой карты на исходный кадр
В результате вы получаете динамическую визуализацию, которая формируется с течением времени, выявляя закономерности движения транспорта, перемещения толпы или другие пространственные характеристики ваших видеоданных.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Как 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.