콘텐츠로 건너뛰기

코코 포즈 데이터 세트

COCO-Pose 데이터 세트는 포즈 추정 작업을 위해 설계된 COCO(Common Objects in Context) 데이터 세트의 특수 버전입니다. COCO 키포인트 2017 이미지와 레이블을 활용하여 포즈 추정 작업을 위한 YOLO 같은 모델을 훈련할 수 있습니다.

포즈 샘플 이미지

코코 포즈 사전 훈련된 모델

모델 크기
(픽셀)
mAPpose
50-95
mAPpose
50
속도
CPU ONNX
(ms)
속도
T4TensorRT10
(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는 포즈 추정 작업을 위해 키포인트로 레이블이 지정된 200만 개의 이미지가 포함된 COCO 키포인트 2017 데이터 세트를 기반으로 합니다.
  • 이 데이터 세트는 인물에 대한 17개의 키포인트를 지원하여 세부적인 포즈 추정이 용이합니다.
  • COCO와 마찬가지로 포즈 추정 작업을 위한 객체 키포인트 유사성(OKS)을 비롯한 표준화된 평가 지표를 제공하므로 모델 성능을 비교하는 데 적합합니다.

데이터 세트 구조

COCO-Pose 데이터 세트는 세 개의 하위 집합으로 나뉩니다:

  1. Train2017: 이 하위 집합에는 COCO 데이터 세트의 56599개 이미지가 포함되어 있으며, 포즈 추정 모델 학습을 위해 주석이 추가되어 있습니다.
  2. Val2017: 이 하위 집합에는 모델 학습 중 유효성 검사 목적으로 사용되는 2346개의 이미지가 있습니다.
  3. Test2017: 이 하위 집합은 학습된 모델을 테스트하고 벤치마킹하는 데 사용되는 이미지로 구성됩니다. 이 하위 집합에 대한 실측 자료 주석은 공개되지 않으며, 결과는 성능 평가를 위해 COCO 평가 서버에 제출됩니다.

애플리케이션

COCO-Pose 데이터 세트는 특히 OpenPose와 같은 키포인트 감지 및 포즈 추정 작업에서 딥러닝 모델을 훈련하고 평가하는 데 사용됩니다. 이 데이터 세트에는 수많은 주석이 달린 이미지와 표준화된 평가 메트릭이 포함되어 있어 포즈 추정에 중점을 둔 컴퓨터 비전 연구자와 실무자에게 필수적인 리소스입니다.

데이터 세트 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.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: ../datasets/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인 100개의 에포크에 대해 COCO-Pose 데이터 세트에서 YOLO11n 포즈 모델을 훈련하려면 다음 코드 조각을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 훈련 페이지를 참조하세요.

열차 예시

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 데이터 세트 웹사이트를 참조하세요.

자주 묻는 질문

COCO-Pose 데이터 세트는 무엇이며, 포즈 추정에 Ultralytics YOLO 어떻게 사용되나요?

COCO-Pose 데이터 세트는 포즈 추정 작업을 위해 설계된 COCO(Common Objects in Context) 데이터 세트의 특수 버전입니다. COCO 키포인트 2017 이미지와 주석을 기반으로 구축되어 자세한 포즈 추정을 위해 Ultralytics YOLO 같은 모델을 학습할 수 있습니다. 예를 들어, COCO-Pose 데이터 세트를 사용하여 사전 훈련된 모델을 로드하고 YAML 구성으로 훈련하여 YOLO11n 포즈 모델을 훈련할 수 있습니다. 훈련 예제는 훈련 문서를 참조하세요.

COCO-Pose 데이터 세트에서 YOLO11 모델을 훈련하려면 어떻게 해야 하나요?

COCO-Pose 데이터 세트에 대한 YOLO11 모델 훈련은 Python 또는 CLI 명령을 사용하여 수행할 수 있습니다. 예를 들어 이미지 크기가 640인 100개의 에포크에 대해 YOLO11n 포즈 모델을 훈련하려면 다음 단계를 따르세요:

열차 예시

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 데이터 세트와 유사하게 포즈 추정 작업에 대한 몇 가지 표준화된 평가 지표를 제공합니다. 주요 메트릭에는 기준점 주석에 대해 예측된 키포인트의 정확도를 평가하는 객체 키포인트 유사도(OKS)가 포함됩니다. 이러한 메트릭을 통해 서로 다른 모델 간의 철저한 성능 비교가 가능합니다. 예를 들어, YOLO11n-pose, YOLO11s-pose 등과 같은 COCO-Pose 사전 학습 모델에는 mAPpose50-95mAPpose50과같은 특정 성능 메트릭이 문서에 나열되어 있습니다.

COCO-Pose 데이터 세트의 데이터 세트는 어떻게 구조화되고 분할되나요?

COCO-Pose 데이터 세트는 세 개의 하위 집합으로 나뉩니다:

  1. Train2017: 포즈 추정 모델 학습을 위해 주석이 달린 56599개의 COCO 이미지가 포함되어 있습니다.
  2. Val2017: 모델 학습 중 검증을 위한 이미지 2346개.
  3. Test2017: 학습된 모델을 테스트하고 벤치마킹하는 데 사용되는 이미지입니다. 이 하위 집합에 대한 실측 데이터 주석은 공개되지 않으며, 결과는 성능 평가를 위해 COCO 평가 서버에 제출됩니다.

이러한 하위 집합은 교육, 유효성 검사 및 테스트 단계를 효과적으로 구성하는 데 도움이 됩니다. 구성에 대한 자세한 내용은 coco-pose.yaml 파일은 GitHub.

코코포즈 데이터 세트의 주요 특징과 활용 분야는 무엇인가요?

COCO-Pose 데이터 세트는 COCO 키포인트 2017 주석을 확장하여 인물에 대한 17개의 키포인트를 포함함으로써 상세한 포즈를 추정할 수 있습니다. 표준화된 평가 지표(예: OKS)를 통해 다양한 모델 간의 비교가 용이합니다. COCO-Pose 데이터 세트는 스포츠 분석, 헬스케어, 인간과 컴퓨터의 상호작용 등 인물의 상세한 포즈 추정이 필요한 다양한 영역에서 활용되고 있습니다. 실제 사용 시, 문서에 제공된 것과 같은 사전 훈련된 모델(예: YOLO11n-pose)을 활용하면 프로세스를 크게 간소화할 수 있습니다(주요 기능).

연구 또는 개발 작업에 COCO-Pose 데이터세트를 사용하는 경우, 다음 BibTeX 항목으로 논문을 인용해 주세요.

📅1 년 전 생성됨 ✏️ 3 개월 전 업데이트됨

댓글