姿勢検出

ML Kit Pose Detection API は、アプリ デベロッパーが連続動画または静止画像から対象の身体の姿勢をリアルタイムで検出できる、汎用性の高いソリューションです。ポーズは、ある時点における身体の位置を、一連のスケルトンランドマーク ポイントとともに記述します。ランドマークは、肩や股関節などの身体の一部に対応しています。ランドマークの相対的な位置を使用して、ポーズを区別できます。

iOS Android

ML Kit の姿勢検出では、顔のランドマーク(耳、目、口、鼻)と手と足のポイントを含む全身 33 点の骨格一致が生成されます。以下の図 1 は、ユーザーのカメラ越しに撮影しているランドマークを表すもので、鏡像になっています。ユーザーの右側が画像の左側に表示されます。

図 1. ランドマーク

ML Kit の姿勢検出では、良好な結果を得るために専門的な機器や ML の専門知識は必要ありません。このテクノロジーにより、デベロッパーは数行のコードを使用するだけで、ユーザーに優れたエクスペリエンスを提供できます。

ポーズを検出するには、ユーザーの顔が存在している必要があります。姿勢検出は、被写体全体がフレームに映っているときに最適に動作しますが、部分的なポーズも検出します。認識されていないランドマークには、画像外の座標が割り当てられます。

主な機能

  • クロス プラットフォームのサポート: Android と iOS で同じエクスペリエンスを利用できるようになります。
  • 全身追跡: モデルは、手と足の位置など、33 個の主要な骨格ランドマーク ポイントを返します。
  • InFrameLikelihood スコア: ランドマークごとに、ランドマークが画像フレーム内にある確率を示すメジャー。スコアの範囲は 0.0 ~ 1.0 で、1.0 は信頼度が高いことを示します。
  • 2 つの最適化された SDK: ベース SDK は、Pixel 4 や iPhone X などの最新のスマートフォン上でリアルタイムで実行されます。それぞれ 30 fps と 45 fps の速度で結果を返します。ただし、ランドマーク座標の精度は異なる場合があります。正確な SDK は遅いフレームレートで結果を返しますが、より正確な座標値が生成されます。
  • 深度分析用の Z 座標。この値は、ユーザーの身体の一部が股関節の前面か後ろかを判断するのに役立ちます。詳しくは、以下の Z 座標のセクションをご覧ください。

Pose Detection API は、Facial Recognition API と似て、一連のランドマークとその位置を返します。ただし、顔検出も笑顔や目を開けているような特徴を認識しようとしますが、姿勢検出ではポーズやポーズ自体のランドマークには意味を持ちません。独自のアルゴリズムを作成して、ポーズを解釈できます。例については、姿勢分類のヒントをご覧ください。

姿勢検出では、画像内の 1 人の人物のみを検知できます。画像に 2 人の人物がいる場合、モデルは最も高い信頼度で検出された人物にランドマークを割り当てます。

Z 座標

Z 座標は、すべてのランドマークに対して計算された実験値です。X 座標と Y 座標のような「画像ピクセル」で測定されますが、実際の 3D 値ではありません。Z 軸はカメラに垂直で、対象者の腰の間を通過します。Z 軸の原点は、ヒップ間の中心点(カメラに対する左右の左右)になります。Z 値は負の値で、カメラから離れています。Z 座標に上限または下限はありません。

サンプル結果

次の表は、右のポーズにおけるいくつかのランドマークの座標と InFrameLikelihood を示しています。ユーザーの左手の Z 座標は負です。これらは、被写体の股関節中心の前かつカメラに向かっているためです。

ランドマークタイプ位置類似の可能性
11左_SHOULDER(734.9671、550.7924、-118.11934)0.9999038
12 右の SHOULDER (391.27032, 583.2485, -321.15836) 0.9999894
13 左の矢印 (903.83704、754.676、-219.67009) 0.9836427
14 右エルボ (322.18152, 842.5973, -179.28519) 0.99970156
15 左のリスト (1073.8956、654.9725、-820.93463) 0.9737737
16 右手首 (218.27956、1015.70435、-683.6567) 0.995568
17 左のピンク色 (1146.1635、609.6432、-956.9976) 0.95273364
18 右ピンク (176.17755、1065.838、-776.5006) 0.9785348

仕組み

この API の基盤となる ML モデルの実装の詳細については、Google AI のブログ投稿をご覧ください。

ML の公平性の詳細と、モデルのトレーニング方法については、モデルカードをご覧ください。