Visualización avanzada de datos: Heatmaps usando Ultralytics YOLO11 🚀
Introducción a los mapas de calor
Un mapa de calor generado con Ultralytics YOLO11 transforma datos complejos en una matriz vibrante y codificada por colores. Esta herramienta visual emplea un espectro de colores para representar los distintos valores de los datos, donde los tonos más cálidos indican intensidades más altas y los tonos más fríos significan valores más bajos. Los mapas de calor destacan en la visualización de patrones de datos intrincados, correlaciones y anomalías, ofreciendo un enfoque accesible y atractivo para la interpretación de datos en diversos dominios.
Observa: Mapas de calor con Ultralytics YOLO11
¿Por qué elegir mapas de calor para el análisis de datos?
- Visualización intuitiva de la distribución de datos: Los mapas de calor simplifican la comprensión de la concentración y distribución de los datos, convirtiendo conjuntos de datos complejos en formatos visuales fáciles de entender.
- Detección eficaz de patrones: Al visualizar los datos en formato de mapa de calor, resulta más fácil detectar tendencias, agrupaciones y valores atípicos, lo que facilita un análisis y una comprensión más rápidos.
- Mejora del análisis espacial y la toma de decisiones: los mapas de calor son fundamentales para ilustrar las relaciones espaciales, ayudando en los procesos de toma de decisiones en sectores como la inteligencia empresarial, los estudios medioambientales y la planificación urbana.
Aplicaciones en el mundo real
Transporte | Venta al por menor |
---|---|
![]() |
![]() |
Ultralytics YOLO11 Mapa de transporte | Ultralytics YOLO11 Mapa de calor del comercio minorista |
Mapas de calor con 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()
Argumentos
Aquí tiene una tabla con los Heatmap
argumentos:
Argumento | Tipo | Por defecto | Descripción |
---|---|---|---|
model |
str |
None |
Ruta al archivo del modeloYOLO Ultralytics . |
colormap |
int |
cv2.COLORMAP_JET |
Mapa de colores para el mapa de calor. |
show_in |
bool |
True |
Indicador para controlar si se muestran los recuentos en el flujo de vídeo. |
show_out |
bool |
True |
Indicador para controlar si se muestran los recuentos de salida en el flujo de vídeo. |
region |
list |
[(20, 400), (1260, 400)] |
Lista de puntos que definen la región de recuento. |
También puede aplicar diferentes track
argumentos en el Heatmap
solución.
Argumento | Tipo | Por defecto | Descripción |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Especifica el algoritmo de seguimiento a utilizar, por ejemplo, bytetrack.yaml o botsort.yaml . |
conf |
float |
0.3 |
Establece el umbral de confianza para las detecciones; los valores más bajos permiten rastrear más objetos pero pueden incluir falsos positivos. |
iou |
float |
0.5 |
Establece el umbral de intersección sobre unión (IoU) para filtrar las detecciones solapadas. |
classes |
list |
None |
Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] sólo rastrea las clases especificadas. |
verbose |
bool |
True |
Controla la visualización de los resultados del rastreo, proporcionando una salida visual de los objetos rastreados. |
device |
str |
None |
Especifica el dispositivo para la inferencia (por ejemplo, cpu , cuda:0 o 0 ). Permite a los usuarios seleccionar entre CPU, un GPU específico u otros dispositivos de cálculo para la ejecución del modelo. |
Además, a continuación se enumeran los argumentos de visualización admitidos:
Argumento | Tipo | Por defecto | Descripción |
---|---|---|---|
show |
bool |
False |
Si True muestra las imágenes o vídeos anotados en una ventana. Resulta útil para obtener información visual inmediata durante el desarrollo o las pruebas. |
line_width |
None or int |
None |
Especifica el ancho de línea de los cuadros delimitadores. Si None El ancho de línea se ajusta automáticamente en función del tamaño de la imagen. Proporciona personalización visual para mayor claridad. |
Mapa de calor COLORMAPS
Nombre del mapa de colores | Descripción |
---|---|
cv::COLORMAP_AUTUMN |
Mapa de colores de otoño |
cv::COLORMAP_BONE |
Mapa de color de los huesos |
cv::COLORMAP_JET |
Mapa de colores de los reactores |
cv::COLORMAP_WINTER |
Mapa de colores de invierno |
cv::COLORMAP_RAINBOW |
Mapa de colores del arco iris |
cv::COLORMAP_OCEAN |
Mapa de colores del océano |
cv::COLORMAP_SUMMER |
Mapa de colores del verano |
cv::COLORMAP_SPRING |
Mapa de colores de primavera |
cv::COLORMAP_COOL |
Bonito mapa de colores |
cv::COLORMAP_HSV |
Mapa de color HSV (Tono, Saturación, Valor) |
cv::COLORMAP_PINK |
Mapa de color rosa |
cv::COLORMAP_HOT |
Mapa de colores calientes |
cv::COLORMAP_PARULA |
Mapa de colores de Parula |
cv::COLORMAP_MAGMA |
Mapa de colores del magma |
cv::COLORMAP_INFERNO |
Mapa de colores de Inferno |
cv::COLORMAP_PLASMA |
Mapa de colores del plasma |
cv::COLORMAP_VIRIDIS |
Mapa de colores de Viridis |
cv::COLORMAP_CIVIDIS |
Mapa en color de Cividis |
cv::COLORMAP_TWILIGHT |
Mapa de colores del crepúsculo |
cv::COLORMAP_TWILIGHT_SHIFTED |
Mapa de colores de Crepúsculo desplazado |
cv::COLORMAP_TURBO |
Mapa de colores turbo |
cv::COLORMAP_DEEPGREEN |
Mapa de colores Deep Green |
Estos mapas de colores se utilizan habitualmente para visualizar datos con diferentes representaciones de color.
Cómo funcionan los mapas de calor en Ultralytics YOLO11
La solución Heatmap de Ultralytics YOLO11 amplía la clase ObjectCounter para generar y visualizar patrones de movimiento en secuencias de vídeo. Cuando se inicializa, la solución crea una capa de mapa de calor en blanco que se actualiza a medida que los objetos se mueven por el fotograma.
Para cada objeto detectado, la solución:
- Rastrea el objeto a través de los fotogramas utilizando las capacidades de rastreo de YOLO11.
- Actualiza la intensidad del mapa de calor en la ubicación del objeto
- Aplica un mapa de colores seleccionado para visualizar los valores de intensidad
- Superpone el mapa térmico coloreado sobre el marco original
El resultado es una visualización dinámica que se construye con el tiempo, revelando patrones de tráfico, movimientos de multitudes u otros comportamientos espaciales en sus datos de vídeo.
PREGUNTAS FRECUENTES
¿Cómo genera Ultralytics YOLO11 mapas de calor y cuáles son sus ventajas?
Ultralytics YOLO11 genera mapas de calor transformando datos complejos en una matriz codificada por colores en la que las diferentes tonalidades representan las intensidades de los datos. Los mapas de calor facilitan la visualización de patrones, correlaciones y anomalías en los datos. Los tonos más cálidos indican valores más altos, mientras que los tonos más fríos representan valores más bajos. Las principales ventajas son la visualización intuitiva de la distribución de los datos, la detección eficaz de patrones y la mejora del análisis espacial para la toma de decisiones. Para más detalles y opciones de configuración, consulte la sección Configuración del mapa de calor.
¿Puedo utilizar Ultralytics YOLO11 para realizar el seguimiento de objetos y generar un mapa térmico simultáneamente?
Sí, Ultralytics YOLO11 admite el seguimiento de objetos y la generación de mapas térmicos simultáneamente. Esto puede lograrse a través de su Heatmap
integrada con modelos de seguimiento de objetos. Para ello, es necesario inicializar el objeto heatmap y utilizar las funciones de seguimiento de YOLO11. He aquí un ejemplo sencillo:
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()
Para más información, consulte la página Modo de seguimiento.
¿Qué diferencia a Ultralytics YOLO11 heatmaps de otras herramientas de visualización de datos como las de OpenCV o Matplotlib?
Ultralytics YOLO11 están diseñados específicamente para integrarse con sus modelos de detección y seguimiento de objetos, proporcionando una solución integral para el análisis de datos en tiempo real. A diferencia de las herramientas de visualización genéricas como OpenCV o Matplotlib, los mapas térmicos de YOLO11 están optimizados para el rendimiento y el procesamiento automatizado, y admiten funciones como el seguimiento persistente, el ajuste del factor de decaimiento y la superposición de vídeo en tiempo real. Para más información sobre las características exclusivas de YOLO11, visite Ultralytics YOLO11 Introducción.
¿Cómo puedo visualizar sólo clases específicas de objetos en mapas térmicos utilizando Ultralytics YOLO11 ?
Puede visualizar clases de objetos específicas especificando las clases deseadas en el campo track()
del modelo YOLO . Por ejemplo, si sólo desea visualizar coches y personas (suponiendo que sus índices de clase son 0 y 2), puede establecer el método classes
en consecuencia.
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()
¿Por qué las empresas deberían elegir Ultralytics YOLO11 para la generación de mapas de calor en el análisis de datos?
Ultralytics YOLO11 ofrece una integración perfecta de la detección avanzada de objetos y la generación de mapas térmicos en tiempo real, lo que la convierte en la opción ideal para las empresas que desean visualizar los datos con mayor eficacia. Entre sus principales ventajas se encuentran la visualización intuitiva de la distribución de los datos, la detección eficaz de patrones y la mejora del análisis espacial para una mejor toma de decisiones. Además, las funciones de vanguardia de YOLO11, como el seguimiento persistente, los mapas de colores personalizables y la compatibilidad con varios formatos de exportación, la sitúan por encima de otras herramientas como TensorFlow y OpenCV para el análisis exhaustivo de datos. Más información sobre aplicaciones empresariales en Ultralytics Plans.