Skip to main content

TrackZone usando Ultralytics YOLO26

Open TrackZone In Colab

¿Qué es TrackZone?

TrackZone se especializa en monitorizar objetos dentro de áreas designadas de un fotograma en lugar de la imagen completa. Construido sobre Ultralytics YOLO26, integra la detección y el seguimiento de objetos específicamente dentro de zonas para vídeos y flujos de cámara en directo. Los algoritmos avanzados de YOLO26 y las tecnologías deep learning lo convierten en una elección perfecta para casos de uso en tiempo real, ofreciendo un seguimiento de objetos preciso y eficiente en aplicaciones como la monitorización de multitudes y la vigilancia.



Watch: How to Track Objects in Region using Ultralytics YOLO26 | TrackZone 🚀

Ventajas del seguimiento de objetos en zonas (TrackZone)

  • Análisis dirigido: El seguimiento de objetos dentro de zonas específicas permite obtener información más focalizada, facilitando una monitorización y un análisis precisos de las áreas de interés, como puntos de entrada o zonas restringidas.
  • Eficiencia mejorada: Al limitar el ámbito de seguimiento a zonas definidas, TrackZone reduce la carga computacional, garantizando un procesamiento más rápido y un rendimiento óptimo.
  • Seguridad mejorada: El seguimiento zonal mejora la vigilancia mediante la monitorización de áreas críticas, ayudando a la detección temprana de actividades inusuales o brechas de seguridad.
  • Soluciones escalables: La capacidad de centrarse en zonas específicas hace que TrackZone sea adaptable a diversos escenarios, desde espacios comerciales hasta entornos industriales, garantizando una integración perfecta y escalabilidad.

Aplicaciones en el mundo real

AgriculturaTransporte
Seguimiento de plantas en campo usando Ultralytics YOLO26Seguimiento de vehículos en carretera usando Ultralytics YOLO26
Seguimiento de plantas en campo usando Ultralytics YOLO26Seguimiento de vehículos en carretera usando Ultralytics YOLO26
TrackZone usando Ultralytics YOLO
# Run a trackzone example
yolo solutions trackzone show=True

# Pass a source video
yolo solutions trackzone source="path/to/video.mp4" show=True

# Pass region coordinates
yolo solutions trackzone show=True region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"

TrackZone depende de la lista region para saber qué parte del fotograma monitorizar. Define el polígono para que coincida con la zona física que te interesa (puertas, entradas, etc.) y mantén show=True habilitado durante la configuración para que puedas verificar que la superposición se alinea con el flujo de vídeo.

TrackZone Argumentos

Aquí tienes una tabla con los argumentos de TrackZone:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Lista de puntos que definen la región de conteo.

La solución TrackZone incluye soporte para parámetros track:

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento a utilizar, p. ej., bytetrack.yaml o botsort.yaml.
conffloat0.1Establece 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 Intersection over Union Umbral de (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.
verboseboolTrueControla la visualización de los resultados de seguimiento, proporcionando una salida visual de los objetos rastreados.
devicestrNoneEspecifica el dispositivo para la inferencia (p. ej., cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, una GPU específica u otros dispositivos de cálculo para la ejecución del modelo.

Además, están disponibles las siguientes opciones de visualización:

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi True, muestra las imágenes o vídeos anotados en una ventana. Útil para una retroalimentación visual inmediata durante el desarrollo o las pruebas.
line_widthint or NoneNoneEspecifica el grosor de línea de las cajas delimitadoras. Si None, el grosor de línea se ajusta automáticamente en función del tamaño de la imagen. Proporciona personalización visual para mayor claridad.
show_confboolTrueMuestra la puntuación de confianza de cada detección junto a la etiqueta. Ofrece 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.

Preguntas frecuentes

¿Cómo sigo objetos en un área o zona específica de un fotograma de vídeo usando Ultralytics YOLO26?

Seguir objetos en un área o zona definida de un fotograma de vídeo es sencillo con Ultralytics YOLO26. Simplemente usa el comando proporcionado a continuación para iniciar el seguimiento. Este enfoque garantiza un análisis eficiente y resultados precisos, haciéndolo ideal para aplicaciones como vigilancia, gestión de multitudes o cualquier escenario que requiera seguimiento zonal.

yolo solutions trackzone source="path/to/video.mp4" show=True

¿Cómo puedo usar TrackZone en Python con Ultralytics YOLO26?

Con solo unas pocas líneas de código, puedes configurar el seguimiento de objetos en zonas específicas, facilitando su integración en tus proyectos.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init trackzone (object tracking in zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = trackzone(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

¿Cómo configuro los puntos de zona para el procesamiento de vídeo usando Ultralytics TrackZone?

Configurar los puntos de zona para el procesamiento de vídeo con Ultralytics TrackZone es sencillo y personalizable. Puedes definir y ajustar directamente las zonas a través de un script de Python, permitiendo un control preciso sobre las áreas que deseas monitorizar.

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Initialize trackzone
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
)

Comentarios