Meet YOLO26: next-gen vision AI.

Link to this sectionMonitorización de entrenamientos usando Ultralytics YOLO26#

Abrir monitorización de entrenamientos en Colab

La monitorización de entrenamientos mediante la estimación de poses con Ultralytics YOLO26 mejora la evaluación del ejercicio al rastrear con precisión los puntos de referencia y las articulaciones clave del cuerpo en tiempo real. Esta tecnología proporciona información instantánea sobre la forma física, realiza un seguimiento de 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

Link to this sectionVentajas 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.

Link to this sectionAplicaciones en el mundo real#

Monitorización de entrenamientosMonitorización de entrenamientos
Cuenta de flexiones con YOLO mediante estimación de posesCuenta de dominadas con YOLO mediante estimación de poses
Cuenta de flexionesCuenta de dominadas
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]"

Link to this sectionMapa de puntos clave#

Diagrama del orden de puntos clave de la estimación de poses de YOLO

Link to this sectionArgumentos 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.

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

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento a utilizar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1Establece 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 rastrea las clases especificadas.
verboseboolTrueControla la visualización de los resultados de seguimiento, proporcionando una salida visual de los objetos rastreados.
devicestrNoneEspecifica el dispositivo para la inferencia (p. ej., 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. Útil para una retroalimentación visual inmediata durante el desarrollo o las pruebas.
line_widthint or NoneNoneEspecifica el ancho de línea de los cuadros delimitadores. Si es None, el ancho de línea se ajusta automáticamente según el tamaño de la imagen. Proporciona personalización visual para mayor claridad.
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.

Link to this sectionFAQ#

Link to this section¿Cómo monitorizo mis entrenamientos usando Ultralytics YOLO26?#

Para monitorizar tus entrenamientos usando Ultralytics YOLO26, puedes utilizar las capacidades de estimación de poses para rastrear y analizar puntos de referencia y articulaciones clave del cuerpo en tiempo real. Esto te permite recibir información instantánea sobre tu forma al hacer ejercicio, contar repeticiones y medir métricas de rendimiento. Puedes empezar usando el código de ejemplo proporcionado para flexiones, dominadas o ejercicios 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)

cv2.destroyAllWindows()

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

Link to this section¿Cuáles son los beneficios de usar Ultralytics YOLO26 para la monitorización de entrenamientos?#

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.

Link to this section¿Qué tan preciso es Ultralytics YOLO26 en la detección y seguimiento de ejercicios?#

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

Link to this section¿Puedo usar Ultralytics YOLO26 para rutinas de entrenamiento personalizadas?#

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

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 basadas en tus objetivos de fitness.

Link to this section¿Cómo puedo guardar el resultado de la monitorización de entrenamientos usando Ultralytics YOLO26?#

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