Trainingseinheiten überwachen mit Ultralytics YOLO26#
Die Überwachung von Trainingseinheiten durch Posenschätzung mit Ultralytics YOLO26 verbessert die Trainingsanalyse, indem wichtige Körperlandmarken und Gelenke in Echtzeit präzise verfolgt werden. Diese Technologie liefert sofortiges Feedback zur Übungsausführung, verfolgt Trainingsabläufe und misst Leistungskennzahlen, wodurch Trainingseinheiten für Nutzer und Trainer gleichermaßen optimiert werden.
Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More
Vorteile der Überwachung von Trainingseinheiten#
- Optimierte Leistung: Trainingseinheiten auf Grundlage der Überwachungsdaten anpassen, um bessere Ergebnisse zu erzielen.
- Zielerreichung: Fitnessziele verfolgen und anpassen, um messbare Fortschritte zu erzielen.
- Personalisierung: Individuell angepasste Trainingspläne auf Grundlage persönlicher Daten für eine höhere Wirksamkeit.
- Gesundheitsbewusstsein: Früherkennung von Mustern, die auf gesundheitliche Probleme oder Übertraining hindeuten.
- Fundierte Entscheidungen: Datenbasierte Entscheidungen zum Anpassen von Trainingsabläufen und Festlegen realistischer Ziele.
Anwendungen in der Praxis#
| Trainingseinheiten überwachen | Trainingseinheiten überwachen |
|---|---|
![]() | ![]() |
| Liegestütze zählen | Klimmzüge zählen |
Trainingseinheiten mit YOLO26 überwachen#
Die Lösung AIGym führt eine Posenschätzung durch und zählt Wiederholungen, indem sie den Winkel misst, der von drei wichtigen Schlüsselpunkten gebildet wird, während sich ein Körperteil zwischen den Schwellenwerten up_angle und down_angle bewegt. Wähle mit kpts die Schlüsselpunkte für die zu überwachende Übung aus und führe die Lösung anschließend mit der Python-API oder der CLI über dein Video aus.
# 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]"Karte der Schlüsselpunkte#

