Набор данных COCO-Pose
Набор данных COCO-Pose — это специализированная версия набора данных COCO (Common Objects in Context), предназначенная для задач оценки позы. Он использует изображения и метки COCO Keypoints 2017, чтобы обеспечить обучение моделей, таких как YOLO, для задач оценки позы.

Предварительно обученные модели COCO-Pose
| Модель | размер (пиксели) | mAPpose 50-95 | mAPpose 50 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO11n-pose | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.4 |
| YOLO11s-pose | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2.6 ± 0.0 | 9.9 | 23.1 |
| YOLO11m-pose | 640 | 64.9 | 89.4 | 187.3 ± 0.8 | 4.9 ± 0.1 | 20.9 | 71.4 |
| YOLO11l-pose | 640 | 66.1 | 89.9 | 247.7 ± 1.1 | 6.4 ± 0.1 | 26.1 | 90.3 |
| YOLO11x-pose | 640 | 69.5 | 91.1 | 488.0 ± 13.9 | 12.1 ± 0.2 | 58.8 | 202.8 |
Основные характеристики
- COCO-Pose основан на наборе данных COCO Keypoints 2017, который содержит 200 тысяч изображений, размеченных ключевыми точками для задач оценки позы.
- Набор данных поддерживает 17 ключевых точек для человеческих фигур, что облегчает детальную оценку позы.
- Как и COCO, он предоставляет стандартизированные метрики оценки, включая Object Keypoint Similarity (OKS) для задач оценки позы, что делает его подходящим для сравнения производительности моделей.
Структура набора данных
Датасет COCO-Pose разделен на три подмножества:
- Train2017: Этот поднабор содержит 56599 изображений из набора данных COCO, аннотированных для обучения моделей оценки позы.
- Val2017: Этот поднабор содержит 2346 изображений, используемых для целей валидации во время обучения модели.
- Test2017: Этот поднабор состоит из изображений, используемых для тестирования обученных моделей. Исходные аннотации для этого подмножества общедоступны, и результаты отправляются на сервер оценки COCO для оценки производительности.
Приложения
Датасет COCO-Pose специально используется для обучения и оценки моделей глубокого обучения в задачах keypoint detection и оценки позы, таких как OpenPose. Большое количество аннотированных изображений и стандартизированные метрики оценки делают этот набор данных важным ресурсом для исследователей и практиков в области компьютерного зрения, специализирующихся на оценке позы.
YAML-файл набора данных
Файл YAML (Yet Another Markup Language) используется для определения конфигурации набора данных. Он содержит информацию о путях, классах и другой релевантной информации набора данных. В случае набора данных COCO-Pose, coco-pose.yaml файл поддерживается по адресу 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)
Использование
Для обучения модели YOLO11n-pose на наборе данных COCO-Pose в течение 100 эпох с размером изображения 640 можно использовать следующие фрагменты кода. Полный список доступных аргументов см. на странице Обучение модели.
Пример обучения
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=coco-pose.yaml model=yolo11n-pose.pt 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 и как он используется с Ultralytics YOLO для оценки позы?
Набор данных COCO-Pose — это специализированная версия набора данных COCO (Common Objects in Context), предназначенная для задач оценки позы. Он основан на изображениях и аннотациях COCO Keypoints 2017, что позволяет обучать такие модели, как Ultralytics YOLO, для детальной оценки позы. Например, вы можете использовать набор данных COCO-Pose для обучения модели YOLO11n-pose, загрузив предварительно обученную модель и обучив ее с помощью конфигурации YAML. Примеры обучения см. в документации Обучение.
Как я могу обучить модель YOLO11 на наборе данных COCO-Pose?
Обучение модели YOLO11 на наборе данных COCO-Pose можно выполнить с помощью команд Python или CLI. Например, чтобы обучить модель YOLO11n-pose в течение 100 эпох с размером изображения 640, вы можете выполнить следующие действия:
Пример обучения
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=coco-pose.yaml model=yolo11n-pose.pt epochs=100 imgsz=640
Для получения более подробной информации о процессе обучения и доступных аргументах ознакомьтесь со страницей обучения.
Какие различные метрики предоставляет набор данных COCO-Pose для оценки производительности модели?
Датасет COCO-Pose предоставляет несколько стандартизированных метрик оценки для задач оценки позы, аналогичных исходному датасету COCO. Ключевые метрики включают Object Keypoint Similarity (OKS), который оценивает точность прогнозируемых ключевых точек по сравнению с аннотациями ground truth. Эти метрики позволяют проводить тщательное сравнение производительности различных моделей. Например, предварительно обученные модели COCO-Pose, такие как YOLO11n-pose, YOLO11s-pose и другие, имеют определенные показатели производительности, указанные в документации, такие как mAPpose50-95 и mAPpose50.
Как структурирован и разделен набор данных для COCO-Pose?
Датасет COCO-Pose разделен на три подмножества:
- Train2017: Содержит 56599 изображений COCO, аннотированных для обучения моделей оценки позы.
- Val2017: 2346 изображений для целей валидации во время обучения модели.
- Test2017: Изображения, используемые для тестирования обученных моделей. Исходные аннотации для этого подмножества общедоступны; результаты отправляются на сервер оценки COCO для оценки производительности.
Эти подмножества помогают эффективно организовать этапы обучения, проверки и тестирования. Подробную информацию о конфигурации можно найти в разделе coco-pose.yaml файл, доступный на GitHub.
Каковы основные особенности и области применения набора данных COCO-Pose?
Датасет COCO-Pose расширяет аннотации COCO Keypoints 2017, включая 17 ключевых точек для человеческих фигур, что позволяет проводить детальную оценку позы. Стандартизированные метрики оценки (например, OKS) облегчают сравнение различных моделей. Области применения датасета COCO-Pose охватывают различные области, такие как спортивная аналитика, здравоохранение и взаимодействие человека с компьютером, везде, где требуется детальная оценка позы человеческих фигур. Для практического использования применение предварительно обученных моделей, таких как те, что представлены в документации (например, YOLO11n-pose), может значительно упростить процесс (Основные характеристики).
Если вы используете набор данных COCO-Pose в своей исследовательской или опытно-конструкторской работе, пожалуйста, сошлитесь на статью со следующим включением BibTeX.