İçeriğe geç

Ultralytics YOLO26 Kullanarak Antrenman İzleme

Colab'de Egzersiz İzlemeyi Açın

Poz tahmini ile antrenmanları izlemek, Ultralytics YOLO26 ile anahtar vücut noktalarını ve eklemlerini gerçek zamanlı olarak doğru bir şekilde track ederek egzersiz değerlendirmesini geliştirir. Bu teknoloji, egzersiz formuna anında geri bildirim sağlar, antrenman rutinlerini track eder ve performans metriklerini ölçerek hem kullanıcılar hem de antrenörler için antrenman seansları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 İzlemeEgzersiz İzleme
Poz tahminiyle YOLO saymaYOLO sayımı ve poz tahmini
Şınav SaymaBarfiks 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="yolo26n-pose.pt",  # path to the YOLO26 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ı

YOLO tahmininde kilit noktaların sırası diyagramı

AIGym Argümanlar

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

ArgümanTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasının yolu.
up_anglefloat145.0'Yukarı' pozu için açı eşiği.
down_anglefloat90.0'Aşağı' pozu için açı eşiği.
kptslist[int]'[6, 8, 10]'Antrenmanları izlemek için kullanılan üç anahtar nokta indeksinin listesi. Bu anahtar noktalar, şınav, barfiks, squat ve karın egzersizleri gibi hareketler için omuzlar, dirsekler ve bilekler gibi vücut eklemlerine veya bölgelerine karşılık gelir.

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

ArgümanTürVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak izleme algoritmasını belirtir, örneğin: bytetrack.yaml veya botsort.yaml.
conffloat0.1Algı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.
ioufloat0.7Çakışan algılamaları filtrelemek için Intersection over Union (IoU) eşiğini ayarlar.
classeslistNoneSonuçları sınıf indeksine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
verboseboolTrueİzleme sonuçlarının görüntülenmesini kontrol eder ve izlenen nesnelerin görsel bir çıktısını sağlar.
devicestrNoneÇı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ümanTürVarsayılanAçıklama
showboolFalseEğ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_widthint or NoneNoneSı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_confboolTrueEtiketin 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_labelsboolTrueGö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 YOLO26 kullanarak antrenmanlarımı nasıl izlerim?

Ultralytics YOLO26 kullanarak antrenmanlarınızı izlemek için, anahtar vücut noktalarını ve eklemlerini gerçek zamanlı olarak track etmek ve analiz etmek üzere poz tahmini yeteneklerini kullanabilirsiniz. Bu, egzersiz formunuza anında geri bildirim almanızı, tekrar sayılarını saymanızı ve performans metriklerini ölçmenizi sağlar. 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, dokümantasyondaki AIGym bölümüne başvurabilirsiniz.

Ultralytics YOLO26'yı antrenman izleme için kullanmanın faydaları nelerdir?

Ultralytics YOLO26'yı antrenman izleme için kullanmak, birkaç temel fayda 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 track 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 YOLO26, egzersizleri detect etme ve track etme konusunda ne kadar doğrudur?

Ultralytics YOLO26, son teknoloji poz tahmini yetenekleri sayesinde egzersizleri detect ve track etmede oldukça doğrudur. Anahtar vücut noktalarını ve eklemlerini doğru bir şekilde track edebilir, egzersiz formu ve performans metrikleri hakkında gerçek zamanlı geri bildirim sağlar. Modelin önceden eğitilmiş ağırlıkları ve sağlam mimarisi, yüksek kesinlik ve güvenilirlik sağlar. Gerçek dünya örnekleri için, dokümantasyondaki gerçek dünya uygulamaları bölümüne göz atın; bu bölüm şınav ve barfiks sayımını sergilemektedir.

Ultralytics YOLO26'yı özel antrenman rutinleri için kullanabilir miyim?

Evet, Ultralytics YOLO26 özel antrenman rutinlerine uyarlanabilir. AIGym sınıfı, gibi farklı poz türlerini destekler pushup, pullupve abworkout. Belirli egzersizleri detect 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 YOLO26 kullanarak antrenman 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.



📅 2 yıl önce oluşturuldu ✏️ 7 gün önce güncellendi
glenn-jocherRizwanMunawarRizwanMunawarMatthewNoyceUltralyticsAssistantambitious-octopusIvorZhu331

Yorumlar