YOLO Vision 2026:

ハンドキーポイントデータセット#

はじめに#

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



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

Keypoints#

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

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

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

データセットの構造#

  • 合計画像数: 26,768枚(トレーニング用18,776枚 / 検証用7,992枚)。
  • クラス: 1(手)。
  • キーポイント: 手ごとに21個、(x, y, visibility) のトリプレットが含まれます。
  • ダウンロードサイズ: 約369 MB。

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

アプリケーション#

Hand Keypointsは、いくつかの実世界のアプリケーションをサポートしています。

  • ジェスチャー認識: ヒューマンコンピュータインタラクションおよび非接触型コントロールインターフェース。
  • 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

使用方法#

画像サイズ640で100エポック、Hand Keypoints データセットで YOLO26n-pose モデルをトレーニングするには、以下のコードスニペットを使用できます。利用可能な引数の詳細なリストについては、モデルのトレーニングページを参照してください。

学習例
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 pose estimation dataset sample

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

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

引用と謝辞#

研究や開発作業でHand Keypointsデータセットを使用する場合は、以下のソースを明記してください。

引用

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

画像は各プラットフォームが提供するそれぞれのライセンスのもとで収集および使用されており、クリエイティブ・コモンズ 表示 - 非営利 - 継承 4.0 国際ライセンスのもとで配布されています。

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

よくある質問 (FAQ)#

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

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

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

  • ハンドキーポイントデータセットは2つのサブセットに分かれています。

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

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

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

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

コメント