Workouts-Überwachung mit Ultralytics YOLO26

Open Workouts Monitoring In Colab

Die Überwachung von Workouts durch Pose Estimation mit Ultralytics YOLO26 verbessert die Übungsbewertung, indem wichtige Körpermerkmale und Gelenke in Echtzeit genau verfolgt werden. Diese Technologie bietet sofortiges Feedback zur Übungsausführung, verfolgt Workout-Routinen und misst Leistungsmetriken, was Trainingseinheiten sowohl für Benutzer als auch für Trainer optimiert.



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

Vorteile der Workouts-Überwachung

  • Optimierte Leistung: Anpassung von Workouts basierend auf Überwachungsdaten für bessere Ergebnisse.
  • Zielerreichung: Fitnessziele verfolgen und anpassen für messbare Fortschritte.
  • Personalisierung: Individuelle Trainingspläne basierend auf persönlichen Daten für maximale Effektivität.
  • Gesundheitsbewusstsein: Früherkennung von Mustern, die auf gesundheitliche Probleme oder Übertraining hinweisen.
  • Fundierte Entscheidungen: Datenbasierte Entscheidungen zur Anpassung von Routinen und zum Setzen realistischer Ziele.

Anwendungen in der Praxis

Workouts-ÜberwachungWorkouts-Überwachung
YOLO Liegestütze zählen mit Pose EstimationYOLO Klimmzüge zählen mit Pose Estimation
Liegestütze zählenKlimmzüge zählen
Workouts-Ü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 Reihenfolgediagramm

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, die zur Überwachung von Workouts verwendet werden. Diese Keypoints entsprechen Körpergelenken oder -teilen, wie Schultern, Ellbogen und Handgelenken, für Übungen wie Liegestütze, Klimmzüge, Kniebeugen und Bauchmuskeltraining.

Die AIGym-Lösung unterstützt auch eine Reihe von Objekt-Tracking-Parametern:

ArgumentTypStandardBeschreibung
trackerstr'botsort.yaml'Legt den zu verwendenden Tracking-Algorithmus fest, z. B. bytetrack.yaml oder botsort.yaml.
conffloat0.1Legt 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 Intersection over Union (IoU) Schwellenwert zum Filtern überlappender Detektionen fest.
classeslistNoneFiltert Ergebnisse nach Klassen-Index. Beispiel: classes=[0, 2, 3] verfolgt nur die angegebenen Klassen.
verboseboolTrueSteuert die Anzeige der Tracking-Ergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte.
devicestrNoneSpezifiziert das Gerät für die Inferenz (z. B. cpu, cuda:0 oder 0). Ermöglicht die Wahl zwischen CPU, einer spezifischen GPU oder anderen Recheneinheiten zur Modellausführung.

Zusätzlich können folgende Visualisierungseinstellungen angewendet werden:

ArgumentTypStandardBeschreibung
showboolFalseWenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für direktes visuelles Feedback während der Entwicklung oder beim Testen.
line_widthint or NoneNoneGibt die Linienbreite der Bounding-Boxen an. Wenn None, wird die Linienbreite automatisch basierend auf der Bildgröße angepasst. Bietet visuelle Anpassung für mehr Klarheit.
show_confboolTrueZeigt den Konfidenzwert für jede Erkennung neben dem Label an. Gibt Aufschluss über die Sicherheit des Modells bei jeder Erkennung.
show_labelsboolTrueZeigt Labels für jede Erkennung in der visuellen Ausgabe an. Bietet unmittelbares Verständnis der erkannten Objekte.

FAQ

Wie überwache ich meine Workouts mit Ultralytics YOLO26?

Um deine Workouts mit Ultralytics YOLO26 zu überwachen, kannst du die Pose Estimation-Funktionen nutzen, um wichtige Körpermerkmale und Gelenke in Echtzeit zu verfolgen und zu analysieren. Dies ermöglicht es dir, sofortiges Feedback zu deiner Übungsausführung zu erhalten, Wiederholungen zu zählen und Leistungsmetriken zu messen. Du kannst mit dem bereitgestellten Beispielcode für Liegestütze, Klimmzüge 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 zu Rate ziehen.

Was sind die Vorteile der Verwendung von Ultralytics YOLO26 für die Workouts-Überwachung?

Die Verwendung von Ultralytics YOLO26 zur Workouts-Überwachung bietet mehrere entscheidende Vorteile:

  • Optimierte Leistung: Durch die Anpassung von Workouts basierend auf Überwachungsdaten kannst du bessere Ergebnisse erzielen.
  • Zielerreichung: Verfolge und passe 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üherkennung von Mustern, die auf mögliche gesundheitliche Probleme oder Übertraining hinweisen.
  • Fundierte Entscheidungen: Triff datenbasierte Entscheidungen, um Routinen anzupassen und realistische Ziele zu setzen.

Du kannst dir ein YouTube-Video-Demonstration ansehen, um diese Vorteile in Aktion zu erleben.

Wie genau ist Ultralytics YOLO26 bei der Erkennung und Verfolgung von Übungen?

Ultralytics YOLO26 ist aufgrund seiner hochmodernen Pose Estimation-Fähigkeiten äußerst genau bei der Erkennung und Verfolgung von Übungen. Es kann wichtige Körpermerkmale und Gelenke präzise erfassen und bietet Echtzeit-Feedback zur Übungsausführung und zu Leistungsmetriken. Die vortrainierten Gewichte und die robuste Architektur des Modells gewährleisten hohe Präzision und Zuverlässigkeit. Für Beispiele aus der Praxis schau dir den Abschnitt Anwendungen in der Praxis in der Dokumentation an, der das Zählen von Liegestützen und Klimmzügen zeigt.

Kann ich Ultralytics YOLO26 für benutzerdefinierte Workout-Routinen verwenden?

Ja, Ultralytics YOLO26 kann an benutzerdefinierte Workout-Routinen angepasst werden. Die AIGym-Klasse unterstützt verschiedene Pose-Typen wie pushup, pullup und abworkout. Du kannst Keypoints und Winkel festlegen, um spezifische Ü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 der Argumente findest du im Abschnitt Argumente AIGym. Diese Flexibilität ermöglicht es dir, verschiedene Übungen zu überwachen und Routinen basierend auf deinen Fitnesszielen anzupassen.

Wie kann ich die Ergebnisse der Workouts-Überwachung mit Ultralytics YOLO26 speichern?

Um die Ergebnisse der Workouts-Überwachung zu speichern, kannst du den Code so modifizieren, 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 Workout-Leistung später überprüfen oder sie für weiteres Feedback mit Trainern teilen kannst.

Kommentare