Jeu de données COCO-Pose#
Le jeu de données COCO-Pose adapte COCO (objets courants dans leur contexte) à 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. Il s’agit du jeu de référence pour entraîner et évaluer des modèles de détection de points clés tels que Ultralytics YOLO26, et son sous-ensemble de 8 images, COCO8-Pose, reprend son format pour faciliter les contrôles de cohérence.

Modèles préentraînés COCO-Pose#
| Modèle | taille (pixels) | mAPpose 50-95(e2e) | mAPpose 50(e2e) | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (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 |
Fonctionnalités clés#
- COCO-Pose s’appuie sur le défi COCO Keypoints 2017, qui annote 1 710 498 points clés individuels répartis sur 156 165 personnes.
- 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 normalisées, notamment la similarité des points clés d’objet (OKS) pour les tâches d’estimation de pose, ce qui permet de comparer les performances des modèles.
- Taille du téléchargement : ~20.2 GB lors de la première utilisation (
train2017.zip+val2017.zip+ annotations). Le fichiertest2017.zipde 7 GB n’est pas téléchargé automatiquement, car ces images n’ont pas de vérité terrain disponible 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 ne comprend que les images COCO 2017 où des personnes sont annotées avec des points clés ; ses sous-ensembles annotés sont donc plus petits que l’ensemble complet COCO. Son fichier YAML définit trois sous-ensembles :
- Train2017 : ce sous-ensemble contient 56 599 images du jeu de données COCO, annotées pour l’entraînement de modèles d’estimation de pose.
- Val2017 : ce sous-ensemble contient 2 346 images utilisées pour la validation pendant l’entraînement des modèles.
- Test-dev2017 : un sous-ensemble de 20 288 images issu de l’ensemble test2017 complet, qui compte 40 670 images et dont la vérité terrain est masquée. Le fichier YAML du jeu de données associe ce sous-ensemble au serveur d’évaluation des points clés COCO test-dev.
C’est à cette échelle que Ultralytics Platform est la plus utile : elle gère les ressources de calcul, afin que tu puisses lancer et suivre les exécutions sans configurer tes propres GPU.
Applications#
Le jeu de données COCO-Pose sert spécifiquement à entraîner et à évaluer des modèles d’apprentissage profond pour la détection de points clés et l’estimation de pose. Le grand nombre d’images annotées et les métriques d’évaluation normalisées de ce jeu de données en font une ressource essentielle pour les chercheurs et les professionnels de la vision par ordinateur qui travaillent sur la pose humaine.
Fichier YAML du jeu de données#
Un fichier YAML sert à définir la configuration du jeu de données. Il contient des informations sur les chemins d’accès, les classes et d’autres éléments pertinents du jeu de données. Pour le jeu de données COCO-Pose, le fichier coco-pose.yaml est maintenu à l’adresse 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)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 consulter la liste complète des arguments disponibles, rends-toi sur la page d’entraînement du modèle.
from ultralytics import YOLO
# Charger un modèle
model = YOLO("yolo26n-pose.pt") # charger un modèle préentraîné (recommandé pour l’entraînement)
# Entraîner le modèle
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 varié d’images de personnes annotées avec des points clés. Voici quelques exemples d’images du jeu de données, accompagnées de leurs annotations correspondantes :

- Image en mosaïque : cette image montre un lot d’entraînement composé d’images du jeu de données assemblées en mosaïque. La mosaïque est une technique utilisée pendant l’entraînement qui combine plusieurs images en une seule afin d’augmenter la variété des objets et des scènes dans chaque lot d’entraînement. Elle aide le modèle à mieux généraliser à différentes tailles d’objets, proportions et contextes.
L’exemple illustre la variété et la complexité des images du jeu de données COCO-Pose, ainsi que les avantages de la mosaïque pendant l’entraînement.
Citations et remerciements#
Si tu utilises le jeu de données COCO-Pose dans le cadre de tes travaux de recherche ou de développement, cite l’article suivant :
@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 d’avoir créé et maintenu cette précieuse ressource pour la communauté de la vision par ordinateur. Pour en savoir plus sur le jeu de données COCO-Pose et ses créateurs, consulte le site web du jeu de données COCO.
FAQ#
COCO-Pose fournit les images et les annotations COCO Keypoints 2017 converties au format de points clés YOLO, selon un schéma de 17 points clés répartis sur 58 945 images. Indique-le à n’importe quel modèle de pose Ultralytics YOLO avec
data=coco-pose.yaml, et la page Entraînement décrit tous les paramètres que tu peux régler.Charge
yolo26n-pose.ptet appellemodel.train(data="coco-pose.yaml", epochs=100, imgsz=640)— consulte l’exemple d’entraînement ci-dessus pour voir tous les extraits Python et CLI, et la page sur l’entraînement pour une liste complète des paramètres.Le jeu de données COCO-Pose fournit plusieurs métriques d’évaluation normalisées pour les tâches d’estimation de pose, similaires à celles du jeu de données COCO d’origine. Parmi les principales métriques figure la similarité des points clés des objets (OKS), qui évalue l’exactitude des points clés prédits par rapport aux annotations de référence. Ces métriques permettent de comparer rigoureusement les performances de différents modèles. Par exemple, les modèles préentraînés COCO-Pose tels que YOLO26n-pose, YOLO26s-pose et d’autres possèdent des métriques de performance spécifiques répertoriées dans la documentation, comme mAPpose50-95 et mAPpose50.
COCO-Pose comprend deux splits annotés : 56 599 images train2017 et 2 346 images val2017. Un troisième split, test-dev2017 (20 288 des 40 670 images test2017 au total), garde ses annotations de référence privées ; le fichier YAML du jeu de données renvoie 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.yamlsur GitHub pour connaître les chemins exacts des splits.COCO-Pose utilise 17 types de points clés humains et reprend les métriques normalisées de COCO, notamment la similarité des points clés des objets (OKS), pour comparer les modèles. Cette combinaison convient aux applications d’estimation de pose humaine, comme l’analyse sportive, la santé et l’interaction humain-ordinateur. Les poids YOLO26-pose préentraînés sont répertoriés dans la section Modèles COCO-Pose préentraînés.
Pour en savoir plus sur les modèles à points clés, consulte la documentation de la tâche Estimation de pose.



