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.yamlpara activar este tracker - ByteTrack - Usa
bytetrack.yamlpara activar este tracker - OC-SORT - Usa
ocsort.yamlpara activar este tracker - Deep OC-SORT - Usa
deepocsort.yamlpara activar este tracker - FastTracker - Usa
fasttrack.yamlpara activar este tracker - TrackTrack - Usa
tracktrack.yamlpara activar este tracker (predeterminado)
Uso#
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:
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:
Ejemplofrom 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")