Kurumsal kullanıma hazır güvenlik: ISO 27001 + SOC 2 Tip I uyumlu.

Link to this sectionPoz Tahmini Veri Kümelerine Genel Bakış#

Link to this sectionDesteklenen Veri Kümesi Formatları#

Link to this sectionUltralytics YOLO formatı#

YOLO poz modellerini eğitmek için kullanılan veri kümesi etiket formatı şu şekildedir:

  1. Görsel başına bir metin dosyası: Veri kümesindeki her görselin, görsel dosyasıyla aynı ada sahip ve ".txt" uzantılı karşılık gelen bir metin dosyası bulunur.
  2. Nesne başına bir satır: Metin dosyasındaki her satır, görseldeki bir nesne örneğine karşılık gelir.
  3. Satır başına nesne bilgisi: Her satır, nesne örneği hakkında şu bilgileri içerir:
    • Nesne sınıfı indeksi: Nesnenin sınıfını temsil eden bir tam sayı (örneğin, kişi için 0, araba için 1 vb.).
    • Nesne merkez koordinatları: 0 ile 1 arasında normalize edilmiş, nesnenin merkezinin x ve y koordinatları.
    • Nesne genişliği ve yüksekliği: 0 ile 1 arasında normalize edilmiş, nesnenin genişliği ve yüksekliği.
    • Nesne anahtar nokta koordinatları: 0 ile 1 arasında normalize edilmiş, nesnenin anahtar noktaları.

İşte bir poz tahmini görevi için etiket formatı örneği:

2D anahtar noktalı format

<class-index> <x> <y> <width> <height> <px1> <py1> <px2> <py2> ... <pxn> <pyn>

Anahtar nokta görünürlüğü içeren format (nokta başına görünürlüğü içerir)

<class-index> <x> <y> <width> <height> <px1> <py1> <p1-visibility> <px2> <py2> <p2-visibility> <pxn> <pyn> <pn-visibility>

Bu formatta, <class-index> nesnenin sınıf indeksidir, <x> <y> <width> <height> sınırlayıcı kutunun normalize edilmiş koordinatlarıdır ve <px1> <py1> <px2> <py2> ... <pxn> <pyn> normalize edilmiş anahtar nokta koordinatlarıdır. Görünürlük kanalı isteğe bağlıdır ancak tıkanıklıkları etiketleyen veri kümeleri için faydalıdır.

Link to this sectionVeri kümesi YAML formatı#

Ultralytics çerçevesi, poz tahmini modellerini eğitmek için veri kümesini ve model yapılandırmasını tanımlamak amacıyla bir YAML dosya formatı kullanır. İşte bir poz veri kümesini tanımlamak için kullanılan YAML formatı örneği:

ultralytics/cfg/datasets/coco8-pose.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8-pose dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/coco8-pose
# Example usage: yolo train data=coco8-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8-pose ← downloads here (1 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: coco8-pose # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Keypoints
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]

# Classes
names:
  0: person

# Keypoint names per class
kpt_names:
  0:
    - nose
    - left_eye
    - right_eye
    - left_ear
    - right_ear
    - left_shoulder
    - right_shoulder
    - left_elbow
    - right_elbow
    - left_wrist
    - right_wrist
    - left_hip
    - right_hip
    - left_knee
    - right_knee
    - left_ankle
    - right_ankle

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-pose.zip

train, val ve test alanları eğitim, doğrulama ve test görsellerini gösterir. Her biri bir dizini, bir dizin listesini veya satır başına bir görsel yolu listeleyen bir *.txt dosyasını kabul eder (./ ile başlayan yollar *.txt dosyasına göreli olarak çözümlenir). Bir *.txt dosyası, bir dizinin alt kümesi üzerinde eğitim yapmak, etiketsiz görselleri atlamak veya birden fazla kaynaktan gelen görselleri tek bir grupta birleştirmek için kullanışlıdır.

