JP7061238B2 - 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習 - Google Patents
異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習 Download PDFInfo
- Publication number
- JP7061238B2 JP7061238B2 JP2021555464A JP2021555464A JP7061238B2 JP 7061238 B2 JP7061238 B2 JP 7061238B2 JP 2021555464 A JP2021555464 A JP 2021555464A JP 2021555464 A JP2021555464 A JP 2021555464A JP 7061238 B2 JP7061238 B2 JP 7061238B2
- Authority
- JP
- Japan
- Prior art keywords
- bone
- subset
- trained
- target
- bones
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
Description
例えば、ターゲットアニメーションデータには、モーションキャプチャデータ、開発されたアニメーションデータなどが含まれ得る。各ターゲットアニメーションデータは、異なるターゲットモーションシーケンスを有することができ、そのためモーションシーケンスは互いに関連付けられていなくてもよい異種のモーションを含む。ターゲットアニメーションデータを使用したアニメーションキャラクタの合成とトレーニングは、特定のシミュレーション環境向けである。
トレーニングされたアニメーションキャラクタのサブボディBに向けたものとすることができるターゲットボディモーションBを含む第2のターゲットアニメーションデータなどの他のターゲットアニメーションデータも入力され得る。複数の実施形態では、2つ以上の別個のターゲットアニメーションデータが入力として提供され、トレーニングされたアニメーションキャラクタ100のサブボディNに向けたものとすることができるターゲットボディモーションNを含むターゲットアニメーションデータN(101n)を含む。
例えば、トレーニングされたアニメーションキャラクタ100の2つのターゲットアニメーションデータトレーニングにおいて、アニメーションデータA101aは、ターゲットキャラクタの腕及び胴体に向けたものとすることができ、これは、トレーニングされたアニメーションキャラクタ100のボーン階層110の腕及び胴体にマッピングされ得る。また、アニメーションデータB101bは、対応するターゲットキャラクタの脚及び腰に向けたものとすることができ、これは、トレーニングされたアニメーションキャラクタ100のボーン階層110の脚及び腰にマッピングすることができる。
例えば、あるターゲットアニメーションデータが右手に対するものとすることができ、別のターゲットアニメーションデータが左手に対するものとすることができ、別のターゲットアニメーションデータが頭に対するものとすることができ、さらに別のターゲットアニメーションデータが左腕に対するものとすることができるなどである。すなわち、各ターゲットアニメーションデータは、トレーニングされたアニメーションキャラクタ100のボーン階層110の一意のボーンのサブセットに向けたものとすることができる。
そのようにして、マッピングエンジン120は、ターゲットアニメーションデータに関連付けられたターゲットサブボーン階層の一部を、トレーニングされたアニメーションキャラクタ100のボーン階層110にマッピングすることができる。一実施形態では、トレーニングされたアニメーションキャラクタ100は、ヒューマノイドの形態を有する。他の実施形態では、トレーニングされたアニメーションキャラクタは、動物、または新しく設計されたキャラクタ、または2つ以上のアニメーションキャラクタ(例えば、ケンタウロスなど)の混合などの他の形態をとることができる。このようにして、任意の数のアニメーションキャラクタを作成することができ、制限となるのは開発者の想像力だけであるる。
第1のターゲットアニメーションデータ101aのターゲットボディモーションは、ターゲットキャラクタの手を振っているモーションであってもよく、ターゲットキャラクタは立っていてもよい。第2のターゲットアニメーションデータ101bは、腰領域及び脚を含むヒューマノイドアニメーションキャラクタ100の下部に向けたものとすることができ、ターゲットキャラクタが走っていてもよい。重みは、第2のターゲットアニメーションデータ101bが第1のターゲットアニメーションデータ101aよりも優先されるように適用でき、その結果、トレーニングされたアニメーションキャラクタ100は、特に、シミュレーション環境310の物理パラメータを適用した後に、手を振っているボディモーションよりも走っているボディモーションを優先する。
例えば、シミュレーション環境310において、手を振ることと走ることの両方を同時に行うことは物理的に困難である可能性がある。重み135の適用は、トレーニングされたアニメーションキャラクタ100がターゲットの走っているモーションに近い、走っているモーションを有するように、手を振っているモーションよりも走っているモーションを優先し、そして、シミュレーション環境310の物理パラメータ130に従うために、抑制された手を振っているモーションを有する。そのようにして、トレーニングされたアニメーションキャラクタ100のブレンドされたモーションは、シミュレーション環境310に対して現実的に見えることになる。
このようにして、デジタルアニメーションキャラクタは、ターゲットアニメーションキャラクタの以前に定義されたターゲットアニメーションデータを使用して生成され得る。より具体的には、ターゲットアニメーションキャラクタの異種のターゲットモーションは、トレーニング中に一緒にブレンドされて、トレーニングされたアニメーションキャラクタ100の最終的な動きを生成することができ、ターゲットモーションは、トレーニングされたアニメーションキャラクタ100のボーン階層110の異なる部分(例えば、手を振っている上半身、走っている下半身)に向けたものとすることができる。ターゲットアニメーションキャラクタのターゲットモーションのブレンド中、トレーニングされたアニメーションキャラクタ100の動きは、実施形態では、シミュレーション環境310の物理パラメータ、及びアニメーションデータの重み付けに従う。
このようにして、高度に確率的な環境での強化学習の問題を解決するために、並列コンピューティング用に複数のコアを構成できる。一実施形態では、並列化は、深層学習エンジンによって適用される強化学習アルゴリズムを安定化するように機能する(例えば、更新を非相関化する)。別の実施形態では、並列化が、観測されたデータの非定常性を低減する。さらに別の実施形態では、並列化は、強化学習中のパラメータ空間の探索を増加させる(例えば、局所的な最小値を回避するのに役立つ)。
したがって、教師ありまたは教師なしのトレーニングを用いたディープニューラルネットワーク、畳み込みディープニューラルネットワーク、及び/またはリカレントニューラルネットワークを実装することができる。別の実施例では、ニューラルネットワーク190は、強化学習、または報酬ベースの学習(例えば、成功基準、成功メトリック、距離メトリックなどを使用)、インクリメンタル学習などをサポートする深層学習ネットワークを含む。例えば、ニューラルネットワーク190は、強化学習アルゴリズムをサポートするマルコフ決定プロセス(MDP)として設定されている。
この図では、データドメインにターゲットアニメーションデータが含まれ、1つ以上のターゲットアニメーションデータ、2つ以上のアニメーションデータなどが含まれる。ターゲットアニメーションデータは、トレーニングされたアニメーションキャラクタのボーン階層の様々な部分に対する異種のボディモーションを表す。別の実施例では、トレーニングデータセットは、ベースライン以外の入力データを含むように、様々なデータ領域からのものである。
説明のために、第1のターゲットアニメーションデータは、第1のターゲットキャラクタの上部(例えば、腕及び胴体)とすることができ、これは、トレーニングされたキャラクタのボディの上部(例えば、ボーン階層の上部)にマッピングされる。第1のアニメーションデータによって表されるターゲットモーションシーケンスは、手を振っているターゲットキャラクタの上部の腕であり得る。第1のターゲットアニメーションデータは、トレーニングされたキャラクタの第1のボーンのサブセットをトレーニングするために使用され、その結果、トレーニングされたキャラクタのボーン階層の上部は、手を振ることを学ぶなど、第2のターゲットキャラクタのターゲットのモーションを学習する。
説明のために、2つの別個のターゲットアニメーションデータを使用してアニメーションキャラクタ(例えば、ヒューマノイド)をトレーニングする実施例を続けると、第2のターゲットアニメーションデータは、第2のターゲットキャラクタの下部(例えば、腰と脚のボーン)の場合があり、これは、トレーニングされたキャラクタのボディの下部(例えば、ボーン階層の下部)にマッピングされる。第2のアニメーションデータによって表されるターゲットモーションシーケンスは、走っているモーションにおけるターゲットキャラクタの下部の脚であり得る。第2のターゲットアニメーションデータは、トレーニングされたキャラクタの第2のボーンのサブセットをトレーニングするために使用され、その結果、トレーニングされたキャラクタのボーン階層の下部は、走ることを学ぶなど、第2のターゲットキャラクタのターゲットのモーションを学習する。
対応するボーンの向きがわかれば、そのボーンの適切なジョイントパラメータは、深層学習エンジンまたは別の処理サーバを介して適用されるように自動的に決定できる。すなわち、ボーンの階層におけるボーンの複数のジョイントのジョイントパラメータは、第1及び第2のボーンのサブセットにおける調整された向きに応じて自動的に調整される。具体的には、シミュレーションでトレーニングされたキャラクタは、ジョイントモータを介して駆動され、そこでは、位置(移動先)、速度、またはトルクのいずれかを指定することでモータを操作できる。説明したように、一実施形態では、位置(例えば、ボーンの向き)がモータを駆動するために使用される。ニューラルネットワークは、各ジョイントの位置の形で(例えば、調整されたボーンの向きに基づいて)アクションのセットを出力し、これにより、ジョイントモータが応答し、トレーニングされたキャラクタが動く。
一実施形態では、ボーンの向きは、四元数メトリックによって定義され、ボーンの向きは、確率的に調整することができる。単独で行うと、強化学習を適用によって、トレーニングされたアニメーションキャラクタのボーン階層の対応する部分が、第1のターゲットアニメーションデータによって表されるターゲットモーションとほぼ同じモーションを有するようにトレーニングされる(例えば、手を振っているボディの上部)。以下でさらに詳しく説明するように、強化学習では、シミュレーション環境の重み付けと物理パラメータを適用して、トレーニングされたモーションを変更できる。
言い換えると、合成操作は、第1及び第2のボーンのサブセットのボーンの調整された向きの相対的な調整を補償する。具体的には、ボーンの向きはさらに補償され(例えば、対応するボーンの向きへの追加の調整)、その結果、第1のボーンのサブセットのボーンの向きへの調整は、それらが第2のボーンのサブセットのボーンの向きへの調整と矛盾する場合に可能でなく、その逆も同じである。例えば、対応するボーンの向きへの調整が矛盾している場合、補償する相対的な調整が、調整された向きにさらに適用され得る。したがって、第1のターゲットアニメーションデータによって提供される第1のモーション(例えば、手を振っている第1のターゲットキャラクタの上部)は、第2のターゲットアニメーションデータによって提供される第2のモーション(例えば、走っている第2のターゲットキャラクタの下部)と、シミュレーション環境の物理パラメータと矛盾しない方法でブレンドされ得る。
例えば、トレーニングされたアニメーションキャラクタ(例えば、ヒューマノイド)が2つの別個のターゲットアニメーションデータを使用してトレーニングされている場合、トレーニングされたキャラクタのボーン階層には、第1のターゲットアニメーションデータによってトレーニングされた第1のボーンのサブセット(例えば、ボーン階層の上部向け-手を振っている)及び第2のターゲットアニメーションデータによってトレーニングされた第2のボーンのサブセット(例えば、ボーン階層の下部向け-走っている)が含まれる。
対応するターゲットキャラクタのそれぞれは、対応するターゲットアニメーションデータによって定義される特定のターゲットボディモーションを持っている。このようにして、トレーニングされたキャラクタは、特定のシミュレーション環境の強化学習を通じて、2つ以上のターゲットアニメーションデータに関連付けられた異種のボディモーションをブレンドする。計算された報酬に影響を与える異種のボディモーションをブレンド及び/または合成するときに、重みを適用することもできる。
したがって、ボディの上部のリンク及び/またはボーンがボディの下部のリンク及び/またはボーンよりも高く重み付けされている場合、学習された動作は、ボディの下部のモーションに完全に従わないという代償を払って、ボディの上部の動作と可能な限り一致しようとする。RLトレーニングフェーズでの探索中に、ニューラルネットワークは、どのモーションが実行可能か、どのモーションが失敗につながるかを学習する。このプロセスを通じて、ニューラルネットワークは、モーションを実行できるようにする動きを優先することによって、不安定性を克服することを自然に学習する。
これは、トレーニングされたアニメーションキャラクタのボーン階層内の各ボーンに対して実行され、ボーン階層(BH:bone hierarchy)には、トレーニングに使用されるボーンのサブセットがすべて含まれる。一実施形態では、各ボーンの向きは、四元数の向きによって定義される。結果として、現在の状態320は、モーションシーケンス内の各キーフレームのボーン階層のボーンの向きを含む。説明のために、モーションシーケンスは500個から2000個の間のいずれかのキーフレームを有することができる。
すなわち、さらに補償する相対的調整を行って、物理パラメータに従うことかでき、その結果、ボーンの向きがシミュレーション環境の物理パラメータによって制約されるので、トレーニングされたアニメーションキャラクタが物理パラメータに従う。例えば、第1のターゲットアニメーションデータから取得したボーンのトレーニングされた向きが、第2のターゲットアニメーションデータから取得した別のボーンのトレーニングされた向きと競合するか、矛盾する場合、向きのうち1つ以上がさらに補償され(補償する相対的調整)、シミュレーション環境の物理パラメータに従う。物理学が適用された後、システムはトレーニングされたキャラクタの最終状態を測定し(例えば、対応する強化学習の反復のために)、次にこの観察を深層学習エンジン190のニューラルネットワークへの次の入力として使用する。
例えば、第2のターゲットアニメーションデータ(例えば、走っている)は、第1のターゲットアニメーションデータよりも重み付けされ得る。トレーニングされたキャラクタのボディの上部のリンク及び/またはボーンがトレーニングされたキャラクタのボディの下部のリンク及び/またはボーンよりも高く重み付けされている場合、トレーニングされたキャラクタの学習された動作は、ボディの下部のモーションに完全に従わないという代償を払って、ボディの上部の動作と可能な限り一致しようとする。このようにして、トレーニングされたアニメーションキャラクタのトレーニングされたモーションは、より多くの走っているモーションを保持し、シミュレーション環境の物理パラメータに従うように、手を振っているモーションをより大きく調整する。例えば、トレーニングされたキャラクタがシミュレーション環境でバランスを保つように、手を振るのが抑制されたり、目立たなくなったりすることができる。または、ボーン階層の上部は、下部が走り続けている間、バランスを維持するためにバランスモーションを行うことができる。
強化学習トレーニングフェーズでの探索中に、ニューラルネットワークは、どのモーションが実行可能か、どのモーションが失敗につながるかを学習する。このプロセスを通じて、ニューラルネットワークは、トレーニングされたキャラクタが望ましい全体的なモーションを実行できるようにする動きを優先することによって、不安定性を克服することを自然に学習する。つまり、強化学習の探索フェーズ中に(例えば、1回以上の反復を通じて)、トレーニングされたキャラクタの1つのシームレスなモーションに、異種のターゲットモーションが一緒に融合またはブレンド、または合成される。
他方、強化学習の反復は、強化学習の2つ以上の反復間のモーションシーケンス報酬値430が閾値を超えて変化しないときに終了し得る。つまり、強化学習によって決定されたボーンの向きの変化は、報酬値を最小限に増加させるため、強化学習の別の反復から得られる地点は最小限に抑えられる。その結果、強化学習が終了すると、トレーニングされたキャラクタの1つのシームレスなモーションに、異種のターゲットモーションが融合またはブレンド、または合成される。
重み(w1=0.4)は、第1のターゲットアニメーションデータA(101a)に適用するかまたは関連付けることができる。第2のボーンのサブセット110bは、腰や脚などのボーン階層110の下部を含む。第2のボーンのサブセット110bは、ボーンB6、B7、B8、及びB9を含む。第2のターゲットアニメーションデータB(101b)は、第2のボーンのサブセット110bをトレーニングするために使用されるターゲットとされるモーションを表す。重み(w2=0.9)は、第2のターゲットアニメーションデータB(101b)に適用するかまたは関連付けることができる。一実施形態では、第2のターゲットアニメーションデータB(101b)は、第1のターゲットアニメーションデータA(101a)の重み値よりも高い重み値を有するため、第2のターゲットアニメーションデータB(101b)よって表されるターゲットモーション(例えば、走っている)は、第1のターゲットアニメーションデータA(101a)によって表されるターゲットモーション(例えば、手を振っている)よりも優先され得る。
ボーンB6~B9は、第2のボーンのサブセット110bに属している。列353は、対応する各ボーンについての以前の(例えば、深層学習エンジン190の強化学習エージェント195への入力としての強化学習の最後の反復からの)報酬値を提供し、報酬値は、対応するボーンの現在の向きと、対応するターゲットアニメーションデータによって定義されたボーンのターゲットの向きの間の四元数距離を示し得る。例えば、報酬値0.37は、ボーンB1の四元数距離を定義する。列354は、ボーン階層110の各ボーンの調整された距離を提供し、調整された距離は、強化学習を通じて決定された、対応するボーンの調整された向きに基づく。さらに、列355は、調整されたボーンの向きに対応する補償相対調整を適用することなどによって、ボーン階層内の各ボーンの調整された向きに物理パラメータ及び重みを適用する。
これは、トレーニングされたアニメーションキャラクタが走ったり手を振ったりしているときにつまずかないようにするためという場合があり、この場合は結果として手を振るのが抑制され、それによって、第1のボーンのサブセット110a内の各ボーンの対応する距離メトリックが増加する。例えば、列355に表される、シミュレーション環境の物理パラメータ及び重みの適用後の第1のボーンのサブセット110aの距離メトリックは、特に第2のボーンのサブセット110bと比較した場合に、対応する補償相対調整の適用後の、列354に表される対応するボーンの調整された距離との差が大きくなり得る。例えば、ボーンB1の場合、列354の調整された距離は0.35であり、シミュレーション環境と重みを考慮した後、列355の距離は0.55で、0.2の差であり、これは、補償相対調整を適用した後のボーンの向きの大きな変化を示している。
それと比較して、走っているモーションが優先されるので、列355に表される、シミュレーション環境の物理パラメータ及び重みの適用後の第2のボーンのサブセット110bの距離メトリックは、特に第1のボーンのサブセット110aと比較した場合に、対応する補償相対調整の適用後の、列354に表される対応するボーンの調整された距離との差が小さくなり得る。例えば、ボーンB6の場合、列354の調整距離は0.12であり、シミュレーション環境と重みを考慮した後、列355の距離は0.11で0.01の差であり、これは、シミュレーション環境と重み付けを考慮するときのボーンの向きの小さい変化を示している。
例えば、異種のモーションを有する2つのアニメーションデータを使用するトレーニングは、前述のように、ボーン階層の上部のターゲットモーション(例えば、手を振っている)を表す第1のアニメーションデータA(101a)と、ボーン階層の下部のターゲットモーション(例えば、走っている)を表す第2のアニメーションデータB(101b)とを含み得る。
走っているモーションシーケンス412は、(例えば、重み付けを通じて)手を振っているモーションシーケンス411よりも優先されるので、トレーニングされたアニメーションキャラクタ100のモーションは、特にシミュレーション環境及び重みを考慮するとき、手を振っているモーションを犠牲にしながら、より多くの走っているモーションを保持する。例えば、モーションシーケンス413は、ターゲットアニメーションデータB(101b)からの走っているモーションの大部分を保持することができるが、ターゲットアニメーションデータA(101a)からの手を振っているモーションを抑制する。示されるように、図4Cに示されるモーションシーケンス413は、トレーニングのために使用される図4Bに示される積極的な手を振っているモーションシーケンス411(例えば、腕のモーションは約40度の移動である)と比較した場合、手を振るときの制限された腕の動作(例えば、腕の動作は約20度の移動である)を示す。
ネットワークインタフェース514は、デバイス500が電子通信ネットワークを介して他のコンピュータシステムと通信することを可能にし、ローカルエリアネットワーク、及びインターネットなどの広域ネットワークにわたる有線通信または無線通信を含み得る。オーディオプロセッサ512は、CPU502、メモリ504、及び/またはストレージ506により提供される命令及び/またはデータから、アナログまたはデジタルのオーディオ出力を生成するように適合される。CPU502、メモリ504、データストレージ506、ユーザ入力デバイス508、ネットワークインタフェース510、及びオーディオプロセッサ512を含むデバイス500の構成要素は、1つ以上のデータバス522を介して接続される。
画素データは、CPU502から直接グラフィックメモリ518に提供することができる。あるいは、CPU502は、所望の出力画像を定義するデータ及び/または命令をGPU516に提供し、これを基に、GPU516は、1つ以上の出力画像の画素データを生成する。所望の出力画像を定義するデータ及び/または命令は、メモリ504及び/またはグラフィックメモリ518に記憶することができる。
実施形態では、GPU516は、シーンの幾何学的構造、照明、陰影、質感、モーション、及び/またはカメラのパラメータを定義する命令及びデータから、出力画像の画素データを生成する3Dレンダリング機能を含む。GPU516はさらに、シェーダプログラムを実行することができる1つ以上のプログラム可能実行ユニットを含み得る。一実施形態では、GPU516は、AIまたは深層学習機能のためなど、追加の処理能力を提供するために、AIエンジン190内に実装されてもよい。
Claims (20)
- アニメーションで使用するアニメーションキャラクタをトレーニングするための方法であって、
第1のアニメーションデータをトレーニングされたキャラクタの第1のボーンのサブセットにマッピングし、前記第1のアニメーションデータは、第1のターゲットモーションシーケンスを定義するものであり、
第2のアニメーションデータを前記トレーニングされたキャラクタの第2のボーンのサブセットにマッピングし、前記トレーニングされたキャラクタのボーン階層は、前記第1のボーンのサブセット及び前記第2のボーンのサブセットを含み、前記第2のアニメーションデータは、第2のターゲットモーションシーケンスを定義するものであり、
前記第1のアニメーションデータを使用して前記第1のボーンのサブセットをトレーニングするため、かつ前記第2のアニメーションデータを使用して前記第2のボーンのサブセットをトレーニングするために、複数の反復にわたって強化学習を適用し、前記第1のボーンのサブセット及び前記第2のボーンのサブセットのトレーニングは各反復で同時に実行され、かつ、前記第1のボーンのサブセット及び前記第2のボーンのサブセットの前記トレーニングでは、前記第1のボーンのサブセット及び前記第2のボーンのサブセット内のボーンの向きを調整し、
_前記第1のボーンのサブセットは、シミュレーション環境の物理パラメータを前記第1のボーンのサブセット及び前記第2のボーンのサブセット内のボーンの調整された前記向きに適用することによって、前記強化学習の各反復で前記第2のボーンのサブセットと合成される、方法。 - 前記ボーンの向きの調整では、
ボーンの階層におけるボーンの複数のジョイントのジョイントパラメータを、前記第1のボーンのサブセット及び前記第2のボーンのサブセットに対する結果として生じる向きに応じて自動的に調整する、請求項1に記載の方法。 - 前記第1のターゲットモーションシーケンスは、第1のターゲットキャラクタからのもので、前記第2のターゲットモーションシーケンスは、第2のターゲットキャラクタからのものであり、
前記第1のターゲットモーションシーケンス及び前記第2のターゲットモーションシーケンスは異なるモーションを定義し、
前記トレーニングされたキャラクタのトレーニングされたモーションシーケンスは、前記第1のターゲットモーションシーケンスと前記第2のターゲットモーションシーケンスとをブレンドする、請求項1に記載の方法。 - 前記第1のボーンのサブセット及び前記第2のボーンのサブセットをトレーニングするための前記強化学習の適用では、
前記ボーン階層内の各ボーンについて、フレーム内の対応するボーンのトレーニングされた位置と、前記フレーム内の前記対応するボーンのターゲット位置との間の距離メトリックを決定し、
前記距離メトリックを最小化するために、前記トレーニングされた位置を確率的に調整する、請求項1に記載の方法。 - さらに、前記フレームの前記ボーン階層内の各ボーンについて、調整されたトレーニングされた位置と、前記フレーム内の前記対応するボーンの前記ターゲット位置との間の調整された距離メトリックを決定し、
トレーニングされたモーションシーケンスの複数のフレームの前記ボーン階層内のボーンの調整された距離メトリックを合計して、報酬値を決定する、請求項4に記載の方法。 - 前記強化学習の次の反復を実行して、前記報酬値が閾値を満たさない場合に、前記第1のボーンのサブセットと前記第2のボーンのサブセットをトレーニングし、
前記報酬値が前記閾値を満たしたときに前記強化学習を停止する、請求項5に記載の方法。 - さらに、前記第1のボーンのサブセット内に含まれる前記対応するボーンの前記距離メトリックに第1の重みを適用し、
前記第2のボーンのサブセット内に含まれる前記対応するボーンの前記距離メトリックに第2の重みを適用する、請求項4に記載の方法。 - アニメーションにおいて使用するアニメーションキャラクタをトレーニングするためのコンピュータプログラムを記憶する、非一時的コンピュータ可読媒体であって、
第1のターゲットモーションシーケンスを定義する第1のアニメーションデータを、トレーニングされたキャラクタの第1のボーンのサブセットにマッピングするためのプログラム命令を有し、
第2のアニメーションデータを前記トレーニングされたキャラクタの第2のボーンのサブセットにマッピングするためのプログラム命令を有し、前記トレーニングされたキャラクタのボーン階層は、前記第1のボーンのサブセット及び前記第2のボーンのサブセットを含み、前記第2のアニメーションデータは、第2のターゲットモーションシーケンスを定義するものであり、
前記第1のアニメーションデータを使用して前記第1のボーンのサブセットをトレーニングするため、かつ前記第2のアニメーションデータを使用して前記第2のボーンのサブセットをトレーニングするために、複数の反復にわたって強化学習を適用するためのプログラム命令を有し、前記第1のボーンのサブセット及び前記第2のボーンのサブセットのトレーニングは各反復で同時に実行され、かつ、前記第1のボーンのサブセット及び前記第2のボーンのサブセットの前記トレーニングでは、前記第1のボーンのサブセット及び前記第2のボーンのサブセット内のボーンの向きを調整し、前記第1のボーンのサブセットは、シミュレーション環境の物理パラメータを前記第1のボーンのサブセット及び前記第2のボーンのサブセット内のボーンの調整された前記向きに適用することによって、前記強化学習の各反復で前記第2のボーンのサブセットと合成される、非一時的コンピュータ可読媒体。 - 前記ボーンの向きを調整するための前記プログラム命令が、
ボーンの階層におけるボーンの複数のジョイントのジョイントパラメータを、前記第1のボーンのサブセット及び前記第2のボーンのサブセットに対する結果として生じる向きに応じて自動的に調整するためのプログラム命令を含む、請求項8に記載の非一時的コンピュータ可読媒体。 - 前記第1のターゲットモーションシーケンスは、第1のターゲットキャラクタからのものであり、前記第2のターゲットモーションシーケンスは、第2のターゲットキャラクタからのもので、
前記第1のターゲットモーションシーケンス及び前記第2のターゲットモーションシーケンスは異なるモーションを定義し、
前記トレーニングされたキャラクタのトレーニングされたモーションシーケンスは、前記第1のターゲットモーションシーケンスと前記第2のターゲットモーションシーケンスとをブレンドする、
請求項8に記載の非一時的コンピュータ可読媒体。 - 前記第1のボーンのサブセット及び前記第2のボーンのサブセットをトレーニングするための前記強化学習の適用では、
前記ボーン階層内の各ボーンについて、フレーム内の対応するボーンのトレーニングされた位置と、前記フレーム内の前記対応するボーンのターゲット位置との間の距離メトリックを決定し、
前記距離メトリックを最小化するために、前記トレーニングされた位置を確率的に調整する、請求項8に記載の非一時的コンピュータ可読媒体。 - さらに、前記フレームの前記ボーン階層内の各ボーンについて、調整されたトレーニングされた位置と、前記フレーム内の前記対応するボーンの前記ターゲット位置との間の調整された距離メトリックを決定し、
トレーニングされたモーションシーケンスの複数のフレームの前記ボーン階層内のボーンの調整された距離メトリックを合計して、報酬値を決定する、請求項11に記載の非一時的コンピュータ可読媒体。 - 前記強化学習の次の反復を実行して、前記報酬値が閾値を満たさない場合に、前記第1のボーンのサブセットと前記第2のボーンのサブセットをトレーニングし、
前記報酬値が前記閾値を満たしたときに前記強化学習を停止する、請求項12に記載の非一時的コンピュータ可読媒体。 - さらに、前記第1のボーンのサブセット内に含まれる前記対応するボーンの前記距離メトリックに第1の重みを適用し、
前記第2のボーンのサブセット内に含まれる前記対応するボーンの前記距離メトリックに第2の重みを適用する、請求項11に記載の非一時的コンピュータ可読媒体。 - コンピュータシステムであって、
プロセッサと、
前記プロセッサに結合され、前記コンピュータシステムによって実行された場合、前記コンピュータシステムに、アニメーションで使用するアニメーションキャラクタをトレーニングするための方法を実行させる命令を記憶しているメモリを有し、前記方法は、
第1のアニメーションデータをトレーニングされたキャラクタの第1のボーンのサブセットにマッピングし、前記第1のアニメーションデータは、第1のターゲットモーションシーケンスを定義するものであり、
第2のアニメーションデータを前記トレーニングされたキャラクタの第2のボーンのサブセットにマッピングし、前記トレーニングされたキャラクタのボーン階層は、前記第1のボーンのサブセット及び第2のボーンのサブセットを含み、前記第2のアニメーションデータは、第2のターゲットモーションシーケンスを定義するものであり、
前記第1のアニメーションデータを使用して前記第1のボーンのサブセットをトレーニングするため、かつ前記第2のアニメーションデータを使用して前記第2のボーンのサブセットをトレーニングするために、複数の反復にわたって強化学習を適用し、前記第1のボーンのサブセット及び前記第2のボーンのサブセットのトレーニングは各反復で同時に実行され、前記第1のボーンのサブセット及び前記第2のボーンのサブセットの前記トレーニングでは、前記第1のボーンのサブセット及び前記第2のボーンのサブセット内のボーンの向きを調整し、前記第1のボーンのサブセットは、シミュレーション環境の物理パラメータを前記第1のボーンのサブセット及び前記第2のボーンのサブセット内のボーンの調整された前記向きに適用することによって、前記強化学習の各反復で前記第2のボーンのサブセットと合成されるものである、コンピュータシステム。 - 前記方法において、前記ボーンの向きの調整では、
ボーンの階層におけるボーンの複数のジョイントのジョイントパラメータを、前記第1のボーンのサブセット及び前記第2のボーンのサブセットに対する結果として生じる向きに応じて自動的に調整する、請求項15に記載のコンピュータシステム。 - 前記第1のボーンのサブセット及び前記第2のボーンのサブセットをトレーニングするための前記強化学習の適用では、
前記ボーン階層内の各ボーンについて、フレーム内の対応するボーンのトレーニングされた位置と、前記フレーム内の前記対応するボーンのターゲット位置との間の距離メトリックを決定し、
前記距離メトリックを最小化するために、前記トレーニングされた位置を確率的に調整し、
前記第1のターゲットモーションシーケンスは、第1のターゲットキャラクタからのもので、前記第2のターゲットモーションシーケンスは、第2のターゲットキャラクタからのものであり、
前記第1のターゲットモーションシーケンス及び前記第2のターゲットモーションシーケンスは異なるモーションを定義し、
前記トレーニングされたキャラクタのトレーニングされたモーションシーケンスは、前記第1のターゲットモーションシーケンスと前記第2のターゲットモーションシーケンスとをブレンドする、請求項15に記載のコンピュータシステム。 - 前記方法では、さらに、
前記フレームの前記ボーン階層内の各ボーンについて、調整されたトレーニングされた位置と、前記フレーム内の前記対応するボーンの前記ターゲット位置との間の調整された距離メトリックを決定し、
トレーニングされたモーションシーケンスの複数のフレームの前記ボーン階層内のボーンの調整された距離メトリックを合計して、報酬値を決定する、請求項17に記載のコンピュータシステム。 - 前記方法では、
前記強化学習の次の反復を実行して、前記報酬値が閾値を満たさない場合に、前記第1のボーンのサブセットと前記第2のボーンのサブセットをトレーニングし、
前記報酬値が前記閾値を満たしたときに前記強化学習を停止する、請求項18に記載のコンピュータシステム。 - 前記方法では、さらに、
前記第1のボーンのサブセット内に含まれる前記対応するボーンの前記距離メトリックに第1の重みを適用し、
前記第2のボーンのサブセット内に含まれる前記対応するボーンの前記距離メトリックに第2の重みを適用する、請求項17に記載のコンピュータシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/355,680 | 2019-03-15 | ||
US16/355,680 US11132606B2 (en) | 2019-03-15 | 2019-03-15 | Reinforcement learning to train a character using disparate target animation data |
PCT/US2020/017059 WO2020190415A1 (en) | 2019-03-15 | 2020-02-06 | Reinforcement learning to train a character using disparate target animation data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022518970A JP2022518970A (ja) | 2022-03-17 |
JP7061238B2 true JP7061238B2 (ja) | 2022-04-27 |
Family
ID=69784527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021555464A Active JP7061238B2 (ja) | 2019-03-15 | 2020-02-06 | 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11132606B2 (ja) |
EP (1) | EP3939010B1 (ja) |
JP (1) | JP7061238B2 (ja) |
CN (1) | CN113785330B (ja) |
WO (1) | WO2020190415A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11850514B2 (en) | 2018-09-07 | 2023-12-26 | Vulcan Inc. | Physical games enhanced by augmented reality |
US11670080B2 (en) | 2018-11-26 | 2023-06-06 | Vulcan, Inc. | Techniques for enhancing awareness of personnel |
US11950577B2 (en) | 2019-02-08 | 2024-04-09 | Vale Group Llc | Devices to assist ecosystem development and preservation |
WO2020198070A1 (en) | 2019-03-22 | 2020-10-01 | Vulcan Inc. | Underwater positioning system |
US11435845B2 (en) * | 2019-04-23 | 2022-09-06 | Amazon Technologies, Inc. | Gesture recognition based on skeletal model vectors |
CN111260762B (zh) * | 2020-01-19 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 一种动画实现方法、装置、电子设备和存储介质 |
US11928764B2 (en) * | 2020-09-15 | 2024-03-12 | Nvidia Corporation | Neural network motion controller |
US20220143820A1 (en) * | 2020-11-11 | 2022-05-12 | Sony Interactive Entertainment Inc. | Domain adaptation for simulated motor backlash |
US20220143821A1 (en) * | 2020-11-11 | 2022-05-12 | Sony Interactive Entertainment Inc. | Method for robotic training based on randomization of surface stiffness |
US20220143822A1 (en) * | 2020-11-11 | 2022-05-12 | Sony Interactive Entertainment Inc. | Method for robotic training based on randomization of surface damping |
KR20220111918A (ko) * | 2021-02-03 | 2022-08-10 | 삼성전자주식회사 | 캐릭터 애니메이션 동작 제어 방법 및 장치 |
US11908058B2 (en) * | 2022-02-16 | 2024-02-20 | Autodesk, Inc. | Character animations in a virtual environment based on reconstructed three-dimensional motion data |
CN115202531A (zh) * | 2022-05-27 | 2022-10-18 | 当趣网络科技(杭州)有限公司 | 界面交互的方法、系统和电子装置 |
JP2024055447A (ja) * | 2022-10-07 | 2024-04-18 | ソニーグループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
CN117472190A (zh) * | 2023-12-28 | 2024-01-30 | 北京天平地成信息技术服务有限公司 | 基于神经网络的vr物理引擎调配系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012150578A (ja) | 2011-01-17 | 2012-08-09 | Square Enix Co Ltd | 用例に基づく効率的なモーションデータベースのスタイリング |
JP2019191821A (ja) | 2018-04-23 | 2019-10-31 | 株式会社Preferred Networks | モーション処理装置、モーション処理方法、およびプログラム |
JP2020113116A (ja) | 2019-01-15 | 2020-07-27 | 株式会社デジタル・フロンティア | モーション生成装置、モーション生成方法、及びプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088042A (en) * | 1997-03-31 | 2000-07-11 | Katrix, Inc. | Interactive motion data animation system |
WO2011106928A1 (en) * | 2010-03-02 | 2011-09-09 | Nokia Corporation | Methods and apparatuses for facilitating skeletal animation |
US20140274373A1 (en) * | 2013-03-14 | 2014-09-18 | Adam Olshan | System and method for animating virtual characters |
JP6325581B2 (ja) * | 2013-03-15 | 2018-05-16 | 株式会社ソニー・インタラクティブエンタテインメント | スケルタルアニメーションのユーザ生成記録 |
CN106485773B (zh) * | 2016-09-14 | 2019-09-24 | 厦门黑镜科技有限公司 | 一种用于生成动画数据的方法和装置 |
US20180225858A1 (en) * | 2017-02-03 | 2018-08-09 | Sony Corporation | Apparatus and method to generate realistic rigged three dimensional (3d) model animation for view-point transform |
CN106780683A (zh) * | 2017-02-23 | 2017-05-31 | 网易(杭州)网络有限公司 | 骨骼动画数据的处理方法及装置 |
US10311624B2 (en) * | 2017-06-23 | 2019-06-04 | Disney Enterprises, Inc. | Single shot capture to animated vr avatar |
US10546408B2 (en) * | 2018-03-20 | 2020-01-28 | Adobe Inc. | Retargeting skeleton motion sequences through cycle consistency adversarial training of a motion synthesis neural network with a forward kinematics layer |
WO2019213220A1 (en) * | 2018-05-03 | 2019-11-07 | Magic Leap, Inc. | Using 3d scans of a physical subject to determine positions and orientations of joints for a virtual character |
US10607065B2 (en) * | 2018-05-03 | 2020-03-31 | Adobe Inc. | Generation of parameterized avatars |
US11474593B2 (en) * | 2018-05-07 | 2022-10-18 | Finch Technologies Ltd. | Tracking user movements to control a skeleton model in a computer system |
US11669726B2 (en) * | 2018-07-02 | 2023-06-06 | Magic Leap, Inc. | Methods and systems for interpolation of disparate inputs |
KR102543650B1 (ko) * | 2018-07-30 | 2023-06-15 | 주식회사 엔씨소프트 | 모션 합성 장치 및 모션 합성 방법 |
-
2019
- 2019-03-15 US US16/355,680 patent/US11132606B2/en active Active
-
2020
- 2020-02-06 WO PCT/US2020/017059 patent/WO2020190415A1/en active Application Filing
- 2020-02-06 EP EP20710648.5A patent/EP3939010B1/en active Active
- 2020-02-06 CN CN202080029244.6A patent/CN113785330B/zh active Active
- 2020-02-06 JP JP2021555464A patent/JP7061238B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012150578A (ja) | 2011-01-17 | 2012-08-09 | Square Enix Co Ltd | 用例に基づく効率的なモーションデータベースのスタイリング |
JP2019191821A (ja) | 2018-04-23 | 2019-10-31 | 株式会社Preferred Networks | モーション処理装置、モーション処理方法、およびプログラム |
JP2020113116A (ja) | 2019-01-15 | 2020-07-27 | 株式会社デジタル・フロンティア | モーション生成装置、モーション生成方法、及びプログラム |
Non-Patent Citations (2)
Title |
---|
Eugene Hsu et al.,Style Translation for Human Motion,[online],2005年07月01日,https://dl.acm.org/doi/10.1145/1073204.1073315 |
XUE BIN PENG et al.,DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills,[online],2018年07月27日,https://arxiv.org/abs/1804.02717 |
Also Published As
Publication number | Publication date |
---|---|
US20200293881A1 (en) | 2020-09-17 |
JP2022518970A (ja) | 2022-03-17 |
EP3939010B1 (en) | 2024-04-03 |
CN113785330B (zh) | 2023-04-11 |
WO2020190415A1 (en) | 2020-09-24 |
CN113785330A (zh) | 2021-12-10 |
EP3939010A1 (en) | 2022-01-19 |
US11132606B2 (en) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7061238B2 (ja) | 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習 | |
US11113860B2 (en) | Particle-based inverse kinematic rendering system | |
WO2021143261A1 (zh) | 一种动画实现方法、装置、电子设备和存储介质 | |
Wang et al. | Multi-weight enveloping: least-squares approximation techniques for skin animation | |
Hämäläinen et al. | Online motion synthesis using sequential monte carlo | |
US20130222433A1 (en) | Animation processing | |
US11104001B2 (en) | Motion transfer of highly dimensional movements to lower dimensional robot movements | |
Wrotek et al. | Dynamo: dynamic, data-driven character control with adjustable balance | |
US20230334744A1 (en) | Method and apparatus for generating walk animation of virtual role, device and storage medium | |
Al Borno et al. | Robust Physics‐based Motion Retargeting with Realistic Body Shapes | |
US11217001B2 (en) | Systems and methods for supervised and unsupervised animation style transfer | |
US20180144531A1 (en) | Animating a virtual object in a virtual world | |
TW202232284A (zh) | 用於在虛擬實境環境中三維人類姿勢之模擬控制 | |
CN116438576A (zh) | 单目姿势预测 | |
Shapiro et al. | Practical character physics for animators | |
US20230267668A1 (en) | Joint twist generation for animation | |
Kry et al. | Inverse kinodynamics: Editing and constraining kinematic approximations of dynamic motion | |
JP3973995B2 (ja) | アニメーション作成システム | |
Li et al. | Procedural rhythmic character animation: an interactive Chinese lion dance | |
KR20240055025A (ko) | 실용 3d 에셋을 위한 추론된 골격 구조 | |
Gutiérrez A et al. | Computer Animation | |
Pitts | The Use Automated Centre of Mass Nodes for Dynamic Grounded and Airborne Key Frame Animation | |
Di Giacomo et al. | Control structure and multi-resolution techniques for virtual human representation | |
Rajendran | Understanding the Desired Approach for Animating Procedurally | |
van Overveld | Building blocks for goal‐directed motion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211029 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211029 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20211029 |
|
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: 20220322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220415 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7061238 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |