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 (próximamente)#
El seguimiento de Ultralytics reutiliza actualmente modelos de detección, segmentación, pose u OBB sin necesidad de un entrenamiento específico para el rastreador. El soporte nativo para el entrenamiento de rastreadores está en desarrollo activo.
Rastreadores disponibles#
Ultralytics YOLO es compatible con los siguientes algoritmos de seguimiento:
- BoT-SORT - Usa
botsort.yamlpara habilitar este rastreador (por defecto) - ByteTrack - Usa
bytetrack.yamlpara habilitar este rastreador - OC-SORT - Usa
ocsort.yamlpara habilitar este rastreador - Deep OC-SORT - Usa
deepocsort.yamlpara habilitar este rastreador - FastTracker - Usa
fasttrack.yamlpara habilitar este rastreador - TrackTrack - Usa
tracktrack.yamlpara habilitar este rastreador
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)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:
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#
¿Cómo utilizo el seguimiento multiobjeto con Ultralytics YOLO?#
Para utilizar el seguimiento multiobjeto con Ultralytics YOLO, puedes empezar empleando los ejemplos de Python o CLI proporcionados. Así es como puedes empezar:
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.
¿Cuáles son las próximas funciones para el entrenamiento de rastreadores en Ultralytics?#
Ultralytics mejora continuamente sus modelos de IA. Una próxima característica permitirá el entrenamiento de rastreadores independientes. Hasta entonces, Multi-Object Detector aprovecha los modelos preentrenados de detección, segmentación, pose u OBB para el seguimiento sin requerir un entrenamiento independiente. Mantente al día siguiendo nuestro blog.
¿Por qué debería utilizar Ultralytics YOLO para el seguimiento multiobjeto?#
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.
¿Puedo utilizar datasets personalizados para el seguimiento multiobjeto con Ultralytics YOLO?#
Sí, puedes utilizar datasets personalizados para el seguimiento multiobjeto con Ultralytics YOLO. Aunque la compatibilidad con el entrenamiento de rastreadores independientes es una función futura, ya puedes utilizar modelos preentrenados en tus propios datasets. 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?#
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.
¿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")