Supervisión de entrenamientos con Ultralytics YOLO26#
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 entrenamientos | Supervisión de entrenamientos |
|---|---|
![]() | ![]() |
| Recuento de flexiones | Recuento 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.
# 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#

Argumentos de AIGym#
Aquí tienes una tabla con los argumentos de AIGym:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
model | str | None | Ruta a un archivo de modelo Ultralytics YOLO. |
up_angle | float | 145.0 | Umbral de ángulo para la pose «arriba». |
down_angle | float | 90.0 | Umbral de ángulo para la pose «abajo». |
kpts | list[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_width | int | 2 | Grosor de línea de los cuadros, puntos clave y recuentos que dibuja la solución. |
verbose | bool | True | Activa 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:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
tracker | str | '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. |
conf | float | 0.25 | Establece el umbral de confianza de las detecciones; los valores más bajos permiten seguir más objetos, pero pueden incluir falsos positivos. |
iou | float | 0.7 | Establece el umbral de intersección sobre unión (IoU) para filtrar las detecciones solapadas. |
classes | list | None | Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo sigue las clases especificadas. |
device | str | None | Especifica 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. |
imgsz | int or tuple | 640 | Tamañ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_det | int | 300 | Nú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. |
quantize | int or str | None | Precisió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:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
show | bool | False | Si 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_labels | bool | True | Muestra 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
AIGymdetecta las repeticiones de ejercicios mediante los argumentosup_angle,down_angleykpts. 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.

