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と同様に、姿勢推定タスクのためのObject Keypoint Similarity (OKS)を含む標準化された評価指標を提供しており、モデルのパフォーマンス比較に適しています。

Link to this sectionデータセットの構造#

COCO-Poseデータセットは3つのサブセットに分割されています。

  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エポック(画像サイズ640)トレーニングするには、以下のコードスニペットを使用できます。利用可能な引数の詳細なリストについては、モデルのトレーニングページを参照してください。

学習例
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姿勢推定データセットのモザイク化トレーニングバッチ

  • モザイク画像: この画像は、モザイク処理されたデータセット画像で構成されるトレーニングバッチを示しています。モザイク処理は、トレーニング中に複数の画像を1つの画像に結合し、各トレーニングバッチ内のオブジェクトやシーンの多様性を高める技術です。これにより、さまざまなオブジェクトのサイズ、アスペクト比、およびコンテキストに対してモデルが汎化する能力を向上させます。

この例は、COCO-Poseデータセット内の画像の多様性と複雑さ、およびトレーニングプロセス中にモザイク処理を使用する利点を示しています。

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 sectionよくある質問 (FAQ)#

Link to this sectionCOCO-Poseデータセットとは何か、またUltralytics YOLOで姿勢推定にどのように使用されますか?#

COCO-Poseデータセットは、姿勢推定タスク用に設計されたCOCO (Common Objects in Context)データセットの特化版です。これはCOCO Keypoints 2017の画像とアノテーションに基づいて構築されており、Ultralytics YOLOのようなモデルで詳細な姿勢推定を行うためのトレーニングを可能にします。例えば、COCO-Poseデータセットを使用して、事前学習済みモデルを読み込み、YAML設定でトレーニングすることにより、YOLO26n-poseモデルをトレーニングできます。トレーニングの例については、トレーニングのドキュメントを参照してください。

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データセットと同様に、姿勢推定タスク向けのいくつかの標準化された評価指標を提供します。主要な指標にはObject Keypoint Similarity (OKS)があり、これは予測されたキーポイントと正解アノテーションの精度を評価します。これらの指標により、モデル間での徹底的なパフォーマンス比較が可能になります。例えば、YOLO26n-poseやYOLO26s-poseなどのCOCO-Pose事前学習済みモデルには、ドキュメントにmAPpose50-95やmAPpose50などの特定のパフォーマンス指標が記載されています。

Link to this sectionCOCO-Poseデータセットはどのように構成され、分割されていますか?#

COCO-Poseデータセットは3つのサブセットに分割されています。

  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エントリを含む論文を引用してください。

コメント