JP2018092623A - 姿勢をとる身体をシミュレートするためのコンピュータによって実施される方法 - Google Patents

姿勢をとる身体をシミュレートするためのコンピュータによって実施される方法 Download PDF

Info

Publication number
JP2018092623A
JP2018092623A JP2017224926A JP2017224926A JP2018092623A JP 2018092623 A JP2018092623 A JP 2018092623A JP 2017224926 A JP2017224926 A JP 2017224926A JP 2017224926 A JP2017224926 A JP 2017224926A JP 2018092623 A JP2018092623 A JP 2018092623A
Authority
JP
Japan
Prior art keywords
computer
rotation
target
effector
human
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
JP2017224926A
Other languages
English (en)
Other versions
JP7278026B2 (ja
Inventor
ブロサール ミカエル
Brossard Mickael
ブロサール ミカエル
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.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
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 Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of JP2018092623A publication Critical patent/JP2018092623A/ja
Application granted granted Critical
Publication of JP7278026B2 publication Critical patent/JP7278026B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】姿勢をとる人体または動物体をシミュレートするための簡単で高速な方法を提供する。【解決手段】回転関節によって繋がれた複数の骨を備えた骨格を含む身体のモデル(AV)の少なくとも1つの運動連鎖を形成し、アクティブ運動連鎖と呼ばれる運動連鎖の、骨格の各回転関節に対する開始位置および開始回転状態、並びにエフェクタと呼ばれる点に対する目標位置を定義し、アクティブ運動連鎖の複数の関節のそれぞれ1つの少なくとも1つの回転軸に対して、作動順序、目標回転に対する最大部分的寄与、及び最大回転角度を定義し、エフェクタを目標位置(T)に近づけるために、アクティブ運動連鎖の関節に、作動順序に従って、回転軸の周りに回転を反復して適用し、回転軸の周りの関節の各回転は、対応する最大回転角度、及びエフェクタとその目標位置との間の距離を最小にし得る目標回転に対する対応する最大部分的寄与のうちの1つによって制限する。【選択図】図5B

Description

本発明は、姿勢をとる人間(または動物)の動きをシミュレートするためのコンピュータによって実施される方法に関する。それはコンピュータグラフィックスの分野に関し、コンピュータ支援設計(CAD)、人間工学、ビデオゲームなどのいくつかの応用分野に役立つ。
人体または動物体を、「スキン」によって覆われた「骨格」を備えたデジタルモデルによって表すことが知られている。骨格は、それらが必ずしも実際の解剖学的な骨に対応しなくても「骨」と呼ばれるセグメントのセットによって構成され、1つ、2つ、または3つの回転自由度を有する回転関節によって繋がれる。「アバター」としても知られるこのようなモデルは通常、人体モデルに対するいわゆる「T字ポーズ」(部分的に広げられた脚、水平に伸ばされた腕)などの標準姿勢においてもたらされる。
アバターに、もとのものとは異なる特定の姿勢をとらせるために、所望の結果に至る、それの骨格の骨を繋ぐ関節の回転のセットを決定する必要がある。これは容易な作業ではない。
多くのケースにおいて、所望の姿勢を完全に指定する代わりに、骨格の1つまたは複数の特定の点(「エフェクタ」と呼ばれる)に制約を課すのみとする。例えばアバターの手(例えばそれの前腕を表す骨の終点に対応する)が、特定の位置をとることを課すことができる。理論的な観点から、これは逆運動学(IK)の問題に対応する。
順運動学は、連鎖の関節の回転角度を定義するパラメータθのセットの関数として、運動連鎖(骨格またはその一部分など)の1つまたは複数のエフェクタの位置Xを計算することを可能にし、
X=f(θ)
一方、逆運動学は、エフェクタの指定された目標位置Xに至る、パラメータθを計算することを目的とする。
θ=f-1(X)
順運動学問題は通常、単一の解を可能にするが、逆運動学問題は、ゼロまたは無限の解を有し得る。第1のケースにおいて目標位置Xは到達することが不可能であり、第2のもの(拘束下の系)において、それは「解空間」定義する無限個の異なる姿勢(冗長性)に対応し、それらの1つが任意に、または何らかの基準に基づいて選別されなければならない。
逆運動学問題は、非常に短い運動連鎖に対する解析解を可能にするのみであり、これは通常、実用的関心は少ない。
より複雑なケースでは、順運動学関数fを局所的に線形化し、それを逆変換することができる。実際、系が拘束下にある場合、(線形化された)順運動学関数の擬似逆変換のみが見出されることができ、冗長性は、適切に選択されたコスト関数を最小化する解を選択することによって対処される。この方法は非常に強力で柔軟性があり、実際、多くのコンピュータグラフィックアプリケーションによって要求されるものをはるかに超えるが、リアルタイム実装形態とは適合しない複雑な計算が関わる。
より高速に、およびより実用的に逆運動学問題を解くための、他の手法が存在する。
よく知られている手法は、逆運動学問題を最小化問題に帰着させることにあり、最小化されることになる関数はエフェクタと目標位置との間の距離であり、後者を循環座標降下(CCD)アルゴリズムを用いて解く(例えば、非特許文献1参照)。循環座標降下逆運動学(CCD−IK)は、実際は関節に対して局所的調整を行ってエフェクタの位置および方向の誤差を最小化する、反復アルゴリズムである。各反復は、先端から根元まで運動連鎖をくまなく調べ、各関節を個々に修正する。その結果、この適応は解析的に行われるのに十分に簡単になる。
この方法の主な利点は、その収束時に特異性がないことである。しかし、それはいくつかの主な欠点を有する。まず第1に、それは、冗長性を考慮に入れた可能な解の空間をもたらさず、単一の解をもたらすだけであり、これは人体または動物体の現実的な姿勢に対応しない場合がある。最後に、適応化は関節の間で一様に配分されない。実際、修正されることになる第1の関節は最も大きな回転を受け、これは現実的な姿勢に至るためにはしばしばずっと大きくなり過ぎる。この手法は、姿勢自体ではなくエフェクタの最終位置のみが重要な、ロボット工学によく適している。
誘導型逆運動学アルゴリズム(例えば、非特許文献2参照)は、より現実的な姿勢に至るCCDの修正された形である。そうするために、それはCCDアルゴリズムを起動する前に、いわゆる「統合姿勢マップ」に記憶された予め計算された姿勢における運動連鎖を初期化する。この手法の欠点は、単一の運動連鎖に対して非常に多数の予め計算された姿勢を記憶することを必要とすることである。これを人体または動物体のモデル化に適用することは、それぞれが複数の運動連鎖を備える、いくつかの異なる骨格(例えば異なる個人に対応して)に対して、統合姿勢マップを計算することを必要とすることになり、負担をさらに増加させ、これはすぐに耐えられなくなる。
三角法逆運動学アルゴリズム(例えば、非特許文献3参照)は、CCDをベースとする方法は、適応されることになる第1のパラメータが最も大きな変化を受けるという主な理由により非現実的な姿勢を与えるという認識の後に導入された。「三角法」は、余弦法則によって目標に向かって各関節の回転を決定することにより、この欠点を低減する。アルゴリズムは容易で実装するのが速いが、十分に現実的な姿勢に至らない。
David G. Luenberger and Yinyu Ye "Linear and Nonlinear Programming" third edition, Springer (2008) J.O. Kim et al. "The Inductive Inverse Kinematics Algorithm to Manipulate the Posture of an Articulated Body", ICCS 2003 R.Muller−Cajar and R.Mukundan "Triangulation: A new algorithm for Inverse Kinematics, Proceedings of Image and Vision Computing New Zealand 2007
本発明は、従来技術の欠点を克服することを目的とする。より正確には、それは、たとえ必ずしも解剖学的に正確でなくても現実的な結果に至る、姿勢をとる人体または動物体をシミュレートするための簡単で高速な(リアルタイム要件に適合する)方法を提供することを目的とする。
この目的を達成することを可能にする本発明の目的は、姿勢をとる人体または動物体をシミュレートするためにコンピュータが実施する方法であって、
a)回転関節によって繋がれた複数の骨を備えた骨格を含む前記人体または動物体のモデルを提供し、少なくとも1つの運動連鎖を形成するステップであって、各回転関節が2つの骨を接続し、1と3との間に含まれるいくつかの回転軸を有するステップと、
b)アクティブ運動連鎖と呼ばれる運動連鎖の、骨格の各回転関節に対する開始位置および開始回転状態、ならびにエフェクタと呼ばれる点に対する目標位置を定義するステップと、
c)アクティブ運動連鎖の複数の関節のそれぞれ1つの少なくとも1つの回転軸に対して、
− 作動順序、
− 目標回転に対する最大部分的寄与、および
− 最大回転角度
を定義するステップと、
d)エフェクタをその目標位置に近づけるために、アクティブ運動連鎖の関節に、それらの作動順序に従って、それらの回転軸の周りに回転を反復して適用するステップであって、回転軸の周りの関節の各回転は、対応する最大回転角度、およびエフェクタとその目標位置との間の距離を最小にする目標回転に対する対応する最大部分的寄与のうちの1つによって制限される、ステップと
を含む。
本発明の他の目的は、コンピュータシステムにこのような方法を遂行させるためのコンピュータ実行可能命令を備えた、非一時的コンピュータ可読データ記憶媒体に記憶された、コンピュータプログラム製品である。
本発明の他の目的は、またコンピュータシステムにこのような方法を遂行させるためのコンピュータ実行可能命令を含んだ、非一時的コンピュータ可読データ記憶媒体である。
本発明のさらなる目的は、メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備えたコンピュータシステムであって、メモリは、コンピュータシステムにこのような方法を遂行させるためのコンピュータ実行可能命令を記憶する、コンピュータシステムである。
本発明の他の目的は、このような方法を用いてシミュレートされる、姿勢をとる人体または動物体のモデルである。
本発明のさらなる特徴および利点は、添付の図面と併せ読まれるこの後の説明から明らかになるであろう。
本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。 本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。 本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。 本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。 本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。 本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。 本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。 本発明の方法の例示的応用を示す図である。 本発明の方法の例示的応用を示す図である。 本発明の方法の例示的応用を示す図である。 本発明の異なる実施形態による方法を遂行するために適したコンピュータシステムのブロック図である。 本発明の異なる実施形態による方法を遂行するために適したコンピュータシステムのブロック図である。
本発明は図1に示される非常に簡単な例を参照して述べられ、運動連鎖は4つの骨b1、b2、b3、b4、固定された基部b0(これは骨と見なされることができる)、およびそれぞれが単一の回転軸を有する4つの回転関節A、B、C、Dからなる。回転軸は互いに並行であり、したがって、連鎖の動きは平面内に拘束される。エフェクタEFは、基部b0から最も遠い、骨b4の終点である。より複雑なおよび3次元のケースへの一般化は、直接的である。図1は初期姿勢における運動連鎖を表し、すべての関節は0°の初期回転角度を有し、すべての骨は整列される。
本発明の方法は、2つの段階を含む。常に遂行される第1のものは、エフェクタEFの位置が目標点Tに正確に一致しない場合がある、現実的な姿勢に収束する。任意選択である第2のものは、エフェクタが目標に到達することを確実にするように、この姿勢を修正する。
本発明のアルゴリズムを用いる前に、要素の順序付きリストである簡単なデータ構造体を作成する必要があり、各要素は以下を備える:
− 関節およびその回転軸の識別子、
− 目標回転に対する関節の最大部分的寄与を示す数値、および
− 関節の最大回転角度を示す数値。
以下の表1はこのようなリストの例を与えるが、図1の例では1自由度関節のみが考察されるので、関節の回転軸の識別子はない。
アルゴリズムの第1の段階は反復して遂行され、CCDアルゴリズムにいくらか似ている。しかし、各回転軸に対して定義される「最大部分的寄与」および「最大回転角度」は、よりバランスのとれた、およびユーザによって自由に調整される、関節回転の配分を確実にする。
リストの第1の要素は、関節Bに対応する。第1の段階の第1のステップは、次いでエフェクタEFを目標Tに向かって移動させるために、この関節を回転することにある。図2Aにおいて破線20は、関節Bが、EF−T距離を真に最小化するために回転されたならば部分連鎖b2−b3−b4がとるであろう構成を表す。しかし、リストは、関節Bが30%の最大部分的寄与、および20°の最大回転角度によって特性化されることを示す。これは関節の実際の回転は、「最大限」の回転の30%(破線21を参照)または20°の回転(破線22を参照)のいずれかに制限されることを意味する。2つの制限のうちの大きい方、このケースでは20°の回転が選択される。結果としての構成(「姿勢」)は、図2Bに示される。
作動されることになる次の節点は、Aである。図3Aにおいて直線30は、「最大限」の回転に対応する姿勢を示し、直線31は、30%の最大部分的寄与によって制限された回転に対応する。直線32は原理的に最大回転角度すなわち60°に対応するべきであるが、これは「最大限」の回転を超えることになり、目標を過ぎてエフェクタを移動させることになるので許容されない。したがって、直線32は、直線30と整列され、関節Aの実際の回転を決定する(図3B)。
作動されることになる第3の節点は、Dである。図4Aに示される状況は前のステップのものと同様であり、直線40は最大限の回転に、直線41は最大部分的寄与に、および直線40と一致した直線42は最大限の回転によって制限された最大回転角度に対応する。図4Bは、この第3のステップの後に得られるポーズを示す。
本発明のこの例示的実施形態において、アルゴリズムの第1の段階はここで終了する。より複雑な実施形態では関節Cも作動されることができ、および/またはいくつかの反復が行われることができ、すなわちリストの関節は複数回処理され得る。
図4Bで、この第1のステップの終わりにおいて、エフェクタは目標に到達していないことが分かる。ステップをさらに反復することは、この問題を解決し得ない。したがって、エフェクタを目標と一致させるために、従来のCCDアルゴリズムを用いた第2のステップが遂行される。CCDは比較的小さな微調整をもたらすことだけが必要であるので、第1のステップによって生成された姿勢の現実的な外観を「損なう」ことはない。
例えば三角法と比べた本発明の方法の主な利点は、その安定性であり、ユーザは、リストの関節の順序、ならびにそれぞれの上記の関節に対する最大部分的寄与および最大回転角度の数値を、自由に変更できることが理解されることができる。ポーズの計算は非常に高速であり、ユーザは最も現実的な姿勢を見出すために異なる設定を容易に試みることができる。
ここまで、「抽象的」な運動連鎖のケースのみが考察されてきた。方法の実際の実装形態において運動連鎖は、例えば腕などの肢に対応する骨格の一部を表すことになる。一般に骨格は、複数の運動連鎖から構成されると考えられることになる。本発明の方法は、単一の「アクティブ」連鎖に対して作用することを可能にし、その他は固定と見なされる。本方法がアバターに適用されるときはさらに、モデル化された人体または動物体の生理学的制約を反映して、関節の回転に対して追加の制約を課すことが必要になり得る。
図5A〜5Cは、複数の運動連鎖を備えた骨格(図示せず)を有するアバターAVを示す。左腕(各図の右側)を表す連鎖は「アクティブ」なものであり、そのエフェクタは右手首に対応し、身体の残りは固定された基部を構成する。目標Tはカーソルからなり、これはユーザによって、例えばマウスを用いて、アバターを含んだ3次元シーン内で移動される。理解されるように、目標の連続した位置に対して本発明の方法を繰り返して遂行することで、エフェクタがそれにリアルタイムで追従することを可能にし、アバターの姿勢は常に非常に自然に見える。
最終的な姿勢は現実的となるが、それに到達するように運動連鎖によって行われる動きは、小さな変位を除いて必ずしもそうではないことを留意することが重要である。したがって、アニメーションを行うために、それが、本発明の方法が用いられ、エフェクタの近くに位置する目標点から開始して、その最終位置に向かってそれを徐々に移動させることが推奨される。
エフェクタが肢の先端に対応する必要はない。例えばアバターの手の位置を固定し(すなわち手を基部とする)、肩または身体の中心をエフェクタと見なすことが可能となり得る。
ここまで、関節の回転を制限するために、最大回転角度、および目標回転に対する対応する最大部分的寄与の大きい方が、選択されるケースのみが考察されてきた。この選択は収束を加速する。しかし、逆の選択(すなわち最大回転角度、および目標回転に対する対応する最大部分的寄与の小さい方)も可能である。また「複合」手法を採用する、例えば最初の反復に対して大きな制限、および最後のものに対して小さなものを選択することも可能である。
本発明の方法は、適切なプログラムをハードディスク、ソリッドステートディスク、またはCD−ROMなどのコンピュータ可読媒体に非一時的な形で記憶し、そのマイクロプロセッサおよびメモリを用いて上記プログラムを実行する、場合によってはコンピュータネットワークを含む、適切にプログラムされた汎用コンピュータまたはコンピュータシステムによって行われることができる。
本発明の例示的実施形態による方法を遂行するために適したコンピュータは、図6を参照して述べられる。図6でコンピュータは、上述のプロセスを行う中央処理装置CPUを含む。プロセスは、実行可能プログラムすなわちコンピュータ可読命令のセットとして、RAM M1またはROM M2などのメモリに、またはハードディスクドライブ(HDD)M3、DVD/CDドライブM4上に記憶されることができ、または遠隔に記憶されることができる。さらに少なくとも1つの人体または動物体のデジタルモデル(アバター)、および/または上記モデルが埋め込まれる状態に3次元シーンを定義する、1つまたは複数のコンピュータファイルも、メモリデバイスM1からM4の1つまたは複数上に、または遠隔に記憶されることができる。
特許請求される本発明は、本発明のプロセスのコンピュータ可読命令および/またはデジタルファイルが記憶される、コンピュータ可読媒体の形によって限定されない。例えば命令およびファイルは、CD、DVD上に、フラッシュメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスク、またはサーバもしくはコンピュータなど、コンピュータ支援設計またはイラストレーションオーサリングステーションがそれと通信する任意の他の情報処理デバイスに記憶され得る。プログラムおよびファイルは、同じメモリデバイス上に、または異なるメモリデバイス上に記憶されることができる。
さらに本発明の方法を遂行するために適したコンピュータプログラムは、CPU800と、Microsoft VISTA、Microsoft Windows 8、UNIX、Solaris、LINUX、Apple MAC−OS、および当業者に知られている他のシステムなどのオペレーティングシステムとに連動して実行する、ユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムの構成要素、またはそれらの組み合わせとして提供されることができる。
中央処理装置CPUは、米国のIntel製のXenonプロセッサもしくは米国のAMD製のOpteronプロセッサとすることができ、または米国のFreescale Corporation製のFreescale ColdFire、IMX、またはARMプロセッサなどの他のプロセッサタイプとすることができる。あるいは中央処理装置は、米国のIntel Corporation製のCore2 Duoなどのプロセッサとすることができ、または当業者は認識し得るようにFPGA、ASIC、PLD上に、または個別論理回路を用いて実施されることができる。さらに中央処理装置は、上述の本発明のプロセスのコンピュータ可読命令を行うように協調して動作する、複数のプロセッサとして実施されることができる。
図6のコンピュータはまた、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネットなどのネットワークとインターフェースするための、米国のIntel Corporation製のIntel Ethernet PROネットワークインターフェースカードなどの、ネットワークインターフェースNIを含む。コンピュータ支援設計ステーションはさらに、Hewlett Packard HPL2445w LCDモニタなどのディスプレイDYとインターフェースするための、米国のNVIDIA Corporation製のNVIDIA GeForce GTXグラフィックスアダプタなどの、ディスプレイコントローラDCを含む。汎用I/OインターフェースIFは、キーボードKB、およびローラーボール、マウス、タッチパッドなどのポインティングデバイスPDとインターフェースする。ディスプレイ、キーボード、およびポインティングデバイスは、ディスプレイコントローラおよびI/Oインターフェースと一緒に、例えばポインタツールを移動させる、パラメータの値を定義するなどのための入力コマンドをもたらすためにユーザによって、およびアバターを含む3次元シーンを表示するためにコンピュータ支援設計ステーションに用いられる、グラフィカルユーザインターフェースを形成する。
ディスクコントローラDKCはHDD M3およびDVD/CD M4を通信バスCBSに接続し、これはコンピュータ支援設計ステーションの構成要素のすべてを相互接続するためのISA、EISA、VESA、PCI、または同様のものとすることができる。
ディスプレイ、キーボード、ポインティングデバイス、ならびにディスプレイコントローラ、ディスクコントローラ、ネットワークインターフェースおよびI/Oインターフェースの一般的な特徴および機能の説明は、これらの特徴は知られているので簡潔にするために本明細書では省略される。
図7は、本発明の異なる例示的実施形態による方法を遂行するために適したコンピュータシステムのブロック図である。
図7において実行可能プログラムEXP、ならびにアバターおよび場合によっては3次元シーンを定義するコンピュータファイルは、サーバSCに接続されたメモリデバイス上に記憶される。メモリデバイス、およびサーバの全体的なアーキテクチャは、サーバにはディスプレイコントローラ、ディスプレイ、キーボードおよび/またはポインティングデバイスがない場合があることを除いて、図6を参照して上記で論じられたものと同じとすることができる。
サーバSCは次いで、ネットワークNWを経由して管理者システムADSおよびエンドユーザコンピュータEUCに接続される。
管理者システムおよびエンドユーザコンピュータの全体的なアーキテクチャは、管理者システムおよびエンドユーザコンピュータのメモリデバイスが、実行可能プログラムEXPおよび/または、アバターおよび/または3次元シーンを定義するコンピュータファイルを記憶しないことを除いて、図6を参照して上記で論じられたものと同じとすることができる。しかし、エンドユーザコンピュータは、以下で論じられるようにサーバの実行可能プログラムと協力するように設計されたクライアントプログラムを記憶する。
理解されるように、ネットワークNWは、インターネットなどのパブリックネットワーク、またはLANもしくはWANネットワークなどのプライベートネットワーク、またはそれらの任意の組み合わせとすることができ、またPSTNまたはISDNサブネットワークを含むことができる。ネットワークNWはまた、イーサネットネットワークなどの有線とすることができ、またはEDGE、3Gおよび4G無線セルラシステムを含むセルラネットワークなどの無線とすることができる。無線ネットワークはまたWi−Fi、ブルートゥース、または知られている任意の他の通信の無線形式とすることができる。したがって、ネットワークNWは単に例示的であり、本発明の進歩の範囲を全く限定しない。
エンドユーザコンピュータのメモリデバイスに記憶され、そのCPUによって実行されるクライアントプログラムは、ネットワークNWを経由してサーバSCによって記憶され、3次元シーン、アバター、またはそれらの要素を定義するファイルを含んだ、データベースDBにアクセスする。サーバは上述のように処理を行い、やはりネットワークNWを用いてエンドユーザコンピュータに、シーンの所望の表示に対応するイメージファイルを送信する。
1つの管理者システムADS、および1つのエンドユーザシステムEUXのみが示されるが、システムは任意の数の管理者システムおよび/またはエンドユーザシステムを制限なしにサポートすることができる。同様にまた本発明の範囲から逸脱せずに、複数のサーバがシステム内に実施されることができる。
本明細書で述べられるいずれのプロセスも、特定の論理機能、またはプロセスにおけるステップを実施するための、1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの部分を表すものと理解されるべきであり、代替の実装形態は本発明の例示的実施形態の範囲に含まれる。
最終的な姿勢は現実的となるが、それに到達するように運動連鎖によって行われる動きは、小さな変位を除いて必ずしもそうではないことを留意することが重要である。したがって、アニメーションを行うために、本発明の方法が用いられる場合、エフェクタの近くに位置する目標点から開始して、その最終位置に向かってそれを徐々に移動させることが推奨される。
本発明の例示的実施形態による方法を遂行するために適したコンピュータは、図6を参照して述べられる。図6でコンピュータは、上述のプロセスを行う中央処理装置CPUを含む。プロセスは、実行可能プログラムすなわちコンピュータ可読命令のセットとして、RAM M1またはROM M2などのメモリに、またはハードディスクドライブ(HDD)M3、DVD/CDドライブM4上に記憶されることができ、または遠隔に記憶されることができる。さらに少なくとも1つの人体または動物体のデジタルモデル(アバター)、および/または上記モデルが埋め込まれる状態にある3次元シーンを定義する、1つまたは複数のコンピュータファイルも、メモリデバイスM1からM4の1つまたは複数上に、または遠隔に記憶されることができる。
特許請求される本発明は、本発明のプロセスのコンピュータ可読命令および/またはデジタルファイルが記憶される、コンピュータ可読媒体の形によって限定されない。例えば命令およびファイルは、CD、DVD上に、フラッシュメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスク、またはサーバもしくはコンピュータなど、コンピュータ支援設計またはイラストレーションオーサリングステーションがそれと通信する任意の他の情報処理デバイスに記憶され得る。プログラムおよびファイルは、同じメモリデバイス上に、または異なるメモリデバイス上に記憶されることができる。
さらに本発明の方法を遂行するために適したコンピュータプログラムは、CPUと、Microsoft VISTA、Microsoft Windows 8、UNIX、Solaris、LINUX、Apple MAC−OS、および当業者に知られている他のシステムなどのオペレーティングシステムとに連動して実行する、ユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムの構成要素、またはそれらの組み合わせとしてもたらされることができる。

