YOLO Vision 2026:

COCO-Pose 데이터셋#

COCO-Pose 데이터셋은 COCO(Common Objects in Context)를 pose estimation용으로 변환한 것으로, COCO Keypoints 2017의 58,945장 이미지에 17개 키포인트 스키마를 사용하여 156,165명의 사람이 주석 처리되어 있습니다. 이는 Ultralytics YOLO26과 같은 키포인트 모델을 학습하고 벤치마킹하기 위한 표준 세트이며, 8장의 이미지만 포함된 COCO8-Pose 서브셋은 빠른 정상 작동 확인(sanity check)을 위해 이 형식을 그대로 반영합니다.

COCO pose estimation with human keypoints

COCO-Pose 사전 학습 모델#

모델크기
(픽셀)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7

주요 특징#

  • COCO-Pose는 COCO Keypoints 2017 챌린지를 기반으로 구축되었으며, 주석이 달린 156,165명의 사람에 걸쳐 총 1,710,498개의 개별 키포인트에 라벨을 지정합니다.
  • 각 사람 주석은 코, 눈, 귀, 어깨, 팔꿈치, 손목, 엉덩이, 무릎, 발목의 17가지 키포인트 유형을 사용하며, (x, y, visibility) 삼중항(triplet)으로 저장됩니다.
  • COCO와 마찬가지로, 이 데이터셋은 포즈 추정 작업을 위한 OKS (Object Keypoint Similarity)를 포함한 표준화된 평가 지표를 제공하여 모델 성능 비교에 적합합니다.
  • 다운로드 크기: 첫 사용 시 ~20.2 GB (train2017.zip + val2017.zip + 라벨). 7 GB인 test2017.zip는 해당 이미지의 정답(ground truth)이 공개되지 않아 test-dev2017 제출에만 필요하므로 자동으로 가져오지 않습니다.

데이터셋 구조#

학습 및 검증을 위해 COCO-Pose는 키포인트가 주석 처리된 인물이 포함된 COCO 2017 이미지만을 포함하므로, 전체 COCO 데이터셋보다 라벨링된 분할 크기가 작습니다. YAML 파일에는 다음과 같은 세 가지 하위 세트가 정의되어 있습니다.

  1. Train2017: 이 하위 세트는 포즈 추정 모델 학습을 위해 주석 처리된 COCO 데이터셋의 이미지 56,599장을 포함합니다.
  2. Val2017: 이 하위 세트는 모델 학습 중 검증 목적으로 사용되는 이미지 2,346장을 포함합니다.
  3. Test-dev2017: 정답이 공개되지 않은 전체 40,670장의 test2017 세트 중 20,288장으로 구성된 서브셋입니다. 데이터셋 YAML은 이 스플릿을 COCO test-dev keypoints evaluation server와 연결합니다.

이러한 대규모 스케일의 학습에서는 Ultralytics Platform이 가장 큰 도움이 됩니다. 컴퓨팅 자원을 관리해 주므로 사용자가 직접 GPU를 프로비저닝하지 않고도 실행을 시작하고 모니터링할 수 있습니다.

응용 분야#

COCO-Pose 데이터셋은 키포인트 검출 및 pose estimation에 대한 deep learning 모델을 학습하고 평가하는 데 구체적으로 사용됩니다. 이 데이터셋의 방대한 주석 이미지와 표준화된 평가 지표는 인체 포즈를 연구하는 computer vision 연구자와 실무자들에게 필수적인 리소스가 됩니다.

데이터셋 YAML#

데이터셋 구성을 정의하는 데는 YAML 파일이 사용됩니다. 이 파일에는 데이터셋의 경로, 클래스 및 기타 관련 정보가 포함되어 있습니다. 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.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)

사용법#

