COCO-Pose 데이터셋
COCO-Pose 데이터셋은 포즈 추정(pose estimation) 작업을 위해 설계된 COCO(Common Objects in Context) 데이터셋의 특수 버전입니다. 이 데이터셋은 COCO Keypoints 2017 이미지와 라벨을 활용하여 YOLO와 같은 모델이 포즈 추정 작업을 학습할 수 있도록 지원합니다.

COCO-Pose 사전 학습 모델
| 모델 | 크기 (픽셀) | mAPpose 50-95(e2e) | mAPpose 50(e2e) | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| 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 |
주요 특징
- COCO-Pose는 포즈 추정 작업을 위해 키포인트가 라벨링된 20만 장의 이미지를 포함하는 COCO Keypoints 2017 데이터셋을 기반으로 합니다.
- 이 데이터셋은 사람 형태에 대해 17개의 키포인트를 지원하여 상세한 포즈 추정을 용이하게 합니다.
- COCO와 마찬가지로, 이 데이터셋은 모델 성능 비교에 적합한 포즈 추정 작업을 위한 Object Keypoint Similarity (OKS)를 포함하여 표준화된 평가 지표를 제공합니다.
데이터셋 구조
COCO-Pose 데이터셋은 세 개의 하위 집합으로 나뉩니다:
- Train2017: 이 하위 집합은 포즈 추정 모델 학습용으로 주석이 달린 COCO 데이터셋의 이미지 56,599장을 포함합니다.
- Val2017: 이 하위 집합은 모델 학습 중 검증 목적으로 사용되는 2,346장의 이미지를 포함합니다.
- Test2017: 이 하위 집합은 학습된 모델을 테스트하고 벤치마킹하는 데 사용되는 이미지로 구성됩니다. 이 하위 집합에 대한 정답(Ground truth) 주석은 공개되어 있지 않으며, 결과는 성능 평가를 위해 COCO 평가 서버에 제출됩니다.
응용 분야
COCO-Pose 데이터셋은 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 🚀 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)사용법
COCO-Pose 데이터셋에서 이미지 크기 640으로 100 에포크 동안 YOLO26n-pose 모델을 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 학습(Training) 페이지를 참조하십시오.
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 컨소시엄에 감사드립니다. COCO-Pose 데이터셋 및 제작자에 대한 자세한 내용은 COCO 데이터셋 웹사이트를 방문하십시오.
FAQ
COCO-Pose 데이터셋이란 무엇이며, 포즈 추정을 위해 Ultralytics YOLO와 어떻게 사용합니까?
COCO-Pose 데이터셋은 포즈 추정 작업을 위해 설계된 COCO(Common Objects in Context) 데이터셋의 특수 버전입니다. 이 데이터셋은 COCO Keypoints 2017 이미지와 주석을 기반으로 하여 Ultralytics YOLO와 같은 모델이 상세한 포즈 추정을 수행하도록 학습할 수 있게 합니다. 예를 들어, 사전 학습된 모델을 로드하고 YAML 구성을 사용하여 학습함으로써 COCO-Pose 데이터셋으로 YOLO26n-pose 모델을 학습할 수 있습니다. 학습 예제는 학습(Training) 문서를 참조하십시오.
COCO-Pose 데이터셋에서 YOLO26 모델을 어떻게 학습할 수 있습니까?
COCO-Pose 데이터셋에서 YOLO26 모델을 학습하는 것은 Python 또는 CLI 명령어를 사용하여 수행할 수 있습니다. 예를 들어, 이미지 크기 640으로 100 에포크 동안 YOLO26n-pose 모델을 학습하려면 아래 단계를 따르십시오:
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 데이터셋은 모델 성능 평가를 위해 어떤 다양한 지표를 제공합니까?
The COCO-Pose dataset provides several standardized evaluation metrics for pose estimation tasks, similar to the original COCO dataset. Key metrics include the Object Keypoint Similarity (OKS), which evaluates the accuracy of predicted keypoints against ground truth annotations. These metrics allow for thorough performance comparisons between different models. For instance, the COCO-Pose pretrained models such as YOLO26n-pose, YOLO26s-pose, and others have specific performance metrics listed in the documentation, like mAPpose50-95 and mAPpose50.
COCO-Pose 데이터셋은 어떻게 구성되고 분할되어 있습니까?
COCO-Pose 데이터셋은 세 개의 하위 집합으로 나뉩니다:
- Train2017: 포즈 추정 모델 학습용으로 주석이 달린 56,599장의 COCO 이미지를 포함합니다.
- Val2017: 모델 학습 중 검증 목적으로 사용되는 2,346장의 이미지입니다.
- Test2017: 학습된 모델을 테스트하고 벤치마킹하는 데 사용되는 이미지입니다. 이 하위 집합에 대한 정답 주석은 공개되어 있지 않으며, 성능 평가를 위해 COCO 평가 서버에 결과가 제출됩니다.
These subsets help organize the training, validation, and testing phases effectively. For configuration details, explore the coco-pose.yaml file available on GitHub.
COCO-Pose 데이터셋의 주요 기능과 응용 분야는 무엇입니까?
COCO-Pose 데이터셋은 COCO Keypoints 2017 주석을 확장하여 사람 형태에 대한 17개의 키포인트를 포함함으로써 상세한 포즈 추정을 가능하게 합니다. 표준화된 평가 지표(예: OKS)는 서로 다른 모델 간의 비교를 용이하게 합니다. COCO-Pose 데이터셋의 응용 분야는 스포츠 분석, 의료, 인간-컴퓨터 상호작용 등 사람 형태에 대한 상세한 포즈 추정이 필요한 모든 분야에 걸쳐 있습니다. 실제 사용 시, 문서에 제공된 것과 같은 사전 학습 모델(예: YOLO26n-pose)을 활용하면 프로세스를 크게 간소화할 수 있습니다(주요 기능).
연구나 개발 작업에 COCO-Pose 데이터셋을 사용하는 경우 BibTeX 항목이 포함된 논문을 인용해 주십시오.