Meet YOLO26: next-gen vision AI.

Link to this sectionCOCO-Pose 데이터셋#

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

인체 키포인트를 사용한 COCO 포즈 추정

Link to this sectionCOCO-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

Link to this section주요 특징#

  • COCO-Pose는 포즈 추정 작업을 위한 키포인트가 라벨링된 20만 개의 이미지를 포함하는 COCO Keypoints 2017 데이터셋을 기반으로 합니다.
  • 이 데이터셋은 인체에 대한 17개의 키포인트를 지원하여 상세한 포즈 추정을 용이하게 합니다.
  • COCO와 마찬가지로, 이 데이터셋은 포즈 추정 작업을 위한 OKS (Object Keypoint Similarity)를 포함한 표준화된 평가 지표를 제공하여 모델 성능 비교에 적합합니다.

Link to this section데이터셋 구조#

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

  1. Train2017: 이 하위 집합은 포즈 추정 모델 학습을 위해 어노테이션된 COCO 데이터셋의 이미지 56,599개를 포함합니다.
  2. Val2017: 이 하위 집합은 모델 학습 중 검증 목적으로 사용되는 이미지 2,346개를 포함합니다.
  3. Test2017: 이 하위 집합은 학습된 모델을 테스트하고 벤치마킹하는 데 사용되는 이미지로 구성됩니다. 이 하위 집합에 대한 정답(Ground truth) 주석은 공개적으로 제공되지 않으며, 성능 평가를 위해 COCO evaluation server에 결과를 제출해야 합니다.

Link to this section응용 분야#

COCO-Pose 데이터셋은 OpenPose와 같은 키포인트 감지 및 포즈 추정 작업에서 딥러닝 모델을 학습하고 평가하는 데 구체적으로 사용됩니다. 다량의 어노테이션된 이미지와 표준화된 평가 지표를 갖춘 이 데이터셋은 포즈 추정에 집중하는 컴퓨터 비전 연구자와 실무자들에게 필수적인 자원입니다.

Link to this section데이터셋 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)

Link to this section사용법#

COCO-Pose 데이터셋에서 YOLO26n-pose 모델을 100 에포크(epoch) 동안 이미지 크기 640으로 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수에 대한 전체 목록은 모델 학습(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)

Link to this section샘플 이미지 및 주석#

COCO-Pose 데이터셋은 키포인트가 어노테이션된 다양한 인체 이미지를 포함합니다. 다음은 데이터셋 이미지와 그에 해당하는 어노테이션의 몇 가지 예시입니다:

COCO 포즈 추정 데이터셋 모자이크 학습 배치

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

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

Link to this section인용 및 감사의 글#

연구 또는 개발 작업에 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 데이터셋 웹사이트를 방문하십시오.

Link to this sectionFAQ#

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

COCO-Pose 데이터셋은 포즈 추정 작업을 위해 설계된 COCO (Common Objects in Context) 데이터셋의 특수 버전입니다. 이 데이터셋은 COCO Keypoints 2017 이미지와 어노테이션을 기반으로 하며, Ultralytics YOLO와 같은 모델이 상세한 포즈 추정을 학습할 수 있도록 합니다. 예를 들어, 사전 학습된 모델을 로드하고 YAML 구성으로 학습시켜 YOLO26n-pose 모델을 학습할 때 COCO-Pose 데이터셋을 사용할 수 있습니다. 학습 예시는 학습(Training) 문서를 참조하십시오.

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

COCO-Pose 데이터셋에서 YOLO26 모델 학습은 Python 또는 CLI 명령어를 사용하여 수행할 수 있습니다. 예를 들어, YOLO26n-pose 모델을 이미지 크기 640으로 100 에포크 동안 학습하려면 다음 단계를 따르십시오:

훈련 예제
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)

학습 과정 및 사용 가능한 인수에 대한 자세한 내용은 학습 페이지를 확인하십시오.

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

COCO-Pose 데이터셋은 원래 COCO 데이터셋과 유사하게 포즈 추정 작업을 위한 여러 표준화된 평가 지표를 제공합니다. 주요 지표로는 예측된 키포인트와 정답 어노테이션 간의 정확도(accuracy)를 평가하는 OKS (Object Keypoint Similarity)가 있습니다. 이러한 지표를 통해 서로 다른 모델 간의 철저한 성능 비교가 가능합니다. 예를 들어, YOLO26n-pose, YOLO26s-pose 등과 같은 COCO-Pose 사전 학습 모델은 문서에 mAPpose50-95 및 mAPpose50과 같은 구체적인 성능 지표가 나열되어 있습니다.

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

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

  1. Train2017: 포즈 추정 모델 학습을 위해 어노테이션된 56,599개의 COCO 이미지를 포함합니다.
  2. Val2017: 모델 학습 중 검증 목적으로 사용되는 2,346개의 이미지입니다.
  3. Test2017: 학습된 모델을 테스트하고 벤치마킹하는 데 사용되는 이미지입니다. 이 하위 집합에 대한 정답(Ground truth) 주석은 공개적으로 제공되지 않으며, 성능 평가를 위해 COCO evaluation server에 결과를 제출합니다.

These subsets help organize the training, validation, and testing phases effectively. For configuration details, explore the coco-pose.yaml file available on GitHub.

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

COCO-Pose 데이터셋은 COCO Keypoints 2017 어노테이션을 확장하여 인체에 대한 17개의 키포인트를 포함하며 상세한 포즈 추정을 가능하게 합니다. 표준화된 평가 지표(예: OKS)는 여러 모델 간의 비교를 용이하게 합니다. COCO-Pose 데이터셋의 응용 분야는 스포츠 분석, 헬스케어, 인간-컴퓨터 상호작용 등 인체의 상세한 포즈 추정이 필요한 다양한 영역에 걸쳐 있습니다. 실무적인 측면에서는 문서에서 제공하는 사전 학습 모델(예: YOLO26n-pose)을 활용하면 프로세스를 크게 간소화할 수 있습니다 (주요 기능).

연구 또는 개발 작업에 COCO-Pose 데이터셋을 사용하는 경우 다음 BibTeX 항목이 포함된 논문을 인용해 주십시오.

댓글