Mapas de calor del seguimiento de objetos con Ultralytics YOLO26#
La solución Heatmap de Ultralytics YOLO26 sigue objetos a lo largo de los fotogramas de vídeo y superpone en cada fotograma la intensidad acumulada de sus movimientos, de modo que las zonas concurridas brillan en colores cálidos y las zonas tranquilas se mantienen en tonos fríos. Basada en el seguimiento de objetos de YOLO26, convierte cualquier vídeo en un mapa de actividad espacial que revela el flujo del tráfico, el movimiento de las multitudes y las zonas de permanencia con una sola llamada a Python o un comando de CLI.
Ver: Cómo crear mapas de calor con Ultralytics YOLO26 | Visualiza la actividad de los objetos | VisionAI en el comercio 🚀
¿Por qué utilizar mapas de calor para analizar vídeos?#
- Detecta patrones de actividad de un vistazo: La intensidad se acumula allí donde los objetos seguidos pasan tiempo, por lo que destacan los carriles con mucho tráfico, las estanterías más populares o los puntos de congestión de las multitudes, sin tener que revisar manualmente cada fotograma.
- Seguimiento integrado: La solución ejecuta internamente la detección y el seguimiento de YOLO26, por lo que no hace falta configurar un proceso de seguimiento aparte.
- Recuento en la misma ejecución: Pasa un
regionpara contar los objetos que entran y salen de una zona mientras se genera el mapa de calor y combinar así dos tareas de analítica en una sola ejecución.
Aplicaciones reales#
| Transporte | Comercio minorista |
|---|---|
![]() | ![]() |
| Mapa de calor de transporte de Ultralytics YOLO | Mapa de calor del comercio minorista de Ultralytics YOLO |
Cómo generar mapas de calor con Ultralytics YOLO#
Ejecuta la solución Heatmap sobre una fuente de vídeo desde la CLI o Python. El ejemplo de Python escribe los fotogramas procesados en un archivo de vídeo de salida:
# 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)]"Argumentos de Heatmap()#
Aquí tienes una tabla con los argumentos de Heatmap:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
model | str | None | Ruta a un archivo de modelo Ultralytics YOLO. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mapa de colores que se usa para el mapa de calor. |
show_in | bool | True | Indicador que controla si se muestran los recuentos de entradas en la secuencia de vídeo. |
show_out | bool | True | Indicador que controla si se muestran los recuentos de salidas en la secuencia de vídeo. |
region | list o dict | None | Puntos que definen la región de interés, ya sea una lista de tuplas (x, y) o un diccionario que asigna nombres de región a listas de puntos para varias regiones (solo RegionCounter). Si None, las soluciones que requieren una región usan una región predeterminada predefinida. |
line_width | int | 2 | Grosor de línea de los cuadros, puntos clave y recuentos que dibuja la solución. |
verbose | bool | True | Activa el registro por fotograma de la forma de entrada, los recuentos por clase y la velocidad de procesamiento de la solución. La llamada de seguimiento en sí siempre es silenciosa. |
También puedes aplicar distintos argumentos de track en la solución Heatmap.
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Especifica el algoritmo de seguimiento que se va a usar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Establece el umbral de confianza de las detecciones; los valores más bajos permiten seguir más objetos, pero pueden incluir falsos positivos. |
iou | float | 0.7 | 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] solo sigue las clases especificadas. |
device | str | None | Especifica el dispositivo para la inferencia (p. ej., cpu, cuda:0 o 0). Permite elegir entre CPU, una GPU concreta u otros dispositivos de cálculo para ejecutar el modelo. |
imgsz | int or tuple | 640 | Tamaño de imagen de destino para la inferencia: un entero para una imagen cuadrada o una pareja (height, width). Las dimensiones se ajustan al stride del modelo. |
max_det | int | 300 | Número máximo de detecciones que se conservan por fotograma antes del seguimiento, lo que limita los objetos que procesa una solución en escenas densas. |
quantize | int or str | None | Precisión de inferencia: 16 (FP16) o 32/sin definir (FP32) para modelos de PyTorch y TorchScript; los demás formatos calculan con la precisión que determinen su artefacto y su entorno de ejecución. Sustituye a la opción obsoleta half. |
Además, a continuación se indican los argumentos de visualización admitidos:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
show | bool | False | Si True, muestra las imágenes o los vídeos anotados en una ventana. Es útil para obtener información visual inmediata durante el desarrollo o las pruebas. |
show_conf | bool | True | Muestra la puntuación de confianza de cada detección junto a su etiqueta. Permite conocer el grado de certeza del modelo para cada detección. |
show_labels | bool | True | Muestra etiquetas para cada detección en la salida visual. Facilita la identificación inmediata de los objetos detectados. |
Mapas de colores de mapas de calor#
El argumento colormap acepta cualquier mapa de colores de OpenCV. Pasa la constante del módulo cv2, por ejemplo, colormap=cv2.COLORMAP_INFERNO:
| Nombre del mapa de colores | Descripción |
|---|---|
cv2.COLORMAP_AUTUMN | Mapa de colores otoñales |
cv2.COLORMAP_BONE | Mapa de colores óseo |
cv2.COLORMAP_JET | Mapa de colores Jet |
cv2.COLORMAP_WINTER | Mapa de colores Winter |
cv2.COLORMAP_RAINBOW | Mapa de colores Rainbow |
cv2.COLORMAP_OCEAN | Mapa de colores Ocean |
cv2.COLORMAP_SUMMER | Mapa de colores Summer |
cv2.COLORMAP_SPRING | Mapa de colores Spring |
cv2.COLORMAP_COOL | Mapa de colores Cool |
cv2.COLORMAP_HSV | Mapa de colores HSV (tono, saturación, valor) |
cv2.COLORMAP_PINK | Mapa de colores Pink |
cv2.COLORMAP_HOT | Mapa de colores Hot |
cv2.COLORMAP_PARULA | Mapa de colores Parula |
cv2.COLORMAP_MAGMA | Mapa de colores Magma |
cv2.COLORMAP_INFERNO | Mapa de colores Inferno |
cv2.COLORMAP_PLASMA | Mapa de colores Plasma |
cv2.COLORMAP_VIRIDIS | Mapa de colores Viridis |
cv2.COLORMAP_CIVIDIS | Mapa de colores Cividis |
cv2.COLORMAP_TWILIGHT | Mapa de colores Twilight |
cv2.COLORMAP_TWILIGHT_SHIFTED | Mapa de colores Twilight desplazado |
cv2.COLORMAP_TURBO | Mapa de colores Turbo |
cv2.COLORMAP_DEEPGREEN | Mapa de colores Deep Green |
Cómo funcionan los mapas de calor#
La solución de mapas de calor amplía la clase ObjectCounter. En el primer fotograma procesado, crea una capa de intensidad en blanco que coincide con el tamaño del fotograma. A continuación, cada fotograma se procesa en dos pasos:
- El seguimiento de YOLO26 detecta y sigue todos los objetos del fotograma
- Para cada objeto seguido, la intensidad del mapa de calor aumenta en una región circular centrada en su cuadro delimitador
Una vez por fotograma, se normaliza la capa de intensidad acumulada, se colorea con el mapa de colores seleccionado y se combina con el fotograma original. La superposición aparece cuando se ha seguido al menos un objeto; hasta entonces, los fotogramas se muestran sin la superposición del mapa de calor.
El resultado es una visualización dinámica que se va formando con el tiempo y revela patrones de tráfico, movimientos de multitudes u otros comportamientos espaciales en los datos de vídeo. Cuando se establece un region, la solución también cuenta los objetos que entran y salen de esa región mientras se genera el mapa de calor.
Conclusión#
La solución de mapas de calor de Ultralytics YOLO26 convierte los resultados del seguimiento de objetos en una superposición de actividad intuitiva con unas pocas líneas de código. Para ir más allá, combínala con el recuento de objetos, explora las demás soluciones de Ultralytics o lee sobre el modo de seguimiento subyacente.
Preguntas frecuentes#
Ultralytics YOLO26 genera mapas de calor siguiendo objetos a través de los fotogramas del vídeo y acumulando un valor de intensidad en la ubicación de cada objeto seguido; después, colorea el resultado y lo combina con el fotograma original. Las zonas en las que los objetos aparecen con frecuencia o permanecen durante más tiempo acumulan una intensidad mayor y se representan con colores más cálidos. Consulta la sección
Heatmap()Argumentos para ver las opciones de configuración.Usa
cv2.VideoWriterde OpenCV y escriberesults.plot_impara cada fotograma procesado, tal como se muestra en el ejemplo principal. El atributoplot_imcontiene el fotograma con la superposición del mapa de calor ya aplicada.Sí. Pasa un argumento
regionaHeatmap()con puntos de línea, rectángulo o polígono, y la solución contará los objetos que entren y salgan de esa región mientras se genera el mapa de calor. Los resultados devueltos incluyenin_count,out_county los recuentos por clase. Consulta la guía de recuento de objetos para obtener más información sobre la configuración de regiones.Pasa el argumento
classesaHeatmap()con los índices de las clases que quieras conservar. Por ejemplo,classes=[0, 2]genera el mapa de calor solo a partir de personas y coches (índices de clase COCO 0 y 2):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()Los mapas de calor de Ultralytics YOLO26 integran la detección de objetos, el seguimiento, la acumulación de intensidad y la representación de la superposición en una sola llamada, mientras que las herramientas genéricas como OpenCV o Matplotlib requieren que construyas esa canalización por tu cuenta. La solución procesa flujos de vídeo en tiempo real y admite de serie el seguimiento persistente y mapas de colores personalizables. Para obtener más información sobre el modelo subyacente, consulta la página del modelo YOLO26.

