Monitorización de Entrenamientos utilizando Ultralytics YOLO26
El monitoreo de ejercicios mediante la estimación de pose con Ultralytics YOLO26 mejora la evaluación del ejercicio al track con precisión los puntos clave del cuerpo y las articulaciones en tiempo real. Esta tecnología proporciona retroalimentación instantánea sobre la forma del ejercicio, track las rutinas de entrenamiento y mide las métricas de rendimiento, optimizando las sesiones de entrenamiento tanto para usuarios como para entrenadores.
Ver: Cómo monitorizar ejercicios de entrenamiento con Ultralytics YOLO | Sentadillas, extensión de piernas, flexiones y más
Ventajas de la Monitorización de Entrenamientos
- Rendimiento optimizado: Adaptación de los entrenamientos según los datos de monitoreo para obtener mejores resultados.
- Logro de objetivos: Realiza un seguimiento y ajusta los objetivos de fitness para lograr un progreso medible.
- Personalización: Planes de entrenamiento personalizados basados en datos individuales para una mayor eficacia.
- Conciencia sobre 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 metas realistas.
Aplicaciones en el mundo real
| Monitoreo de entrenamientos | Monitoreo de entrenamientos |
|---|---|
![]() | ![]() |
| Conteo de flexiones | Conteo de dominadas |
Monitoreo 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]"
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
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_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init AIGym
gym = solutions.AIGym(
show=True, # display the frame
kpts=[6, 8, 10], # keypoints for monitoring specific exercise, by default it's for pushup
model="yolo26n-pose.pt", # path to the YOLO26 pose estimation model file
# line_width=2, # adjust the line width for bounding boxes and text display
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = gym(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
Mapa de Puntos Clave

AIGym Argumentos
Aquí tiene una tabla con el AIGym argumentos:
| 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 utilizados para la monitorización de entrenamientos. Estos puntos clave corresponden a articulaciones o partes del cuerpo, como hombros, codos y muñecas, para ejercicios como flexiones, dominadas, sentadillas y abdominales. |
El AIGym la solución también admite una variedad de parámetros de seguimiento de objetos:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Especifica el algoritmo de seguimiento a utilizar, p. ej., bytetrack.yaml o botsort.yaml. |
conf | float | 0.1 | Establece el umbral de confianza para las detecciones; los valores más bajos permiten rastrear más objetos, pero pueden incluir falsos positivos. |
iou | float | 0.7 | Establece el umbral de Intersección sobre Unión (IoU) para filtrar detecciones superpuestas. |
classes | list | None | Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo rastrea las clases especificadas. |
verbose | bool | True | Controla la visualización de los resultados del seguimiento, proporcionando una salida visual de los objetos rastreados. |
device | str | None | Especifica 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 cálculo para la ejecución del modelo. |
Adicionalmente, se pueden aplicar los siguientes ajustes de visualización:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
show | bool | False | Si True, muestra las imágenes o vídeos anotados en una ventana. Útil para obtener información visual inmediata durante el desarrollo o las pruebas. |
line_width | int or None | None | Especifica el ancho de línea de los cuadros delimitadores. Si None, el ancho de línea se ajusta automáticamente en función del tamaño de la imagen. Proporciona personalización visual para mayor claridad. |
show_conf | bool | True | Muestra la puntuación de confianza para cada detección junto con la etiqueta. Ofrece información sobre la certeza del modelo para cada detección. |
show_labels | bool | True | Muestra etiquetas para cada detección en la salida visual. Proporciona una comprensión inmediata de los objetos detectados. |
Preguntas frecuentes
¿Cómo monitorizo mis entrenamientos utilizando Ultralytics YOLO26?
Para monitorear sus ejercicios usando Ultralytics YOLO26, puede utilizar las capacidades de estimación de pose para track y analizar los puntos clave del cuerpo y las articulaciones en tiempo real. Esto le permite recibir retroalimentación instantánea sobre su forma de ejercicio, contar repeticiones y medir métricas de rendimiento. Puede comenzar utilizando el código de ejemplo proporcionado para flexiones, dominadas o ejercicios abdominales, 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 obtener más información sobre la personalización y la configuración, puedes consultar la sección AIGym en la documentación.
¿Cuáles son los beneficios de usar Ultralytics YOLO26 para la monitorización de entrenamientos?
El uso de Ultralytics YOLO26 para el monitoreo de ejercicios ofrece varios beneficios clave:
- Rendimiento optimizado: Al adaptar los entrenamientos según los datos de monitoreo, puede lograr mejores resultados.
- Logro de objetivos: Rastree y ajuste fácilmente los objetivos de acondicionamiento físico para un progreso medible.
- Personalización: Obtenga planes de entrenamiento personalizados basados en sus datos individuales para una eficacia óptima.
- Conciencia sobre la salud: Detección temprana de patrones que indican posibles problemas de salud o sobreentrenamiento.
- Decisiones informadas: Tome decisiones basadas en datos para ajustar rutinas y establecer metas realistas.
Puedes ver una demostración en vídeo de YouTube para ver estos beneficios en acción.
¿Qué tan preciso es Ultralytics YOLO26 en la detección y el track de ejercicios?
Ultralytics YOLO26 es altamente preciso en la detección y el track de ejercicios gracias a sus capacidades de estimación de pose de última generación. Puede track con precisión los puntos clave del cuerpo y las articulaciones, proporcionando retroalimentació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 ejemplos del mundo real, consulte la sección de aplicaciones del mundo real en la documentación, que muestra el conteo de flexiones y dominadas.
¿Puedo usar Ultralytics YOLO26 para rutinas de ejercicio personalizadas?
Sí, Ultralytics YOLO26 se puede adaptar para rutinas de ejercicio personalizadas. El AIGym La clase admite diferentes tipos de pose, como pushup, pullup, y abworkout. Puedes especificar puntos clave y ángulos para detect 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 cómo configurar los argumentos, consulta la Argumentos AIGym sección. Esta flexibilidad te permite supervisar varios ejercicios y personalizar rutinas según tus objetivos de fitness.
¿Cómo puedo guardar la salida del monitoreo de ejercicios usando Ultralytics YOLO26?
Para guardar la salida del monitoreo del entrenamiento, puedes modificar el código para incluir un escritor de video 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 video supervisado en un archivo de salida, lo que le permite revisar su rendimiento de entrenamiento más tarde o compartirlo con los entrenadores para obtener comentarios adicionales.

