Meet YOLO26: next-gen vision AI.

Link to this sectionDataset COCO-Pose#

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

Stima della posa COCO con keypoint umani

Link to this sectionModelli preaddestrati COCO-Pose#

Modellodimensione
(pixel)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7

Link to this sectionCaratteristiche principali#

  • COCO-Pose si basa sul dataset COCO Keypoints 2017 che contiene 200.000 immagini etichettate con keypoint per attività di stima della posa.
  • Il dataset supporta 17 keypoint per le figure umane, facilitando una 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, rendendolo adatto a confrontare le prestazioni dei modelli.

Link to this sectionStruttura del dataset#

Il dataset COCO-Pose è suddiviso in tre subset:

  1. Train2017: questo subset contiene 56599 immagini dal dataset COCO, annotate per l'addestramento di modelli di stima della posa.
  2. Val2017: questo subset contiene 2346 immagini utilizzate a scopo di validazione durante l'addestramento del modello.
  3. Test2017: Questo subset è composto da immagini utilizzate per il test e il benchmarking dei modelli addestrati. Le annotazioni ground truth per questo subset non sono disponibili pubblicamente e i risultati vengono inviati al COCO evaluation server per la valutazione delle prestazioni.

Link to this sectionApplicazioni#

Il dataset COCO-Pose viene utilizzato specificamente per l'addestramento e la valutazione di modelli di deep learning in attività di rilevamento di keypoint e stima della posa, come OpenPose. Il gran 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 focalizzati sulla stima della posa.

Link to this sectionDataset YAML#

Un file YAML (Yet Another Markup Language) viene utilizzato per definire la configurazione del dataset. Contiene informazioni sui percorsi del dataset, sulle classi e altre informazioni rilevanti. 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/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.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: 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
  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)

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.

Esempio 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:

Batch di addestramento mosaico del dataset di stima della posa COCO

  • 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:

Citazione
@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?#

Il dataset COCO-Pose è una versione specializzata del dataset COCO (Common Objects in Context) progettata per le attività 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, puoi usare il dataset COCO-Pose per addestrare un modello YOLO26n-pose caricando un modello preaddestrato e addestrandolo con una configurazione YAML. Per esempi di addestramento, consulta la documentazione sull'addestramento.

Link to this sectionCome posso addestrare un modello YOLO26 sul dataset COCO-Pose?#

L'addestramento di un modello YOLO26 sul dataset COCO-Pose può essere effettuato utilizzando comandi Python o CLI. Ad esempio, per addestrare un modello YOLO26n-pose per 100 epoch con una dimensione dell'immagine di 640, puoi seguire i passaggi seguenti:

Esempio 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)

Per maggiori dettagli sul processo di addestramento e sugli argomenti disponibili, controlla la pagina di addestramento.

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?#

Il dataset COCO-Pose è suddiviso in tre subset:

  1. Train2017: contiene 56599 immagini COCO, annotate per l'addestramento di modelli di stima della posa.
  2. Val2017: 2346 immagini a scopo di validazione durante l'addestramento del modello.
  3. Test2017: Immagini utilizzate per testare e confrontare i modelli addestrati. Le annotazioni ground truth per questo subset non sono disponibili pubblicamente; i risultati vengono inviati al COCO evaluation server per la valutazione delle prestazioni.

Questi subset aiutano a organizzare efficacemente le fasi di addestramento, validazione e test. Per dettagli sulla configurazione, esplora il file coco-pose.yaml disponibile su GitHub.

Link to this sectionQuali sono le caratteristiche chiave e le applicazioni del dataset COCO-Pose?#

Il dataset COCO-Pose estende le annotazioni di COCO Keypoints 2017 per includere 17 keypoint per le figure umane, consentendo una stima dettagliata della posa. Metriche di valutazione standardizzate (ad esempio, OKS) facilitano i confronti tra diversi modelli. Le applicazioni del dataset COCO-Pose spaziano in vari settori, come l'analisi sportiva, l'assistenza sanitaria e l'interazione uomo-computer, ovunque sia richiesta una stima dettagliata della posa delle figure umane. Per un uso pratico, sfruttare modelli preaddestrati come quelli forniti nella documentazione (ad esempio, YOLO26n-pose) può semplificare notevolmente il processo (Caratteristiche chiave).

Se utilizzi il dataset COCO-Pose nel tuo lavoro di ricerca o sviluppo, cita il documento con la seguente voce BibTeX.

Commenti