İçeriğe geç

Poz Tahmini

Poz tahmini örnekleri

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 YOLO11 Poz Tahmini Eğitimi | Gerçek Zamanlı Nesne İzleme ve İnsan Pozu Algılama

İpucu

YOLO11 pose modeller şunları kullanır: -pose eki, yani yolo11n-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 YOLO11 poz modelinde, her biri insan vücudunun farklı bir bölümünü temsil eden 17 anahtar nokta vardır. İşte her bir indeksin ilgili vücut eklemine eşlenmesi:

  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 YOLO11 önceden eğitilmiş Poz modelleri burada gösterilmektedir. Algılama, Bölütleme ve Poz modelleri COCO veri kümesi üzerinde önceden eğitilirken, Sınıflandırma modelleri ImageNet veri kümesi üzerinde önceden eğitilir.

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

Model boyut
(piksel)
mAPpose
50-95
mAPpose
50
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLO11n-pose 640 50.0 81.0 52,4 ± 0,5 1.7 ± 0.0 2.9 7.6
YOLO11s-pose 640 58.9 86.3 90.5 ± 0.6 2.6 ± 0.0 9.9 23.2
YOLO11m-pose 640 64.9 89.4 187.3 ± 0.8 4.9 ± 0.1 20.9 71.7
YOLO11l-pose 640 66.1 89.9 247.7 ± 1.1 6,4 ± 0,1 26.2 90.7
YOLO11x-pose 640 69.5 91.1 488.0 ± 13.9 12.1 ± 0.2 58.8 203.3
  • 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 değerleri, bir 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ümesinde bir YOLO11-poz modeli eğitin. COCO8-pose veri kümesi, poz tahmini modellerinizi test etmek ve hatalarını ayıklamak için mükemmel olan küçük bir örnek veri kümesidir.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo11n-pose.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n-pose.yaml").load("yolo11n-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=yolo11n-pose.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo pose train data=coco8-pose.yaml model=yolo11n-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=yolo11n-pose.yaml pretrained=yolo11n-pose.pt epochs=100 imgsz=640

Veri kümesi formatı

YOLO poz veri kümesi biçimi hakkında ayrıntılı bilgiye Veri Kümesi Kılavuzu'nda ulaşılabilir. Mevcut veri kümenizi diğer biçimlerden (örneğin COCO vb.) YOLO biçimine 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ş YOLO11n-poz modelini doğrulayın doğruluğu COCO8-pose veri kümesi üzerinde. 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("yolo11n-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 contains map50-95 of each category
metrics.pose.map  # map50-95(P)
metrics.pose.map50  # map50(P)
metrics.pose.map75  # map75(P)
metrics.pse.maps  # a list contains map50-95(P) of each category
yolo pose val model=yolo11n-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 YOLO11n-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("yolo11n-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=yolo11n-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 YOLO11n Poz modelini ONNX, CoreML vb. gibi farklı bir biçime aktarın. Bu, modelinizi gerçek zamanlı çıkarım için çeşitli platformlarda ve cihazlarda dağıtmanıza olanak tanır.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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=yolo11n-pose.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model

Mevcut YOLO11-poz dışa aktarma formatları aşağıdaki tabloda bulunmaktadır. Şunu kullanarak herhangi bir formata dışa aktarabilirsiniz: format argümanını kullanarak dışa aktarabilirsiniz, örneğin format='onnx' veya format='engine'. Dışa aktarılan modeller üzerinde doğrudan tahmin veya doğrulama yapabilirsiniz, örneğin yolo predict model=yolo11n-pose.onnx. Kullanım örnekleri, dışa aktarma tamamlandıktan sonra modeliniz için gösterilir.

Format format Argüman Model Meta Veri Argümanlar
PyTorch - yolo11n-pose.pt -
TorchScript torchscript yolo11n-pose.torchscript imgsz, half, optimize, nms, batch, device
ONNX onnx yolo11n-pose.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n-pose_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n-pose.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n-pose.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n-pose_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n-pose.pb imgsz, batch, device
TF Lite tflite yolo11n-pose.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n-pose_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n-pose_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n-pose_paddle_model/ imgsz, batch, device
MNN mnn yolo11n-pose.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n-pose_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n-pose_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n-pose_rknn_model/ imgsz, batch, name, device

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

SSS

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

Ultralytics YOLO11 ile poz tahmini, bir görüntüdeki anahtar noktalar olarak bilinen belirli noktaların belirlenmesini içerir. Bu anahtar noktalar tipik olarak nesnenin eklemlerini veya diğer önemli özelliklerini temsil eder. Çıktı şunları içerir: [x, y] her nokta için koordinatlar ve güvenilirlik skorları. YOLO11-poz modelleri özellikle bu görev için tasarlanmıştır ve şunu kullanır: -pose gibi sonekler yolo11n-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 YOLO11-pose modelini nasıl eğitebilirim?

Özel bir veri kümesi üzerinde bir YOLO11-pose modeli eğitmek, bir modeli, YAML dosyası tarafından tanımlanan yeni bir modeli veya önceden eğitilmiş bir modeli yüklemeyi içerir. Daha sonra, belirtilen veri kümeniz ve parametrelerinizi kullanarak eğitim sürecini başlatabilirsiniz.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo11n-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. Ayrıca, özel poz tahmini modellerini eğitmek için kodsuz bir yaklaşım için Ultralytics HUB'ı da kullanabilirsiniz.

Eğitilmiş bir YOLO11-poz modelini nasıl doğrularım?

Bir YOLO11-poz modelinin doğrulanması, eğitim sırasında korunan aynı veri kümesi parametreleri kullanılarak doğruluğunun değerlendirilmesini içerir. İşte bir örnek:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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 YOLO11-poz modelini başka formatlara aktarabilir miyim ve nasıl?

Evet, bir YOLO11-pose modelini ONNX, CoreML, TensorRT ve daha birçok formata aktarabilirsiniz. Bu, python veya Komut Satırı Arayüzü (CLI) kullanılarak yapılabilir.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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 YOLO11-pose modelleri ve performans metrikleri nelerdir?

Ultralytics YOLO11, YOLO11n-pose, YOLO11s-pose, YOLO11m-pose gibi çeşitli önceden eğitilmiş poz modelleri sunar. Bu modeller boyut, doğruluk (mAP) ve hız bakımından farklılık gösterir. Örneğin, YOLO11n-pose modeli 50,0'lık bir mAPpose50-95 ve 81,0'lık bir mAPpose50 elde eder. Eksiksiz bir liste ve performans ayrıntıları için Modeller Bölümünü ziyaret edin.



📅 1 yıl önce oluşturuldu ✏️ 2 ay önce güncellendi

Yorumlar