Ultralytics YOLO27:

Descripción general de los conjuntos de datos de seguimiento multiobjeto#

El seguimiento multiobjeto es un componente fundamental del análisis de vídeo, ya que identifica objetos y mantiene identificadores únicos para cada objeto detectado a lo largo de los fotogramas del vídeo. Ultralytics YOLO proporciona potentes funciones de seguimiento que pueden aplicarse a diversos ámbitos, como la videovigilancia, el análisis deportivo y la supervisión del tráfico.

Formato del conjunto de datos#

El modo de seguimiento no entrena un tracker ni requiere un conjunto de datos específico para trackers. Entrena un modelo de detección, segmentación, pose u OBB con el formato de conjunto de datos estándar de esa tarea y, después, usa los pesos resultantes con model.track() o yolo track. El tracker seleccionado asocia las predicciones del modelo entre fotogramas durante la inferencia.

Trackers disponibles#

Ultralytics YOLO admite los siguientes algoritmos de seguimiento:

  • BoT-SORT - Usa botsort.yaml para activar este tracker
  • ByteTrack - Usa bytetrack.yaml para activar este tracker
  • OC-SORT - Usa ocsort.yaml para activar este tracker
  • Deep OC-SORT - Usa deepocsort.yaml para activar este tracker
  • FastTracker - Usa fasttrack.yaml para activar este tracker
  • TrackTrack - Usa tracktrack.yaml para activar este tracker (predeterminado)

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)

Mantener los tracks entre fotogramas#

Para realizar un seguimiento continuo entre los fotogramas del 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#

  • Para usar el seguimiento multiobjeto con Ultralytics YOLO, puedes empezar con los ejemplos de Python o CLI proporcionados. Así puedes 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 usan para seguir objetos en la fuente de vídeo indicada, con umbrales específicos de confianza (conf) y Intersección sobre unión (iou). Para obtener más información, consulta la documentación del modo de seguimiento.

  • Ultralytics YOLO es un modelo de detección de objetos de última generación, conocido por su rendimiento en tiempo real y su elevada precisión. Usar YOLO para el seguimiento multiobjeto ofrece varias ventajas:

    • Seguimiento en tiempo real: consigue un seguimiento eficiente y de alta velocidad, ideal para entornos dinámicos.
    • Flexibilidad con modelos preentrenados: no necesitas entrenar desde cero; solo tienes que usar modelos preentrenados de detección, segmentación, pose u OBB.
    • Facilidad de uso: la sencilla integración de la API con Python y CLI facilita la configuración de pipelines de seguimiento.
    • Documentación amplia y asistencia de la comunidad: Ultralytics ofrece documentación exhaustiva y un foro comunitario activo para solucionar problemas y mejorar tus modelos de seguimiento.

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

  • Sí. Entrena un modelo de detección, segmentación, pose u OBB con tu conjunto de datos personalizado y, después, pasa sus pesos a model.track(). El tracker se ejecuta durante la inferencia y no requiere datos de entrenamiento independientes.

  • Después de ejecutar un trabajo de seguimiento con Ultralytics YOLO, los resultados incluyen varios datos, como los identificadores de los objetos seguidos, sus cuadros delimitadores y las puntuaciones de confianza. A continuación se ofrece una breve descripción de cómo interpretar estos resultados:

    • Identificadores seguidos: a cada objeto se le asigna un identificador único, lo que ayuda a seguirlo entre fotogramas.
    • Cuadros delimitadores: indican la ubicación de los objetos seguidos dentro del fotograma.
    • Puntuaciones de confianza: reflejan la confianza del modelo al detectar el objeto seguido.

    Para obtener instrucciones detalladas sobre cómo interpretar y visualizar estos resultados, consulta la guía de gestión de resultados.

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

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

Comentarios