İçeriğe geç

COCO-Poz Veri Kümesi

COCO-Pose veri kümesi, COCO (Common Objects in Context) veri kümesinin poz tahmini görevleri için tasarlanmış özel bir sürümüdür. Poz tahmini görevleri için YOLO gibi modellerin eğitilmesini sağlamak üzere COCO Keypoints 2017 görüntülerinden ve etiketlerinden yararlanır.

Poz örnek görüntüsü

COCO-Poz Önceden Eğitilmiş Modeller

Model boyut
(piksel)
mAPpose
50-95
mAPpose
50
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
params
(M)
FLOP'lar
(B)
YOLOv8n-pose 640 50.4 80.1 131.8 1.18 3.3 9.2
YOLOv8s-pose 640 60.0 86.2 233.2 1.42 11.6 30.2
YOLOv8m-pose 640 65.0 88.8 456.3 2.00 26.4 81.0
YOLOv8l-pose 640 67.6 90.0 784.5 2.59 44.4 168.6
YOLOv8x-pose 640 69.2 90.2 1607.1 3.73 69.4 263.2
YOLOv8x-pose-p6 1280 71.6 91.2 4088.7 10.04 99.1 1066.4

Temel Özellikler

  • COCO-Pose, poz tahmini görevleri için anahtar noktalarla etiketlenmiş 200 bin görüntü içeren COCO Keypoints 2017 veri kümesi üzerine kurulmuştur.
  • Veri seti, insan figürleri için 17 anahtar noktayı destekleyerek ayrıntılı poz tahminini kolaylaştırır.
  • COCO gibi, poz tahmini görevleri için Nesne Anahtar Noktası 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, COCO veri kümesindeki 118 bin görüntünün bir kısmını içerir ve poz tahmin modellerini eğitmek için açıklama eklenmiştir.
  2. Val2017: Bu alt küme, model eğitimi sırasında doğrulama amacıyla kullanılan görüntülerden oluşan bir seçkiye sahiptir.
  3. Test2017: Bu alt küme, eğitilen modelleri test etmek ve kıyaslamak için kullanılan görüntülerden oluşur. Bu alt küme için temel gerçek açıklamaları kamuya 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 tahmini görevlerinde derin öğrenme modellerini eğitmek ve değerlendirmek için kullanılır. Veri setinin çok sayıda açıklamalı görüntüsü ve standartlaştırılmış değerlendirme metrikleri, onu poz tahminine odaklanan bilgisayarla görme araştırmacıları ve uygulayıcıları için önemli bir kaynak haline getirmektedir.

Veri Kümesi YAML

Veri kümesi yapılandırmasını tanımlamak için bir YAML (Yet Another Markup Language) dosyası kullanılır. Veri kümesinin yolları, sınıfları ve diğer ilgili bilgiler hakkında bilgi içerir. COCO-Pose veri kümesi söz konusu olduğunda coco-pose.yaml dosyası şu adreste tutulur https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml.

ultralytics/cfg/datasets/coco-pose.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# COCO 2017 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: ../datasets/coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794

# 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

# Download script/URL (optional)
download: |
  from ultralytics.utils.downloads import download
  from pathlib import Path

  # Download labels
  dir = Path(yaml['path'])  # dataset root dir
  url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/'
  urls = [url + 'coco2017labels-pose.zip']  # labels
  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

Bir YOLOv8n-pose modelini COCO-Pose veri kümesi üzerinde 640 görüntü boyutuyla 100 epoch için eğitmek için aşağıdaki kod parçacıklarını kullanabilirsiniz. Kullanılabilir bağımsız değişkenlerin kapsamlı bir listesi için Model Eğitimi sayfasına bakın.

Tren Örneği

from ultralytics import YOLO

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

# Train the model
results = model.train(data='coco-pose.yaml', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco-pose.yaml model=yolov8n.pt epochs=100 imgsz=640

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

COCO-Pose veri kümesi, insan figürlerinin anahtar noktalarla açıklandığı çeşitli görüntüler içerir. Aşağıda veri kümesinden bazı görüntü örnekleri ve bunlara karşılık gelen ek açıklamalar yer almaktadır:

Veri kümesi örnek görüntüsü

  • Mozaiklenmiş Görüntü: Bu görüntü, mozaiklenmiş veri kümesi görüntülerinden oluşan bir eğitim grubunu göstermektedir. Mozaikleme, eğitim sırasında kullanılan ve her bir 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 setindeki görüntülerin çeşitliliğini ve karmaşıklığını ve eğitim sürecinde mozaikleme kullanmanın faydalarını göstermektedir.

Atıflar ve Teşekkür

Araştırma veya geliştirme çalışmalarınızda COCO-Pose veri setini kullanıyorsanız, lütfen aşağıdaki makaleye atıfta bulunun:

@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}
}

Bilgisayarla görme topluluğu için bu değerli kaynağı yaratan ve sürdüren COCO Konsorsiyumu'na teşekkür ederiz. COCO-Pose veri seti ve yaratıcıları hakkında daha fazla bilgi için COCO veri seti web sitesini ziyaret edin.



Oluşturma 2023-11-12, Güncelleme 2024-04-17
Yazarlar: glenn-jocher (4), RizwanMunawar (1), Laughing-q (1)

Yorumlar