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 di 17 punti chiave. È il dataset standard per addestrare e confrontare modelli di rilevamento dei punti chiave come Ultralytics YOLO26; il sottoinsieme COCO8-Pose di 8 immagini ne riproduce il formato per eseguire rapidamente controlli di coerenza.

Modelli preaddestrati COCO-Pose#
| 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 sfida COCO Keypoints 2017, che etichetta 1.710.498 punti chiave individuali su 156.165 persone annotate.
- Ogni annotazione di una persona usa 17 tipi di punti chiave — naso, occhi, orecchie, spalle, gomiti, polsi, fianchi, ginocchia e caviglie — memorizzati come triple
(x, y, visibility). - Come COCO, offre metriche di valutazione standardizzate, tra cui la similarità dei punti chiave degli oggetti (OKS) per le attività di stima della posa, risultando quindi adatto al confronto delle prestazioni dei modelli.
- Dimensione del download: ~20,2 GB al primo utilizzo (
train2017.zip+val2017.zip+ etichette). I 7 GB ditest2017.zipnon vengono scaricati automaticamente, poiché le immagini non includono le annotazioni di riferimento e servono 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 tramite punti chiave, quindi i suoi sottoinsiemi etichettati sono più piccoli del dataset COCO completo. Il file YAML definisce tre sottoinsiemi:
- Train2017: questo sottoinsieme contiene 56.599 immagini del dataset COCO, annotate per addestrare modelli di stima della posa.
- Val2017: questo sottoinsieme contiene 2.346 immagini usate per la convalida durante l'addestramento del modello.
- Test-dev2017: sottoinsieme di 20.288 immagini del set test2017 completo, che ne contiene 40.670, senza annotazioni di riferimento disponibili. Il file YAML del dataset collega questo sottoinsieme al server di valutazione dei punti chiave COCO test-dev.
È nell'addestramento su questa scala che Ultralytics Platform offre il massimo supporto: gestisce le risorse di calcolo, così puoi avviare e monitorare le esecuzioni senza dover predisporre le tue GPU.
Applicazioni#
Il dataset COCO-Pose viene usato specificamente per addestrare e valutare modelli di deep learning per il rilevamento dei punti chiave e la stima della posa. L'elevato numero di immagini annotate e le metriche di valutazione standardizzate rendono il dataset una risorsa essenziale per ricercatori e professionisti della visione artificiale che lavorano sulla posa umana.
YAML del dataset#
Per definire la configurazione del dataset si usa un file YAML. Il file contiene informazioni sui percorsi, sulle classi e altri dati pertinenti. Per il dataset COCO-Pose, il file coco-pose.yaml è gestito in 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 usare i seguenti frammenti di codice. Per l'elenco completo degli argomenti disponibili, consulta la pagina Addestramento del modello.
from ultralytics import YOLO
# Carica un modello
model = YOLO("yolo26n-pose.pt") # carica un modello preaddestrato (consigliato per l'addestramento)
# Addestra il modello
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)Immagini di esempio e annotazioni#
Il dataset COCO-Pose contiene una raccolta eterogenea di immagini con figure umane annotate con keypoint. 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 in un mosaico. La creazione di mosaici è una tecnica utilizzata durante l'addestramento che combina più immagini in una sola per aumentare la varietà di oggetti e scene in ogni batch di addestramento. Questo aiuta a migliorare la capacità del modello di generalizzare a oggetti di dimensioni e proporzioni diverse e a contesti differenti.
L'esempio mostra la varietà e la complessità delle immagini del dataset COCO-Pose e i vantaggi dell'uso del mosaico durante il processo di training.
Citazioni e ringraziamenti#
Se usi 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 visione artificiale. Per ulteriori informazioni sul dataset COCO-Pose e sui suoi creatori, visita il sito web del dataset COCO.
Domande frequenti#
COCO-Pose fornisce le immagini e le annotazioni di COCO Keypoints 2017 convertite nel formato YOLO per i keypoint, usando uno schema a 17 keypoint su 58.945 immagini. Indica il percorso del dataset a qualsiasi modello Ultralytics YOLO per la posa con
data=coco-pose.yaml; la pagina Training documenta tutti gli argomenti che puoi configurare.Carica
yolo26n-pose.pte chiamamodel.train(data="coco-pose.yaml", epochs=100, imgsz=640)— consulta l'esempio Train Example qui sopra per gli snippet completi in Python e CLI e la pagina di training per l'elenco completo degli argomenti.Il dataset COCO-Pose fornisce diverse metriche di valutazione standardizzate per le attività di stima della posa, simili a quelle del dataset COCO originale. Tra le metriche principali figura Object Keypoint Similarity (OKS), che valuta l'accuratezza dei keypoint previsti rispetto alle annotazioni di riferimento. Queste metriche consentono confronti approfonditi delle prestazioni tra modelli diversi. Ad esempio, i modelli pretrained COCO-Pose come YOLO26n-pose, YOLO26s-pose e altri presentano metriche specifiche elencate nella documentazione, come mAPpose50-95 e mAPpose50.
COCO-Pose include due split etichettati: 56.599 immagini train2017 e 2.346 immagini val2017. Un terzo split, test-dev2017 (20.288 delle 40.670 immagini test2017 totali), mantiene private le annotazioni di riferimento; il file YAML del dataset rimanda al server di valutazione dei keypoint COCO test-dev. Consulta la sezione Struttura del dataset oppure il file
coco-pose.yamlsu GitHub per conoscere i percorsi esatti degli split.COCO-Pose usa 17 tipi di keypoint umani ed eredita le metriche standardizzate di COCO, tra cui Object Keypoint Similarity (OKS), per confrontare i modelli. Questa combinazione è adatta ad applicazioni di stima della posa umana come l'analisi sportiva, l'assistenza sanitaria e l'interazione uomo-computer. I pesi pretrained YOLO26-pose sono elencati in Modelli pretrained COCO-Pose.
Per ulteriori informazioni sui modelli basati sui keypoint, consulta la documentazione dell'attività Stima della posa.



