Dataset COCO-Pose#
Il dataset COCO-Pose adatta COCO (Oggetti comuni nel contesto) alla stima della posa: 58.945 immagini da COCO Keypoints 2017, annotate con 156.165 persone utilizzando uno schema a 17 punti chiave. È il set standard per addestrare e valutare modelli di punti chiave come Ultralytics YOLO26, mentre il sottoinsieme di 8 immagini COCO8-Pose ne riproduce il formato per rapidi controlli di integrità.

Modelli COCO-Pose preaddestrati#
| Modello | dimensione (pixel) | mAPpose 50-95(e2e) | mAPpose 50(e2e) | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n-pose | 640 | 57.2 | 83.3 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.6 |
| YOLO26s-pose | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 24.1 |
| YOLO26m-pose | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.3 |
| YOLO26l-pose | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.7 |
| YOLO26x-pose | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 202.3 |
Funzionalità principali#
- COCO-Pose si basa sulla challenge COCO Keypoints 2017, che etichetta 1.710.498 singoli punti chiave su 156.165 persone annotate.
- Ogni annotazione di una persona utilizza 17 tipi di punti chiave — naso, occhi, orecchie, spalle, gomiti, polsi, anche, ginocchia e caviglie — memorizzati come triplette
(x, y, visibility). - Come COCO, fornisce metriche di valutazione standardizzate, tra cui la Similarità dei punti chiave degli oggetti (OKS) per le attività di stima della posa, rendendolo adatto al confronto delle prestazioni dei modelli.
- Dimensioni del download: ~20,2 GB al primo utilizzo (
train2017.zip+val2017.zip+ etichette). Il filetest2017.zipda 7 GB non viene scaricato automaticamente, poiché per queste immagini la verità di riferimento è riservata e sono necessarie solo per una submission test-dev2017.
Struttura del dataset#
Per l'addestramento e la convalida, COCO-Pose include solo le immagini COCO 2017 con persone annotate con punti chiave, quindi i suoi split con etichette sono più piccoli di quelli dell'intero COCO. Il suo YAML definisce tre sottoinsiemi:
- Train2017: questo sottoinsieme contiene 56.599 immagini dal dataset COCO, annotate per l'addestramento di modelli di stima della posa.
- Val2017: questo sottoinsieme contiene 2.346 immagini utilizzate per la convalida durante l'addestramento del modello.
- Test-dev2017: un sottoinsieme di 20.288 immagini del set test2017 completo di 40.670 immagini, con verità di riferimento riservata. Il YAML del dataset collega questo split al server di valutazione dei punti chiave COCO test-dev.
L'addestramento su questa scala è il contesto in cui Ultralytics Platform è più utile: gestisce le risorse di calcolo, così puoi avviare e monitorare le esecuzioni senza dover predisporre le tue GPU.
Applicazioni#
Il dataset COCO-Pose viene utilizzato specificamente per addestrare e valutare modelli di deep learning sul rilevamento dei punti chiave e sulla stima della posa. L'elevato numero di immagini annotate e le metriche di valutazione standardizzate rendono questo dataset una risorsa essenziale per i ricercatori e i professionisti della computer vision che lavorano sulla posa umana.
YAML del dataset#
Un file YAML viene utilizzato per definire la configurazione del dataset. Contiene informazioni sui percorsi del dataset, sulle classi e su altri dati pertinenti. Nel caso del dataset COCO-Pose, il file coco-pose.yaml è mantenuto all'indirizzo https://github.com/ultralytics/ultralytics/blob/main/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.2 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 (test2017.zip excluded: ground truth is withheld, only used for the CodaLab test-dev split)
urls = [
"http://images.cocodataset.org/zips/train2017.zip", # 19G, 118k images
"http://images.cocodataset.org/zips/val2017.zip", # 1G, 5k images
]
download(urls, dir=dir / "images", threads=3)Utilizzo#
Per addestrare un modello YOLO26n-pose sul dataset COCO-Pose per 100 epoche con una dimensione delle immagini di 640, puoi utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, consulta la pagina Addestramento del modello.
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)Immagini ed esempi di annotazioni#
Il dataset COCO-Pose contiene un insieme eterogeneo di immagini con figure umane annotate con punti chiave. Ecco alcuni esempi di immagini del dataset, insieme alle relative annotazioni:

- Immagine a mosaico: questa immagine mostra un batch di addestramento composto da immagini del dataset unite a mosaico. La composizione a mosaico è 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 ogni batch di addestramento. Questo contribuisce a migliorare la capacità del modello di generalizzare a diverse dimensioni degli oggetti, proporzioni e contesti.
L'esempio mostra la varietà e la complessità delle immagini nel dataset COCO-Pose e i vantaggi dell'utilizzo della mosaicatura durante il processo di addestramento.
Citazioni e ringraziamenti#
Se utilizzi il dataset COCO-Pose nel tuo lavoro di ricerca o sviluppo, cita il seguente articolo:
@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 COCO Consortium 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, visita il sito web del dataset COCO.
FAQ#
COCO-Pose fornisce le immagini e le annotazioni di COCO Keypoints 2017 convertite nel formato dei punti chiave YOLO, utilizzando uno schema a 17 punti chiave su 58.945 immagini. Indica il file
data=coco-pose.yamla qualsiasi modello Ultralytics YOLO per la posa, quindi consulta la pagina Addestramento, che documenta ogni argomento che puoi configurare.Carica
yolo26n-pose.pte chiamamodel.train(data="coco-pose.yaml", epochs=100, imgsz=640): consulta il Esempio di addestramento qui sopra per i frammenti completi in Python e CLI, e la pagina sull'addestramento per un elenco completo degli argomenti.Il dataset COCO-Pose fornisce diverse metriche di valutazione standardizzate per le attività di stima della posa, analoghe a quelle del dataset COCO originale. Tra le metriche principali vi è la Similarità dei punti chiave degli oggetti (OKS), che valuta l'accuratezza dei punti chiave previsti rispetto alle annotazioni della verità di riferimento. Queste metriche consentono confronti approfonditi delle prestazioni tra modelli diversi. Ad esempio, i modelli COCO-Pose preaddestrati come YOLO26n-pose, YOLO26s-pose e altri presentano metriche specifiche elencate nella documentazione, come mAPpose50-95 e mAPpose50.
COCO-Pose include due split con etichette: 56.599 immagini train2017 e 2.346 immagini val2017. Un terzo split, test-dev2017 (20.288 delle 40.670 immagini test2017 totali), mantiene privata la verità di riferimento; il YAML del dataset lo collega al server di valutazione dei punti chiave COCO test-dev. Consulta la sezione Struttura del dataset oppure il file
coco-pose.yamlsu GitHub per i percorsi esatti degli split.COCO-Pose utilizza 17 tipi di punti chiave umani ed eredita le metriche standardizzate di COCO, tra cui la Similarità dei punti chiave degli oggetti (OKS), per confrontare i modelli. Questa combinazione è adatta ad applicazioni sulla posa umana come l'analisi sportiva, la sanità e l'interazione uomo-computer. I pesi YOLO26-pose preaddestrati sono elencati nella sezione Modelli COCO-Pose preaddestrati.
Per ulteriori informazioni sui modelli di keypoint, consulta la documentazione dell'attività Stima della posa.



