Suivi des entraînements avec Ultralytics YOLO26

Ouvrir le suivi des entraînements dans Colab

Le suivi des entraînements par l'estimation de pose avec Ultralytics YOLO26 améliore l'évaluation des exercices en suivant précisément les principaux points de repère et articulations du corps en temps réel. Cette technologie fournit un retour instantané sur la forme physique, suit les routines d'entraînement et mesure les indicateurs de performance, optimisant ainsi les séances pour les utilisateurs comme pour les entraîneurs.



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

Avantages du suivi des entraînements

  • Performance optimisée : Adapter les entraînements en fonction des données de suivi pour de meilleurs résultats.
  • Atteinte des objectifs : Suivre et ajuster tes objectifs de fitness pour des progrès mesurables.
  • Personnalisation : Des programmes d'entraînement personnalisés basés sur tes données individuelles pour plus d'efficacité.
  • Conscience de la santé : Détection précoce de modèles indiquant des problèmes de santé ou un surentraînement.
  • Décisions éclairées : Décisions basées sur les données pour ajuster tes routines et fixer des objectifs réalistes.

Applications dans le monde réel

Suivi des entraînementsSuivi des entraînements
Compte de pompes YOLO avec estimation de poseCompte de tractions YOLO avec estimation de pose
Compte de pompesCompte de tractions
Suivi des entraînements avec 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]"

Carte des points clés

Diagramme de l'ordre des points clés de l'estimation de pose YOLO

Arguments de AIGym

Voici un tableau avec les arguments de AIGym :

ArgumentTypeDéfautDescription
modelstrNoneChemin d'accès vers un fichier de modèle Ultralytics YOLO.
up_anglefloat145.0Seuil d'angle pour la pose 'vers le haut'.
down_angleint90Seuil d'angle pour la pose 'vers le bas'.
kptslist[int]'[6, 8, 10]'Liste de trois indices de points clés utilisés pour surveiller les entraînements. Ces points clés correspondent aux articulations ou aux parties du corps, comme les épaules, les coudes et les poignets, pour des exercices tels que les pompes, les tractions, les squats et les abdominaux.

La solution AIGym prend également en charge une gamme de paramètres de suivi d'objets :

ArgumentTypeDéfautDescription
trackerstr'botsort.yaml'Spécifie l'algorithme de suivi à utiliser, par exemple bytetrack.yaml ou botsort.yaml.
conffloat0.1Définit le seuil de confiance pour les détections ; des valeurs plus basses permettent de suivre davantage d'objets mais peuvent inclure des faux positifs.
ioufloat0.7Définit le seuil Intersection over Union (IoU) pour filtrer les détections qui se chevauchent.
classeslistNoneFiltre les résultats par index de classe. Par exemple, classes=[0, 2, 3] suit uniquement les classes spécifiées.
verboseboolTrueContrôle l'affichage des résultats de suivi, fournissant une sortie visuelle des objets suivis.
devicestrNoneSpécifie le périphérique pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet aux utilisateurs de choisir entre le CPU, un GPU spécifique ou d'autres dispositifs de calcul pour l'exécution du modèle.

De plus, les paramètres de visualisation suivants peuvent être appliqués :

ArgumentTypeDéfautDescription
showboolFalseSi True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour visuel immédiat lors du développement ou des tests.
line_widthint or NoneNoneSpécifie l'épaisseur de ligne des boîtes englobantes. Si None, l'épaisseur de ligne est automatiquement ajustée en fonction de la taille de l'image. Fournit une personnalisation visuelle pour plus de clarté.
show_confboolTrueAffiche le score de confiance pour chaque détection à côté de l'étiquette. Donne un aperçu de la certitude du modèle pour chaque détection.
show_labelsboolTrueAffiche les étiquettes pour chaque détection dans la sortie visuelle. Fournit une compréhension immédiate des objets détectés.

FAQ

Comment puis-je suivre mes entraînements avec Ultralytics YOLO26 ?

Pour suivre tes entraînements avec Ultralytics YOLO26, tu peux utiliser les capacités d'estimation de pose pour suivre et analyser les points de repère et les articulations du corps en temps réel. Cela te permet de recevoir un retour instantané sur ta forme physique, de compter les répétitions et de mesurer tes indicateurs de performance. Tu peux commencer en utilisant l'exemple de code fourni pour les pompes, les tractions ou les exercices d'abdominaux comme illustré :

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()

Pour plus de personnalisation et de réglages, tu peux consulter la section AIGym dans la documentation.

Quels sont les avantages d'utiliser Ultralytics YOLO26 pour le suivi des entraînements ?

L'utilisation d'Ultralytics YOLO26 pour le suivi des entraînements offre plusieurs avantages clés :

  • Performance optimisée : En adaptant les entraînements en fonction des données de suivi, tu peux obtenir de meilleurs résultats.
  • Atteinte des objectifs : Suis et ajuste facilement tes objectifs de fitness pour des progrès mesurables.
  • Personnalisation : Obtiens des programmes d'entraînement personnalisés basés sur tes données individuelles pour une efficacité optimale.
  • Conscience de la santé : Détection précoce des modèles indiquant des problèmes de santé potentiels ou un surentraînement.
  • Décisions éclairées : Prends des décisions basées sur les données pour ajuster tes routines et fixer des objectifs réalistes.

Tu peux regarder une démonstration vidéo sur YouTube pour voir ces avantages en action.

Quelle est la précision d'Ultralytics YOLO26 pour détecter et suivre les exercices ?

Ultralytics YOLO26 est extrêmement précis pour détecter et suivre les exercices grâce à ses capacités de pointe en estimation de pose. Il peut suivre avec précision les points de repère et les articulations du corps, fournissant un retour en temps réel sur la forme physique et les indicateurs de performance. Les poids pré-entraînés et l'architecture robuste du modèle assurent une précision et une fiabilité élevées. Pour des exemples concrets, consulte la section applications concrètes de la documentation, qui présente le comptage des pompes et des tractions.

Puis-je utiliser Ultralytics YOLO26 pour des routines d'entraînement personnalisées ?

Oui, Ultralytics YOLO26 peut être adapté à des routines d'entraînement personnalisées. La classe AIGym prend en charge différents types de poses tels que pushup, pullup et abworkout. Tu peux spécifier des points clés et des angles pour détecter des exercices spécifiques. Voici un exemple de configuration :

from ultralytics import solutions

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

Pour plus de détails sur la définition des arguments, réfère-toi à la section Arguments AIGym. Cette flexibilité te permet de suivre divers exercices et de personnaliser tes routines en fonction de tes objectifs de fitness.

Comment puis-je enregistrer le résultat du suivi des entraînements avec Ultralytics YOLO26 ?

Pour enregistrer le résultat du suivi des entraînements, tu peux modifier le code pour inclure un enregistreur vidéo qui sauvegarde les images traitées. Voici un exemple :

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()

Cette configuration écrit la vidéo suivie dans un fichier de sortie, te permettant de revoir tes performances d'entraînement plus tard ou de les partager avec des entraîneurs pour obtenir des commentaires supplémentaires.

Commentaires