JP2004062692A - Motion generating system using multiple structure - Google Patents

Motion generating system using multiple structure Download PDF

Info

Publication number
JP2004062692A
JP2004062692A JP2002222287A JP2002222287A JP2004062692A JP 2004062692 A JP2004062692 A JP 2004062692A JP 2002222287 A JP2002222287 A JP 2002222287A JP 2002222287 A JP2002222287 A JP 2002222287A JP 2004062692 A JP2004062692 A JP 2004062692A
Authority
JP
Japan
Prior art keywords
motion
skeleton
sub
generation system
calculated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002222287A
Other languages
Japanese (ja)
Other versions
JP3866168B2 (en
Inventor
Shigeru Kuriyama
栗山 繁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Science and Technology Agency
Original Assignee
Japan Science and Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Science and Technology Corp filed Critical Japan Science and Technology Corp
Priority to JP2002222287A priority Critical patent/JP3866168B2/en
Publication of JP2004062692A publication Critical patent/JP2004062692A/en
Application granted granted Critical
Publication of JP3866168B2 publication Critical patent/JP3866168B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motion generation system which can generate a natural motions of humans in CG (computer-generated) animation. <P>SOLUTION: In the motion generating system, the motion of the virtual humans is generated using motion capture data, for example. In this situation, first the initial posture of a virtual human is decided (S101), and the position for a termination effect device is decided (S102). Variation in joint angle is calculated (S103) using inverse kinematics, using the position for the termination effect device and composition of auxiliary skeletons. Finally, motion data for the virtual human is generated (S104) using the calculated variation of the joint angle, and image processing is performed (S105) to be displayed on a display unit, and the like. As described, the motion for the virtual humans can be made close to the natural motion of the humans by generating motions, using the auxiliary skeletons which can be flexibly composed, independently of the composition of the main skeletons. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、CGアニメーションなどにおける人体等のモデル化と動作の生成に関する。
【0002】
【従来の技術】
従来、CGアニメーションなどにおいて、人物の自然な動作を生成するために、逆運動学を用いて動作を生成する方法が採用されている。これは、可動関節を有する骨格構造で仮想的な人体(以降「仮想人間」という)を構成し、終端効果器(end−effector)と呼ばれる手先や足先の位置の変化量から各関節の角度の変化量を自動的に計算するものであり、従来の動作生成技術であるキーフレーム法やスケルトン法などにおいて用いられている方法である。
この方法によれば、例えば「手を動かす」という仮想人間の動作を生成する場合、終端効果器(手先)の位置の変化量を指定すれば、肩、肘、手首などの各関節の角度の変化量が自動的に計算されるため、各関節の位置や角度を別々に指定するよりも簡単に動作を生成することができる。
【0003】
しかしながら、終端効果器の位置の変化量に対応する各関節の角度の変化量は無限に存在する。すなわち、通常は終端効果器の位置の空間自由度は、全関節の回転の自由度よりも小さいので、逆運動学の計算により求められる関節角度の変化量は冗長な成分を含んでしまう。
したがって、関節角度の変化量を一意に決定するには何らかの拘束条件を導入する必要がある。従来用いられている拘束条件には、例えば、角度の変化量の重み付き自乗和の値を最小とする拘束条件を用いる手法がある(D. E. Whitney, ”Resolved Motion Rate Control of Manipulators and Human Prostheses”, IEEETrans. Man−Machine Systems, MMS−10 (2), pp.47−53 (1969))。
また、求めるべき角度の変化量を、擬似逆行列解と零空間に射影されるベクトル成分に分離し、そのベクトル成分をエネルギー消費(J. M. Hollerbach, K. C. Suh, ”Redundancy Resolution of Manipulators through Torque Optimization”, IEEE J. of Robotics and Automation, RA−3 (4), pp.308−316 (1987))、特異点回避(Y. Nakamura and H. Hanafusa, ”Inverse Kinematic Solutions with Singularity Robustness for Robot Manipulator Control”, J. of Dynamical Systems, Measurement and Control, 108, pp.163−171 (1986))、および関節可動域制約(P.H.Chang, ”A Closed−Form Solution for Inverse Kinematics ofRobot Manipulators with Redundancy”, IEEE J. of Robotics and Automation, RA−3 (5), pp.392−403 (1987))などの評価関数の最適化に用いる手法も提案されている。
【0004】
しかしながら、これらの手法は主としてロボット制御を目的に提案されたものであり、これらの評価関数を適切に組み合わせて人間の自然な動作を生成するには、多くの試行錯誤が必要とされる。また、各個人に特有の癖や微妙な特徴を含んだ動作を生成するには、これらの評価関数だけではその表現力に限界がある。
【0005】
【発明が解決しようとする課題】
本発明の課題は、従来技術である逆運動学を用いたスケルトン法を改良し、CGアニメーションなどにおいて人間の自然な動作を生成できる動作生成システムを提供することである。
また、人間の自然な動作だけでなく、各個人に特有の癖や微妙な特徴も含んだ動作を生成できる動作生成システムを提供することも、本発明の課題である。
【0006】
【課題を解決するための手段】
上記の課題を解決するために、本発明は、可動関節を有する骨格構造によるモデルを用い、終端効果器の位置の変化量から各関節の角度の変化量を計算する動作生成システムであって、前記骨格構造が、主骨格と副骨格の多重構造で構成されており、副骨格の構造から計算される値により動作を計算することを特徴とする動作生成システムである。
前記の動作生成システムは、
【数4】
dq=Jdx+(I−JJ)Kdx,K=∂G(q’)/∂q’
(ここで、xは終端効果器の位置を表す3次元ベクトルであり、3次元ベクトル関数F(q)は主骨格の構造によって一意に決定される関数,qは角度をあらわすn次元ベクトル、J,Kは3×n次行列で、J=∂F(q)/∂qであり、J=J(JJ−1,K=K(KK−1であり、q’は任意のベクトルで,関数G(q’)は副骨格により決定される。)により動作を決定することができる。
前記副骨格は、m個の副骨格を並列的に用いており、前記ヤコビ行列Kを、
【数5】

Figure 2004062692
としてi番目の副骨格の構造から計算される関数Gとそれに対応するベクトルq,および重み係数wを用いたm個のヤコビ行列の総和とすることもできる。
また、前記副骨格は、m個の副骨格を再帰的に用いており、前記ヤコビ行列Kを、
【数6】
=L +(I−L )Ki+1
=K ,K =∂G(q)/∂q,L=∂G(q)/∂q
としてi番目の副骨格の構造から計算される関数Gとそれに対応するベクトルqをm段の階層的な構造として構成することもできる。
上記の動作生成システムをコンピュータ・システムに構築させるコンピュータ・プログラムや、そのコンピュータ・プログラムを記録した記録媒体も、本発明である。
【0007】
【発明の実施の形態】
以下、図を用いて本発明の実施の形態を詳細に説明する。
ここでは、本実施形態のシステム構成をパーソナル・コンピュータを利用して構築することができるが、ハードウェアはこれに限らず、例えば画像生成表示処理に特化している家庭用ゲーム機などであってもよい。また、動作の主体となるキャラクターは人間をモデル化した仮想人間を想定しているが、人間以外の動物やその他の物体であってもよい。
本実施形態の動作生成システムでは、実際の骨格(以下「主骨格」という)と、主骨格とは別に仮想的に構成される副次的な骨格(以下「副骨格」という)によって仮想人間の人体を構成する。そして、仮想人間の動作を生成する際に、副骨格の構造を用いて、逆運動学による関節角度の変化量の計算を行なう。図1は本実施形態の動作生成システムの処理を示すフローチャートである。図2,図3は骨格構造や、主骨格構造,副骨格構造を示す図である。これらを用いて、動作生成システムにおける処理を説明する。
【0008】
さて、図2は、骨格構造と関節角および終端効果器の位置の関係図である。剛体(骨の一本一本)を細長い楕円で、剛体と剛体の間をつなぐ回転可動関節を円で示している。灰色の網掛けの四角は手先や足先などの終端効果器である。
図2の骨格構造において、終端効果器の最初の位置をXとする。このとき、それぞれの回転可動関節の角度はq,q,qとなっている。
本実施形態の動作生成システムでは、終端効果器の位置がXからX’に移動するように位置の変化量を指定すると、副骨格の構造を用いてq,q,qの角度の変化量を計算し、回転可動関節の新しい角度q’,q’,q’を決定する。
【0009】
図3(a),(b)は、主骨格と副骨格で構成した仮想人間のモデルである。黒い網掛けの四角形は、仮想人間の人体を構成する主骨格を示している。主骨格の各剛体の長さ等は、仮想人間をデザイン、設計する際にあらかじめ決定されるものである。
一方、太いほうの実線は仮想人間の副骨格を示している。図3においては、ひとつの主骨格に対してひとつの副骨格を構成しているが、副骨格は複数で構成してもよい。この副骨格は、主骨格とは独立に構成されるので、人間の動作のあらゆる特徴を仮想的な骨格構造として柔軟に埋め込むことが可能である。
また、主骨格の関節と副骨格の関節の対応関係を、細いほうの実線で示している。
図3(a)は、直立時の仮想人間のモデルであり、主骨格の関節と副骨格の関節との対応関係を見やすく示したものである。また、図3(b)は歩行時の仮想人間のモデルであり、歩行動作における主骨格および副骨格の状態と、関節の対応関係を示している。
【0010】
次に、図1のフローチャートを用いて、本実施形態の動作生成システムが仮想人間の動作を生成する処理の流れを説明する。
なお、ここでは、実際の人間の動作を計測したモーション・キャプチャ・データを用いて仮想人間の動作を生成する場合について説明する。
【0011】
まず、仮想人間の初期姿勢を決定する(S101)。初期姿勢は、モーション・キャプチャ・データの初期姿勢を用いることができる。
次に、仮想人間の終端効果器の位置を決定する(S102)。例えば、モーション・キャプチャ・データを時間軸で区切って、区切りごとの終端効果器の位置を、仮想人間の終端効果器の位置として使用することができる。
次に、終端効果器の位置および副骨格の構成を用いて、仮想人間の関節角度の変化量を計算する(S103)。ここでの計算により、副骨格の関節角度の変化量および主骨格の関節角度の変化量が算出される。なお、具体的な計算方法については後で説明する。
次に、算出された主骨格の関節角度の変化量を用いて、上記(S102)で時間軸に区切った時点の、仮想人間の姿勢を生成する。さらに、その時点までの仮想人間の動作を補間して、動作データを生成する(S104)。動作の補間は、仮想人間の動作をなめらかにするために行なうもので、従来の補間アルゴリズムを使用することができる。
最後に、S104で生成した動作データに対して、ディスプレイなどに表示するための描画処理を行なう(S105)。
【0012】
次に、本実施形態の動作生成システムが、副骨格の構造を用いて仮想人間の関節角度の変化量を計算する際の計算式について説明する。この計算式は、上述の図1のフローチャートにおいては、関節角度の変化量の計算(S103)として示した処理で用いられる計算式である。
【0013】
仮想人間の全関節の回転自由度をnとすると、その角度をあらわすn次元ベクトルq=[q,q,...q(Tは転置を表す)と、終端効果器の3次元空間での位置を表す3次元ベクトルx=[x,x,xとの間に、
【数7】
Figure 2004062692
という関係が成立する場合、位置ベクトルxの微小変動は
【数8】
Figure 2004062692
のように表される。ただし、
【数9】
Figure 2004062692
は3×nのヤコビ行列である。
このとき、関数Fは人体を表す骨格の構造によって一意に決定される。ただし、骨格の構造とは、各関節の自由度と関節間の距離(すなわち人体の各部位の長さ)の情報を含むものとする。
【0014】
従来技術である逆運動学では、擬似逆行列
【数10】
=J(JJ−1
(−1は逆行列を表す)
を用いて、
【数11】
dq=Jdx…(1)
によって、終端効果器の位置の変化量dxから全関節の角度の変化量dqを自動的に計算する。ただしこの場合は、角度変化量の自乗和の値を最小とする条件が満たされることになる。
【0015】
本実施形態では、式(1)の角度変化量の計算式を以下の形式に拡張する。
【数12】
dq=Jdx+(I−JJ)Kdx,K=∂G(q’)/∂q’…(2)
ただし、
【数13】
=K(KK−1
であり、q’は任意のベクトルとする。また、関数G(q’)は関数F(q)を決定する主骨格とは異なる構造を取りうる副骨格から計算される。既存の手法では、他の拘束条件(例えば、特異点回避や関節可動域制約)からKdxに相当する部分を算出しているが、本手法では副骨格の構造から計算されるヤコビ行列Kの値と終端効果器の位置の変動dxにより計算されるので、副骨格の構造と姿勢そのものが拘束条件のように振舞うことになる。
【0016】
ここで、図4に示すフローチャートを用いて、上述の副骨格の構造等を決定する方法を、具体的に説明する。
関数G(またはG)を決定する副骨格の構造とその初期角度q’(またはq)は任意に設定できる。ここで、式(2)(または、後述で説明する式(3)や式(4))を用いて計算される主骨格の関節角度の値が、実際の人間の動作を計測したモーション・キャプチャ・データの値と近づくように、副骨格の構造と初期姿勢を決定すれば、終端効果器の位置の変化から生成される関節運動にそのモーション・キャプチャ・データに含まれる人間の動作の自然さを反映させることが可能となる。
ここでは、シミュレーテッド・アニーリング法(simulated annealing method)を用いて副骨格を決定している手法を例として説明する。シミュレーテッド・アニーリング法とは、最適化問題に対する近似解法の一つである逐次改善法を変形した方法であり、従来から用いられている手法である。
【0017】
まず人間の骨格を反映して決定する主骨格と副骨格を、同じ剛体接続構造と初期姿勢を有するものとし、モーション・キャプチャ・データから得られる終端効果器の軌道に沿って、副骨格の構造を用いて関節角度を計算する。次に、終端効果器の軌道上の同じ時点に相当するモーション・キャプチャ・データの関節角度と先に生成した関節角度の差分の自乗和によって、データの一致度を計算する。すなわち、この一致度は副骨格の構造を用いて生成した動作が、モーション・キャプチャ・データの動作とどの程度一致しているかを数値化するものである。
【0018】
図4のフローチャートを用いて、副骨格の構造を生成する方法を詳細に説明する。
まず、副骨格のa個の剛体部の長さを表す変数を
L={l,…,l
全関節の総数b個の回転自由度に対する初期角度を表す変数を
Q={q,…,q
とする。
最初に、LとQの値を、上述したように主骨格と同一の値に初期設定する(S401)。次に、乱数を用いてLとQの中から変数を数個だけランダムに選択(S402)し、変数がLに含まれる場合は一定長さ(例えば、5インチ)だけ、Qに含まれる場合は一定角度(例えば、30度)だけ増加または減少させる(S403)。ここで、値を増加させるか減少させるかは、選択された各変数に対して乱数を用いてランダムに決定する。次に、増加または減少させた値を用いて、上述したように計測した終端効果器の軌道を用いてモーション・キャプチャ・データとの姿勢誤差を計算し(S404)、現在値と比較する(S405)。そして姿勢誤差の値が減少した場合(S406においてYesの場合)にのみ、選択した変数群の値を更新する(S407)。
選択した変数群の値を更新した場合(すなわち、誤差が減少した場合(S406においてYesの場合))は、選択する変数群の個数を減らす(S408)。一方、誤差が減少しないで変数値が更新されない状態が続いた場合(すなわち、局所解に陥った場合)(S406においてNoの場合)は、選択する変数群の個数を増やす(S409)。
【0019】
以後、
変数の選択(S402)→変数の増減の決定(S403)→姿勢誤差の計算(S404)→現在値との比較(S405)→変数値の更新(S407)または保留→選択する変数群の個数の更新(S408,S409)の処理を、あらかじめ指定した繰り返し回数(例えば、5000回)に到達するまで、または姿勢誤差があらかじめ設定した閾値以下になるまで繰り返し(S410)、副骨格の最終的な値を得る。
【0020】
ただし、複雑な動作に関してはそれを比較的単純な動作に時間軸に沿って区分けした後、それぞれの単純動作に対して個別に、図4のフローチャートに示した処理を行なうことが考えられる。
なお、ここでは仮想人間の動作の生成方法をシミュレーテッド・アニーリング法を用いた方法として説明したが、例えば遺伝アルゴリズムなど、その他の方法を用いてもよい。
【0021】
また、副骨格の構造を人体の構造(主骨格)よりも複雑にすることも可能である。例えば、副骨格の剛体部分を複数の剛体部分に分割して回転可能な構造とすることにより副骨格の構造を複雑にする方法がある。
この方法を、図5を用いて説明する。図5(a),(b)は、副骨格のある剛体部分を2個の剛体部分に分割する場合の説明図である。剛体を黒色の太線で、回転可動関節を円で示している。
図5(a)は分割前の副骨格の構造を示した図である。主骨格のそれぞれの剛体に副骨格の剛体が対応している。図5(b)は、図5(a)のひとつの剛体xを、剛体xと剛体xに分割した後の副骨格の構造を示した図である。剛体xと剛体xの間には、新たな回転可動関節yが設置される。
このとき、その分割した剛体x,剛体xの長さおよび回転角度は、分割前の剛体xの長さおよび回転角度と一致するように初期設定する。
【0022】
さて、上述のように副骨格の各関節の自由度は任意に設定できるが、その自由度の総和が主骨格の自由度の総和よりも大きい場合は、副骨格の中で主骨格に対応しない関節自由度が存在することになる。したがって、主骨格の余分な自由度に相当する行ベクトルがヤコビ行列Kから削除される。一方、副骨格の関節自由度の総和が主骨格の関節自由度の総和よりも小さい場合は、主骨格の中で副骨格に対応しない関節自由度が存在する。したがって、副骨格で不足する自由度に相当する行ベクトルが擬似逆行列Kに零ベクトルとして追加される。
【0023】
さらに、式(2)で表される角度変化量の計算方法は以下の二通りの形式(並列形式での拡張、再帰形式での拡張)に拡張することができる。
(並列形式での拡張)
式(2)のヤコビ行列Kを、m個の副骨格を並列的に用いて、
【数14】
Figure 2004062692
としてi番目の副骨格の構造から計算される関数Gとそれに対応するベクトルq,および重み係数wを用いたm個のヤコビ行列の総和として構成する。
(再帰形式での拡張)
式(2)のヤコビ行列Kを、m個の副骨格を再帰的に用いて、
【数15】
=L +(I−L )Ki+1
=K ,K =∂G(q)/∂q,L=∂G(q)/∂q…(4)
としてi番目の副骨格の構造から計算される関数Gとそれに対応するベクトルqをm段の階層的な構造として構成する。
なお、上記の二通りの形式は相互に組み合わせて用いることも可能である。
【0024】
本実施形態の動作生成システムでは、動作の特徴が副骨格の構造とその初期姿勢として数値的に得られるので、それらの値を用いて他の種類の動作を生成することにより、異なる動作への特徴の移植が可能となる。また、関節間の距離(すなわち、人体部位の長さ)を適切に調整することにより、異なる大きさの人体に対しても動作の特徴を当てはめることができる。さらに、複数の異なる動作に対して得られた副骨格の構造と初期姿勢を適当に補間することにより、それらの特徴を融合させることも可能である。
【0025】
次に、図6〜13を用いて、従来の手法により生成した動作データと本実施形態の動作生成システムにより生成した動作データを比較して、本実施形態の効果を説明する。
なお、図6〜13は、これらの動作データ(動画)を同じ瞬間に一時停止させた静止画像で示している。
【0026】
図6〜8は、人間の歩行動作を比較するための図である。
図6は、実際の人間の歩行動作を計測してデータ化したモーション・キャプチャ・データである。
図7は、図6の歩行動作のモーション・キャプチャ・データに対して、従来手法である、計測データの足先軌道と角度変化量の自乗和の値を最小にする逆運動学で計算、生成した仮想人間の動作データである。図6のモーション・キャプチャ・データと比較すると、片方の足を前に出したときの、他方の足(図では左足)の膝の角度が、特に不自然になっている。
いっぽう、図8は、同じく図6のモーション・キャプチャ・データに対して、本実施形態の手法によって1つの副骨格を用いて計算、生成した仮想人間の動作データである。図7と比較すると、仮想人間の左足の膝は自然な角度になっており、図6のモーション・キャプチャ・データにより近い動作が生成されていることがわかる。
【0027】
図9,図10は、図6の歩行動作のモーション・キャプチャ・データを、足跡が変わるように終端効果器(足先)の軌道を変形させ、あらためて計算、生成した仮想人間の動作データである。
図9は、図7と同様の従来手法で計算、生成した仮想人間の動作データである。図7と同じように、左足の膝の角度に不自然さが目立っている。
いっぽう、図10は、図8と同様の本実施形態の手法で計算、生成した仮想人間の動作データである。図8と同じように、仮想人間の左足の膝は図9に比較して自然な角度になっている。すなわち、本実施形態の手法を用いれば、終端効果器(足先)の軌道を変更したためにもとのモーション・キャプチャ・データとは異なっている動作においても、図8と同様に実際の人間に近い動作を生成することができる。
【0028】
図11〜図13は、人間が荷物を持ち上げる動作における比較である。
図11は、実際の人間が荷物を持ち上げる動作を計測してデータ化したモーション・キャプチャ・データであり、持ち上げる荷物に手をかけた瞬間の静止画像である。
図12および図13は、図11の荷物を持ち上げる動作のモーション・キャプチャ・データに対して、その荷物の位置を前方に移動させて計算、生成した仮想人間の動作データである。
図12は、図11の荷物を持ち上げる動作のモーション・キャプチャ・データに対して、図7と同様の従来手法で計算、生成した仮想人間の動作データである。図11のモーション・キャプチャ・データと比較すると、しゃがむために曲げられた両膝や、荷物に差し伸べた両腕の肩や肘の角度が、特に不自然になっている。
いっぽう、図13は、図8と同様の本実施形態の手法によって1つの副骨格を用いて計算、生成した動作データである。図12に比較して膝や肘は自然な角度になっており、図11のモーション・キャプチャ・データにより近い動作が生成されていることがわかる。
【0029】
【発明の効果】
本発明の動作生成システムによれば、主骨格とは独立して構成される副骨格を用いて関節角度の変化量の計算を行なうので、モーション・キャプチャ・データを用いて仮想人間の動作データを生成した場合、従来技術に比較して、実際の人間の動作(モーション・キャプチャ・データ)により近い関節角度が算出され、自然な動作を得ることができる。また、もとのモーション・キャプチャ・データに対して終端効果器の位置の変化量を変更して異なる動作を生成する場合でも、自然な動作を生成することができる。
また、副骨格は主骨格とは独立して構成されているため、人間の動作のあらゆる特徴を仮想的な骨格構造として柔軟に埋め込むことができる。その結果、各個人に特有の癖や微妙な特徴も含んだ動作を生成することも可能である。
【図面の簡単な説明】
【図1】本実施形態の動作生成システムが仮想人間の動作を生成する処理の流れを示したフローチャートである。
【図2】骨格構造と関節角および終端効果器の位置の関係図である。
【図3】(a)主骨格と副骨格で構成した仮想人間のモデル(直立時)である。
(b)主骨格と副骨格で構成した仮想人間のモデル(歩行動作時)である。
【図4】副骨格の構造等を決定する処理の流れを示したフローチャートである。
【図5】(a)分割前の副骨格の構造を示した図である。
(b)分割後の副骨格の構造を示した図である。
【図6】人間の歩行動作のモーション・キャプチャ・データである。
【図7】図6のモーション・キャプチャ・データに対して、従来手法により生成した動作データである。
【図8】図6のモーション・キャプチャ・データに対して、本実施形態の手法により生成した動作データである。
【図9】図6の歩行動作のモーション・キャプチャ・データの足跡を変形させ、従来手法により生成した動作データである。
【図10】図6の歩行動作のモーション・キャプチャ・データの足跡を変形させ、本実施形態の手法により生成した動作データである。
【図11】人間が荷物を持ち上げる動作のモーション・キャプチャ・データである。
【図12】図11のモーション・キャプチャ・データに対して、従来手法により生成した動作データである。
【図13】図11のモーション・キャプチャ・データに対して、本実施形態の手法により生成した動作データである。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to modeling of a human body and the like in CG animation and the generation of motion.
[0002]
[Prior art]
Conventionally, in CG animation and the like, a method of generating a motion using inverse kinematics has been adopted in order to generate a natural motion of a person. This means that a virtual human body (hereinafter referred to as “virtual human”) is formed by a skeletal structure having movable joints, and the angle of each joint is determined based on a change in the position of a hand or a foot, which is called an end-effector. Is automatically calculated, and is a method used in a key frame method, a skeleton method, and the like, which are conventional motion generation techniques.
According to this method, for example, when generating a virtual human motion of “moving a hand”, by specifying the amount of change in the position of the end effector (hand), the angle of each joint such as the shoulder, elbow, and wrist can be determined. Since the amount of change is automatically calculated, the motion can be generated more easily than when the position and angle of each joint are separately specified.
[0003]
However, the amount of change in the angle of each joint corresponding to the amount of change in the position of the end effector is infinite. That is, since the spatial degree of freedom of the position of the end effector is usually smaller than the rotational degree of freedom of all the joints, the change amount of the joint angle obtained by the calculation of the inverse kinematics includes a redundant component.
Therefore, in order to uniquely determine the amount of change in the joint angle, it is necessary to introduce some constraint. As a conventionally used constraint condition, for example, there is a method using a constraint condition that minimizes the value of the weighted sum of squares of the amount of change in angle (DE Whitney, “Resolved Motion Rate Control of Manipulators and Human). Prosesses, "IEEE Trans. Man-Machine Systems, MMS-10 (2), pp. 47-53 (1969).
Further, the amount of change in the angle to be obtained is separated into a pseudo-inverse matrix solution and a vector component projected onto a null space, and the vector component is consumed by energy consumption (JM Holderbach, KCC Suh, "Redundancy Resolution of Manipulators through Torque Optimization ", IEEE J. of Robotics and Automation, RA-3 (4), pp. 308-316 (1987), and singular point avoidance (Y. Nakamura in Korea, Korea, Korea, Korea, Korea, Japan). for Robot Manipulator Control ", J. of Dynami al Systems, Measurement and Control, 108, pp. 163-171 (1986)), and the range of motion of joint joints (PH Chang, "A Closed-Form Solution for Inverse Medicine in the Republic of Korea, Kinematics for Medicine, Japan). Robotics and Automation, RA-3 (5), pp. 392-403 (1987), etc., have also been proposed.
[0004]
However, these methods have been proposed mainly for the purpose of robot control, and a lot of trial and error is required to generate a natural human motion by appropriately combining these evaluation functions. In addition, in order to generate an action including a peculiar habit or a subtle characteristic of each individual, there is a limit in its expressive power only with these evaluation functions.
[0005]
[Problems to be solved by the invention]
It is an object of the present invention to improve a skeleton method using inverse kinematics, which is a conventional technique, and to provide a motion generation system capable of generating natural human motion in CG animation or the like.
It is another object of the present invention to provide an operation generation system that can generate not only natural human movements, but also movements that include peculiar habits and subtle characteristics of each individual.
[0006]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention is a motion generation system that calculates a change amount of an angle of each joint from a change amount of a position of a terminal effector using a model based on a skeletal structure having a movable joint, The motion generation system is characterized in that the skeleton structure is composed of a multiplex structure of a main skeleton and a sub skeleton, and the motion is calculated based on a value calculated from the structure of the sub skeleton.
The above-described motion generation system includes:
(Equation 4)
dq = J dx + (IJ J) K dx, K = ∂G (q ′) / ∂q ′
(Where x is a three-dimensional vector representing the position of the terminal effector, a three-dimensional vector function F (q) is a function uniquely determined by the structure of the main skeleton, q is an n-dimensional vector representing an angle, J , K is 3 × n order matrix, a J = ∂F (q) / ∂q , J † = J T (JJ T) -1, a K † = K T (KK T ) -1, q 'Is an arbitrary vector, and the function G (q') is determined by the subskeleton.), The operation can be determined.
The sub-skeleton uses m sub-skeletons in parallel, and the Jacobian matrix K is
(Equation 5)
Figure 2004062692
May be a sum of m Jacobian matrices using a function G i calculated from the structure of the i-th subskeleton , its corresponding vector q i , and a weighting coefficient w i .
The sub-skeleton uses m sub-skeletons recursively, and the Jacobian matrix K is
(Equation 6)
K i † = L i † + (I-L i † L i) K i + 1 †
K † = K 1 †, K m † = ∂G m (q m) / ∂q m, L i = ∂G i (q i) / ∂q i
The function G i calculated from the structure of the i-th subskeleton and the corresponding vector q i can be configured as an m-stage hierarchical structure.
The present invention also includes a computer program for causing a computer system to construct the above operation generation system, and a recording medium on which the computer program is recorded.
[0007]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Here, the system configuration of the present embodiment can be constructed using a personal computer. However, the hardware is not limited to this. For example, a home game machine specialized in image generation and display processing is used. Is also good. Further, the character that is the main subject of the motion is assumed to be a virtual human modeled on a human, but may be an animal other than a human or another object.
In the motion generation system according to the present embodiment, a virtual human is defined by an actual skeleton (hereinafter, referred to as “main skeleton”) and a secondary skeleton (hereinafter, referred to as “sub skeleton”) that is virtually configured separately from the main skeleton. Make up the human body. Then, when generating the motion of the virtual human, the change amount of the joint angle is calculated by inverse kinematics using the structure of the sub-skeleton. FIG. 1 is a flowchart showing the processing of the motion generation system of the present embodiment. 2 and 3 are diagrams showing a skeleton structure, a main skeleton structure, and a sub skeleton structure. The processing in the action generation system will be described using these.
[0008]
FIG. 2 is a diagram showing the relationship between the skeletal structure, the joint angle, and the position of the terminal effector. Rigid bodies (one bone at a time) are represented by an elongated ellipse, and rotatable movable joints between the rigid bodies are represented by circles. Gray shaded squares indicate end effectors such as hands and toes.
In the skeletal structure of FIG. 2, let X be the first position of the terminal effector. At this time, the angles of the respective rotating movable joints are q 1 , q 2 , and q 3 .
In the motion generation system of the present embodiment, if the position change amount is specified so that the position of the terminal effector moves from X to X ′, the angles of q 1 , q 2 , and q 3 are determined using the structure of the sub-skeleton. The amount of change is calculated, and new angles q ′ 1 , q ′ 2 , q ′ 3 of the rotary movable joint are determined.
[0009]
FIGS. 3A and 3B are virtual human models composed of a main skeleton and a sub skeleton. The black shaded rectangles indicate the main skeleton that constitutes the virtual human body. The length and the like of each rigid body of the main skeleton are determined in advance when designing and designing a virtual human.
On the other hand, the thicker solid line indicates the sub-skeleton of the virtual human. In FIG. 3, one sub-skeleton is configured for one main skeleton, but a plurality of sub-skeletons may be configured. Since the sub-skeleton is configured independently of the main skeleton, it is possible to flexibly embed all features of human motion as a virtual skeleton structure.
The correspondence between the joints of the main skeleton and the joints of the sub skeleton is shown by the thinner solid line.
FIG. 3A is a model of a virtual human in the upright state, and shows the correspondence between the joints of the main skeleton and the joints of the sub skeleton in an easy-to-see manner. FIG. 3B is a model of a virtual human at the time of walking, and shows the correspondence between the states of the main skeleton and the sub-skeleton and the joints in the walking motion.
[0010]
Next, the flow of processing in which the motion generation system according to the present embodiment generates a motion of a virtual human will be described with reference to the flowchart in FIG.
Here, a case where a virtual human motion is generated using motion capture data obtained by measuring an actual human motion will be described.
[0011]
First, the initial posture of the virtual human is determined (S101). As the initial posture, the initial posture of the motion capture data can be used.
Next, the position of the terminal effector of the virtual human is determined (S102). For example, the motion capture data is divided on the time axis, and the position of the end effector for each section can be used as the position of the end effector of the virtual human.
Next, the change amount of the joint angle of the virtual human is calculated using the position of the end effector and the configuration of the sub-skeleton (S103). By this calculation, the change amount of the joint angle of the sub-skeleton and the change amount of the joint angle of the main skeleton are calculated. A specific calculation method will be described later.
Next, using the calculated change amount of the joint angle of the main skeleton, the posture of the virtual human at the time point divided on the time axis in (S102) is generated. Furthermore, motion data is generated by interpolating the motion of the virtual human up to that point (S104). The motion interpolation is performed for smoothing the motion of the virtual human, and a conventional interpolation algorithm can be used.
Finally, a drawing process for displaying the operation data generated in S104 on a display or the like is performed (S105).
[0012]
Next, a description will be given of a calculation formula used when the motion generation system of the present embodiment calculates the change amount of the joint angle of the virtual human using the structure of the sub-skeleton. This calculation formula is a calculation formula used in the process shown as the calculation of the change amount of the joint angle (S103) in the above-described flowchart of FIG.
[0013]
Assuming that the rotational degrees of freedom of all the joints of the virtual human are n, an n-dimensional vector q = [q 1 , q 2 ,. . . q n ] T (T represents transposition) and a three-dimensional vector x = [x 1 , x 2 , x 3 ] T representing the position of the terminal effector in three-dimensional space.
(Equation 7)
Figure 2004062692
Is satisfied, the minute variation of the position vector x is expressed by the following equation.
Figure 2004062692
Is represented as However,
(Equation 9)
Figure 2004062692
Is a 3 × n Jacobian matrix.
At this time, the function F is uniquely determined by the structure of the skeleton representing the human body. However, the structure of the skeleton includes information on the degree of freedom of each joint and the distance between the joints (that is, the length of each part of the human body).
[0014]
In the conventional inverse kinematics, a pseudo inverse matrix
J † = J T (JJ T ) -1
(-1 represents the inverse matrix)
Using,
[Equation 11]
dq = J dx (1)
Accordingly, the change amount dq of the angles of all the joints is automatically calculated from the change amount dx of the position of the end effector. However, in this case, the condition for minimizing the value of the sum of squares of the angle change amount is satisfied.
[0015]
In the present embodiment, the equation for calculating the amount of change in angle in equation (1) is extended to the following format.
(Equation 12)
dq = J † dx + (I -J † J) K † dx, K = ∂G (q ') / ∂q' ... (2)
However,
(Equation 13)
K † = K T (KK T ) -1
And q ′ is an arbitrary vector. The function G (q ′) is calculated from a sub-skeleton that can have a different structure from the main skeleton that determines the function F (q). In the existing method, a portion corresponding to K dx is calculated from other constraint conditions (for example, singularity avoidance and joint range-of-motion constraint). In the present method, the Jacobian matrix K calculated from the structure of the subskeleton is used. And the variation dx of the position of the end effector, the structure and posture of the sub-skeleton behave like constraint conditions.
[0016]
Here, a method for determining the structure and the like of the above-described sub-skeleton will be specifically described with reference to the flowchart shown in FIG.
Determining the function G (or G i) the structure of the sub-skeletons and its initial angle q '(or q i) can be set arbitrarily. Here, the value of the joint angle of the main skeleton calculated using Expression (2) (or Expressions (3) and (4) described below) is a motion capture obtained by measuring actual human motion. -If the structure and initial posture of the sub-skeleton are determined so as to approach the data value, the natural motion of the human motion included in the motion capture data will be added to the joint motion generated from the change in the position of the end effector. Can be reflected.
Here, a method of determining a sub-skeleton using a simulated annealing method will be described as an example. The simulated annealing method is a method obtained by modifying a successive improvement method, which is one of the approximate solutions to the optimization problem, and is a conventionally used method.
[0017]
First, the main skeleton and the sub skeleton, which are determined by reflecting the human skeleton, have the same rigid connection structure and initial posture, and the structure of the sub skeleton along the trajectory of the terminal effector obtained from the motion capture data Is used to calculate the joint angle. Next, the degree of coincidence of the data is calculated by the square sum of the difference between the joint angle of the motion capture data corresponding to the same point on the trajectory of the terminal effector and the joint angle generated earlier. In other words, the degree of coincidence quantifies the degree to which the operation generated using the structure of the sub-skeleton matches the operation of the motion capture data.
[0018]
The method for generating the structure of the sub-skeleton will be described in detail with reference to the flowchart of FIG.
First, a variable representing the length of a number of rigid portion of the sub-skeleton L = {l 1, ..., l a}
Q = {q 1 ,..., Q b }
And
First, the values of L and Q are initialized to the same values as the main skeleton as described above (S401). Next, several variables are randomly selected from L and Q using random numbers (S402). If the variables are included in L, a certain length (for example, 5 inches) is included in Q Is increased or decreased by a certain angle (for example, 30 degrees) (S403). Here, whether to increase or decrease the value is determined at random using a random number for each selected variable. Next, using the increased or decreased value, the attitude error with the motion capture data is calculated using the trajectory of the end effector measured as described above (S404), and is compared with the current value (S405). ). Only when the value of the posture error decreases (Yes in S406), the value of the selected variable group is updated (S407).
When the value of the selected variable group is updated (that is, when the error decreases (Yes in S406)), the number of selected variable groups is reduced (S408). On the other hand, when the state in which the variable value is not updated without the decrease of the error continues (that is, when the solution falls into a local solution) (No in S406), the number of variable groups to be selected is increased (S409).
[0019]
Since then
Selection of a variable (S402) → decision of increase / decrease of a variable (S403) → calculation of an attitude error (S404) → comparison with a current value (S405) → update of a variable value (S407) or suspension → reduction of the number of variable groups to be selected The process of updating (S408, S409) is repeated until the number of repetitions specified in advance (for example, 5000 times) is reached or the posture error becomes equal to or less than the preset threshold (S410), and the final value of the sub-skeleton is obtained. Get.
[0020]
However, it is conceivable that a complicated operation is divided into relatively simple operations along the time axis, and then the processing shown in the flowchart of FIG. 4 is individually performed for each simple operation.
Although the method of generating the motion of the virtual human has been described as a method using the simulated annealing method, other methods such as a genetic algorithm may be used.
[0021]
It is also possible to make the structure of the sub skeleton more complicated than the structure of the human body (main skeleton). For example, there is a method of complicating the structure of the sub-skeleton by dividing the rigid portion of the sub-skeleton into a plurality of rigid portions to form a rotatable structure.
This method will be described with reference to FIG. FIGS. 5A and 5B are explanatory diagrams of a case where a rigid part having a sub-skeleton is divided into two rigid parts. Rigid bodies are indicated by thick black lines, and rotatable movable joints are indicated by circles.
FIG. 5A is a diagram showing the structure of the sub-skeleton before division. The rigid bodies of the sub-skeleton correspond to the respective rigid bodies of the main skeleton. FIG. 5 (b), one rigid x in FIG. 5 (a), a diagram showing the structure of the sub-skeleton after divided into rigid x 1 and the rigid x 2. Between rigid x 1 and the rigid x 2, a new rotatable joint y is installed.
At this time, the lengths and rotation angles of the divided rigid bodies x 1 and x 2 are initialized so as to match the lengths and rotation angles of the rigid body x before the division.
[0022]
Now, as described above, the degrees of freedom of the joints of the sub-skeleton can be set arbitrarily, but if the sum of the degrees of freedom is larger than the sum of the degrees of freedom of the main skeleton, the sub-skeleton does not correspond to the main skeleton. There will be joint degrees of freedom. Therefore, row vectors corresponding to the extra degrees of freedom of the main skeleton are deleted from the Jacobi matrix K. On the other hand, if the sum of the degrees of freedom of the joints of the sub skeleton is smaller than the sum of the degrees of freedom of the joints of the main skeleton, there are joint degrees of freedom that do not correspond to the sub skeleton in the main skeleton. Thus, the row vector corresponding to a degree of freedom to missing auxiliary skeleton is added as zero vectors in a pseudo inverse matrix K †.
[0023]
Furthermore, the calculation method of the angle change amount represented by the equation (2) can be extended to the following two forms (extension in a parallel form and extension in a recursive form).
(Expansion in parallel format)
Using the Jacobian matrix K of equation (2) in parallel with m subskeletons,
[Equation 14]
Figure 2004062692
Configured as a sum of the i th sub backbone vector and the function G i which is calculated from the structure of the corresponding q i, and the weight coefficient w i m pieces of the Jacobian matrix using as.
(Extension in recursive format)
The Jacobi matrix K of the equation (2) is recursively used with m subskeletons,
[Equation 15]
K i † = L i † + (I-L i † L i) K i + 1 †
K † = K 1 †, K m † = ∂G m (q m) / ∂q m, L i = ∂G i (q i) / ∂q i ... (4)
The function G i calculated from the structure of the i-th subskeleton and the corresponding vector q i are configured as an m-stage hierarchical structure.
The above two types can be used in combination with each other.
[0024]
In the motion generation system according to the present embodiment, the features of the motion can be obtained numerically as the structure of the sub-skeleton and its initial posture, and by using these values to generate another type of motion, Features can be transplanted. Also, by appropriately adjusting the distance between the joints (that is, the length of the human body part), it is possible to apply the characteristics of the motion to human bodies of different sizes. Furthermore, by appropriately interpolating the structure and the initial posture of the sub-skeleton obtained for a plurality of different operations, it is possible to fuse those features.
[0025]
Next, with reference to FIGS. 6 to 13, the effect of the present embodiment will be described by comparing operation data generated by the conventional method with operation data generated by the operation generation system of the present embodiment.
6 to 13 show these motion data (moving images) as still images paused at the same moment.
[0026]
6 to 8 are diagrams for comparing human walking actions.
FIG. 6 shows motion capture data obtained by measuring actual human walking motion and converting the data into data.
FIG. 7 shows calculation and generation of the motion capture data of the walking motion of FIG. 6 by the inverse kinematics that minimizes the value of the sum of squares of the toe trajectory and the angle change amount of the measurement data, which is a conventional method. This is motion data of a virtual human. Compared to the motion capture data of FIG. 6, the knee angle of the other foot (left foot in the figure) when one foot is put forward is particularly unnatural.
On the other hand, FIG. 8 shows motion data of virtual humans calculated and generated for the motion capture data of FIG. 6 using one sub-skeleton according to the method of the present embodiment. As compared with FIG. 7, it can be seen that the knee of the left leg of the virtual human has a natural angle, and a motion closer to the motion capture data of FIG. 6 is generated.
[0027]
FIGS. 9 and 10 show motion data of the virtual human, which is obtained by transforming the trajectory of the terminal effector (toe) so that the footprint changes, and recalculating and generating the motion capture data of the walking motion of FIG. .
FIG. 9 shows virtual human motion data calculated and generated by the same conventional method as that of FIG. As in FIG. 7, the unnaturalness is conspicuous in the angle of the knee of the left foot.
On the other hand, FIG. 10 shows virtual human motion data calculated and generated by the same method of the present embodiment as in FIG. As in FIG. 8, the knee of the left leg of the virtual human is at a more natural angle than in FIG. That is, if the method of the present embodiment is used, even in an operation that is different from the original motion capture data due to the change of the trajectory of the end effector (toe), the actual human being can be touched similarly to FIG. Close actions can be generated.
[0028]
11 to 13 show a comparison in an operation in which a person lifts a load.
FIG. 11 shows motion capture data obtained by measuring an actual human lifting operation of a load and converting the data into a data, and is a still image at the moment when the user lifts his / her hand.
12 and 13 show motion data of virtual humans calculated and generated by moving the position of the luggage forward with respect to the motion capture data of the operation of lifting the luggage of FIG.
FIG. 12 shows the motion data of the virtual human calculated and generated by the same conventional method as that of FIG. 7 for the motion capture data of the operation of lifting the load of FIG. Compared to the motion capture data of FIG. 11, the angles of the knees bent for squatting and the shoulders and elbows of the arms extended to the baggage are particularly unnatural.
On the other hand, FIG. 13 shows operation data calculated and generated using one sub-skeleton according to the method of this embodiment similar to FIG. Compared to FIG. 12, the knees and elbows have natural angles, and it can be seen that a motion closer to the motion capture data of FIG. 11 is generated.
[0029]
【The invention's effect】
According to the motion generation system of the present invention, the change amount of the joint angle is calculated using the sub skeleton configured independently of the main skeleton, so that the motion data of the virtual human is calculated using the motion capture data. When generated, the joint angle closer to the actual human motion (motion capture data) is calculated as compared with the conventional technology, and a natural motion can be obtained. Further, even when a different operation is generated by changing the amount of change in the position of the end effector with respect to the original motion capture data, a natural operation can be generated.
In addition, since the sub-skeleton is configured independently of the main skeleton, all features of human motion can be flexibly embedded as a virtual skeleton structure. As a result, it is also possible to generate an action including a peculiar habit and a subtle characteristic of each individual.
[Brief description of the drawings]
FIG. 1 is a flowchart illustrating a flow of a process in which a motion generation system according to an embodiment generates a motion of a virtual human.
FIG. 2 is a relationship diagram of a skeletal structure, a joint angle, and a position of a terminal effector.
FIG. 3 (a) is a virtual human model (when standing) composed of a main skeleton and a sub skeleton.
(B) A virtual human model (at the time of walking operation) composed of a main skeleton and a sub skeleton.
FIG. 4 is a flowchart illustrating a flow of a process for determining a structure and the like of a sub skeleton.
FIG. 5A is a diagram showing a structure of a sub-skeleton before division.
(B) is a diagram showing the structure of the sub-skeleton after division.
FIG. 6 shows motion capture data of a human walking motion.
FIG. 7 shows operation data generated by the conventional method for the motion capture data of FIG. 6;
FIG. 8 shows operation data generated by the method of the present embodiment with respect to the motion capture data of FIG. 6;
9 shows motion data generated by transforming the footprint of the motion capture data of the walking motion in FIG. 6 by a conventional method.
FIG. 10 shows motion data generated by deforming the footprint of the motion capture data of the walking motion in FIG. 6 according to the method of the present embodiment.
FIG. 11 shows motion capture data of a person lifting a load.
FIG. 12 shows operation data generated by the conventional method with respect to the motion capture data of FIG. 11;
FIG. 13 shows operation data generated by the method of the present embodiment with respect to the motion capture data of FIG. 11;

Claims (6)

可動関節を有する骨格構造によるモデルを用い、終端効果器の位置の変化量から各関節の角度の変化量を計算する動作生成システムであって、
前記骨格構造が、主骨格と副骨格の多重構造で構成されており、
副骨格の構造から計算される値により動作を計算することを特徴とする動作生成システム。
A motion generation system that calculates a change in the angle of each joint from a change in the position of the end effector using a model based on a skeleton structure having a movable joint,
The skeleton structure is composed of a multiple structure of a main skeleton and a sub skeleton,
A motion generation system, wherein a motion is calculated based on a value calculated from a structure of a subskeleton.
請求項1記載の動作生成システムにおいて、
Figure 2004062692
(ここで、xは終端効果器の位置を表す3次元ベクトルであり、3次元ベクトル関数F(q)は主骨格の構造によって一意に決定される関数,qは角度をあらわすn次元ベクトル、J,Kは3×n次行列で、J=∂F(q)/∂qであり、J=J(JJ−1,K=K(KK−1であり、q’は任意のベクトルで,関数G(q’)は副骨格により決定される。)により動作を決定することを特徴とする動作生成システム。
The motion generation system according to claim 1,
Figure 2004062692
(Where x is a three-dimensional vector representing the position of the terminal effector, a three-dimensional vector function F (q) is a function uniquely determined by the structure of the main skeleton, q is an n-dimensional vector representing an angle, J , K is 3 × n order matrix, a J = ∂F (q) / ∂q , J † = J T (JJ T) -1, a K † = K T (KK T ) -1, q 'Is an arbitrary vector, and the function G (q') is determined by the sub-skeleton.)
請求項2記載の動作生成システムにおいて、
前記副骨格は、m個の副骨格を並列的に用いており、前記ヤコビ行列Kを、
Figure 2004062692
としてi番目の副骨格の構造から計算される関数Gとそれに対応するベクトルq,および重み係数wを用いたm個のヤコビ行列の総和として構成することを特徴とする動作生成システム。
The motion generation system according to claim 2,
The sub-skeleton uses m sub-skeletons in parallel, and the Jacobian matrix K is
Figure 2004062692
I-th motion generation system characterized by configuring as the sum of the sub-vector and the function G i corresponding to the structure of the skeleton is calculated q i, and the weight coefficient w i m pieces of the Jacobian matrix using as.
請求項2記載の動作生成システムにおいて、
前記副骨格は、m個の副骨格を再帰的に用いており、前記ヤコビ行列Kを、
Figure 2004062692
としてi番目の副骨格の構造から計算される関数Gとそれに対応するベクトルqをm段の階層的な構造として構成することを特徴とする動作生成システム。
The motion generation system according to claim 2,
The sub-skeleton uses m sub-skeletons recursively, and the Jacobian matrix K is
Figure 2004062692
Wherein the function G i calculated from the structure of the i-th subskeleton and the corresponding vector q i are configured as an m-stage hierarchical structure.
請求項1〜4のいずれかに記載の動作生成システムをコンピュータ・システムに構築させるコンピュータ・プログラム。A computer program for causing a computer system to construct the operation generation system according to claim 1. 請求項1〜4のいずれかに記載の動作生成システムをコンピュータ・シテムに構築させるコンピュータ・プログラムを記録した記録媒体。A recording medium recording a computer program for causing a computer system to construct the operation generation system according to claim 1.
JP2002222287A 2002-07-31 2002-07-31 Motion generation system using multiple structures Expired - Lifetime JP3866168B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002222287A JP3866168B2 (en) 2002-07-31 2002-07-31 Motion generation system using multiple structures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002222287A JP3866168B2 (en) 2002-07-31 2002-07-31 Motion generation system using multiple structures

Publications (2)

Publication Number Publication Date
JP2004062692A true JP2004062692A (en) 2004-02-26
JP3866168B2 JP3866168B2 (en) 2007-01-10

Family

ID=31942340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002222287A Expired - Lifetime JP3866168B2 (en) 2002-07-31 2002-07-31 Motion generation system using multiple structures

Country Status (1)

Country Link
JP (1) JP3866168B2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008508590A (en) * 2004-07-30 2008-03-21 エクストリーム リアリティー エルティーディー. System and method for image processing based on 3D spatial dimensions
KR100867374B1 (en) 2006-12-07 2008-11-06 한국전자통신연구원 System and method for producing locomotion animation
JP2009187472A (en) * 2008-02-08 2009-08-20 Konami Digital Entertainment Co Ltd Image generation apparatus and method and program for image generation
KR100924687B1 (en) 2007-12-15 2009-11-03 한국전자통신연구원 System and method for producing locomotion animation by using riding motion
JP2012528398A (en) * 2009-05-29 2012-11-12 マイクロソフト コーポレーション Real-time retargeting of skeleton data to game avatars
US8462199B2 (en) 2005-10-31 2013-06-11 Extreme Reality Ltd. Apparatus method and system for imaging
US8548258B2 (en) 2008-10-24 2013-10-01 Extreme Reality Ltd. Method system and associated modules and software components for providing image sensor based human machine interfacing
US8681100B2 (en) 2004-07-30 2014-03-25 Extreme Realty Ltd. Apparatus system and method for human-machine-interface
US8872899B2 (en) 2004-07-30 2014-10-28 Extreme Reality Ltd. Method circuit and system for human to machine interfacing by hand gestures
US8878779B2 (en) 2009-09-21 2014-11-04 Extreme Reality Ltd. Methods circuits device systems and associated computer executable code for facilitating interfacing with a computing platform display screen
US8928654B2 (en) 2004-07-30 2015-01-06 Extreme Reality Ltd. Methods, systems, devices and associated processing logic for generating stereoscopic images and video
US9046962B2 (en) 2005-10-31 2015-06-02 Extreme Reality Ltd. Methods, systems, apparatuses, circuits and associated computer executable code for detecting motion, position and/or orientation of objects within a defined spatial region
US9218126B2 (en) 2009-09-21 2015-12-22 Extreme Reality Ltd. Methods circuits apparatus and systems for human machine interfacing with an electronic appliance
CN111080755A (en) * 2019-12-31 2020-04-28 上海米哈游天命科技有限公司 Motion calculation method and device, storage medium and electronic equipment
CN113450438A (en) * 2020-03-24 2021-09-28 深圳市灼华互娱科技有限公司 Virtual character driving method and device based on motion capture and computer equipment
CN114638921A (en) * 2022-05-19 2022-06-17 深圳元象信息科技有限公司 Motion capture method, terminal device, and storage medium

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681100B2 (en) 2004-07-30 2014-03-25 Extreme Realty Ltd. Apparatus system and method for human-machine-interface
US9177220B2 (en) 2004-07-30 2015-11-03 Extreme Reality Ltd. System and method for 3D space-dimension based image processing
JP2008508590A (en) * 2004-07-30 2008-03-21 エクストリーム リアリティー エルティーディー. System and method for image processing based on 3D spatial dimensions
JP4904264B2 (en) * 2004-07-30 2012-03-28 エクストリーム リアリティー エルティーディー. System and method for image processing based on 3D spatial dimensions
US8872899B2 (en) 2004-07-30 2014-10-28 Extreme Reality Ltd. Method circuit and system for human to machine interfacing by hand gestures
US8928654B2 (en) 2004-07-30 2015-01-06 Extreme Reality Ltd. Methods, systems, devices and associated processing logic for generating stereoscopic images and video
JP2012038334A (en) * 2004-07-30 2012-02-23 Extreme Reality Ltd Israel Apparatus and system for image processing based on spatial three dimensions
KR101323966B1 (en) * 2004-07-30 2013-10-31 익스트림 리얼리티 엘티디. A system and method for 3D space-dimension based image processing
US9131220B2 (en) 2005-10-31 2015-09-08 Extreme Reality Ltd. Apparatus method and system for imaging
US8462199B2 (en) 2005-10-31 2013-06-11 Extreme Reality Ltd. Apparatus method and system for imaging
US9046962B2 (en) 2005-10-31 2015-06-02 Extreme Reality Ltd. Methods, systems, apparatuses, circuits and associated computer executable code for detecting motion, position and/or orientation of objects within a defined spatial region
US8878896B2 (en) 2005-10-31 2014-11-04 Extreme Reality Ltd. Apparatus method and system for imaging
KR100867374B1 (en) 2006-12-07 2008-11-06 한국전자통신연구원 System and method for producing locomotion animation
US7986815B2 (en) 2007-12-15 2011-07-26 Electronics And Telecommunications Research Institute System and method of producing locomotion animation by using riding motion
KR100924687B1 (en) 2007-12-15 2009-11-03 한국전자통신연구원 System and method for producing locomotion animation by using riding motion
JP4563461B2 (en) * 2008-02-08 2010-10-13 株式会社コナミデジタルエンタテインメント Image generating apparatus, image generating method, and program
JP2009187472A (en) * 2008-02-08 2009-08-20 Konami Digital Entertainment Co Ltd Image generation apparatus and method and program for image generation
US8548258B2 (en) 2008-10-24 2013-10-01 Extreme Reality Ltd. Method system and associated modules and software components for providing image sensor based human machine interfacing
JP2012528398A (en) * 2009-05-29 2012-11-12 マイクロソフト コーポレーション Real-time retargeting of skeleton data to game avatars
US8878779B2 (en) 2009-09-21 2014-11-04 Extreme Reality Ltd. Methods circuits device systems and associated computer executable code for facilitating interfacing with a computing platform display screen
US9218126B2 (en) 2009-09-21 2015-12-22 Extreme Reality Ltd. Methods circuits apparatus and systems for human machine interfacing with an electronic appliance
CN111080755A (en) * 2019-12-31 2020-04-28 上海米哈游天命科技有限公司 Motion calculation method and device, storage medium and electronic equipment
CN111080755B (en) * 2019-12-31 2023-11-14 上海米哈游天命科技有限公司 Motion calculation method and device, storage medium and electronic equipment
CN113450438A (en) * 2020-03-24 2021-09-28 深圳市灼华互娱科技有限公司 Virtual character driving method and device based on motion capture and computer equipment
CN114638921A (en) * 2022-05-19 2022-06-17 深圳元象信息科技有限公司 Motion capture method, terminal device, and storage medium

Also Published As

Publication number Publication date
JP3866168B2 (en) 2007-01-10

Similar Documents

Publication Publication Date Title
Sun et al. Automating gait generation
Yamane et al. Natural motion animation through constraining and deconstraining at will
Starke et al. Memetic evolution for generic full-body inverse kinematics in robotics and animation
JP3866168B2 (en) Motion generation system using multiple structures
Shin et al. Computer puppetry: An importance-based approach
JP7061238B2 (en) Reinforcement learning to train characters using heterogeneous target animation data
US8830269B2 (en) Method and apparatus for deforming shape of three dimensional human body model
Aristidou et al. Inverse kinematics: a review of existing techniques and introduction of a new fast iterative solver
Rose III et al. Artist‐directed inverse‐kinematics using radial basis function interpolation
JP5657216B2 (en) Motion capture device and motion capture method
US7064762B2 (en) Methods and system for general skinning via hardware accelerators
JP2003058907A (en) Method for generating pose and motion in tree structure link system
Yang et al. Curve skeleton skinning for human and creature characters
Aydin et al. Database guided computer animation of human grasping using forward and inverse kinematics
JPH0887609A (en) Image processor
Meredith et al. Real-time inverse kinematics: The return of the jacobian
Mazzella et al. The forcegrid: a buffer structure for haptic interaction with virtual elastic objects
Choi et al. Processing motion capture data to achieve positional accuracy
Gragg et al. Optimization-based posture reconstruction for digital human models
JP3683487B2 (en) 3D model animation generation method using outer shell
Liu et al. Performance-based control interfaces using mixture of factor analyzers
CN110349268B (en) Three-dimensional human body posture, expression and gesture reconstruction method
US7409322B2 (en) Mass set estimation for an object using variable geometric shapes
Huang Motion control for human animation
JP7432330B2 (en) Posture correction network learning device and its program, and posture estimation device and its program

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20031210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061004

R150 Certificate of patent or registration of utility model

Ref document number: 3866168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term