Ultralytics YOLO27:
Get Started

Supervisión de entrenamientos con Ultralytics YOLO26#

Open Workouts Monitoring In Colab

La supervisión de los entrenamientos mediante la estimación de pose con Ultralytics YOLO26 mejora la evaluación de los ejercicios al seguir con precisión puntos de referencia y articulaciones clave del cuerpo en tiempo real. Esta tecnología ofrece comentarios inmediatos sobre la técnica, sigue las rutinas y mide métricas de rendimiento, optimizando las sesiones de entrenamiento tanto para usuarios como para entrenadores.



Ver: Cómo supervisar ejercicios de entrenamiento con Ultralytics YOLO | Sentadillas, extensión de piernas, flexiones y mucho más

Ventajas de supervisar los entrenamientos#

  • Rendimiento optimizado: adapta los entrenamientos en función de los datos de supervisión para obtener mejores resultados.
  • Logro de objetivos: sigue y ajusta los objetivos de forma física para medir el progreso.
  • Personalización: crea planes de entrenamiento personalizados a partir de los datos individuales para mejorar su eficacia.
  • Conciencia sobre la salud: detecta pronto patrones que indiquen problemas de salud o sobreentrenamiento.
  • Decisiones fundamentadas: toma decisiones basadas en datos para ajustar las rutinas y fijar objetivos realistas.

Aplicaciones reales#

Supervisión de entrenamientosSupervisión de entrenamientos
Recuento de flexiones con YOLO mediante estimación de poseRecuento de dominadas con YOLO mediante estimación de pose
Recuento de flexionesRecuento de dominadas

Supervisa entrenamientos con YOLO26#

La solución AIGym realiza estimación de pose y cuenta las repeticiones midiendo el ángulo formado por tres puntos clave cuando una extremidad se mueve entre los umbrales up_angle y down_angle. Selecciona con kpts los puntos clave del ejercicio que quieras seguir y, después, ejecuta la solución en tu vídeo con la API de Python o la CLI.

Supervisión de entrenamientos con Ultralytics YOLO
# Run a workout example
yolo solutions workout show=True

# Pass a source video
yolo solutions workout source="path/to/video.mp4"

# Use keypoints for pushups
yolo solutions workout kpts="[6, 8, 10]"

Mapa de puntos clave#

Diagrama del orden de los puntos clave para la estimación de pose de YOLO

Argumentos de AIGym#

Aquí tienes una tabla con los argumentos de AIGym:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo Ultralytics YOLO.
up_anglefloat145.0Umbral de ángulo para la pose «arriba».
down_anglefloat90.0Umbral de ángulo para la pose «abajo».
kptslist[int][6, 8, 10]Lista de tres índices de puntos clave que se usan para supervisar entrenamientos. Estos puntos clave corresponden a articulaciones o partes del cuerpo, como hombros, codos y muñecas, en ejercicios como flexiones, dominadas, sentadillas y ejercicios abdominales.
line_widthint2Grosor de línea de los cuadros, puntos clave y recuentos que dibuja la solución.
verboseboolTrueActiva el registro por fotograma de la forma de entrada, los recuentos por clase y la velocidad de procesamiento de la solución. La llamada de seguimiento en sí siempre es silenciosa.

La solución AIGym también admite varios parámetros de seguimiento de objetos:

ArgumentoTipoPredeterminadoDescripción
trackerstr'tracktrack.yaml'Especifica el algoritmo de seguimiento que se va a usar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Establece el umbral de confianza de las detecciones; los valores más bajos permiten seguir más objetos, pero pueden incluir falsos positivos.
ioufloat0.7Establece el umbral de intersección sobre unión (IoU) para filtrar las detecciones solapadas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo sigue las clases especificadas.
devicestrNoneEspecifica el dispositivo para la inferencia (p. ej., cpu, cuda:0 o 0). Permite elegir entre CPU, una GPU concreta u otros dispositivos de cálculo para ejecutar el modelo.
imgszint or tuple640Tamaño de imagen de destino para la inferencia: un entero para una imagen cuadrada o una pareja (height, width). Las dimensiones se ajustan al stride del modelo.
max_detint300Número máximo de detecciones que se conservan por fotograma antes del seguimiento, lo que limita los objetos que procesa una solución en escenas densas.
quantizeint or strNonePrecisión de inferencia: 16 (FP16) o 32/unset (FP32) para los modelos PyTorch y TorchScript fuera de CPU; los demás formatos usan la precisión que seleccionen el artefacto y el entorno de ejecución. Sustituye al argumento obsoleto half.

