スマホ一つで姿勢推定はどこまでできる?力学的な解析は可能なのか。
その姿勢推定アプリ、どこまでできますか?
AIは進化を続け、姿勢推定技術によって、モーションキャプチャーはスマホ一つでできる時代になってきました。しかし、前回の記事で紹介したように、いろいろな姿勢推定アプリがある中、全て同じではありません。単純な2D画像上での姿勢推定から、3Dグローバル空間上で姿勢推定を行うものまであり、それぞれの姿勢推定で「できること」は異なります。姿勢推定の究極形は3Dグローバル空間上で完璧の動作を推定することでしょう。ただ、動作解析にはその先があります。それは力学的な解析です。
力学的な解析とはつまり、床反力という床面から足に伝わる外力を解析したり、関節トルクという関節にかかる負荷を解析したりすることをいいます。これらを解析することで、スポーツやリハビリの中でうまく「力」を使えているか、を調べることが可能になり、動作解析で「できること」が大きく広がります。本来であれば床反力計という大きなセンサーで床反力を計測することで可能となりますが、スマホ一つでは当然そのようなセンサーは使えません。ではどうするか…?それは、Techを駆使するしかありません。
筆者の知る限り、床反力を推定する技術は3パターンほどあります。
- 物体同士がぶつかった時に、物体同士の距離が近いほど大きな反力を計算する
- 運動方程式を満たすような床反力を計算する
- AIを使う
それぞれ異なる手法ですが、共通していることがあります。それは、「3Dグローバル空間上での姿勢推定精度が高い必要がある」ということです。では1番の手法から説明します。
1. 物体同士がぶつかった時に、物体同士の距離が近いほど大きな反力を計算する
[画像引用]D’Hondt, Lars & De Groote, Friedl & Afschrift, Maarten. (2024). PLOS Computational Biology. 20. e1012219. 10.1371/journal.pcbi.1012219.
上の画像のcontact sphereのように接触する物体をあらかじめ設定しておき、床面を貫通した時にその貫通した距離に応じて接触力(contact force)が大きくなる仕組みです。仕組み自体は非常にシンプルです。ただし、シンプルゆえに扱うのは簡単ではありません。「貫通したほど大きい」ということは足の位置と床の位置の精度がかなりよくなければ簡単に誤差が大きくなってしまいます。そのため、この接触する物体を使う場合は、「精度の高い3Dグローバル空間上での姿勢」が必要になります。これはマーカーと何台ものカメラを使った光学式モーションキャプチャーを使用しても難しいくらいの精度が必要なので、姿勢推定のみでは到底不可能です。したがって、このケースでは、tracking simulationという最適化手法の一つを使い、力学的なエラーが無いように、姿勢、つまり足の位置を変更しながら最適にするステップが必要になります。このtracking simulationはforward dynamics(順動力学)を伴い、計算量も多いため、解析に時間がかかるのが弱点です。
2. 運動方程式を満たすような床反力を計算する
こちらは1番で出てきたような接触する物体は使いません。最もシンプルなケースを考えてみましょう。体重60kgの人が方足立ちで止まったいる状態を想像してください。運動方程式を満たす床反力の大きさと方向を求めてください。はい、そうです。大きさは60kg(x重力加速度)で方向はまっすぐ上です。つまり止まっているためには、重力に対抗するための床反力が必要なので、重力と同じ大きさで逆方向の床反力が計算されます。同じように、歩いている場合や走っている場合も、運動方程式を満たすような床反力が必要です。この手法では床面に接触している部分の状態によって計算が複雑になります。こちらの手法も運動方程式を解くために「精度の高い3Dグローバル空間上での姿勢」が必要になります。ただし、1番ほどシビアではないため、姿勢を変更するステップも無く、比較的計算時間も短くなります。
3. AIを使う
最も多い方法は運動データをインプットとし、床反力をアウトプットとしたAIです。AIと言ってもその構造は様々なのでAIの中身には特に言及しませんが、1番と2番のような、アルゴリズムに基づいた計算は伴いません(学習時を除く)。AIのインプットには様々なものがあります。2D姿勢推定の結果を使ったり、3D姿勢推定の結果を使って作成することも可能です。計算時間は1番や2番の手法よりも圧倒的に短くなります。また、他の手法に比べて姿勢推定の精度が低くても床反力の計算が可能になります。しかし、精度の高い姿勢データで学習したAIほど、床反力の計算には有利であることには間違いなく、精度の高い姿勢推定が求められることに変わりはありません。AI特有の弱点としては、学習したケース以外では精度が下がることがある点も注意が必要です。
その姿勢推定アプリ、力学的解析まで可能ですか?
上記で解説したように、力学的な解析を行うためにはかなり精度の高い姿勢推定が必要です。つまり、力学的な解析ができる姿勢推定アプリはそれだけ姿勢推定の精度が高いことを意味します。もちろん、ユーザーによって姿勢推定に求める機能はそれぞれですが、力学的な解析ができるか否かは姿勢推定能力の一つの指標になるでしょう。
まとめ
前回の記事で姿勢推定の違いについて解説し、今回の記事ではさらにその先の技術である力学的解析の解説をしました。スマホ一つで力学的な解析まで行うためには、姿勢推定精度が高いことが前提です。姿勢推定に3Dの高精度を求める方は力学的な解析が可能かどうかもチェックしてみることをお勧めします。
記事を書いた人
上野亮 / 執行役員
北海道大学大学院にて理学療法士および保健科学博士を取得。その後、米国Mayo Clinicおよびオーストリア国インスブルック大学でポスドク研究員として勤務し、筋骨格モデルを使ったバイオメカニクス解析に関する研究を行う。株式会社ORGO入社後、研究プロジェクトの総括を行う。