オンデバイス・ハンドトラッキング
ジェスチャー認識・バーチャルハンドサインチェッカー
サムズアップ、手のひらを開く、ピースサイン、指差しといった一般的な手のジェスチャーを、カメラとセットアップが正しく認識できるか確認できます。既製のデモではなく、実際のローカルハンドトラッキングを使用。通話や配信で挙手やリアクション検出を利用する前の確認に役立ちます。
ライブ
ジェスチャー認識テスト結果
「開始」をクリックして、サムズアップ、手のひらを開く、ピースサインを試してください。
- 検出されたジェスチャー:—
- 検出された手の数:0
補足
認識されるジェスチャー
| ジェスチャー | 認識条件 |
|---|---|
| サムズアップ | 親指のみが伸び、他の指は曲がっている状態。 |
| 手のひらを開く/挙手 | 4本以上の指が伸びている状態。 |
| ピースサイン | 人差し指と中指が伸び、他の指は曲がっている状態。 |
| 指差し | 人差し指のみが伸びている状態。 |
| 握りこぶし | どの指も伸びていない状態。 |
これらはこのツール独自の実際の分類ルールで、各フレームで追跡される21の手のランドマークポイントに直接適用されます。
手順
このツールの使い方
- 「開始」をクリックし、表示されたらカメラアクセスを許可します。
- 手をフレーム内にはっきりと映します。
- 認識対象の5種類のジェスチャーをそれぞれ試し、現在の照明条件でどのくらい正確に検出されるか確認します。
- 検出が不安定な場合は照明や手の位置を調整してください。手に均一で明るい光を当てるのが最も効果的です。
使い方
ジェスチャー認識の実際の仕組み
このツールは、Googleがリアルタイムのオンデバイス利用向けに専用に学習させたハンドトラッキングモデル「MediaPipe Hands」を、WebAssemblyとWebGLを介してブラウザ内で完全に動作させています。サーバーには何も送信されません。モデルは一度だけダウンロードされ、それ以降のすべてのフレームはローカルで処理されます。
各フレームで、モデルは検出された手ごとに21のランドマークポイントを返します。手首、そして5本の指それぞれの3つの関節と指先です。ジェスチャーの分類自体は、これらのポイントに基づく単純な幾何学計算であり、別途学習されたジェスチャー分類器ではありません。指先が自分の中間関節よりも手首から明らかに離れている場合、その指は「伸びている」と判定されます。5本すべての指が伸びていれば手のひらを開いた状態、親指だけならサムズアップ、というように判定されます。
プラットフォームガイド
Zoom、Teams、Discordでの手のジェスチャーの活用
Zoomのリアクションメニューには物理的な挙手ジェスチャーがあり、最近のデスクトップクライアントではカメラがオンのとき自動的に検出されます。顔の近くで手のひらを開いて掲げると、ボタンをクリックした場合と同じリアクションがトリガーされます。Teamsにも同様の挙手リアクションがありますが、ジェスチャーによる自動検出機能はZoomほど早くはなく、クライアントバージョンごとに段階的に展開されています。
Discordにはネイティブのジェスチャー検出機能はありませんが、Webカメラのジェスチャーで画面上のオーバーレイやエフェクトをトリガーするOBSやElgato Stream Deckプラグインを使用している場合、手のジェスチャーは依然として重要です。こうしたプラグインは、このツールが確認しているのとまさに同じ種類の、明瞭で照明の良いランドマークトラッキングに依存しています。
セットアップ
安定したジェスチャー検出のためのカメラ位置と照明
手は完全にフレーム内に収め、カメラにある程度近づけてください。手がフレーム幅のおおよそ10分の1を下回ると、ランドマークトラッキングの精度は急速に低下します。逆光は最も一般的な失敗要因です。背後に明るい窓があると手がシルエット化してしまい、モデルは暗い輪郭から個々の指の関節を判別できなくなります。
フレームレートも重要です。USB帯域の制限やドライバーの問題などで30fpsを維持するのに苦労しているWebカメラは、トラッキングモデルがジェスチャーを捉えるためのフレーム数が少なくなり、完全な検出失敗というよりも、ちらつきや検出漏れとして現れます。
よくある質問