İçeriğe geç

Antrenman İzleme kullanarak Ultralytics YOLO11

Colab'da Açık Egzersiz İzleme

ile poz tahmini yoluyla antrenmanların izlenmesi Ultralytics YOLO11 vücudun önemli noktalarını ve eklemleri gerçek zamanlı olarak doğru bir şekilde takip ederek egzersiz değerlendirmesini geliştirir. Bu teknoloji egzersiz formu hakkında anında geri bildirim sağlar, egzersiz rutinlerini izler ve performans ölçümlerini yaparak hem kullanıcılar hem de eğitmenler için egzersiz seanslarını optimize eder.



İzle: Ultralytics YOLO11 | Şınav, Barfiks, Ab Egzersizleri Kullanılarak İzlenen Egzersizler

Antrenman Takibinin Avantajları

  • Optimize Edilmiş Performans: Daha iyi sonuçlar için antrenmanları izleme verilerine göre uyarlama.
  • Hedef Başarısı: Ölçülebilir ilerleme için fitness hedeflerini takip edin ve ayarlayın.
  • Kişiselleştirme: Etkinlik için bireysel verilere dayalı özelleştirilmiş egzersiz planları.
  • Sağlık Farkındalığı: Sağlık sorunlarına veya aşırı antrenmana işaret eden kalıpların erken tespiti.
  • Bilgilendirilmiş Kararlar: Rutinleri ayarlamak ve gerçekçi hedefler belirlemek için veriye dayalı kararlar.

Gerçek Dünya Uygulamaları

Egzersiz İzleme Egzersiz İzleme
Şınav Sayma PullUps Sayma
Şınav Sayma PullUps Sayma

Ultralytics YOLO kullanarak Egzersiz İzleme

# 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 Haritası

keyPoints Sıra Ultralytics YOLO11  Poz

AIGym Argümanlar

İşte bir tablo AIGym Argümanlar:

Tartışma Tip Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasının Yolu.
up_angle float 145.0 'Yukarı' duruşu için açı eşiği.
down_angle float 90.0 'Aşağı' pozu için açı eşiği.
kpts list[int, int, int] [6, 8, 10] Antrenmanları izlemek için kullanılan anahtar noktaların listesi. Bu anahtar noktalar, şınav, barfiks, squat, ab-egzersizleri gibi egzersizler için omuzlar, dirsekler ve bilekler gibi vücut eklemlerine veya parçalarına karşılık gelir.

Bu AIGym çözümü ayrıca bir dizi nesne izleme parametresini de destekler:

Tartışma Tip Varsayılan Açıklama
tracker str 'botsort.yaml' Kullanılacak izleme algoritmasını belirtir, örn, bytetrack.yaml veya botsort.yaml.
conf float 0.3 Algılamalar için güven eşiğini ayarlar; düşük değerler daha fazla nesnenin izlenmesine izin verir ancak yanlış pozitifler içerebilir.
iou float 0.5 Çakışan algılamaları filtrelemek için Birlik üzerinde Kesişim (IoU) eşiğini ayarlar.
classes list None Sonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
verbose bool True İzleme sonuçlarının görüntülenmesini kontrol ederek izlenen nesnelerin görsel bir çıktısını sağlar.
device str None Çıkarım için cihazı belirtir (örn, cpu, cuda:0 veya 0). Kullanıcıların CPU, belirli bir GPU veya model yürütme için diğer hesaplama cihazları arasında seçim yapmasına olanak tanır.

Ek olarak, aşağıdaki görselleştirme ayarları uygulanabilir:

Tartışma Tip Varsayılan Açıklama
show bool False Eğer True, açıklamalı görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim için kullanışlıdır.
line_width None or int None Sınırlayıcı kutuların çizgi genişliğini belirtir. Eğer Noneçizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.

SSS

Antrenmanlarımı Ultralytics YOLO11 adresini kullanarak nasıl izleyebilirim?