Claims (12)

  1. 姿勢をとる人体または動物体をシミュレートするためにコンピュータが実施する方法であって、
    a)回転関節(A〜D)によって繋がれた複数の骨(b0〜b4)を備えた骨格を含む前記人体または動物体のモデル(AV)を提供して、少なくとも1つの運動連鎖を形成するステップであって、各回転関節が2つの骨を接続し、1と3との間に含まれる複数の回転軸を有する、ステップと、
    b)アクティブ運動連鎖と呼ばれる運動連鎖の、前記骨格の各回転関節に対する開始位置および開始回転状態、ならびにエフェクタ(EF)と呼ばれる点に対する目標位置(T)を定義するステップと、
    c)前記アクティブ運動連鎖の複数の関節のそれぞれ1つの少なくとも1つの回転軸に対して、
    − 作動順序、
    − 目標回転に対する最大部分的寄与、および
    − 最大回転角度
    を定義するステップと、
    d)前記エフェクタをその目標位置(T)に近づけるために、前記アクティブ運動連鎖の前記関節に、それらの作動順序に従って、それらの回転軸の周りに回転を反復して適用するステップであって、回転軸の周りの関節の各回転は、前記対応する最大回転角度、および前記エフェクタとその目標位置との間の距離を最小にする前記目標回転に対する前記対応する最大部分的寄与のうちの1つによって制限される、ステップと
    を含む方法。
  2. ステップd)の後に遂行される以下のステップ、
    e)ステップd)の終わりにおいてすでに収束が達成されていない限り、循環座標降下アルゴリズムを適用して、前記エフェクタを前記目標点に収束させるステップ
    をさらに含む請求項1に記載のコンピュータによって実施される方法。
  3. 回転軸の周りの関節の各回転は、前記対応する最大回転角度、および前記エフェクタとその目標位置との間の距離を最小にする前記目標回転に対する前記対応する最大部分的寄与のうちの最も大きいものによって制限される請求項1または2に記載のコンピュータによって実施される方法。
  4. ステップd)において少なくとも1つの回転は、人体または動物体の生理学的制約をモデル化する少なくとも1つの制約によって制限される請求項1乃至3のいずれか一項に記載のコンピュータによって実施される方法。
  5. ステップc)は、要素の順序付きリストを作成するステップを含み、前記リストの各要素は、少なくとも、
    − 回転関節およびその回転軸の識別子、
    − 目標回転に対する前記対応する最大部分的寄与を示す数値、および
    − 前記対応する最大回転角度を示す数値
    を備える請求項1乃至4のいずれか一項に記載のコンピュータによって実施される方法。
  6. 前記目標は、前記人体または動物体の前記モデルを含んだ3次元シーン内を移動し、ステップd)は、前記目標の複数の連続した位置に対して、リアルタイムに繰り返して遂行される請求項1乃至5のいずれか一項に記載のコンピュータによって実施される方法。
  7. 前記人体または動物体のグラフィック表示を表示するステップをさらに含む請求項1乃至6のいずれか一項に記載のコンピュータによって実施される方法。
  8. 前記エフェクタは、前記人体または動物体の手、指、足、つま先、頭、またはそれらの一部分のうちから選択された要素に対応する請求項1乃至7のいずれか一項に記載のコンピュータによって実施される方法。
  9. コンピュータシステムに請求項1乃至8のいずれか一項に記載の方法を遂行させるためのコンピュータ実行可能命令を備えた、非一時的コンピュータ可読データ記憶媒体(M1〜M4)に記憶された、コンピュータプログラム製品。
  10. コンピュータシステムに請求項1乃至8のいずれか一項に記載の方法を遂行させるためのコンピュータ実行可能命令(EXP)を含んだ、非一時的コンピュータ可読データ記憶媒体(M1〜M4)。
  11. メモリ(M1〜M4)およびグラフィカルユーザインターフェース(KB、PD、DC、DY)に結合されたプロセッサ(P)を備えたコンピュータシステムであって、前記メモリは、前記コンピュータシステムに請求項1乃至8のいずれか一項に記載の方法を遂行させるためのコンピュータ実行可能命令(EXP)を記憶する、コンピュータシステム。
  12. 請求項1乃至8のいずれか一項の方法を用いてシミュレートされる、姿勢をとる人体または動物体のモデル。
