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.
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:
- 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.
- 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.
- 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
Ö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:
- 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)