(57)【要約】【課題】ニューラルネットワークを用いた群衆モーションの生成を実現する。【解決手段】動作生成装置は、パラメータ入力部と、第１生成部と、記憶部と、第２生成部と、を備える。パラメータ入力部は、複数のオブジェクトに関するパラメータの入力を受け付ける。第１生成部は、所定ルールにしたがい、前記パラメータに基づいて前記複数のオブジェクトの経路情報を生成する。記憶部は、経路情報を入力すると、当該経路情報にしたがって移動するオブジェクトの動作情報を出力する学習済みモデルを記憶する。第２生成部は、前記第１生成部が生成した前記複数のオブジェクトの経路情報を前記学習済みモデルに入力し、当該複数のオブジェクトの経路情報に対する動作情報を生成する。【選択図】図１
2019175266.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトに関するパラメータの入力を受け付ける、パラメータ入力部と、
所定ルールにしたがい、前記パラメータに基づいて前記複数のオブジェクトの経路情報を生成する、第１生成部と、
経路情報を入力すると、当該経路情報にしたがって移動するオブジェクトの動作情報を出力する学習済みモデルを記憶する、記憶部と、
前記第１生成部が生成した前記複数のオブジェクトの経路情報を前記学習済みモデルに入力し、当該複数のオブジェクトの経路情報に対する動作情報を生成する、第２生成部と、
を備える動作生成装置。
【請求項２】
前記第２生成部が生成した前記複数のオブジェクトの経路情報に基づいて、１若しくは複数の画像、又は、映像を生成する、映像生成部をさらに備える、請求項１に記載の動作生成装置。
【請求項３】
前記学習済みモデルは、ＰＦＮＮ（Phase-Functioned Neural Network）に基づいたモデルである、請求項１又は請求項２に記載の動作生成装置。
【請求項４】
前記記憶部は、前記パラメータに基づいた複数の前記学習済みモデルを記憶し、
前記第２生成部は、前記記憶部に記憶されている前記複数の学習済みモデルのうち、入力された前記パラメータに基づいた学習済みモデルを選択する、モデル選択部、をさらに備える、
請求項１乃至請求項３のいずれかに記載の動作生成装置。
【請求項５】
前記オブジェクトが仮想的な人間である場合、前記パラメータは、前記オブジェクトの性別、年齢、身長、体重及び移動速度のうち少なくとも１つに関する情報を含み、さらに、前記オブジェクトの個数及び前記オブジェクトが存在する範囲のうち少なくとも１つに関する情報を含む、請求項１乃至請求項４のいずれかに記載の動作生成装置。
【請求項６】
オブジェクトの動作情報データを入力する、動作情報入力部と、
前記動作情報データに関するメタデータを入力する、メタデータ入力部と、
入力された前記動作情報データ及び前記メタデータをトレーニングデータとして学習を実行し、学習済みモデルを生成するモデル生成部であって、前記メタデータを備える経路情報が入力されると、前記経路情報にしたがって移動する動作情報を出力するニューラルネットワークモデルを生成する、モデル生成部と、
を備えるモデル生成装置。
【請求項７】
前記経路情報における前記オブジェクトの位置、速度、加速度及び前記経路情報における環境情報のうち少なくとも１つに基づいて、前記動作情報を出力する前記ニューラルネットワークモデルを学習する、請求項６に記載のモデル生成装置。
【請求項８】
パラメータ入力手段が、複数のオブジェクトに関するパラメータの入力を受け付けるステップと、
第１生成手段が、所定ルールにしたがい、前記パラメータに基づいて前記複数のオブジェクトの経路情報を生成するステップと、
第２生成手段が、経路情報を入力すると、当該経路情報にしたがって移動するオブジェクトの動作情報を出力する学習済みモデルに、前記第１生成手段が生成した前記複数のオブジェクトの経路情報を入力し、当該複数のオブジェクトの経路情報に対する動作情報を生成するステップと、
を備える動作生成方法。
【請求項９】
コンピュータを、
複数のオブジェクトに関するパラメータの入力を受け付ける、パラメータ入力手段、
所定ルールにしたがい、前記パラメータに基づいて前記複数のオブジェクトの経路情報を生成する、第１生成手段、
経路情報を入力すると、当該経路情報にしたがって移動する動作情報を出力する学習済みモデルを記憶する、記憶手段、
前記第１生成手段が生成した前記複数のオブジェクトの経路情報を前記学習済みモデルに入力し、当該複数のオブジェクトの経路情報に対する動作情報を生成する、第２生成手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作生成装置、モデル生成装置、動作生成方法及びプログラムに関する。
【背景技術】
【０００２】
映画、アニメーション、ゲーム等の作成において、多くの人間又は動物等に一斉に動作を行わせるような映像が使用されることがある。例えば、ＣＧ（Computer Graphics）等を用いてこのような映像を生成する場合、１つ１つのオブジェクトに対して自然な動作を持たせるようにすると、高いコストが必要となる。そこで、コンピュータの演算を用いて生成する手法が広く研究されている。
【０００３】
広く用いられているのは、ルールベースＡＩを用いたモーション生成であるが、この手法は、撮影済のモーションを再生するものが多く、１つ１つのオブジェクトの動きのバリエーションに乏しかった。例えば、個人個人の動きがあらかじめ入力された少数の決まったパターンにより生成され、状況に応じたモーションの微妙な変化（例えば、関節の細かな動き等）に乏しかった。ニューラルネットワークでのモーション作成もあるが、複数のオブジェクトについて、互いに回避したり、衝突したりする状況を扱うことが難しく、その結果、群衆を取り扱うことが困難であった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】中国特許出願公開第１０６８４６４４２号明細書
【特許文献２】韓国登録特許第１０−１０１４８５２号公報
【特許文献３】韓国登録特許第１０−０４７８７２１号公報
【非特許文献】
【０００５】
【非特許文献１】O. Holden, et.al., "Phase-Functioned Neural Networks for Character Control," ACM Transactions on Graphics, Vol. 36, No. 4, Article 42, July 2017
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、ニューラルネットワークを用いた群衆モーションを生成する動作生成装置、モデル生成装置、動作生成方法及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
一実施形態によれば、動作生成装置は、パラメータ入力部と、第１生成部と、記憶部と、第２生成部と、を備える。パラメータ入力部は、複数のオブジェクトに関するパラメータの入力を受け付ける。第１生成部は、所定ルールにしたがい、前記パラメータに基づいて前記複数のオブジェクトの経路情報を生成する。記憶部は、経路情報を入力すると、当該経路情報にしたがって移動するオブジェクトの動作情報を出力する学習済みモデルを記憶する。第２生成部は、前記第１生成部が生成した前記複数のオブジェクトの経路情報を前記学習済みモデルに入力し、当該複数のオブジェクトの経路情報に対する動作情報を生成する。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る動作生成装置の機能の一例を示す図。
【図２】一実施形態に係る経路情報の一例を示す図。
【図３】一実施形態に係る動作情報の一例を示す図。
【図４】一実施形態に係る動作生成装置の処理を示すフローチャート。
【図５】一実施形態に係るパラメータ入力部のＧＵＩの一例を示す図。
【図６】一実施形態に係るパラメータ入力部のＧＵＩの一例を示す図。
【図７】一実施形態に係るモデル生成装置の機能の一例を示す図。
【図８】一実施形態に係るハードウェア実装例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態について説明する。なお、以下の説明においては、出力されるものは、映像とするが、これは、実写映像、アニメーション映像、ゲーム等の純粋なＣＧ映像、及び、静止画等、広義な意味における映像を示す。また、動作を生成する対象となるオブジェクトは、仮想的な人間として説明するが、これには限られず、動物、自動車等、それぞれが意思を持って移動していると見せたい物体であればどのようなものでも構わない。
【００１０】
図１は、本実施形態に係る動作生成装置の機能を示すブロック図である。動作生成装置１は、パラメータ入力部１０と、第１生成部１２と、第２生成部１４と、記憶部１６と、映像生成部１８と、を備える。動作生成装置１は、ユーザ、例えば、映像を生成するアーティストがパラメータを与えると、当該パラメータに沿った群衆の動く様子（以下、群衆モーションと記載する。）を出力する。
【００１１】
パラメータ入力部１０は、ユーザがパラメータを入力するためのインタフェースである。ユーザは、パラメータ入力部１０を介して動作生成装置１にシーンの情報及びオブジェクトの情報を入力する。オブジェクトの情報とは、例えば、オブジェクトの性別、年齢、身長、体重、通常時の移動速度等の情報である。オブジェクトの人数、配置する領域等も含まれる。これらのオブジェクトの情報は、乱数によりその値等が適度に分散されるようにしてもよい。
【００１２】
シーンの情報とは、オブジェクトの配置情報、オブジェクトに影響を与える環境等の情報の総称のことを言う。シーンの情報は、例えば、オブジェクトが移動可能な範囲であり、建物、障害物等の情報、又は、建物、障害物等を含まない範囲の情報を含んでもよい。このシーンの情報は、２次元の情報であってもよいし、３次元の情報であってもよい。また、オブジェクトに影響を与える環境等の情報として上記に挙げた建物等の他に、所定時間後に所定位置にオブジェクトに影響を与える要素が配置される等の時系列に沿った変化の情報、例えば、ある時刻、ある位置に火災などの災害が発生するという情報であってもよい。これらの情報がパラメータとして、パラメータ入力部１０から入力される。
【００１３】
第１生成部１２は、ユーザが指定し、パラメータ入力部１０が受け付けたパラメータに基づいて、複数のオブジェクトの移動に関する経路情報を生成し、出力する。経路情報は、各オブジェクトの経路（以下、パスと記載する。）において、各時刻における位置、速度、加速度、イベント等を、スカラー、ベクトル又は文字列等で示す情報である。イベントとは、例えば、ある時刻においてオブジェクトに影響を与える要素のことを言う。
【００１４】
この第１生成部１２は、例えば、所定ルールに基づいて入力データから出力データを生成する、ルールベース方式で経路情報の生成を行う。ルールベース方式は、オブジェクトが移動できる範囲において、あらかじめ定められたルールに基づいて各オブジェクトの経路情報を生成する。ルールベース方式は、一例として、所定ルールに基づいて入力データから出力データを生成するルールベースＡＩその他の手続き型処理が挙げられるが、これには限られず、ルールベースに基づいたマルチエージェントシステムも含まれる。
【００１５】
生成された経路情報は、第２生成部１４へと出力されるが、経路情報と併せて年齢、性別といった動作生成に使用できるパラメータを出力してもよい。
【００１６】
図２（ａ）乃至図２（ｃ）は、本実施形態に係る経路情報の一例を示す図である。これらの図においては、オブジェクトＯ１の経路情報であるＰ１と、オブジェクトＯ２の経路情報であるＰ２とが一例として示されている。例えば、パスは、図２（ａ）に示すような軌道となる。
【００１７】
経路情報は、例えば、図２（ａ）に示すように、各オブジェクトの各時刻における位置を結ぶベクトルとして表現されるものであってもよい。このように位置と、移動ベクトルとを経路情報として備えることにより、各オブジェクトの各時刻における位置及び各時刻における速度を経路情報として取得することができる。
【００１８】
図２（ｂ）は、経路情報の別の例であり、各時刻における各オブジェクトの位置を示す情報を備えるものである。移動ベクトルを定義しなくても、各時刻における各オブジェクトの位置から、移動ベクトルを算出することができる。或いは、続く第２生成部１４におけるニューラルネットワークモデルを、移動ベクトルではなく位置情報を入力することにより動作情報を出力するモデルとして生成することも可能である。このようなモデルは、例えば、モデルの生成時に位置情報を用いて学習を行うことにより実現することができる。
【００１９】
図２（ｃ）は、経路情報のさらに別の例であり、各時刻における各オブジェクトの位置及び向きを示す情報を備えるものである。このように、各時刻におけるオブジェクトの向きを経路情報として備えていてもよい。上記と同様に、これらの情報をニューラルネットワークモデルの入力とすることも可能である。
【００２０】
すなわち、経路情報として与えられる情報は、上記のように、各時刻における動作情報の生成に必要となる情報を備えるデータであればよく、上記の位置、向き等に限られるものではない。例えば、さらなる変形例として、各時刻における位置ではなく、時刻０における位置（初期位置）と、その後の移動ベクトルを経路情報としてもよいし、初期位置と、時刻ｔと時刻ｔ＋１との間の速度ベクトルを経路情報としてもよい。さらには、これらの情報を組み合わせて経路情報としてもよい。経路情報は、パラメータ、例えば、体格等に基づき出力されてもよい。例えば、歩幅等により、出力される経路情報が変化するようにしてもよい。
【００２１】
第２生成部１４は、第１生成部１２が生成した各オブジェクトの経路情報に基づいて、各オブジェクトが当該経路情報を移動する際の動作情報を生成する。第２生成部１４は、例えば、学習済みのニューラルネットワークモデルにしたがい動作情報の生成を行う。
【００２２】
ここで言う動作情報とは、例えば、パスに沿った実際のオブジェクトの動きを詳細に記述するデータの総称である。例えば、オブジェクトが人間であれば、パスに沿った歩き、走り等を行う場合における各関節の動き等である。さらに、性別、年齢に併せた動作等、経路情報に付加されたパラメータに基づいた動作であってもよい。また、地形に合わせた動作、例えば、階段を上り下りする動作、坂道を上り下りする動作又は地面の凹凸に合わせた動作であってもよい。
【００２３】
図３は、本実施形態に係る動作の一例を示した図である。経路情報は、図２（ａ）乃至図２（ｃ）と同一のものである。第２生成部１４は、経路情報とパラメータが入力されると、動作情報を出力する。また、動作情報が付与された各オブジェクトを出力してもよい。
【００２４】
例えば、オブジェクトＯ１は、男性であり、経路情報から時刻０において走っている状況が読み取れるものとする。この場合、オブジェクトＯ１の時刻０の状態として、走っている男性が出力される。オブジェクトＯ２は、女性であり、経路情報から時刻０において歩いている状況が読み取れるものとする。この場合、オブジェクトＯ２の時刻０の状態として、歩いている女性が出力される。
【００２５】
各時刻において、上記のように動作情報（又は、動作情報が付与されたオブジェクト）が出力される。例えば、時刻６においては、オブジェクトＯ１及びオブジェクトＯ２の双方が走っているような動作が出力される。このように、経路情報から、各時刻における動作情報が出力される。
【００２６】
さらに、第２生成部１４は、各時刻における動作情報について、出力するＦＰＳ（Frames Per Second）に基づいて出力してもよい。例えば、学習済みモデルから取得された離散的な情報に対し、フレームごとにスムーズな動きに見えるように動作を補完して出力してもよい。
【００２７】
学習済みのニューラルネットワークモデルは、前の時刻の姿勢（例えば、関節の位置、回転、速度等）、パスに関する情報（例えば、位置、方向、速度等）、及び、付加的情報（例えば、歩く、走る等のセマンティクス情報）から、次の時刻の姿勢を生成する。この学習済みモデルを経路情報の開始時刻から終了時刻までについて連続的に用いることにより、各時刻における経路情報に併せた動作情報を出力する。この学習済みモデルは、経路情報のうちパスの情報のみが入力され、動作情報が生成されて出力されるモデルであってもよい。別の例として、パスの情報と合わせて、歩く、走る、といったアノテーションデータを合わせて入力されるモデルであってもよい。
【００２８】
ここで用いられるニューラルネットワークモデルとしては、ＰＦＮＮ（Phase-Functioned Neural Network）に基づいたモデル等、連続的な動作を出力可能であるモデルを用いる。
【００２９】
さらに、性別、年齢等に基づいて、複数の学習済みモデルを生成しておき、これらのパラメータに基づいて使用する学習済みモデルを選択するモデル選択部を備えていてもよい。モデル選択部は、例えば、年齢と性別に基づいた動作情報を出力する学習済みモデル（３０代男性の動作情報を出力する学習済みモデルと、２０代女性の動作情報を出力する学習済みモデル等）を生成しておき、パラメータにより使用する学習済みモデルを選択する。
【００３０】
２つの生成部の動作をまとめると、第１生成部１２は、例えば図２（ａ）に示すように入力されたパラメータに基づいて、複数のオブジェクトの経路情報を生成する。第２生成部１４は、第１生成部１２が生成した複数のオブジェクトの経路情報のそれぞれについて動作情報を個別に生成し、総括する。第２生成部１４は、例えば、図３に示すオブジェクトＯ１の動作情報と、オブジェクトＯ２の動作情報とを学習済みモデルを用いてそれぞれ個別に推論し、個別に出力されたモデルを総括して複数のオブジェクトの動作情報（群衆モーション）を生成する。
【００３１】
記憶部１６は、上述した第２生成部１４が動作情報の生成に用いるモデルを格納する。この記憶部１６に格納された学習済みモデルに、第２生成部１４が入力データを入力することにより、動作情報が生成され出力される。なお、記憶部１６には、第２生成部１４が用いる学習済みモデルだけではなく、動作生成装置１を制御するためのプログラム等、他に必要なデータ等が格納されていてもよい。
【００３２】
映像生成部１８は、第２生成部１４が出力した群衆モーションについての情報に基づいて、映像、又は、映像を表示する信号を生成して出力する。ここで言う映像には、画像をも含む概念であるとする。すなわち、動作情報を含む群衆モーションを映像として生成し、出力してもよいし、当該群衆モーションにおける任意の瞬間における静止画を１枚の画像又は複数の画像として出力してもよい。言い換えると、映像生成部１８は、１又は複数の画像を生成して出力するようにしてもよい。なお、この映像生成部１８は、動作生成装置１には、必須の構成ではない。すなわち、動作生成装置１は、動作情報の生成を行い、それを格納又は出力するものであってもよい。この場合、動作生成装置１とは別に備えられる映像生成部１８により、動作情報を映像等に変換してもよい。このようにすることにより、動作情報を示すデータとして、画像又は映像といったデータよりも小さく、さらに、種々の用途に加工しやすいデータとして出力することも可能である。
【００３３】
次に、フローチャートを用いて、動作生成装置１の動作について説明する。図４は、動作生成装置１の処理の流れを示すフローチャートである。
【００３４】
まず、パラメータ入力部１０は、ユーザインタフェース（以下、ＵＩ：User Interfaceと記載する。）を介してユーザからパラメータの入力を受け付ける（ステップＳ１００）。パラメータとは、上述したように、オブジェクトの性別、年齢、身長、体重、移動速度等の情報、及び、オブジェクトの個数、存在領域等を示すものである。パラメータ入力部１０のＵＩは、これらのパラメータを決めることができるようする。
【００３５】
図５は、パラメータ入力部１０のＧＵＩ（Graphical User Interface）の一例を示す図である。ＧＵＩは、配置設定領域１００と、パラメータ設定領域１０２と、オブジェクト配置ボタン１０４と、後のステップで使用される、経路情報生成ボタン１０６と、動作情報生成ボタン１０８と、を備える。
【００３６】
ユーザは、配置設定領域１００に、シーンの情報、例えば、建物の位置、高さ、自動車の位置、壁のある領域等、オブジェクトが侵入できない場所の位置を設定する。これらの情報は、３ＤＣＧ等で生成されたものを読み込めるようにして、当該情報に基づいて自動生成されるものであってもよい。次に、オブジェクトが配置される範囲を設定する。例えば、破線で示すようにオブジェクトが配置される領域を設定する。
【００３７】
一方、パラメータ設定領域１０２において、オブジェクトのパラメータを設定する。例えば、設定できる項目は、上述したように、人数、性別、年齢、身長、体重、通常時の移動速度等の項目であるが、これに限られるものではない。例えば、恐怖度、パニック度、歓喜度等のオブジェクトの感情を示す項目を含んでいてもよい。すなわち、群衆モーション生成に利用できるパラメータであれば、これ以外のパラメータを入力できるようにしてもよい。
【００３８】
ＧＵＩに入力されたパラメータは、例えば、オブジェクト配置ボタン１０４を押下することにより、動作生成装置１へと送信される。各オブジェクトは、パラメータ設定領域１０２に設定されたパラメータを有するオブジェクトとして、オブジェクトが配置される範囲内に配置される。例えば、上記のパラメータにおいてオブジェクトの個数が指定されている場合、指定された個数のオブジェクトが一括して生成され、配置される。個数が指定されない場合は、１個のオブジェクトを生成するようにしてもよいし、あらかじめ設定された所定数個のオブジェクトを生成するようにしてもよい。
【００３９】
年齢、身長、体重、通常時速度等の個人差を持たせたいパラメータに関しては、平均値と変動幅を入力できるようにしてもよい。平均値と変動幅を入力する場合、平均値に変動幅に基づいて乱数処理をした正負の数値を加算し、各オブジェクトのパラメータとしてもよい。各パラメータ間に依存性を持たせて乱数処理をしてもよい。例えば、体重が重くなる方に乱数が付加された場合には、移動速度が遅くなる方に乱数が付加される確率を高くする、等の依存性を持たせてもよい。このように処理することにより、入力したパラメータに対して同一オブジェクトが複数生成されることを抑制する。
【００４０】
パラメータを変更してオブジェクト配置ボタン１０４を押下すると、既に配置されたオブジェクトに重ならないように、オブジェクトを追加できるようにしてもよい。また、これとは別に、オブジェクト再配置ボタンが備えられていてもよく、オブジェクト再配置ボタンを押下すると、既存のパラメータが設定されたオブジェクトを破棄し、パラメータ設定領域１０２に設定されたパラメータを有するオブジェクトを再配置するようにしてもよい。このようにすることにより、ユーザが初期値について選択する幅を広くすることができる。
【００４１】
さらに、オブジェクトとして配置されるものは、単体のオブジェクトではなく、何らかの関係を持ったオブジェクトを配置できるようにしてもよい。例えば、カップルが何組いる、家族が何組いる、と言ったようにより柔軟にパラメータとして設定できるようにしておいてもよい。
【００４２】
他のパラメータの例としては、異常事態が発生してパニックに陥った場合の移動速度、パニックが伝わる速度、パニックの深刻度が進行する速度、パニックの恐怖度を共有するオブジェクトの関係等が挙げられる。これらについても、平均値と変動値が設定できるようにしておいてもよい。この他、オブジェクトが振り向く頻度等がパラメータとして設定されてもよい。
【００４３】
配置設定領域１００においても上記に挙げたものの他、出口といったパラメータを設定し、パニックになった場合にオブジェクトが目指す方向を設定できるようにしてもよい。パニックの元となる厄災の発生場所及び発生時刻を設定できるようにしておいてもよい。
【００４４】
なお、ＧＵＩであるものとしたが、これには限られず、例えば、テキストベースのデータを入力できるようにしてもよいし、コマンドラインから各パラメータを入力できるようにしてもよい。
【００４５】
図６は、パラメータ入力部１０にパラメータを設定し、オブジェクトを配置した例を示す図である。このように、オブジェクト配置ボタン１０４を押下すると、パラメータ設定領域１０２に記載されている内容に基づいて、配置設定領域１００中に、オブジェクトが配置される。
【００４６】
このようなＵＩを用いることにより、ユーザは、１つ１つのオブジェクトについてのパラメータをそれぞれ設定するよりも簡単に複数のオブジェクトのパラメータを設定することが可能となる。
【００４７】
パラメータは、オブジェクトの性別、年齢、身長、体重及び移動速度、並びに、オブジェクトの個数及び存在範囲等を例として挙げたが、これら全部である必要は無く、少なくとも１つのパラメータであってもよい。第１生成部１２が生成することが可能な範囲でこれらのパラメータは、１つだけ用いてもよいし、任意に組み合わせて用いてもよい。さらに、第１生成部１２は、これらのパラメータのうちいくつかが入力された場合には、他のパラメータを推定、乱数による設定、又は、あらかじめ設定された数値等で補間して、オブジェクトを出力するようにしてもよい。
【００４８】
図４に戻り、次に、第１生成部１２は、生成された複数のオブジェクトの経路情報を生成する（ステップＳ１０２）。図５における経路情報生成ボタン１０６を押下することにより、経路情報の生成が行われる。第１生成部１２は、あらかじめ定められたルールに基づいて、複数のオブジェクトのパスを生成する。
【００４９】
複数のオブジェクトは、それぞれが衝突しないように同じタイミングにおいて経路情報が生成される。経路情報の生成は、その移動情報が探索アルゴリズム等を用いて行われ、移動情報に大まかなオブジェクトの動きがルールベースに基づいて生成される。
【００５０】
移動情報は、例えば、各時刻におけるオブジェクトの位置、向き、速さ等の情報である。この移動情報は、各時刻におけるベクトルをつなぎ合わせることにより生成される。移動情報、例えば、Ａ＊アルゴリズムに基づいて生成されるが、この限りではなく、ダイクストラ法等の他のアルゴリズムに基づいて生成されてもよい。複数のオブジェクトに対して同じタイミングで探索することにより、オブジェクト同士の衝突等を回避した移動情報が生成される。
【００５１】
ルールベース方式で移動情報に大まかな動作情報を付加して、経路情報を生成する。大まかな動作情報とは、歩く、走る、といった動作の基本的な情報である。この情報は、あらかじめ定められたルールにしたがい、各時刻における移動情報のベクトルの大きさ、向き等に基づいて、生成される。例えば、ベクトルの大きさが所定数値以下である場合には、歩く動作、所定値を超えている場合には、走る動作、とする。なお、この大まかな動作情報については、必ずしも必須ではなく、経路情報として、移動情報のベクトルを出力し、次のステップで全ての動作を生成するようにしてもよい。
【００５２】
次に、第２生成部１４は、学習済みのニューラルネットワークモデルにしたがい、第１生成部１２が生成した経路情報に基づいて、各オブジェクトの動作情報を生成する（ステップＳ１０４）。この生成は、１オブジェクトごとに実行される。すなわち、第１生成部１２が生成した複数のオブジェクトに関する経路情報から、１オブジェクトに関する経路情報を抽出し、当該経路情報に基づいた動作情報を生成する。
【００５３】
第２生成部１４は、例えば、第１生成部１２が生成したあるオブジェクトの経路情報を取得し、学習済みのニューラルネットワークモデルにしたがい、当該経路情報に基づいて、経路情報に適切な動作情報を出力する。この学習済みモデルは、パスに沿った動作情報を出力する。すなわち、第２生成部１４は、１オブジェクトについて、経路情報に動作情報が付加されたデータを出力する。出力データは、動画のデータそのものであってもよいし、何らかの処理をすることにより動画に変換されるデータであってもよい。
【００５４】
第２生成部１４は、パラメータとして設定された、性別、年齢等のデータにも基づいて動作情報を生成してもよい。これは、モデルを学習する段階において、様々な年齢、性別、身長、体重等の人物の動きをキャプチャしたデータをトレーニングデータとして用いることにより実現できる。このようにパラメータを付加した情報を入力できるようにすることにより、見た目と動作がさらに自然となる映像を生成することができる。上述したように、各パラメータに基づいて学習済モデルをそれぞれ生成しておき、入力されたパラメータにより動作生成に使用する学習済みモデルをモデル選択部が選択するようにしてもよい。
【００５５】
次に、第２生成部１４は、全てのオブジェクトに対しての動作情報の生成が終了したか否かを判断する（ステップＳ１０６）。全てのオブジェクトについて動作情報の生成が終了している場合（ステップＳ１０６：ＹＥＳ）、動作情報の生成を終了する。一方、全てのオブジェクトについて動作情報の生成が終了していない場合（ステップＳ１０６：ＮＯ）、まだ動作情報の生成をしていないオブジェクトについて、動作情報の生成を行う（ステップＳ１０４）。
【００５６】
ステップＳ１０４は、ステップＳ１０６に経由することによりイテレーション演算となっているがこれには限られない。複数の演算コアを備えるＧＰＵ等のアクセラレータを用い、複数のオブジェクトの処理を並列で行うようにしてもよい。例えば、１コアが１オブジェクトの動作情報生成の演算を行うようにし、全てのオブジェクトについて同じタイミングで演算がされるようにしてもよい。
【００５７】
次に、第２生成部１４は、生成した１つ１つのオブジェクトの動作情報に基づいて、設定されている全てのオブジェクトについて総合した群衆モーションを生成する（ステップＳ１０８）。
【００５８】
次に、映像生成部１８は、第２生成部１４が生成した群衆モーションについて１若しくは複数の画像、又は、映像を生成し、出力する。さらに、背景、シーン等と結合し、群衆モーションを含む画像又は映像を生成して出力してもよい（ステップＳ１１０）。このように、群衆モーションが生成され、出力される。
【００５９】
以上のように、本実施形態に係る動作生成装置１は、第１生成部１２及び第２生成部１４により、経路情報の生成と、動作情報の生成を２段階で行うことにより、ニューラルネットワークモデルを用いた群衆モーションの生成をすることが可能となる。上述したように、動作生成装置１のユーザが入力するパラメータは、非常に簡易なものであるので、低コストでより自然な動作を行う群衆モーションを生成することが可能となる。
【００６０】
次に、第２生成部１４に備えられるニューラルネットワークモデルの学習について説明する。図７は、当該ニューラルネットワークモデルの学習を行うモデル学習装置の一例を示す図である。
【００６１】
モデル生成装置２は、動作情報入力部２０と、メタデータ入力部２２と、アノテーション付与部２４と、モデル生成部２６と、モデル出力部２８と、を備える。モデル生成装置２は、上述した第２生成部１４において経路情報に合わせた動作情報を生成するニューラルネットワークモデルを生成する。
【００６２】
例えば、経路情報のうち動作情報に関するメタデータ（アノテーションデータ）が入力されると動作情報を出力されるようなモデルであってもよい。この場合、第２生成部１４は、入力された経路情報をメタデータへと変換するようなデータ変換を行うようにしてもよい。例えば、各時刻における経路情報であるベクトルの情報から、移動速度を算出し、当該ベクトルに対応する動作が歩いている状態であるのか、走っている状態であるのかを判断し、メタデータとしてニューラルネットワークモデルに入力されるものであってもよい。
【００６３】
動作情報入力部２０は、モデル生成装置２に動作情報のデータを入力する。動作情報のデータは、動作情報入力部２０がカメラ等を備えるモーションキャプチャであり、キャプチャした動作情報を入力するものであってもよい。別の例では、別のファイルサーバ等に格納されている種々のキャプチャ済の動作情報を、ネットワーク等を介して入力するものであってもよい。
【００６４】
動作情報入力部２０により入力されたデータは、モデルの学習におけるトレーニングデータとして使用される。トレーニングデータとして使用する際に、ファイルへのアクセスを高速化するために、モデル生成装置２内に図示しない動作情報データ格納部が備えられていてもよい。
【００６５】
動作情報データは、人間が歩く動作、走る動作、坂道を上り下りする動作、階段を上り下りする動作等の情報を取得する。そして、この動作情報をトレーニングデータとして用いる。また、複数の人間からこれらの動作情報を取得するようにしてもよい。あるいは、１人の人間であっても、同じ動作に対して複数回の動作のキャプチャを行い、様々な動作情報を取得するようにしてもよい。
【００６６】
動作情報データは、例えば、パラメータとして設定できる性別、年齢等によりそれぞれ取得してもよい。例えば、男性３０才の歩く動作、走る動作、坂道を上り下りする動作、階段を上り下りする動作等の情報をそれぞれ取得する。同じパラメータにおいて、複数の人物により動作情報を取得するようにしてもよい。地形に合わせたデータを取得する際には、動作情報をキャプチャした後に、ＣＧ等により地形データを生成してもよい。
【００６７】
このような動作情報の取得を、例えば、女性２０才の人物についても取得する。様々なパラメータの組み合わせについて動作情報を取得し、トレーニングデータとして使用する。性別、年齢以外にも、身長、体重といった体格に関するパラメータを含めた動作情報を取得してもよい。また、通常時の移動速度をパラメータとして入力することにより、歩く、走る等の区別が機械学習によりモデル化されるようにしてもよい。
【００６８】
また、体格のパラメータに関する動作情報については、データオーグメンテーションにより、例えば、ＣＧ等で体格を変えた動作情報を生成することにより補充するようにしてもよい。
【００６９】
これらのデータは、３０才、２０才等とピンポイントに定義されるものではなく、例えば、３０代、２０代等とある程度の幅をもって定義されて学習されるようにしてもよい。このように、データをパラメータの様々な組み合わせにおいて取得し、組み合わせごとに学習済みモデルを生成するようにして、上述したように第２生成部１４にモデル選択部を備え、モデル選択部が入力されたパラメータに基づいて動作情報の生成に行う学習済みモデルを選択するようにしてもよい。
【００７０】
あるいは、別の例として、性別、年齢、体格等のパラメータと、メタデータを入力することにより、パラメータを考慮した動作情報を出力するような学習済みのニューラルネットワークモデルを生成するようにしてもよい。例えば、ＰＦＮＮにおける入力層を拡張したニューラルネットワークモデルを用いて、他のパラメータを入力すると、それらのパラメータも考慮した動作情報が出力されるモデルを生成してもよい。
【００７１】
メタデータ入力部２２は、モデル生成装置２に動作情報に併せたメタデータを入力する。動作情報入力部２０がモーションキャプチャである場合、ユーザは、キャプチャした動作情報に対するメタデータをその場でメタデータ入力部２２を介して入力するようにしてもよい。
【００７２】
既にキャプチャされている動作情報データがある場合には、例えば、テキストデータ、バイナリデータとして入力するようにしてもよい。既にキャプチャされている動作情報データに対してメタデータが付加されている場合には、当該付加されたメタデータを入力するようにしてもよいし、この場合、動作情報入力部２０がメタデータ入力部２２の機能を備えていてもよい。
【００７３】
メタデータには、歩く、走る、といった情報の他、パラメータ入力部１０で入力され得るようなデータを入力できるようにしてもよい。例えば、性別、年齢と言ったデータをメタデータに含ませることも可能である。
【００７４】
アノテーション付与部２４は、動作情報入力部２０から入力された動作情報の情報に対して、メタデータ入力部２２を介して入力されたメタデータからアノテーションデータを生成する。このように、アノテーション付与部２４は、動作情報データとメタデータとを紐付ける機能を果たす。したがって、アノテーションデータとして動作情報データにメタデータが既に付加されている場合には、アノテーション付与部２４は、必須の構成ではない。
【００７５】
モデル生成部２６は、上記のニューラルネットワークモデルを生成する。例えば、このニューラルネットワークモデルは、ＰＦＮＮによりモデル化されて、モデル生成部２６により機械学習により最適化される。学習は、動作情報データとアノテーションデータを用いて実行される。アノテーションデータに含まれる種々の情報を入力すると、動作情報データが出力されるように、モデル生成部２６は、モデルを生成する。最適化は、一般的な機械学習の手法を用いて行われる。
【００７６】
モデル出力部２８は、モデル生成部２６が生成したニューラルネットワークモデルを出力する。出力する先は、例えば、動作生成装置１の第２生成部１４である。
【００７７】
以上のように、モデル生成装置２により、第２生成部１４による動作情報の生成に用いる学習済みモデルであって、記憶部１６に格納されるモデルが生成される。このように、モデル生成装置２により生成されたニューラルネットワークが記憶部１６に備えられることにより、１オブジェクトの経路情報を入力された第２生成部１４は、ニューラルネットワークモデルに基づいて当該オブジェクトの動作情報データを生成し、出力する。
【００７８】
例えば、経路情報は、パラメータ情報を含まずに、単純に各時刻における経路の情報であってもよい。この場合、第２生成部１４は、学習済みモデルにより各時刻における位置、向き、速度等の情報に基づいて、各時刻における位置での動作データを出力する。各時刻における位置データは、学習済みモデルに入力され、各位置における動作情報と結合され、各位置における動作データとして出力されてもよい。すなわち、学習済みモデルから、時刻とともに位置を変化させながら自然な動きとなるような動作データが出力される。
【００７９】
別の例として、学習済みモデルからは、各時刻における動作情報データのみが出力され、第２生成部１４において各時刻における位置データと結合されて動作データとして出力されてもよい。
【００８０】
別の例として、経路情報は、性別、年齢のパラメータ情報を含んでいてもよい。この場合、学習済みモデルには、経路情報として、各時刻における位置等の情報、及び、オブジェクトの性別、年齢の情報が入力される。この場合、学習において、当該パラメータを含むようにトレーニングデータを取得しておけば、学習済みモデルは、各時刻における位置において、性別、年齢に併せた仕草等を含んだ動作データを出力することもできる。
【００８１】
さらに、経路情報は、身長、体重等の体格に関するパラメータ情報を含んでいてもよい。この場合、学習済みモデルには、経路情報として、上記の情報の他、体格の情報が入力される。この場合、学習において、当該パラメータを含むようにトレーニングデータを取得しておけば、学習済みモデルは、各時刻における位置に置いて、性別、年齢、さらに、体格に合わせた動作を含んだ動作情報データを出力することもできる。
【００８２】
学習済みモデルは、性別、年齢等に併せた外見を経路情報に付加して、動作情報データとして出力することも可能である。例えば、２０才女性というパラメータ情報が入力されると、２０才女性のような外見を有し、３０才男性というパラメータ情報が入力されると、３０才男性のような外見を有するオブジェクトを出力することも可能である。このように、動作とともに、外見も出力されるように学習してもよい。
【００８３】
別の例として、第１生成部１２が、性別、年齢、身長等のパラメータに基づいて、ある程度外見等を備え、さらに、歩き、走り、といった移動速度に基づいたオブジェクトモデルをルールベース方式で生成して出力してもよい。この場合、モデル生成装置２は、経路情報として、オブジェクトモデルが入力され、細かい動作、例えば、手、指先等の動きや、顔の角度、表情といったルールベース方式では表現することが困難である細かい動作を出力することが可能である。
【００８４】
以上のように、本実施形態によれば、パラメータに基づいた群衆モーションについて、ユーザが個々のオブジェクトについて細かい設定をすることなく、自然な動きとなるような動作を生成することが可能となる。ニューラルネットワークに基づいて入力されたパラメータに基づいた動作を生成することが可能となり、ルールベース方式では表現が困難である、あるいは、表現ができたとしても、データ量や処理時間でコストが高くなるような動作も生成することが可能となる。
【００８５】
一方で、ルールベース方式により経路情報が出力されることにより、ニューラルネットワークではユーザが介入することが困難であったパラメータの入力をすることができる。
【００８６】
すなわち、本実施形態によれば、上記のように、ルールベース方式を用いることにより、ユーザによるパラメータの設定を可能としつつも、ニューラルネットワークモデルを用いることにより、ルールベース方式で全ての演算を行うよりも少ない手間で、仕草や細かい動作もより自然に表現できる動作データを生成し、群衆モーションとして出力することが可能となる。
【００８７】
ルールベースのみに基づいた動作生成であると、群衆に対する多様性を生じさせることが困難である。また、詳細な制御を行おうとするとパラメータが多くなる傾向にあり、ユーザの負担が大きくなる。一方、ニューラルネットワークのみに基づいた動作生成であると、群衆の動作生成に適用する際に、複数のオブジェクトを考慮した経路情報の生成が困難である。さらに、たとえ複数のオブジェクトを考慮した経路情報が生成された場合においても、経路の生成をユーザが制御したい場合においては、ニューラルネットワークで実現することは困難である。
【００８８】
上述したように、第１生成部１２と、第２生成部１４とに機能を分割することにより、以下の効果を得ることができる。第１に、ニューラルネットワークを導入することにより、ルールベースのみに基づいた多様性及びユーザ制御の問題を解決できる。第２に、その前段としてルールベースを導入することにより、ルールに基づいた経路生成を行うことから、ニューラルネットワークのみに基づいた複数オブジェクトの経路生成の問題を解決することができ、さらに、制御したい部分についてはルールベース側で吸収することができるのでユーザ制御の問題をも解決できる。
【００８９】
なお、上述した全ての説明においては、第１生成部１２は、衝突しないような経路情報を生成するものとしたが、必ずしも衝突しないように経路情報を生成する必要は無い。例えば、第１生成部１２に物理エンジンを備えていてもよい。この物理エンジンにより物理的な不整合さを生じさせないように物理シミュレーションを行うことにより、オブジェクト同士が衝突する場合でも不自然ではない経路情報を生成してもよい。この場合、記憶部に備えられる学習済みニューラルネットワークは、衝突した動作をも出力できるように生成してもよい。このようなモデルは、学習においてトレーニングデータとして、衝突した場合における動作データ（及び紐付けられた経路情報又はメタデータ）を上述した動作データとともに用いることにより実現することができる。このように、物理エンジンをもちいることにより、厳密に衝突してはいけないという制約をも緩和することが可能となり、衝突する動作についても生成することが可能となる。
【００９０】
前述した実施形態における動作生成装置１及びモデル生成装置２において、各機能は、アナログ回路、デジタル回路又はアナログ・デジタル混合回路で構成された回路であってもよい。また、各機能の制御を行う制御回路を備えていてもよい。各回路の実装は、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等によるものであってもよい。
【００９１】
上記の全ての記載において、動作生成装置１及びモデル生成装置２の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりＣＰＵ等が実施をしてもよい。ソフトウェアで構成される場合には、動作生成装置１、モデル生成装置２及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、ＦＰＧＡ等の回路に実装され、ハードウェアが実行するものであってもよい。モデルの生成や、モデルに入力をした後の処理は、例えば、ＧＰＵ等のアクセラレータを使用して行ってもよい。
【００９２】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【００９３】
図８は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。動作生成装置１又はモデル生成装置２は、プロセッサ７１と、主記憶装置７２と、補助記憶装置７３と、ネットワークインタフェース７４と、デバイスインタフェース７５と、を備え、これらがバス７６を介して接続されたコンピュータ装置７として実現できる。
【００９４】
なお、図８のコンピュータ装置７は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図８では、１台のコンピュータ装置７が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
【００９５】
プロセッサ７１は、コンピュータの制御装置および演算装置を含む電子回路（処理回路）である。プロセッサ７１は、コンピュータ装置７の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ７１は、コンピュータ装置７のＯＳ（オペレーティングシステム）や、アプリケーションなどを実行することにより、コンピュータ装置７を構成する各構成要素を制御する。プロセッサ７１は、上記の処理を行うことができれば特に限られるものではない。検査対応部、モデル対応部、およびそれらの各構成要素は、プロセッサ７１により実現される。
【００９６】
主記憶装置７２は、プロセッサ７１が実行する命令および各種データなどを記憶する記憶装置であり、主記憶装置７２に記憶された情報がプロセッサ７１により直接読み出される。補助記憶装置７３は、主記憶装置７２以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。動作生成装置１又はモデル生成装置２内において各種データを保存するためのメモリは、主記憶装置７２または補助記憶装置７３により実現されてもよい。例えば、記憶部１６は、この主記憶装置７２又は補助記憶装置７３に実装されていてもよい。別の例として、アクセラレータが備えられている場合には、記憶部１６は、当該アクセラレータに備えられているメモリ内に実装されていてもよい。
【００９７】
ネットワークインタフェース７４は、無線または有線により、通信ネットワーク８に接続するためのインタフェースである。ネットワークインタフェース７４は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース７４により、通信ネットワーク８を介して通信接続された外部装置９Ａと情報のやり取りが行われてもよい。
【００９８】
外部装置９Ａは、例えば、カメラ、モーションキャプチャ、出力先デバイス、外部のセンサ、入力元デバイスなどが含まれる。また、外部装置９Ａは、動作生成装置１及びモデル生成装置２の構成要素の一部の機能を有する装置でもよい。そして、コンピュータ装置７は、動作生成装置１及びモデル生成装置２の処理結果の一部を、クラウドサービスのように通信ネットワーク８を介して受け取ってもよい。
【００９９】
デバイスインタフェース７５は、外部装置９Ｂと直接接続するＵＳＢ（Universal Serial Bus）などのインタフェースである。外部装置９Ｂは、外部記憶媒体でもよいし、ストレージ装置でもよい。記憶部１６は、外部装置９Ｂにより実現されてもよい。
【０１００】
外部装置９Ｂは出力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声などを出力する装置などでもよい。例えば、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）、ＰＤＰ（Plasma Display Panel）、スピーカなどがあるが、これらに限られるものではない。
【０１０１】
なお、外部装置９Ｂは入力装置でもよい。入力装置は、キーボード、マウス、タッチパネルなどのデバイスを備え、これらのデバイスにより入力された情報をコンピュータ装置７に与える。入力装置からの信号はプロセッサ７１に出力される。
【０１０２】
上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。例えば、前述した全ての実施形態において、説明に用いた数値は、一例として示したものであり、これらに限られるものではない。
【０１０３】
例えば、前述においては、動作生成装置１と、モデル生成装置２がそれぞれ独立した構成となっているが、これには限られず、動作生成装置１の中にモデル生成装置２が備えられている構成であってもよい。あるいは、動作生成装置１とモデル生成装置２がネットワーク等を介して接続され、協働して動作を行うものであってもよい。
【０１０４】
また、本実施形態に係るモデル生成装置２が生成したモデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用することが可能である。すなわち、コンピュータのＣＰＵあるいはＧＰＵ等が格納部に格納されているモデルに基づいて、演算を行い、結果を出力するように動作する。
【０１０５】
前述したように、第１生成部１２は、ルールベースＡＩを備えていてもよい。ルールベースＡＩは、各オブジェクトが配置された位置から所定時刻までの経路情報を生成する。このタイミングにおいて、ルールベースＡＩの出力として、経路情報とともに、パラメータに合わせた外見・モーション、又は、デフォルトの外見・モーションを付して、オブジェクトを出力するようにしてもよい。経路情報は、歩く、走るといったメタ情報を含むものであってもよいし、含まないものであってもよい。
【０１０６】
第２生成部１４は、第１生成部１２により生成された経路情報を入力すると動作情報を出力する、複数の学習済みモデル（例えば、ＰＦＮＮモデル）を備えていてもよい。この場合、第２生成部１４は、パラメータを受信し、パラメータに基づいて記憶部１６に格納されている複数の学習済みモデルから動作情報の生成に用いるモデルを選択するモデル選択部を任意で備えていてもよい。別の例としては、パラメータをも入力できるような学習済みモデル（例えば、拡張されたＰＦＮＮモデル）を記憶部１６に格納しておいてもよい。この場合、モデル選択部は必須の構成ではない。経路情報にメタ情報が含まれる場合、第２生成部１４は、当該メタ情報をアノテーションデータとして学習済みモデルに入力してもよい。経路情報にメタ情報が含まれない場合、第２生成部１４は、アノテーションデータを抽出するアノテーションデータ抽出部を備え、抽出されたアノテーションデータを学習済みモデルに入力してもよい。
【０１０７】
上記の第１生成部１２及び第２生成部１４の構成は、それぞれ適切に組み合わせることが可能である。
【０１０８】
学習、推論の各種演算は、例えば、ＧＰＵ等のアクセラレータを用いて、又は、ネットワークを介した複数の計算機を用いて、並列処理により実行されるものであってもよい。例えば、学習におけるバッチ処理、推論における各オブジェクトの動作情報の生成等の処理は、複数ある演算コアに演算を振り分けて同じタイミングで実行されるものであってもよい。
【符号の説明】
【０１０９】
１：動作生成装置、１０：パラメータ入力部、１２：第１生成部、１４：第２生成部、１６：記憶部、１８：映像生成部、２：モデル生成装置、２０：動作情報入力部、２２：メタデータ入力部、２４：アノテーション付与部、２６：モデル生成部、２８：モデル出力部
【図１】
2019175266.tif 000003
【図２】
2019175266.tif 000004
【図３】
2019175266.tif 000005
【図４】
2019175266.tif 000006
【図５】
2019175266.tif 000007
【図６】
2019175266.tif 000008
【図７】
2019175266.tif 000009
【図８】
2019175266.tif 000010