JP2020113116A - モーション生成装置、モーション生成方法、及びプログラム - Google Patents

モーション生成装置、モーション生成方法、及びプログラム Download PDF

Info

Publication number
JP2020113116A
JP2020113116A JP2019004499A JP2019004499A JP2020113116A JP 2020113116 A JP2020113116 A JP 2020113116A JP 2019004499 A JP2019004499 A JP 2019004499A JP 2019004499 A JP2019004499 A JP 2019004499A JP 2020113116 A JP2020113116 A JP 2020113116A
Authority
JP
Japan
Prior art keywords
skeleton model
information indicating
transfer
motion
information
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.)
Pending
Application number
JP2019004499A
Other languages
English (en)
Inventor
啓 福田
Kei Fukuda
啓 福田
弘毅 越田
Koki Koshida
弘毅 越田
耕平 高山
Kohei Takayama
耕平 高山
由博 金森
Yoshihiro Kanamori
由博 金森
結城 遠藤
Yuki Endo
結城 遠藤
栗山 繁
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.)
DIGITAL FRONTIER Inc
Toyohashi University of Technology NUC
University of Tsukuba NUC
Original Assignee
DIGITAL FRONTIER Inc
Toyohashi University of Technology NUC
University of Tsukuba NUC
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 DIGITAL FRONTIER Inc, Toyohashi University of Technology NUC, University of Tsukuba NUC filed Critical DIGITAL FRONTIER Inc
Priority to JP2019004499A priority Critical patent/JP2020113116A/ja
Publication of JP2020113116A publication Critical patent/JP2020113116A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】モーションの転写精度を向上できるモーション生成装置、モーション生成方法、及びプログラムを提供すること。【解決手段】転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を受け付ける受付部と、受付部が受け付けた転写元のスケルトンモデルを示す情報を入力情報として、入力情報に関連付けられる転写後のスケルトンモデルを示す情報を教師データとして、教師あり学習する学習部と、学習部が教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を記憶する記憶部とを備え、転写元のスケルトンモデルを示す情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルを示す情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む。【選択図】図4

Description

