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

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

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