JP2017224926A 2016-11-22 2017-11-22 姿勢をとる身体をシミュレートするためのコンピュータによって実施される方法 Active JP7278026B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16306533.7 2016-11-22
EP16306533.7A EP3324366A1 (en) 2016-11-22 2016-11-22 Computer-implemented method for simulating a body taking a posture

Publications (2)

Publication Number Publication Date
JP2018092623A true JP2018092623A (ja) 2018-06-14
JP7278026B2 JP7278026B2 (ja) 2023-05-19

Family

ID=57482350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017224926A Active JP7278026B2 (ja) 2016-11-22 2017-11-22 姿勢をとる身体をシミュレートするためのコンピュータによって実施される方法

Country Status (4)

Country Link
US (1) US10482647B2 (ja)
EP (1) EP3324366A1 (ja)
JP (1) JP7278026B2 (ja)
CN (1) CN108090951B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10474927B2 (en) * 2015-09-03 2019-11-12 Stc. Unm Accelerated precomputation of reduced deformable models
EP3324365A1 (en) 2016-11-22 2018-05-23 Dassault Systèmes Computer-implemented method for simulating a body taking a posture, in particular to look at a target
CN109711329B (zh) * 2018-12-25 2021-02-09 北京迈格威科技有限公司 姿态估计及网络训练方法、装置和系统及存储介质
CN111080755B (zh) * 2019-12-31 2023-11-14 上海米哈游天命科技有限公司 一种运动解算方法、装置、存储介质及电子设备
CN112150590B (zh) * 2020-09-04 2021-07-09 完美世界(重庆)互动科技有限公司 一种动画文件的输出方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030034980A1 (en) * 2001-02-13 2003-02-20 Hirotaka Imagawa Animation creation program
JP2012164221A (ja) * 2011-02-08 2012-08-30 Celsys:Kk 骨格モデルの関節角度の曲がりにくさの制御装置,方法,及びプログラム
JP2016062528A (ja) * 2014-09-22 2016-04-25 日本放送協会 多関節骨格モデル処理装置及びプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6400368B1 (en) 1997-03-20 2002-06-04 Avid Technology, Inc. System and method for constructing and using generalized skeletons for animation models
US6088042A (en) 1997-03-31 2000-07-11 Katrix, Inc. Interactive motion data animation system
US6191798B1 (en) * 1997-03-31 2001-02-20 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters
US6535215B1 (en) * 1999-08-06 2003-03-18 Vcom3D, Incorporated Method for animating 3-D computer generated characters
US6738065B1 (en) 1999-08-10 2004-05-18 Oshri Even-Zohar Customizable animation system
JP3568861B2 (ja) * 2000-01-27 2004-09-22 株式会社スクウェア・エニックス ビデオゲームにおける三次元オブジェクト変形方法及びビデオゲーム装置、並びにビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体
US20050278157A1 (en) * 2004-06-15 2005-12-15 Electronic Data Systems Corporation System and method for simulating human movement using profile paths
US8014565B2 (en) 2005-08-26 2011-09-06 Sony Corporation Labeling used in motion capture
US7872653B2 (en) 2007-06-18 2011-01-18 Microsoft Corporation Mesh puppetry
US9001132B1 (en) 2010-12-22 2015-04-07 Lucasfilm Entertainment Company Ltd. Constraint scenarios for retargeting actor motion
JP5490080B2 (ja) * 2011-12-06 2014-05-14 株式会社セルシス スケルトンモデルの姿勢制御方法,及びプログラム
WO2013123306A1 (en) * 2012-02-16 2013-08-22 Brown University System and method for simulating realistic clothing
GB2523560B (en) 2014-02-27 2016-08-31 Naturalmotion Ltd Defining an animation of a virtual object within a virtual world
EP3029635B1 (en) * 2014-12-05 2019-11-13 Dassault Systèmes Computer-implemented method for designing an avatar with at least one garment
US9959655B2 (en) 2015-04-17 2018-05-01 Autodesk, Inc. Segmented full body inverse kinematics
US9911219B2 (en) * 2015-05-13 2018-03-06 Intel Corporation Detection, tracking, and pose estimation of an articulated body
US10621384B2 (en) 2015-12-09 2020-04-14 Dassault Systemes Americas Corp. Method and system of constraint-based optimization of digital human upper limb models
GB2546817B (en) 2016-02-01 2018-10-24 Naturalmotion Ltd Animating a virtual object in a virtual world
EP3324365A1 (en) 2016-11-22 2018-05-23 Dassault Systèmes Computer-implemented method for simulating a body taking a posture, in particular to look at a target

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030034980A1 (en) * 2001-02-13 2003-02-20 Hirotaka Imagawa Animation creation program
JP2012164221A (ja) * 2011-02-08 2012-08-30 Celsys:Kk 骨格モデルの関節角度の曲がりにくさの制御装置,方法,及びプログラム
JP2016062528A (ja) * 2014-09-22 2016-04-25 日本放送協会 多関節骨格モデル処理装置及びプログラム

