(57)【要約】【課題】３Ｄモデルの内容に適したカメラパラメータを含むカメラワークを生成する動画生成装置を提供すること。【解決手段】仮想カメラのカメラパラメータを変えて３Ｄモデルを撮像した動画を生成する動画生成装置１００であって、異なる前記カメラパラメータでそれぞれ３Ｄモデルを撮像して撮像画像を生成する仮想撮像部１０２と、前記仮想撮像部が撮像した撮像画像を入力として前記撮像画像の好ましさを表す適合度を算出する適合度算出部１０３と、前記適合度算出部が算出した前記適合度に基づいて前記仮想カメラのカメラパラメータを遷移するカメラワークを生成するカメラワーク生成部１０４と、を有することを特徴とする。【選択図】図３
2020177495.tif 000002
【特許請求の範囲】
【請求項１】
仮想カメラのカメラパラメータを変えて３Ｄモデルを撮像した動画を生成する動画生成装置であって、
異なる前記カメラパラメータでそれぞれ３Ｄモデルを撮像して撮像画像を生成する仮想撮像部と、
前記仮想撮像部が撮像した撮像画像を入力として前記撮像画像の好ましさを表す適合度を算出する適合度算出部と、
前記適合度算出部が算出した前記適合度に基づいて前記仮想カメラのカメラパラメータを遷移するカメラワークを生成するカメラワーク生成部と、
を有することを特徴とする動画生成装置。
【請求項２】
前記カメラワーク生成部は、カメラパラメータ空間において不作為に複数のカメラワークを生成し、各カメラワークが含む各カメラパラメータの適合度の合計が最も大きくなる前記カメラワークを生成することを特徴とする請求項１に記載の動画生成装置。
【請求項３】
前記カメラワーク生成部は、前記仮想カメラのカメラパラメータの空間における前記適合度の分布をクラスタリングし、各クラスタの代表パラメータを選択し、前記代表パラメータを遷移する前記カメラワークを生成することを特徴とする請求項１に記載の動画生成装置。
【請求項４】
前記仮想撮像部は前記カメラパラメータのうち前記仮想カメラの焦点距離を固定して残りのカメラパラメータを変えて３Ｄモデルを撮像し、
前記カメラワーク生成部は、前記カメラパラメータの空間における１点を中心とした閉球体内の中の前記適合度のバラツキを焦点距離に反映させ、前記カメラワークを生成することを特徴とする請求項２又は３に記載の動画生成装置。
【請求項５】
前記適合度算出部は、前記仮想撮像部が撮像した撮像画像と前記適合度の対応を学習した回帰モデルに、前記仮想撮像部が撮像した撮像画像を入力して前記適合度を算出することを特徴とする請求項１〜４のいずれか１項に記載の動画生成装置。
【請求項６】
前記適合度算出部は、前記仮想撮像部が撮像した複数の撮像画像と前記適合度の対応を学習した回帰モデルに、前記仮想撮像部が撮像した複数の撮像画像を一度に入力して前記適合度を算出することを特徴とする請求項５に記載の動画生成装置。
【請求項７】
前記適合度算出部は、前記仮想カメラの注視点を固定し、前記注視点を中心とする球面上に前記仮想カメラの位置を制約すると共に、
球面上の位置を少しずつ変えて前記注視点の３Ｄモデルを撮像した１画素の画像を正距円筒形式の平面画像に配置して１枚の正距円筒射影画像を生成し、
前記正距円筒射影画像を回帰モデルに入力して前記適合度を算出することを特徴とする請求項６に記載の動画生成装置。
【請求項８】
仮想カメラのカメラパラメータを変えて３Ｄモデルを撮像した動画を生成する動画生成装置が行う動画生成方法であって、
仮想撮像部が、異なる前記カメラパラメータでそれぞれ３Ｄモデルを撮像して撮像画像を生成するステップと、
適合度算出部が、前記仮想撮像部が撮像した撮像画像を入力として前記撮像画像の好ましさを表す適合度を算出するステップと、
カメラワーク生成部が、前記適合度算出部が算出した前記適合度に基づいて前記仮想カメラのカメラパラメータを遷移するカメラワークを生成するステップと、
を有することを特徴とする動画生成方法。
【請求項９】
仮想カメラのカメラパラメータを変えて３Ｄモデルを撮像した動画を生成する動画生成装置を、
異なる前記カメラパラメータでそれぞれ３Ｄモデルを撮像して撮像画像を生成する仮想撮像部と、
前記仮想撮像部が撮像した撮像画像を入力として前記撮像画像の好ましさを表す適合度を算出する適合度算出部と、
前記適合度算出部が算出した前記適合度に基づいて前記仮想カメラのカメラパラメータを遷移するカメラワークを生成するカメラワーク生成部、
として機能させるためのプログラム。
【請求項１０】
請求項９に記載されたプログラムが記憶されたコンピュータ読み取りが可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画生成装置、動画生成方法、プログラム、及び、記憶媒体に関する。
【背景技術】
【０００２】
コンピュータ上で三次元の物体を表現することを三次元コンピュータフィクス(以下、３ＤＣＧという)という。また、３ＤＣＧで表された物体や３ＤＣＤデータを３Ｄモデルという。ディスプレイなどの表示装置で３Ｄモデルを表示するには、情報処理装置が３Ｄモデルを仮想空間に配置し、仮想的な照明を当てて、仮想的なカメラ（以下、仮想カメラという）で撮像した画像を生成する。
【０００３】
従って、３Ｄモデルを表示するには仮想カメラのカメラパラメータ（位置、姿勢、焦点距離等）を決定する必要がある。また、時系列にカメラパラメータを変化させれば動画のように様々な視点から見た３Ｄモデルを表示することができる。３Ｄモデルに対する時系列なカメラパラメータをカメラワークという。
【０００４】
従来から３Ｄモデルに対してカメラワークを生成する技術が知られている（例えば、特許文献１〜３参照。）。特許文献１には、野球ゲームにおいてカメラワークを生成する技術が開示されている。この技術は野球という限定された環境で、予め決められたルールに従いカメラワークを生成するものである。特許文献２には、音楽データの再生時にカメラや光源のカメラパラメータを変化させて３Ｄモデルを描画する技術が開示されている。この技術は、音楽データのアーティスト名、ジャンル、テンポなどに応じてカメラワークを生成するものである。特許文献３には、仮想空間内でオブジェクトに優先順位を付け、対象オブジェクトのカメラワーク情報に規定されているカメラワークをユーザに提供する技術が開示されている。この技術では、カメラワークは注視点に対する動作や非遷移領域を予め指定して作られる。
【０００５】
しかしながら、これらのカメラワーク生成技術は、いずれも３Ｄモデルの内容に応じてカメラワークを生成するものではない。３Ｄモデルの内容とは、どのような３Ｄモデルであるかであり、３Ｄモデルの内容に応じてカメラワークを生成することは３Ｄモデルにとって適切な見せ方となるいくつかのカメラパラメータを生成することをいう。
【０００６】
一方で非特許文献１には、３Ｄモデルに対して注目度の高い領域(Salientな領域)を検出する技術が開示されている。すなわち、注目度の高い領域を検出し、その領域を撮像するようにカメラを動かすことで、３Ｄモデルの内容に応じたカメラワークを生成することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１では３Ｄモデルの注目領域を検出するだけで、注目領域を撮像するのに適した撮像視点や焦点距離などのカメラパラメータを求めることについては記載されていない。
【０００８】
本発明は上記問題を鑑みて、３Ｄモデルの内容に適したカメラパラメータを含むカメラワークを生成する動画生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題に鑑み、本発明は、仮想カメラのカメラパラメータを変えて３Ｄモデルを撮像した動画を生成する動画生成装置であって、異なる前記カメラパラメータでそれぞれ３Ｄモデルを撮像して撮像画像を生成する仮想撮像部と、前記仮想撮像部が撮像した撮像画像を入力として前記撮像画像の好ましさを表す適合度を算出する適合度算出部と、前記適合度算出部が算出した前記適合度に基づいて前記仮想カメラのカメラパラメータを遷移するカメラワークを生成するカメラワーク生成部と、を有することを特徴とする。
【発明の効果】
【００１０】
３Ｄモデルの内容に適したカメラパラメータを含むカメラワークを生成する動画生成装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】動画生成装置のハードウェア構成図の一例である。
【図２】動画生成装置が有する機能をブロック状に示す機能ブロック図の一例である。
【図３】動画生成装置がカメラワークを生成する手順を示すフローチャート図の一例である。
【図４】３Ｄモデルの一例を示す図である。
【図５】回帰モデルにニューラルネットワークを用いる場合のネットワーク構成例を示す図である。
【図６】カメラパラメータとカメラワークを説明する図である。
【図７】カメラワークの生成を模式的に説明する図である。
【図８】カメラワーク生成部がカメラワークを生成する手順を示すフローチャート図の一例である。
【図９】複数の撮像画像を同時に回帰モデルに入力して適合度を出力する処理の流れを説明する図である。
【図１０】図９に対応した回帰モデルの構成例を示す図である。
【図１１】十分に狭い画角の複数の撮像画像を回帰モデルの入力とする処理を説明する図である。
【図１２】正距円筒射影画像を入力とするニューラルネットワークを用いた回帰モデルの構成例を示す図である。
【図１３】適合度の分布のクラスタリングによるカメラワーク生成方法を説明する図である。
【図１４】適合度の分布のクラスタリングによるカメラワーク生成方法を示すフローチャート図の一例である。
【図１５】カメラワークの補間の一例を示す図である。
【図１６】動画生成装置が有する機能をブロック状に示す機能ブロック図の一例である。
【図１７】動画生成装置がカメラワークを生成する手順を示すフローチャート図の一例である。
【図１８】カメラ位置における適合度のバラツキを説明する図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態の一例として、動画生成装置と動画生成装置が行う動画生成方法について説明する。
【００１３】
＜用語について＞
始めに本実施形態で使用される用語について説明する。
【００１４】
３Ｄモデルとは、コンピュータ上で三次元の物体を表現する三次元コンピュータフィクス(３ＤＣＧ)のデータ、又は、３ＤＣＧで表された物体をいう。
【００１５】
カメラパラメータとは、撮像対称である３Ｄモデルの視点を決定する情報であり、例えば、仮想カメラの位置、姿勢、焦点距離、アスペクト比、レンズ歪み等をいう。後述する実施例では位置と姿勢に関してカメラ投影中心、注視位置、光軸回転が用いられている。
【００１６】
カメラワークとはカメラパラメータを時系列に並べたものである。
【００１７】
３Ｄモデルの内容とは、どのような３Ｄモデルであるかをいう。例えば、前方、後方、側面などの局所に特徴部がある３Ｄモデル、又は、遠方から見た全体的な形状に特徴がある３Ｄモデルなどがあり、更に、どの方向から見た場合に特徴的となるかなども３Ｄモデルによって異なる。このように３Ｄモデルの内容は、適切な見せ方と関連する３Ｄモデルの特徴である。
【００１８】
３Ｄモデルの内容に応じて適した視点や焦点距離を持つカメラワークとは、視聴者が３Ｄモデルの内容を容易に理解できるカメラワークをいう。例えば、３Ｄモデルを特徴付けるような視点がカメラワークに含まれる。好ましくは、構図（画像データにおける３Ｄモデルの配置）に審美性を持ったカメラワークをいう。
【００１９】
仮想カメラとは、実際に存在するカメラでなく、規定されたカメラパラメータで撮像画像を生成する仮想的に存在するカメラである。
【００２０】
適合度はその画像の審美性や対象物体の認識性などを反映したもので、人間によって主観的に設定されたものであり、人間が好ましいと感じるほど高い値を示すことが好ましい。
【実施例１】
【００２１】
＜本実施例の概略＞
本実施例の動画生成装置は、予め、撮像画像と、撮像画像の好ましさを示す適合度を学習しておき、この学習結果を利用して仮想カメラが撮像した３Ｄモデルの撮像画像の適合度を算出する。好ましい撮像画像は、上記のように３Ｄモデルの内容を容易に理解できる撮像画像、審美性がある撮像画像などをいう。動画生成装置は、適合度が高い撮像画像が得られるようにカメラワークを生成する。従来の技術では、３Ｄモデルが仮想カメラで撮像された場合の見え方を考慮していないため、３Ｄモデルの内容に適したカメラパラメータを含むカメラワークを生成することが困難であった。
【００２２】
本実施例では、仮想カメラの視点や焦点距離を変えながら３Ｄモデルの複数の撮像画像を撮像し、各撮像画像に対して算出した適合度をもとにカメラワークを生成することで、３Ｄモデルの内容に適した視点や焦点距離を持つカメラワークを生成することができる。
【００２３】
＜構成例＞
図１は、本実施例の動画生成装置１００のハードウェア構成図の一例を示す。図１に示すように、動画生成装置１００は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、入力部１４、表示部１５、及び、接続Ｉ/Ｆ１６を有する。
【００２４】
ＣＰＵ１１は、動画生成装置１００の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３の所定の領域を作業領域として、ＲＯＭ１２に記憶されている各種制御プログラムを実行して、動画生成装置１００が有する各種の機能を実現させる。動画生成装置１００が有する機能の具体的な内容については後述する。
【００２５】
ＲＯＭ１２は、動画生成装置１００に関わるプログラムや各種設定情報などを記憶する不揮発性のメモリ（書き換え不可能なメモリ）である。ＲＡＭ１３は、例えばＳＤＲＡＭなどの記憶手段であって、ＣＰＵ１１の作業エリアとして機能し、プログラムや各種のデータを一時的に記憶する。
【００２６】
入力部１４は、ユーザからの入力（キーボード、マウス、音声などの操作）を受け付けるための周辺機器である。表示部１５は、動画生成装置１００に関する各種の情報を表示する部品又は外付けの周辺機器であり、例えば液晶ディスプレイなどで構成される。なお、表示部１５と入力部１４とが一体的に構成されるタッチパネル等の形態であってもよい。接続Ｉ/Ｆ１６は、外部機器と接続するためのインタフェースである。例えばＵＳＢなどの汎用的なインタフェースでもよいし、有線又は無線で外部の機器と通信する通信インタフェースでもよい。
【００２７】
＜動画生成装置の機能＞
次に、図２を用いて本実施例における動画生成装置１００が有する機能について説明する。図２は、動画生成装置１００が有する機能をブロック状に示す機能ブロック図の一例である。動画生成装置１００は、３Ｄモデル取得部１０１、仮想撮像部１０２、適合度算出部１０３、カメラワーク生成部１０４、及び、出力部１０５を有する。動画生成装置１００が有するこれらの各機能は、図１に示したＲＯＭ１２からＲＡＭ１３に展開されたプログラムをＣＰＵ１１が実行することにより実現されている機能又は手段である。なお、このプログラムは、プログラム配信用のサーバから配信されてもよいし、ＵＳＢメモリや光記憶媒体などのコンピュータ読み取りが可能な記憶媒体に記憶された状態で配布されてもよい。
【００２８】
動画生成装置１００の各機能は図３に示すフローチャート図の各ステップと対応しているため、動画生成装置１００の各機能についてはフローチャート図を参照して説明する。
【００２９】
図３は本実施例において動画生成装置１００がカメラワークを生成する手順を示すフローチャート図の一例である。以下、図３のフローチャート図に従って説明する。
【００３０】
（ステップＳ１０１）
ステップS101では、３Ｄモデル取得部１０１が内部又は外部の記憶装置から処理対象の３Ｄモデルを取得する。記憶装置は例えばＲＯＭ１２又はＲＡＭ１３でもよいし、ネットワーク上の装置でもよい。
【００３１】
３Ｄモデル３５の一例を図４に示す。図４（ａ）の３Ｄモデル３５は三次元座標に配置された車を表している。３Ｄモデル３５は多角形に分割されてデータ化されている。この多角形をポリゴンという場合がある。換言すると大小様々な形状のポリゴンを組み合わせて３Ｄモデル３５が形成される。図４（ｂ）に示すように、３Ｄモデル３５は多角形の頂点の三次元座標（頂点定義）、及び、面（メッシュ）として連結する頂点の組の指定（メッシュ定義）、などを有している。
【００３２】
なお、図４に示す形式にかぎらず、一般的に使われる３ＤＣＧのデータ形式を用いることができる。例えば、多角形は三角形でなく４角形などの場合もある。また、３Ｄモデル３５は多角形で表される他、三次元点の集合で表されてもよい。
【００３３】
（ステップＳ１０２）
ステップS102では、仮想撮像部１０２が３Ｄモデル３５の仮想カメラによる撮像画像を生成する。すなわち、仮想撮像部１０２が３Ｄモデル３５を撮像して複数の撮像画像を得る。仮想カメラは位置、姿勢、焦点距離、アスペクト比、レンズ歪み、などのカメラパラメータで制御され、カメラパラメータを変えて複数の撮像画像を生成する。撮像に使用されカメラパラメータは、位置、姿勢、焦点距離、アスペクト比、レンズ歪みをそれぞれ少しずつ変更して（一様分布やガウス分布で分布させる）、少しずつ異なる位置、姿勢、焦点距離、アスペクト比、レンズ歪みを全て組み合わせて生成される。
【００３４】
（ステップＳ１０３）
ステップS103では、適合度算出部１０３がステップS102で生成した各撮像画像を入力として適合度を算出する（この処理はカメラパラメータに対応する適合度を得る処理に相当する）。
【００３５】
適合度の算出には事前に学習した回帰モデルを用いることができる。回帰モデルには線形回帰、ロジスティック回帰、サポートベクトル回帰、ニューラルネットワークなど、一般的に回帰分析で用いられる手法を用いることができる。
【００３６】
図５は回帰モデルにニューラルネットワークを用いる場合の構成例を示す。図５のニューラルネットワーク３０はＣＮＮ（Convolutional Neural Network）と呼ばれるニューラルネットワークである。ニューラルネットワーク３０にはカメラパラメータθiに対応する撮像画像３１が入力され、ニューラルネットワーク３０はカメラパラメータθiの適合度３２を出力する。iはカメラパラメータの識別情報であり、各カメラパラメータ（撮像画像）ごとに適合度が算出される。
【００３７】
ニューラルネットワーク３０は畳み込み層１，２、プーリング層１，２、活性化関数１〜３、及び、全結合層１、２を有している。畳み込み層１，２は、カーネル（又はフィルター）と呼ばれる格子状の数値データと、カーネルと同サイズの部分画像（ウィンドウと呼ぶ）の数値データについて、要素ごとの積の和を計算することで、１つの数値に変換する処理をいう。この変換処理を、ウィンドウを少しずつずらして処理を行うことで、小さい格子状の数値データ（すなわちテンソル）に変換する。プーリング層１，２は、ウィンドウの数値データから１つの数値を作り出す処理であり。例えばウィンドウ中の最大値を選択する最大値プーリングや、ウィンドウ中の平均値を選択する平均値プーリングなどがある。畳み込み層１、２により撮像画像の特徴が抽出され、プーリング層１，２により対象物の位置の厳密さがぼかされる。活性化関数１〜３は入力を非線形に変換する（活性化する）関数である（例えば、ReLU、tanh、シグモイドなどがある）。全結合層１は活性化関数２の出力をまとめる入力層に相当し、全結合層２は出力層に相当する。全結合層１でまとめられた数値は活性化関数３を経て全結合層２に伝達される。全結合層２は１つの出力ノードを有し、この出力ノードが適合度を出力する。
【００３８】
なお、図示する畳み込み層１，２、プーリング層１，２、活性化関数１〜３、及び、全結合層１、２の数は一例に過ぎないし、処理の順番も一例に過ぎない。
【００３９】
ユーザは事前に撮像画像と適合度の組を多数用意し、そのデータをもとに説明変数の調整を行う。この処理を学習という。説明変数とは、フィルターの内容や全結合層１、２のノード間の係数などである。
【００４０】
回帰モデルの場合、出力層（全結合層２）の活性化関数は恒等写像でよい（変換しない）。また、誤差関数は二乗誤差とするのが一般的である。従って、学習時には全結合層２の出力と用意している適合度の組の差の二乗を誤差逆伝播法で、全結合層２から畳み込み層１まで伝播させ、フィルターの内容や全結合層１，２のノード間の係数を修正する方法が知られている。適合度はその画像の審美性や対象物体の認識性などを反映したもので、人間によって主観的に設定されたものであり、人間が好ましいと感じる撮像画像ほど高い適合度を算出するように学習される。
【００４１】
たとえば事前に複数の被験者に、様々な物体を様々な視点から撮像した撮像画像を見せ、各画像が物体を表現するのに適しているかを５段階（一例である）で評価をしてもらう。この５段階評価値を適合度とし、撮像画像と適合度の組みを訓練データとして得て、回帰モデルで学習する。このように学習した回帰モデルに撮像画像を入力として与えて、適合度を出力値として得る。
【００４２】
（ステップＳ１０４）
ステップS104では、カメラワーク生成部１０４が算出したカメラパラメータに対する適合度を基に、カメラワーク（カメラパラメータの時間系列）を生成する。
【００４３】
図６は、カメラパラメータとカメラワークを説明する図である。図６（ａ）は、時刻ｔ＝１からｔ＝Ｔまでの間、仮想カメラ３３０が移動する状況を示している。図６（ｂ）は座標系を表している。図６（ａ）に示すようにカメラパラメータの一例は、
カメラ投影中心（ｘｔ,ｙｔ,ｚｔ)
注視位置（ｕｔ,ｖｔ，ｗｔ）
光軸回転θｔ
焦点距離ｆｔ
である。
【００４４】
ｔはｔ＝１からｔ＝Ｔまで取るので、カメラワークは図６（ｃ）に示すように、カメラパラメータが時系列に並んだものとなる。
【００４５】
カメラワーク生成部１０４は、カメラパラメータ空間における複数のカメラパラメータを仮想カメラ３３０が通過する軌道を設定する。軌道上の適合度の累積値が最大となる軌道を選択することで、３Ｄモデル３５の内容に応じたカメラワークを生成することができる。すなわち、カメラワークのカメラパラメータを変数として、そのカメラワークの適合度（カメラワークが含む各カメラパラメータに対する適合度の和）を目的関数とした最適化問題を解く。この最適化問題の解法として一般的な最適化アルゴリズムを用いることができ、たとえばグリッド探索、ランダム探索、山登り法、滑降シンプレックス法、分枝限定法、焼きなまし法、遺伝的アルゴリズム、等を用いることができる。
【００４６】
図７はカメラワークの生成を模式的に説明する図である。図７（ａ）では説明の便宜上、撮像位置(x, y, z)をカメラパラメータとし（注視点は原点に固定）、異なる撮像位置を通過する３つの軌道１〜３を示している。カメラワーク生成部１０４は軌道ごとに軌道に含まれる撮像位置で撮像した撮像画像の適合度を合計し、合計した適合度が最大となる軌道をカメラワークに決定する。
【００４７】
図７（ｂ）の例では、不作為（ランダム）に３つのカメラワーク（軌道番号１〜３）を生成し、その軌道上での累積適合度を算出し、その値が最大となるカメラワーク（軌道番号２）を選択している。図では可視化の都合上、カメラパラメータを撮像位置（三次元ベクトル）として扱ったが、図６に示したように仮想カメラの注視位置、光軸回転、焦点距離を含めて８次元のカメラパラメータ空間で考えることもできるし、更にレンズ歪みのカメラパラメータなどを加えることもできる。
【００４８】
なお、カメラワークの軌道上の遷移速度については、等速にしたり、始点で加速・終点で減速させたり、と予め速度変化のパターンが決まっているものとする。なお、カメラワークの生成処理の手順については図８にて説明する。
【００４９】
（ステップＳ１０５）
ステップS105では、出力部１０５がステップS104で生成したカメラワークを出力して処理を終える。
【００５０】
＜カメラワークの生成＞
図８は、カメラワーク生成部１０４がカメラワークを生成する手順を示すフローチャート図の一例である。
【００５１】
まず、カメラワーク生成部１０４は一様分布やガウス分布を用いてランダムにカメラワークに含まれるカメラパラメータを生成する（Ｓ１０４１）。すなわち、ランダムなカメラパラメータとこのカメラパラメータを含むランダムなカメラワークが生成される。
【００５２】
次にそのカメラワークが含む各カメラパラメータに対する適合度の和を求める（Ｓ１０４２）。
【００５３】
そして、その適合度の和がそれまでの繰り返しで得られた値よりも大きければ、現在のカメラワークを採択する（Ｓ１０４３）。
【００５４】
以上の一連の処理を終了条件、例えば、特定回数繰り返すことを満たすまで繰り返す（Ｓ１０４４）。これにより、ランダム探索によりカメラワークのカメラパラメータを求めることができる。
【００５５】
＜まとめ＞
以上により、３Ｄモデル３５に対して、その内容に適切なカメラパラメータ（注視位置、焦点距離等）を含むカメラワークを生成することができる。本実施形態の動画生成装置１００は、３Ｄモデル３５の内容に応じて、その特徴部を表示したり、高い審美性で表示したりできるカメラワークを自動で生成し、３Ｄモデル３５を表示する動画を生成することができる。
【００５６】
コンピュータにより３Ｄモデル３５とカメラワークを読み出し、カメラワークで３Ｄモデルを撮像することで、３Ｄモデルにとって適切な見せ方の動画を生成できる。動画はクラウドなどのネットワークから端末装置に配信することもできるし、記憶装置から読み出して再生したりできる。
【００５７】
＜変形例（バリエーション）＞
以下では、本実施例の各処理のバリエーションを説明する。
【００５８】
＜＜ステップS103のバリエーション＞＞
上記のステップS103ではステップ102で生成した撮像画像ごとに適合度を算出したが、撮像画像のすべてを一度に回帰モデルへ入力し、各撮像画像に対応するカメラパラメータの適合度を算出してもよい。この処理について図９を参照して説明する。
【００５９】
図９は、複数の撮像画像を同時に回帰モデル３６に入力して適合度を出力する処理の流れを説明する図である。図９の回帰モデル３６は、図５のニューラルネットワーク３０で採用した個別の撮像画像に対する適合度を算出する回帰モデルと異なり、複数の撮像画像を入力とした回帰モデルである。複数の撮像画像（カメラパラメータθiに対応する撮像画像３１）が同時に入力されるので撮像画像の数の分だけ説明変数を増やす。また、回帰モデル３６は各撮像画像に対応する適合度をそれぞれ出力する（カメラパラメータθiの適合度３２）。従って、出力層のノードの数はカメラパラメータθiの数である。
【００６０】
図１０は図９に対応した回帰モデル３６の構成例を示す。図１０の回帰モデル３６は、撮像画像の数と同じ畳み込み層群３６１、全結合層群３６２、及び、Soft Max３６３を有している。なお、畳み込み層群３６１と全結合層群３６２にはプーリング層と活性化関数も含まれている。また、Soft Max３６３はカメラパラメータθiの適合度３２を確率に変換する関数である。つまり、図１０の回帰モデル３６が算出する適合度は合計が１になるように正規化されている。
【００６１】
図１０のように構成することで、撮像画像間の相互関係を反映することができる。たとえば、処理対象の３Ｄモデル３５が特徴的なデザインのヘッドライトを持った自動車であった場合、全体の視点を考慮した上でその特徴的なヘッドライトを含む視点の適合度を高くするような処理が可能となる。
【００６２】
また、複数の撮像画像を回帰モデルの入力とする場合の極端な例として、ステップS102で仮想撮像部１０２が撮像画像を十分に狭い画角（0.1度程度）で１×１の解像度の画像(1画素)として作成し、ステップS103でその画素を並べて入力データとすることもできる。カメラパラメータの近い撮像画像（画素）を入力データの中で近くに配置することで、カメラパラメータ間の近さの構造を入力データに反映することができる。
【００６３】
図１１は、十分に狭い画角の複数の撮像画像を回帰モデルの入力とする処理を説明する図である。図１１に示すように、仮想撮像部１０２は、仮想カメラ３３０の注視点を一点（例えば、単位球である球の中心４１）に固定し、中心４１を中心とする球面４０上に仮想カメラ３３０の位置を制約する（焦点距離は固定とする）。
【００６４】
この時、仮想カメラ３３０の位置は球面上なので、カメラパラメータを撮像位置（三次元ベクトル）として扱うと、カメラパラメータは図１１に示すように球面４０上の極座標（θ、φ）で表現できる。球面４０上（θ、φ）の位置から球の中心４１を注視点として３Ｄモデル３５を撮像した１画素の画像を正距円筒形式の平面画像に配置することで、１枚のEquirectangular画像（正距円筒射影画像４２）を生成することができる。なお、カメラパラメータ（θ、φ）は等間隔でサンプリングする。例えば、（θ、φ）をそれぞれ１度でサンプリングすると、カメラパラメータの数は１８０（π）×３６０（２π）である。
【００６５】
この正距円筒射影画像４２を回帰モデル３６の入力として、回帰モデル３６はカメラパラメータ（θ、φ）に対する適合度を算出する。図１２は正距円筒射影画像４２を入力とするニューラルネットワークを用いた回帰モデル３６の構成例を示す図である。畳み込み層３６４が１つになったのみでその他は図１０と同様でよい。
【００６６】
複数の撮像画像を個別に回帰モデル３６への入力とする場合は、例えば図１０のように畳み込み層群３６１を撮像画像ごとに分ける必要があったが、図１２では畳み込み層３６４を正距円筒射影画像４２の全体に適用することができる。この結果、個々の入力データの相互関係を処理に反映させることができ、すなわち全体の視点を考慮した各視点の適合度の算出が可能となる。
【００６７】
また、図１２の全結合層群３６２を廃して計算コストを低減することも可能である。なお、畳み込み層として、通常の平面データに対する畳み込みではなく、球面データに対する畳み込みを用いて、球面上の歪みに対して精度劣化を低減することも可能である（例えば、非特許文献２参照）。
【００６８】
＜＜ステップS104のバリエーション＞＞
続いて、ステップS104のバリエーションについて説明する。ステップS104において、上記の方法ではカメラパラメータの探索空間が広いため適合度が最大となる軌道を見つけるために多くの計算コストを要する。
【００６９】
そこで代わりに、カメラパラメータの空間における適合度の分布をクラスタリングする方法を採ることができる。すなわち、適合度の分布に基づきカメラパラメータ空間を任意の個数のクラスタに分割し、各クラスタの平均パラメータ（中央値、モードでも良い）を遷移するようにカメラワークを生成する。
【００７０】
図１３は適合度の分布のクラスタリングによるカメラワーク生成方法を説明する図である。図１３では説明の便宜上、カメラパラメータは一次元で表現しているが、カメラパラメータが多次元である場合は多次元空間のクラスタリングを行う。図１３の横軸はカメラパラメータ、縦軸が適合度である。従って、各カメラパラメータと適合度の散布図を表している。適合度が近い範囲のカメラパラメータが図１３では３つのクラスタ１〜３にクラスタリングされている。カメラワーク生成部１０４は各クラスタ１〜３の平均に対応するカメラパラメータを含むカメラワークを生成することができる。
【００７１】
なお、クラスタリング手法としては、k−means法、又は混合ガウス分布に対するEMアルゴリズム/変分ベイズ法など、一般的なクラスタリング手法を用いることができる。
【００７２】
図１４は適合度の分布のクラスタリングによるカメラワーク生成方法を示すフローチャート図の一例である。まず、カメラワーク生成部１０４は、各カメラパラメータに対する適合度を頻度分布として、カメラパラメータ空間を複数のクラスタにクラスタリングする（Ｓ１７０１）。クラスタの数は任意でよいが、例えば動画の再生時間などに応じて設定されるものとする。
【００７３】
次に、カメラワーク生成部１０４は各クラスタの代表パラメータ（典型的には平均値であるが、中央値又は最頻値でもよい）を選択する（Ｓ１７０２）。
【００７４】
そして、カメラワークで遷移するクラスタの順序を決定する（Ｓ１７０３）。ひとつの方法としては、カメラパラメータ空間に適当な順序関係（たとえば原点とのユークリッド距離の大小）を入れてソートすることで遷移順序を決めることができる。また別の方法としては、カメラパラメータ空間に距離（たとえばユークリッド距離）を入れて、まずランダムに１つのクラスタの代表パラメータを選択し、次にその値にもっとも近いクラスタの代表パラメータを選択することを再帰的に行うことで順序を決めることができる。
【００７５】
最後に、カメラワーク生成部１０４は順序付けられた各クラスタの代表パラメータの間のカメラワークを補間する（Ｓ１７０４）。カメラパラメータ間の遷移には線形補間やスプライン補間など、任意の補間手法を用いることができる。
【００７６】
以上で、複数のクラスタの代表パラメータに対応するカメラパラメータを遷移するカメラワークを生成することができる。図１５はカメラワークの補間の一例を示す。カメラパラメータをカメラ位置（xyz座標）として、４つのクラスタの代表パラメータをスプラインで補間してカメラワークを生成する例を示している。
【００７７】
このように、カメラパラメータの空間における適合度の分布をクラスタリングし、各クラスタの代表パラメータを選択し、そのカメラパラメータ間を遷移することで、低い計算コストで３Ｄモデルの内容に応じて適したカメラパラメータを有するカメラワークを生成することができる。
【実施例２】
【００７８】
実施例２では、３Ｄモデル３５の撮像画像の焦点距離を固定することでカメラパラメータの探索空間を狭めて、低計算コストでカメラワークを生成する動画生成装置１００について説明する。
【００７９】
実施例１の方法ではカメラパラメータの要素の数に応じて計算コストが増大するという不都合がある。本実施例ではカメラパラメータのうち焦点距離を固定した上で実施例１と同様の方法を採り、得られた適合度のバラツキの値に応じて焦点距離を算出することで、計算コストの低減を図る。
【００８０】
図１６は、本実施例における動画生成装置１００が有する機能をブロック状に示す機能ブロック図の一例である。本実施例の動画生成装置１００は、図２の動画生成装置１００に対して仮想撮像部３０２とカメラワーク生成部３０４を有している。これらの機能について図１７に基づいて説明する。
【００８１】
図１７は、動画生成装置１００がカメラワークを生成する手順を示すフローチャート図の一例である。図３と比較すると、ステップＳ３０２、Ｓ３０４が異なっている。以下では、図３との相違を主に説明する。
【００８２】
（ステップＳ３０２）
ステップS302では、仮想撮像部３０２が３Ｄモデル３５の仮想カメラによる撮像画像を生成する。仮想カメラのカメラパラメータは、位置、姿勢、アスペクト比、レンズ歪み、などであり、カメラパラメータを変えて複数の撮像画像を得る。本実施例では、焦点距離を固定する。
【００８３】
（ステップＳ３０４）
ステップS304では、カメラワーク生成部３０４が算出したカメラパラメータに対する適合度を基に、カメラワーク（カメラパラメータの時間系列）を生成する。焦点距離を固定して残りのカメラパラメータの選択は実施例１と同様に行うことができる。
【００８４】
焦点距離は、焦点距離以外のカメラパラメータの軌道において、カメラ位置に対する適合度のバラツキを焦点距離に反映させる。すなわち、適合度をカメラ位置の確率密度とした時のカメラ位置のバラツキを焦点距離に反映させる。
【００８５】
図１８はカメラ位置における適合度のバラツキを説明する図である。図１８に示すように、得られた軌道上の１点を中心とした適当な半径の閉球体４４を考え、カメラワーク生成部３０４は、その閉球体４４内（閉球体内）の適合度の分布のバラツキを焦点距離に反映させる。分布のバラツキとして共分散行列を算出し、その行列式やトレースを用いることができる。閉球体４４内の適合度の分布に関する共分散行列Ｃは、カメラ位置x=(x,y,z)^T、位置xにおける閉球体B(x)及び適合度f(x)に対して、次式で計算することができる。
【００８６】
【数１】
2020177495.tif 000003
ここで積分演算は位置xを離散化して数値計算にて行うことができる。カメラワーク生成部３０４は、バラツキが大きい場合は焦点距離を小さくし（画角を広げ）、バラツキが小さい時は焦点距離を大きくする（画角を小さくする）。バラツキから焦点距離への変換関数やテーブルは事前に用意しておく。
【００８７】
これにより、あるカメラ位置近傍で適合度が高い場合は画角を広げ、あるカメラ位置の適合度が局所的に低い場合は画角を小さくするという制御が可能となる。また、軌道生成をクラスタリングベースで行う場合には、各クラスタにおける適合度のバラツキに応じて、上記と同様の手法によって焦点距離を決めることができる。
【００８８】
＜まとめ＞
本実施例によれば、焦点距離を固定して撮像画像を生成し、撮像画像群に対する適合度のバラツキから焦点距離を決めることで、低計算コストでカメラワークを生成することができる。
【００８９】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００９０】
例えば、本実施形態は、３ＤＣＧの動画の生成だけでなく、バーチャルリアリティシステムに適用でき、更にこれらを用いた広告にも適用できる。また、各種のＥＣサイトにおいて、３Ｄモデル３５で表された商品やサービスを視聴者に効果的に閲覧させることができる。
【００９１】
また、本実施形態では機械学習により撮像画像と適合度の対応を学習した。機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり，コンピュータが，データ識別等の判断に必要なアルゴリズムを，事前に取り込まれる学習データから自律的に生成し，新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、更に、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
【００９２】
また、以上の実施例で示した図３などの構成例は、動画生成装置１００の処理の理解を容易にするために、主な機能に応じて分割したものである。しかし、各処理単位の分割の仕方や名称によって本願発明が制限されることはない。動画生成装置１００は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【００９３】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC（Application Specific Integrated Circuit）、DSP（digital signal processor）、FPGA（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【００９４】
１００    動画生成装置
１０１    ３Ｄモデル取得部
１０２    仮想撮像部
１０３    適合度算出部
１０４    カメラワーク生成部
１０５    出力部
【先行技術文献】
【特許文献】
【００９５】
【特許文献１】特許3944456号公報
【特許文献２】特開2005−056101号公報
【特許文献３】特開2006−172037号公報
【非特許文献１】C.H. Lee, A. Varshney, D.W. Jacobs, "Mesh saliency," ACM transactions on graphics (TOG), Vol. 24. No. 3. 2005.
【非特許文献２】T. Cohen, et al., "Spherical CNNs," In proceedings of International Conference on Machine Learning, 2018.
【図１】
2020177495.tif 000004
【図２】
2020177495.tif 000005
【図３】
2020177495.tif 000006
【図４】
2020177495.tif 000007
【図５】
2020177495.tif 000008
【図６】
2020177495.tif 000009
【図７】
2020177495.tif 000010
【図８】
2020177495.tif 000011
【図９】
2020177495.tif 000012
【図１０】
2020177495.tif 000013
【図１１】
2020177495.tif 000014
【図１２】
2020177495.tif 000015
【図１３】
2020177495.tif 000016
【図１４】
2020177495.tif 000017
【図１５】
2020177495.tif 000018
【図１６】
2020177495.tif 000019
【図１７】
2020177495.tif 000020
【図１８】
2020177495.tif 000021