用語集 · バイオメカニクス

モーションリターゲティング

別名:Motion retargeting、retargeting、retarget、retargeted、リターゲティング、リターゲット

ある体で記録した動きを、プロポーションの違う別の体に移すことです。動きの大事なところは保ちます。

人の動きのクリップは、位置をコピーするだけでは別の体で再生できません。シミュレーションのファイターの脚が胴体に対して長いなら、足を演者の足とまったく同じ場所に置くと膝がおかしく曲がり、拳を演者の拳と同じ場所に置くと肘が頭にめり込むように折りたたまれます。

リターゲティングでは、何を保つかを選びます。よくある選び方は、そして私たちの選び方も、向きと回転(各骨がどちらを向いているか、骨盤と胸がどう回っているか)を保ち、位置は新しい体の長さに任せることです。そのうえで、小さな逆運動学のステップで、何かに触れていなければならないところだけを直します。地面についた足は床に平らにつけて滑らせず、打つほうの手足は目標に届かせます。

各フレームについて、これは新しい体の関節角 qq に対する最適化になります。

min⁡q  ∑bwb ∥d^b(q)−d^b human∥2  +  ∑cwc ∥pc(q)−pctarget∥2\min_q \; \sum_{b} w_b \,\big\lVert \hat d_b(q) - \hat d_b^{\,\text{human}} \big\rVert^2 \;+\; \sum_{c} w_c \,\big\lVert p_c(q) - p_c^{\text{target}} \big\rVert^2

ここで d^b\hat d_b は骨 bb の向きの単位ベクトル、pcp_c は接触点(かかと、つま先)の位置です。

このプロジェクトでは

ファイターの脚は、胴体に対する比でコーチより約25%長くなっています。リターゲットのステップ(kakuto-mlの mocap/retarget.py)は、骨の向きと各部位の回転を合わせ、2回目のパスで接触点を固定し、カメラから見えない関節(前腕のひねり、手首、鎖骨)は構えの姿勢に保ちます。シミュレーション自身の動きを2台の仮想スマホで撮影し、パイプライン全体に通したところ、戻ってきた骨の向きの誤差の中央値は1〜6°でした。

関連用語

この用語が出てくる記事

← すべての用語