Argumente von AIGym#
Hier ist eine Tabelle mit den Argumenten von AIGym:
| Argument | Typ | Standardwert | Beschreibung |
|---|---|---|---|
model | str | None | Pfad zu einer YOLO-Modell-Datei von Ultralytics. |
up_angle | float | 145.0 | Winkelschwellenwert für die „Aufwärts“-Pose. |
down_angle | int | 90 | Winkelschwellenwert für die „Abwärts“-Pose. |
kpts | list[int] | '[6, 8, 10]' | Liste mit drei Keypoint-Indizes zur Überwachung von Trainingseinheiten. Diese Keypoints entsprechen Körpergelenken oder -teilen wie Schultern, Ellbogen und Handgelenken für Übungen wie Liegestütze, Klimmzüge, Kniebeugen und Bauchmuskelübungen. |
line_width | int | 2 | Linienstärke für die von der Lösung gezeichneten Boxen, Keypoints und Zählwerte. |
verbose | bool | True | Aktiviert das Protokoll der Lösung pro Frame mit Eingabeform, Klassenanzahlen und Verarbeitungsgeschwindigkeit. Der Tracking-Aufruf selbst bleibt immer ohne Ausgabe. |
Die Lösung AIGym unterstützt außerdem eine Reihe von Parametern für die Objektverfolgung:
| Argument | Typ | Standardwert | Beschreibung |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Gibt den zu verwendenden Tracking-Algorithmus an. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Legt den Konfidenzschwellenwert für Erkennungen fest. Niedrigere Werte ermöglichen das Verfolgen weiterer Objekte, können aber Fehlalarme einschließen. |
iou | float | 0.7 | Legt den Schwellenwert für Intersection over Union (IoU) zum Filtern überlappender Erkennungen fest. |
classes | list | None | Filtert Ergebnisse nach Klassenindex. Beispielsweise verfolgt classes=[0, 2, 3] nur die angegebenen Klassen. |
device | str | None | Gibt das Gerät für die Inferenz an (z. B. cpu, cuda:0 oder 0). Ermöglicht die Auswahl zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten für die Modellausführung. |
imgsz | int or tuple | 640 | Ziel-Inferenzbildgröße: eine ganze Zahl für ein quadratisches Bild oder ein (height, width)-Paar. Die Formate werden an die Modellschrittweite angepasst. |
max_det | int | 300 | Maximale Anzahl pro Frame beibehaltener Detektionen vor dem Tracking, wodurch die Objekte begrenzt werden, die eine Solution in dichten Szenen verarbeitet. |
quantize | int or str | None | Inferenzpräzision: 16 (FP16) oder 32/nicht gesetzt (FP32) für PyTorch- und TorchScript-Modelle; andere Formate berechnen mit der Präzision, die ihr Artefakt und ihre Laufzeit auswählen. Ersetzt das veraltete half-Flag. |
Zusätzlich können die folgenden Einstellungen für die Visualisierung angewendet werden:
| Argument | Typ | Standardwert | Beschreibung |
|---|---|---|---|
show | bool | False | Wenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Dies ist nützlich für unmittelbares visuelles Feedback während der Entwicklung oder des Testens. |
show_conf | bool | True | Zeigt neben dem Label den Konfidenzwert für jede Erkennung an. Dadurch erhältst du Einblick in die Sicherheit des Modells bei jeder Erkennung. |
show_labels | bool | True | Zeigt Labels für jede Erkennung in der visuellen Ausgabe an. Dies ermöglicht ein unmittelbares Verständnis der erkannten Objekte. |
FAQ#
Um deine Trainingseinheiten mit Ultralytics YOLO26 zu überwachen, kannst du die Funktionen zur Posenschätzung nutzen, um wichtige Körperlandmarken und Gelenke in Echtzeit zu verfolgen und zu analysieren. So erhältst du sofortiges Feedback zu deiner Übungsausführung, kannst Wiederholungen zählen und Leistungskennzahlen messen. Du kannst zunächst den bereitgestellten Beispielcode für Liegestütze, Klimmzüge oder Bauchmuskelübungen wie folgt verwenden:
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()Für weitere Anpassungen und Einstellungen kannst du den Abschnitt AIGym in der Dokumentation konsultieren.
Die Verwendung von Ultralytics YOLO26 zur Überwachung von Trainingseinheiten bietet mehrere wichtige Vorteile:
- Optimierte Leistung: Indem du Trainingseinheiten auf Grundlage der Überwachungsdaten anpasst, kannst du bessere Ergebnisse erzielen.
- Zielerreichung: Fitnessziele einfach verfolgen und anpassen, um messbare Fortschritte zu erzielen.
- Personalisierung: Individuell auf deine Daten zugeschnittene Trainingspläne für eine optimale Wirksamkeit erhalten.
- Gesundheitsbewusstsein: Früherkennung von Mustern, die auf mögliche gesundheitliche Probleme oder Übertraining hindeuten.
- Fundierte Entscheidungen: Datenbasierte Entscheidungen treffen, um Trainingsabläufe anzupassen und realistische Ziele festzulegen.
Du kannst dir eine YouTube-Videodemonstration ansehen, um diese Vorteile in der Praxis zu erleben.
Ultralytics YOLO26 erkennt und verfolgt Übungen dank seiner hochmodernen Posenschätzungsfunktionen äußerst präzise. Das Modell kann wichtige Körperlandmarken und Gelenke genau verfolgen und liefert Echtzeit-Feedback zur Übungsausführung und zu Leistungskennzahlen. Die vortrainierten Gewichte und die robuste Architektur des Modells gewährleisten eine hohe Präzision und Zuverlässigkeit. Beispiele aus der Praxis findest du im Abschnitt Anwendungen aus der Praxis der Dokumentation, der das Zählen von Liegestützen und Klimmzügen zeigt.
Ja, Ultralytics YOLO26 kann an individuelle Trainingsabläufe angepasst werden. Die Klasse
AIGymerkennt Übungswiederholungen mithilfe der Argumenteup_angle,down_angleundkpts. Du kannst Schlüsselpunkte und Winkel angeben, um bestimmte Übungen zu erkennen. Hier ist ein Beispiel für die Einrichtung:from ultralytics import solutions gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], # For pushups - can be customized for other exercises )Weitere Informationen zum Festlegen von Argumenten findest du im Abschnitt Argumente
AIGym. Diese Flexibilität ermöglicht es dir, verschiedene Übungen zu überwachen und Trainingsabläufe auf Grundlage deiner Fitnessziele anzupassen.Um die Ausgabe der Trainingsüberwachung zu speichern, kannst du den Code so ändern, dass ein Videowriter die verarbeiteten Einzelbilder speichert. Hier ist ein Beispiel:
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()Diese Einrichtung schreibt das überwachte Video in eine Ausgabedatei. So kannst du deine Trainingsleistung später überprüfen oder das Video zur zusätzlichen Rückmeldung mit Trainern teilen.

