YOLO Vision 2026:

Trainingsüberwachung mit Ultralytics YOLO26#

Open Workouts Monitoring In Colab

Das Überwachen von Workouts durch Pose Estimation mit Ultralytics YOLO26 verbessert die Trainingsanalyse, indem wichtige Körpermerkmale und Gelenke in Echtzeit präzise erfasst werden. Diese Technologie liefert sofortiges Feedback zur Ausführung, verfolgt Trainingsroutinen und misst Leistungsmetriken, wodurch Trainingseinheiten für Trainierende und Trainer gleichermaßen optimiert werden.



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

Vorteile der Trainingsüberwachung#

  • Optimierte Leistung: Anpassung von Trainingseinheiten basierend auf Überwachungsdaten für bessere Ergebnisse.
  • Zielerreichung: Fitnessziele verfolgen und anpassen für messbaren Fortschritt.
  • Personalisierung: Maßgeschneiderte Trainingspläne basierend auf individuellen Daten für mehr Effektivität.
  • Gesundheitsbewusstsein: Frühzeitige Erkennung von Mustern, die auf gesundheitliche Probleme oder Übertraining hindeuten.
  • Fundierte Entscheidungen: Datengestützte Entscheidungen zur Anpassung von Abläufen und zur Festlegung realistischer Ziele.

Praxisanwendungen#

TrainingsüberwachungTrainingsüberwachung
YOLO push-ups counting with pose estimationYOLO pull-ups counting with pose estimation
Liegestütze zählenKlimmzüge zählen

Überwache Workouts mit YOLO26#

Die AIGym-Lösung führt Pose Estimation aus und zählt Wiederholungen, indem sie den Winkel misst, den drei Keypoints bilden, während sich eine Gliedmaße zwischen den Schwellenwerten up_angle und down_angle bewegt. Wähle die Keypoints für die Übung, die du verfolgen möchtest, mit kpts aus und führe die Lösung dann über die Python API oder das CLI auf deinem Video aus.

Trainingsüberwachung mit 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]"

KeyPoints-Karte#

YOLO pose estimation keypoints order diagram

AIGym-Argumente#

Hier ist eine Tabelle mit den AIGym-Argumenten:

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics YOLO-Modelldatei.
up_anglefloat145.0Winkelschwellenwert für die 'up'-Pose.
down_angleint90Winkelschwellenwert für die 'down'-Pose.
kptslist[int]'[6, 8, 10]'Liste von drei Keypoint-Indizes für die Workout-Überwachung. Diese entsprechen Körpergelenken oder Teilen wie Schultern, Ellbogen und Handgelenken für Übungen wie Liegestütze, Klimmzüge, Kniebeugen und Bauchmuskeltraining.
line_widthint2Linienstärke für die Boxen, Keypoints und Zählungen, die die Lösung zeichnet.
verboseboolTrueAktiviert das pro-Frame-Protokoll der Lösung für Eingabeform, Klassenzahlen und Verarbeitungsgeschwindigkeit. Der Tracking-Aufruf selbst verläuft immer im Hintergrund.

Die AIGym-Lösung unterstützt zudem eine Reihe von Object Tracking-Parametern:

ArgumentTypStandardBeschreibung
trackerstr'botsort.yaml'Gibt den zu verwendenden Tracking-Algorithmus an. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Legt den Konfidenz-Schwellenwert für Detektionen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber zu falsch-positiven Ergebnissen führen.
ioufloat0.7Legt den Schwellenwert für die Intersection over Union (IoU) zum Filtern überlappender Detektionen fest.
classeslistNoneFiltert Ergebnisse nach Klassenindex. Zum Beispiel verfolgt classes=[0, 2, 3] nur die angegebenen Klassen.
devicestrNoneGibt das Gerät für die Inferenz an (z. B. cpu, cuda:0 oder 0). Ermöglicht Benutzern die Auswahl zwischen CPU, einer spezifischen GPU oder anderen Rechengeräten für die Modellausführung.

