人間の姿勢評価技術の開発と実装

人間の姿勢評価技術の開発と実装

[51CTO.com クイック翻訳]関連調査レポートによると、デジタルフィットネス市場の規模は2022年までに274億米ドルに達すると予想されています。フィットネス トレーナーに代わるテクノロジーがあると誰かが言ったら、それは 3D Human Pose Estimation テクノロジーを指しているに違いありません。デジタルフィットネスにおける比較的新しいが急速に成長している技術として、ユーザーが入力した身体運動ビデオを使用して、さまざまなスポーツパラメータ指標を自動的に分析できます。以下では、私自身の実装経験に基づいて、AI フィットネス分野向けの 3D 人間ポーズ推定アプリケーションを開発および実装する方法について説明します。

人間の姿勢推定とは何ですか?

コンピュータビジョンをベースとした技術である人間の姿勢推定は、人体モデリングを通じてさまざまな人間の動きや姿勢を検出し、分析することができます。このタイプのテクノロジーには通常、次の 3 つの人間モデルが含まれます。

  • スケルトンベースのモデル - 足首、膝、肩、肘、手首、手足のポーズなどの関節 (キーポイント) のセットで構成されます。これらが人体の骨格構造を構成します。このようなモデルは柔軟性があるため、2D と 3D の両方の人間の姿勢推定技術で使用できます。
  • シルエットベースのモデル - 人間の胴体と手足の大まかな幅で構成され、体の部分はアウトラインの境界と長方形としてレンダリングされます。
  • ボリュームベースのモデル - 3D の人間の形状とポーズで構成されます。これらのポーズは、幾何学的なメッシュと形状を持つボリューム モデルを使用して 3D スキャンによってキャプチャされます。

出典 – https://arxiv.org/pdf/2006.01423.pdf

以下では、主に 2D または 3D の視点から検出されたスケルトンベースのモデルについて説明します。そのうち、2D 姿勢推定の検出と分析は、RGB 画像内の人体の関節の X、Y 座標に基づいて行われ、3D 姿勢推定では、X、Y、Z 座標を検出して分析します。通常、フィットネス アプリケーションでは、スポーツ中の人間の姿勢をより正確に分析するために 3D 推定を使用するのが最適です。したがって、AI フィットネス コーチ アプリの基本的なプロセスは次のようになります。

1. 練習中のユーザーの動きをキャプチャする

2. スポーツパフォーマンスの正確性を分析する

3. ユーザーインターフェースにエラーを表示する

次に、3D 人間姿勢推定技術が人体の重要なポイントをどのように検出するかについて説明します。

上図に示すように、このプロセスではまず人体の関節を抽出し、次にディープラーニングアルゴリズムを通じて人体の姿勢を分析します。人間の姿勢推定システムがビデオ録画をデータ ソースとして使用する場合、より高い精度を実現するために、単一の安定した姿勢画像ではなく、実際の動きの一連のフレームからキー ポイント (つまり、関節の位置) を検出する必要があります。

3D 人間の姿勢推定システムを開発する方法は多数ありますが、最も一般的な方法は、特定の画像/フレームから 3D または 2D のキーポイントを抽出するためにディープラーニング モデルをトレーニングすることです。次のビデオを、時空間畳み込みを備えた畳み込みニューラル ネットワーク (CNN) を使用して分析します。

ソース – https://github.com/facebookresearch/VideoPose3D/blob/master/images/convolutions_anim.gif

既存のモデルを分析した結果、VideoPose3D がフィットネス アプリケーションに適した選択肢であることがわかりました。入力から事前トレーニング済みの 2D 検出器として COCO 2017 データセットを使用して、2D キーポイントのセットを検出できます。同時に、特定の関節の位置を正確に予測するために、異なる期間に撮影された複数のフレームからの視覚データを処理します。

AIフィットネスコーチアプリで人間の姿勢評価を使用する方法

私たちの目標は、システムが特定の入力ビデオを検査して、一般的なモーションエラーがあるかどうかを検出できるようにすることだとします。つまり、アプリは入力ビデオを、同じ動きを披露するプロのアスリートの参照ビデオと比較する必要があります。次に、具体的な処理フローについて説明します。

1. アクションの開始と終了に合わせて入力ビデオをカットする

開始点と終了点の注釈については、任意のしきい値を使用して、ボディ制御点の位置を自動的に検出できます。たとえば、スクワットのときに、腕の角度と手の高さの位置を検出し、任意のしきい値を使用して、キャプチャされた運動の開始点と終了点を比較できます (下の図を参照)。

ビデオソース – https://www.youtube.com/watch?v=M-qAx0yGK9w

もちろん、別のアプローチを使用することもできます。つまり、ユーザーにアクションの開始と終了を意図的に示すように依頼することです。

2. ユーザーの体の2Dおよび3Dのキーポイントを検出する

上記で検出された開始点と終了点に基づいて、アルゴリズムはそれらを 2D および 3D キー ポイントに自動的に変換します。

3. 練習段階の分解

キーポイント(関節)の位置を抽出する際には、参照ビデオの位置と比較する必要があります。ユーザーの実際の移動速度は、参考動画のプロアスリートの移動速度とは異なるため、直接比較することはできません。

これらの違いに対処するには、演習を段階的に分割します。下の図に示すように、スクワット運動は、しゃがむ段階と立ち上がる段階の 2 つの主要な段階に分けられます。

出典 – stronglifts.c​​om

