Antrenman İzleme kullanarak Ultralytics YOLO11
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 |
Ultralytics YOLO kullanarak Egzersiz İzleme
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ı
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
, pullup
ve 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.