YOLO Vision 2026:

Monitorización de entrenamientos usando Ultralytics YOLO26#

Open Workouts Monitoring In Colab

La monitorización de entrenamientos mediante la estimación de poses con Ultralytics YOLO26 mejora la evaluación de los ejercicios al realizar un seguimiento preciso de los puntos de referencia clave del cuerpo y las articulaciones en tiempo real. Esta tecnología proporciona información instantánea sobre la postura al hacer ejercicio, registra las rutinas de entrenamiento y mide métricas de rendimiento, optimizando las sesiones de entrenamiento tanto para usuarios como para entrenadores.



Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More

Ventajas de la monitorización de entrenamientos#

  • Rendimiento optimizado: Adapta los entrenamientos basándote en los datos de monitorización para obtener mejores resultados.
  • Logro de objetivos: Realiza un seguimiento y ajusta los objetivos de fitness para un progreso medible.
  • Personalización: Planes de entrenamiento personalizados basados en datos individuales para mayor eficacia.
  • Conciencia de la salud: Detección temprana de patrones que indican problemas de salud o sobreentrenamiento.
  • Decisiones informadas: Decisiones basadas en datos para ajustar rutinas y establecer objetivos realistas.

Aplicaciones en el mundo real#

Monitorización de entrenamientosMonitorización de entrenamientos
YOLO push-ups counting with pose estimationYOLO pull-ups counting with pose estimation
Cuenta de flexionesCuenta de dominadas

Monitoriza tus entrenamientos con YOLO26#

La solución AIGym ejecuta la estimación de poses y cuenta las repeticiones midiendo el ángulo formado por tres puntos clave a medida que una extremidad se mueve entre los umbrales up_angle y down_angle. Selecciona los puntos clave para el ejercicio que deseas monitorizar con kpts, y luego ejecuta la solución en tu vídeo con la API de Python o la CLI.

Monitorización de entrenamientos usando 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#

YOLO pose estimation keypoints order diagram

Argumentos de AIGym#

Aquí tienes una tabla con los argumentos de AIGym:

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

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

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento que se va a utilizar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Establece el umbral de confianza para las detecciones; valores más bajos permiten el seguimiento de más objetos, pero pueden incluir falsos positivos.
ioufloat0.7Establece el umbral de Intersection over Union (IoU) para filtrar detecciones superpuestas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo realiza el seguimiento de las clases especificadas.
devicestrNoneEspecifica el dispositivo para la inferencia (por ejemplo, cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, una GPU específica u otros dispositivos de computación para la ejecución del modelo.

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

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi es True, muestra las imágenes o vídeos anotados en una ventana. Es útil para obtener retroalimentación visual inmediata durante el desarrollo o las pruebas.
show_confboolTrueMuestra la puntuación de confianza para cada detección junto a la etiqueta. Proporciona información sobre la certeza del modelo para cada detección.
show_labelsboolTrueMuestra las etiquetas para cada detección en la salida visual. Proporciona una comprensión inmediata de los objetos detectados.

FAQ#

  • Para monitorizar tus entrenamientos usando Ultralytics YOLO26, puedes utilizar las capacidades de estimación de poses para rastrear y analizar los puntos de referencia clave del cuerpo y las articulaciones en tiempo real. Esto te permite recibir información instantánea sobre tu postura al hacer ejercicio, contar repeticiones y medir métricas de rendimiento. Puedes empezar utilizando el código de ejemplo proporcionado para flexiones, dominadas o ejercicios abdominales tal como se muestra:

    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)
    
    cv2.destroyAllWindows()

    Para más personalización y ajustes, puedes consultar la sección AIGym en la documentación.

  • Usar Ultralytics YOLO26 para la monitorización de entrenamientos proporciona varios beneficios clave:

    • Rendimiento optimizado: Al adaptar los entrenamientos basándote en los datos de monitorización, puedes obtener mejores resultados.
    • Logro de objetivos: Realiza un seguimiento y ajusta fácilmente los objetivos de fitness para un progreso medible.
    • Personalización: Obtén planes de entrenamiento personalizados basados en tus datos individuales para una eficacia óptima.
    • Conciencia de la salud: Detección temprana de patrones que indican posibles problemas de salud o sobreentrenamiento.
    • Decisiones informadas: Toma decisiones basadas en datos para ajustar rutinas y establecer objetivos realistas.

    Puedes ver una demostración en vídeo de YouTube para ver estos beneficios en acción.

  • Ultralytics YOLO26 es sumamente preciso en la detección y el seguimiento de ejercicios debido a sus capacidades de estimación de poses de última generación. Puede rastrear con precisión los puntos de referencia clave del cuerpo y las articulaciones, proporcionando información en tiempo real sobre la postura en el ejercicio y las métricas de rendimiento. Los pesos preentrenados del modelo y su robusta arquitectura garantizan una gran precisión y fiabilidad. Para ver ejemplos del mundo real, consulta la sección de aplicaciones del mundo real en la documentación, que muestra el recuento de flexiones y dominadas.

  • Sí, Ultralytics YOLO26 se puede adaptar para rutinas de entrenamiento personalizadas. La clase AIGym detecta las repeticiones de los ejercicios utilizando los argumentos up_angle, down_angle y kpts. Puedes especificar puntos clave y ángulos para detectar ejercicios específicos. Aquí tienes una configuración de ejemplo:

    from ultralytics import solutions
    
    gym = solutions.AIGym(
        line_width=2,
        show=True,
        kpts=[6, 8, 10],  # For pushups - can be customized for other exercises
    )

    Para obtener más detalles sobre la configuración de argumentos, consulta la sección Argumentos AIGym. Esta flexibilidad te permite monitorizar varios ejercicios y personalizar rutinas según tus objetivos de fitness.

  • Para guardar el resultado de la monitorización, puedes modificar el código para 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 escribe el vídeo monitorizado en un archivo de salida, lo que te permite revisar tu rendimiento de entrenamiento más tarde o compartirlo con entrenadores para obtener información adicional.

Comentarios