COCO-Poseデータセット#
COCO-Pose データセットは、COCO(Common Objects in Context)を姿勢推定向けに適応させたものです。2017年の COCO Keypoints から 58,945 枚の画像が、17 キーポイントのスキーマを使用して 156,165 人の人物のアノテーションとともに含まれています。Ultralytics YOLO26 などのキーポイントモデルのトレーニングおよびベンチマークの標準セットであり、8 枚の画像の COCO8-Pose サブセットは、簡単な動作確認(サンティチェック)のためにそのフォーマットを再現しています。

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 は、156,165 人のアノテーション付き人物にわたって 1,710,498 個の個別のキーポイントにラベル付けを行う COCO Keypoints 2017 チャレンジを基盤として構築されています。
- 各人物のアノテーションには、17 種類のキーポイント(鼻、目、耳、肩、肘、手首、腰、膝、足首)が使用されており、
(x, y, visibility)のトリプレットとして保存されます。 - COCOと同様に、姿勢推定タスクのためのObject Keypoint Similarity (OKS)を含む標準化された評価指標を提供しており、モデルのパフォーマンス比較に適しています。
- ダウンロードサイズ: 初回使用時に ~20.2 GB(
train2017.zip+val2017.zip+ ラベル)。7 GB のtest2017.zipは自動的には取得されません。これらの画像は正解データ(グラウンドトゥルース)が非公開となっており、test-dev2017 への提出でのみ必要とされるためです。
データセットの構造#
トレーニングおよび検証のために、COCO-Pose にはキーポイントがアノテーションされた人物を含む COCO 2017 画像のみが含まれているため、ラベル付けされた分割は完全な COCO データセットよりも小さくなります。その YAML では、3 つのサブセットが定義されています。
- Train2017: このサブセットには、ポーズ推定モデルのトレーニング用にアノテーションされた、COCO データセット由来の 56,599 枚の画像が含まれています。
- Val2017: このサブセットには、モデルのトレーニング中に検証目的で使用される 2,346 枚の画像が含まれています。
- Test-dev2017: 正解データが非公開となっている、合計 40,670 枚の test2017 セットのうち 20,288 枚の画像からなるサブセットです。データセットの YAML は、このスプリットを COCO test-dev キーポイント評価サーバーにリンクしています。
この規模でのトレーニングにおいて Ultralytics Platform が最も役立ちます。独自の GPU をプロビジョニングすることなく、実行の開始と監視を行えるようコンピューティング環境を管理します。
アプリケーション#
COCO-Poseデータセットは、キーポイント検出および姿勢推定におけるディープラーニングモデルのトレーニングと評価に特化して使用されます。このデータセットの多数のアノテーション済み画像と標準化された評価指標により、人間の姿勢に取り組むコンピュータビジョンの研究者や実務家にとって不可欠なリソースとなっています。
データセット YAML#
データセットの設定を定義するには YAML ファイルが使用されます。ここには、データセットのパス、クラス、およびその他の関連情報に関する情報が含まれています。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.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)使用方法#
COCO-Pose データセットで 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)サンプル画像とアノテーション#
COCO-Poseデータセットには、キーポイントがアノテーションされた人体の多様な画像セットが含まれています。以下に、対応するアノテーションが付いたデータセットの画像の例をいくつか示します。

- モザイク画像: この画像は、モザイク処理されたデータセット画像で構成されるトレーニングバッチを示しています。モザイク処理は、トレーニング中に複数の画像を1つの画像に結合し、各トレーニングバッチ内のオブジェクトやシーンの多様性を高める技術です。これにより、さまざまなオブジェクトのサイズ、アスペクト比、およびコンテキストに対してモデルが汎化する能力を向上させます。
この例は、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 Consortium に感謝いたします。COCO-Pose データセットとその作成者の詳細については、COCO データセットのウェブサイトをご覧ください。
よくある質問 (FAQ)#
COCO-Poseデータセットとは何か、またUltralytics YOLOで姿勢推定にどのように使用されますか?#
COCO-Pose は、58,945 枚の画像にわたる 17 キーポイントのスキーマを使用して、YOLO キーポイント形式に変換された COCO Keypoints 2017 の画像とアノテーションを提供します。data=coco-pose.yaml を指定して任意の Ultralytics YOLO ポーズモデルをそこに向ければ、トレーニングページにそこから調整できるすべての引数が記載されています。
COCO-PoseデータセットでYOLO26モデルをトレーニングするにはどうすればよいですか?#
yolo26n-pose.pt をロードし、model.train(data="coco-pose.yaml", epochs=100, imgsz=640) を呼び出します。完全な Python および CLI のスニペットについては上記のトレーニング例を、引数の包括的なリストについてはトレーニングページを参照してください。
モデルパフォーマンスを評価するためにCOCO-Poseデータセットによって提供されるさまざまな指標は何ですか?#
COCO-Pose データセットは、元の COCO データセットと同様に、姿勢推定タスク用にいくつかの標準化された評価指標を提供します。主要な指標には、予測されたキーポイントと正解アノテーションとの精度を評価する Object Keypoint Similarity(OKS)が含まれます。これらの指標により、異なるモデル間の徹底的なパフォーマンス比較が可能になります。たとえば、YOLO26n-pose、YOLO26s-pose などの COCO-Pose 事前学習済みモデルには、mAPpose50-95 や mAPpose50 などの特定のパフォーマンス指標がドキュメントに記載されています。
COCO-Poseデータセットはどのように構成され、分割されていますか?#
COCO-Poseには、56,599枚のtrain2017画像と2,346枚のval2017画像という2つのラベル付き分割が含まれています。3つ目の分割であるtest-dev2017(全40,670枚のtest2017画像のうち20,288枚)は、正解データが非公開となっており、データセットのYAMLはCOCO test-dev keypoints evaluation serverにリンクしています。正確な分割パスについては、Dataset Structureセクション、またはGitHub上の coco-pose.yaml ファイルを参照してください。
COCO-Poseデータセットの主な機能とアプリケーションは何ですか?#
COCO-Pose は 17 種類の人物キーポイントを使用し、モデルを比較するための Object Keypoint Similarity(OKS)を含む COCO の標準化された指標を継承しています。この組み合わせにより、スポーツ分析、ヘルスケア、ヒューマンコンピュータインタラクションなどの人間の姿勢アプリケーションに適しています。事前学習済みの YOLO26-pose ウェイトは、COCO-Pose 事前学習済みモデルの下にリストされています。
キーポイントモデルの詳細については、姿勢推定タスクのドキュメントを参照してください。