業界・業務から探す
導入目的・課題から探す
データ・AIについて学ぶ
News
Hakkyについて
ウェビナーコラム
◆トップ【AI・機械学習】
プロセスの全体像前処理・特徴量生成Fine Tuning手法まとめ機械学習モデルの選び方モデル評価手法プロトタイピング探索的分析(EDA)
ドミナントカラー検出セグメンテーション技術の基礎と実装局所特徴量抽出Grad-CAMまとめ画像の二値化とその手法モルフォロジー演算とその手法【Vision AI】Painterの紹介pix2structの紹介
AI

執筆者:Handbook編集部

姿勢推定におけるMSCOCODatasetフォーマット

はじめに

この記事はCOCO datasetからダウンロードできる"2017 Train/Val annotations"のファイルに含まれるperson_keypoints_val2017.jsonより、特に、キーポイント検出タスクにおいて、必要である情報をまとめたものです。

COCO Dataset Json Format

jsonファイルの全体は以下のような構造になっています。以下から、キーポイント検出において必要なキーのみをピックアップして説明していきます。

{
	"info": {...},
	"licenses": [
		{...},{...}
	],
	"images": [
		{...},{...},{...},{...}
	],
	"annotations": [
		{...},{...},{...},{...},{...},{...},{...},{...},{...}
	],
	"categories": [
		{...},{...},{...}
	]
}

1. "images"

画像情報:"images"キーに含まれる要素には、各画像に関する情報が含まれます。詳しくは以下の属性が含まれます。

"images": [
    {
        "license": 1,
        "file_name": "image_file.jpg",
        "height": 523,
        "width": 1497,
        "date_captured": "yyyy-mm-dd 00:00:00",
        "id": 1,
        "coco_url": "image_url"
    },
    ...
],
  • "id": 画像の一意なIDです。
  • "file_name": 画像のファイル名です。
  • "width": 画像の幅です。
  • "height": 画像の高さです。

2. "annotations"

アノテーション情報: "annotations" キーに含まれる要素には、各アノテーションに関する情報が含まれます。以下の属性が含まれます。

"annotations": [
    {
        "image_id": 6,
        "keypoints": [
            1179.391,
            254.486,
            2,
            1668.732,
            351.609,
            2,
            1696.478,
            234.087,
            2,
            1814.781,
            377.648,
            2,
            0,
            0,
            0
        ],
        "keypoints_name": [
            "keypoint1",
            "keypoint2",
            "keypoint3",
            "keypoint4",
            "None"
        ],
        "num_keypoints": 4,
        "category_id": 1,
        "iscrowd": 0,
        "id": 250,
        "bbox": [
            0,
            0,
            256,
            256
        ],
        "area": 65536
    },
    ...
],
  • "id": アノテーションの一意なIDです
  • "image_id": アノテーションが対応する画像のIDです
  • "category_id": アノテーションが対応するカテゴリ(人物など)のIDです。
  • "keypoints": 各キーポイントの座標情報を表す配列です。各キーポイントは、x座標、y座標、可視性のスコア(0:不明、1:不可視、2:可視)の3つの要素を持ちます。(キーポイントの可視性のスコアが0(不明)の場合、x,y座標はともに0で記述される。)また、登場する各点がどの関節を表すかは、後述するcategoriesの中で定義します。
  • "num_keypoints": 可視なキーポイントの数です。この属性は、トレーニングや評価中にキーポイントを無視する必要がある場合に役立ちます。

3. "categories"

カテゴリ情報: "categories" キーに含まれる要素には、各カテゴリに関する情報が含まれます。以下の属性が含まれます。

"categories": [
    {
        "supercategory": "",
        "id": 1,
        "name": "",
        "keypoints": [
            "keypoint1",
            "keypoint2",
            "keypoint3",
            "keypoint4",
            "keypoint5"
        ],
        "skeleton": [
            0,
            0
        ]
    }
]
  • "id": カテゴリの一意なIDです。
  • "name": カテゴリの名前です。

まとめ

以上が、MSCOCOデータセットフォーマットのJSONファイルにおけるキーポイント検出タスクに必要な情報の主な属性値です。

参考

2025年06月15日に最終更新
読み込み中...