Surveillance des entraînements avec Ultralytics YOLO26
Le suivi des entraînements par estimation de pose avec Ultralytics YOLO26 améliore l'évaluation des exercices en suivant précisément les points clés du corps et les articulations en temps réel. Cette technologie fournit un retour instantané sur la forme d'exécution des exercices, track les routines d'entraînement et mesure les métriques de performance, optimisant ainsi les sessions d'entraînement pour les utilisateurs et les entraîneurs.
Regarder : Comment surveiller les exercices d'entraînement avec Ultralytics YOLO | Squats, extension de jambes, pompes et plus
Avantages de la surveillance des entraînements
- Performances optimisées : Adapter les entraînements en fonction des données de surveillance pour de meilleurs résultats.
- Atteinte des objectifs : Suivez et ajustez 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é accrue.
- Sensibilisation à la santé : Détection précoce des schémas indiquant des problèmes de santé ou un surentraînement.
- Décisions éclairées : Des décisions fondées sur des données pour ajuster les routines et fixer des objectifs réalistes.
Applications concrètes
| Surveillance des entraînements | Surveillance des entraînements |
|---|---|
![]() | ![]() |
| Comptage de pompes | Comptage de tractions |
Surveillance des entraînements à l'aide d'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
Carte des PointsClés

AIGym Arguments
Voici un tableau avec les AIGym arguments :
| Argument | Type | Par défaut | Description |
|---|---|---|---|
model | str | None | Chemin d'accès à un fichier de modèle Ultralytics YOLO. |
up_angle | float | 145.0 | Seuil d'angle pour la pose 'haute'. |
down_angle | float | 90.0 | Seuil d'angle pour la pose 'basse'. |
kpts | list[int] | '[6, 8, 10]' | Liste de trois indices de points clés utilisés pour le suivi des entraînements. Ces points clés correspondent à des articulations ou des parties du corps, telles que les épaules, les coudes et les poignets, pour des exercices comme les pompes, les tractions, les squats et les abdominaux. |
L'argument AIGym la solution prend également en charge une gamme de paramètres de suivi d'objets :
| Argument | Type | Par défaut | Description |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Spécifie l'algorithme de suivi à utiliser, par exemple, bytetrack.yaml ou botsort.yaml. |
conf | float | 0.1 | Définit le seuil de confiance pour les détections ; des valeurs plus basses permettent de suivre plus d'objets, mais peuvent inclure de faux positifs. |
iou | float | 0.7 | Définit le seuil Intersection over Union (IoU) pour filtrer les détections qui se chevauchent. |
classes | list | None | Filtre les résultats par index de classe. Par exemple, classes=[0, 2, 3] suit uniquement les classes spécifiées. |
verbose | bool | True | Contrôle l'affichage des résultats de suivi, fournissant une sortie visuelle des objets suivis. |
device | str | None | Spé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 :
| Argument | Type | Par défaut | Description |
|---|---|---|---|
show | bool | False | Si 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. |
line_width | int or None | None | Spécifie la largeur de ligne des boîtes englobantes. Si None, la largeur de ligne est automatiquement ajustée en fonction de la taille de l'image. Fournit une personnalisation visuelle pour plus de clarté. |
show_conf | bool | True | Affiche 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_labels | bool | True | Affiche les étiquettes pour chaque détection dans la sortie visuelle. Fournit une compréhension immédiate des objets détectés. |
FAQ
Comment surveiller mes entraînements avec Ultralytics YOLO26 ?
Pour suivre vos entraînements avec Ultralytics YOLO26, vous pouvez utiliser les capacités d'estimation de pose pour track et analyser les points clés du corps et les articulations en temps réel. Cela vous permet de recevoir un retour instantané sur votre forme d'exécution, de compter les répétitions et de mesurer les métriques de performance. Vous pouvez commencer par utiliser le code d'exemple fourni pour les pompes, les tractions ou les exercices 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 paramètres, vous pouvez vous référer à la section AIGym de la documentation.
Quels sont les avantages d'utiliser Ultralytics YOLO26 pour la surveillance des entraînements ?
L'utilisation d'Ultralytics YOLO26 pour le suivi des entraînements offre plusieurs avantages clés :
- Performances optimisées : En adaptant les entraînements en fonction des données de surveillance, vous pouvez obtenir de meilleurs résultats.
- Réalisation des objectifs : Suivez et ajustez facilement les objectifs de remise en forme pour des progrès mesurables.
- Personnalisation : Obtenez des plans d'entraînement personnalisés basés sur vos données individuelles pour une efficacité optimale.
- Sensibilisation à la santé : Détection précoce des schémas qui indiquent des problèmes de santé potentiels ou un surentraînement.
- Décisions éclairées : Prenez des décisions fondées sur des données pour ajuster les routines et fixer des objectifs réalistes.
Vous pouvez regarder une démonstration vidéo sur YouTube pour voir ces avantages en action.
Quelle est la précision d'Ultralytics YOLO26 pour detect et track les exercices ?
Ultralytics YOLO26 est très précis dans la detect et le track des exercices grâce à ses capacités d'estimation de pose à la pointe de la technologie. Il peut track avec précision les points clés du corps et les articulations, fournissant un retour en temps réel sur la forme d'exécution des exercices et les métriques de performance. Les poids pré-entraînés et l'architecture robuste du modèle garantissent une précision et une fiabilité élevées. Pour des exemples concrets, consultez la section applications réelles 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é pour des routines d'entraînement personnalisées. Le AIGym la classe prend en charge différents types de pose tels que pushup, pullup, et abworkout. Vous pouvez spécifier des points clés et des angles pour detect 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, consultez Arguments AIGym section. Cette flexibilité vous permet de surveiller divers exercices et de personnaliser les routines en fonction de vos objectifs de fitness.
Comment puis-je enregistrer la sortie de la surveillance des entraînements avec Ultralytics YOLO26 ?
Pour enregistrer la sortie de surveillance de l'entraînement, vous pouvez modifier le code pour inclure un enregistreur vidéo qui sauvegarde les trames 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, ce qui vous permet de revoir vos performances d'entraînement ultérieurement ou de les partager avec des entraîneurs pour obtenir des commentaires supplémentaires.

