コンテンツへスキップ

手のキーポイント・データセット

はじめに

hand-keypointsデータセットには、キーポイントで注釈された手の画像26,768枚が含まれており、Ultralytics YOLO のようなポーズ推定タスクのモデル学習に適している。アノテーションは、Google MediaPipeライブラリを使用して生成されており、高い精度と一貫性が保証されています。 Ultralytics YOLO11フォーマットと互換性がある。



見るんだ: Ultralytics YOLO11 による手のキーポイント推定|人の手のポーズ推定チュートリアル

手のランドマーク

手のランドマーク

キーポイント

このデータセットには、手の検出のためのキーポイントが含まれている。キーポイントは以下のように注釈されている.

  1. 手首
  2. 親指(4点)
  3. 人差し指(4点)
  4. 中指(4点)
  5. 薬指(4点)
  6. 小指(4点)

各ハンドには合計21のキーポイントがある。

主な特徴

  • 大規模なデータセット:26,768枚の手書きキーポイント注釈付き画像。
  • YOLO11 互換性:YOLO11 モデルで使用可能。
  • 21のキーポイント詳細な手のポーズ表現。

データセット構造

ハンドキーポイントデータセットは2つのサブセットに分割される:

  1. Train:このサブセットには、手のキーポイントデータセットから18,776枚の画像が含まれ、ポーズ推定モデルのトレーニング用にアノテーションされている。
  2. Val: このサブセットには7992枚の画像が含まれ、モデル学習時の検証に使用できる。

アプリケーション

手のキーポイントは、ジェスチャー認識、AR/VRコントロール、ロボット操作、ヘルスケアにおける手の動きの分析に使用できる。また、モーションキャプチャー用のアニメーションや、セキュリティ用の生体認証システムにも応用できる。

データセット YAML

YAML (Yet Another Markup Language) ファイルはデータセットの設定を定義するために使われる。このファイルには、データセットのパス、クラス、その他の関連情報が含まれています。ハンドキーポイントデータセットの場合は hand-keypoints.yaml ファイルは https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/hand-keypoints.yaml.

ultralytics/cfg/datasets/hand-keypoints.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 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: ../datasets/hand-keypoints # dataset root dir
train: train # train images (relative to 'path') 18776 images
val: 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

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

使用方法

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

列車の例

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

サンプル画像と注釈

Hand keypointsデータセットには、キーポイントでアノテーションされた人間の手を持つ画像の多様なセットが含まれています。このデータセットに含まれる画像の例を、対応するアノテーションとともに紹介します:

データセットサンプル画像

  • モザイク画像:この画像はモザイク処理されたデータセット画像で構成されたトレーニングバッチを示す。モザイク処理とは、複数の画像を1つの画像に合成することで、各トレーニングバッチ内のオブジェクトやシーンの種類を増やす手法です。これにより、異なるオブジェクトサイズ、アスペクト比、コンテクストに対するモデルの汎化能力を向上させることができます。

この例では、Hand Keypointsデータセットの画像の多様性と複雑さ、および学習プロセスでモザイク処理を使用する利点を紹介しています。

引用と謝辞

ハンドキーポイントデータセットを研究または開発で使用する場合は、以下の出典に謝辞をお願いします:

このデータセットで使用した画像を提供してくださった以下の情報源に感謝したい:

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

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

よくあるご質問

Hand Keypoints データセットでYOLO11 モデルをトレーニングするには?

Hand KeypointsデータセットでYOLO11 モデルを学習するには、Python またはコマンドラインインターフェース (CLI) のどちらかを使用します。以下はYOLO11n-poseモデルを画像サイズ640で100エポック学習する例です:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

利用可能な引数の包括的なリストについては、モデルのトレーニングページを参照してください。

ハンドキーポイントデータセットの主な特徴は何ですか?

ハンドキーポイントデータセットは、高度なポーズ推定タスクのために設計されており、いくつかの主要な機能が含まれています:

  • 大規模なデータセット:26,768枚の画像にハンドキーポイントアノテーション。
  • YOLO11 互換性:YOLO11 モデルで使用可能。
  • 21のキーポイント手首と指の関節を含む、詳細な手のポーズ表現。

詳細については、「ハンド・キーポイント・データセット」のセクションをご覧ください。

ハンドキーポイントデータセットを使用することで、どのような利点がありますか?

ハンドキーポイントデータセットは、以下のような様々な分野で応用できる:

  • ジェスチャー認識:人間とコンピュータの相互作用を強化する。
  • AR/VRコントロール:拡張現実と仮想現実におけるユーザー体験の向上。
  • ロボット操作:ロボットハンドの精密な制御を可能にする。
  • ヘルスケア医療診断のための手の動きの分析。
  • アニメーションリアルなアニメーションのためのモーションキャプチャ。
  • バイオメトリクス認証:セキュリティシステムの強化

詳しくは、アプリケーションのセクションを参照。

ハンドキーポイントデータセットの構造は?

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

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

この構造により、包括的なトレーニングと検証プロセスが保証される。詳細はデータセット構造のセクションを参照。

トレーニングにデータセットYAMLファイルを使用するには?

データセットのコンフィギュレーションはYAMLファイルで定義され、パス、クラス、その他の関連情報が含まれる。このファイルには hand-keypoints.yaml ファイルは以下にある。 hand-keypoints.yaml.

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

📅 Created 2 months ago ✏️ Updated 23 days ago

コメント