İçeriğe geç

Poz Tahmini

İnsan vücudunun kilit noktalarının tespiti ile YOLO tahmini

Poz tahmini, genellikle anahtar noktalar olarak adlandırılan bir görüntüdeki belirli noktaların konumunu belirlemeyi içeren bir görevdir. Anahtar noktalar, eklemler, simge yapılar veya diğer ayırt edici özellikler gibi nesnenin çeşitli bölümlerini temsil edebilir. Anahtar noktaların konumları genellikle bir dizi 2B olarak temsil edilir [x, y] veya 3B [x, y, visible] koordinatlar.

Poz tahmini modelinin çıktısı, genellikle her nokta için güven skorlarıyla birlikte, görüntüdeki bir nesne üzerindeki anahtar noktaları temsil eden bir dizi noktadır. Poz tahmini, bir sahnedeki bir nesnenin belirli kısımlarını ve bunların birbirleriyle ilişkili konumlarını belirlemeniz gerektiğinde iyi bir seçimdir.



İzle: Ultralytics YOLO26 Poz Tahmini Eğitimi | Gerçek Zamanlı Nesne Takibi ve İnsan Pozu Algılama

İpucu

YOLO26 pose modeller şunları kullanır: -pose sonek, yani, yolo26n-pose.pt. Bu modeller, üzerinde eğitilmiştir. COCO anahtar noktaları veri kümesi ve çeşitli poz tahmini görevleri için uygundur.

Varsayılan YOLO26 poz modelinde, her biri insan vücudunun farklı bir bölümünü temsil eden 17 anahtar nokta bulunmaktadır. Her bir indeksin ilgili vücut eklemine eşleşmesi aşağıdadır:

  1. Burun
  2. Sol Göz
  3. Sağ Göz
  4. Sol Kulak
  5. Sağ Kulak
  6. Sol Omuz
  7. Sağ Omuz
  8. Sol Dirsek
  9. Sağ Dirsek
  10. Sol Bilek
  11. Sağ El Bileği
  12. Sol Kalça
  13. Sağ Kalça
  14. Sol Diz
  15. Sağ Diz
  16. Sol Ayak Bileği
  17. Sağ Ayak Bileği

Modeller

Ultralytics YOLO26 önceden eğitilmiş Pose modelleri burada gösterilmiştir. detect, segment ve Pose modelleri COCO veri kümesi üzerinde önceden eğitilmişken, classify modelleri ise ImageNet veri kümesi üzerinde önceden eğitilmiştir.

Modeller, ilk kullanımda en son Ultralytics sürümünden otomatik olarak indirilir.

Modelboyut
(piksel)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7
  • mAPval değerleri, tek model ve tek ölçek için COCO Anahtar Noktaları val2017 veri kümesi üzerindendir.
    Tekrar oluşturmak için yolo val pose data=coco-pose.yaml device=0
  • Hız COCO val görüntülerinde ortalaması alınarak Amazon EC2 P4d örneği kullanılarak COCO val görüntülerinde ortalama alınmıştır.
    Tekrar oluşturmak için yolo val pose data=coco-pose.yaml batch=1 device=0|cpu

Eğit

COCO8-pose veri kümesi üzerinde bir YOLO26-pose modeli eğitin. COCO8-pose dataset, poz tahmini modellerinizi test etmek ve hata ayıklamak için mükemmel olan küçük bir örnek veri kümesidir.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n-pose.yaml").load("yolo26n-pose.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo pose train data=coco8-pose.yaml model=yolo26n-pose.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo pose train data=coco8-pose.yaml model=yolo26n-pose.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo pose train data=coco8-pose.yaml model=yolo26n-pose.yaml pretrained=yolo26n-pose.pt epochs=100 imgsz=640

Veri kümesi formatı

YOLO poz veri kümesi formatına Veri Kümesi Kılavuzu'nda ayrıntılı olarak ulaşılabilir. Mevcut veri kümenizi diğer formatlardan (COCO vb. gibi) YOLO formatına dönüştürmek için lütfen Ultralytics tarafından sunulan JSON2YOLO aracını kullanın.

Özel poz tahmini görevleri için, hayvan poz tahmini için Tiger-Pose, el takibi için Hand Keypoints veya köpek poz analizi için Dog-Pose gibi özel veri kümelerini de keşfedebilirsiniz.

Doğrula

Eğitilmiş YOLO26n-pose modelini doğrula doğruluğu COCO8-pose veri kümesinde. Herhangi bir argümana gerek yoktur, çünkü model eğitimini korur data ve argümanları model nitelikleri olarak saklar.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list containing mAP50-95 for each category
metrics.pose.map  # map50-95(P)
metrics.pose.map50  # map50(P)
metrics.pose.map75  # map75(P)
metrics.pose.maps  # a list containing mAP50-95(P) for each category
yolo pose val model=yolo26n-pose.pt # val official model
yolo pose val model=path/to/best.pt # val custom model

Tahmin et

Görüntüler üzerinde tahminler çalıştırmak için eğitilmiş bir YOLO26n-pose modeli kullanın. Tahmin modu, görüntüler, videolar veya gerçek zamanlı akışlar üzerinde çıkarım yapmanızı sağlar.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xy = result.keypoints.xy  # x and y coordinates
    xyn = result.keypoints.xyn  # normalized
    kpts = result.keypoints.data  # x, y, visibility (if available)
