COCO-Pose Veri Kümesi

COCO-Pose veri kümesi, poz kestirimi görevleri için tasarlanmış, COCO (Common Objects in Context) veri kümesinin özelleştirilmiş bir sürümüdür. YOLO gibi modellerin poz kestirimi görevleri için eğitilmesini sağlamak amacıyla COCO Keypoints 2017 görsellerinden ve etiketlerinden yararlanır.

İnsan anahtar noktaları ile COCO poz kestirimi

COCO-Pose Önceden Eğitilmiş Modelleri

Modelboyut
(piksel)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametre
(M)
FLOPs
(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

Temel Özellikler

  • COCO-Pose, poz kestirimi görevleri için anahtar noktalarla etiketlenmiş 200 bin görsel içeren COCO Keypoints 2017 veri kümesi üzerine inşa edilmiştir.
  • Veri kümesi, ayrıntılı poz kestirimini kolaylaştıran insan figürleri için 17 anahtar noktayı destekler.
  • COCO gibi, poz kestirimi görevleri için Nesne Anahtar Nokta Benzerliği (OKS) dahil olmak üzere standartlaştırılmış değerlendirme metrikleri sağlar ve model performansını karşılaştırmak için uygun hale getirir.

Veri Kümesi Yapısı

COCO-Pose veri kümesi üç alt kümeye ayrılmıştır:

  1. Train2017: Bu alt küme, poz kestirimi modellerini eğitmek için etiketlenmiş, COCO veri kümesinden 56599 görsel içerir.
  2. Val2017: Bu alt küme, model eğitimi sırasında doğrulama amacıyla kullanılan 2346 görseli içerir.
  3. Test2017: Bu alt küme, eğitilen modelleri test etmek ve kıyaslamak için kullanılan görsellerden oluşur. Bu alt küme için temel gerçeklik (ground truth) etiketleri halka açık değildir ve sonuçlar performans değerlendirmesi için COCO değerlendirme sunucusuna gönderilir.

Uygulamalar

COCO-Pose veri kümesi, özellikle OpenPose gibi anahtar nokta tespiti ve poz kestirimi görevlerinde derin öğrenme modellerini eğitmek ve değerlendirmek için kullanılır. Veri kümesinin çok sayıda etiketlenmiş görseli ve standartlaştırılmış değerlendirme metrikleri, poz kestirimine odaklanan bilgisayarlı görü araştırmacıları ve uygulayıcıları için vazgeçilmez bir kaynaktır.

Veri Kümesi YAML Dosyası

Veri kümesi yapılandırmasını tanımlamak için bir YAML (Yet Another Markup Language) dosyası kullanılır. Dosya, veri kümesinin yolları, sınıfları ve diğer ilgili bilgiler hakkında veriler içerir. COCO-Pose veri kümesi durumunda, coco-pose.yaml dosyası https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml adresinde tutulmaktadır.

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

# COCO 2017 Keypoints dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/pose/coco/
# Example usage: yolo train data=coco-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco-pose ← downloads here (20.1 GB)

# 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: coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 56599 images
val: val2017.txt # val images (relative to 'path') 2346 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://codalab.lisn.upsaclay.fr/competitions/7403

# 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: |
  from pathlib import Path

  from ultralytics.utils import ASSETS_URL
  from ultralytics.utils.downloads import download

  # Download labels
  dir = Path(yaml["path"])  # dataset root dir

  urls = [f"{ASSETS_URL}/coco2017labels-pose.zip"]
  download(urls, dir=dir.parent)
  # Download data
  urls = [
      "http://images.cocodataset.org/zips/train2017.zip",  # 19G, 118k images
      "http://images.cocodataset.org/zips/val2017.zip",  # 1G, 5k images
      "http://images.cocodataset.org/zips/test2017.zip",  # 7G, 41k images (optional)
  ]
  download(urls, dir=dir / "images", threads=3)

Kullanım

COCO-Pose veri kümesinde bir YOLO26n-pose modelini 640 görüntü boyutuyla 100 dönem (epoch) boyunca eğitmek için aşağıdaki kod parçalarını kullanabilirsin. Mevcut argümanların kapsamlı bir listesi için Eğitim model sayfasına başvur.

Eğitim Örneği
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="coco-pose.yaml", epochs=100, imgsz=640)

Örnek Görüntüler ve Ek Açıklamalar

COCO-Pose veri kümesi, anahtar noktalarla etiketlenmiş insan figürlerine sahip çeşitli görseller içerir. İşte veri kümesinden görsellerin ve ilgili etiketlerinin bazı örnekleri:

COCO poz kestirimi veri kümesi mozaik eğitim grubu

  • Mozaiklenmiş Görüntü: Bu görüntü, mozaiklenmiş veri seti görüntülerinden oluşan bir eğitim grubunu göstermektedir. Mozaikleme, eğitim sırasında her eğitim grubundaki nesne ve sahne çeşitliliğini artırmak için birden fazla görüntüyü tek bir görüntüde birleştiren bir tekniktir. Bu, modelin farklı nesne boyutlarına, en boy oranlarına ve bağlamlara genelleme yeteneğini geliştirmeye yardımcı olur.

