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.
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:
- Train2017: Questo sottoinsieme contiene una parte delle 118K immagini del dataset COCO, annotate per l'addestramento dei modelli di stima della posa.
- Val2017: Questo sottoinsieme contiene una selezione di immagini utilizzate per la convalida durante l'addestramento del modello.
- 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
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 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
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:
- Train2017: Contiene una parte delle 118K immagini COCO, annotate per l'addestramento dei modelli di stima della posa.
- Val2017: Immagini selezionate per la convalida durante l'addestramento del modello.
- 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.