Датасет COCO-Pose#
Датасет COCO-Pose адаптирует COCO (Объекты в контексте) для оценки позы: 58 945 изображений из COCO Keypoints 2017, размеченных для 156 165 людей с использованием схемы из 17 ключевых точек. Это стандартный набор для обучения и бенчмаркинга моделей ключевых точек, таких как Ultralytics YOLO26, а подмножество COCO8-Pose из 8 изображений повторяет его формат для быстрой проверки работоспособности.

Предобученные модели COCO-Pose#
| Модель | размер (пиксели) | mAPpose 50-95(e2e) | mAPpose 50(e2e) | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (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 |
Ключевые особенности#
- COCO-Pose основан на соревновании COCO Keypoints 2017, в рамках которого размечено 1 710 498 отдельных ключевых точек для 156 165 размеченных людей.
- Для каждой разметки человека используются 17 типов ключевых точек — нос, глаза, уши, плечи, локти, запястья, бёдра, колени и лодыжки, — сохранённых в виде троек
(x, y, visibility). - Как и COCO, он предоставляет стандартизированные метрики оценки, включая Object Keypoint Similarity (OKS) для задач оценки позы, что делает его подходящим для сравнения производительности моделей.
- Размер загрузки: ~20,2 GB при первом использовании (
train2017.zip+val2017.zip+ разметка). Файлtest2017.zipразмером 7 GB не загружается автоматически, поскольку для этих изображений эталонная разметка скрыта и они нужны только для отправки test-dev2017.
Структура датасета#
Для обучения и валидации COCO-Pose включает только изображения COCO 2017 с людьми, размеченными ключевыми точками, поэтому его размеченные подмножества меньше, чем у полного COCO. В YAML-файле определены три подмножества:
- Train2017: это подмножество содержит 56 599 изображений из датасета COCO, размеченных для обучения моделей оценки позы.
- Val2017: это подмножество содержит 2 346 изображений, используемых для валидации во время обучения модели.
- Test-dev2017: подмножество из 20 288 изображений полного набора test2017, содержащего 40 670 изображений, с закрытой эталонной разметкой. YAML-файл датасета связывает это подмножество с сервером оценки ключевых точек COCO test-dev.
Именно при обучении в таком масштабе Ultralytics Platform особенно полезна — она управляет вычислительными ресурсами, чтобы ты мог запускать и отслеживать эксперименты без самостоятельного выделения GPU.
Применения#
Датасет COCO-Pose предназначен для обучения и оценки моделей глубокого обучения в задачах обнаружения ключевых точек и оценки позы. Большое количество размеченных изображений и стандартизированные метрики оценки делают его важным ресурсом для исследователей и практиков в области компьютерного зрения, работающих с позой человека.
YAML датасета#
Для определения конфигурации датасета используется YAML-файл. Он содержит информацию о путях к датасету, классах и другие сведения. В случае датасета COCO-Pose файл coco-pose.yaml поддерживается по адресу 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)Использование#
Чтобы обучить модель YOLO26n-pose на датасете COCO-Pose в течение 100 эпох с размером изображения 640, можно использовать следующие фрагменты кода. Полный список доступных аргументов приведён на странице обучения модели.
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)Примеры изображений и аннотаций#
Датасет COCO-Pose содержит разнообразный набор изображений с фигурами людей, размеченными ключевыми точками. Ниже приведены примеры изображений из датасета вместе с соответствующей разметкой:

- Мозаичное изображение: на этом изображении показан обучающий батч, составленный из мозаичных изображений датасета. Мозаицирование — это применяемая во время обучения техника, которая объединяет несколько изображений в одно, чтобы увеличить разнообразие объектов и сцен в каждом обучающем батче. Это помогает улучшить способность модели обобщать данные для объектов разных размеров, с разными соотношениями сторон и в разных контекстах.
Этот пример демонстрирует разнообразие и сложность изображений в датасете COCO-Pose, а также преимущества использования мозаичного объединения в процессе обучения.
Цитирование и благодарности#
Если ты используешь датасет COCO-Pose в исследовательской или разработческой работе, пожалуйста, процитируй следующую статью:
@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}
}Мы выражаем благодарность COCO Consortium за создание и поддержку этого ценного ресурса для сообщества компьютерного зрения. Дополнительную информацию о датасете COCO-Pose и его создателях можно найти на веб-сайте датасета COCO.
Часто задаваемые вопросы#
COCO-Pose предоставляет изображения и разметку COCO Keypoints 2017, преобразованные в формат ключевых точек YOLO, со схемой из 17 ключевых точек для 58 945 изображений. Укажи любую модель Ultralytics YOLO для оценки позы на
data=coco-pose.yaml, а на странице обучения описаны все аргументы, которые ты можешь настроить.Загрузи
yolo26n-pose.ptи вызовиmodel.train(data="coco-pose.yaml", epochs=100, imgsz=640)— полный пример фрагментов кода для Python и CLI приведён выше в разделе Пример обучения, а полный список аргументов — на странице обучения.Датасет COCO-Pose предоставляет несколько стандартизированных метрик оценки для задач оценки позы, аналогичных метрикам исходного датасета COCO. Ключевые метрики включают Object Keypoint Similarity (OKS), которая оценивает точность предсказанных ключевых точек относительно эталонной разметки. Эти метрики позволяют тщательно сравнивать производительность разных моделей. Например, для предобученных моделей COCO-Pose, таких как YOLO26n-pose, YOLO26s-pose и других, в документации указаны конкретные метрики производительности, например mAPpose50-95 и mAPpose50.
COCO-Pose включает два размеченных подмножества: 56 599 изображений train2017 и 2 346 изображений val2017. Третье подмножество, test-dev2017 (20 288 из 40 670 изображений полного test2017), хранит эталонную разметку закрытой; YAML-файл датасета связывает его с сервером оценки ключевых точек COCO test-dev. Точные пути к подмножествам указаны в разделе Структура датасета или в файле
coco-pose.yamlна GitHub.COCO-Pose использует 17 типов ключевых точек человека и наследует стандартизированные метрики COCO, включая Object Keypoint Similarity (OKS), для сравнения моделей. Такое сочетание подходит для приложений, связанных с позой человека, например для спортивной аналитики, здравоохранения и взаимодействия человека с компьютером. Предобученные веса YOLO26-pose перечислены в разделе Предобученные модели COCO-Pose.
Дополнительную информацию о моделях ключевых точек см. в документации по задаче оценки позы.



