Vai al contenuto

Set di dati COCO-Pose

Il dataset COCO-Pose è una versione specializzata del dataset COCO (Common Objects in Context), progettato per compiti di stima della posa. Sfrutta le immagini e le etichette COCO Keypoints 2017 per consentire l'addestramento di modelli come YOLO per compiti di stima della posa.

Immagine campione della posa

Modelli preimpostati COCO-Pose

Modello dimensione
(pixel)
mAPpose
50-95
mAPpose
50
Velocità
CPU ONNX
(ms)
Velocità
T4TensorRT10
(ms)
params
(M)
FLOP
(B)
YOLO11n-pose 640 50.0 81.0 52.4 ± 0.5 1.7 ± 0.0 2.9 7.6
YOLO11s-pose 640 58.9 86.3 90.5 ± 0.6 2.6 ± 0.0 9.9 23.2
YOLO11m-pose 640 64.9 89.4 187.3 ± 0.8 4.9 ± 0.1 20.9 71.7
YOLO11l-pose 640 66.1 89.9 247.7 ± 1.1 6.4 ± 0.1 26.2 90.7
YOLO11x-pose 640 69.5 91.1 488.0 ± 13.9 12.1 ± 0.2 58.8 203.3

Caratteristiche principali

  • COCO-Pose si basa sul set di dati COCO Keypoints 2017, che contiene 200K immagini etichettate con punti chiave per compiti di stima della posa.
  • Il set di dati supporta 17 punti chiave per le figure umane, facilitando la stima dettagliata della posa.
  • Come COCO, fornisce metriche di valutazione standardizzate, tra cui l'Object Keypoint Similarity (OKS) per le attività di stima della posa, che lo rendono adatto a confrontare le prestazioni dei modelli.

Struttura del set di dati

Il set di dati COCO-Pose è suddiviso in tre sottoinsiemi:

  1. Train2017: Questo sottoinsieme contiene una parte delle 118K immagini del dataset COCO, annotate per l'addestramento dei modelli di stima della posa.
  2. Val2017: Questo sottoinsieme contiene una selezione di immagini utilizzate per la convalida durante l'addestramento del modello.
  3. Test2017: Questo sottoinsieme è costituito da immagini utilizzate per il test e il benchmarking dei modelli addestrati. Le annotazioni di verità a terra per questo sottoinsieme non sono disponibili pubblicamente e i risultati sono inviati al server di valutazione COCO per la valutazione delle prestazioni.

Applicazioni

Il dataset COCO-Pose è utilizzato specificamente per l'addestramento e la valutazione di modelli di deep learning in attività di rilevamento di punti chiave e di stima della posa, come OpenPose. L'ampio numero di immagini annotate e le metriche di valutazione standardizzate rendono il dataset una risorsa essenziale per i ricercatori e i professionisti della computer vision che si occupano di stima della posa.

Set di dati YAML

Un file YAML (Yet Another Markup Language) è usato per definire la configurazione del dataset. Contiene informazioni sui percorsi del dataset, sulle classi e altre informazioni rilevanti. Nel caso del set di dati COCO-Pose, il file coco-pose.yaml Il file viene mantenuto all'indirizzo 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/assets/releases/download/v0.0.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)

Utilizzo

Per addestrare un modello YOLO11n-pose sul dataset COCO-Pose per 100 epoch con una dimensione dell'immagine di 640, è possibile utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, consultare la pagina di addestramento del modello.

Esempio di treno

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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 pose train data=coco-pose.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

Immagini di esempio e annotazioni

Il dataset COCO-Pose contiene una serie di immagini con figure umane annotate con punti chiave. Ecco alcuni esempi di immagini tratte dal dataset, con le relative annotazioni:

Immagine campione del set di dati

  • Immagine a mosaico: Questa immagine mostra un batch di addestramento composto da immagini del dataset mosaicate. La mosaicatura è una tecnica utilizzata durante l'addestramento che combina più immagini in un'unica immagine per aumentare la varietà di oggetti e scene all'interno di ciascun batch di addestramento. Ciò contribuisce a migliorare la capacità del modello di generalizzarsi a oggetti di dimensioni, rapporti di aspetto e contesti diversi.

L'esempio mostra la varietà e la complessità delle immagini del dataset COCO-Pose e i vantaggi dell'uso della mosaicatura durante il processo di addestramento.

