YOLO Vision 2026 :

Jeu de données COCO-Pose#

Le jeu de données COCO-Pose adapte COCO (Common Objects in Context) pour l'estimation de pose : 58 945 images issues de COCO Keypoints 2017, annotées avec 156 165 personnes selon un schéma de 17 points clés. C'est l'ensemble standard pour l'entraînement et l'évaluation comparative de modèles de points clés tels qu'Ultralytics YOLO26, et le sous-ensemble COCO8-Pose de 8 images en reproduit le format pour des vérifications rapides.

Estimation de pose COCO avec des points clés humains

Modèles pré-entraînés COCO-Pose#

Modèletaille
(pixels)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Vitesse
CPU ONNX
(ms)
Vitesse
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

Fonctionnalités clés#

  • COCO-Pose s'appuie sur le défi COCO Keypoints 2017, qui étiquette 1 710 498 points clés individuels répartis sur 156 165 personnes annotées.
  • Chaque annotation de personne utilise 17 types de points clés — nez, yeux, oreilles, épaules, coudes, poignets, hanches, genoux et chevilles — stockés sous forme de triplets (x, y, visibility).
  • Comme COCO, il fournit des métriques d'évaluation standardisées, incluant l'Object Keypoint Similarity (OKS) pour les tâches d'estimation de pose, ce qui le rend adapté à la comparaison des performances des modèles.
  • Taille du téléchargement : ~20,2 Go à la première utilisation (train2017.zip + val2017.zip + étiquettes). Le fichier test2017.zip de 7 Go n'est pas récupéré automatiquement, car ces images ont des vérités terrain masquées et ne sont nécessaires que pour une soumission test-dev2017.

Structure du jeu de données#

Pour l'entraînement et la validation, COCO-Pose n'inclut que les images COCO 2017 avec des personnes annotées par des points clés, ses jeux de données étiquetés sont donc plus petits que ceux du COCO complet. Son YAML définit trois sous-ensembles :

  1. Train2017 : Ce sous-ensemble contient 56 599 images issues du jeu de données COCO, annotées pour l'entraînement de modèles d'estimation de pose.
  2. Val2017 : Ce sous-ensemble comporte 2 346 images utilisées à des fins de validation pendant l'entraînement du modèle.
  3. Test-dev2017 : Un sous-ensemble de 20 288 images tiré de l'ensemble test2017 complet de 40 670 images, avec des vérités terrain masquées. Le fichier YAML du dataset associe cette division au serveur d'évaluation des points clés COCO test-dev.

L'entraînement à cette échelle est le domaine où la plateforme Ultralytics apporte le plus d'aide : elle gère la puissance de calcul afin que tu puisses lancer et surveiller des exécutions sans avoir à provisionner tes propres GPU.

Applications#

Le jeu de données COCO-Pose est spécifiquement utilisé pour l'entraînement et l'évaluation de modèles de deep learning sur la détection de points clés et l'estimation de pose. Le grand nombre d'images annotées du dataset et ses métriques d'évaluation standardisées en font une ressource essentielle pour les chercheurs et praticiens en vision par ordinateur travaillant sur la pose humaine.

YAML du jeu de données#

Un fichier YAML est utilisé pour définir la configuration du jeu de données. Il contient des informations sur les chemins, les classes et d'autres éléments pertinents du dataset. Dans le cas du jeu de données COCO-Pose, le fichier coco-pose.yaml est hébergé à l'adresse 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.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)

Utilisation#

Pour entraîner un modèle YOLO26n-pose sur le jeu de données COCO-Pose pendant 100 époques avec une taille d'image de 640, tu peux utiliser les extraits de code suivants. Pour une liste complète des arguments disponibles, consulte la page d'entraînement du modèle.

Exemple d'entraînement
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)

Exemples d'images et annotations#

Le jeu de données COCO-Pose contient un ensemble diversifié d'images avec des silhouettes humaines annotées avec des points clés. Voici quelques exemples d'images issues du jeu de données, accompagnées de leurs annotations correspondantes :

Lot d'entraînement en mosaïque du jeu de données d'estimation de pose COCO

  • Image mosaïquée : Cette image montre un lot d'entraînement composé d'images du jeu de données mosaïquées. La mosaïque est une technique utilisée pendant l'entraînement qui combine plusieurs images en une seule pour augmenter la variété des objets et des scènes au sein de chaque lot d'entraînement. Cela aide à améliorer la capacité du modèle à généraliser à différentes tailles d'objets, ratios d'aspect et contextes.

L'exemple met en valeur la variété et la complexité des images dans le jeu de données COCO-Pose ainsi que les avantages de l'utilisation de la mosaïque pendant le processus d'entraînement.

Citations et remerciements#

Si tu utilises le jeu de données COCO-Pose dans tes travaux de recherche ou de développement, merci de citer l'article suivant :

Citation
@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}
}

Nous tenons à remercier le consortium COCO pour la création et la maintenance de cette ressource précieuse pour la communauté de la vision par ordinateur. Pour plus d'informations sur le jeu de données COCO-Pose et ses créateurs, visite le site web du jeu de données COCO.

FAQ#

  • COCO-Pose fournit les images et les annotations de COCO Keypoints 2017 converties au format de points clés YOLO, en utilisant un schéma de 17 points clés répartis sur 58 945 images. Pointez n'importe quel modèle de pose Ultralytics YOLO vers celui-ci avec data=coco-pose.yaml, et la page d'entraînement documente chaque argument que tu peux régler à partir de là.

  • Charge yolo26n-pose.pt et appelle model.train(data="coco-pose.yaml", epochs=100, imgsz=640) — consulte l'exemple d'entraînement ci-dessus pour les extraits complets en Python et en CLI, ainsi que la page d'entraînement pour une liste complète des arguments.

  • Le jeu de données COCO-Pose fournit plusieurs métriques d'évaluation standardisées pour les tâches d'estimation de pose, similaires au jeu de données COCO d'origine. Les métriques clés incluent la similarité des points clés d'objets (OKS), qui évalue la précision des points clés prédits par rapport aux annotations de vérité terrain. Ces métriques permettent des comparaisons de performance approfondies entre différents modèles. Par exemple, les modèles pré-entraînés COCO-Pose tels que YOLO26n-pose, YOLO26s-pose et d'autres ont des métriques de performance spécifiques répertoriées dans la documentation, telles que mAPpose50-95 et mAPpose50.

  • COCO-Pose propose deux divisions étiquetées : 56 599 images train2017 et 2 346 images val2017. Une troisième division, test-dev2017 (20 288 des 40 670 images test2017 au total), garde sa vérité terrain confidentielle ; le fichier YAML du dataset la relie au serveur d'évaluation des points clés COCO test-dev. Consulte la section Structure du jeu de données ou le fichier coco-pose.yaml sur GitHub pour connaître les chemins exacts des divisions.

  • COCO-Pose utilise 17 types de points clés humains et hérite des métriques standardisées de COCO, y compris la similarité des points clés d'objets (OKS), pour comparer les modèles. Cette combinaison convient aux applications de pose humaine telles que l'analyse sportive, la santé et l'interaction homme-machine. Les poids pré-entraînés YOLO26-pose sont répertoriés sous Modèles pré-entraînés COCO-Pose.

    Pour en savoir plus sur les modèles de points clés, consulte la documentation de la tâche d'estimation de pose.

Commentaires