`*.txt` dosyası olarak görüntü yolları
path: datasets/coco8-pose # dataset root
train: train.txt # a directory, a list e.g. [images/a, images/b], or a *.txt file
val: val.txt
names:
  0: person

names, sınıf adlarından oluşan bir sözlüktür. Adların sırası, YOLO veri kümesi dosyalarındaki nesne sınıfı indekslerinin sırasıyla eşleşmelidir.

(İsteğe bağlı) flip_idx, insan vücudu veya yüzü gibi simetrik iskeletlerde yatay çevirme artırmasının sol ve sağı tutarlı tutması için her bir anahtar noktayı kendi ayna görüntüsüyle eşleştirir. [sol göz, sağ göz, burun, sol ağız, sağ ağız] = [0, 1, 2, 3, 4] olarak indekslenen beş yüz simgesi için flip_idx [1, 0, 2, 4, 3] şeklindedir: sol-sağ çiftleri olan 0-1 ve 3-4 yer değiştirir, burun ise kendi indeksini korur.

(Optional) kpt_oks_sigmas sets custom per-keypoint OKS sigmas used during validation, e.g. [0.26, 0.25, 0.25, ...]. The list length must equal the number of keypoints N from kpt_shape, and every value must be positive. When omitted, the COCO 17-keypoint sigmas are used for kpt_shape: [17, 3] and a uniform 1/N otherwise.

Link to this sectionKullanım#

Örnek
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

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

Link to this sectionDesteklenen Veri Kümeleri#

Bu bölüm, Ultralytics YOLO formatıyla uyumlu olan ve pose estimation modellerini eğitmek için kullanabileceğin veri kümelerini listeler:

Link to this sectionCOCO-Pose#

  • Açıklama: COCO-Pose, anahtar nokta etiketli insanları içeren COCO 2017 görüntülerini kapsayan geniş ölçekli bir insan pozu kestirim veri kümesidir.
  • Etiket Formatı: Yukarıda açıklandığı gibi, insan pozları için anahtar noktalarla birlikte Ultralytics YOLO formatıyla aynıdır.
  • Sınıf Sayısı: 1 (insan).
  • Anahtar Noktalar: Burun, gözler, kulaklar, omuzlar, dirsekler, bilekler, kalçalar, dizler ve ayak bilekleri dahil olmak üzere her biri görünürlük boyutuna sahip 17 anahtar nokta türü.
  • Kullanım: İnsan pozu tahmini modellerini eğitmek için uygundur.
  • Ek Notlar: Veri kümesi, COCO Keypoints 2017 yarışmasını temel alır: 156.165 insanla etiketlenmiş 58.945 görüntü.
  • COCO-Pose hakkında daha fazla bilgi edinin

Link to this sectionCOCO8-Pose#

  • Açıklama: Ultralytics COCO8-Pose, COCO train 2017 kümesinin ilk 8 görüntüsünden (4 tanesi eğitim, 4 tanesi doğrulama için) oluşan küçük ama çok yönlü bir poz kestirim veri kümesidir.
  • Etiket Formatı: Yukarıda açıklandığı gibi, insan pozları için anahtar noktalarla birlikte Ultralytics YOLO formatıyla aynıdır.
  • Sınıf Sayısı: 1 (insan).
  • Anahtar Noktalar: Burun, gözler, kulaklar, omuzlar, dirsekler, bilekler, kalçalar, dizler ve ayak bilekleri dahil olmak üzere her biri görünürlük boyutuna sahip 17 anahtar nokta türü.
  • Kullanım: Poz kestirim modellerini test etmek ve hata ayıklamak veya yeni anahtar nokta algılama yaklaşımlarıyla denemeler yapmak için uygundur.
  • Ek Notlar: COCO8-Pose, doğrulama kontrolleri ve CI checks için idealdir.
  • COCO8-Pose hakkında daha fazla bilgi edinin

