COCO-Pose 데이터 세트
COCO-Pose 데이터 세트는 포즈 추정 작업을 위해 설계된 COCO (Common Objects in Context) 데이터 세트의 특화된 버전입니다. COCO Keypoints 2017 이미지와 레이블을 활용하여 포즈 추정 작업을 위한 YOLO와 같은 모델의 학습을 지원합니다.
COCO-포즈 사전 훈련된 모델
모델 | 크기 (픽셀) |
mAPpose 50-95 |
mAPpose 50 |
속도 CPU ONNX (ms) |
속도 T4 TensorRT10 (ms) |
파라미터 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-pose | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.6 |
YOLO11s-pose | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2.6 ± 0.0 | 9.9 | 23.2 |
YOLO11m-pose | 640 | 64.9 | 89.4 | 187.3 ± 0.8 | 4.9 ± 0.1 | 20.9 | 71.7 |
YOLO11l-pose | 640 | 66.1 | 89.9 | 247.7 ± 1.1 | 6.4 ± 0.1 | 26.2 | 90.7 |
YOLO11x-pose | 640 | 69.5 | 91.1 | 488.0 ± 13.9 | 12.1 ± 0.2 | 58.8 | 203.3 |
주요 기능
- COCO-Pose는 포즈 추정 작업을 위해 키포인트로 레이블링된 20만 개의 이미지를 포함하는 COCO Keypoints 2017 데이터 세트를 기반으로 구축되었습니다.
- 이 데이터 세트는 인체에 대한 17개의 키포인트를 지원하여 자세한 포즈 추정을 용이하게 합니다.
- COCO와 마찬가지로 포즈 추정 작업을 위한 OKS(Object Keypoint Similarity)를 포함한 표준화된 평가 지표를 제공하므로 모델 성능 비교에 적합합니다.
데이터 세트 구조
COCO-Pose 데이터 세트는 세 가지 하위 세트로 나뉩니다.
- Train2017: 이 하위 집합은 포즈 추정 모델 학습을 위해 어노테이션이 추가된 COCO 데이터 세트의 56599개의 이미지를 포함합니다.
- Val2017: 이 하위 집합은 모델 훈련 중 검증 목적으로 사용되는 2346개의 이미지를 가지고 있습니다.
- 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/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
# Download script/URL (optional)
download: |
from pathlib import Path
from ultralytics.utils.downloads import download
# Download labels
dir = Path(yaml["path"]) # dataset root dir
url = "https://github.com/ultralytics/assets/releases/download/v0.0.0/"
urls = [f"{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)
사용법
이미지 크기가 640인 COCO-Pose 데이터 세트에서 YOLO11n-pose 모델을 100 epoch 동안 훈련하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수에 대한 포괄적인 목록은 모델 Training 페이지를 참조하십시오.
훈련 예제
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 컨소시엄에 감사를 드립니다. COCO-Pose 데이터 세트 및 제작자에 대한 자세한 내용은 COCO 데이터 세트 웹사이트를 방문하십시오.
FAQ
COCO-포즈 데이터세트란 무엇이며 포즈 추정을 위해 Ultralytics YOLO 와 함께 어떻게 사용됩니까?
COCO-Pose 데이터 세트는 포즈 추정 작업을 위해 설계된 COCO(Common Objects in Context) 데이터 세트의 특수 버전입니다. COCO Keypoints 2017 이미지 및 어노테이션을 기반으로 구축되어 Ultralytics YOLO와 같은 모델을 훈련하여 자세한 포즈 추정을 수행할 수 있습니다. 예를 들어 사전 훈련된 모델을 로드하고 YAML 구성으로 훈련하여 YOLO11n-pose 모델을 훈련하는 데 COCO-Pose 데이터 세트를 사용할 수 있습니다. 훈련 예제는 훈련 문서를 참조하십시오.
COCO-포즈 데이터세트에서 YOLO11 모델을 어떻게 훈련할 수 있습니까?
COCO-Pose 데이터 세트에서 YOLO11 모델을 훈련하는 것은 Python 또는 CLI 명령을 사용하여 수행할 수 있습니다. 예를 들어 이미지 크기가 640인 YOLO11n-pose 모델을 100 epoch 동안 훈련하려면 다음 단계를 따르십시오.
훈련 예제
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-포즈 데이터세트에서 제공하는 다양한 메트릭은 무엇입니까?
COCO-Pose 데이터 세트는 원래 COCO 데이터 세트와 유사하게 포즈 추정 작업을 위한 여러 표준화된 평가 지표를 제공합니다. 주요 지표에는 ground truth 어노테이션에 대한 예측 키포인트의 정확도를 평가하는 OKS(Object Keypoint Similarity)가 포함됩니다. 이러한 지표를 통해 서로 다른 모델 간의 철저한 성능 비교가 가능합니다. 예를 들어 YOLO11n-pose, YOLO11s-pose 등과 같은 COCO-Pose 사전 훈련된 모델은 문서에 mAPpose50-95 및 mAPpose50과 같은 특정 성능 지표가 나열되어 있습니다.
COCO-포즈 데이터세트의 데이터세트 구조와 분할은 어떻게 되어 있습니까?
COCO-Pose 데이터 세트는 세 가지 하위 세트로 나뉩니다.
- Train2017: 포즈 추정 모델 학습을 위해 어노테이션이 추가된 56599개의 COCO 이미지를 포함합니다.
- Val2017: 모델 훈련 중 검증을 위해 2346개의 이미지가 사용됩니다.
- Test2017: 훈련된 모델을 테스트하고 벤치마킹하는 데 사용되는 이미지입니다. 이 하위 집합에 대한 ground truth 어노테이션은 공개적으로 제공되지 않습니다. 성능 평가를 위해 결과는 COCO 평가 서버에 제출됩니다.
이러한 하위 집합은 훈련, 유효성 검사 및 테스트 단계를 효과적으로 구성하는 데 도움이 됩니다. 구성 세부 정보는 다음에서 제공되는 coco-pose.yaml
파일을 살펴보십시오. GitHub.
COCO-포즈 데이터세트의 주요 기능 및 응용 분야는 무엇입니까?
COCO-Pose 데이터 세트는 COCO Keypoints 2017 어노테이션을 확장하여 인물에 대한 17개의 키포인트를 포함하여 자세한 포즈 추정을 가능하게 합니다. 표준화된 평가 지표(예: OKS)는 서로 다른 모델 간의 비교를 용이하게 합니다. COCO-Pose 데이터 세트의 응용 분야는 스포츠 분석, 의료, 인간-컴퓨터 상호 작용과 같이 인물에 대한 자세한 포즈 추정이 필요한 다양한 영역에 걸쳐 있습니다. 실제 사용을 위해 문서에 제공된 사전 훈련된 모델(예: YOLO11n-pose)을 활용하면 프로세스를 크게 간소화할 수 있습니다(주요 기능).
연구 또는 개발 작업에 COCO-Pose 데이터 세트를 사용하는 경우 다음 BibTeX 항목과 함께 논문을 인용해 주십시오.