YOLO Vision 2026:

Mapas de calor de seguimiento de objetos con Ultralytics YOLO26#

Open Heatmaps In Colab

La Heatmap solution en Ultralytics YOLO26 rastrea objetos a través de fotogramas de vídeo y superpone su intensidad de movimiento acumulada en cada fotograma, de modo que las zonas con mucho tráfico brillan en tonos cálidos mientras que las áreas tranquilas se mantienen frías. Construida sobre el object tracking de YOLO26, convierte cualquier vídeo en un mapa de actividad espacial que revela el flujo de tráfico, el movimiento de multitudes y las zonas de permanencia con una sola llamada en Python o comando de CLI.



Watch: Heatmaps using Ultralytics YOLO26

¿Por qué usar mapas de calor para el análisis de vídeo?#

  • Detecta patrones de actividad de un vistazo: La intensidad se acumula donde los objetos rastreados pasan tiempo, por lo que los carriles de mucho tráfico, los estantes populares o los cuellos de botella de multitudes destacan sin necesidad de revisar fotograma a fotograma manualmente.
  • Seguimiento integrado: La solución ejecuta la detección y el seguimiento de YOLO26 internamente, por lo que no hay una canalización de seguimiento separada que configurar.
  • Recuento en la misma pasada: Pasa un region para contar los objetos que entran y salen de una zona mientras se genera el mapa de calor, combinando dos tareas analíticas en una sola ejecución.

Aplicaciones en el mundo real#

TransporteComercio minorista
Superposición de mapa de calor de Ultralytics YOLO que muestra la densidad de tráfico de vehículosSuperposición de mapa de calor de Ultralytics YOLO que muestra el movimiento de clientes en comercios
Mapa de calor de transporte de Ultralytics YOLOMapa de calor minorista de Ultralytics YOLO

Cómo generar mapas de calor con Ultralytics YOLO#

Ejecuta la solución de mapa de calor en 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:

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)]"

Argumentos de Heatmap()#

Aquí tienes una tabla con los argumentos de Heatmap:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo YOLO de Ultralytics.
colormapintcv2.COLORMAP_DEEPGREENMapa de colores a usar para el mapa de calor.
show_inboolTrueFlag para controlar si se muestran los conteos de entrada en la transmisión de vídeo.
show_outboolTrueFlag para controlar si se muestran los conteos de salida en la transmisión de vídeo.
regionlist o dictNonePuntos que definen la región de interés, ya sea una lista de tuplas (x, y) o un diccionario que mapea nombres de regiones a listas de puntos para múltiples regiones (solo RegionCounter). Cuando es None, las soluciones que requieren una región recurren a un valor predeterminado.
line_widthint2Grosor de línea para las cajas, puntos clave y recuentos que dibuja la solución.
verboseboolTrueHabilita el registro por fotograma de la solución sobre la forma de entrada, los recuentos de clases y la velocidad de procesamiento. La llamada de seguimiento en sí siempre es silenciosa.