Bu örnek, COCO-Pose veri kümesindeki görsellerin çeşitliliğini ve karmaşıklığını ve eğitim sürecinde mozaikleme kullanmanın avantajlarını sergilemektedir.

Alıntılar ve Teşekkür

COCO-Pose veri kümesini araştırma veya geliştirme çalışmalarında kullanırsan, lütfen şu makaleye atıfta bulun:

Alıntı
@misc{lin2015microsoft,
      title={Microsoft COCO: Common Objects in Context},
      author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
      year={2015},
      eprint={1405.0312},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Bilgisayarlı görü topluluğu için bu değerli kaynağı oluşturdukları ve sürdürdükleri için COCO Konsorsiyumu'na teşekkür ederiz. COCO-Pose veri kümesi ve oluşturucuları hakkında daha fazla bilgi için COCO veri kümesi web sitesini ziyaret et.

SSS

COCO-Pose veri kümesi nedir ve Ultralytics YOLO ile poz kestirimi için nasıl kullanılır?

COCO-Pose veri kümesi, poz kestirimi görevleri için tasarlanmış COCO (Common Objects in Context) veri kümesinin özel bir sürümüdür. Ayrıntılı poz kestirimi için Ultralytics YOLO gibi modellerin eğitilmesine olanak tanıyan COCO Keypoints 2017 görselleri ve etiketleri üzerine inşa edilmiştir. Örneğin, önceden eğitilmiş bir modeli yükleyip bir YAML yapılandırmasıyla eğiterek YOLO26n-pose modelini eğitmek için COCO-Pose veri kümesini kullanabilirsin. Eğitim örnekleri için Eğitim dokümantasyonuna göz at.

YOLO26 modelini COCO-Pose veri kümesinde nasıl eğitebilirim?

YOLO26 modelini COCO-Pose veri kümesinde eğitmek, Python veya CLI komutları kullanılarak gerçekleştirilebilir. Örneğin, 640 görüntü boyutuyla 100 dönem (epoch) boyunca bir YOLO26n-pose modelini eğitmek için aşağıdaki adımları takip edebilirsin:

Eğitim Örneği
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="coco-pose.yaml", epochs=100, imgsz=640)

Eğitim süreci ve mevcut argümanlar hakkında daha fazla ayrıntı için eğitim sayfasına göz at.

COCO-Pose veri kümesi, model performansını değerlendirmek için hangi farklı metrikleri sağlar?

COCO-Pose veri kümesi, orijinal COCO veri kümesine benzer şekilde poz kestirimi görevleri için çeşitli standartlaştırılmış değerlendirme metrikleri sağlar. Temel metrikler arasında, tahmin edilen anahtar noktaların temel gerçeklik etiketlerine göre doğruluğunu değerlendiren Nesne Anahtar Nokta Benzerliği (OKS) bulunur. Bu metrikler, farklı modeller arasında kapsamlı performans karşılaştırmalarına olanak tanır. Örneğin, YOLO26n-pose, YOLO26s-pose ve diğerleri gibi COCO-Pose önceden eğitilmiş modellerinin, mAPpose50-95 ve mAPpose50 gibi dokümantasyonda listelenen belirli performans metrikleri vardır.

COCO-Pose veri kümesi nasıl yapılandırılmış ve ayrılmıştır?

COCO-Pose veri kümesi üç alt kümeye ayrılmıştır:

  1. Train2017: Poz kestirimi modellerini eğitmek için etiketlenmiş 56599 COCO görseli içerir.
  2. Val2017: Model eğitimi sırasında doğrulama amacıyla kullanılan 2346 görsel.
  3. Test2017: Eğitilen modelleri test etmek ve kıyaslamak için kullanılan görseller. Bu alt küme için temel gerçeklik etiketleri halka açık değildir; sonuçlar performans değerlendirmesi için COCO değerlendirme sunucusuna gönderilir.

These subsets help organize the training, validation, and testing phases effectively. For configuration details, explore the coco-pose.yaml file available on GitHub.

COCO-Pose veri kümesinin temel özellikleri ve kullanım alanları nelerdir?

COCO-Pose veri kümesi, ayrıntılı poz kestirimini sağlamak için insan figürlerine yönelik 17 anahtar noktayı içerecek şekilde COCO Keypoints 2017 etiketlerini genişletir. Standartlaştırılmış değerlendirme metrikleri (örneğin OKS), farklı modeller arasında karşılaştırmaları kolaylaştırır. COCO-Pose veri kümesinin uygulamaları; spor analitiği, sağlık hizmetleri ve insan-bilgisayar etkileşimi gibi insan figürlerinin ayrıntılı poz kestiriminin gerekli olduğu çeşitli alanlara yayılmaktadır. Pratik kullanım için, dokümantasyonda sağlananlar gibi (örneğin YOLO26n-pose) önceden eğitilmiş modellerden yararlanmak süreci önemli ölçüde hızlandırabilir (Temel Özellikler).

COCO-Pose veri kümesini araştırma veya geliştirme çalışmalarında kullanırsan, lütfen makaleyi şu BibTeX girişi ile belirt.

Yorumlar