YOLO Vision 2026:

Descripción general de los datasets de seguimiento multiobjeto#

El seguimiento multiobjeto es un componente fundamental en el análisis 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 ofrece potentes capacidades de seguimiento que pueden aplicarse a diversos ámbitos, como la vigilancia, el análisis deportivo y la monitorización del tráfico.

Formato de dataset#

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

Rastreadores disponibles#

Ultralytics YOLO es compatible con los siguientes algoritmos de seguimiento:

  • BoT-SORT - Usa botsort.yaml para habilitar este rastreador
  • ByteTrack - Usa bytetrack.yaml para habilitar este rastreador
  • OC-SORT - Usa ocsort.yaml para habilitar este rastreador
  • Deep OC-SORT - Usa deepocsort.yaml para habilitar este rastreador
  • FastTracker - Usa fasttrack.yaml para habilitar este rastreador
  • TrackTrack - Usa tracktrack.yaml para habilitar este rastreador (por defecto)

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 los fotogramas de vídeo, puedes utilizar 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()

FAQ#

  • Para utilizar el seguimiento multiobjeto con Ultralytics YOLO, puedes empezar empleando los ejemplos de Python o CLI proporcionados. Así es como 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 utilizan para realizar el seguimiento de objetos en la fuente de vídeo proporcionada con umbrales específicos de confianza (conf) y Intersection over Union (iou). Para más detalles, consulta la documentación del modo track.

  • Ultralytics YOLO es un modelo de object detection de última generación conocido por su rendimiento en tiempo real y su alta accuracy. El uso de YOLO para el seguimiento de múltiples objetos 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 es necesario entrenar desde cero; simplemente utiliza modelos preentrenados de detección, segmentación, pose u OBB.
    • Facilidad de uso: La integración sencilla de la API tanto con Python como con la CLI hace que la configuración de los pipelines de seguimiento sea directa.
    • Documentación extensa y apoyo de la comunidad: 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 utilizar YOLO para el seguimiento, visita nuestra guía de uso del modo track.

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

  • Tras ejecutar una tarea de seguimiento con Ultralytics YOLO, los resultados incluyen varios puntos de datos, como los identificadores de los objetos rastreados, sus cuadros delimitadores (bounding boxes) y las puntuaciones de confianza. Aquí tienes una breve descripción de cómo interpretar estos resultados:

    • Identificadores rastreados (Tracked IDs): A cada objeto se le asigna un identificador único, lo que ayuda a realizar su seguimiento a través de los fotogramas.
    • Cuadros delimitadores (Bounding boxes): Indican la ubicación de los objetos rastreados dentro del fotograma.
    • Puntuaciones de confianza (Confidence scores): Reflejan la confianza del modelo en la detección del objeto rastreado.

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

  • 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