İçeriğe geç

Ultralytics YOLO11 Kullanarak Antrenman İzleme

Colab'de Egzersiz İzlemeyi Açın

Ultralytics YOLO11 ile poz tahmini yoluyla egzersizleri izlemek, temel vücut işaretlerini ve eklemleri gerçek zamanlı olarak doğru bir şekilde izleyerek egzersiz değerlendirmesini geliştirir. Bu teknoloji, egzersiz formu hakkında anında geri bildirim sağlar, egzersiz rutinlerini izler ve performans metriklerini ölçerek kullanıcılar ve eğitmenler için eğitim oturumlarını optimize eder.



İzle: Ultralytics YOLO ile Egzersizleri İzleme: Squat, Bacak Uzatma, Şınav ve Daha Fazlası

Egzersiz İzlemenin Avantajları

  • Optimize Edilmiş Performans: Daha iyi sonuçlar için izleme verilerine dayalı egzersizleri uyarlama.
  • Hedefe Ulaşma: Ö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 Bilinci: Sağlık sorunlarına veya aşırı antrenmana işaret eden kalıpların erken tespiti.
  • Bilinçli 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 Barfiks Sayma
Şınav Sayma Barfiks 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

AnahtarNoktalar Haritası

anahtarNoktalar Sırası Ultralytics YOLO11 Poz

AIGym Argümanlar

İşte şunları içeren bir tablo: AIGym argümanlar:

Argüman Tür Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasına Giden Yol.
up_angle float 145.0 'Yukarı' pozu 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]' Egzersizleri izlemek için kullanılan anahtar noktaların listesi. Bu anahtar noktalar, şınav, barfiks, squat, karın egzersizleri gibi egzersizler için omuzlar, dirsekler ve bilekler gibi vücut eklemlerine veya parçalarına karşılık gelir.

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

Argüman Tür Varsayılan Açıklama
tracker str 'botsort.yaml' Kullanılacak izleme algoritmasını belirtir, örneğin: bytetrack.yaml veya botsort.yaml.
conf float 0.3 Algılamalar için güven eşiğini ayarlar; daha düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri içerebilir.
iou float 0.5 Çakışan algılamaları filtrelemek için Intersection over Union (IoU) eşiğini ayarlar.
classes list None Sonuçları sınıf indeksine 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 eder ve 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 model yürütme için CPU, belirli bir GPU veya diğer işlem cihazları arasında seçim yapmasına olanak tanır.

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

Argüman Tür Varsayılan Açıklama
show bool False Eğer True, ek 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.
show_conf bool True Etiketin yanında her algılama için güvenilirlik puanını görüntüler. Modelin her algılama için kesinliği hakkında fikir verir.
show_labels bool True Görsel çıktıdaki her algılama için etiketleri görüntüler. Algılanan nesnelerin anında anlaşılmasını sağlar.

SSS

Ultralytics YOLO11 kullanarak antrenmanlarımı nasıl takip ederim?

Ultralytics YOLO11 kullanarak egzersizlerinizi izlemek için, gerçek zamanlı olarak temel vücut işaretlerini ve eklemleri takip etmek ve analiz etmek üzere poz tahmini özelliklerini kullanabilirsiniz. Bu, egzersiz formunuz hakkında anında geri bildirim almanızı, tekrarları saymanızı ve performans metriklerini ölçmenizi sağlar. Şı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, dokümantasyondaki AIGym bölümüne başvurabilirsiniz.

Egzersiz takibi için Ultralytics YOLO11'i kullanmanın faydaları nelerdir?

Egzersiz takibi için Ultralytics YOLO11 kullanmak çeşitli önemli faydalar sağlar:

  • Optimize Edilmiş Performans: İzleme verilerine dayalı egzersizleri 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 bireysel verilerinize dayalı özelleştirilmiş egzersiz planları edinin.
  • Sağlık Bilinci: Potansiyel sağlık sorunlarına veya aşırı antrenmana işaret eden kalıpların erken tespiti.
  • Bilinçli 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, egzersizleri tespit etme ve izlemede ne kadar doğru?

Ultralytics YOLO11, son teknoloji poz tahmini yetenekleri sayesinde egzersizleri tespit etme ve izlemede oldukça hassastır. Temel vücut işaretlerini ve eklemleri doğru bir şekilde izleyebilir, egzersiz formu ve performans metrikleri 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ünya örnekleri için, şınav ve barfiks sayımını gösteren belgelerdeki gerçek dünya uygulamaları bölümüne bakın.

Ultralytics YOLO11'i özel egzersiz rutinleri için kullanabilir miyim?

Evet, Ultralytics YOLO11 özel egzersiz rutinleri için uyarlanabilir. Şunu: AIGym sınıfı, gibi farklı poz türlerini destekler pushup, pullupve abworkoutBelirli egzersizleri tespit etmek için anahtar noktaları ve açıları belirleyebilirsiniz. İşte bir örnek 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, Argümanlar AIGym bölüm. Bu esneklik, çeşitli egzersizleri izlemenize ve rutinleri şuna göre özelleştirmenize olanak tanır: fitness hedefleri.

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

Egzersiz izleme çıktısını kaydetmek için, işlenmiş kareleri kaydeden bir video yazıcısı eklemek üzere kodu 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 yazar ve daha sonra egzersiz performansınızı gözden geçirmenize veya ek geri bildirim için eğitmenlerle paylaşmanıza olanak tanır.



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

Yorumlar