YOLO Vision 2026 :

Surveillance des entraînements avec Ultralytics YOLO26#

Open Workouts Monitoring In Colab

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



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

Avantages de la surveillance des entraînements#

  • Performance optimisée : Adapter les entraînements en fonction des données de surveillance pour de meilleurs résultats.
  • Atteinte des objectifs : Suivre et ajuster les objectifs de remise en forme pour des progrès mesurables.
  • Personnalisation : Plans d'entraînement personnalisés basés sur des données individuelles pour une efficacité optimale.
  • 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 les routines et fixer des objectifs réalistes.

Applications dans le monde réel#

Surveillance des entraînementsSurveillance des entraînements
YOLO push-ups counting with pose estimationYOLO pull-ups counting with pose estimation
Comptage des pompesComptage des tractions

Surveille tes entraînements avec YOLO26#

La solution AIGym exécute l'estimation de pose et compte les répétitions en mesurant l'angle formé par trois points clés lorsqu'un membre se déplace entre les seuils up_angle et down_angle. Choisis les points clés de l'exercice que tu souhaites suivre avec kpts, puis exécute la solution sur ta vidéo avec l'API Python ou le CLI.

Surveillance 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#

YOLO pose estimation keypoints order diagram

Arguments de AIGym#

Voici un tableau avec les arguments de AIGym :

ArgumentTypeDéfautDescription
modelstrNoneChemin d'accès vers un fichier de modèle YOLO d'Ultralytics.
up_anglefloat145.0Seuil d'angle pour la posture 'vers le haut'.
down_angleint90Seuil d'angle pour la posture 'vers le bas'.
kptslist[int]'[6, 8, 10]'Liste de trois indices de points clés utilisés pour surveiller les exercices physiques. Ces points clés correspondent aux articulations ou 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.
line_widthint2Épaisseur de ligne pour les boîtes, les points clés et les comptes tracés par la solution.
verboseboolTrueActive le journal par trame de la solution concernant la forme d'entrée, les comptes de classes et la vitesse de traitement. L'appel de suivi reste toujours silencieux.

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. Options intégrées : botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Définit le seuil de confiance pour les détections ; des valeurs plus faibles permettent de suivre plus d'objets, mais peuvent inclure des faux positifs.
ioufloat0.7Définit le seuil d'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] ne suit que les classes spécifiées.
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 périphériques 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 pendant le développement ou les tests.
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. Permet une compréhension immédiate des objets détectés.

FAQ#

  • Pour surveiller tes entraînements à l'aide d'Ultralytics YOLO26, tu peux utiliser les capacités d'estimation de pose pour suivre et analyser les points clés du corps et les articulations en temps réel. Cela te permet de recevoir un retour instantané sur ta posture d'exercice, de compter les répétitions et de mesurer les indicateurs de performance. Tu peux commencer par utiliser l'exemple de code fourni pour les pompes, les tractions ou les exercices abdos comme indiqué :

    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 paramètres, tu peux consulter la section AIGym dans la documentation.

  • Utiliser Ultralytics YOLO26 pour la surveillance des entraînements offre plusieurs avantages clés :

    • Performance optimisée : En adaptant les entraînements sur la base des données de surveillance, tu peux obtenir de meilleurs résultats.
    • Atteinte des objectifs : Suis et ajuste facilement tes objectifs de remise en forme pour des progrès mesurables.
    • Personnalisation : Obtiens des plans d'entraînement personnalisés basés sur tes données individuelles pour une efficacité optimale.
    • Conscience de la santé : Détection précoce de 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 vidéo de démonstration sur YouTube pour voir ces avantages en action.

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

  • Oui, Ultralytics YOLO26 peut être adapté à des routines d'entraînement personnalisées. La classe AIGym détecte les répétitions d'exercices à l'aide des arguments up_angle, down_angle et kpts. 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 configuration des arguments, réfère-toi à la section Arguments AIGym. Cette flexibilité te permet de surveiller divers exercices et de personnaliser tes routines en fonction de tes objectifs de forme physique.

  • Pour enregistrer le résultat de la surveillance, 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 surveillée 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 retours supplémentaires.

Commentaires