이미지 크기 640으로 COCO-Pose 데이터셋에서 YOLO26n-pose 모델을 100 epochs 동안 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수에 대한 자세한 내용은 모델 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 estimation dataset mosaic training batch

  • 모자이크 처리된 이미지: 이 이미지는 모자이크 처리된 데이터셋 이미지로 구성된 학습 배치를 보여줍니다. 모자이킹은 학습 중에 여러 이미지를 하나의 이미지로 결합하여 각 학습 배치 내의 객체와 장면의 다양성을 높이는 데 사용되는 기술입니다. 이는 모델이 다양한 객체 크기, 종횡비 및 맥락에 일반화할 수 있는 능력을 향상시키는 데 도움이 됩니다.

이 예시는 COCO-Pose 데이터셋 이미지의 다양성과 복잡성, 그리고 학습 과정에서 모자이킹(mosaicing)을 사용할 때의 이점을 보여줍니다.

인용 및 감사의 글#

연구 또는 개발 작업에 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}
}

computer vision 커뮤니티를 위해 이 유용한 리소스를 만들고 유지 관리해 준 COCO 컨소시엄에 감사를 표합니다. COCO-Pose 데이터셋 및 제작자에 대한 자세한 내용은 COCO dataset website를 방문하십시오.

FAQ#

COCO-Pose 데이터셋이란 무엇이며, 포즈 추정을 위해 Ultralytics YOLO와 어떻게 사용됩니까?#

COCO-Pose는 58,945장의 이미지에 걸쳐 17개 키포인트 스키마를 사용하여 YOLO 키포인트 형식으로 변환된 COCO Keypoints 2017 이미지와 주석을 제공합니다. data=coco-pose.yaml을 사용하여 모든 Ultralytics YOLO pose 모델을 여기에 지정하면, Training 페이지에서 조정할 수 있는 모든 인수를 확인할 수 있습니다.

COCO-Pose 데이터셋에서 어떻게 YOLO26 모델을 학습할 수 있습니까?#

yolo26n-pose.pt을 로드하고 model.train(data="coco-pose.yaml", epochs=100, imgsz=640)을 호출합니다. 전체 Python 및 CLI 스니펫은 위의 Train Example을 참조하고, 전체 인수 목록은 training page를 참조하십시오.

모델 성능을 평가하기 위해 COCO-Pose 데이터셋에서 제공하는 다양한 지표는 무엇입니까?#

COCO-Pose 데이터셋은 원래 COCO 데이터셋과 유사하게 pose estimation 작업을 위한 여러 표준화된 평가 지표를 제공합니다. 주요 지표로는 예측된 키포인트가 정답 주석과 일치하는 정도를 평가하는 OKS(Object Keypoint Similarity)가 있습니다(accuracy). 이러한 지표를 통해 서로 다른 모델 간의 성능을 철저히 비교할 수 있습니다. 예를 들어, YOLO26n-pose, YOLO26s-pose 등과 같은 COCO-Pose 사전 학습된 모델은 mAPpose50-95 및 mAPpose50과 같은 문서화된 특정 성능 지표를 가지고 있습니다.

COCO-Pose 데이터셋은 어떻게 구성되고 분할되어 있습니까?#

COCO-Pose는 56,599개의 train2017 이미지와 2,346개의 val2017 이미지라는 두 가지 레이블 지정 분할을 제공합니다. 세 번째 분할인 test-dev2017(전체 40,670개의 test2017 이미지 중 20,288개)은 정답을 비공개로 유지하며, 데이터셋 YAML은 이를 COCO test-dev keypoints evaluation server에 연결합니다. 정확한 분할 경로는 Dataset Structure 섹션 또는 GitHubcoco-pose.yaml 파일을 참조하세요.

COCO-Pose 데이터셋의 주요 기능과 응용 분야는 무엇입니까?#

COCO-Pose는 17개의 사람 키포인트 유형을 사용하며 모델 비교를 위해 OKS(Object Keypoint Similarity)를 포함한 COCO의 표준화된 지표를 계승합니다. 이러한 조합은 스포츠 분석, 헬스케어, 인간-컴퓨터 상호작용과 같은 사람 포즈 애플리케이션에 적합합니다. 사전 학습된 YOLO26-pose 가중치는 COCO-Pose Pretrained Models에 나열되어 있습니다.

키포인트 모델에 대한 자세한 내용은 Pose Estimation 작업 문서를 참조하십시오.

댓글