Ultralytics YOLO11 kullanarak egzersizlerinizi izlemek için, temel vücut işaretlerini ve eklemleri gerçek zamanlı olarak izlemek ve analiz etmek için poz tahmin özelliklerini kullanabilirsiniz. Bu, egzersiz formunuz hakkında anında geri bildirim almanıza, tekrarları saymanıza ve performans metriklerini ölçmenize olanak tanır. Gösterildiği gibi şınav, barfiks veya karın egzersizleri için sağlanan örnek kodu kullanarak başlayabilirsiniz:

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()

Daha fazla özelleştirme ve ayar için belgelerdeki AIGym bölümüne başvurabilirsiniz.

Antrenman takibi için Ultralytics YOLO11 adresini kullanmanın faydaları nelerdir?

Antrenman takibi için Ultralytics YOLO11 adresini kullanmak birkaç önemli fayda sağlar:

  • Optimize Edilmiş Performans: Antrenmanları izleme verilerine göre uyarlayarak daha iyi sonuçlar elde edebilirsiniz.
  • Hedefe Ulaşma: Ölçülebilir ilerleme için fitness hedeflerini kolayca takip edin ve ayarlayın.
  • Kişiselleştirme: Optimum etkinlik için kişisel verilerinize dayalı özelleştirilmiş egzersiz planları alın.
  • Sağlık Farkındalığı: Potansiyel sağlık sorunlarına veya aşırı antrenmana işaret eden kalıpların erken tespiti.
  • Bilgilendirilmiş Kararlar: Rutinleri ayarlamak ve gerçekçi hedefler belirlemek için veriye dayalı kararlar alın.

Bu faydaları uygulamalı olarak görmek için bir YouTube video gösterimini izleyebilirsiniz.

Ultralytics YOLO11 tatbikatları tespit etme ve izleme konusunda ne kadar doğrudur?

Ultralytics YOLO11 , son teknoloji ürünü poz tahmin yetenekleri sayesinde egzersizleri tespit etme ve izleme konusunda son derece hassastır. Temel vücut işaretlerini ve eklemleri doğru bir şekilde izleyerek egzersiz formu ve performans ölçümleri hakkında gerçek zamanlı geri bildirim sağlayabilir. Modelin önceden eğitilmiş ağırlıkları ve sağlam mimarisi yüksek hassasiyet ve güvenilirlik sağlar. Gerçek dünyadan örnekler için dokümantasyondaki şınav ve barfiks sayımını gösteren gerçek dünya uygulamaları bölümüne göz atın.

Özel egzersiz rutinleri için Ultralytics YOLO11 adresini kullanabilir miyim?

Evet, Ultralytics YOLO11 özel egzersiz rutinleri için uyarlanabilir. Bu AIGym sınıfı aşağıdaki gibi farklı poz türlerini destekler pushup, pullupve abworkout. Belirli egzersizleri tespit etmek için anahtar noktaları ve açıları belirleyebilirsiniz. İşte örnek bir kurulum:

from ultralytics import solutions

gym = solutions.AIGym(
    line_width=2,
    show=True,
    kpts=[6, 8, 10],  # For pushups - can be customized for other exercises
)

Argümanları ayarlama hakkında daha fazla bilgi için bkz. Argümanlar AIGym bölümü. Bu esneklik, çeşitli egzersizleri izlemenize ve rutinleri kendi rutininize göre özelleştirmenize olanak tanır. fitness hedefleri.

Egzersiz izleme çıktısını Ultralytics YOLO11 adresini kullanarak nasıl kaydedebilirim?

Egzersiz izleme çıktısını kaydetmek için kodu, işlenen kareleri kaydeden bir video yazıcı içerecek şekilde değiştirebilirsiniz. İşte bir örnek:

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()

Bu kurulum, izlenen videoyu bir çıktı dosyasına yazarak egzersiz performansınızı daha sonra gözden geçirmenize veya ek geri bildirim için eğitmenlerle paylaşmanıza olanak tanır.

📅1 yıl önce oluşturuldu ✏️ 6 gün önce güncellendi

Yorumlar