Link to this sectionDog-Pose#

  • Açıklama: Ultralytics Dog-Pose veri kümesi, köpek anahtar nokta kestirimi için 6.773 eğitim ve 1.703 doğrulama görüntüsü içerir.
  • Etiket Formatı: Köpek anatomisine özgü çoklu anahtar noktalar için açıklamalarla birlikte Ultralytics YOLO formatını izler.
  • Sınıf Sayısı: 1 (köpek).
  • Anahtar Noktalar: Her biri görünürlük boyutuna sahip, uzuvlar, eklemler ve baş pozisyonları gibi köpek pozlarına göre uyarlanmış 24 anahtar nokta.
  • Kullanım: Araştırmadan gerçek dünya uygulamalarına kadar çeşitli senaryolarda köpek pozlarını tahmin etmek için modeller eğitmek için idealdir.
  • Ek Notlar: Kaynak görüntüler Stanford Dogs Dataset'ten alınmıştır.
  • Dog-Pose hakkında daha fazla bilgi edinin

Link to this sectionEl Anahtar Noktaları#

  • Açıklama: Ultralytics Hand Keypoints veri kümesi, 18.776'sı eğitim ve 7.992'si doğrulama için ayrılmış toplam 26.768 görüntüden oluşur.
  • Etiket Formatı: Yukarıda açıklanan Ultralytics YOLO formatıyla aynıdır, ancak insan eli için 21 anahtar nokta ve bir görünürlük boyutu içerir.
  • Sınıf Sayısı: 1 (el).
  • Anahtar Noktalar: 21 anahtar nokta.
  • Kullanım: İnsan eli pozu tahmini ve jest tanıma için harikadır.
  • Ek Notlar: Anahtar noktası ek açıklamaları, tutarlı bir etiketleme için Google MediaPipe kullanılarak oluşturulmuştur.
  • El Anahtar Noktaları hakkında daha fazla bilgi edinin

Link to this sectionTiger-Pose#

  • Açıklama: Ultralytics Tiger-Pose veri kümesi, bir YouTube videosundan alınan, 210'u eğitim ve 53'ü doğrulama için ayrılmış 263 görüntüden oluşur.
  • Etiket Formatı: Yukarıda açıklandığı gibi Ultralytics YOLO formatı ile aynıdır, hayvan pozu için 12 anahtar nokta içerir ve görünürlük boyutu yoktur.
  • Sınıf Sayısı: 1 (kaplan).
  • Anahtar Noktalar: 12 anahtar nokta.
  • Kullanım: Hayvan pozu veya insan bazlı olmayan diğer pozlar için harikadır.
  • Ek Notlar: AGPL-3.0 License kapsamında yayınlanmıştır.
  • Tiger-Pose hakkında daha fazla bilgi edinin

Link to this sectionKendi veri kümeni ekleme#

Kendi veri kümen varsa ve onu Ultralytics YOLO formatıyla poz tahmini modellerini eğitmek için kullanmak istiyorsan, "Ultralytics YOLO formatı" altında belirtilen formatı izlediğinden emin ol. Açıklamalarını gerekli formata dönüştür ve YAML yapılandırma dosyasında yolları, sınıf sayısını ve sınıf adlarını belirt.

Dönüştürme adımını tamamen atlamak istersen, Ultralytics Platform ham görüntüleri yüklemene, tarayıcıda anahtar noktaları etiketlemene ve doğrudan ortaya çıkan veri kümesi üzerinde eğitim yapmana olanak tanır.

Link to this sectionDönüştürme Aracı#

Ultralytics, popüler COCO dataset formatındaki etiketleri YOLO formatına dönüştürmen için kullanışlı bir dönüştürme aracı sağlar:

Örnek
from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_keypoints=True)

Bu dönüştürme aracı, COCO veri kümesini veya COCO formatındaki herhangi bir veri kümesini Ultralytics YOLO formatına dönüştürmek için kullanılabilir. use_keypoints parametresi, dönüştürülen etiketlere anahtar noktaların (poz tahmini için) dahil edilip edilmeyeceğini belirtir.