本発明の実施形態は、モーション生成装置、モーション生成方法、及びプログラムに関する。
コンピュータグラフィックス(CG: computer graphics)分野において、キャラクターアニメーションを生成するために、実世界の人間などから計測したモーションキャプチャデータを、計測対象の人間とは異なる姿形をしたキャラクタに適用するモーション転写(リターゲティング)という方法が知られている(例えば、非特許文献1参照)。
この方法は、実物をもとにアニメーションを生成するため、実世界のものと比べても遜色のない自然なモーションを生成できる。
しかし、この方法は、転写対象の体型情報が、転写元の体型情報と大きく異なる場合に、リターゲティングすることによって得られたキャラクターアニメーションの体が床にめり込む、地面に足がつかないなどの不具合が生じる場合がある。不具合が生じた場合には、アーティストが、ソフトウェアを利用して、体が床にめり込まないように、地面に足がつくように、時間をかけて手作業で修正する。
リターゲティングすることによって得られたキャラクターアニメーションの不具合に関して、転写元と、転写対象のモーションおよび体型データの集合とに基づいて、深層ニューラルネットワークを学習することで、自動でモーションの転写を行う技術が知られている(非特許文献1)。
Ruben Villegas, Jimei Yang, Duygu Ceylan, Honglak Lee; Neural Kinematic Networks for Unsupervised Motion Retargetting, The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018, pp. 8639-8648
本発明は、上記従来技術の問題点に鑑みてなされたものであり、モーションの転写精度を向上できるモーション生成装置、モーション生成方法、及びプログラムを提供することを目的とする。
本発明の一実施形態は、転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を受け付ける受付部と、前記受付部が受け付けた前記転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる前記転写後のスケルトンモデルを示す情報を教師データとして、教師あり学習する学習部と、前記学習部が教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を記憶する記憶部とを備え、転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置である。
本発明の一実施形態は、前述のモーション生成装置において、前記学習部は、時刻tにおける前記転写元のスケルトンモデルを示す情報をB(t)とし、前記転写後のスケルトンモデルを示す情報をA(t)とした場合に、A(t)と、B(t)とに基づく値を教師データとして教師あり学習する。
本発明の一実施形態は、前述のモーション生成装置において、前記学習部は、B(t)を入力情報として、A(t)−B(t)を教師データとして教師あり学習する。
本発明の一実施形態は、前述のモーション生成装置において、前記学習部は、B(t)−B(t−1)を入力情報として、A(t)−B(t−1)を教師データとして、教師あり学習する。
本発明の一実施形態は、前述のモーション生成装置において、前記学習部は、B(t)−B(t−1)を入力情報として、A(t)−A(t−1)を教師データとして、教師あり学習する。
本発明の一実施形態は、前述のモーション生成装置において、前記学習部は、スケルトンモデルにおける少なくとも一つのノードに重み付きの誤差最小化を行った結果を、学習する。
本発明の一実施形態は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを受け付ける受付部と、転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる前記転写後のスケルトンモデルを示す情報を教師データとして教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を使用して、前記受付部が受け付けた転写元のスケルトンモデルのモーションを示す前記情報と、転写元のスケルトンモデルの体型を示す前記情報と、転写後のスケルトンモデルの体型を示す前記情報とに基づいて、転写後のスケルトンモデルのモーションを示す情報を生成する生成部とを備え、転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置である。
本発明の一実施形態は、前述のモーション生成装置において、転写元のスケルトンモデルのモーションを示す前記情報に含まれるノード数と、転写元のスケルトンモデルの体型を示す前記情報に含まれるノード数と、転写後のスケルトンモデルの体型を示す前記情報に含まれるノード数とが、相互に一致している。
本発明の一実施形態は、前述のモーション生成装置において、転写元のスケルトンモデルのモーションを示す前記情報に含まれるノード数と、転写元のスケルトンモデルの体型を示す前記情報に含まれるノード数とが一致し、転写後のスケルトンモデルの体型を示す前記情報に含まれるノード数と転写後のスケルトンモデルのモーションを示す前記情報に含まれるノード数とが一致している。
本発明の一実施形態は、前述のモーション生成装置において、転写元のスケルトンモデルのモーションで、つま先と足裏とのいずれか一方又は両方が接地しているタイミングでは、転写後のスケルトンモデルのモーションでもつま先と足裏とのいずれか一方又は両方が接地している。
本発明の一実施形態は、前述のモーション生成装置において、転写元のスケルトンモデルは、モーションキャプチャによって得られる。
本発明の一実施形態は、転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を受け付けるステップと、前記受け付けるステップで受け付けた転写元のスケルトンモデルを示す前記情報を入力情報として、前記入力情報に関連付けられる転写後のスケルトンモデルを示す前記情報を教師データとして、教師あり学習するステップと、前記教師あり学習するステップで教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を記憶するステップとを有し、転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置が実行するモーション生成方法である。
本発明の一実施形態は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを受け付けるステップと、転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる転写後のスケルトンモデルを示す前記情報を教師データとして教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を使用して、前記受け付けるステップで受け付けた転写元のスケルトンモデルのモーションを示す前記情報と、転写元のスケルトンモデルの体型を示す前記情報と、転写後のスケルトンモデルの体型を示す前記情報とに基づいて、転写後のスケルトンモデルのモーションを示す情報を生成するステップとを有し、転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置が実行するモーション生成方法である。
本発明の一実施形態は、コンピュータに、転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を受け付けるステップと、前記受け付けるステップで受け付けた前記転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる前記転写後のスケルトンモデルを示す情報を教師データとして、教師あり学習するステップと、前記教師あり学習するステップで教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を記憶するステップとを実行させ、転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、プログラムである。
本発明の一実施形態は、コンピュータに、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを受け付けるステップと、転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる前記転写後のスケルトンモデルを示す情報を教師データとして教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を使用して、前記受け付けるステップで受け付けた転写元のスケルトンモデルのモーションを示す情前記報と、転写元のスケルトンモデルの体型を示す前記情報と、転写後のスケルトンモデルの体型を示す前記情報とに基づいて、転写後のスケルトンモデルのモーションを示す情報を生成するステップとを実行させ、転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、プログラムである。
本発明の実施形態によれば、モーションの転写精度を向上できるモーション生成装置、モーション生成方法、及びプログラムを提供できる。
本発明の実施形態のモーション生成システムの一例を示す図である。 キャラクタのスケルトンの一例を示す図である。 転写元のスケルトンモデルのモーションの画像と、転写後のスケルトンモデルのモーションの画像とを示す図である。 本発明の実施形態のモーション生成装置の一例を示すブロック図である。 モーション・体型情報DBの一例を示す図である。 モーション情報DBの一例を示す図である。 体型情報DBの一例を示す図である。 本発明の実施形態のモーション生成システムの動作の例1を示すフローチャートである。 本発明の実施形態のモーション生成システムの動作の例2を示すフローチャートである。 本発明の実施形態のモーション生成システムの動作の例3を示すフローチャートである。 本発明の実施形態の変形例のモーション生成システムの一例を示す図である。 本発明の実施形態の変形例の学習装置の一例を示すブロック図である。 本発明の実施形態の変形例の生成装置の一例を示すブロック図である。
次に、本実施形態のモーション生成装置、モーション生成方法、及びプログラムを、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
(実施形態)
(モーション生成システム)
本発明の実施形態のモーション生成システムを、図面を参照して説明する。
図1は、本発明の実施形態のモーション生成システムの一例を示す図である。本実施形態のモーション生成システム1は、端末装置10と、モーション生成装置100とを含む。これらの装置は、ネットワーク50を介して互いに接続される。ネットワーク50は、例えば、無線基地局、Wi−Fiアクセスポイント、通信回線、プロバイダ、インターネットなどを含む。なお、ネットワーク50は、一部にローカルなネットワークを含んでもよい。
端末装置10は、ユーザによって使用される装置である。端末装置10は、例えば、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータなどの装置である。端末装置10は、転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報(以下「訓練情報」という)を、モーション生成装置100に複数送信する。以下、複数の訓練情報を、訓練情報集合という場合もある。
ここで、転写元のスケルトンモデルを示す情報には、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とが含まれる。転写後のスケルトンモデルを示す情報には、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とが含まれる。
本実施形態では、スケルトン(骨格構造)で、キャラクタの動きが表される。
図2は、キャラクタのスケルトンの一例を示す図である。図2に示されるように、キャラクタのスケルトンは、丸で示される複数の関節(ノード)と、線で示される複数の骨(ボーン)とを含む。複数のノードのうち、腰ノードnpがルート(ルートノード)とされる。
複数のノードの各々は、局所パラメータを有する。局所パラメータは、互いに直接接続された2ノードのうち、親ノードが定義する局所座標系を基準として、子のノードが定義する局所座標系のパラメータ(回転量と平行移動量)である。フォワードキネマティクスは、各ノードの局所座標系のパラメータをルートノードから順に累積することで、大域的な(ワールド座標の)回転量や平行移動量を求める計算をいう。局所座標系の一例は、3次元回転量、平行移動量(x軸方向平行移動量、y軸方向平行移動量、z軸方向平行移動量)である。3次元回転量は、オイラー角、つまりx軸と、y軸と、z軸との各軸まわりの回転角度で表現される。本実施形態では、複数のノードの各々が、3次元回転量を示す情報と、平行移動量を示す情報とを有する場合について説明を続ける。
図3は、転写元のスケルトンモデルのモーションの画像と、転写後のスケルトンモデルのモーションの画像とを示す図である。図3には、転写元と転写後のそれぞれについて、複数フレーム(100フレーム、130フレーム、220フレーム、230フレーム、240フレーム)のスケルトンのスクリーンショットを並べた画像が示される。
転写元のスケルトンモデルのモーションを示す情報は、転写元のスケルトンモデルのモーションを定義する情報と、転写元のスケルトンモデルの体型を定義する情報とが含まれる。転写元のスケルトンモデルの一例は、役者であり、モーションの一例は、ダンスをしているときの動きである。転写元のスケルトンモデルのモーションを定義する情報は、その転写元のスケルトンモデルに含まれる複数のノードの各々に関する情報を含む。具体的には、複数のノードの各々に関する情報は、3次元回転量と、平行移動量とである。複数のノードの各々に関する情報は、転写元のスケルトンモデルのモーションをモーションキャプチャすることによって得られる。
同様に、転写後のスケルトンモデルのモーションを示す情報は、転写後のスケルトンモデルのモーションを定義する情報と、転写後のスケルトンモデルの体型を定義する情報とが含まれる。転写後のスケルトンモデルの一例は、CGキャラクタである。モーションの一例は、ダンスをしているときの動きであり、転写元のスケルトンモデルのモーションで、つま先と足裏とのいずれか一方又は両方が接地しているタイミングでは、転写後のスケルトンモデルのモーションでもつま先と足裏とのいずれか一方又は両方が接地している状態のモーションを含む。具体的には、転写後のスケルトンモデルの一例は、両足について、つま先と足裏とのいずれか一方又は両方が接地しているタイミングでは、転写後のスケルトンモデルのモーションでもつま先と足裏とのいずれか一方又は両方が接地している状態のモーションを含む。つまり、転写後のスケルトンモデルの一例は、両足について、つま先と足裏とのいずれか一方又は両方が接地していないタイミングでは、転写後のスケルトンモデルのモーションでもつま先と足裏とのいずれか一方又は両方が接地していない状態のモーションを含む。また、転写後のスケルトンモデルの一例は、右足について、つま先と足裏とのいずれか一方又は両方が接地しているタイミングでは、転写後のスケルトンモデルのモーションでもつま先と足裏とのいずれか一方又は両方が接地している状態のモーションを含む。また、転写後のスケルトンモデルの一例は、左足について、つま先と足裏とのいずれか一方又は両方が接地しているタイミングでは、転写後のスケルトンモデルのモーションでもつま先と足裏とのいずれか一方又は両方が接地している状態のモーションを含む。
転写後のスケルトンモデルの体型におけるモーションを定義する情報は、その転写後のスケルトンモデルに含まれる複数のノードの各々に関する情報を含む。具体的には、複数のノードの各々に関する情報は、3次元回転量と、平行移動量とである。複数のノードの各々に関する情報は、転写後のスケルトンモデルのモーションをモーションキャプチャすることによって得られる。
転写元のスケルトンモデルの体型を示す情報は、転写元のスケルトンモデルの体型を定義する情報が含まれる。転写元のスケルトンモデルの体型を定義する情報は、その転写元のスケルトンモデルに含まれる各ボーンの長さ(ボーン長)を示す情報を含む。各ボーン長を示す情報は、転写元のスケルトンモデルのモーションが適用される対象をモーションキャプチャすることによって得られる。
同様に、転写後のスケルトンモデルの体型を示す情報は、転写後のスケルトンモデルの体型を定義する情報が含まれる。転写後のスケルトンモデルの体型を定義する情報は、その転写後のスケルトンモデルに含まれる各ボーンのボーン長を示す情報を含む。各ボーン長を示す情報は、転写後のスケルトンモデルをアーティストが手作業で作成することによって得られる。
また、端末装置10は、転写元のスケルトンモデルを示す情報(転写元のスケルトンモデルのモーションを示す情報、転写元のスケルトンモデルの体型を示す情報)と、転写後のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルのモーションを示す情報を要求ための情報(以下「モーション情報要求」という)を、モーション生成装置100に送信する。
また、端末装置10は、モーション生成装置100に送信したモーション情報要求に対して、モーション生成装置100が送信し、且つ転写後のスケルトンモデルのモーションを示す情報を含むモーション情報応答を受信し、受信したモーション情報応答を処理することによって、転写後のスケルトンモデルのモーションを示す情報を取得する。
モーション生成装置100は、端末装置10が送信した訓練情報を複数受信し、受信した複数の訓練情報の各々に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を取得する。モーション生成装置100は、取得した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けて記憶する。
モーション生成装置100は、記憶した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた複数の情報に基づいて、転写元のスケルトンモデルのモーションを、転写元のスケルトンモデルの体型とは異なる体型の転写後のスケルトンモデルに転写するための教師あり学習を行う。
モーション生成装置100は、記憶した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を複数取得し、取得した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた複数の情報を受け付ける。
モーション生成装置100は、受け付けた転写元のスケルトンモデルを示す複数の情報の各々に含まれる転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを、教師あり学習アルゴリズムに適用できるデータ形式に変換する。同様に、モーション生成装置100は、受け付けた転写後のスケルトンモデルを示す複数の情報の各々に含まれる転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを、教師あり学習アルゴリズムに適用できるデータ形式に変換する。
モーション生成装置100は、転写元のスケルトンモデルのモーションを示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報である2階テンソルXを生成する。同様に、モーション生成装置100は、転写後のスケルトンモデルのモーションを示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写後のスケルトンモデルの体型を示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写後のスケルトンモデルの集約情報である2階テンソルYを生成する。
モーション生成装置100は、転写元のスケルトンモデルの集約情報である2階テンソルXに対して非線形変換を適用することによって、符号化する。テンソルの符号化には、畳み込みニューラルネットワーク(CNN: Convolutional Neural Network)、再帰型ニューラルネットワーク(RNN: Recurrent Neural Networks)などを適用できる。モーション生成装置100は、最初の符号化には、符号化器のモデルパラメータWとして正規乱数などで初期化した値を利用する。モデルパラメータWは、ネットワークモデルのパラメータである。転写元のスケルトンモデルの集約情報である2階テンソルXを符号化した結果を、転写元のスケルトンモデルの集約情報を符号化した結果である2階テンソルXaと記載する。
モーション生成装置100は、転写元のスケルトンモデルの集約情報である2階テンソルXを符号化した結果である2階テンソルXaから、転写後のスケルトンモデルの集約情報を推定する。その推定には、CNN、RNNなどを適用できる。モーション生成装置100は、転写後のスケルトンモデルの集約情報の推定結果である2階テンソルYsと、転写後のスケルトンモデルの集約情報である2階テンソルYとを比較する。モーション生成装置100は、比較結果に基づいて、モデルパラメータWを更新し、モデルパラメータWの更新結果を記憶する。モーション生成装置100は、最初以降の繰り返しの学習では、更新したモデルパラメータWを利用する。
モーション生成装置100は、記憶した転写元のスケルトンモデルを示す複数の情報の各々に基づいて、転写元のスケルトンモデルの集約情報である2階テンソルXを生成する。モーション生成装置100は、生成した転写元のスケルトンモデルの集約情報である2階テンソルXに基づいて、複数の訓練情報の各々について、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを生成する。ここで、Nは、転写元のスケルトンモデルについてのノード数×回転量などの次元として計算される値であり、Tはフレーム数である。ここで、フレーム数は、動画において、単位時間あたりに処理させる静止画像数、コマ数である。
モーション生成装置100は、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXの各々を符号化することによって、転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaを生成する。ここで、Naは、転写元のスケルトンモデルの集約情報を符号化した結果についてのノード数×回転量などの次元として計算される値であり、Na≦Nである。Ta転写元のスケルトンモデルの集約情報を符号化した結果についてのフレーム数であり、Ta≦Tである。モーション生成装置100は、生成した転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaの各々について、転写後のスケルトンモデルの集約情報の推定結果Ysを生成する。
モーション生成装置100は、記憶した転写後のスケルトンモデルを示す複数の情報の各々に基づいて、転写後のスケルトンモデルの集約情報である2階テンソルYを生成する。モーション生成装置100は、生成した転写後のスケルトンモデルの集約情報である2階テンソルYに基づいて、複数の訓練情報の各々について、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYを生成する。
モーション生成装置100は、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを、誤差関数によって比較する。ここで、Mは、転写後のスケルトンモデルについてのノード数×回転量などの次元として計算される値である。モーション生成装置100は、誤差関数に基づいて導出されるモデルパラメータWを記憶する。
モーション生成装置100は、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとの誤差関数が収束している場合には処理を終了し、収束していない場合には継続する。
また、モーション生成装置100は、端末装置10が送信したモーション情報要求を受信し、受信したモーション情報要求に含まれる転写元のスケルトンモデルを示す情報(転写元のスケルトンモデルのモーションを示す情報、転写元のスケルトンモデルの体型を示す情報)と、転写後のスケルトンモデルの体型を示す情報とを取得する。
モーション生成装置100は、取得した転写元のスケルトンモデルを示す情報に含まれる転写元のスケルトンモデルのモーションを示す情報と転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを学習済モデルの入力として処理できるデータ形式に変換する。
モーション生成装置100は、転写元のスケルトンモデルのモーションを示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを生成する。
モーション生成装置100は、記憶したモデルパラメータWを取得し、取得したモデルパラメータWに基づいて、CNN、RNNなどのモデルを構築する。モーション生成装置100は、構築したモデルに基づいて、生成した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを符号化する。
さらに、モーション生成装置100は、構築したモデルに基づいて、転写元のスケルトンモデルの集約情報を符号化した結果である2階テンソルXaから、転写後のスケルトンモデルの集約情報の推定結果である2階テンソルYsを生成する。
モーション生成装置100は、転写後のスケルトンモデルの集約情報の推定結果である2階テンソルYsに基づいて、回転量、平行移動量などの転写後のスケルトンモデルのモーションを示す情報に含まれる情報を取得し、取得した情報を含むモーション情報応答を作成し、作成したモーション情報応答を、端末装置10に送信する。
(モーション生成装置100)
図4は、本発明の実施形態のモーション生成装置の一例を示すブロック図である。
モーション生成装置100は、通信部105と、記憶部110と、操作部120と、情報処理部130と、表示部140と、各構成要素を図4に示されているように電気的に接続するためのアドレスバスやデータバスなどのバスライン150とを備える。
通信部105は、通信モジュールによって実現される。通信部105は、ネットワーク50を介して、端末装置10などの外部の通信装置と通信する。具体的には、通信部105は、端末装置10が送信した訓練情報を複数受信し、受信した複数の訓練情報の各々を、情報処理部130へ出力する。
また、通信部105は、端末装置10が送信したモーション情報要求を受信し、受信したモーション情報要求を、情報処理部130へ出力する。また、通信部105は、情報処理部130が出力したモーション情報応答を取得し、取得したモーション情報応答を、端末装置10へ送信する。
記憶部110は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部110には、情報処理部130により実行されるプログラム111と、アプリ112と、モーション・体型情報DB113と、モーション情報DB114と、体型情報DB115と、モデルパラメータ116とが記憶される。
アプリ112は、モーション生成装置100に、端末装置10が送信した訓練情報を受信させる。アプリ112は、モーション生成装置100に、受信させた訓練情報に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を取得させ、取得させた転写元のスケルトンモデルを示す情報に含まれる転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルを示す情報に含まれる転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を、記憶部110のモーション・体型情報DB113に記憶させる。
アプリ112は、モーション生成装置100に、記憶部110のモーション・体型情報DB113に記憶させた転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数取得させ、取得させた転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数受け付けさせる。アプリ112は、モーション生成装置100に、受け付けさせた転写元のスケルトンモデルのモーションを示す複数の情報の各々と、転写元のスケルトンモデルの体型を示す複数の情報の各々と、転写後のスケルトンモデルのモーションを示す複数の情報の各々と、転写後のスケルトンモデルの体型を示す複数の情報との各々とを、教師あり学習アルゴリズムに適用できるデータ形式に変換させる。
アプリ112は、モーション生成装置100に、転写元のスケルトンモデルのモーションを示す複数の情報の各々を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す複数の情報の各々を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報であるN×TのテンソルXを生成させる。アプリ112は、モーション生成装置100に、転写後のスケルトンモデルのモーションを示す複数の情報の各々を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写後のスケルトンモデルの体型を示す複数の情報の各々を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写後のスケルトンモデルの集約情報であるM×TのテンソルYを生成させる。
アプリ112は、モーション生成装置100に、生成させた転写元のスケルトンモデルの集約情報であるN×TのテンソルXを符号化することによって、転写元のスケルトンモデルの集約情報を符号化した結果であるNa×TaのテンソルXaに変換させる。ここで、アプリ112は、最初の符号化には、符号化器のモデルパラメータWとして正規乱数などで初期化した値を利用させる。アプリ112は、モーション生成装置100に、転写元のスケルトンモデルの集約情報を符号化した結果であるNa×TaのテンソルXaに基づいて、転写後のスケルトンモデルの集約情報の推定結果であるM×TのテンソルYsを生成させる。
アプリ112は、モーション生成装置100に、転写後のスケルトンモデルの集約情報の推定結果であるM×TのテンソルYsと、転写後のスケルトンモデルの集約情報であるM×TのテンソルYとを、誤差関数を使用して比較させる。アプリ112は、モーション生成装置100に、誤差関数に基づいて導出されるモデルパラメータWを記憶させる。アプリ112は、モーション生成装置100に、転写後のスケルトンモデルの集約情報の推定結果であるM×TのテンソルYsと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとの誤差が収束している場合には処理を終了させ、収束していない場合には継続させる。アプリ112は、モーション生成装置100に、導出させたモデルパラメータWで更新させ、モデルパラメータWの更新結果を記憶させる。アプリ112は、モーション生成装置100に、最初以降の繰り返しの学習では、更新したモデルパラメータWを利用して、符号化させる。
アプリ112は、モーション生成装置100に、端末装置10が送信したモーション情報要求を受信させる。アプリ112は、モーション生成装置100に、受信させたモーション情報要求に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルの体型を示す情報とを取得させる。アプリ112は、モーション生成装置100に、取得させた転写元のスケルトンモデルを示す情報に含まれる転写元のスケルトンモデルのモーションを示す情報と転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを学習済モデルの入力として処理できるデータ形式に変換させる。アプリ112は、モーション生成装置100に、転写元のスケルトンモデルのモーションを示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを生成させる。
アプリ112は、モーション生成装置100に、記憶させたモデルパラメータWを取得させ、取得させたモデルパラメータWに基づいて、CNN、RNNなどのモデルを構築させる。アプリ112は、モーション生成装置100に、構築させたモデルに基づいて、生成させた転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを符号化させる。アプリ112は、モーション生成装置100に、構築させたモデルに基づいて、転写元のスケルトンモデルの集約情報を符号化させた結果であるNa×Taの2階テンソルXaから、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsを生成させる。アプリ112は、モーション生成装置100に、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsに基づいて、回転量、平行移動量などの転写後のスケルトンモデルのモーションを示す情報に含まれる情報を取得させる。アプリ112は、モーション生成装置100に、取得させた情報を含むモーション情報応答を作成させ、作成させたモーション情報応答を、端末装置10に送信させる。
(モーション・体型情報DB113)
図5は、モーション・体型情報DBの一例を示す図である。
モーション・体型情報DB113は、IDと、転写元のスケルトンモデルのモーションを示す情報(転写元モーション情報)と、転写元のスケルトンモデルの体型を示す情報(転写元体型情報)と、転写後のスケルトンモデルのモーションを示す情報(転写後モーション情報)と、転写後のスケルトンモデルの体型を示す情報(以下「転写後体型情報」という)とを関連付けて記憶する。IDの一例は、訓練情報の識別情報である。ただし、IDの単位には特に制約がないものとする。
図5に示される例では、ID「1」と、転写元モーション情報「モーション情報1」と、転写元体型情報「体型情報1」と、転写後モーション情報「モーション情報2」と、転写後体型情報「体型情報2」とが関連付けて記憶される。また、ID「2」と、転写元モーション情報「モーション情報3」と、転写元体型情報「体型情報3」と、転写後モーション情報「モーション情報4」と、転写後体型情報「体型情報4」とが関連付けて記憶される。
(モーション情報DB114)
図6は、モーション情報DBの一例を示す図である。モーション情報DB114は、モーション・体型情報DB113に含まれる転写元モーション情報と、転写後モーション情報との詳細が記憶される。具体的には、モーション情報DB114は、モーション・体型情報DB113に含まれるモーション情報1〜モーション情報4の各々の詳細を記憶する。転写元モーション情報と、転写後モーション情報とは、同じフレーム数で、かつ、各フレームで対応が取れている。
前述したように、転写元モーション情報は、転写元のスケルトンモデルのモーションを定義する情報が含まれる。転写元のスケルトンモデルのモーションを定義する情報は、その転写元のスケルトンモデルに含まれる複数のノードの各々に関する情報を含む。具体的には、複数のノードの各々に関する情報は、3次元回転量と、平行移動量とである。
同様に、転写後モーション情報は、転写後のスケルトンモデルのモーションを定義する情報が含まれる。転写後のスケルトンモデルのモーションを定義する情報は、その転写後のスケルトンモデルに含まれる複数のノードの各々に関する情報を含む。具体的には、複数のノードの各々に関する情報は、3次元回転量と、平行移動量とである。
モーション情報DB114は、各ノードについて、フレーム毎に、x軸と、y軸と、z軸との各々のオイラー角の回転量と平行移動量とを保持する。具体的には、フレーム「t=0」と、ノードAのx回転量「30」と、ノードAのy回転量「20」と、ノードAのz回転量「34」と、ノードAのx平行移動量「1.3」と、ノードAのy平行移動量「5.1」と、ノードAのz平行移動量「1.1」と、ノードBのx回転量「3.1」と、・・・が記憶されている。また、フレーム「t=1」と、ノードAのx回転量「40」と、ノードAのy回転量「123」と、ノードAのz回転量「10」と、ノードAのx平行移動量「1.3」と、ノードAのy平行移動量「5.1」と、ノードAのz平行移動量「1.1」と、ノードBのx回転量「3.1」と、・・・が記憶されている。ここで、フレームtの数Tは、任意の正の整数の値をとることができる。図6には、一例として、モーション情報1の詳細が示されるが、実際には、モーション情報2〜モーション情報4の詳細も含まれる。
(体型情報DB115)
図7は、体型情報DBの一例を示す図である。体型情報DB115は、モーション・体型情報DB113に含まれる転写元体型情報と、転写後体型情報との詳細を示す。具体的には、体型情報DB115は、モーション・体型情報DB113に含まれる体型情報1〜体型情報4の各々の詳細を記憶する。転写元体型情報と、転写後体型情報とは、同じフレーム数で、かつ、各フレームで対応が取れている。前述したように、転写元体型情報は、転写元のスケルトンモデルの体型を定義する情報が含まれる。転写元のスケルトンモデルの体型を定義する情報は、その転写元のスケルトンモデルに含まれる各ボーンのボーン長を示す情報を含む。同様に、転写後体型情報は、転写後のスケルトンモデルの体型を定義する情報が含まれる。転写後のスケルトンモデルの体型を定義する情報は、その転写後のスケルトンモデルに含まれる各ボーンのボーン長を示す情報を含む。
体型情報DB115は、各ボーンのボーン長を保持する。具体的には、フレーム「t=0」と、ノードAを親に持つボーンのボーン長「2.4」と、ノードBを親に持つボーンのボーン長「1.2」とが関連付けられ、フレーム「t=1」と、ノードAを親に持つボーンのボーン長「2.4」と、ノードBを親に持つボーンのボーン長「1.3」とが関連付けられている。図7には、一例として、体型情報1の詳細が示されるが、実際には、体型情報2〜体型情報4の詳細も含まれる。
パラメータ116は、モデルパラメータWを記憶する。図4に戻り、説明を続ける。
操作部120は、例えば、タッチパネルなどによって構成され、表示部140に表示される画面に対するタッチ操作を検出し、タッチ操作の検出結果を、情報処理部130へ出力する。
表示部140は、例えば、タッチパネルによって構成され、モーション生成装置100が受信した訓練情報を処理する操作を受け付ける画面を表示する。また、表示部140は、モーション生成装置100が受信したモーション情報要求を処理する操作を受け付ける画面を表示する。
情報処理部130の全部または一部は、例えば、CPU(Central Processing Unit)などのプロセッサが記憶部110に格納されたプログラム111と、アプリ112とを実行することにより実現される機能部(以下、ソフトウェア機能部と称する)である。なお、情報処理部130の全部または一部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。情報処理部130は、例えば、受付部131と、学習部133と、生成部136とを備える。
受付部131は、通信部105が出力した訓練情報を複数取得し、取得した複数の訓練情報の各々に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを取得する。受付部131は、取得した転写元のスケルトンモデルを示す情報に含まれる転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルを示す情報に含まれる転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を、記憶部110のモーション・体型情報DB113に記憶する。
受付部131は、前処理部132を含む。受付部131は、記憶部110のモーション・体型情報DB113に記憶した転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数取得し、取得した転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数受け付ける。
受付部131は、受け付けた転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた複数の情報を、前処理部132に出力する。
また、受付部131は、通信部105が出力したモーション情報要求を取得し、取得したモーション情報要求に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を、前処理部132に出力する。
前処理部132は、受付部131が出力した転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数取得し、取得した複数の関連付けた情報の各々について、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報との各々を、教師あり学習アルゴリズムに適用できるデータ形式に変換する。
前処理部132は、転写元のスケルトンモデルのモーションを示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを生成する。同様に、モーション生成装置100は、転写後のスケルトンモデルのモーションを示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写後のスケルトンモデルの体型を示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYを生成する。
前処理部132は、生成した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを、学習部133に出力する。
具体的には、前処理部132は、転写元のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルのモーションを示す情報との各々に含まれる一又は複数のノードの各々の回転量(x軸回転量、y軸回転量、z軸回転量)を示すオイラー角から四元数を導出する。また、前処理部132は、転写元のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルのモーションを示す情報との各々に含まれる一又は複数のノードの各々の平行移動量(x軸平行移動量、y軸平行移動量、z軸平行移動量)について、モーション情報DB114に含まれる平行移動量の全てに対して平均が零で、且つ標準偏差が1となるように正規化してもよい。
また、前処理部132は、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報との各々に含まれるボーンのボーン長に関して、転写前後のスケルトンモデルの体型の相対的な違いを学習させるために、転写元のスケルトンモデルのボーンのボーン長と、転写後のスケルトンモデルのボーンのボーン長との比率(以下「ボーン長比率」という)を導出し、導出したボーン長比率を示す情報を、新たな体型を示す情報とする。この場合、前処理部132は、例えば、転写元のスケルトンモデルのボーン長を、転写後のスケルトンモデルのボーン長で除算することによって、ボーン長比率を導出する。前処理部132は、導出したボーン長比率の全てに対して平均が零で、且つ標準偏差が1となるように正規化を実施してもよい。
前処理部132は、導出した四元数と、ボーン長比率とを集約することによって、モーション・体型情報DB113に含まれる複数のIDの各々に対して、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを生成する。前処理部132は、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを、学習部133に出力する。
また、前処理部132は、受付部131が出力した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を取得し、取得した転写元のスケルトンモデルを示す情報に含まれる転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを、学習済モデルの入力として処理できるデータ形式に変換する。ここで、転写元のスケルトンモデルのモーションを示す情報に含まれるノード数と、転写元のスケルトンモデルの体型を示す情報に含まれるノード数と、転写後のスケルトンモデルの体型を示す情報に含まれるノード数とは、相互に一致している。
前処理部132は、転写元のスケルトンモデルのモーションを示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを生成する。前処理部132は、生成した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを、生成部136に出力する。具体的には、前処理部132は、転写元のスケルトンモデルのモーションを示す情報に含まれる一又は複数のノードの各々の回転量(x軸回転量、y軸回転量、z軸回転量)を示すオイラー角から四元数を導出する。前処理部132は、転写元のスケルトンモデルのモーションを示す情報に含まれる一又は複数のノードの各々の平行移動量(x軸平行移動量、y軸平行移動量、z軸平行移動量)について、平均が零で、且つ標準偏差が1となるように正規化を実施してもよい。
また、前処理部132は、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報との各々に含まれるボーンのボーン長に関して、ボーン長比率を導出し、導出したボーン長比率を示す情報を、新たな体型を示す情報とする。この場合、前処理部132は、例えば、転写元のスケルトンモデルのボーンのボーン長を、転写後のスケルトンモデルのボーンのボーン長で除算することによって、ボーン長比率を導出する。前処理部132は、導出したボーン長比率の全てに対して平均が零で、且つ標準偏差が1となるように正規化を実施してもよい。前処理部132は、転写元のスケルトンモデルのモーションを示す情報から導出された四元数と、転写元のスケルトンモデルの体型を示す情報と転写後のスケルトンモデルの体型を示す情報とから導出されたボーン長比率とを集約することによって、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを生成する。前処理部132は、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを、生成部136に出力する。
学習部133は、前処理部132が出力した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXと、転写後のスケルトンモデルの集約情報であるM×Tの2階のテンソルYとを取得し、取得した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを入力情報として、その入力情報に関連付けられる転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYを教師データとして、教師あり学習する。学習部133は、符号化学習部134と、生成学習部135とを有する。
符号化学習部134は、符号化器のモデルパラメータと、生成器のモデルパラメータとを初期化する。符号化学習部134は、前処理部132が出力した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを取得し、取得した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXに対して非線形変換を適用することによって、符号化する。テンソルの符号化には、CNN、RNNなどを適用できる。符号化学習部134は、最初の符号化には、符号化器のモデルパラメータWとして正規乱数などで初期化した値を利用する。符号化学習部134は、最初以降の繰り返しの学習では、更新したモデルパラメータWを利用して、符号化する。
符号化学習部134は、符号化することによって得られた転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを、生成学習部135に出力する。
生成学習部135は、符号化学習部134が出力した転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを取得する。生成学習部135は、取得した転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaに基づいて、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsを生成し、生成した転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsと、取得した転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを、誤差関数によって比較する。生成学習部135は、モデルパラメータWを記憶する。生成学習部135は、誤差関数が収束している場合には処理を終了し、誤差関数が収束していない場合には、符号化学習部134との間で処理を継続する。
具体的には、符号化学習部134は、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXと、転写後のスケルトンモデルの集約情報であるM×Tの2階のテンソルYとを取得する。符号化学習部134は、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXに対して非線形変換を適用することによって、符号化する。テンソルの符号化には、CNN、RNNなどを適用できる。符号化学習部134は、時間軸方向に対する一次元の畳み込みを、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXに適用することで、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを符号化する。符号化学習部134は、最初の符号化には、符号化器のモデルパラメータWとして正規乱数などで初期化した値を利用する。符号化学習部134は、最初以降の繰り返しの学習では、更新したモデルパラメータWを利用して、符号化する。符号化学習部134は、符号化することによって得られた転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを、生成学習部135に出力する。
生成学習部135は、符号化学習部134が出力した転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを取得する。生成学習部135は、取得した転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaから、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsを生成する。生成学習部135は、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsの推定に、CNN、RNNなどを利用できる。
生成学習部135は、生成した転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsと、取得した転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを、誤差関数に基づいて比較する。誤差関数の一例は、cycle consistency loss、smoothing lossである。本実施形態では、誤差関数として、前述したcycle consistency lossと、smoothing lossとに加え、式(1)に示される誤差関数Erecを導入する。
Erec=ΣD|Ya−Ys|1 (1)
式(1)において、Dは訓練情報の集合を表し、|・|1はL1ノルムを表す。
生成学習部135は、誤差関数Erecと、誤差関数Erec以外の誤差関数Eotherとを組み合わせた誤差関数E(=Erec+Eother)に基づいて、モデルパラメータWを式(2)に基づいて、更新する。
Figure 2020113116
式(2)において、αは学習率であり、0.01などの定数である。パラメータ更新のアルゴリズムは、Adamなどの任意の技術を用いることができる。生成学習部135は、モデルパラメータWを示す情報を、記憶部110のモデルパラメータ116に記憶する。
また、生成部136は、前処理部132が出力した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを取得する。生成部136は、符号化部137と、スケルトンモデル生成部138と、後処理部139とを有する。生成部136は、取得した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを、符号化部137に出力する。
符号化部137は、生成部136が出力した転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを取得し、記憶部110のモデルパラメータ116に記憶したモデルパラメータWを取得する。符号化部137は、取得したモデルパラメータWに基づいて、CNN、RNNなどのモデルを構築する。符号化部137は、構築したモデルに基づいて、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを符号化する。符号化部137は、符号化することによって得られる転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaを、スケルトンモデル生成部138に出力する。
スケルトンモデル生成部138は、符号化部137が出力した転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaを取得する。
スケルトンモデル生成部138は、構築したモデルと、取得した転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaとに基づいて、転写後のスケルトンモデルの集約情報の推定結果Ysを生成する。
スケルトンモデル生成部138は、生成した転写後のスケルトンモデルの集約情報の推定結果Ysを、後処理部139に出力する。
後処理部139は、スケルトンモデル生成部138が出力した転写後のスケルトンモデルの集約情報の推定結果Ysを取得し、取得した転写後のスケルトンモデルの集約情報の推定結果Ysから、一又は複数のノードの各々の回転量(x軸回転量、y軸回転量、z軸回転量)、一又は複数のノードの各々の平行移動量(x軸平行移動量、y軸平行移動量、z軸平行移動量)などのアニメーションに必要な情報を取得する。後処理部139は、取得したアニメーションに必要な情報を、FBX(Filmbox)などのモーション用のファイル形式に変換し、モーション用のファイル形式に変換したアニメーションに必要な情報を含むモーション情報応答を作成する。後処理部139は、作成したモーション情報応答を、通信部105に出力する。
(モーション生成システムの動作の例1)
図8は、本発明の実施形態のモーション生成システムの動作の例1を示すフローチャートである。図8は、本発明の実施形態のモーション生成システム1の全体的な動作の一例を示す。
(ステップS100)
モーション生成装置100は、複数の訓練情報の各々に含まれる転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを取得する。モーション生成装置100は、取得した転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とに基づいて、転写元のスケルトンモデルの集約情報を生成する。モーション生成装置100は、取得した転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とに基づいて、転写後のスケルトンモデルの集約情報を生成する。
モーション生成装置100は、転写元のスケルトンモデルの集約情報に対して非線形変換を適用することによって符号化する。
モーション生成装置100は、転写元のスケルトンモデルの集約情報を符号化した結果に基づいて、転写後のスケルトンモデルの集約情報の推定結果を生成し、生成した転写後のスケルトンモデルの集約情報の推定結果と、転写後のスケルトンモデルの集約情報とを、誤差関数によって比較する。
モーション生成装置100は、モデルパラメータWを記憶する。モーション生成装置100は、誤差関数が収束している場合には処理を終了し、誤差関数が収束していない場合には、処理を継続する。
(ステップS102)
モーション生成装置100は、端末装置10が送信したモーション情報要求を受信し、受信したモーション情報要求に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルの体型を示す情報とを取得する。
(ステップS104)
モーション生成装置100は、取得した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルの体型を示す情報とに基づいて、転写元のスケルトンモデルの集約情報を生成する。
モーション生成装置100は、モデルパラメータ116に記憶したモデルパラメータWを取得し、取得したモデルパラメータWに基づいて、CNN、RNNなどのモデルを構築する。モーション生成装置100は、構築したモデルに基づいて、生成した転写元のスケルトンモデルの集約情報を符号化する。
モーション生成装置100は、構築したモデルに基づいて、転写元のスケルトンモデルの集約情報を符号化した結果から、転写後のスケルトンモデルの集約情報の推定結果を生成する。
(ステップS106)
モーション生成装置100は、転写後のスケルトンモデルの集約情報の推定結果に基づいて、回転量、平行移動量などの転写後のスケルトンモデルのモーションを示す情報に含まれる情報を取得し、取得した情報を含むモーション情報応答を作成し、作成したモーション情報応答を、端末装置10に送信する。
(モーション生成システムの動作の例2)
図9は、本発明の実施形態のモーション生成システムの動作の例2を示すフローチャートである。図9は、本発明の実施形態のモーション生成装置100の全体的な動作の一例を示す。
図9は、記憶部110のモーション・体型情報DB113に、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とが関連付けて複数記憶された後の動作を示す。
(ステップS200)
モーション生成装置100の受付部131は、記憶部110のモーション・体型情報DB113に記憶した転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数取得し、取得した転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数受け付ける。受付部131は、受け付けた転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた複数の情報を、前処理部132に出力する。
前処理部132は、受付部131が出力した転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数取得し、取得した複数の関連付けた情報の各々について、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報との各々を、教師あり学習アルゴリズムに適用できるデータ形式に変換する。
前処理部132は、転写元のスケルトンモデルのモーションを示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報を生成する。同様に、前処理部132は、転写後のスケルトンモデルのモーションを示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写後のスケルトンモデルの体型を示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写後のスケルトンモデルの集約情報を生成する。前処理部132は、転写前のスケルトンモデルの集約情報と、転写後のスケルトンモデルの集約情報とを、符号化学習部134に出力する。
(ステップS202)
符号化学習部134は、符号化器と生成器とのモデルパラメータを初期化する。
(ステップS204)
符号化学習部134は、前処理部132が出力した転写元のスケルトンモデルの集約情報を取得し、取得した転写元のスケルトンモデルの集約情報に対して非線形変換を適用することによって、符号化する。
符号化学習部134は、符号化することによって得られた転写元のスケルトンモデルの集約情報を符号化した結果と、転写後のスケルトンモデルの集約情報とを、生成学習部135に出力する。
(ステップS206)
生成学習部135は、符号化学習部134が出力した転写元のスケルトンモデルの集約情報を符号化した結果と、転写後のスケルトンモデルの集約情報とを取得する。生成学習部135は、取得した転写元のスケルトンモデルの集約情報を符号化した結果から、転写後のスケルトンモデルの集約情報の推定結果を生成する。
(ステップS208)
生成学習部135は、生成した転写後のスケルトンモデルの集約情報の推定結果と、取得した転写後のスケルトンモデルの集約情報とを、誤差関数に基づいて比較する。生成学習部135は、誤差関数に基づいて、モデルパラメータWを更新する。
(ステップS210)
生成学習部135は、誤差関数が収束しているか否かを判定する。生成学習部135は、誤差関数が収束している場合には処理を終了し、誤差関数が収束していない場合にはステップS204に移行する。
(モーション生成システムの動作の例3)
図10は、本発明の実施形態のモーション生成システムの動作の例3を示すフローチャートである。図10は、本発明の実施形態のモーション生成装置100の全体的な動作の一例を示す。
図10は、記憶部110のモデルパラメータ116に、モデルパラメータWが記憶された後の動作を示す。
(ステップS300)
端末装置10は、モーション情報要求を送信する。モーション生成装置100の通信部105は、端末装置10が送信したモーション情報要求を受信し、受信したモーション情報要求を、情報処理部130に出力する。モーション生成装置100の受付部131は、通信部105が出力したモーション情報要求を取得し、取得したモーション情報要求に含まれる転写元のスケルトンモデルを示す情報(転写元のスケルトンモデルのモーションを示す情報、転写元のスケルトンモデルの体型を示す情報)と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を、前処理部132に出力する。
前処理部132は、受付部131が出力した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を取得し、取得した転写元のスケルトンモデルを示す情報に含まれる転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを、学習済モデルの入力として処理できるデータ形式に変換する。前処理部132は、転写元のスケルトンモデルのモーションを示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報を生成する。前処理部132は、生成した転写元のスケルトンモデルの集約情報を、生成部136に出力する。
(ステップS302)
生成部136は、前処理部132が出力した転写元のスケルトンモデルの集約情報を取得し、取得した転写元のスケルトンモデルの集約情報を、符号化部137に出力する。
符号化部137は、生成部136が出力した転写元のスケルトンモデルの集約情報を取得し、記憶部110のモデルパラメータ116に記憶したモデルパラメータWを取得する。符号化部137は、取得したモデルパラメータWに基づいて、CNN、RNNなどのモデルを構築する。符号化部137は、構築したモデルに基づいて、転写元のスケルトンモデルの集約情報を符号化する。符号化部137は、符号化することによって得られる転写元のスケルトンモデルの集約情報を符号化した結果を、スケルトンモデル生成部138に出力する。
(ステップS304)
スケルトンモデル生成部138は、符号化部137が出力した転写元のスケルトンモデルの集約情報を符号化した結果を取得する。
スケルトンモデル生成部138は、構築したモデルと、転写元のスケルトンモデルの集約情報を符号化した結果とに基づいて、転写後のスケルトンモデルの集約情報の推定結果を生成する。
スケルトンモデル生成部138は、生成した転写後のスケルトンモデルの集約情報の推定結果を、後処理部139に出力する。
(ステップS306)
後処理部139は、スケルトンモデル生成部138が出力した転写後のスケルトンモデルの集約情報の推定結果を取得し、取得した転写後のスケルトンモデルの集約情報の推定結果から、一又は複数のノードの各々の回転量、一又は複数のノードの各々の平行移動量などのアニメーションに必要な情報を取得する。後処理部139は、取得したアニメーションに必要な情報を、FBXなどのモーション用のファイル形式に変換する。
後処理部139は、モーション用のファイル形式に変換したアニメーションに必要な情報を含み、端末装置10を宛先とするモーション情報応答を作成する。後処理部139は、作成したモーション情報応答を、通信部105に出力する。
通信部105は、後処理部139が出力したモーション情報応答を取得し、取得したモーション情報応答を送信する。
前述した実施形態では、3次元回転量が、オイラー角で表現される場合について説明したが、この限りでない。例えば、3次元回転量が、クォータニオンで表現されてもよいし、指数マップ、デュアルクォータニオン、回転行列や回転軸(x,y,z軸を表す3つの単位ベクトルで、実質的に回転行列と同じ)などで表現されてもよい。
前述した実施形態では、転写元のスケルトンモデルの一例が、役者である場合について説明したが、この例に限られない。例えば、モーションリターゲッティングという技術自体は、実世界の人間から人型キャラクタに転写するだけでなく、実世界の動物から動物キャラクタに転写してもよく、要するに適用対象は人間に限らない。
前述した実施形態では、複数のノードの各々に関する情報が、転写元のスケルトンモデルのモーションが適用される対象をモーションキャプチャすることによって得られる場合について説明したが、この例に限られない。例えば、複数のノードの各々に関する情報が、手作業で作成されてもよいし、あるいは、強化学習やシミュレーションによって機械的に生成されてもよい。 前述した実施形態では、モーション生成装置100が、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を、教師あり学習アルゴリズムに適用できるデータ形式に変換する場合に、オイラー角から四元数に変換する場合について説明したが、この限りでない。例えば、モーション生成装置100は、オイラー角をθとしたときのsinθ(正弦)と、cosθ(余弦)を計算し、計算した結果を新たな回転量の情報をしてもよい。
前述した実施形態では、2階テンソルを生成する場合について説明したが、この例に限られない。例えば、3階テンソルなどの任意のテンソルを生成してもよい。
前述した実施形態では、モデルパラメータWを記憶し、記憶したモデルパラメータWを使用して、NN、RNNなどのモデルを構築し、構築したモデルを使用して、端末装置10が送信したモーション情報要求に含まれる転写元のスケルトンモデルを示す情報(転写元のスケルトンモデルのモーションを示す情報、転写元のスケルトンモデルの体型を示す情報)と、転写後のスケルトンモデルの体形体型を示す情報とに基づいて、転写後のスケルトンモデルの集約情報の推定結果を生成する場合について説明したが、この例に限られない。例えば、転写後のスケルトンモデルの集約情報の推定結果を記憶し、記憶した転写後のスケルトンモデルの集約情報の推定結果を使用して、端末装置10が送信したモーション情報要求に含まれる転写元のスケルトンモデルを示す情報(転写元のスケルトンモデルのモーションを示す情報、転写元のスケルトンモデルの体型を示す情報)と、転写後のスケルトンモデルの体形体型を示す情報とに基づいて、転写後のスケルトンモデルの集約情報の推定結果を生成するようにしてもよい。
前述した実施形態では、モーション情報要求に含まれる転写元のスケルトンモデルのモーションを示す情報に含まれるノード数と、転写元のスケルトンモデルの体型を示す情報に含まれるノード数と、転写後のスケルトンモデルの体型を示す情報に含まれるノード数とが、相互に一致している場合について説明したが、この限りでない。例えば、転写元のスケルトンモデルのモーションを示す情報に含まれるノード数と、転写元のスケルトンモデルの体型を示す情報に含まれるノード数とが一致し、転写後のスケルトンモデルの体型を示す情報に含まれる関節数と、導出される転写後のスケルトンモデルのモーションを示す情報に含まれるノード数とが一致していてもよい。つまり、転写元のスケルトンモデルのモーションを示す情報に含まれるノード数と、転写後のスケルトンモデルのモーションを示す情報に含まれるノード数とが異なっていてもよい。
前述した実施形態においては、生成学習部135が、転写元のスケルトンモデルの集約情報を入力情報として、その入力情報に関連付けられる転写後のスケルトンモデルの集約情報を教師データとして教師あり学習する場合について説明したが、この限りでない。例えば、生成学習部135は、転写元のスケルトンモデルの集約情報を入力情報として、その入力情報に関連付けられる転写後のスケルトンモデルの集約情報と転写元のスケルトンモデルの集約情報とに基づく値を教師データとして、教師あり学習してもよい。例えば、生成学習部135は、フレーム(t)の転写元のスケルトンモデルの集約情報を入力データとして、フレーム(t)の転写後のスケルトンモデルの集約情報とフレーム(t)の転写元のスケルトンモデルの集約情報との差分を教師データとして教師あり学習してもよい。また、例えば、生成学習部135は、フレーム(t)の転写元のスケルトンモデルの集約情報とフレーム(t−1)の転写元のスケルトンモデルの集約情報との差分を入力データとして、フレーム(t)の転写後のスケルトンモデルの集約情報とフレーム(t−1)の転写元のスケルトンモデルの集約情報との差分を教師データとして、教師あり学習してもよい。また、例えば、生成学習部135は、フレーム(t)の転写元のスケルトンモデルの集約情報とフレーム(t−1)の転写元のスケルトンモデルの集約情報との差分を入力データとして、フレーム(t)の転写後のスケルトンモデルの集約情報とフレーム(t−1)の転写後のスケルトンモデルの集約情報との差分を教師データとして、教師あり学習してもよい。
具体的には、時刻(フレーム)tにおける転写元のスケルトンモデルの集約情報をB(t)とし、転写後のスケルトンモデルの集約情報をA(t)とした場合に、生成学習部135は、B(t)を入力情報として、A(t)とB(t)とに基づく値を教師データとして教師あり学習してもよい。例えば、生成学習部135は、B(t)を入力情報として、A(t)−B(t)を教師データとして教師あり学習してもよい。また、生成学習部135は、B(t)−B(t−1)を入力情報として、A(t)−B(t−1)を教師データとして、教師あり学習してもよい。また、生成学習部135は、B(t)−B(t−1)を入力情報として、A(t)−A(t−1)を教師データとして、教師あり学習してもよい。このように構成することによって、教師データの変動を低減できるため、モーションの転写精度をより向上できる。
また、生成学習部135は、スケルトンモデルにおける少なくとも一つのノードに重み付きの誤差最小化を行った結果を、学習してもよい。例えば、生成学習部135は、スケルトンモデルにおける腰ノード、つま先ノード、足裏ノード、手首ノード、頭頂部ノードの少なくとも一つのノードに重み付きの誤差最小化を行った結果を、学習してもよい。腰ノードはスケルトンのルートであり、身体全体の移動や姿勢を制御する特殊なノードであること、つま先ノード、足裏ノード、手首ノード、頭頂部ノードは末端であり、視覚的に重要であることから、特に重点的に誤差を小さくする必要があるためである。
前述した実施形態において、モーション生成装置100が、N×Tの2階テンソルXの符号化に、RNNなどを利用する場合に、モーション生成装置100の符号化学習部134は、転写前のデータを、D次元のT個の系列情報とみなして、LSTM(Long short-term memory)、GRU(gated recurrent unit)などのRNNを適用してもよい。
前述した実施形態では、生成学習部135が、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsと、取得した転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを、比較する場合に、式(1)に示される誤差関数を使用する場合について説明したが、この例に限られない。例えば、生成学習部135は、式(1)に示されるErecのように転写後のスケルトンモデルのモーションを直接出力するモデルを学習させるのではなく、転写前後のモーションの変化量を学習させるようにしてもよい。このように構成することによって、学習の効率化を図ることができる。この場合、生成学習部135は、式(3)に示される誤差関数で、生成した転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsと、取得した転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを比較する。
Erec=ΣD|Y+X−Ys|1 (3)
本実施形態のモーション生成システムによれば、モーション生成装置100は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む訓練情報の集合に基づいて、転写元のスケルトンモデルの集約情報と、転写後のスケルトンモデルの集約情報を生成する。モーション生成装置100は、生成した転写元のスケルトンの集約情報に基づいて、転写後のスケルトンの集約情報の推定結果を生成する。モーション生成装置100は、生成した転写後のスケルトンの集約情報の推定結果と、転写後のスケルトンの集約情報とに基づいて、転写元のスケルトンモデルの集約情報から、転写後のスケルトンモデルの集約情報を生成するための符号化器と、生成器のモデルパラメータWを学習する。
さらに、モーション生成装置100は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを受け付け、受け付けた転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報と、学習結果とに基づいて、転写後のスケルトンモデルのモーションを示す情報を生成する。このように、転写元のスケルトンモデルの集約情報を入力情報とし、転写後のスケルトンモデルの集約情報を教師データとして、教師あり学習した結果に基づいて、転写後のスケルトンモデルのモーションを示す情報を生成できるため、モーション転写を精度よく実現できる。
(変形例)
図11は、本発明の実施形態の変形例のモーション生成システムの一例を示す図である。本実施形態の変形例のモーション生成システム1aは、端末装置10と、学習装置200と、生成装置300とを含む。これらの装置は、ネットワーク50を介して互いに接続される。
モーション生成システム1aは、前述したモーション生成装置100の有する機能のうち、転写元のスケルトンモデルの集約情報から、転写後のスケルトンモデルの集約情報を生成するための符号化器と、生成器とのモデルパラメータを学習する機能と、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを受け付け、受け付けた転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報と、学習結果とに基づいて、転写後のスケルトンモデルのモーションを示す情報を生成する機能とを異なる装置で実現したものである。
学習装置200は、端末装置10が送信した訓練情報を複数受信し、受信した複数の訓練情報の各々に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を取得する。学習装置200は、取得した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けて記憶する。
学習装置200は、記憶した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた複数の情報に基づいて、転写元のスケルトンモデルのモーションを、転写元のスケルトンモデルの体型とは異なる体型の転写後のスケルトンモデルに転写するための学習を行う。
学習装置200は、記憶した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を複数取得し、取得した転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた複数の情報を受け付ける。
学習装置200は、受け付けた転写元のスケルトンモデルを示す複数の情報の各々に含まれる転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを、教師あり学習アルゴリズムに適用できるデータ形式に変換する。同様に、学習装置200は、受け付けた転写後のスケルトンモデルを示す複数の情報の各々に含まれる転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを、教師あり学習アルゴリズムに適用できるデータ形式に変換する。
学習装置200は、転写元のスケルトンモデルのモーションを示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報である2階テンソルXを生成する。同様に、学習装置200は、転写後のスケルトンモデルのモーションを示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写後のスケルトンモデルの体型を示す情報を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写後のスケルトンモデルの集約情報である2階テンソルYを生成する。
学習装置200は、転写元のスケルトンモデルの集約情報である2階テンソルXに対して非線形変換を適用することによって、符号化する。テンソルの符号化には、CNN、RNNなどを適用できる。学習装置200は、最初の符号化には、符号化器のモデルパラメータWとして正規乱数などで初期化した値を利用する。
学習装置200は、転写元のスケルトンモデルの集約情報である2階テンソルXを符号化した結果である2階テンソルXaから、転写後のスケルトンモデルの集約情報を推定する。その推定には、CNN、RNNなどを適用できる。学習装置200は、転写後のスケルトンモデルの集約情報の推定結果と、転写後のスケルトンモデルの集約情報である2階テンソルYとを比較する。学習装置200は、比較結果に基づいて、モデルパラメータWを更新し、モデルパラメータWの更新結果を記憶する。学習装置200は、最初以降の繰り返しの学習では、更新したモデルパラメータを利用する。
学習装置200は、記憶した転写元のスケルトンモデルを示す複数の情報の各々に基づいて、転写元のスケルトンモデルの集約情報である2階テンソルXを生成する。学習装置200は、生成した転写元のスケルトンモデルの集約情報である2階テンソルXに基づいて、複数の訓練情報の各々について、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを生成する。
学習装置200は、転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXの各々を符号化することによって、転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaを生成する。学習装置200は、生成した転写元のスケルトンモデルの集約情報を符号化した結果であるNa×Taの2階テンソルXaの各々について、転写後のスケルトンモデルの集約情報の推定結果Ysを生成する。
学習装置200は、最初の符号化には、符号化器のモデルパラメータWとして正規乱数などで初期化した値を利用する。
学習装置200は、記憶した転写後のスケルトンモデルを示す複数の情報の各々に基づいて、転写後のスケルトンモデルの集約情報である2階テンソルYを生成する。学習装置200は、生成した転写後のスケルトンモデルの集約情報である2階テンソルYに基づいて、複数の訓練情報の各々について、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYを生成する。
学習装置200は、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとを、誤差関数によって比較する。モーション生成装置100は、誤差関数に基づいて導出されるモデルパラメータWを記憶する。
学習装置200は、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsと、転写後のスケルトンモデルの集約情報であるM×Tの2階テンソルYとの誤差関数が収束している場合には処理を終了し、収束していない場合には継続する。
学習装置200は、記憶したモデルパラメータWを含むモデルパラメータ通知情報を作成し、作成したモデルパラメータ通知情報を、生成装置300に送信する。
生成装置300は、学習装置200が送信したモデルパラメータ通知情報を受信し、受信したモデルパラメータ通知情報に含まれるモデルパラメータWを記憶する。
生成装置300は、端末装置10が送信したモーション情報要求を受信し、受信したモーション情報要求に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルの体型を示す情報とを取得する。
生成装置300は、取得した転写元のスケルトンモデルを示す情報に含まれる転写元のスケルトンモデルのモーションを示す情報と転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを学習済モデルの入力として処理できるデータ形式に変換する。
生成装置300は、転写元のスケルトンモデルのモーションを示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを生成する。
生成装置300は、記憶したモデルパラメータを取得し、取得したモデルパラメータに基づいて、CNN、RNNなどのモデルを構築する。生成装置300は、構築したモデルに基づいて、生成した転写元のスケルトンモデルの集約情報である2階テンソルXを符号化する。
さらに、生成装置300は、構築したモデルに基づいて、転写元のスケルトンモデルの集約情報を符号化した結果である2階テンソルXaから、転写後のスケルトンモデルの集約情報の推定結果である2階テンソルYsを生成する。
生成装置300は、転写後のスケルトンモデルの集約情報の推定結果である2階テンソルYsに基づいて、回転量、平行移動量などの転写後のスケルトンモデルのモーションを示す情報に含まれる情報を取得し、取得した情報を含むモーション情報応答を作成し、作成したモーション情報応答を、端末装置10に送信する。
(学習装置200)
図12は、本発明の実施形態の変形例の学習装置の一例を示すブロック図である。
学習装置200は、通信部105と、記憶部210と、操作部120と、情報処理部230と、表示部140と、各構成要素を図12に示されているように電気的に接続するためのアドレスバスやデータバスなどのバスライン250とを備える。
通信部105は、前述した機能に加え、情報処理部230が出力したモーション情報応答を取得し、取得したモーション情報応答を、生成装置300に送信する。
記憶部210は、例えば、RAM、ROM、HDD、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部210には、情報処理部230により実行されるプログラム211と、アプリ212と、モーション・体型情報DB113と、モーション情報DB114と、体型情報DB115と、モデルパラメータ116とが記憶される。
アプリ212は、学習装置200に、端末装置10が送信した訓練情報を受信させる。アプリ212は、学習装置200に、受信させた訓練情報に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を取得させ、取得させた転写元のスケルトンモデルを示す情報に含まれる転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルを示す情報に含まれる転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を、記憶部210のモーション・体型情報DB113に記憶させる。
アプリ212は、学習装置200に、記憶部210のモーション・体型情報DB113に記憶させた転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数取得させ、取得させた転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを関連付けた情報を複数受け付けさせる。
アプリ212は、学習装置200に、受け付けさせた転写元のスケルトンモデルのモーションを示す複数の情報の各々と、転写元のスケルトンモデルの体型を示す複数の情報の各々と、転写後のスケルトンモデルのモーションを示す複数の情報の各々と、転写後のスケルトンモデルの体型を示す複数の情報の各々とを、教師あり学習アルゴリズムに適用できるデータ形式に変換させる。アプリ212は、学習装置200に、転写元のスケルトンモデルのモーションを示す複数の情報の各々を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す複数の情報の各々を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報であるN×TのテンソルXを生成させる。
アプリ212は、学習装置200に、転写後のスケルトンモデルのモーションを示す複数の情報の各々を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果と、転写後のスケルトンモデルの体型を示す複数の情報の各々を教師あり学習アルゴリズムに適用できるデータ形式に変換した結果とが集約された転写後のスケルトンモデルの集約情報であるM×TのテンソルYを生成させる。アプリ212は、学習装置200に、生成させた転写元のスケルトンモデルの集約情報であるN×TのテンソルXを符号化することによって、転写元のスケルトンモデルの集約情報を符号化した結果であるNa×TaのテンソルXaに変換させる。ここで、アプリ112は、最初の符号化には、符号化器のモデルパラメータWとして正規乱数などで初期化した値を利用させる。
アプリ212は、学習装置200に、転写元のスケルトンモデルの集約情報を符号化した結果であるNa×TaのテンソルXaに基づいて、転写後のスケルトンモデルの集約情報の推定結果であるM×TのテンソルYsを生成させる。アプリ212は、学習装置200に、転写後のスケルトンモデルの集約情報の推定結果であるM×TのテンソルYsと、転写後のスケルトンモデルの集約情報であるM×Tの2階のテンソルYとを、誤差関数を使用して比較させる。アプリ212は、学習装置200に、誤差に基づいて導出されるモデルパラメータWを記憶させる。
アプリ212は、学習装置200に、転写後のスケルトンモデルの集約情報の推定結果であるM×TのテンソルYsと、転写後のスケルトンモデルの集約情報であるM×Tの2階のテンソルYとの誤差が収束している場合には処理を終了させ、収束していない場合には継続させる。アプリ212は、学習装置200に、導出させたモデルパラメータWで更新させ、モデルパラメータWの更新結果を、記憶させる。アプリ212は、学習装置200に、最初以降の繰り返しの学習では、更新したパラメータを利用して、符号化させる。
情報処理部230の全部または一部は、例えば、CPUなどのプロセッサが記憶部210に格納されたプログラム211と、アプリ212とを実行することにより実現されるソフトウェア機能部である。なお、情報処理部230の全部または一部は、LSI、ASIC、またはFPGAなどのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。情報処理部230は、例えば、受付部131と、学習部133とを備える。
生成学習部135は、前述した機能に加え、記憶部210のモデルパラメータ116に記憶したモデルパラメータWを含み、生成装置300を宛先とするモデルパラメータ通知情報を作成し、作成したモデルパラメータ通知情報を、通信部105に出力する。
(生成装置300)
図13は、本発明の実施形態の変形例の生成装置の一例を示すブロック図である。
生成装置300は、通信部105と、記憶部310と、操作部120と、情報処理部230と、表示部140と、各構成要素を図13に示されているように電気的に接続するためのアドレスバスやデータバスなどのバスライン350とを備える。
通信部105は、前述した機能に加え、学習装置200が送信したモデルパラメータ通知情報を受信し、受信したモデルパラメータ通知情報を、情報処理部330に出力する。
記憶部310は、例えば、RAM、ROM、HDD、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部310には、情報処理部330により実行されるプログラム311と、アプリ312と、モデルパラメータ116とが記憶される。
アプリ312は、生成装置300に、学習装置200が送信したモデルパラメータ通知情報を受信させる。アプリ312は、生成装置300に、受信させたモデルパラメータ通知情報に含まれるモデルパラメータWを、記憶部310のモデルパラメータ116に記憶させる。アプリ312は、生成装置300に、端末装置10が送信したモーション情報要求を受信させる。アプリ312は、生成装置300に、受信させたモーション情報要求に含まれる転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルの体型を示す情報とを取得させる。アプリ312は、生成装置300に、取得させた転写元のスケルトンモデルを示す情報に含まれる転写元のスケルトンモデルのモーションを示す情報と転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを学習済モデルの入力として処理できるデータ形式に変換させる。
アプリ312は、生成装置300に、転写元のスケルトンモデルのモーションを示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果と、転写元のスケルトンモデルの体型を示す情報を学習済モデルの入力として処理できるデータ形式に変換した結果とが集約された転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを生成させる。アプリ312は、生成装置300に、記憶させたモデルパラメータを取得させ、取得させたモデルパラメータに基づいて、CNN、RNNなどのモデルを構築させる。
アプリ312は、生成装置300に、構築させたモデルに基づいて、生成させた転写元のスケルトンモデルの集約情報であるN×Tの2階テンソルXを符号化させる。アプリ312は、生成装置300に、構築させたモデルに基づいて、転写元のスケルトンモデルの集約情報を符号化させた結果であるNa×Taの2階テンソルXaから、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsを生成させる。アプリ312は、生成装置300に、転写後のスケルトンモデルの集約情報の推定結果であるM×Tの2階テンソルYsに基づいて、回転量、平行移動量などの転写後のスケルトンモデルを示す情報に含まれる情報を取得させる。アプリ312は、生成装置300に、取得させた情報を含むモーション情報応答を作成させ、作成させたモーション情報応答を、端末装置10に送信させる。
情報処理部330の全部または一部は、例えば、CPUなどのプロセッサが記憶部310に格納されたプログラム311と、アプリ312とを実行することにより実現されるソフトウェア機能部である。なお、情報処理部330の全部または一部は、LSI、ASIC、またはFPGAなどのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。情報処理部330は、例えば、受付部131と、生成部136とを備える。
受付部131は、前述した機能に加え、通信部105が出力したモデルパラメータ通知情報を取得し、取得したモデルパラメータ通知情報を、記憶部310のモデルパラメータ116に記憶する。
(モーション生成システムの動作)
学習装置200の動作は前述した図9を適用でき、生成装置300の動作は前述した図109を適用できる。
前述した変形例では、生成装置300が、学習装置200が送信したモデルパラメータ通知情報を受信し、受信したモデルパラメータ通知情報に含まれるモデルパラメータWを、記憶部310のモデルパラメータ116に記憶する場合について説明したが、この例に限られない。例えば、生成装置300が、学習装置200へ、モーション情報要求を送信するようにしてもよい。学習装置200は、生成装置300が送信したモーション情報応答を受信し、受信したモーション情報応答に基づいて、モーション情報応答を作成し、作成したモーション情報応答を、生成装置300に送信する。また、学習装置200が、転写後のスケルトンモデルの集約情報の推定結果を送信し、生成装置300が、学習装置200が送信した転写後のスケルトンモデルの集約情報の推定結果を受信し、受信した転写後のスケルトンモデルの集約情報の推定結果に記憶するようにしてもよい。学習装置200は、記憶した転写後のスケルトンモデルの集約情報の推定結果に基づいて、転写後のスケルトンモデルの集約情報の推定結果を作成する。
変形例のモーション生成システムによれば、生成装置300は、学習装置200から取得したモデルパラメータ通知情報に基づいて、転写後のスケルトンモデルの集約情報の推定結果を導出し、導出した転写後のスケルトンモデルの集約情報の推定結果に基づいて、回転量、平行移動量などの転写後のスケルトンモデルを示す情報に含まれる情報を取得できる。
<構成例>
一構成例として、転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を受け付ける受付部と、受付部が受け付けた転写元のスケルトンモデルを示す情報を入力情報として、入力情報に関連付けられる転写後のスケルトンモデルを示す情報を教師データとして、教師あり学習する学習部と、学習部が教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を記憶する記憶部とを備え、転写元のスケルトンモデルを示す情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルを示す情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置。
一構成例として、学習部は、時刻tにおける転写元のスケルトンモデルを示す情報をB(t)とし、転写後のスケルトンモデルを示す情報をA(t)とした場合に、A(t)と、B(t)とに基づく値を教師データとして教師あり学習する。
一構成例として、学習部は、B(t)を入力情報として、A(t)−B(t)を教師データとして教師あり学習する。
一構成例として、学習部は、B(t)−B(t−1)を入力情報として、A(t)−B(t−1)を教師データとして、教師あり学習する。
一構成例として、学習部は、B(t)−B(t−1)を入力情報として、A(t)−A(t−1)を教師データとして、教師あり学習する。
一構成例として、学習部は、スケルトンモデルにおける少なくとも一つのノードに重み付きの誤差最小化を行った結果を、学習する。
一構成例として、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを受け付ける受付部と、転写元のスケルトンモデルを示す情報を入力情報として、入力情報に関連付けられる転写後のスケルトンモデルを示す情報を教師データとして教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を使用して、受付部が受け付けた転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とに基づいて、転写後のスケルトンモデルのモーションを示す情報を生成する生成部とを備え、転写元のスケルトンモデルを示す情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、転写後のスケルトンモデルを示す情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置(実施形態では、生成装置)。
一構成例として、転写元のスケルトンモデルのモーションを示す前記情報に含まれるノード数と、転写元のスケルトンモデルの体型を示す前記情報に含まれるノード数と、転写後のスケルトンモデルの体型を示す前記情報に含まれるノード数とが、相互に一致している。
一構成例として、転写元のスケルトンモデルのモーションを示す前記情報に含まれるノード数と、転写元のスケルトンモデルの体型を示す前記情報に含まれるノード数とが一致し、転写後のスケルトンモデルの体型を示す前記情報に含まれるノード数と転写後のスケルトンモデルのモーションを示す前記情報に含まれるノード数とが一致している。
一構成例として、転写元のスケルトンモデルのモーションで、つま先と足裏とのいずれか一方又は両方が接地しているタイミングでは、転写後のスケルトンモデルのモーションでもつま先と足裏とのいずれか一方又は両方が接地している。
一構成例として、転写元のスケルトンモデルは、モーションキャプチャによって得られる。
以上、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組合わせを行うことができる。これら実施形態及びその変形例は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、前述のモーション生成装置100、学習装置200、生成装置300は内部にコンピュータを有している。そして、前述した各装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリなどをいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1、1a…モーション生成システム、 10…端末装置、 50…ネットワーク、 100…モーション生成装置、 105…通信部、 110、210、310…記憶部、 111、211、311…プログラム、 112、212、312…アプリ、 113…モーション・体型情報DB、 114…モーション情報DB、 115…体型情報DB、 116…モデルパラメータ、 120…操作部、 130、230、330…情報処理部、 131…受付部、 132…前処理部、 133…学習部、 134…符号化学習部、 135…生成学習部、 136…生成部、 137…符号化部、 138…スケルトンモデル生成部、 139…後処理部、 140…表示部、 200…学習装置、 300…生成装置