Zusätzlich können die folgenden Visualisierungseinstellungen angewendet werden:

ArgumentTypStandardBeschreibung
showboolFalseFalls True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für unmittelbares visuelles Feedback während der Entwicklung oder des Testens.
show_confboolTrueZeigt den Konfidenzwert für jede Erkennung neben dem Label an. Bietet Einblick in die Gewissheit des Modells für jede Erkennung.
show_labelsboolTrueZeigt Labels für jede Erkennung in der visuellen Ausgabe an. Ermöglicht ein sofortiges Verständnis der erkannten Objekte.

FAQ#

  • Um deine Workouts mit Ultralytics YOLO26 zu überwachen, kannst du die Funktionen zur Pose Estimation nutzen, um wichtige Körpermerkmale und Gelenke in Echtzeit zu verfolgen und zu analysieren. So erhältst du sofortiges Feedback zu deiner Übungsausführung, zählst Wiederholungen und misst Leistungsmetriken. Du kannst mit dem bereitgestellten Beispielcode für Liegestütze (Push-ups), Klimmzüge (Pull-ups) oder Bauchmuskeltraining beginnen, wie hier gezeigt:

    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 heranziehen.

  • Die Nutzung von Ultralytics YOLO26 zur Trainingsüberwachung bietet mehrere wesentliche Vorteile:

    • Optimierte Leistung: Durch die Anpassung deines Trainings basierend auf Überwachungsdaten erzielst du bessere Ergebnisse.
    • Zielerreichung: Verfolge und passe deine Fitnessziele einfach an, um messbare Fortschritte zu erzielen.
    • Personalisierung: Erhalte maßgeschneiderte Trainingspläne basierend auf deinen individuellen Daten für optimale Effektivität.
    • Gesundheitsbewusstsein: Frühzeitige Erkennung von Mustern, die auf mögliche gesundheitliche Probleme oder Übertraining hindeuten.
    • Fundierte Entscheidungen: Triff datengestützte Entscheidungen, um deine Abläufe anzupassen und realistische Ziele zu setzen.

    Du kannst dir eine YouTube-Videodemonstration ansehen, um diese Vorteile in der Praxis zu erleben.

  • Ultralytics YOLO26 ist dank seiner hochmodernen Pose Estimation-Funktionen äußerst präzise bei der Erkennung und Verfolgung von Übungen. Es kann wichtige Körpermerkmale und Gelenke exakt verfolgen und liefert Echtzeit-Feedback zu Übungsausführung und Leistungsmetriken. Die vortrainierten Gewichte des Modells und die robuste Architektur gewährleisten eine hohe Präzision und Zuverlässigkeit. Beispiele aus der Praxis findest du im Abschnitt Anwendungen in der Praxis in der Dokumentation, der das Zählen von Liegestützen und Klimmzügen zeigt.

  • Ja, Ultralytics YOLO26 kann für benutzerdefinierte Trainingsroutinen angepasst werden. Die AIGym-Klasse erkennt Übungswiederholungen mithilfe der Argumente up_angle, down_angle und kpts. Du kannst Keypoints und Winkel angeben, um bestimmte Übungen zu erkennen. Hier ist ein Beispiel-Setup:

    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 Details zum Festlegen von Argumenten findest du im Abschnitt Argumente AIGym. Diese Flexibilität ermöglicht es dir, verschiedene Übungen zu überwachen und Routinen an deine Fitnessziele anzupassen.

  • Um die Ergebnisse der Trainingsüberwachung zu speichern, kannst du den Code so anpassen, dass ein Video-Writer enthalten ist, der die verarbeiteten Frames 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()

    Dieses Setup schreibt das überwachte Video in eine Ausgabedatei, sodass du deine Trainingsleistung später überprüfen oder sie mit Trainern teilen kannst, um zusätzliches Feedback zu erhalten.

Kommentare