ゴルフ百科事典

マーカーレス3Dスイング計測は、動画からどうやって3Dの動きを作る?

3Dモーションキャプチャ

あとで読む保存した記事へ →

まず答え

身体に反射マーカーを貼らず、複数方向の動画からAIが肩・肘・股関節などの位置を推定し、カメラの位置関係と時刻をそろえて3D座標を再構成します。その3D座標を身体モデルへ当てはめて関節角などを計算します。表示される角度はカメラが直接測った値ではなく、映像とモデルから求めた推定値です。

詳しい解説

マーカーレス3D計測では、身体に反射マーカーを付ける代わりに、まず動画の各フレームからAIの姿勢推定で肩・肘・手首・股関節などの身体ランドマークを見つけます。ここで得られるのは、最初は各カメラ画像上の2D位置です。

複数カメラ方式では映像内の身体点を推定し、カメラの校正と時刻同期を前提に同じ点を対応付けて3D座標を再構成します。身体モデルや補間・学習処理等を通して関節角等を求めます。図はOpenCap等の処理を簡略化した概念で、全方式共通の詳細実装ではありません。点数は記号で仕様ではなく、一般動作での検証結果をゴルフの精度保証に転用しません。

複数カメラ方式では、撮影前にカメラ同士の位置や向きを校正し、映像の時刻もそろえます。そのうえで、別々の方向から見た同じ身体点を対応づけ、三角測量などで空間上の3D座標へ変換します。

一次研究のOpenCapでは、2台以上のスマートフォン動画から2Dの身体点を抽出し、映像を同期して3D点を再構成します。さらに学習モデルで身体点を補い、筋骨格モデルと逆運動学を使って関節角などの3D運動学を求めています。つまり、画面に出る『骨盤回転○度』『膝角度○度』は、カメラがその角度を直接見ているのではなく、推定した3D座標と身体モデルから計算した値です。

精度は方式や条件で変わります。OpenCapの検証では、歩行・スクワット・椅子立ち上がり・ドロップジャンプで、研究室のマーカー式計測と比べた関節角の平均絶対誤差は4.5度でした。ただしこれはゴルフスイングの精度を保証する数値ではありません。高速な動き、身体の重なり、カメラ位置、校正、同期、学習モデル、身体モデルの違いで誤差は変わります。

また、身体の骨格推定とクラブ計測は別問題です。ゴルフの単眼動画を使った一次研究では、身体関節には姿勢推定、クラブヘッドには別の物体追跡を使っています。したがって『身体が3Dで取れたからクラブも同じ精度で取れている』とは限りません。

実用上は、絶対値を真値として見るより、同じ機器・同じカメラ配置・同じ処理条件で、自分のスイングがどう変化したかを比較する使い方が安全です。