JP2019191821A - モーション処理装置、モーション処理方法、およびプログラム - Google Patents
モーション処理装置、モーション処理方法、およびプログラム Download PDFInfo
- Publication number
- JP2019191821A JP2019191821A JP2018082441A JP2018082441A JP2019191821A JP 2019191821 A JP2019191821 A JP 2019191821A JP 2018082441 A JP2018082441 A JP 2018082441A JP 2018082441 A JP2018082441 A JP 2018082441A JP 2019191821 A JP2019191821 A JP 2019191821A
- Authority
- JP
- Japan
- Prior art keywords
- motion
- character
- action
- input information
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】指示に基づきモーションを生成する場合において、不自然なモーションが生成されることを防ぐ装置を提供する。【解決手段】本発明の一実施形態である装置は、受付部、第1生成部、記憶部、第2生成部を備える。受付部は行動を指示する指示信号を受け付ける。第1生成部は入力情報を生成する。入力情報は、第1時点のモーションに関する情報と、第1時点より後の第2時点の行動を示す目標行動に関する情報とを含む。記憶部は、第2時点のモーションに関する情報を入力情報が入力された場合に出力するように学習された学習済みモデルを記憶する。第2生成部は、入力情報を当該モデルに入力することにより、第2時点のモーションに関する情報を生成する。指示信号に対応する行動が目標行動にすべきでないと判定された場合、第1生成部は指示信号に対応する行動以外の行動を目標行動として入力情報を生成する。【選択図】図1
Description
本発明は、モーション処理装置、モーション処理方法、およびプログラムに関する。
一般的に、コンピュータグラフィックスのキャラクターを表示するシステムは、キャラクターの動きに関する指示を受け付けると、当該指示に対応する行動が描写された記録済み画像を再生する。これにより、そのキャラクターが指示された通りに行動したように見える。しかし、グラフィックの向上、キャラクターの動きの多様化などにより用意すべき画像が大容量化し、システムのリソースが逼迫されている。
当該状況に対応するために、記録済み画像を再生するのではなく、そのキャラクターの次の時点における瞬間的な姿勢を算出して表示する、つまりモーションを生成して表示する手法が検討されている。現在では、当該手法を用いても、凹凸のある地形を自然に動かすことが可能となっており、当該手法を採用した製品の開発が期待されている。
Daniel Holden、外2名、"Phase-Functioned Neural Networks for Character Control"、[online]、平成29年4月30日、[平成30年4月1日検索]、インターネット(URL:http://theorangeduck.com/page/phase-functioned-neural-networks-character-control)
Daniel Holden、外2名、"Phase-Functioned Neural Networks for Character Control"、[online]、平成29年7月、ACM Transactions on Graphics, vol36, No.4, Article 42 [平成30年4月1日検索]、インターネット(URL:http://theorangeduck.com/media/uploads/other_stuff/phasefunction.pdf)
しかし、本願発明者達がモーションを生成して表示する手法を検討した結果、記録済み画像を再生する手法ではなかった新たな問題が生じ、不自然なモーションが生成されることが判明した。そこで、指示に基づきモーションを生成する場合において、不自然なモーションが生成されることを防ぐ装置を提供する。
本発明の一実施形態であるモーション処理装置は、記憶部と、指示受付部と、入力情報生成部と、モーション生成部と、を備える。記憶部は、第1時点でのモーションと、第2時点においてが実行予定の行動を示す目標行動と、を少なくとも含む入力情報が入力された場合に、第2時点でのモーションを出力するように学習されたモデルを記憶する。指示受付部は、目標行動を指示する指示信号を受け付ける。入力情報生成部は、入力情報を生成する。モーション生成部は、入力情報をモデルに入力することにより、モーションを生成する。指示信号に対応する行動が目標行動とすべきでないと判定された場合に、入力情報を生成する際に、指示信号に対応する行動以外の行動が目標行動として設定される。
以下、図面を参照しながら、本発明の実施形態について説明する。
(本発明の一実施形態)
図1は、本発明の一実施形態に係るモーション処理システムの一例を示すブロック図である。図1に示されたモーション処理システム1は、入力デバイス11と、環境情報提供装置12と、モーション生成モデル提供装置(学習装置)13と、モーション生成装置14と、表示画像生成装置15と、出力デバイス16と、を備える。モーション生成装置14は、指示受付部141と、入力情報生成部142と、モーション生成部143と、を備える。
図1は、本発明の一実施形態に係るモーション処理システムの一例を示すブロック図である。図1に示されたモーション処理システム1は、入力デバイス11と、環境情報提供装置12と、モーション生成モデル提供装置(学習装置)13と、モーション生成装置14と、表示画像生成装置15と、出力デバイス16と、を備える。モーション生成装置14は、指示受付部141と、入力情報生成部142と、モーション生成部143と、を備える。
本発明の一実施形態に係るモーション処理システム1は、出力デバイス16に表示されたコンピュータグラフィックス(CG)のキャラクターを、入力デバイス11からの指示信号に応じて動かすためのシステムである。以降、CGのキャラクターを、単にキャラクターと記載する。モーション処理システム1は、キャラクターに対する指示を受け付けたときに、当該指示に対応する行動が描写された画像を再生するのではなく、当該指示を実行した場合の当該キャラクターのモーション(瞬間的な姿勢)を生成して表示する。こうして、当該キャラクターが指示された通りに行動したように見える。
図2は、モーションについて説明する図である。図2(A)には、左に向かって歩いているキャラクターが示されている。このキャラクターが操作されており、モーション処理システム1は、所定間隔にて、このキャラクターのモーションを瞬時に生成し続ける。当該所定間隔を短くすることにより、キャラクターが滑らかに動くようになる。図2(B)には、キャラクターが反転するモーションが示されている。図2(A)のように左に向かって歩いている際に、「歩く方向を右に変える」、つまり「反転する」といった指示を受理した場合、このような反転のモーションが生成される。
このとき、モーションの状態を考慮せずに指示を受理してしまうと、不自然なモーションが生成される場合がある。例えば、反転に関する指示を受け付ける直前において、このキャラクターが石に躓いてしまい、反転に関する指示を受け付けた時点において、図2(C)に示すように、このキャラクターが転倒中であるとする。この際に、反転のモーションを生成して表示しまうと、不自然なモーションとなる。また、あるアクションに伴う一連のモーションを実行中に、別のアクションに関するモーションを生成してしまうと、不自然なモーションとなり得る。例えば、キャラクターがジャンプして剣を振り下ろすという一連の攻撃アクションを実行中に、「しゃがむ」という指示を受け付けたとする。この場合に、当該指示を受理して、キャラクターの足を折り曲げてしまうと、不自然なモーションとなる。
キャラクターに対する指示を受理した場合に、当該指示に対応する行動が描写された画像を再生する手法では、画像が再生終了するまでは指示を無視(指示しない)するように設定することができた。ところが、瞬間的にモーションを生成して表示する本実施形態での手法では、画像の再生終了というトリガーがないため、指示の受理を再開する時点を特定することができない。また、再開時点を安易に定めてしまうと、再開が速すぎて不自然なモーションが生成されてしまうか、逆に再開が遅すぎて操作性が悪くなるといった問題を引き起こす。
そこで、モーション処理システム1は、受け付けた指示を無視(指示しない)するか否かを判定する。当該判定により、不自然なモーションが生成されることを防ぐ。
なお、本説明おいて「行動」とは、所定の状態になることだけでなく、所定の状態を保つことを含む。例えば、「停止」という行動は、歩いている状態などから停止することだけでなく、停止している状態を保つことも含む。また、キャラクターの行動は、指示を受理しなくとも変わる場合もあり得る。例えば、キャラクターが「走行」という行動中において躓いて転んだ場合、キャラクターの行動は、「走行」から「転倒」に変化する。
なお、図1の例では、キャラクターに対する指示を受け付けて、指示に応じた行動を実行するキャラクターを表示するまでの主な処理に係る装置および構成要素を記載しているが、その他の装置および構成要素が含まれていてもよい。装置および構成要素による処理が省略される場合には、当該装置および構成要素も省略されてよい。また、装置および構成要素が細分化されていてもよいし、一つにまとめられていてもよい。例えば、入力デバイス11がコントローラーであり、出力デバイス16がモニタであり、入力デバイス11および出力デバイス16以外の装置が、モーション処理装置の構成要素として、一つの筐体内に存在していてもよい。また、各装置は、電気信号、通信信号などにより、データの送受が可能であるとする。
各装置について説明する。
入力デバイス11は、指示信号をモーション生成装置14に送信する装置である。指示信号は、キャラクターの行動に関する指示を示す信号である。指示されるキャラクターが複数いる場合は、指示されるキャラクターを特定するための識別子などが指示信号に含まれていてもよい。また、指示信号に対応する行動が即座に実行されない場合、当該行動の実行時点が示されていてもよい。
モーション生成装置14が認識可能な指示信号を送信可能であれば、入力デバイス11は特に限られるものではない。例えば、ビデオゲームなどに用いられるコントローラー、タッチ操作を読み取るスクリーンパネルでもよい。音声、ジェスチャーなどから指示を認識して、指示信号に変換可能な情報処理装置などでもよい。
環境情報提供装置12は、環境情報をモーション生成装置14に送信する。環境情報は、仮想世界にてキャラクターが動く場合に、当該仮想世界に関する情報である。例えば、仮想世界の地形、仮想世界に存在するオブジェクト、キャラクターの移動範囲(例えば水たまりには進入できない)などに関する情報が環境情報に含まれていることが想定される。なお、キャラクターの周辺の環境しか考慮しなくてよい場合は、環境情報は、キャラクターの周辺環境つまり仮想世界の一部に関する情報でよい。
キャラクターの周辺環境により、同じ種類のアクションであっても、そのモーションが変化する。例えば、凹凸のある地面を走った場合、当該凹凸に合わせて、キャラクターの腰、膝、足先などの位置が変わってくる。また、キャラクターが砂浜を走った場合は、体が沈むため、コンクリートの地面を走った場合のモーションとは異なる。また、キャラクターの移動先に物体がある場合、キャラクターが当該物体を避けたり、衝突したりするため、モーションを変える必要がある。そのため、環境情報が必要となる。なお、仮想世界ではなく実写画像上にキャラクターの画像を重ねる場合など、環境情報を用いない場合では、モーション生成装置14は環境情報を受信しなくともよく、環境情報提供装置12は省略されてもよい。
モーション生成モデル提供装置13(学習装置)は、モーションを生成するためのモーション生成モデルをモーション生成装置14に提供する。なお、ここでは、モーション生成モデル提供装置13が、学習によりモーション生成モデルを生成することを想定する。しかし、他の装置が学習を行い、モーション生成モデル提供装置13は、当該他の装置から取得したモーション生成モデルを記憶した記憶装置であってもよい。
モーション生成モデルは、多層のニューラルネットワークの学習済みモデルを想定する。例えば、ニューラルネットワークの各中間層における演算の重み付け係数(パラメータ)を固定させずに周期的に変えるPhase−Functioned Neural Network(PFNN)が知られている。このPFNNを用いて、ある時点におけるモーションなどを含む学習用の入力情報と、当該時点よりも後の時点におけるモーションなどを含む教師情報と、に基づく学習を行うことによりモーション生成モデルが生成されると、当該モーション生成モデルは入力情報よりも後の時点におけるモーションを高精度に生成できることが知られている。
なお、Daniel Holden、外2名、"Phase-Functioned Neural Networks for Character Control"、平成29年7月、ACM Transactions on Graphics, vol36, No.4, Article 42は、本明細書においてその全てが参照によって組み込まれる。
モーション生成モデル提供装置13は、PFNNのようなニューラルネットワークに対し、学習用の入力情報および教師情報に基づく学習を繰り返すことにより、モーション生成モデルを生成する。入力情報がニューラルネットワークの入力層に入力され、各中間層における演算を経て、出力層から出力情報が出力される。モーション生成モデル提供装置13は、出力情報が教師情報に近づくように、各中間層における演算のパラメータを更新する。そして、当該更新が繰り返されて、モーション生成モデルが生成される。なお、PFNNの場合は、当該パラメータを周期的に入れ替える。これにより、ある時点におけるモーションなどを含む入力情報が入力されると、当該時点よりも後の時点におけるモーションなどを含む出力情報がモーション生成モデルから出力される。
モーション生成モデルに対する入力情報は、少なくとも、ある時点におけるキャラクターのモーションと、当該時点における目標行動と、を含むとする。なお、キャラクターの移動速度、加速度なども考慮して、1つの時点におけるモーションだけではなく、当該時点よりも前の時点におけるモーションも入力情報に含めてよい。
目標行動とは、キャラクターがこれから実行する予定の行動を意味する。例えば、図2(A)が現時点のモーションであり、図2(B)が次の時点のモーションとする。この場合、図2(A)に示したモーションと、「反転」という目標行動と、が学習用の入力情報に含まれる。また、図2(B)に示したモーションが教師情報に含まれる。当該学習用の入力情報および当該教師情報に基づく学習により、図2(A)に示したモーションと、「反転」という目標行動とを含む入力情報から、図2(B)に示したモーションを生成可能なモーション生成モデルが生成される。
つまり、第n(nは1以上の整数)時点におけるキャラクターのモーション、第n時点における目標行動などが学習済みのモーション生成モデルに入力されることにより、第n時点よりも後の第m(mはnより大きい整数)時点におけるキャラクターのモーションが生成される。第n時点における目標行動は、第m時点において実行される予定のキャラクターの行動を意味する。なお、第m時点は、第n時点の次にモーションが生成される時点とは限らない。
なお、同一時点において複数の目標行動が設定されてもよい。例えば、キャラクターの体の部位ごとに目標行動が設定される場合もあり得る。例えば、足に対する目標行動は「歩く」だが、手に対する目標行動は「剣を振る」といった場合もあり得る。あるいは、目標行動が「歩行」から「走行」に変わる場合に、その変化の過程内の時点における目標行動を、「歩行」および「走行」の組み合わせで表し、「歩行」を0.3、「走行」を0.7のような割合にて表してもよい。
また、教師情報には、教師情報に含まれるモーションと対応する判定フラグを含めておく。ゆえに、モーション生成モデルは判定フラグをさらに出力するように学習されており、モーション生成モデルの出力情報には、モーションと、当該モーションに対応する判定フラグと、が含まれる。
判定フラグは、指示信号に対応する行動を無視すべきか否かを示すものである。例えば、図2(A)に示すようなモーションが教師情報に含まれている場合は、教師情報に含まれる判定フラグを「無視しない」を意味する論理値(例えば0)にする。また、図2(C)に示すようなモーションが教師情報に含まれている場合は、教師情報に含まれる判定フラグを「無視する」を意味する論理値(例えば1)にする。このような教師情報を用いて学習を行うことにより、モーション生成モデルが、入力情報に対応する時点よりも後の時点におけるモーションと、当該時点において指示を無視すべきか否かを示す判定フラグと、を出力できるようになる。なお、目標行動が複数ある場合は、目標行動ごとに判定フラグが生成されるように学習を行ってもよい。例えば、上半身と下半身に対する目標行動がそれぞれモーション生成モデルに入力され、上半身と下半身に対する判定フラグがそれぞれ生成されるように学習されてもよい。こうすると、下半身に対する目標行動が「走行」の場合、上半身に対する判定フラグは「無視する」を意味する論理値に、下半身に対する目標行動が「歩行」の場合、上半身に対する判定フラグは「無視しない」を意味する論理値にするといったことも可能になる。つまり、歩行中は上半身に対する指示は受理するが、走行中は受理しないといったことが可能になる。
なお、判定フラグは、モーション生成モデルとは別に算出されてもよい。例えば、入力されたモーションを所定の分類区分に分類する分類モデルを生成しておく。分類モデルにモーション生成モデルから出力されたモーションが入力されると、当該モーションに対応する分類区分、例えば、「待機」、「歩行」、「攻撃」などが出力される。これらの分類区分と、判定フラグとの対応関係を予め定めた対応リストを用意しておけば、モーション生成モデルの出力情報に含まれるモーションと対応する判定フラグを出力することが可能になる。例えば「待機」と「歩行」に対応する判定フラグは「無視しない」を意味する論理値にし、「攻撃」に対応する判定フラグは「無視する」を意味する論理値にするといったことが想定される。また、上記では、「モーション」から「分類区分」を、「分類区分」から「判定フラグ」を順に生成したが、対応リストのデータを教師データとして用いて、モーションから判定フラグを直に生成するように学習された判定フラグ生成モデルを用いてもよい。
なお、モーション生成モデルは、モーションを出力するように学習された第1のニューラルネットワークと、出力されたモーションを用いて分類区分を生成するようにまたは分類区分に基づく判定フラグを直に生成するように学習された第2のニューラルネットワークとを含んでいてもよい。このように、一つのモーション生成モデルから複数の出力情報を得てもよいし、学習済みモデルを出力情報ごとに生成してもよい。
なお、指示の種類により、無視されるか否かの結果が異なることも有り得る。例えば、図2(C)のような状態では、「反転」といった指示は受理できないが、体を前転させるといった指示は受理可能かもしれない。ゆえに、指示内容ごとに判定フラグが出力されてもよい。
入力情報および教師情報には、その他の情報を含めてよい。例えば、仮想世界にてキャラクターが移動する場合は、仮想世界の地形などに応じたモーションとするために、環境情報、キャラクターの移動の推定軌跡などを入力情報に含めてよい。
推定軌跡は、現時点よりも後の時点におけるキャラクターの仮想世界上の位置を少なくとも一つ示す情報である。現時点よりも後の時点の位置(推定位置)に障害物がある場合、障害物を乗り越えるといったモーションを生成する必要がある。そのため、生成されるモーションと同じ時点の推定位置および推定位置の環境情報が必要となり得る。また、障害物を迂回する場合には、障害物の直前で方向を変えると不自然なモーションとなることから、障害物とキャラクターの位置が一致する時点よりも前の時点から障害物を迂回するようなモーションとしたほうがよい。そのため、推定軌跡は、現時点よりも後の時点の位置を複数有していてもよい。
例えば、第m時点のキャラクターの位置をPmで表すとすると、第m時点の推定軌跡Tmは、Tm={Pm、Pm+1、Pm+2、Pm+3}としてもよい。なお、推定軌跡には、過去の時点の位置も含まれてもよく、例えば、Tm={Pm-1、Pm、Pm+1}のようにしてもよい。位置Pmは平面座標でもよいし、立体座標でもよい。なお、キャラクターの位置は、キャラクターの体のいずれの部分の位置でもよいし、複数の部位の推定軌跡が入力情報に含まれてもよい。
推定軌跡に含まれている推定位置は、判定フラグと同様、推定位置を推定するための学習済みの位置推定モデルを用いて算出されてもよい。位置推定モデルは、ある時点の目標行動(例えば第m時点の目標行動)と、当該時点以前の位置(例えばPm-1およびPm)と、を学習用入力情報に含め、当該時点よりも後の位置(例えばPm+1)を教師情報に含めて学習することにより、生成される。
なお、モーション生成モデルが、位置推定モデルを含んでいてもよい。その場合、モーション生成モデルへの入力情報には、推定軌跡を含めずに、現時点以前の位置だけを含める。その場合のモーション生成モデルは、現時点の目標行動と、現時点以前の位置と、から推定位置を算出して推定軌跡とした上で、現時点のモーションと、現時点の目標行動と、推定軌跡とから、現時点よりも後の時点のモーションなどを出力する。
なお、モーション生成モデルから入出力されるモーションは、キャラクターの体の各所定部分(例えば、骨、関節など)の位置を示す数値を想定するが、キャラクターの画像であってもよい。
また、モーション生成モデルは、指示され得るキャラクターごとに生成されてもよいし、各キャラクター共通のモーション生成モデルが生成されてもよい。つまり、モーション生成用の汎用キャラクターのモーションが出力されてもよい。
モーション生成装置14は、モーション生成モデル提供装置13により提供されたモーション生成モデルをソフトウェアの一部であるプログラムモジュールとして使用することにより、モーションを生成する。
指示受付部141は、指示信号を受け付けて、指示信号に対応する行動を認識する。指示信号に対応する行動は、指示信号内に含まれていてもよいし、指示信号が示す値と、当該行動との対応リストを用いて識別されてもよい。このように、指示信号だけでなく、その他の情報を用いて、指示信号に対応する行動が認識されてもよい。その他の情報は、予め指示受付部141が保持していてもよいし、他の構成要素または装置から取得してもよい。例えば、ビデオゲームなどでは、キャラクターの実行中の行動などにより、同一の指示信号でも対応する行動が異なる場合がある。その場合、指示受付部141は、入力情報生成部142、モーション生成部143などから、キャラクターの現時点の行動に関する情報を受け取ってもよい。
入力情報生成部142は、モーション生成モデルに対する入力情報を生成する。前述の通り、入力情報に含まれる情報の内容は変化するため、モーションの生成の都度、入力情報生成部142は入力情報を生成(更新)する。
入力情報の生成の際、入力情報生成部142は、指示信号に対応する行動を、入力情報の目標行動とするか否かを判定する。ゆえに、指示信号は、目標行動を指示するものと言える。指示信号に対応する行動を目標行動とすべきでないと判定した場合は、入力情報生成部は、指示信号に対応する行動以外の行動を目標行動として設定する。当該判定は、前回の処理の出力情報に含まれる判定フラグに基づく。つまり、当該判定は受け付けた指示を無視(指示しない)するか否かを決めるものであり、判定フラグは指示信号に対応する行動を目標行動にしてもよいか否かを示すものでもある。なお、前回の処理がない場合は、判定フラグは初期値としてよい。こうして、目標行動として、指示信号に対応する行動か、その他の行動が入力情報に含まれる。
また、前述のように目標行動が体の部位ごとなど複数ある場合は、指示信号に対応する行動と対応する目標行動を判断した上で、指示信号に対応する行動を、入力情報の目標行動とするか否かを判定する。
その他の行動は、現時点の行動と同じでもよいし、現時点の行動に対応する行動でもよい。例えば、現時点の行動が「躓く」、指示信号に対応する行動が「歩行」、判定フラグが無視であった場合、入力情報生成部142は、現時点の行動「躓く」を目標行動としてもよいし、現時点の行動「躓く」に対応する「転倒」を目標行動としてもよい。現時点の行動に対応する行動は予め定めておけばよい。また、例えば、第1の行動を行った後は必ず第2の行動を行うという設定がある場合は、目標行動として第2の行動が入力情報に含まれる。その他の行動は、入力情報生成部142が決定してもよいし、判定フラグのように、モーション生成モデルから出力されてもよい。
また、入力情報に推定軌跡を含める場合において、入力情報生成部142は、位置推定モデルを用いて、現時点以前の位置および目標行動から、現時点よりも後の時点の位置を算出することにより、推定軌跡を算出してもよい。
また、入力情報に環境情報を含める場合において、入力情報生成部142が、キャラクターの現時点の位置に基づき、環境情報全体から必要な部分だけを抽出し、抽出された環境情報を入力情報に含めてもよい。あるいは、入力情報生成部142が、キャラクターの推定軌跡を送信し、返信として、環境情報提供装置12が必要な部分だけの環境情報を入力情報生成部142に提供してもよい。
モーション生成部143は、入力情報をモーション生成モデルに入力することにより、出力情報を得る。出力情報には、入力情報に対応する時点よりも後の時点のキャラクターのモーションが含まれる。ゆえに、モーション生成部143は、入力情報に対応する時点よりも後の時点のキャラクターのモーションを生成することができる。
なお、モーション生成モデルが指示され得るキャラクターごとに生成されている場合は、モーション生成部143は、指示信号に対応するキャラクターのモーション生成モデルを選択して用いるとする。
また、モーション生成モデルが、判定フラグではなく、モーションの分類区分を出力する場合は、モーション生成部143が、前記分類区分と、前記分類区分に対応する論理値を示す対応リストに基づき、判定フラグを生成してもよい。なお、その場合は、モーション生成モデルではなく、入力情報生成部142が判定フラグを生成してもよい。
表示画像生成装置15は、モーション生成装置14により生成されたモーションに基づき、少なくとも指示信号に対応するキャラクターのモーションが表された画像を生成する。モーション生成装置14が汎用キャラクターのモーションを生成する場合は、表示画像生成装置15は、指示信号に対応するキャラクターの画像と、モーション生成装置14により生成された汎用キャラクターのモーションと、を合成して、指示信号に対応するキャラクターのモーションの画像を生成する。そして、キャラクターのモーションの画像と、背景画像と、を合成して表示画像を生成する。
背景画像は、仮想世界の画像でもよいし、実写の画像でもよいし、単なるテンプレートの画像でもよい。背景画像を仮想世界の画像とする場合は、表示画像生成装置15は、環境情報提供装置12から提供された環境情報に基づき、背景画像を生成する。なお、予め仮想世界の画像を生成しておき、提供された環境情報に基づき、当該仮想世界の画像の一部を切り出すことにより、背景画像を生成してもよい。実写の画像、テンプレートの画像などは、表示画像生成装置内の画像記憶部などに予め記憶されているとする。
表示画像生成装置15は、キャラクターのモーションを調整してもよい。例えば、指示信号に対応するキャラクターと汎用キャラクターとの手足の長さが違うと、足が地面に届いていないといった不自然なモーションとなり得る。このような不自然さをなくすように、モーションが調整されてもよい。
出力デバイス16は、表示画像生成装置15により生成された表示画像を表示する装置である。出力デバイス16により、表示画像が順に表示されて、表示画像内のキャラクターが入力デバイス11からの指示信号に応じて動いているように見える。出力デバイス16は、公知のモニタなどを用いればよい。
なお、上記では実際の使用状況を想定して、出力デバイス16を、表示画像を表示する装置としたが、出力デバイス16が表示画像以外を出力する場合も考えられる。例えば、ソフトウェアのデバッグなどにおいて、テキストメッセージを表示するような場合もあり得る。したがって、出力デバイス16が表示画像以外を出力してもよい。例えば、入力情報生成部142が指示信号に対応する行動を目標行動としないと判定した場合に、その判定結果、再入力を促すメッセージ画像などを出力デバイス16が表示することも考えられる。
次に、本実施形態の処理の流れについて説明する。図3は、本発明の一実施形態に係るモーション処理システムのモーション生成処理の概略フローチャートである。なお、本フローでは、環境情報、推定軌跡が入力情報に含まれるとする。
指示受付部141は入力デバイス11からの指示信号を受け付けて、当該指示信号に対応する行動を認識する(S101)。なお、指示信号を受け付けなかった場合は、前回と同じ指示信号または所定の指示信号を受け付けたとみなせばよい。入力情報生成部142は、モーション生成部143が前回の処理にて出力した出力情報に含まれる判定フラグに基づき、指示信号に対応する行動を、今回の処理における目標行動とするか否かを判定する(S102)。目標行動とする場合(S103のTRUE)、入力情報生成部142は指示信号に対応する行動を今回の処理における目標行動として設定する(S104)。目標行動としない場合(S103のFALSE)、入力情報生成部が指示信号に対応する行動以外の行動を今回の処理における目標行動として設定する(S105)。こうして設定された目標行動が今回の処理の入力情報に含まれる。なお、前回の処理がない場合は、前回の処理にて出力された出力情報の代わりに、出力情報の初期値が用いられればよい。
また、入力情報生成部142は、入力情報に含まれる今回の処理におけるキャラクターの位置を環境情報提供装置12に送信し(S106)、環境情報提供装置12は、今回の処理における推定軌跡の周辺に係る環境情報を、今回の処理における環境情報として、入力情報生成部142および表示画像生成装置15に送信する(S107)。これにより、環境情報提供装置12からの環境情報が、入力情報に含まれる。
今回の処理における入力情報はモーション生成部143に送られて、モーション生成部143が、モーション生成モデルを用いて、今回の処理における入力情報から今回の処理における出力情報を得る(S108)。モーション生成部143は、今回の処理における出力情報を、入力情報生成部142および表示画像生成装置15に送る(S109)。入力情報生成部142に今回の処理における出力情報が送られることにより、今回の処理における出力情報が、入力情報生成部142における次回の処理に用いられる。
表示画像生成装置15は、今回の処理における環境情報から生成された背景画像と、指示信号に対応するキャラクターの画像と、今回の処理において生成されたモーションと、を合成して、今回の処理における表示画像を生成する(S110)。そして、表示画像生成装置15は、今回の処理における表示画像を出力デバイス16に送る(S111)。これにより、出力デバイス16にて表示画像が表示される。以上により、今回の処理は終了し、次回の処理に移る
なお、本説明におけるフローチャートは一例であり、上記の例に限られるものではない。実施形態の求められる仕様、変更などに応じて、手順の並び替え、追加、および省略が行われてもよい。例えば、環境情報、推定軌跡が入力情報に含まれない場合は、S103および104の処理が省略されてよい。
以上のように、モーション生成モデルを用いてキャラクターのモーションを生成する本実施形態において、指示信号に対応する行動が、モーション生成モデルに入力される入力情報に含めるか否かが判定される。これにより、指示信号に対応する行動を実行したために、不自然なモーションが表示されることを防ぐことができる。
(第2の実施形態)
第1の実施形態では、フローチャートで示したように、モーション生成モデルに対する入力情報の中身を判定結果に基づき変えることにより、次の時点のモーションを不自然とならないように生成する。しかし、入力情報を変えるのではなく、モーション生成モデルを使い分けることも考えられる。そこで、第2の実施形態では、複数のモーション生成モデルを用いる実施形態を説明する。なお、第1の実施形態と同様な点は、説明を省略する。
第1の実施形態では、フローチャートで示したように、モーション生成モデルに対する入力情報の中身を判定結果に基づき変えることにより、次の時点のモーションを不自然とならないように生成する。しかし、入力情報を変えるのではなく、モーション生成モデルを使い分けることも考えられる。そこで、第2の実施形態では、複数のモーション生成モデルを用いる実施形態を説明する。なお、第1の実施形態と同様な点は、説明を省略する。
第2の実施形態の構成は、第1の実施形態と同じでよい。ゆえに、図1は、第2の実施形態に係るモーション処理システムの一例を示すブロック図でもある。
モーション生成モデル提供装置13は、第1の実施形態にて提供したモーション生成モデルとは別のモーション生成モデルをさらに提供する。当該別のモーション生成モデルを第2モーション生成モデルと記載し、第1の実施形態でのモーション生成モデルを第1モーション生成モデルと記載して区別する。なお、第2モーション生成モデルと記載したが、第2モーション生成モデルは複数であってもよい。言い換えると、モーション生成モデル提供装置13が、第2モーション生成モデルA、第2モーション生成モデルB、第2モーション生成モデルCなどを提供してもよい。
第2モーション生成モデルは、キャラクターのモーションを含むが、目標行動を含まない入力情報が入力された場合に、当該キャラクターのモーションに対応する行動と同じまたは次の行動に関するキャラクターのモーションを出力するように学習されているとする。例えば、歩行しているキャラクターのある時点のモーションが入力されると、次の時点の歩行のモーションが出力される学習済みモデルである。また、キャラクターがジャンプして剣を振り下ろすという一連の攻撃アクションに特化した第2モーション生成モデルの場合、ジャンプしているキャラクターのある時点のモーションが入力されると、剣を振りかぶるといった次の時点の行動のモーションが出力される学習済みモデルである。
第2の実施形態の入力情報生成部142は、図3の第1の実施形態のフローチャートで示したように、指示信号に対応する行動を、今回の処理における目標行動とすると判定した場合(S103のTRUE)は、第1の実施形態と同じ入力情報を生成する。一方、指示信号に対応する行動を、今回の処理における目標行動としないと判定した場合(S103のFALSE)は、キャラクターのモーションを含むが、目標行動を含まない入力情報を生成する。当該入力情報を第2入力情報と記載し、第1の実施形態と同様の入力情報を第1入力情報と記載し、区別する。
第2の実施形態のモーション生成部143は、第1入力情報が送られてきた場合は、第1モーション生成モデルに第1入力情報を入力し、第2入力情報が送られてきた場合は、第2モーション生成モデルに第2入力情報を入力する。これにより、出力されモーションは、第1の実施形態と同じになる。
以上のように、指示信号に対応する行動をモーション生成モデルに入力される入力情報に含めるか否かの判定結果に応じて、モーション生成モデルを使い分けることにより、不自然なモーションが表示されることを防ぐこともできる。
なお、上記の実施形態の少なくとも一部は、プロセッサ、メモリなどを実装しているIC(Integrated Circuit:集積回路)などの専用の電子回路(すなわちハードウェア)により実現されてもよい。複数の構成要素が一つの電子回路で実現されてもよいし、一つの構成要素が複数の電子回路で実現されてもよいし、構成要素と電子回路が一対一で実現されていてもよい。また、上記の実施形態の少なくとも一部は、ソフトウェア(プログラム)を実行することにより、実現されてもよい。例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載された中央処理装置(CPU:Central Processing Unit)、画像処理装置(GPU:Graphics Processing Unit)などのプロセッサ(処理回路、Processing circuit、Processing circuitry)にプログラムを実行させることにより、上記の実施形態の処理を実現することが可能である。言い換えると、当該プログラムの実行により、プロセッサ(処理回路)が、各装置の各処理を実行できるように構成される。
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
図4は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。モーション処理システム1の各装置は、プロセッサ21と、主記憶装置22と、補助記憶装置23と、ネットワークインタフェース24と、デバイスインタフェース25と、を備え、これらがバス26を介して接続されたコンピュータ装置2として実現できる。
なお、図のコンピュータ装置2は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図4では、1台のコンピュータ装置2が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
プロセッサ21は、コンピュータの制御装置および演算装置を含む電子回路(処理回路)である。プロセッサ21は、コンピュータ装置2の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ21は、コンピュータ装置2のOS(オペレーティングシステム)や、アプリケーションなどを実行することにより、コンピュータ装置2を構成する各構成要素を制御する。プロセッサ21は、上記の処理を行うことができれば特に限られるものではない。モーション生成装置14内の指示受付部141、入力情報生成部142、モーション生成部143などは、プロセッサ21により実現される。また、プロセッサ21は、モーション生成モデルを読み込むと、主記憶装置22または補助記憶装置23に記憶された入力情報からモーションなどの出力情報を出力するように機能する。
主記憶装置22は、プロセッサ21が実行する指示および各種データなどを記憶する記憶装置であり、主記憶装置22に記憶された情報がプロセッサ21により直接読み出される。補助記憶装置23は、主記憶装置22以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。モーション生成モデル提供装置13は、学習を行わない場合は、主記憶装置22または補助記憶装置23により実現されてもよい。つまり、学習を行わない場合におけるモーション生成モデル提供装置13は、メモリでもよいし、ストレージでもよい。
ネットワークインタフェース24は、無線または有線により、通信ネットワーク3に接続するためのインタフェースである。ネットワークインタフェース24は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース24より、通信ネットワーク3を介して、コンピュータ装置2と外部装置4Aとを接続することができる。
デバイスインタフェース25は、外部装置4Bと直接接続するUSBなどのインタフェースである。つまり、コンピュータ装置2と外部装置4との接続は、ネットワークを介してでもよいし、直接でもよい。
なお、外部装置4(4Aおよび4B)は、モーション処理システム1の外部の装置、モーション処理システム1の内部の装置、外部記憶媒体、およびストレージ装置のいずれでもよい。
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1:モーション処理システム、11:入力デバイス、12:環境情報提供装置、13:モーション生成モデル提供装置(学習装置)、14:モーション生成装置、141:指示受付部、142:入力情報生成部、143:モーション生成部、2:コンピュータ装置、21:プロセッサ、22:主記憶装置、23:補助記憶装置、24:ネットワークインタフェース、25:デバイスインタフェース、26:バス、3:通信ネットワーク、4(4A、4B):外部装置
Claims (8)
- キャラクターの行動を指示する指示信号を受け付ける指示受付部と、
少なくとも、第1時点での前記キャラクターのモーションに関する情報と、前記第1時点より後の第2時点での前記キャラクターの行動を示す目標行動に関する情報と、を含む第1入力情報を生成する入力情報生成部と、
前記第1入力情報が入力された場合に、前記第2時点での前記キャラクターのモーションに関する情報を出力するように学習された第1学習済みモデルを記憶する記憶部と、
前記第1入力情報を前記第1学習済みモデルに入力することにより、前記第2時点での前記キャラクターのモーションに関する情報を生成するモーション生成部と、
を備え、
前記指示信号に対応する行動が前記目標行動にすべきでないと判定された場合、前記入力情報生成部が、前記指示信号に対応する行動以外の行動を前記目標行動として前記第1入力情報を生成する
モーション処理装置。 - 前記第1学習済みモデルが、前記第2時点におけるモーションに対応する判定フラグをさらに出力するように学習されており、
前記モーション生成部が前記判定フラグをさらに生成し、
前記入力情報生成部が、第1入力情報を生成する際に、過去に生成した第1入力情報から生成された判定フラグに基づき、前記指示信号に対応する行動を前記目標行動にすべきか否かを判定する
請求項1に記載のモーション処理装置。 - 前記第1学習済みモデルが、前記第2時点におけるモーションの分類区分をさらに出力するように学習されており、
前記入力情報生成部が、過去に生成した第1入力情報から生成された分類区分に基づく判定フラグに基づき、前記判定を行った上で、第1入力情報を生成する
請求項1に記載のモーション処理装置。 - 前記モーションに関する情報に基づき、前記指示信号に対応する前記キャラクターのモーションが表された第1画像を生成する表示画像生成部
をさらに備える請求項1ないし3のいずれか一項に記載のモーション処理装置。 - 前記第1学習済みモデルが、前記キャラクターの仮想世界上の位置に関する情報をさらに出力するように学習されており、
前記表示画像生成部が、前記キャラクターの仮想世界上の位置に関する情報と、前記仮想世界に関する情報と、に基づき、前記仮想世界を表した第2画像を生成した上で、前記第1画像と合成することにより、前記仮想世界と、前記キャラクターのモーションと、が表された第3画像を生成する
請求項4に記載のモーション処理装置。 - キャラクターの行動を指示する指示信号を受け付ける指示受付部と、
前記指示信号に対応する行動が第1時点より後の第2時点での前記キャラクターの行動を示す目標行動にすべきと判定された場合には、前記第1時点での前記キャラクターのモーションに関する情報および前記目標行動に関する情報を少なくとも含む第1入力情報を生成し、前記指示信号に対応する行動が前記目標行動とすべきでないと判定された場合には、前記第1時点での前記キャラクターのモーションを含むが前記目標行動を含まない第2入力情報を生成する入力情報生成部と、
前記第1入力情報が入力された場合に前記第2時点での前記キャラクターのモーションに関する情報を出力するように学習された第1学習済みモデルと、前記第2入力情報が入力された場合に前記第1時点での前記キャラクターのモーションに対応する行動と同じまたは次の行動に関する前記第2時点での前記キャラクターのモーションに関する情報を出力するように学習された第2学習済みモデルと、を記憶する記憶部と、
生成された前記第1入力情報または前記第2入力情報を対応する学習済みモデルに入力することにより、前記第2時点での前記キャラクターのモーションに関する情報を生成するモーション生成部と、
を備えるモーション処理装置。 - キャラクターの行動を指示する指示信号を受け付けるステップと、
少なくとも、第1時点での前記キャラクターのモーションに関する情報と、前記第1時点より後の第2時点での前記キャラクターの行動を示す目標行動に関する情報と、を含む第1入力情報を生成するステップと、
前記第1入力情報が入力された場合に、前記第2時点での前記キャラクターのモーションに関する情報を出力するように学習された第1学習済みモデルを取得するステップと、
前記第1入力情報を前記第1学習済みモデルに入力することにより、前記第2時点での前記キャラクターのモーションに関する情報を生成するステップと、
を備え、
前記指示信号に対応する行動が前記目標行動にすべきでないと判定された場合、前記指示信号に対応する行動以外の行動を前記目標行動として前記第1入力情報が生成される
モーション処理方法。 - キャラクターの行動を指示する指示信号を受け付けるステップと、
少なくとも、第1時点での前記キャラクターのモーションに関する情報と、前記第1時点より後の第2時点での前記キャラクターの行動を示す目標行動に関する情報と、を含む第1入力情報を生成するステップと、
前記第1入力情報が入力された場合に、前記第2時点での前記キャラクターのモーションに関する情報を出力するように学習された第1学習済みモデルを取得するステップと、
前記第1入力情報を前記第1学習済みモデルに入力することにより、前記第2時点での前記キャラクターのモーションに関する情報を生成するステップと、
を備え、
前記指示信号に対応する行動が前記目標行動にすべきでないと判定された場合、前記指示信号に対応する行動以外の行動を前記目標行動として前記第1入力情報が生成される
コンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018082441A JP2019191821A (ja) | 2018-04-23 | 2018-04-23 | モーション処理装置、モーション処理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018082441A JP2019191821A (ja) | 2018-04-23 | 2018-04-23 | モーション処理装置、モーション処理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019191821A true JP2019191821A (ja) | 2019-10-31 |
Family
ID=68390375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018082441A Pending JP2019191821A (ja) | 2018-04-23 | 2018-04-23 | モーション処理装置、モーション処理方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019191821A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022518970A (ja) * | 2019-03-15 | 2022-03-17 | 株式会社ソニー・インタラクティブエンタテインメント | 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習 |
-
2018
- 2018-04-23 JP JP2018082441A patent/JP2019191821A/ja active Pending
Cited By (2)
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 |
---|---|---|
US9050538B2 (en) | Collision detection and motion simulation in game virtual space | |
WO2014162787A1 (ja) | 身体動作採点装置、ダンス採点装置、カラオケ装置及びゲーム装置 | |
US8724849B2 (en) | Information processing device, information processing method, program, and information storage medium | |
JP7070435B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2019175266A (ja) | 動作生成装置、モデル生成装置、動作生成方法及びプログラム | |
JP2019204476A (ja) | 画像生成装置、画像生成方法及びプログラム | |
US10984571B2 (en) | Preventing transition shocks during transitions between realities | |
CN112847336B (zh) | 动作学习方法、装置、存储介质及电子设备 | |
KR20160097430A (ko) | 애니메이션 생성 장치 및 방법 | |
CN113289327A (zh) | 移动终端的显示控制方法及装置、存储介质及电子设备 | |
JP2005056251A (ja) | 3次元画像描画装置及び方法、プログラム、並びに記録媒体 | |
JP2015006252A (ja) | 情報処理プログラム、情報処理装置、情報処理システム、および、指示位置の算出方法 | |
JP2019191821A (ja) | モーション処理装置、モーション処理方法、およびプログラム | |
KR101722947B1 (ko) | 4차원 효과를 구현할 수 있는 가상현실 시스템 및 그 4차원 효과 처리방법 | |
JPH1021420A (ja) | 画像合成装置及び画像合成方法 | |
JP7039216B2 (ja) | 情報処理装置及びその方法、プログラム | |
JP6927750B2 (ja) | 情報処理システム、情報処理装置、情報処理プログラム、および、情報処理方法 | |
CN113592986B (zh) | 基于神经网络的动作生成方法、装置及计算设备 | |
JP3973046B2 (ja) | ゲーム装置、ゲーム装置の制御方法及びプログラム | |
JP2021086295A (ja) | 方法、プログラム、及び電子装置 | |
US20230019370A1 (en) | Non-transitory computer-readable medium and animation generating system | |
JP2007316971A (ja) | 表示処理装置、表示処理方法、及びコンピュータプログラム | |
JP7361985B2 (ja) | Arコンテンツ表示装置、arコンテンツ表示システム、arコンテンツ表示方法およびプログラム | |
JP4462704B2 (ja) | ゲーム装置および情報記憶媒体 | |
JP2012247953A (ja) | プログラム、情報記憶媒体、情報処理システム及び情報処理方法 |