Claims (15)

  1. 転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を受け付ける受付部と、
    前記受付部が受け付けた前記転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる前記転写後のスケルトンモデルを示す情報を教師データとして、教師あり学習する学習部と、
    前記学習部が教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を記憶する記憶部と
    を備え、
    転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、
    転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置。
  2. 前記学習部は、時刻tにおける前記転写元のスケルトンモデルを示す情報をB(t)とし、前記転写後のスケルトンモデルを示す情報をA(t)とした場合に、A(t)と、B(t)とに基づく値を教師データとして教師あり学習する、請求項1に記載のモーション生成装置。
  3. 前記学習部は、B(t)を入力情報として、A(t)−B(t)を教師データとして教師あり学習する、請求項2に記載のモーション生成装置。
  4. 前記学習部は、B(t)−B(t−1)を入力情報として、A(t)−B(t−1)を教師データとして、教師あり学習する、請求項2に記載のモーション生成装置。
  5. 前記学習部は、B(t)−B(t−1)を入力情報として、A(t)−A(t−1)を教師データとして、教師あり学習する、請求項2に記載のモーション生成装置。
  6. 前記学習部は、スケルトンモデルにおける少なくとも一つのノードに重み付きの誤差最小化を行った結果を、学習する、請求項1から請求項5のいずれか一項に記載のモーション生成装置。
  7. 転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを受け付ける受付部と、
    転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる前記転写後のスケルトンモデルを示す情報を教師データとして教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を使用して、前記受付部が受け付けた転写元のスケルトンモデルのモーションを示す前記情報と、転写元のスケルトンモデルの体型を示す前記情報と、転写後のスケルトンモデルの体型を示す前記情報とに基づいて、転写後のスケルトンモデルのモーションを示す情報を生成する生成部と
    を備え、
    転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、
    転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置。
  8. 転写元のスケルトンモデルのモーションを示す前記情報に含まれるノード数と、転写元のスケルトンモデルの体型を示す前記情報に含まれるノード数と、転写後のスケルトンモデルの体型を示す前記情報に含まれるノード数とが、相互に一致している、請求項1から請求項7のいずれか一項に記載のモーション生成装置。
  9. 転写元のスケルトンモデルのモーションを示す前記情報に含まれるノード数と、転写元のスケルトンモデルの体型を示す前記情報に含まれるノード数とが一致し、転写後のスケルトンモデルの体型を示す前記情報に含まれるノード数と転写後のスケルトンモデルのモーションを示す前記情報に含まれるノード数とが一致している、請求項1から請求項7のいずれか一項に記載のモーション生成装置。
  10. 転写元のスケルトンモデルのモーションで、つま先と足裏とのいずれか一方又は両方が接地しているタイミングでは、転写後のスケルトンモデルのモーションでもつま先と足裏とのいずれか一方又は両方が接地している、請求項7から請求項9のいずれか一項に記載のモーション生成装置。
  11. 転写元のスケルトンモデルは、モーションキャプチャによって得られる、請求項7から請求項10のいずれか一項に記載のモーション生成装置。
  12. 転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を受け付けるステップと、
    前記受け付けるステップで受け付けた転写元のスケルトンモデルを示す前記情報を入力情報として、前記入力情報に関連付けられる転写後のスケルトンモデルを示す前記情報を教師データとして、教師あり学習するステップと、
    前記教師あり学習するステップで教師あり学習することによって得られる転写後のスケルトンの推定結果を記憶するステップと
    を有し、
    転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、
    転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置が実行するモーション生成方法。
  13. 転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを受け付けるステップと、
    転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる転写後のスケルトンモデルを示す前記情報を教師データとして教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を使用して、前記受け付けるステップで受け付けた転写元のスケルトンモデルのモーションを示す前記情報と、転写元のスケルトンモデルの体型を示す前記情報と、転写後のスケルトンモデルの体型を示す前記情報とに基づいて、転写後のスケルトンモデルのモーションを示す情報を生成するステップと
    を有し、
    転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、
    転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、モーション生成装置が実行するモーション生成方法。
  14. コンピュータに、
    転写元のスケルトンモデルを示す情報と、転写後のスケルトンモデルを示す情報とを関連付けた情報を受け付けるステップと、
    前記受け付けるステップで受け付けた前記転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる前記転写後のスケルトンモデルを示す情報を教師データとして、教師あり学習するステップと、
    前記教師あり学習するステップで教師あり学習することによって得られる転写後のスケルトンモデルの推定結果を記憶するステップと
    を実行させ、
    転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、
    転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、プログラム。
  15. コンピュータに、
    転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報と、転写後のスケルトンモデルの体型を示す情報とを受け付けるステップと、
    転写元のスケルトンモデルを示す情報を入力情報として、前記入力情報に関連付けられる前記転写後のスケルトンモデルを示す情報を教師データとして教師あり学習することによって得られる転写後スケルトンモデルの推定結果を使用して、前記受け付けるステップで受け付けた転写元のスケルトンモデルのモーションを示す情前記報と、転写元のスケルトンモデルの体型を示す前記情報と、転写後のスケルトンモデルの体型を示す前記情報とに基づいて、転写後のスケルトンモデルのモーションを示す情報を生成するステップと
    を実行させ、
    転写元のスケルトンモデルを示す前記情報は、転写元のスケルトンモデルのモーションを示す情報と、転写元のスケルトンモデルの体型を示す情報とを含み、
    転写後のスケルトンモデルを示す前記情報は、転写後のスケルトンモデルのモーションを示す情報と、転写後のスケルトンモデルの体型を示す情報とを含む、プログラム。