yolo pose predict model=yolo26n-pose.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo pose predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model

Tamamını görün predict sayfasındaki mod ayrıntıları. Tahmin et sayfasında bulabilirsiniz.

Dışa aktar

Bir YOLO26n Pose modelini ONNX, CoreML vb. gibi farklı bir formata dışa aktarın. Bu, modelinizi gerçek zamanlı çıkarım için çeşitli platformlara ve cihazlara dağıtmanızı sağlar.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo26n-pose.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom-trained model

Mevcut YOLO26-pose dışa aktarma formatları aşağıdaki tabloda yer almaktadır. Herhangi bir formata dışa aktarabilirsiniz format argümanı, yani format='onnx' veya format='engine'. Dışa aktarılan modeller üzerinde doğrudan tahmin veya doğrulama yapabilirsiniz, yani, yolo predict model=yolo26n-pose.onnx. Kullanım örnekleri, dışa aktarma tamamlandıktan sonra modeliniz için gösterilir.

Formatformat ArgümanModelMeta VeriArgümanlar
PyTorch-yolo26n-pose.pt-
TorchScripttorchscriptyolo26n-pose.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n-pose.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n-pose_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n-pose.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n-pose.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n-pose_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n-pose.pbimgsz, batch, device
TF Litetfliteyolo26n-pose.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n-pose_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n-pose_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n-pose_paddle_model/imgsz, batch, device
MNNmnnyolo26n-pose.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n-pose_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n-pose_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n-pose_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n-pose_executorch_model/imgsz, device
Axeleraaxelerayolo26n-pose_axelera_model/imgsz, int8, data, fraction, device

Tamamını görün export ayrıntıları Dışa aktar sayfasında bulabilirsiniz.

SSS

Ultralytics YOLO26 ile Poz Tahmini nedir ve nasıl çalışır?

Ultralytics YOLO26 ile poz tahmini, bir görüntüdeki anahtar noktalar olarak bilinen belirli noktaların tanımlanmasını içerir. Bu anahtar noktalar genellikle nesnenin eklemlerini veya diğer önemli özelliklerini temsil eder. Çıktı şunları içerir: [x, y] her nokta için koordinatları ve güven skorlarını. YOLO26-pose modelleri bu görev için özel olarak tasarlanmıştır ve şunu kullanır: -pose gibi sonekler yolo26n-pose.pt. Bu modeller, gibi veri kümeleri üzerinde önceden eğitilmiştir COCO anahtar noktaları ve çeşitli poz tahmini görevleri için kullanılabilir. Daha fazla bilgi için ziyaret edin Poz Tahmini Sayfası.

Özel bir veri kümesi üzerinde bir YOLO26-pose modeli nasıl eğitebilirim?

Özel bir veri kümesi üzerinde bir YOLO26-pose modeli eğitmek, ya bir yaml dosyasıyla tanımlanmış yeni bir model ya da önceden eğitilmiş bir model olmak üzere bir modelin yüklenmesini içerir. Daha sonra belirtilen veri kümenizi ve parametrelerinizi kullanarak eğitim sürecini başlatabilirsiniz.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

Eğitimle ilgili kapsamlı ayrıntılar için Eğitim Bölümü'ne bakın. Özel poz tahmini modellerini eğitmek için kodsuz bir yaklaşım için Ultralytics Platform'u da kullanabilirsiniz.

Eğitilmiş bir YOLO26-pose modelini nasıl doğrularım?

Bir YOLO26-pose modelinin doğrulanması, eğitim sırasında korunan aynı veri kümesi parametrelerini kullanarak doğruluğunu değerlendirmeyi içerir. İşte bir örnek:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered

Daha fazla bilgi için Val Bölümünü ziyaret edin.

Bir YOLO26-pose modelini diğer formatlara dışa aktarabilir miyim ve nasıl?

Evet, bir YOLO26-pose modelini ONNX, CoreML, TensorRT ve daha fazlası gibi çeşitli formatlara dışa aktarabilirsiniz. Bu, python veya Komut Satırı Arayüzü (CLI) kullanılarak yapılabilir.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Daha fazla ayrıntı için Dışa Aktarma Bölümüne bakın. Dışa aktarılan modeller, fitness takibi, spor analizi veya robotik gibi gerçek zamanlı uygulamalar için uç cihazlarda dağıtılabilir.

Mevcut Ultralytics YOLO26-pose modelleri ve performans metrikleri nelerdir?

Ultralytics YOLO26, YOLO26n-pose, YOLO26s-pose, YOLO26m-pose gibi çeşitli önceden eğitilmiş poz modelleri sunar. Bu modeller boyut, doğruluk (mAP) ve hız açısından farklılık gösterir. Örneğin, YOLO26n-pose modeli 50.0 mAPpose50-95 ve 81.0 mAPpose50 elde eder. Tam liste ve performans ayrıntıları için Modeller Bölümü'nü ziyaret edin.



📅 2 yıl önce oluşturuldu ✏️ 2 gün önce güncellendi
glenn-jocherRizwanMunawarBurhan-Qambitious-octopusUltralyticsAssistantpderrengerY-T-Gjk4eMatthewNoycek-2feng@hotmail.com

Yorumlar