Ultralytics YOLO26 ile Antrenman İzleme#
Ultralytics YOLO26 ile poz tahmini kullanarak antrenmanları izlemek, temel vücut işaret noktalarını ve eklemleri gerçek zamanlı olarak doğru şekilde takip ederek egzersiz değerlendirmesini geliştirir. Bu teknoloji, egzersiz formu hakkında anında geri bildirim sağlar, antrenman rutinlerini takip eder ve performans ölçümlerini değerlendirerek hem kullanıcılar hem de eğitmenler için antrenman seanslarını optimize eder.
Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More
Antrenman İzlemenin Avantajları#
- Optimize Edilmiş Performans: Daha iyi sonuçlar için antrenmanları izleme verilerine göre uyarlama.
- Hedeflere Ulaşma: Ölçülebilir ilerleme için fitness hedeflerini takip etme ve ayarlama.
- Kişiselleştirme: Etkililiği artırmak için bireysel verilere dayalı özelleştirilmiş antrenman planları.
- Sağlık Farkındalığı: Sağlık sorunlarına veya aşırı antrenmana işaret eden örüntülerin erken tespiti.
- 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ı İzleme#
AIGym çözümü poz tahmini gerçekleştirir 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 egzersiz için temel noktaları kpts ile seç, ardından Python API veya CLI ile çözümü videon üzerinde ç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#
AIGym bağımsız değişkenlerini içeren tablo aşağıda verilmiştir:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasının yolu. |
up_angle | float | 145.0 | 'Yukarı' pozu için açı eşiği. |
down_angle | int | 90 | 'Aşağı' pozu için açı eşiği. |
kpts | list[int] | '[6, 8, 10]' | Antrenmanları izlemek için kullanılan üç kilit nokta dizini listesi. Bu kilit 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, kilit noktaları ve sayılar için çizgi kalınlığı. |
verbose | bool | True | Çözümün kare başına giriş şeklini, sınıf sayılarını ve işlem hızını kaydetmesini etkinleştirir. Takip çağrısı her zaman sessizdir. |
AIGym çözümü ayrıca çeşitli nesne izleme parametrelerini destekler:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Kullanılacak takip 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; daha düşük değerler daha fazla nesnenin takip edilmesine olanak tanır ancak yanlış pozitifler içerebilir. |
iou | float | 0.7 | Örtüşen algılamaları filtrelemek için Birleşim Üzerindeki Kesişim (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ı takip eder. |
device | str | None | Çıkarım için cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model çalıştırma işlemi için CPU, belirli bir GPU veya diğer hesaplama cihazları arasında seçim yapmasına olanak tanır. |
imgsz | int or tuple | 640 | Hedef çıkarım görüntü boyutu: kare için bir tamsayı veya bir (height, width) çifti. Şekiller model adımına göre ayarlanır. |
max_det | int | 300 | İzlemeden önce kare başına tutulan maksimum algılama sayısı; yoğun sahnelerde bir çözümün işlediği nesneleri sınırlar. |
quantize | int or str | None | Çıkarım hassasiyeti: PyTorch ve TorchScript modelleri için 16 (FP16) veya 32/ayarlanmamış (FP32); diğer formatlar, yapılarının ve çalışma zamanının seçtiği hassasiyette hesaplama yapar. Kullanımdan kaldırılan half bayrağının yerini alır. |
Ayrıca aşağıdaki görselleştirme ayarları uygulanabilir:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | True olduğunda 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 almak için kullanışlıdır. |
show_conf | bool | True | Her algılamanın güven skorunu etiketin yanında görüntüler. Modelin her algılamaya ilişkin kesinliği hakkında fikir verir. |
show_labels | bool | True | Görsel çıktıda her algılama için etiketleri görüntüler. Algılanan nesnelerin hemen anlaşılmasını sağlar. |
SSS#
Ultralytics YOLO26 ile antrenmanlarını izlemek için poz tahmini yeteneklerinden yararlanarak temel vücut işaret noktalarını ve eklemleri gerçek zamanlı olarak takip edip analiz edebilirsin. Bu sayede egzersiz formun hakkında anında geri bildirim alabilir, tekrarları sayabilir ve performans ölçümlerini değerlendirebilirsin. Başlangıç olarak aşağıda gösterildiği gibi şınav, barfiks veya karın egzersizleri için sağlanan örnek kodu kullanabilirsin:
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şvurabilirsin.
Antrenman izleme için Ultralytics YOLO26 kullanmak çeşitli önemli faydalar sağlar:
- Optimize Edilmiş Performans: Antrenmanları izleme verilerine göre uyarlayarak daha iyi sonuçlar elde edebilirsin.
- Hedeflere Ulaşma: Ölçülebilir ilerleme için fitness hedeflerini kolayca takip edip ayarlayabilirsin.
- Kişiselleştirme: En iyi etkililik için kendi bireysel verilerine dayalı özelleştirilmiş antrenman planları edinebilirsin.
- 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: Rutinleri ayarlamak ve gerçekçi hedefler belirlemek için veriye dayalı kararlar alabilirsin.
Bu faydaları uygulamalı olarak görmek için bir YouTube video gösterimini izleyebilirsin.
Ultralytics YOLO26, gelişmiş poz tahmini yetenekleri sayesinde egzersizleri tespit etme ve takip etme konusunda son derece doğrudur. Temel vücut işaret noktalarını ve eklemleri doğru şekilde takip ederek egzersiz formu ve performans ölçümleri hakkında gerçek zamanlı geri bildirim sağlayabilir. Modelin önceden eğitilmiş ağırlıkları ve güçlü mimarisi yüksek kesinlik ve güvenilirlik sağlar. Gerçek dünyadan örnekler için belgelerde şınav ve barfiks sayımını gösteren gerçek dünya uygulamaları bölümüne göz atabilirsin.
Evet, Ultralytics YOLO26 özel antrenman rutinlerine uyarlanabilir.
AIGymsınıfı,up_angle,down_anglevekptsbağımsız değişkenlerini kullanarak egzersiz tekrarlarını tespit eder. Belirli egzersizleri tespit etmek için temel noktaları ve açıları belirtebilirsin. Örnek bir kurulum aşağıda verilmiştir:from ultralytics import solutions gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], # For pushups - can be customized for other exercises )Bağımsız değişkenleri ayarlama hakkında daha fazla bilgi için Arguments
AIGymbölümüne başvurabilirsin. 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. Bir örnek aşağıda verilmiştir:
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 eğitmenlerle paylaşabilirsin.