También puedes aplicar diferentes argumentos de track en la solución Heatmap.

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento que se va a utilizar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Establece el umbral de confianza para las detecciones; valores más bajos permiten el seguimiento de más objetos, pero pueden incluir falsos positivos.
ioufloat0.7Establece el umbral de Intersection over Union (IoU) para filtrar detecciones superpuestas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo realiza el seguimiento de las clases especificadas.
devicestrNoneEspecifica el dispositivo para la inferencia (por ejemplo, cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, una GPU específica u otros dispositivos de computación para la ejecución del modelo.

Además, los argumentos de visualización compatibles se enumeran a continuación:

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi es True, muestra las imágenes o vídeos anotados en una ventana. Es útil para obtener retroalimentación visual inmediata durante el desarrollo o las pruebas.
show_confboolTrueMuestra la puntuación de confianza para cada detección junto a la etiqueta. Proporciona información sobre la certeza del modelo para cada detección.
show_labelsboolTrueMuestra las etiquetas para cada detección en la salida visual. Proporciona una comprensión inmediata de los objetos detectados.

Mapas de colores de mapas de calor#

El argumento colormap acepta cualquier OpenCV colormap. Pasa la constante del módulo cv2, por ejemplo colormap=cv2.COLORMAP_INFERNO:

Nombre del mapa de coloresDescripción
cv2.COLORMAP_AUTUMNMapa de colores Autumn
cv2.COLORMAP_BONEMapa de colores Bone
cv2.COLORMAP_JETMapa de colores Jet
cv2.COLORMAP_WINTERMapa de colores Winter
cv2.COLORMAP_RAINBOWMapa de colores Rainbow
cv2.COLORMAP_OCEANMapa de colores Ocean
cv2.COLORMAP_SUMMERMapa de colores Summer
cv2.COLORMAP_SPRINGMapa de colores Spring
cv2.COLORMAP_COOLMapa de colores Cool
cv2.COLORMAP_HSVMapa de colores HSV (Tono, Saturación, Valor)
cv2.COLORMAP_PINKMapa de colores Pink
cv2.COLORMAP_HOTMapa de colores Hot
cv2.COLORMAP_PARULAMapa de colores Parula
cv2.COLORMAP_MAGMAMapa de colores Magma
cv2.COLORMAP_INFERNOMapa de colores Inferno
cv2.COLORMAP_PLASMAMapa de colores Plasma
cv2.COLORMAP_VIRIDISMapa de colores Viridis
cv2.COLORMAP_CIVIDISMapa de colores Cividis
cv2.COLORMAP_TWILIGHTMapa de colores Twilight
cv2.COLORMAP_TWILIGHT_SHIFTEDMapa de colores Twilight desplazado
cv2.COLORMAP_TURBOMapa de colores Turbo
cv2.COLORMAP_DEEPGREENMapa de colores Deep Green

Cómo funcionan los mapas de calor#

La Heatmap solution 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:

  1. El seguimiento de YOLO26 detecta y sigue a cada objeto en el fotograma
  2. Para cada objeto rastreado, la intensidad del mapa de calor aumenta dentro de una región circular centrada en su cuadro delimitador

Una vez por fotograma, la capa de intensidad acumulada se normaliza, se colorea con el mapa de colores seleccionado y se combina con el fotograma original. La superposición aparece tan pronto como se rastrea al menos un objeto; los fotogramas sin objetos rastreados se muestran sin la superposición del mapa de calor.

El resultado es una visualización dinámica que se acumula con el tiempo, revelando patrones de tráfico, movimientos de multitudes u otros comportamientos espaciales en tus datos de vídeo. Cuando se establece un region, la solución también cuenta objetos que entran y salen de esa región mientras se genera el mapa de calor.

Conclusión#

La solución Ultralytics YOLO26 Heatmap convierte los resultados de 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 object counting, explora otras Ultralytics Solutions o lee sobre el tracking mode subyacente.

FAQ#

  • Ultralytics YOLO26 genera mapas de calor rastreando objetos a través de los fotogramas de vídeo y acumulando un valor de intensidad en la ubicación de cada objeto rastreado; luego, colorea el resultado y lo fusiona con el fotograma original. Las áreas donde los objetos aparecen con frecuencia o se detienen acumulan una mayor intensidad y se renderizan en colores más cálidos. Para ver las opciones de configuración, consulta la sección Heatmap() Arguments.

  • Usa cv2.VideoWriter de OpenCV y escribe results.plot_im para cada fotograma procesado, tal como se muestra en el main example. El atributo plot_im contiene el fotograma con la superposición del mapa de calor ya aplicada.

  • Sí. Pasa un argumento region a Heatmap() con puntos de línea, rectángulo o polígono, y la solución contará los objetos que entran y salen de esa región mientras se genera el mapa de calor. Los resultados devueltos incluyen in_count, out_count y recuentos por clase. Consulta la object counting guide para obtener detalles sobre la configuración de regiones.

  • Pasa el argumento classes a Heatmap() con los índices de clase que deseas conservar. Por ejemplo, classes=[0, 2] genera el mapa de calor únicamente a partir de personas y coches (índices de clase de 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 object detection, seguimiento, acumulación de intensidad y renderizado de superposición en una sola llamada, mientras que las herramientas genéricas como OpenCV o Matplotlib exigen que construyas ese flujo de trabajo por tu cuenta. La solución procesa secuencias de vídeo en tiempo real y admite seguimiento persistente y mapas de calor personalizables de serie. Para obtener detalles sobre el modelo subyacente, consulta la YOLO26 model page.

Comentarios