Zum Inhalt springen

Workouts Überwachung mit Ultralytics YOLO11

Offene Workouts Überwachung im Colab

Überwachung des Trainings durch Posenschätzung mit Ultralytics YOLO11 verbessert die Trainingsbeurteilung durch genaue Verfolgung wichtiger Körperpunkte und Gelenke in Echtzeit. Diese Technologie bietet sofortiges Feedback zur Trainingsform, verfolgt Trainingsroutinen und misst Leistungskennzahlen, um Trainingseinheiten für Benutzer und Trainer gleichermaßen zu optimieren.



Beobachten: Workouts Überwachung mit Ultralytics YOLO11 | Liegestütze, Klimmzüge, Bauchmuskeltraining

Vorteile der Workout-Überwachung

  • Optimierte Leistung: Maßgeschneidertes Training auf der Grundlage von Überwachungsdaten für bessere Ergebnisse.
  • Erreichen von Zielen: Verfolgen Sie Ihre Fitnessziele und passen Sie sie an, um messbare Fortschritte zu erzielen.
  • Personalisierung: Maßgeschneiderte Trainingspläne auf der Grundlage individueller Daten für mehr Effektivität.
  • Bewusstsein für die Gesundheit: Frühzeitige Erkennung von Mustern, die auf gesundheitliche Probleme oder Übertraining hinweisen.
  • Informierte Entscheidungen: Datengestützte Entscheidungen zur Anpassung von Routinen und zur Festlegung realistischer Ziele.

Anwendungen in der realen Welt

Überwachung der Workouts Überwachung der Workouts
PushUps Zählen PullUps Zählen
PushUps Zählen PullUps Zählen

Überwachung von Trainingseinheiten 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]"
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="yolo11n-pose.pt",  # path to the YOLO11 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

KeyPoints Karte

keyPoints Reihenfolge Ultralytics YOLO11  Pose

AIGym Argumente

Hier ist eine Tabelle mit den AIGym Argumente:

Argument Typ Standard Beschreibung
model str None Pfad zur Ultralytics YOLO .
up_angle float 145.0 Winkelschwelle für die "Aufwärts"-Pose.
down_angle float 90.0 Winkelschwellenwert für die "nach unten" gerichtete Haltung.
kpts list[int, int, int] [6, 8, 10] Liste der Keypoints, die für die Überwachung von Workouts verwendet werden. Diese Keypoints entsprechen Körpergelenken oder -teilen, z. B. 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 Objektverfolgungsparametern:

Argument Typ Standard Beschreibung
tracker str 'botsort.yaml' Gibt den zu verwendenden Verfolgungsalgorithmus an, z. B., bytetrack.yaml oder botsort.yaml.
conf float 0.3 Legt die Konfidenzschwelle für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch zu falsch positiven Ergebnissen führen.
iou float 0.5 Legt den Schwellenwert für die Überschneidung über die Vereinigung (IoU) zum Filtern von überlappenden Erkennungen fest.
classes list None Filtert die Ergebnisse nach Klassenindex. Zum Beispiel, classes=[0, 2, 3] verfolgt nur die angegebenen Klassen.
verbose bool True Steuert die Anzeige der Verfolgungsergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte.
device str None Gibt das Gerät für die Inferenz an (z.B., cpu, cuda:0 oder 0). Ermöglicht dem Benutzer die Auswahl zwischen CPU, einem bestimmten GPU oder anderen Rechengeräten für die Modellausführung.

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

Argument Typ Standard Beschreibung
show bool False Wenn Truezeigt die kommentierten Bilder oder Videos in einem Fenster an. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder des Testens.
line_width None or int None Gibt die Linienbreite von Begrenzungsrahmen an. Wenn Nonewird die Linienbreite automatisch an die Bildgröße angepasst. Bietet visuelle Anpassung für Klarheit.

FAQ

Wie kann ich mein Training mit Ultralytics YOLO11 überwachen?

Um Ihr Training mit Ultralytics YOLO11 zu überwachen, können Sie die Posenschätzungsfunktionen nutzen, um wichtige Körperpunkte und Gelenke in Echtzeit zu verfolgen und zu analysieren. So erhalten Sie sofortiges Feedback zu Ihrer Trainingsform, können Wiederholungen zählen und Leistungskennzahlen messen. Sie können damit beginnen, indem Sie den mitgelieferten Beispielcode für Liegestütze, Klimmzüge oder Bauchmuskeltraining 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 können Sie den Abschnitt AIGym in der Dokumentation lesen.

Welche Vorteile bietet die Verwendung von Ultralytics YOLO11 für die Trainingsüberwachung?

Die Verwendung von Ultralytics YOLO11 zur Trainingsüberwachung bietet mehrere wichtige Vorteile:

  • Optimierte Leistung: Durch die Anpassung des Trainings auf der Grundlage von Überwachungsdaten können Sie bessere Ergebnisse erzielen.
  • Erreichen von Zielen: Einfaches Verfolgen und Anpassen von Fitnesszielen für messbare Fortschritte.
  • Personalisierung: Erhalten Sie maßgeschneiderte Trainingspläne auf der Grundlage Ihrer individuellen Daten für optimale Effektivität.
  • Gesundheitsbewusstsein: Frühzeitige Erkennung von Mustern, die auf mögliche Gesundheitsprobleme oder Übertraining hinweisen.
  • Informierte Entscheidungen: Treffen Sie datengestützte Entscheidungen, um Routinen anzupassen und realistische Ziele zu setzen.

In einem YouTube-Video können Sie diese Vorteile in Aktion sehen.

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

Ultralytics YOLO11 ist dank seiner hochmodernen Posenschätzungsfähigkeiten äußerst präzise bei der Erkennung und Verfolgung von Übungen. Es kann die wichtigsten Körpermerkmale und Gelenke genau verfolgen und liefert so Echtzeit-Feedback zu Trainingsform und Leistungsmetriken. Die vortrainierten Gewichte und die robuste Architektur des Modells gewährleisten eine hohe Präzision und Zuverlässigkeit. Beispiele aus der Praxis finden Sie in der Dokumentation unter " Real-world applications", wo Liegestütze und Klimmzüge gezählt werden.

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

Ja, Ultralytics YOLO11 kann für individuelle Workout-Routinen angepasst werden. Die AIGym Klasse unterstützt verschiedene Posenarten wie pushup, pullupund abworkout. Sie können Eckpunkte 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 Einzelheiten über das Setzen von Argumenten finden Sie in der Argumente AIGym Abschnitt. Diese Flexibilität ermöglicht es Ihnen, verschiedene Übungen zu überwachen und die Routinen an Ihre Bedürfnisse anzupassen. Fitness-Ziele.

Wie kann ich die Ausgabe der Trainingsüberwachung mit Ultralytics YOLO11 speichern?

Um die Ausgabe der Trainingsüberwachung zu speichern, können Sie den Code so ändern, dass er einen Video-Writer enthält, der die verarbeiteten Bilder 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()

Bei dieser Einstellung wird das überwachte Video in eine Ausgabedatei geschrieben, so dass Sie Ihre Trainingsleistung später überprüfen oder sie für zusätzliches Feedback an Trainer weitergeben können.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 5 Tagen

Kommentare