Also Published As

Publication number Publication date
EP3324366A1 (en) 2018-05-23
CN108090951B (zh) 2024-01-30
CN108090951A (zh) 2018-05-29
JP7278026B2 (ja) 2023-05-19
US10482647B2 (en) 2019-11-19
US20180144533A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
JP7278026B2 (ja) 姿勢をとる身体をシミュレートするためのコンピュータによって実施される方法
JP6018707B2 (ja) デプスカメラを使用するアバター構築
JP7270335B2 (ja) 特に目標を見るための姿勢を取る身体をシミュレートするためのコンピュータ実施方法
Aristidou et al. FABRIK: A fast, iterative solver for the Inverse Kinematics problem
JP2015531098A5 (ja)
US10062197B2 (en) Animating a virtual object in a virtual world
JP2016110652A (ja) 少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法
WO2005124604A1 (en) System and method for simulating human movement using profile paths
JP6941934B2 (ja) デジタルの人間の上肢モデルの制約ベースの最適化の方法およびシステム
JP4267508B2 (ja) 仮想ダミーの人間工学的動きの最適化
JP2015102913A (ja) 姿勢推定装置及び姿勢推定方法
US10410393B2 (en) Animating a virtual object in a virtual world
US11410402B2 (en) Computer-implemented method for making a skeleton of a modeled body take a posture
Molla et al. Singularity free parametrization of human limbs
Bhatti et al. Analysis of design principles and requirements for procedural rigging of bipeds and quadrupeds characters with custom manipulators for animation
CN111161419B (zh) 三维模型的剖切方法、装置和存储介质
JP2007048151A (ja) 3次元曲面への物体メッシュモデルの写像方法
JP2019057277A (ja) デジタル的にモデル化されたオブジェクトのアセンブリのサブセットを表示するコンピュータ実施方法
CN116805344B (zh) 一种数字人动作重定向方法及装置
Sato et al. 3D freeform design: interactive shape deformations by the use of CyberGlove
CN115272541A (zh) 一种驱动智能体到达多目标点的姿态生成方法
KR101197969B1 (ko) 프로파일 경로들을 이용하여 인간의 동작을 시뮬레이팅하는시스템 및 방법
Lerttriluck et al. Physically based model for interactive skeletal animation
Apaza-Agüero et al. Mesh segmentation with connecting parts for 3D object prototyping

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220712

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221212

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: 20230411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230509

R150 Certificate of patent or registration of utility model

Ref document number: 7278026

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150