Además, se pueden aplicar los siguientes ajustes de visualización:

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi True, muestra las imágenes o los vídeos anotados en una ventana. Es útil para obtener información visual inmediata durante el desarrollo o las pruebas.
show_labelsboolTrueMuestra etiquetas para cada detección en la salida visual. Facilita la identificación inmediata de los objetos detectados.

Preguntas frecuentes#

  • Para supervisar tus entrenamientos con Ultralytics YOLO26, puedes aprovechar las funciones de estimación de pose para seguir y analizar en tiempo real los puntos de referencia y las articulaciones clave del cuerpo. Así recibirás comentarios inmediatos sobre la técnica, podrás contar repeticiones y medir métricas de rendimiento. Puedes empezar con el código de ejemplo proporcionado para hacer flexiones, dominadas o ejercicios de abdominales, como se muestra a continuación:

    import cv2
    
    from ultralytics import solutions
    
    cap = cv2.VideoCapture("path/to/video.mp4")
    assert cap.isOpened(), "Error reading video file"
    w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
    
    gym = solutions.AIGym(
        line_width=2,
        show=True,
        kpts=[6, 8, 10],
    )
    
    while cap.isOpened():
        success, im0 = cap.read()
        if not success:
            print("Video frame is empty or processing is complete.")
            break
        results = gym(im0)
    
    cap.release()
    cv2.destroyAllWindows()

    Para personalizarlo y consultar los ajustes, visita la sección AIGym de la documentación.

  • Usar Ultralytics YOLO26 para supervisar entrenamientos ofrece varias ventajas clave:

    • Rendimiento optimizado: al adaptar los entrenamientos en función de los datos de supervisión, puedes obtener mejores resultados.
    • Logro de objetivos: sigue y ajusta fácilmente tus objetivos de forma física para medir el progreso.
    • Personalización: obtén planes de entrenamiento personalizados basados en tus datos para lograr la máxima eficacia.
    • Conciencia sobre la salud: detecta pronto patrones que indiquen posibles problemas de salud o sobreentrenamiento.
    • Decisiones fundamentadas: toma decisiones basadas en datos para ajustar las rutinas y fijar objetivos realistas.

    Puedes ver una demostración en vídeo en YouTube para comprobar estas ventajas en acción.

  • Ultralytics YOLO26 detecta y sigue los ejercicios con gran precisión gracias a sus capacidades de estimación de pose de vanguardia. Puede seguir con precisión puntos de referencia y articulaciones clave del cuerpo, y ofrecer comentarios en tiempo real sobre la técnica y las métricas de rendimiento. Los pesos preentrenados del modelo y su arquitectura robusta garantizan una gran precisión y fiabilidad. Para ver ejemplos reales, consulta la sección de aplicaciones en el mundo real de la documentación, donde se muestra el recuento de flexiones y dominadas.

  • Sí, puedes adaptar Ultralytics YOLO26 a rutinas de entrenamiento personalizadas. La clase AIGym detecta las repeticiones de ejercicios mediante los argumentos up_angle, down_angle y kpts. Puedes especificar puntos clave y ángulos para detectar ejercicios concretos. Aquí tienes un ejemplo de configuración:

    from ultralytics import solutions
    
    gym = solutions.AIGym(
        line_width=2,
        show=True,
        kpts=[6, 8, 10],  # Para flexiones; se puede personalizar para otros ejercicios
    )

    Para obtener más información sobre cómo configurar los argumentos, consulta la sección Argumentos AIGym. Esta flexibilidad te permite supervisar distintos ejercicios y personalizar las rutinas según tus objetivos de forma física.

  • Para guardar los resultados de la supervisión de entrenamientos, puedes modificar el código e incluir un escritor de vídeo que guarde los fotogramas procesados. Aquí tienes un ejemplo:

    import cv2
    
    from ultralytics import solutions
    
    cap = cv2.VideoCapture("path/to/video.mp4")
    assert cap.isOpened(), "Error reading video file"
    w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
    
    video_writer = cv2.VideoWriter("workouts.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
    
    gym = solutions.AIGym(
        line_width=2,
        show=True,
        kpts=[6, 8, 10],
    )
    
    while cap.isOpened():
        success, im0 = cap.read()
        if not success:
            print("Video frame is empty or processing is complete.")
            break
        results = gym(im0)
        video_writer.write(results.plot_im)
    
    cap.release()
    video_writer.release()
    cv2.destroyAllWindows()

    Esta configuración guarda el vídeo supervisado en un archivo de salida, para que puedas revisar más tarde tu rendimiento durante el entrenamiento o compartirlo con entrenadores para recibir comentarios adicionales.

Comentarios