Link to this sectionDataset COCO-Pose#
Il dataset COCO-Pose adatta COCO (Common Objects in Context) per la pose estimation: 58.945 immagini da COCO Keypoints 2017, annotate con 156.165 persone usando uno schema a 17 keypoint. È il set standard per l'addestramento e il benchmarking di modelli di keypoint come Ultralytics YOLO26, e il subset da 8 immagini COCO8-Pose ne rispecchia il formato per rapidi controlli di integrità.

Link to this sectionModelli preaddestrati COCO-Pose#
| Modello | dimensione (pixel) | mAPpose 50-95(e2e) | mAPpose 50(e2e) | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n-pose | 640 | 57.2 | 83.3 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.5 |
| YOLO26s-pose | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 23.9 |
| YOLO26m-pose | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.1 |
| YOLO26l-pose | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.3 |
| YOLO26x-pose | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 201.7 |
Link to this sectionCaratteristiche principali#
- COCO-Pose si basa sulla sfida COCO Keypoints 2017, che etichetta 1.710.498 singoli keypoint su 156.165 persone annotate.
- Ogni annotazione di persona utilizza 17 tipi di keypoint — 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 l'Object Keypoint Similarity (OKS) per le attività di stima della posa, rendendolo adatto a confrontare le 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é quelle immagini hanno la ground truth riservata e sono necessarie solo per una sottomissione a test-dev2017.
Link to this sectionStruttura del dataset#
Per l'addestramento e la validazione, COCO-Pose include solo immagini COCO 2017 con persone annotate con keypoint, quindi i suoi split etichettati sono più piccoli del COCO completo. Il suo YAML definisce tre subset:
- Train2017: questo subset contiene 56.599 immagini dal dataset COCO, annotate per l'addestramento di modelli di pose estimation.
- Val2017: questo subset ha 2.346 immagini utilizzate per scopi di validazione durante l'addestramento del modello.
- Test-dev2017: un subset di 20.288 immagini estratte dal set completo test2017 di 40.670 immagini con ground truth riservato. Lo YAML del dataset collega questo split al COCO test-dev keypoints evaluation server.
L'addestramento su questa scala è dove Ultralytics Platform aiuta di più: gestisce il calcolo così puoi avviare e monitorare le esecuzioni senza dover configurare le tue GPU.
Link to this sectionApplicazioni#
Il dataset COCO-Pose viene utilizzato specificamente per l'addestramento e la valutazione di modelli di deep learning sul rilevamento di keypoint e sulla pose estimation. L'elevato numero di immagini annotate del dataset e le metriche di valutazione standardizzate lo rendono una risorsa essenziale per i ricercatori e i professionisti di computer vision che lavorano sulla posa umana.
Link to this sectionDataset YAML#
Un file YAML viene utilizzato per definire la configurazione del dataset. Contiene informazioni sui percorsi, le classi e altre informazioni rilevanti del dataset. Nel caso del dataset COCO-Pose, il file coco-pose.yaml è mantenuto su 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)Link to this sectionUtilizzo#
Per addestrare un modello YOLO26n-pose sul dataset COCO-Pose per 100 epoch con una dimensione dell'immagine di 640, puoi usare i seguenti snippet di codice. Per un elenco completo degli argomenti disponibili, fai riferimento alla pagina di addestramento.
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)Link to this sectionEsempi di immagini e annotazioni#
Il dataset COCO-Pose contiene un set diversificato di immagini con figure umane annotate con keypoint. Ecco alcuni esempi di immagini dal dataset, insieme alle relative annotazioni:

- Immagine Mosaico: Questa immagine mostra un batch di addestramento composto da immagini del dataset a mosaico. Il 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. Ciò aiuta a migliorare la capacità del modello di generalizzare a diverse dimensioni, proporzioni e contesti degli oggetti.
L'esempio mostra la varietà e la complessità delle immagini nel dataset COCO-Pose e i vantaggi dell'utilizzo del mosaico durante il processo di addestramento.
Link to this sectionCitazioni e riconoscimenti#
Se utilizzi il dataset COCO-Pose nel tuo lavoro di ricerca o sviluppo, cita 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 COCO Consortium per aver creato e mantenuto questa preziosa risorsa per la comunità della computer vision. Per maggiori informazioni sul dataset COCO-Pose e sui suoi creatori, visita il sito web del dataset COCO.
Link to this sectionFAQ#
Link to this sectionCos'è il dataset COCO-Pose e come viene utilizzato con Ultralytics YOLO per la stima della posa?#
COCO-Pose fornisce le immagini e le annotazioni di COCO Keypoints 2017 convertite nel formato keypoint YOLO, utilizzando uno schema a 17 keypoint su 58.945 immagini. Punta un qualsiasi modello di pose YOLO di Ultralytics verso di esso con data=coco-pose.yaml, e la pagina Training documenta ogni argomento che puoi regolare da lì.
Link to this sectionCome posso addestrare un modello YOLO26 sul dataset COCO-Pose?#
Carica yolo26n-pose.pt e chiama model.train(data="coco-pose.yaml", epochs=100, imgsz=640) — vedi l'esempio di addestramento qui sopra per gli snippet completi di Python e CLI, e la pagina di addestramento per un elenco completo degli argomenti.
Link to this sectionQuali sono le diverse metriche fornite dal dataset COCO-Pose per valutare le prestazioni del modello?#
Il dataset COCO-Pose fornisce diverse metriche di valutazione standardizzate per le attività di stima della posa, simili al dataset COCO originale. Le metriche chiave includono l'Object Keypoint Similarity (OKS), che valuta l'accuratezza dei keypoint previsti rispetto alle annotazioni ground truth. Queste metriche consentono confronti approfonditi delle prestazioni tra diversi modelli. Ad esempio, i modelli preaddestrati COCO-Pose come YOLO26n-pose, YOLO26s-pose e altri hanno metriche di prestazione specifiche elencate nella documentazione, come mAPpose50-95 e mAPpose50.
Link to this sectionCom'è strutturato e suddiviso il dataset COCO-Pose?#
COCO-Pose fornisce due split etichettati: 56.599 immagini train2017 e 2.346 immagini val2017. Un terzo split, test-dev2017 (20.288 delle 40.670 immagini totali di test2017), mantiene privato il proprio ground truth; lo YAML del dataset lo collega al COCO test-dev keypoints evaluation server. Vedi la sezione Struttura del dataset o il file coco-pose.yaml su GitHub per i percorsi esatti degli split.
Link to this sectionQuali sono le caratteristiche chiave e le applicazioni del dataset COCO-Pose?#
COCO-Pose utilizza 17 tipi di keypoint umani ed eredita le metriche standardizzate di COCO, inclusa la Object Keypoint Similarity (OKS), per confrontare i modelli. Questa combinazione si adatta ad applicazioni di posa umana come analisi sportiva, assistenza sanitaria e interazione uomo-computer. I pesi preaddestrati di YOLO26-pose sono elencati sotto Modelli preaddestrati COCO-Pose.
Per saperne di più sui modelli di keypoint, consulta la documentazione sull'attività di Pose Estimation.