JP2019004499A 2019-01-15 2019-01-15 モーション生成装置、モーション生成方法、及びプログラム Pending JP2020113116A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019004499A JP2020113116A (ja) 2019-01-15 2019-01-15 モーション生成装置、モーション生成方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019004499A JP2020113116A (ja) 2019-01-15 2019-01-15 モーション生成装置、モーション生成方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2020113116A true JP2020113116A (ja) 2020-07-27

Family

ID=71667096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019004499A Pending JP2020113116A (ja) 2019-01-15 2019-01-15 モーション生成装置、モーション生成方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2020113116A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022518970A (ja) * 2019-03-15 2022-03-17 株式会社ソニー・インタラクティブエンタテインメント 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022518970A (ja) * 2019-03-15 2022-03-17 株式会社ソニー・インタラクティブエンタテインメント 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習
JP7061238B2 (ja) 2019-03-15 2022-04-27 株式会社ソニー・インタラクティブエンタテインメント 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習

Similar Documents

Publication Publication Date Title
CN109255830B (zh) 三维人脸重建方法和装置
CN110062934A (zh) 使用神经网络确定图像中的结构和运动
CN110264509A (zh) 确定图像捕捉设备的位姿的方法、装置及其存储介质
KR101969050B1 (ko) 자세 추정
US11417095B2 (en) Image recognition method and apparatus, electronic device, and readable storage medium using an update on body extraction parameter and alignment parameter
CN110751039B (zh) 多视图3d人体姿态估计方法及相关装置
CN111598111B (zh) 三维模型生成方法、装置、计算机设备及存储介质
US11727584B2 (en) Shape supplementation device, shape supplementation learning device, method, and program
JP7280393B2 (ja) 視覚位置決め方法、関連モデルの訓練方法及び関連装置並びに機器
CN114386694A (zh) 基于对比学习的药物分子性质预测方法、装置及设备
JP2017053795A (ja) 情報処理装置、位置姿勢計測方法、及び位置姿勢計測プログラム
CN111524216A (zh) 生成三维人脸数据的方法和装置
JP2020181240A (ja) データ生成装置、データ生成方法およびプログラム
CN114677572B (zh) 对象描述参数的生成方法、深度学习模型的训练方法
US11625881B2 (en) Motion retargeting with kinematic constraints
Vendrow et al. Somoformer: Multi-person pose forecasting with transformers
CN111260702A (zh) 激光三维点云与ct三维点云配准方法
Saxena et al. Generalizable pose estimation using implicit scene representations
JP2020113116A (ja) モーション生成装置、モーション生成方法、及びプログラム
Uk Kim et al. A variational U‐Net for motion retargeting
KR20220156062A (ko) 역기구학에 기반한 관절 회전 추론들
CN111738092A (zh) 一种基于深度学习的恢复被遮挡人体姿态序列方法
US8872832B2 (en) System and method for mesh stabilization of facial motion capture data
CN115049764B (zh) Smpl参数预测模型的训练方法、装置、设备及介质
CN112257642B (zh) 人体连续动作相似性评价方法及评价装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190328