ヘルスケア
フィットネス アプリケーションにおける AI 姿勢推定
著者: Maksym Tatariant、データ サイエンス エンジニア モビデブ.
人間の姿勢推定とは、かなり新しい技術ですが、急速に進化しており、フィットネスやダンスのアプリケーションで重要な役割を果たしており、デジタル コンテンツを現実世界に配置することを可能にします。
つまり、人間の姿勢推定の概念は、人間の姿勢を検出して処理できるコンピューター ビジョン ベースのテクノロジーです。このテクノロジーの最も重要かつ中心的な部分は人体モデリングです。現在の人間の姿勢推定システムでは、骨格ベース、輪郭ベース、体積ベースの 3 つの身体モデルが最も顕著です。
スケルトンベースのモデル
このモデルは、膝、足首、手首、肘、肩などの関節(キーポイント)と体の四肢の向きの集合で構成されています。 このモデルはその柔軟性で注目に値し、3 次元と 2 次元の両方の人間の姿勢推定に適しています。 3 次元モデリングでは、ソリューションは RGB 画像を使用してジョイントの X、Y、Z 座標を見つけます。 2 次元モデリングでは、RGB イメージの分析と同じですが、X 座標と Y 座標を使用します。
輪郭ベースのモデル
胴体や手足の輪郭や大まかな幅を生かしたモデルです。 ここで、ソリューションはボディ フレームのシルエットを取得し、そのフレームワーク内の長方形と境界としてボディ パーツをレンダリングします。
ボリュームベースのモデル
このモデルは通常、一連の 3 次元スキャンを使用して身体の形状をキャプチャし、それを形状のフレームワークと幾何学的メッシュに変換します。 これらの形状により、3D の一連のポーズと身体表現が作成されます。
3D 人間の姿勢推定の仕組み
フィットネス アプリケーションは、3 次元の人間の姿勢推定に依存する傾向があります。 これらのアプリでは、人間のポーズに関する情報が多ければ多いほど良いです。 この技術を使用すると、アプリのユーザーは、運動やトレーニング ルーチンに参加している自分自身を記録します。 その後、アプリはユーザーの体の動きを分析し、間違いや不正確さを修正します。
このタイプのアプリのフローチャートは通常、次のパターンに従います。
- まず、エクササイズ中のユーザーの動きに関するデータを収集します。
- 次に、ユーザーの動きがどの程度正しいか間違っているかを判断します。
- 最後に、インターフェイスを介してユーザーがどのような間違いを犯した可能性があるかを示します。
現在、人間のポーズ技術の標準は COCO トポロジ。 COCO トポロジーは、顔から腕、脚に至るまで、身体全体の 17 個のランドマークで構成されています。 COCO は唯一の人体ポーズ フレームワークではなく、単に最も一般的に使用されているフレームワークであることに注意してください。
このタイプのプロセスでは通常、ユーザーの姿勢を推定する際の関節の抽出に深層機械学習テクノロジーが利用されます。次に、ジオメトリベースのアルゴリズムを使用して、検出されたものを理解します (検出されたジョイントの相対位置を分析します)。ダイナミック ビデオをソース データとして使用しながら、システムは単一の画像だけでなく一連のフレームを使用してキーポイントをキャプチャできます。その結果、システムは隣接するフレームからの情報を使用して現在のフレーム内の人体の位置に関する不確実性を解決できるため、ユーザーの実際の動きをはるかに正確にレンダリングできます。
フィットネス アプリケーションで 3D 姿勢推定を使用するための現在の手法のうち、最も正確なアプローチは、まずモデルを適用して 2D キーポイントを検出し、続いて 2D 検出を別のモデルで処理して 3D キーポイント予測に変換することです。
研究 最近投稿したように、単一のビデオ ソースが使用され、2D -> 3D キーポイント変換を実行するために拡張時間畳み込みを適用した畳み込みニューラル ネットワークが使用されました。
現在存在するモデルを分析した結果、VideoPose3D がほとんどの AI 駆動フィットネス アプリケーションのニーズに最適なソリューションであると判断しました。 このシステムを使用した入力では、2D セットのキーポイントを検出できるようにする必要があります。 ここでは、COCO 2017 データセットで事前トレーニングされたモデルが 2D検出器。
現在のジョイントまたはキーポイントの位置を最も正確に予測するために、VideoPose3D は短期間に複数のフレームを使用して 2D ポーズ情報を生成できます。
3D 姿勢推定の精度をさらに高めるために、複数のカメラで同じエクササイズやルーチンを実行しているユーザーの代替視点を収集できます。 ただし、複数のビデオ ストリーム入力を処理するには、より大きな処理能力と特殊なモデル アーキテクチャが必要であることに注意してください。
最近、Google 発表 BlazePose システムは、分析されるキーポイントの数を 33 に増やすことで人間の姿勢を推定するモバイル デバイス指向のモデルで、COCO キーポイント セットと他の XNUMX つのトポロジ (BlazePalm と BlazeFace) のスーパーセットです。 その結果、BlazePose モデルは、身体のセマンティクスを明確にすることで、手のモデルや顔のモデルと一致するポーズ予測結果を生成できます。
機械学習ベースの人間の姿勢推定システム内の各コンポーネントは高速である必要があり、姿勢の検出とモデルの追跡にはフレームあたり最大で数ミリ秒かかります。
BlazePose パイプライン (姿勢推定および追跡コンポーネントを含む) はさまざまなモバイル デバイス上でリアルタイムで動作する必要があるため、パイプラインの各部分は非常に計算効率が高く、200 ~ 1000 FPS で実行されるように設計されています。 。
人物が存在するかどうか、どこに存在するかが不明なビデオ内の姿勢推定と追跡は、通常 XNUMX 段階で行われます。
最初の段階では、物体検出モデルが実行され、人間の存在を特定するか、人間の不在を特定します。 人が検出されると、姿勢推定モジュールはその人を含む局所領域を処理し、キーポイントの位置を予測できます。
この設定の欠点は、オブジェクト検出モジュールと姿勢推定モジュールの両方をフレームごとに実行する必要があり、余分な計算リソースを消費することです。 ただし、BlazePose の作成者は、この問題を回避する賢い方法を考案し、次のような他のキーポイント検出モジュールで効率的に利用します。 フェイスメッシュ & メディアパイプハンド.
このアイデアは、オブジェクト検出モジュール (BlazePose の場合は顔検出器) は最初のフレームでポーズ追跡を開始するためにのみ使用でき、その後の人物の追跡は、ポーズ調整後のポーズ予測のみを使用して実行できるというものです。姿勢推定モデルを使用して予測されるパラメータ。
顔は、外観の変化が比較的小さく、特徴のコントラストが高いため、ニューラル ネットワークに対して胴体の位置に関して最も強い信号を生成します。 その結果、あらゆる個人的な使用例で人間の頭の位置を特定できるという考えに基づいた一連の正当な仮定を通じて、姿勢検出のための迅速で低オーバーヘッドのシステムを作成することが可能になります。
人間の姿勢推定の課題を克服する
フィットネス アプリでポーズ推定を利用すると、人間のポーズの範囲が膨大になるという課題に直面します。たとえば、ほとんどのヨガ レジメンでは何百ものアーサナがあります。
さらに、特定のカメラで撮影されたときに身体が特定の手足を遮ることがあり、ユーザーは身体の特徴や個人的な外観を隠すさまざまな衣装を着ている可能性があります。
事前トレーニングされたモデルを使用する際は、異常な体の動きや奇妙なカメラ アングルが発生する可能性があることに注意してください。 人間の姿勢推定における誤差。 3D 人体モデルのレンダリングからの合成データを使用するか、問題のドメインに固有のデータを使用して微調整することで、この問題をある程度軽減できます。
幸いなことに、弱点の大部分は回避または軽減できるということです。 そうするための鍵は、適切なトレーニング データとモデル アーキテクチャを選択することです。 さらに、人間の姿勢推定技術の分野における発展の傾向は、私たちが現在直面している問題のいくつかは、今後数年間であまり重要ではなくなることを示唆しています。
最後の言葉
人間の姿勢推定には、ゲームからアニメーション、拡張現実、ロボット工学に至るまで、フィットネス アプリや人間の動きの追跡の分野以外にも、将来さまざまな用途が考えられます。 これは可能性の完全なリストを表しているわけではありませんが、人間の姿勢推定がデジタル環境に貢献する可能性が最も高い領域のいくつかに焦点を当てています。