Poz Tahmini#
Poz tahmini, bir görüntüdeki eklem yerleri, işaretler veya diğer ayırt edici özellikler gibi genellikle eklem noktaları olarak adlandırılan belirli noktaların konumunu belirlemeyi içeren bir görevdir. Eklem noktalarının konumları genellikle isteğe bağlı olarak görünürlük bayrağıyla [x, y, visible] birlikte bir dizi 2D [x, y] koordinatı olarak temsil edilir.
Bir poz tahmini modelinin çıktısı, görüntüdeki bir nesnenin anahtar noktalarını temsil eden ve genellikle her nokta için güven skorlarıyla birlikte sunulan bir nokta kümesidir. Poz tahmini, bir sahnedeki bir nesnenin belirli kısımlarını ve bunların birbirlerine göre konumlarını belirlemeniz gerektiğinde iyi bir seçimdir.
Watch: How to Run Real-Time Pose Estimation with Ultralytics YOLO26 | Tracking & Keypoints Extraction 🕺
YOLO26 pose modelleri -pose son ekini kullanır, yani yolo26n-pose.pt. Bu modeller COCO keypoints veri kümesi üzerinde eğitilmiştir ve çeşitli poz tahmini görevleri için uygundur.
Varsayılan YOLO26 poz modelinde, her biri insan vücudunun farklı bir kısmını temsil eden 17 anahtar nokta bulunur. İşte her dizinin ilgili vücut eklemiyle eşleşmesi:
- Burun
- Sol Göz
- Sağ Göz
- Sol Kulak
- Sağ Kulak
- Sol Omuz
- Sağ Omuz
- Sol Dirsek
- Sağ Dirsek
- Sol Bilek
- Sağ Bilek
- Sol Kalça
- Sağ Kalça
- Sol Diz
- Sağ Diz
- Sol Ayak Bileği
- Sağ Ayak Bileği
Modeller#
Ultralytics YOLO26 önceden eğitilmiş Pose modelleri burada gösterilmektedir. Detect, Segment ve Pose modelleri COCO veri kümesinde, Semantic modelleri Cityscapes veri kümesinde ve Classify modelleri ImageNet veri kümesinde önceden eğitilmiştir.
Modeller, ilk kullanımda en son Ultralytics sürümünden otomatik olarak indirilir.
| Model | boyut (piksel) | mAPpose 50-95(e2e) | mAPpose 50(e2e) | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n-pose | 640 | 57.2 | 83.3 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.5 |
| YOLO26s-pose | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 23.9 |
| YOLO26m-pose | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.1 |
| YOLO26l-pose | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.3 |
| YOLO26x-pose | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 201.7 |
- mAPval değerleri, COCO Keypoints val2017 veri kümesinde tek model ve tek ölçek içindir.
Şu komutla yeniden üretebilirsin:yolo val pose data=coco-pose.yaml device=0 - Speed, bir Amazon EC2 P4d örneği kullanılarak COCO val görüntüleri üzerinden ortalama olarak hesaplanmıştır.
Şu komutla yeniden üretebilirsin:yolo val pose data=coco-pose.yaml batch=1 device=0|cpu - Params ve FLOPs değerleri, Conv ve BatchNorm katmanlarını birleştiren ve uçtan uca modeller için yardımcı bire çok algılama başlığını kaldıran
model.fuse()sonrasındaki birleştirilmiş model içindir. Önceden eğitilmiş kontrol noktaları tam eğitim mimarisini korur ve daha yüksek sayılar gösterebilir.
Eğit (Train)#
COCO8-pose veri kümesi üzerinde bir YOLO26-pose modeli eğit. COCO8-pose veri kümesi, poz tahmini modellerini test etmek ve hata ayıklamak için mükemmel olan küçük bir örnek veri kümesidir.
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)Tam train modu ayrıntılarını Train sayfasında bulabilirsin. Pose modelleri ayrıca Ultralytics Platform cloud training ile de eğitilebilir.
Veri kümesi biçimi#
YOLO poz veri kümesi biçimi ayrıntılı olarak Dataset Guide sayfasında bulunabilir. Mevcut veri kümeni diğer biçimlerden (COCO vb.) YOLO biçimine dönüştürmek için lütfen Ultralytics tarafından sağlanan JSON2YOLO aracını kullan. Ultralytics Platform annotation, insan, el, yüz ve özel anahtar nokta düzenleri için yerleşik iskelet şablonlarıyla poz etiketlerini de destekler.
Özel poz tahmini görevleri için, hayvan pozu tahmini için Tiger-Pose, el takibi için Hand Keypoints veya köpeklere yönelik poz analizi için Dog-Pose gibi özel veri kümelerini de keşfedebilirsin.
Doğrula (Val)#
Eğitilmiş bir YOLO26n-pose modelinin accuracy değerini COCO8-pose veri kümesinde doğrula. model, eğitim data değerlerini ve argümanlarını model öznitelikleri olarak koruduğundan hiçbir argümana gerek yoktur.
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.box.image_metrics # per-image metrics dictionary for box with precision, recall, F1, TP, FP, and FN
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
metrics.pose.image_metrics # per-image metrics dictionary for pose with precision, recall, F1, TP, FP, and FNTahmin Et (Predict)#
Görüntüler üzerinde tahminler çalıştırmak için eğitilmiş bir YOLO26n-pose modeli kullan. predict mode; görüntüler, videolar veya gerçek zamanlı akışlar üzerinde çıkarım yapmanı sağlar.
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)Tam predict modu ayrıntılarını Tahmin sayfasında görün.
Sonuç Çıktısı#
Poz tahmini, görüntü başına bir Results nesnesi döndürür. Birincil tahmin alanları, poz koordinatları için result.keypoints ve bu anahtar noktaların ait olduğu tespit edilen örnekler için result.boxes alanıdır.
| Öznitelik | Tip | Şekil | Açıklama |
|---|---|---|---|
result.keypoints | Keypoints | (N) | Anahtar noktalar. |
result.keypoints.data | torch.float32 | (N,K,2/3) | x,y ve isteğe bağlı görünürlük/güven. |
result.keypoints.xy | torch.float32 | (N,K,2) | Piksel anahtar noktaları. |
result.keypoints.xyn | torch.float32 | (N,K,2) | Normalleştirilmiş anahtar noktalar. |
result.boxes | Boxes | (N) | Örnek kutuları. |
Her görev genelinde göreve özgü Results alanları için Göreve Göre Tahmin Sonuçları bölümüne bakın.
Dışa Aktar (Export)#
Bir YOLO26n Pose modelini ONNX, CoreML vb. farklı bir biçime dışarı aktar. Bu, real-time inference için modelini çeşitli platformlarda ve cihazlarda dağıtmanı sağlar.
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")Mevcut YOLO26-pose dışa aktarım biçimleri aşağıdaki tabloda yer almaktadır. format argümanını, yani format='onnx' veya format='engine' kullanarak herhangi bir biçime dışarı aktarma yapabilirsin. Dışa aktarılan modeller üzerinde doğrudan tahmin yapabilir veya doğrulama gerçekleştirebilirsin, yani yolo predict model=yolo26n-pose.onnx. Kullanım örnekleri, dışa aktarım tamamlandıktan sonra modelin için gösterilir.
| Format | format Argümanı | Model | Meta veriler | Argümanlar |
|---|---|---|---|---|
| PyTorch | - | yolo26n-pose.pt | ✅ | - |
| TorchScript | torchscript | yolo26n-pose.torchscript | ✅ | imgsz, quantize, dynamic, nms, batch, device |
| ONNX | onnx | yolo26n-pose.onnx | ✅ | imgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n-pose_openvino_model/ | ✅ | imgsz, quantize, dynamic, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n-pose.engine | ✅ | imgsz, quantize, dynamic, simplify, opset, workspace, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n-pose.mlpackage | ✅ | imgsz, dynamic, quantize, nms, batch, device |
| TF SavedModel | saved_model | yolo26n-pose_saved_model/ | ✅ | imgsz, keras, quantize, opset, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n-pose.pb | ❌ | imgsz, opset, batch, device |
| TF Edge TPU | edgetpu | yolo26n-pose_edgetpu.tflite | ✅ | imgsz, quantize, opset, data, fraction, device |
| PaddlePaddle | paddle | yolo26n-pose_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n-pose.mnn | ✅ | imgsz, batch, dynamic, quantize, simplify, opset, nms, device |
| NCNN | ncnn | yolo26n-pose_ncnn_model/ | ✅ | imgsz, quantize, batch, device |
| IMX500 | imx | yolo26n-pose_imx_model/ | ✅ | imgsz, quantize, data, fraction, nms, device |
| RKNN | rknn | yolo26n-pose_rknn_model/ | ✅ | imgsz, batch, name, quantize, simplify, opset, data, fraction, device |
| ExecuTorch | executorch | yolo26n-pose_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n-pose_axelera_model/ | ✅ | imgsz, batch, quantize, data, fraction, device |
| DEEPX | deepx | yolo26n-pose_deepx_model/ | ✅ | imgsz, quantize, simplify, opset, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n-pose_qnn.onnx | ✅ | imgsz, batch, name, quantize, simplify, opset, data, fraction, device |
| LiteRT | litert | yolo26n-pose.tflite | ✅ | imgsz, quantize, batch, data, fraction, device |
| Hailo | hailo | yolo26n-pose_hailo_model/ | ✅ | imgsz, name, quantize, data, fraction, simplify, conf, iou |
| Huawei Ascend | ascend | yolo26n-pose_ascend_model/ | ✅ | imgsz, batch, name, quantize, opset, simplify, nms |
Tam export ayrıntılarını Dışa Aktar sayfasında görün.
SSS#
Ultralytics YOLO26 ile Poz Tahmini nedir ve nasıl çalışır?#
Ultralytics YOLO26 ile poz tahmini, bir görüntüdeki anahtar nokta olarak bilinen belirli noktaların tanımlanmasını içerir. Bu anahtar noktalar genellikle eklemleri veya nesnenin diğer önemli özelliklerini temsil eder. Çıktı, her nokta için [x, y] koordinatlarını ve güven puanlarını içerir. YOLO26-pose modelleri bu görev için özel olarak tasarlanmıştır ve -pose son ekini kullanır (örneğin yolo26n-pose.pt). Bu modeller COCO keypoints gibi veri kümeleri üzerinde önceden eğitilmiştir ve çeşitli poz tahmini görevleri için kullanılabilir. Daha fazla bilgi için Pose Estimation Page sayfasını ziyaret et.
Özel bir veri kümesinde YOLO26-pose modelini nasıl eğitebilirim?#
Özel bir veri kümesinde YOLO26-pose modelini eğitmek, bir modeli (bir YAML dosyasıyla tanımlanan yeni bir model veya önceden eğitilmiş bir model) yüklemeyi gerektirir. Ardından belirlediğin veri kümesini ve parametreleri kullanarak eğitim sürecini başlatabilirsin.
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ğitim hakkında kapsamlı ayrıntılar için Train Section bölümüne bak. Özel poz tahmini modelleri eğitmek için kodsuz bir yaklaşım amacıyla Ultralytics Platform cloud training seçeneğini de kullanabilirsin.
Eğitilmiş bir YOLO26-pose modelini nasıl doğrularım?#
YOLO26-pose modelinin doğrulanması, eğitim sırasında saklanan 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("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 rememberedDaha fazla bilgi için Val Section bölümünü ziyaret et.
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 aktarabilirsin. Bu işlem 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 detay için Export Section sayfasına göz at. Dışarı aktarılan modeller, fitness takibi, spor analizi veya robotics gibi real-time applications için uç cihazlara dağıtılabilir.
Mevcut Ultralytics YOLO26-pose modelleri nelerdir ve performans metrikleri nelerdir?#
Ultralytics YOLO26; YOLO26n-pose, YOLO26s-pose, YOLO26m-pose ve diğerleri 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 YOLO26n-pose modeli, 57.2 mAPpose50-95 ve 83.3 mAPpose50 değerine ulaşır. Eksiksiz bir liste ve performans ayrıntıları için Models Section bölümünü ziyaret et.