次に、入力ビデオから検出されたキーポイントをフレームごとに分析し、モーション基準を使用して参照ビデオのキーポイントと 1 つずつ比較して、分解を完了します。

4. よくあるエラーを検索する

3D キーポイントの検出と練習フェーズの分解が完了すると、入力ビデオ内の練習動作における一般的なミスを検出できます。下の図に示すように、ユーザーがしゃがむと、脚がまっすぐに伸びるのではなく、外側に曲がっていることが検出されます。また、膝は足よりも胴体に近くなる必要があります。

ビデオソース – https://www.youtube.com/watch?v=W73Mc0Gil9A&t=244s

5. 入力ビデオと参照ビデオをフレームごとに比較する

ユーザーの動きをより正確に修正するには、次の手順に従って、入力ビデオと参照ビデオをフレームごとに比較する必要があります。

1) 入力ビデオの進行に合わせて参照ビデオの速度を遅くしたり早送りしたりします。

2) ユーザーとプロアスリートの骨格モデルの回転角度が基準点と一致するように位置合わせします。

3) 参照ビデオと入力ビデオは異なる距離から撮影されている可能性があるため、2 セットのスケルトンを結合または正規化する必要があります。

4) フレームごとに重要なポイントを比較して、動きの不一致を検出します。

5) 上記のプロセスをさまざまな関節(足、膝、手、肘など)に対して繰り返します。

6. 結果を表示し、ユーザーへの提案を生成する

分析サイクル全体が完了すると、ユーザーはさまざまな形式で表示される結果を取得する必要があります。たとえば、出力結果には、エラー メッセージを含むさまざまなインタラクティブな 3D 再構築が含まれるため、ユーザーは特定のアクションの詳細を拡大、縮小、巻き戻し、早送り、一時停止することができます。もちろん、出力結果には、繰り返し回数、単一サイクルの平均速度、期間など、特定のアクションに関する統計情報を収集して表示することもできます。

次の図は、ビデオベースの 3D 人間姿勢推定システムの出力の例です。

出典: stronglifts.c​​om のメンズヘルスチャンネル

学んだ教訓

まとめると、AI フィットネス コーチ アプリ開発の観点から、3D 人間姿勢推定システムの基本的な動作原理と操作手順について説明しました。もちろん、実際のプロジェクトの具体的な特性に応じて、ビジネス ニーズの変化に応じてプロセスが追加、削除、削減、または変更される可能性があります。私の経験の要約をいくつか紹介します。

  • 3D 人間姿勢推定は、フィットネス運動における動作エラーの検出に使用できます。
  • 高品質の 3D キーポイントを取得するには、適切な 2D キーポイント検出器を選択することが重要です。
  • 関節の動きが速いと、2D モデル内のキーポイントを検出してエラーを見つけるのが難しくなります。
  • 事前にトレーニングされたモデルは、通常とは異なる動きや姿勢にはうまく対応できない場合があります。この時点で、特定のプロパティを持つデータを使用してモデルを最適化するために、微調整または再トレーニングが必要になる場合があります。

注: この記事は https://mobidev.biz から引用したものです。 MobiDev は、技術研究とソフトウェア開発サービスの体験を提供する Web サイトです。

原題: 人間の姿勢推定技術 2021 ガイド、著者: Maksym Tatariants

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]

<<:  音声認識市場は2025年までに267億9000万ドルに達する見込み

>>:  顔認証でお金を引き出すのは安全ですか?

ブログ    
ブログ    
ブログ    

推薦する

...

レア! Apple のオープンソース写真編集ツール MGIE が iPhone に登場?

写真を撮り、テキストコマンドを入力すると、携帯電話が自動的に写真の編集を開始しますか?この魔法のよう...

作業員にとって、端末に大きなモデルをインストールすることは、祝福でしょうか、それとも呪いでしょうか?

さまざまな業界の労働者は、当初は AI に取って代わられるのではないかと心配していましたが、今では ...

見逃せない AIOps 実装の重要なポイントを解説するガイド

[[280530]] [51CTO.com クイック翻訳] システムの効率性と複雑さが増すにつれて、...

人工知能が火星の新しいクレーターの発見に貢献

人工知能ツールによって特定された、火星の最新のクレーター群の高解像度画像。画像出典: Space.c...

OpenAIがGPTストアを正式に開始

1月11日、リーダーシップの混乱を経験した後、人工知能スタートアップOpenAIは製品とサービスのプ...

機械学習の理解と考察

[[199326]]近年、人工知能の力強い台頭、特に昨年のAlphaGoと韓国のチェスプレイヤー、イ...

現在のディープニューラルネットワークモデルの圧縮と加速方法の概要

[[208162]]大規模なニューラル ネットワークには多数のレイヤーとノードがあるため、特にオンラ...

RPAテクノロジーが製造業の未来をどのように変えるか

RPA コンサルティング サービスは、製造業者がソフトウェア ロボットを使用してさまざまな反復的なル...

...

進化する決定木: 機械学習が生物学からヒントを得るとき

生物学(または生命科学)に対する理解は時間の経過とともに大きく深まり、多くのエンジニアにとって、困難...

Reddit で高く評価:機械学習分野における「8つの大罪」!査読は変化し、偶像崇拝が蔓延している

最近、Reddit コミュニティで機械学習の分野を批判する記事が白熱した議論を巻き起こし、3.1k ...

コレクションにおすすめ!素晴らしい AWS 機械学習ツールキットの概要

[[330619]]テクノロジーとエコロジーの継続的な進化、およびアプリケーション シナリオの継続的...

...

...