Visión general de los datasets de seguimiento multiobjeto

El seguimiento multiobjeto es un componente crítico en la analítica de vídeo que identifica objetos y mantiene identificadores únicos para cada objeto detectado a través de los fotogramas del vídeo. Ultralytics YOLO proporciona potentes capacidades de seguimiento que pueden aplicarse a varios dominios, incluyendo la vigilancia, el análisis deportivo y la monitorización del tráfico.

Formato de dataset (disponible próximamente)

El seguimiento de Ultralytics actualmente reutiliza modelos de detección, segmentación o pose sin necesidad de un entrenamiento específico para el rastreador. El soporte nativo para el entrenamiento de rastreadores se encuentra en fase de desarrollo activo.

Rastreadores disponibles

Ultralytics YOLO es compatible con los siguientes algoritmos de seguimiento:

  • BoT-SORT - Usa botsort.yaml para activar este rastreador (predeterminado)
  • ByteTrack - Usa bytetrack.yaml para activar este rastreador

Uso

Ejemplo
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

Persistencia de seguimientos entre fotogramas

Para un seguimiento continuo a través de fotogramas de vídeo, puedes usar el parámetro persist=True:

Ejemplo
import cv2

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo26n.pt")

# Open the video file
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, frame = cap.read()
    if success:
        # Run tracking with persistence between frames
        results = model.track(frame, persist=True)

        # Visualize the results
        annotated_frame = results[0].plot()
        cv2.imshow("Tracking", annotated_frame)

        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

Preguntas frecuentes

¿Cómo utilizo el seguimiento multiobjeto con Ultralytics YOLO?

Para utilizar el seguimiento multiobjeto con Ultralytics YOLO, puedes empezar usando los ejemplos de Python o CLI proporcionados. Aquí tienes cómo empezar:

Ejemplo
from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # Load the YOLO26 model
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

Estos comandos cargan el modelo YOLO26 y lo utilizan para el seguimiento de objetos en la fuente de vídeo indicada con umbrales específicos de confianza (conf) y Intersection over Union (iou). Para obtener más detalles, consulta la documentación del modo de seguimiento.

¿Cuáles son las próximas funciones para el entrenamiento de rastreadores en Ultralytics?

Ultralytics mejora continuamente sus modelos de IA. Una función próxima permitirá el entrenamiento de rastreadores independientes. Hasta entonces, el detector multiobjeto aprovecha modelos preentrenados de detección, segmentación o Pose para el seguimiento sin necesidad de entrenamiento independiente. Mantente al día siguiendo nuestro blog o consultando las próximas funciones.

¿Por qué debería usar Ultralytics YOLO para el seguimiento multiobjeto?

Ultralytics YOLO es un modelo de object detection de vanguardia conocido por su rendimiento en tiempo real y su alta accuracy. Usar YOLO para el seguimiento multiobjeto ofrece varias ventajas:

  • Seguimiento en tiempo real: logra un seguimiento eficiente y de alta velocidad, ideal para entornos dinámicos.
  • Flexibilidad con modelos preentrenados: no hay necesidad de entrenar desde cero; simplemente usa modelos preentrenados de detección, segmentación o Pose.
  • Facilidad de uso: la sencilla integración de la API tanto con Python como con CLI hace que configurar las canalizaciones de seguimiento sea directo.
  • Amplia documentación y soporte comunitario: Ultralytics proporciona una documentación exhaustiva y un foro comunitario activo para solucionar problemas y mejorar tus modelos de seguimiento.

Para obtener más detalles sobre cómo configurar y usar YOLO para el seguimiento, visita nuestra guía de uso de seguimiento.

¿Puedo usar datasets personalizados para el seguimiento multiobjeto con Ultralytics YOLO?

Sí, puedes usar datasets personalizados para el seguimiento multiobjeto con Ultralytics YOLO. Aunque el soporte para el entrenamiento independiente de rastreadores es una función futura, ya puedes usar modelos preentrenados en tus datasets personalizados. Prepara tus datasets en el formato adecuado compatible con YOLO y sigue la documentación para integrarlos.

¿Cómo interpreto los resultados del modelo de seguimiento de Ultralytics YOLO?

Después de ejecutar un trabajo de seguimiento con Ultralytics YOLO, los resultados incluyen varios puntos de datos como identificadores de objetos rastreados, sus cuadros delimitadores y las puntuaciones de confianza. Aquí tienes una breve visión general de cómo interpretar estos resultados:

  • IDs rastreados: a cada objeto se le asigna un identificador único, lo que ayuda a rastrearlo a través de los fotogramas.
  • Cuadros delimitadores: indican la ubicación de los objetos rastreados dentro del fotograma.
  • Puntuaciones de confianza: reflejan la confianza del modelo en la detección del objeto rastreado.

Para obtener una guía detallada sobre la interpretación y visualización de estos resultados, consulta la guía de gestión de resultados.

¿Cómo puedo personalizar la configuración del rastreador?

Puedes personalizar el rastreador creando una versión modificada del archivo de configuración del rastreador. Copia un archivo de configuración de rastreador existente desde ultralytics/cfg/trackers, modifica los parámetros según sea necesario y especifica este archivo al ejecutar el rastreador:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.track(source="video.mp4", tracker="custom_tracker.yaml")

Comentarios