Ultralytics YOLO26 ile Antrenman İzleme#
Ultralytics YOLO26 ile poz tahmini kullanarak antrenmanları izlemek, temel vücut noktalarını ve eklemleri gerçek zamanlı olarak hassas biçimde takip ederek egzersiz değerlendirmesini geliştirir. Bu teknoloji, egzersiz formu hakkında anında geri bildirim sağlar, antrenman rutinlerini izler ve performans ölçütlerini ölçerek hem kullanıcıların hem de antrenörlerin antrenman seanslarını optimize eder.
İzle: Ultralytics YOLO ile Antrenman Egzersizleri Nasıl İzlenir | Squat, Bacak Açma, Şınav ve Daha Fazlası
Antrenman İzlemenin Avantajları#
- Performans Optimizasyonu: Daha iyi sonuçlar için antrenmanları izleme verilerine göre kişiselleştirme.
- Hedeflere Ulaşma: Ölçülebilir ilerleme için fitness hedeflerini izle ve ayarla.
- Kişiselleştirme: Etkililiği artırmak için kişisel verilere dayalı özel antrenman planları.
- Sağlık Farkındalığı: Sağlık sorunlarına veya aşırı antrenmana işaret eden örüntüleri erken tespit etme.
- Bilinçli Kararlar: Rutinleri ayarlamak ve gerçekçi hedefler belirlemek için veriye dayalı kararlar.
Gerçek Dünya Uygulamaları#
| Antrenman İzleme | Antrenman İzleme |
|---|---|
![]() | ![]() |
| Şınav Sayımı | Barfiks Sayımı |
YOLO26 ile Antrenmanları İzle#
AIGym çözümü poz tahmini yapar ve bir uzuv up_angle ile down_angle eşikleri arasında hareket ederken üç temel noktanın oluşturduğu açıyı ölçerek tekrarları sayar. İzlemek istediğin egzersize ait temel noktaları kpts ile seç, ardından çözümü Python API veya CLI ile videonda çalıştır.
# 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]"Temel Noktalar Haritası#

AIGym Bağımsız Değişkenleri#
Aşağıda AIGym bağımsız değişkenlerini içeren bir tablo bulabilirsin:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Ultralytics YOLO model dosyasının yolu. |
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] | [6, 8, 10] | Antrenmanları izlemek için kullanılan üç anahtar nokta indeksinin listesi. Bu anahtar noktalar; şınav, barfiks, squat ve karın egzersizleri gibi hareketlerde omuz, dirsek ve bilek gibi vücut eklemlerine veya bölümlerine karşılık gelir. |
line_width | int | 2 | Çözümün çizdiği kutular, anahtar noktalar ve sayılar için çizgi kalınlığı. |
verbose | bool | True | Çözümün her kare için girdi şekli, sınıf sayıları ve işleme hızına ilişkin günlüğünü etkinleştirir. İzleme çağrısının kendisi her zaman sessizdir. |
AIGym çözümü çeşitli nesne izleme parametrelerini de destekler:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Kullanılacak izleme algoritmasını belirtir. Yerleşik seçenekler: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Algılamalar için güven eşiğini belirler; düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri de içerebilir. |
iou | float | 0.7 | Çakışan algılamaları filtrelemek için Kesişim-Birleşim Oranı (IoU) eşiğini belirler. |
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. |
device | str | None | Çıkarım için kullanılacak cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya başka hesaplama cihazları arasında seçim yapmasına olanak tanır. |
imgsz | int or tuple | 640 | Hedef çıkarım görüntü boyutu: kare görüntüler için bir tam sayı veya bir (height, width) çifti. Boyutlar model adım değerine göre ayarlanır. |
max_det | int | 300 | Yoğun sahnelerde bir çözümün işleyeceği nesne sayısını sınırlamak için izleme öncesinde kare başına tutulan en yüksek algılama sayısı. |
quantize | int or str | None | Çıkarım hassasiyeti: CPU dışında PyTorch ve TorchScript modelleri için 16 (FP16) veya 32/unset (FP32); diğer biçimler, model yapıtının ve çalışma zamanının seçtiği hassasiyeti kullanır. Kullanımdan kaldırılan half argümanının yerini alır. |
Ayrıca aşağıdaki görselleştirme ayarları da uygulanabilir:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | True ise açıklama eklenmiş görüntüleri veya videoları bir pencerede gösterir. Geliştirme veya test sırasında anında görsel geri bildirim almak için kullanışlıdır. |
show_labels | bool | True | Görsel çıktıda her algılama için etiketleri gösterir. Algılanan nesnelerin hemen anlaşılmasını sağlar. |
Sık Sorulan Sorular#
Ultralytics YOLO26 ile antrenmanlarını izlemek için temel vücut noktalarını ve eklemleri gerçek zamanlı olarak takip edip analiz etmek üzere poz tahmini özelliklerinden yararlanabilirsin. Böylece egzersiz formun hakkında anında geri bildirim alabilir, tekrarları sayabilir ve performans ölçütlerini ölçebilirsin. Aşağıda gösterildiği gibi şınav, barfiks veya karın egzersizleri için sağlanan örnek kodu kullanarak başlayabilirsin:
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) cap.release() cv2.destroyAllWindows()Daha fazla özelleştirme ve ayar için belgelerdeki AIGym bölümüne başvurabilirsin.
Antrenman izleme için Ultralytics YOLO26 kullanmanın birkaç önemli avantajı vardır:
- Performans Optimizasyonu: Antrenmanları izleme verilerine göre kişiselleştirerek daha iyi sonuçlar elde edebilirsin.
- Hedeflere Ulaşma: Ölçülebilir ilerleme için fitness hedeflerini kolayca izleyip ayarlayabilirsin.
- Kişiselleştirme: En iyi sonuçlar için kişisel verilerine dayalı özel antrenman planları alabilirsin.
- Sağlık Farkındalığı: Olası sağlık sorunlarına veya aşırı antrenmana işaret eden örüntüleri erken tespit edebilirsin.
- Bilinçli Kararlar: Rutinlerini ayarlamak ve gerçekçi hedefler belirlemek için veriye dayalı kararlar alabilirsin.
Bu avantajları uygulamada görmek için bir YouTube video gösterimini izleyebilirsin.
Ultralytics YOLO26, son teknoloji poz tahmini özellikleri sayesinde egzersizleri algılama ve izleme konusunda oldukça doğrudur. Temel vücut noktalarını ve eklemleri hassas biçimde takip ederek egzersiz formu ve performans ölçütleri 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, şınav ve barfiks sayımını gösteren belgelerdeki gerçek dünya uygulamaları bölümüne göz at.
Evet, Ultralytics YOLO26 özel antrenman rutinlerine uyarlanabilir.
AIGymsınıfı,up_angle,down_anglevekptsbağımsız değişkenlerini kullanarak egzersiz tekrarlarını algılar. Belirli egzersizleri algılamak için temel noktaları ve açıları belirtebilirsin. Örnek bir kurulum:from ultralytics import solutions gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], # Şınav için — diğer egzersizlere göre özelleştirilebilir )Bağımsız değişkenleri ayarlama hakkında daha fazla bilgi için Arguments
AIGymbölümüne başvur. Bu esneklik, çeşitli egzersizleri izlemeni ve rutinleri fitness hedeflerine göre özelleştirmeni sağlar.Antrenman izleme çıktısını kaydetmek için işlenmiş kareleri kaydeden bir video yazıcı ekleyerek kodu değiştirebilirsin. Ö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; böylece antrenman performansını daha sonra inceleyebilir veya ek geri bildirim almaları için antrenörlerle paylaşabilirsin.