Citazioni e ringraziamenti

Se utilizzate il set di dati COCO-Pose nel vostro lavoro di ricerca o sviluppo, siete pregati di citare il seguente documento:

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

Desideriamo ringraziare il Consorzio COCO per aver creato e mantenuto questa preziosa risorsa per la comunità della computer vision. Per ulteriori informazioni sul dataset COCO-Pose e sui suoi creatori, visitare il sito web del dataset COCO.

FAQ

Che cos'è il dataset COCO-Pose e come viene utilizzato con Ultralytics YOLO per la stima della posa?

Il set di dati COCO-Pose è una versione specializzata del set di dati COCO (Common Objects in Context) progettato per compiti di stima della posa. Si basa sulle immagini e sulle annotazioni di COCO Keypoints 2017, consentendo l'addestramento di modelli come Ultralytics YOLO per una stima dettagliata della posa. Ad esempio, è possibile utilizzare il dataset COCO-Pose per addestrare un modello YOLO11n-pose caricando un modello pre-addestrato e addestrandolo con una configurazione YAML. Per gli esempi di addestramento, consultare la documentazione sull'addestramento.

Come si può addestrare un modello YOLO11 sul dataset COCO-Pose?

L'addestramento di un modello YOLO11 sul set di dati COCO-Pose può essere effettuato utilizzando i comandi Python o CLI . Ad esempio, per addestrare un modello YOLO11n-pose per 100 epoche con un'immagine di 640, si può seguire la seguente procedura:

Esempio di treno

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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 pose train data=coco-pose.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

Per maggiori dettagli sul processo di formazione e sugli argomenti disponibili, consultate la pagina della formazione.

Quali sono le diverse metriche fornite dal dataset COCO-Pose per valutare le prestazioni del modello?

Il set di dati COCO-Pose fornisce diverse metriche di valutazione standardizzate per le attività di stima della posa, simili al set di dati COCO originale. Tra le metriche principali vi è la Object Keypoint Similarity (OKS), che valuta l'accuratezza dei punti chiave previsti rispetto alle annotazioni della verità a terra. Queste metriche consentono di confrontare in modo approfondito le prestazioni dei diversi modelli. Ad esempio, i modelli preaddestrati COCO-Pose, come YOLO11n-pose, YOLO11s-pose e altri, hanno metriche di prestazione specifiche elencate nella documentazione, come mAPpose50-95e mAPpose50.

Come è strutturato e suddiviso il dataset COCO-Pose?

Il set di dati COCO-Pose è suddiviso in tre sottoinsiemi:

  1. Train2017: Contiene una parte delle 118K immagini COCO, annotate per l'addestramento dei modelli di stima della posa.
  2. Val2017: Immagini selezionate per la convalida durante l'addestramento del modello.
  3. Test2017: Immagini utilizzate per il test e il benchmarking dei modelli addestrati. Le annotazioni di verità a terra per questo sottoinsieme non sono disponibili pubblicamente; i risultati vengono inviati al server di valutazione COCO per la valutazione delle prestazioni.

Questi sottoinsiemi aiutano a organizzare efficacemente le fasi di addestramento, validazione e test. Per i dettagli della configurazione, esplorare la sezione coco-pose.yaml disponibile su GitHub.

Quali sono le caratteristiche e le applicazioni principali del dataset COCO-Pose?

Il set di dati COCO-Pose estende le annotazioni COCO Keypoints 2017 per includere 17 keypoints per figure umane, consentendo una stima dettagliata della posa. Metriche di valutazione standardizzate (ad esempio, OKS) facilitano il confronto tra modelli diversi. Le applicazioni del set di dati COCO-Pose spaziano in vari settori, come l'analisi dello sport, l'assistenza sanitaria e l'interazione uomo-macchina, in cui è richiesta una stima dettagliata della posa delle figure umane. Per l'uso pratico, l'utilizzo di modelli preaddestrati come quelli forniti nella documentazione (ad esempio, YOLO11n-pose) può semplificare notevolmente il processo(Caratteristiche principali).

Se si utilizza il set di dati COCO-Pose nel proprio lavoro di ricerca o sviluppo, si prega di citare il documento con la seguente voce BibTeX.

📅C reato 1 anno fa ✏️ Aggiornato 2 mesi fa

Commenti