Link to this sectionSSS#

Link to this sectionPoz tahmini için Ultralytics YOLO formatı nedir?#

Poz tahmini veri kümeleri için Ultralytics YOLO formatı, her görselin karşılık gelen bir metin dosyasıyla etiketlenmesini içerir. Metin dosyasının her satırı bir nesne örneği hakkında bilgi saklar:

  • Nesne sınıfı indeksi
  • Nesne merkez koordinatları (normalize edilmiş x ve y)
  • Nesne genişliği ve yüksekliği (normalize edilmiş)
  • Nesne anahtar nokta koordinatları (normalize edilmiş pxn ve pyn)

2D pozlar için anahtar noktalar, normalize edilmiş x ve y koordinatlarını içerir. Görünürlük boyutu ile her anahtar noktanın bir görünürlük bayrağı da vardır. Daha fazla ayrıntı için Ultralytics YOLO formatına bak.

Link to this sectionCOCO-Pose veri kümesini Ultralytics YOLO ile nasıl kullanırım?#

coco-pose.yaml paketle birlikte gelir ve görüntüleri ve etiketleri ilk kullanımda indirir, bu yüzden manuel bir hazırlığa gerek yoktur:

from ultralytics import YOLO

model = YOLO("yolo26n-pose.pt")  # load pretrained model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)

Veri kümesi detayları için COCO-Pose sayfasına, tam argüman listesi için Train sayfasına bakabilirsin.

Link to this sectionUltralytics YOLO'da poz tahmini için kendi veri kümemi nasıl ekleyebilirim?#

Veri kümeni eklemek için:

  1. Açıklamalarını Ultralytics YOLO formatına dönüştür.

  2. Veri kümesi yollarını, sınıf sayısını ve sınıf adlarını belirten bir YAML yapılandırma dosyası oluştur.

  3. Modelini eğitmek için yapılandırma dosyasını kullan:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n-pose.pt")
    results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

    Eksiksiz adımlar için Kendi veri kümeni ekleme bölümüne göz at.

Link to this sectionUltralytics YOLO'daki veri kümesi YAML dosyasının amacı nedir?#

Ultralytics YOLO'daki veri kümesi YAML dosyası, eğitim için veri kümesi ve model yapılandırmasını tanımlar. Eğitim, doğrulama ve test görsellerinin yollarını, anahtar nokta şekillerini, sınıf adlarını ve diğer yapılandırma seçeneklerini belirtir. Bu yapılandırılmış format, veri kümesi yönetimini ve model eğitimini kolaylaştırmaya yardımcı olur. İşte bir YAML formatı örneği:

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8-pose dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/coco8-pose
# Example usage: yolo train data=coco8-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8-pose ← downloads here (1 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: coco8-pose # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Keypoints
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]

# Classes
names:
  0: person

# Keypoint names per class
kpt_names:
  0:
    - nose
    - left_eye
    - right_eye
    - left_ear
    - right_ear
    - left_shoulder
    - right_shoulder
    - left_elbow
    - right_elbow
    - left_wrist
    - right_wrist
    - left_hip
    - right_hip
    - left_knee
    - right_knee
    - left_ankle
    - right_ankle

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-pose.zip

YAML yapılandırma dosyaları oluşturma hakkında daha fazla bilgiyi Veri kümesi YAML formatı bölümünde oku.

Link to this sectionCOCO veri kümesi etiketlerini poz tahmini için Ultralytics YOLO formatına nasıl dönüştürebilirim?#

Ultralytics, anahtar nokta bilgileri dahil olmak üzere COCO veri kümesi etiketlerini YOLO formatına dönüştürmek için bir dönüştürme aracı sağlar:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_keypoints=True)

Bu araç, COCO veri kümelerini YOLO projelerine sorunsuz bir şekilde entegre etmene yardımcı olur. Ayrıntılar için Conversion Tool bölümüne ve data preprocessing guide kılavuzuna göz atabilirsin.

Yorumlar