Ultralytics YOLO27:

Hand Keypointsデータセット#

はじめに#

Ultralytics Hand Keypointsデータセットには、Google MediaPipeライブラリを使用して生成された、各画像に21個のキーポイントがアノテーションされた手の画像が26,768枚含まれています。高い精度と一貫性を実現しています。Ultralytics YOLO26の形式に対応しており、姿勢推定モデルのトレーニングに使用できます。



Watch: Hand Keypoints Estimation with Ultralytics YOLO | Human Hand Pose Estimation Tutorial

キーポイント#

21個のポイントを示す手のキーポイントのランドマーク図

各手には、次の21個のキーポイントがアノテーションされています。

  1. 手首
  2. 親指(4ポイント)
  3. 人差し指(4ポイント)
  4. 中指(4ポイント)
  5. 薬指(4ポイント)
  6. 小指(4ポイント)

データセットの構成#

  • 画像総数: 26,768(トレーニング18,776 / 検証7,992)。
  • クラス: 1(手)。
  • キーポイント: 1つの手につき21個の(x, y, visibility)トリプレット。
  • ダウンロードサイズ: ~369 MB。

一般的な手のランドマークを超えたカスタムジェスチャー語彙には、Ultralytics Platformを使用すると、ブラウザーから独自のデータセットのラベリングとトレーニングを実行できます。

アプリケーション#

手のキーポイントは、次のようなさまざまな実世界のアプリケーションをサポートします。

  • ジェスチャー認識: ヒューマンコンピューターインタラクションおよび非接触操作インターフェース。
  • AR/VRコントロール: 仮想オブジェクトとの正確なインタラクション。
  • ロボット操作: ロボットハンドのきめ細かな制御。
  • ヘルスケア: 医療診断のための手の動作解析。
  • アニメーション: リアルな手の動作のためのモーションキャプチャ。
  • 生体認証: 手の形状に基づくセキュリティシステム。

データセット YAML#

YAMLファイルを使用してデータセット設定を定義します。データセットのパス、クラス、その他の関連情報が含まれています。Hand Keypointsデータセットの場合、hand-keypoints.yamlファイルはhttps://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/hand-keypoints.yamlで管理されています。

ultralytics/cfg/datasets/hand-keypoints.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Hand Keypoints dataset by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/hand-keypoints
# Example usage: yolo train data=hand-keypoints.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── hand-keypoints ← downloads here (369 MB)

# 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: hand-keypoints # dataset root dir
train: images/train # train images (relative to 'path') 18776 images
val: images/val # val images (relative to 'path') 7992 images

# Keypoints
kpt_shape: [21, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 1, 2, 4, 3, 10, 11, 12, 13, 14, 5, 6, 7, 8, 9, 15, 16, 17, 18, 19, 20]

# Classes
names:
  0: hand

# Keypoint names per class
kpt_names:
  0:
    - wrist
    - thumb_cmc
    - thumb_mcp
    - thumb_ip
    - thumb_tip
    - index_mcp
    - index_pip
    - index_dip
    - index_tip
    - middle_mcp
    - middle_pip
    - middle_dip
    - middle_tip
    - ring_mcp
    - ring_pip
    - ring_dip
    - ring_tip
    - pinky_mcp
    - pinky_pip
    - pinky_dip
    - pinky_tip

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/hand-keypoints.zip

使用方法#

Hand Keypointsデータセットで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="hand-keypoints.yaml", epochs=100, imgsz=640)

サンプル画像とアノテーション#

Hand Keypointsデータセットには、キーポイントがアノテーションされた人の手の画像が多様に含まれています。以下に、データセット内の画像例と、それに対応するアノテーションを示します。

Hand keypoints姿勢推定データセットのサンプル

  • モザイク化画像: この画像は、モザイク化されたデータセット画像で構成されたトレーニングバッチを示しています。モザイク化は、トレーニング中に複数の画像を1枚の画像に組み合わせ、各トレーニングバッチ内の物体やシーンの多様性を高める技法です。これにより、さまざまな物体サイズ、アスペクト比、コンテキストに対するモデルの汎化性能を向上させます。

この例は、Hand Keypointsデータセットの画像の多様性と複雑さ、およびトレーニングプロセスでモザイキングを使用するメリットを示しています。

引用と謝辞#

研究または開発業務でHand Keypointsデータセットを使用する場合は、次の出典を明記してください。

引用

このデータセットで使用されている画像を提供してくださった次の出典に感謝します。

画像は各プラットフォームが提供する該当ライセンスに基づいて収集・使用され、クリエイティブ・コモンズ 表示-非営利-継承 4.0 国際ライセンスに基づいて配布されています。

また、このデータセットの作成者であるRion Dsilva氏のVision AI研究への多大な貢献にも謝意を表します。

FAQ#

  • yolo26n-pose.ptを読み込み、model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)を呼び出します — 完全なPythonおよびCLIスニペットについては上記のトレーニング例を、引数の包括的な一覧についてはモデルのトレーニングページを参照してください。

  • Google MediaPipeを介して生成された、26,768枚のアノテーション済み画像と1つの手あたり21個のキーポイントにより、Hand Keypointsデータセットは、高度な姿勢推定タスクに必要な規模とアノテーション精度を姿勢推定モデルに提供します。ランドマークの詳細な内訳については、キーポイントセクションを参照してください。

  • Hand Keypointsは、ジェスチャー認識、AR/VRコントロール、ロボット操作、ヘルスケアにおける動作解析、アニメーション、生体認証をサポートします。それぞれの詳細については、アプリケーションセクションを参照してください。

  • Hand Keypointsデータセットは、次の2つのサブセットに分割されています。

    1. トレーニング: 姿勢推定モデルのトレーニング用画像18,776枚が含まれています。
    2. 検証: モデルのトレーニング中に検証するための画像7,992枚が含まれています。

    この構成により、包括的なトレーニングおよび検証プロセスが実現します。詳細については、データセット構成セクションを参照してください。

  • データセット設定はYAMLファイルで定義され、パス、クラス、その他の関連情報が含まれています。hand-keypoints.yamlファイルはhand-keypoints.yamlにあります。

    このYAMLファイルをトレーニングに使用するには、上記のトレーニング例に示すように、トレーニングスクリプトまたはCLIコマンドで指定します。詳細については、データセットYAMLセクションを参照してください。

コメント