(57)【特許請求の範囲】
【請求項１】
複数の関節を有する動体を撮像した一連のフレームを含む２次元動画データを取得する２次元動画データ取得部と、
前記一連のフレームのそれぞれから、前記動体の輪郭を抽出する輪郭抽出部と、
前記輪郭に対応した１又は２以上の３次元姿勢データを前記一連のフレームのそれぞれについて生成する３次元姿勢データ生成部と、
生成された３次元姿勢データのそれぞれについて、前記関節で接合された一対の骨の間の角度に基づいてそれぞれの３次元姿勢データに対応する３次元モデルの姿勢が適切であるか否かを判定する姿勢判定部と、
前記一連のフレームのそれぞれに対応付けて、適切であると判定された３次元姿勢データを連続して配置することによって、一連の３次元姿勢データを含む３次元動画データを生成する３次元動画データ生成部と、
前記３次元動画データを出力する出力部と、
を有することを特徴とする３次元動画データ生成装置。
【請求項２】
前記姿勢判定部は、
前記１つ又は２つ以上の３次元モデルの姿勢のそれぞれについて、前記関節で接合された一対の骨の間の角度を推定する関節角推定部と、
推定された前記一対の骨の間の角度が所定の適正範囲内であるか否かを判定する関節角判定部と、
検出された前記一対の骨の間の角度が何れも前記適正範囲内であると判定されたときに、前記３次元モデルの姿勢が適切であることを決定する第１決定処理を実行する第１姿勢決定部と、
を有する、請求項１に記載の３次元動画データ生成装置。
【請求項３】
前記姿勢判定部は、
前記第１決定処理において姿勢が適切であると判定された３次元モデルを時系列順に配列するフレーム配列部と、
時系列順に配列された３次元モデルの関節の位置を推定する関節位置推定部と、
それぞれの関節について、現在の３次元モデルの関節と、次の時間の３次元モデルの関節との間の位置関係が適切であるか否かを判定する関節位置判定部と、
前記関節の間の位置関係が適切であると判定されたときに、前記３次元モデルの姿勢が適切であることを決定する第２決定処理を実行する第２姿勢決定部と、
を更に有する、請求項２に記載の３次元動画データ生成装置。
【請求項４】
前記３次元姿勢データ生成部は、対応するフレームに含まれる前記動体が撮像された角度から見たときの前記３次元モデルの輪郭と、対応するフレームに含まれる前記動体の輪郭との差が所定のしきい値以下になるように、前記３次元モデルの姿勢を生成する、請求項１〜３の何れか一項に記載の３次元動画データ生成装置。
【請求項５】
複数の関節を有する動体を撮像した一連のフレームを含む２次元動画データを取得し、
前記一連のフレームのそれぞれから、前記動体の輪郭を抽出し、
前記輪郭に対応した１又は２以上の３次元姿勢データを前記一連のフレームのそれぞれについて生成し、
生成された３次元姿勢データのそれぞれについて、前記関節で接合された一対の骨の間の角度に基づいてそれぞれの３次元姿勢データに対応する３次元モデルの姿勢が適切であるか否かを判定し、
前記一連のフレームのそれぞれに対応付けて、適切であると判定された３次元姿勢データを連続して配置することによって、一連の３次元姿勢データを含む３次元動画データを生成し、
前記３次元動画データを出力する、
ことを含むことを特徴とする３次元動画データ生成方法。
【請求項６】
複数の関節を有する動体を撮像した一連のフレームを含む２次元動画データを取得し、
前記一連のフレームのそれぞれから、前記動体の輪郭を抽出し、
前記輪郭に対応した１又は２以上の３次元姿勢データを前記一連のフレームのそれぞれについて生成し、
生成された３次元姿勢データのそれぞれについて、前記関節で接合された一対の骨の間の角度に基づいてそれぞれの３次元姿勢データに対応する３次元モデルの姿勢が適切であるか否かを判定し、
前記一連のフレームのそれぞれに対応付けて、適切であると判定された３次元姿勢データを連続して配置することによって、一連の３次元姿勢データを含む３次元動画データを生成し、
前記３次元動画データを出力する、
ことをコンピュータに実行させること特徴とする３次元動画データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元動画データ生成装置、３次元動画データ生成プログラム、及びその方法に関する。
【背景技術】
【０００２】
人物等の動体の動作を示す３次元動画を示す動画データを生成する種々の方法が知られている。例えば、特許文献１には、それぞれが発光素子を有する複数のマーカを装着した人物を撮像することにより、人物の動作を示す動画データを取得する方法が記載される。しかしながら、マーカを装着した人物を撮像して人物の動作を示す動画データを取得する場合、取得したい動作ができる人物を確保する必要がある上に、撮像したフレームからノイズを除去する等の前処理を施す必要があり、３次元動画生成コストが高くなるおそれがある。
【０００３】
人物等の動作を取得するコストを抑制するために、単眼カメラから取得した人物等の動体の２次元フレームから３次元の位置姿勢を推定することが知られる。例えば、特許文献２には、フレームに所定の処理を施すことによって抽出された対象物についての幾何学的特徴を表す数値を特徴量として用いて、マッチングを行うことが記載される。また、特許文献３及び４には、フレームに含まれる認識対象の特徴量を抽出するパラメータを、遺伝的アルゴリズムとも称される進化的アルゴリズムを使用して最適化することが記載される。また、特許文献５には、姿勢モデルが取り得る姿勢の範囲内で３次元モデルに基づいて生成されたシルエットフレームと、取得したフレームに含まれる人物のシルエットフレームとのマッチングを行って姿勢を示すデータを生成することが記載される。そして、特許文献６には、染色体の遺伝子情報に応じて仮想３次元人物モデルの姿勢を変化させて、仮想人物モデルの姿勢を人物の姿勢に近づけることで、姿勢を検出することが記載される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００４／０９４９４３号公報
【特許文献２】特開第２０１０−９７３４１号公報
【特許文献３】特開第２００９−６４１６２号公報
【特許文献４】特開第２０１０−２６６９８３号公報
【特許文献５】国際公開第２００７／０１０８９３号公報
【特許文献６】特開第２０１１−１１３３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、動体の特徴量を抽出して動体の姿勢を推定する場合、特徴量を抽出する部位の数が増加するに従って、特徴量を抽出するための演算処理が増加して演算コストが増大するおそれがある。また、３次元モデルに基づいて生成されたシルエットフレームと、取得したフレームに含まれる人物のシルエットフレームとのマッチングにより姿勢を示すデータを生成するときに、人物のシルエットフレームに対応する複数のフレームモデルが存在する場合がある。例えば、両腕を胸の前で組んでいる人物のシルエットフレームのフレームモデルとして、両腕を胸の前で組むフレームモデル、両腕を背中の後ろで組むフレームモデル、一方の腕を胸の前に配置し且つ他方の腕を背中の後ろに配置するフレームモデルが挙げられる。一連のフレームのそれぞれにおいて多くの姿勢を示すデータが生成されると、３次元モデルの姿勢を含む一連のフレームを含む動画を示す３次元動画データを生成する生成コストが増加するおそれがある。
【０００６】
本発明は、２次元動画に含まれる動体の輪郭から３次元モデルの姿勢を含む一連のフレームを含む動画を示す３次元動画データを生成する生成コストを低減することができる３次元動画データ生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を実現するため、本発明に係る３次元動画データ生成装置は、複数の関節を有する動体を撮像した一連のフレームを含む２次元動画データを取得する２次元動画データ取得部と、一連のフレームのそれぞれから、動体の輪郭を抽出する輪郭抽出部と、輪郭に対応した１又は２以上の３次元姿勢データを一連のフレームのそれぞれについて生成する３次元姿勢データ生成部と、生成された３次元姿勢データのそれぞれについて、それぞれの３次元姿勢データに対応する３次元モデルの姿勢が適切であるか否かを判定する姿勢判定部と、一連のフレームのそれぞれに対応付けて、適切であると判定された３次元姿勢データを連続して配置することによって、一連の３次元姿勢データを含む３次元動画データを生成する３次元動画データ生成部と、３次元動画データを出力する出力部とを有することを特徴とする。
【０００８】
また、本発明に係る３次元動画データ生成装置では、姿勢判定部は、１つ又は２つ以上の３次元モデルの姿勢のそれぞれについて、関節で接合された一対の骨の間の角度を推定する関節角推定部と、推定された一対の骨の間の角度が所定の適正範囲内であるか否かを判定する関節角判定部と、検出された一対の骨の間の角度が何れも適正範囲内であると判定されたときに、３次元モデルの姿勢が適切であることを決定する第１決定処理を実行する第１姿勢決定部とを有することが好ましい。
【０００９】
また、本発明に係る３次元動画データ生成装置では、姿勢判定部は、第１決定処理において姿勢が適切であると判定された３次元モデルを時系列順に配列するフレーム配列部と、時系列順に配列された３次元モデルの関節の位置を推定する関節位置推定部と、それぞれの関節について、現在の３次元モデルの関節と、次の時間の３次元モデルの関節との間の位置関係が適切であるか否かを判定する関節位置判定部と、関節の間の位置関係が適切であると判定されたときに、３次元モデルの姿勢が適切であることを決定する第２決定処理を実行する第２姿勢決定部とを更に有することが好ましい。
【００１０】
また、本発明に係る３次元動画データ生成装置では、３次元姿勢データ生成部は、対応するフレームに含まれる動体が撮像された角度から見たときの３次元モデルの輪郭と、対応するフレームに含まれる動体の輪郭との差が所定のしきい値以下になるように、３次元モデルの姿勢を生成することが好ましい。
【００１１】
さらに、本発明に係る３次元動画データ生成方法は、複数の関節を有する動体を撮像した一連のフレームを含む２次元動画データを取得し、一連のフレームのそれぞれから、動体の輪郭を抽出し、輪郭に対応した１又は２以上の３次元姿勢データを一連のフレームのそれぞれについて生成し、生成された３次元姿勢データのそれぞれについて、それぞれの３次元姿勢データに対応する３次元モデルの姿勢が適切であるか否かを判定し、一連のフレームのそれぞれに対応付けて、適切であると判定された３次元姿勢データを連続して配置することによって、一連の３次元姿勢データを含む３次元動画データを生成し、３次元動画データを出力することを含むことを特徴とする。
【００１２】
さらに、本発明に係る３次元動画データ生成プログラムは、複数の関節を有する動体を撮像した一連のフレームを含む２次元動画データを取得し、一連のフレームのそれぞれから、動体の輪郭を抽出し、輪郭に対応した１又は２以上の３次元姿勢データを一連のフレームのそれぞれについて生成し、生成された３次元姿勢データのそれぞれについて、それぞれの３次元姿勢データに対応する３次元モデルの姿勢が適切であるか否かを判定し、一連のフレームのそれぞれに対応付けて、適切であると判定された３次元姿勢データを連続して配置することによって、一連の３次元姿勢データを含む３次元動画データを生成し、３次元動画データを出力することをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、２次元動画に含まれる動体の輪郭から３次元モデルの姿勢を含む一連のフレームを含む動画を示す３次元動画データを生成する生成コストを低減することができる３次元動画データ生成装置が提供される。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る３次元動画データ生成装置により実行される３次元動画データ生成処理を概略的に示す図である。
【図２】実施形態に係る３次元動画データ生成装置のブロック図である。
【図３】３次元動画データ生成装置１による３次元動画データ生成処理のフローチャートである。
【図４】（ａ）は動画に含まれる時刻ｔ1におけるフレームを示す図であり、（ｂ）は動画に含まれる時刻ｔ1よりも遅い時刻ｔ2におけるフレームを示す図であり、（ｃ）は動画に含まれる時刻ｔ2よりも更に遅い時刻ｔ3におけるフレームを示す図である。
【図５】（ａ）は図２に示す３次元姿勢データ生成部が３次元姿勢データを生成するときに使用する３次元モデルの一例を示す図であり、図５（ｂ）は図５（ａ）に示す３次元モデルの関節を示すテーブルである。
【図６】図３に示すＳ１０４のより詳細な処理を示すフローチャートである。
【図７】図３に示すＳ１０４の処理を説明するための第１の図であり、（ａ）はＳ１０１の処理で取得された動画の第１フレームを示し、（ｂ）は第１フレームの次の第２フレームを示し、（ｃ）は第２フレームの次の第３フレームを示し、（ｄ）は第１フレームの動体の姿勢と同一の姿勢である３次元モデルを正面から見たフレームを示し、（ｅ）は第２フレームの動体の姿勢と同一の姿勢である３次元モデルを正面から見たフレームを示し、（ｆ）は第３フレームの動体の姿勢と同一の姿勢である３次元モデルを正面から見たフレームを示す。
【図８】Ｓ１０４の処理を説明するための第２の図であり、図６に示すＳ２０１〜Ｓ２０３の処理を説明するための図であり、（ａ）は図７（ａ）に示す３次元モデルの姿勢を横から見た第１姿勢を含むフレームを示し、（ｂ）は図７（ａ）に示す３次元モデルの姿勢を横から見た第２姿勢を含むフレームを示し、（ｃ）は図７（ａ）に示す３次元モデルの姿勢を横から見た第３姿勢を含むフレームを示す。
【図９】Ｓ１０４の処理を説明するための第３の図であり、図６に示すＳ２０４〜Ｓ２０７の処理を説明するための図である。
【図１０】Ｓ１０４の処理を説明するための第４の図であり、図６に示すＳ２０４〜Ｓ２０７の処理を説明するための図である。
【図１１】Ｓ１０４の処理を説明するための第５の図であり、図６に示す第１フレーム〜第３フレームから図３に示すＳ１０４の処理で適切であると決定された３次元モデルの姿勢を示す図である。
【図１２】犬の３次元モデルの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下の図面を参照して、本発明に係る３次元動画データ生成装置、３次元動画データ生成プログラム、及びその方法について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明との均等物に及ぶ点に留意されたい。
【００１６】
（実施形態に係る３次元動画データ生成装置の概要）
図１は、実施形態に係る３次元動画データ生成装置により実行される３次元動画データ生成処理を概略的に示す図である。
【００１７】
まず、実施形態に係る３次元動画データ生成装置は、人物等の動体が撮像された一連のフレームを含む動画を示す２次元動画データを取得する（Ｓ１）。一例では、実施形態に係る３次元動画データ生成装置は、インタネットを介して２次元動画データを取得する。次いで、実施形態に係る３次元動画データ生成装置は、動画データに対応する動画に含まれる動体を検出し、検出した動体の輪郭を抽出する（Ｓ２）。次いで、実施形態に係る３次元動画データ生成装置は、抽出した輪郭に対応する１つ又は２つ以上の３次元モデルの姿勢を示す３次元姿勢データを一連のフレームのそれぞれについて生成する（Ｓ３）。次いで、実施形態に係る３次元動画データ生成装置は、一連のフレームのそれぞれについて生成された１つ又は２つ以上の３次元姿勢データに対応する３次元モデルの姿勢のそれぞれが適切であるか否かを判定する（Ｓ４）。そして、実施形態に係る３次元動画データ生成装置は、一連のフレームのそれぞれに対応付けて、適切であると判定された３次元姿勢データを連続して配置することによって、一連の３次元姿勢データを含む３次元動画データを生成する（Ｓ５）。実施形態に係る３次元動画データ生成装置は、生成した３次元姿勢データに対応する３次元モデルの姿勢が適切であるか否かを判定することで、取得した２次元フレームに含まれる動体の輪郭から生成可能な姿勢の中で、適切な姿勢を選択する。実施形態に係る３次元動画データ生成装置は、フレームに含まれる動体の適切な姿勢を選択して、３次元動画データを生成することで、動体の動作を示す３次元動画データを生成する生成コストを抑制する。
【００１８】
（実施形態に係る３次元動画データ生成装置の構成及び機能）
図２は、実施形態に係る３次元動画データ生成装置のブロック図である。
【００１９】
３次元動画データ生成装置１は、通信部１０と、記憶部１１と、入力部１２と、出力部１３と、処理部２０とを有する。
【００２０】
通信部１０は、ＨＴＴＰ（Hypertext Transfer Protocol）のプロトコルに従ってインタネットを介して不図示のサーバ等と通信を行う。そして、通信部１０は、サーバ等から受信したデータを処理部２０に供給する。また、通信部１０は、処理部２０から供給されたデータをサーバ等に送信する。
【００２１】
記憶部１１は、例えば、半導体装置、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。記憶部１１は、処理部２０での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶部１１は、アプリケーションプログラムとして、２次元動画データから３次元動画データを生成する３次元動画データ生成処理を、処理部２０に実行させるための３次元動画データ生成プログラム等を記憶する。３次元動画データ生成プログラムは、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部１１にインストールされてもよい。
【００２２】
また、記憶部１１は、データとして、入力処理で使用するデータ等を記憶する。さらに、記憶部１１は、入力処理等の処理で一時的に使用されるデータを一時的に記憶してもよい。
【００２３】
入力部１２は、データの入力が可能であればどのようなデバイスでもよく、例えば、タッチパネル、キーボタン等である。操作者は、入力部１２を用いて、文字、数字、記号等を入力することができる。入力部１２は、操作者により操作されると、その操作に対応する信号を生成する。そして、生成された信号は、操作者の指示として、処理部２０に供給される。
【００２４】
出力部１３は、映像やフレーム等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ又は有機ＥＬ（Electro−Luminescence）ディスプレイ等である。出力部１３は、処理部２０から供給された映像データに応じた映像や、動画データに応じたフレーム等を表示する。また、出力部１３は、紙などの表示媒体に、映像、フレーム又は文字等を印刷する出力装置であってもよい。
【００２５】
処理部２０は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部２０は、３次元動画データ生成装置１の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵである。処理部２０は、記憶部１１に記憶されているプログラム（ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等）に基づいて処理を実行する。また、処理部２０は、複数のプログラム（アプリケーションプログラム等）を並列に実行できる。
【００２６】
処理部２０は、２次元動画データ取得部２１と、輪郭抽出部２２と、３次元姿勢データ生成部２３と、姿勢判定部２４と、３次元動画データ生成部２５と、３次元動画データ出力部２６とを有する。姿勢判定部２４は、関節角推定部３１と、関節角判定部３２と、第１姿勢決定部３３と、フレーム配列部３４と、関節位置推定部３５と、関節位置判定部３６と、第２姿勢決定部３７とを有する。これらの各部は、処理部２０が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして３次元動画データ生成装置１に実装されてもよい。
【００２７】
（実施形態に係る３次元動画データ生成装置の動作）
図３は、３次元動画データ生成装置１による３次元動画データ生成処理のフローチャートである。図３に示す３次元動画データ生成処理は、予め記憶部１１に記憶されているプログラムに基づいて、主に処理部２０により、３次元動画データ生成装置１の各要素と協働して実行される。
【００２８】
まず、２次元動画データ取得部２１は、人物等の動体が撮像された一連のフレームを含む動画を示す２次元動画データを取得する（Ｓ１０１）。３次元動画データ生成装置１は、既知の検索エンジンを使用してインタネットを介して所望の条件に対応する２次元動画データを取得する。一例では、３次元動画データ生成装置１は、人物を取得する対象の動体としてもよい。３次元動画データ生成装置１は、人間の大人を対象の動体として取得してもよく、人間の子供を対象の動体として取得してもよい。
【００２９】
次いで、輪郭抽出部２２は、Ｓ１０１の処理で取得された２次元動画データに対応する２次元動画に撮像された対象の動体を検出し、検出された一連のフレームのそれぞれに含まれる動体の輪郭を抽出する（Ｓ１０２）。輪郭抽出部２２は、抽出した動画の輪郭を、対応するフレームの時刻及び動体の向き等の情報と共に記憶部１１に記憶する。輪郭抽出部２２は、ＨＯＧ（Histograms of Oriented Gradients）等の既知の人物検出アルゴリズムを使用して、２次元動画データに対応する２次元動画に含まれる一連のフレームの何れかに含まれる対象の動体を検出する。輪郭抽出部２２は、一連のフレームの何れかに含まれる対象の動体を検出すると、検出したフレームの前後のフレームに含まれる動体の位置及び輪郭を予測することにより、動体が検出できなかったフレームに含まれる動体を検出する。
【００３０】
図４（ａ）は動画に含まれる時刻ｔ1におけるフレームを示す図であり、図４（ｂ）は動画に含まれる時刻ｔ1よりも遅い時刻ｔ2におけるフレームを示す図であり、図４（ｃ）は動画に含まれる時刻ｔ2よりも更に遅い時刻ｔ3におけるフレームを示す図である。
【００３１】
フレーム４０１は、顔を横方向に向けて腕を横方向に広げたバレリーナである動体４１１を含む。フレーム４０２は、顔を前方に向けて腕を上方向に掲げ且つ片足を振り上げたバレリーナである動体４１２を含む。フレーム４０１は、顔を後方に向けて腕を横方向に広げたバレリーナである動体４１１を含む。輪郭抽出部２２は、動体４１１を検出できず且つ動体４１２を検出できたとき、動体４１２を検出した時刻ｔ2から動体４１２を含むフレーム４０１に対応する時刻ｔ1まで、時系列を逆方向に動体の位置及び形状を順次予測して動体４１１を検出する。また、輪郭抽出部２２は、動体４１２を検出でき且つ動体４１１を検出できたが、動体４１３が後方に向いていることを検出できなかったとき、動体４１２から動体の位置及び形状を時系列方向に順次予測して動体４１３が後ろに向いていることを検出する。
【００３２】
輪郭抽出部２２は、２次元動画に含まれる一連のフレームに撮像された動体の位置及び姿勢を、検出された動画から時系列方向及び時系列の反対方向に順次予測することで、一連のフレームに含まれる対象の動体の動作をフレーム毎に検出できる。また、対象の動体の位置及び姿勢をフレーム毎に検出することで、対象の動体以外の動画に撮像された動体を対象の動体と分離できる。例えば、フレーム４０１とフレーム４０２との間の複数のフレームに対象の動体４１１及び４１２に対応するバレリーナ以外のバレリーナ等の他の動体が撮像されていた場合でも、対象の動体の位置及び姿勢を順次予測することで対象の動体は他の動体と分離できる。
【００３３】
次いで、３次元姿勢データ生成部２３は、Ｓ１０２の処理で抽出された動体の輪郭に対応する１つ又は２つ以上の３次元モデルの姿勢を示す３次元姿勢データを一連のフレームのそれぞれについて生成する（Ｓ１０３）。３次元姿勢データは、対応するフレームの時刻及び動体の向き等の情報と共に記憶部１１に記憶される。
【００３４】
図５（ａ）は３次元姿勢データ生成部２３が３次元姿勢データを生成するときに使用する３次元モデルの一例を示す図であり、図５（ｂ）は図５（ａ）に示す３次元モデルの関節を示すテーブルである。
【００３５】
３次元モデル５０１は、人物の３次元モデルであり、骨格及び皮膚形状を有する。３次元モデル５０１にはテーブル５０２に示される２４個の関節を有し、関節の動作に応じて皮膚形状が変形する。３次元モデル５０１は、人物の外観を有する形状にリグ（Rig）を組み込むことにより形成される。３次元モデル５０１を示す３次元モデルデータは、一例ではPeter Borosanらによる論文「RigMesh: Automatic Rigging for Part-Based Shape Modeling and Deformation」等で説明されるコンピュータプログラム「Rigmesh」を使用して生成されてもよい。また、３次元モデル５０１を示す３次元モデルデータは、テンプレートをモーフィング（morphing）することで、生成されてもよい。例えば、細身の８頭身のテンプレートのパーツを膨らませること又は細くすることにより、二次元データから抽出した輪郭に一致するように形状を変更して生成された複数の候補モデルの中で、抽出された輪郭との間の差分が最も少ないものを３次元モデルに採用してもよい。この場合、モーションデータ推定の際のパラメータが一つ増える。また、３次元モデル５０１を示す３次元モデルデータは、予め記憶した「Rigmesh」で生成したデータとテンプレートのデータの差分を示す差分データに基づいて生成されてもよい。この場合、身体の形状は「Rigmesh」のデータに基づいて評価され、関節の角度はテンプレートのデータに基づいて評価される。
【００３６】
３次元モデル５０１は、腰関節（HipCenter）５１１を有する。３次元モデル５０１は、脊髄関節（Spince）５２１と、肩中央関節（ShoulderCenter）５２２と、首関節（Neck）５２３と、眼関節（Eye）５２４と、頭関節（Head）５２５と、左眼関節（EyeLeft）５２６と、右眼関節（EyeRight）５２７とを更に有する。３次元モデル５０１は、左肩関節（ShoulderLeft）５３１と、左肘関節（ElbowLeft）５３２と、左手首関節（WristLeft）５３３とを更に有する。３次元モデル５０１は、右肩関節（ShoulderRight）５４１と、右肘関節（ElbowRight）５４２と、右手首関節（WristRight）５４３とを更に有する。３次元モデル５０１は、左腰関節（HipLeft）５５１と、左膝関節（KneeLeft）５５２と、左足首関節（AnkleLeft）５５３と、左踵関節（HeelLeft）５５４と、左つま先関節（ToeLeft）５５５とを更に有する。３次元モデル５０１は、右腰関節（HipRight）５６１と、右膝関節（KneeRight）５６２と、右足首関節（AnkleRight）５６３と、右踵関節（HeelRight）５６４と、右つま先関節（ToeRight）５６５とを更に有する。
【００３７】
３次元姿勢データ生成部２３は、３次元モデル５０１の複数の関節のそれぞれの位置及び３次元モデル５０１の関節で接合された一対の骨の間の角度を調整することで、Ｓ１０２の処理で抽出された動体の輪郭に対応する１つ又は２つ以上の３次元姿勢データを生成する。３次元姿勢データ生成部２３は、遺伝的アルゴリズム（Genetic Algorithm、ＧＡ）又はディープランニング等の機械学習等の既知の演算アルゴリズムを使用して、Ｓ１０２の処理で抽出された動体の輪郭に対応する１つ又は２つ以上の３次元姿勢データを生成する。例えば、３次元姿勢データ生成部２３は、対応するフレームに含まれる動体が撮像された角度から見たときの３次元モデルの輪郭と、対応するフレームに含まれる動体の輪郭との差が所定のしきい値以下になるように、３次元姿勢データを生成する。一例では、３次元姿勢データ生成部２３は、３次元モデルの輪郭の面積と、対応するフレームに含まれる動体の輪郭の面積との差が所定のしきい値以下であるか否かを判定する。
【００３８】
次いで、姿勢判定部２４は、Ｓ１０３の処理で生成された１つ又は２つ以上の３次元姿勢データに対応する３次元モデルの姿勢のそれぞれが適切であるか否かを判定する（Ｓ１０４）。
【００３９】
次いで、３次元動画データ生成部２５は、Ｓ１０４の処理で姿勢が一連のフレームのそれぞれに対応付けて、適切であると判定された３次元姿勢データを連続して配置することによって、一連の３次元姿勢データを含む３次元動画データを生成する（Ｓ１０５）。Ｓ１０４の処理において、一連のフレームのそれぞれに含まれる動体の輪郭に対して、複数の姿勢が適切であると判断されることがある。すなわち、一連のフレームのそれぞれに複数の３次元モデルの姿勢が関連付けられる可能性がある。一例では、３次元動画データ生成部２５は、肘の関節の角度の動作が最小になるように、遺伝的アルゴリズム等又はディープランニング等の機械学習等の既知の演算アルゴリズムを使用して、一連のフレームを含む３次元動画を示す３次元動画を示す動画データを生成してもよい。また、３次元動画データ生成部２５は、動画データを生成するときに、アルゴリズムに処理された最適解である単一の動画データだけではなく、所定の条件を満たす複数の動画データを生成してもよい。また、３次元動画データ生成部２５は、学習アルゴリズムを使用して動画データを生成するときに、報酬（reward）の条件を変更することで動きが異なる種々の動画データを生成することができる。例えば、動きの激しいモーションデータを作成したいときは、人間の動きがありえる範囲で、動きが大きいものを「優秀」とすることで動きの激しい動作を含む３次元動画データを生成することができる。
【００４０】
そして、３次元動画データ出力部２６は、Ｓ１０５の処理で生成された３次元動画データを出力する（Ｓ１０６）。
【００４１】
図６は、Ｓ１０４のより詳細な処理を示すフローチャートである。
【００４２】
まず、関節角推定部３１は、Ｓ１０３の処理で生成された３次元モデルの姿勢のそれぞれについて、関節で接合された一対の骨の間の角度を推定する（Ｓ２０１）。次いで、関節角判定部３２は、推定された一対の骨の間の角度が所定の適正範囲内であるか否かを判定する（Ｓ２０２）。次いで、第１姿勢決定部３３は、検出された一対の骨の間の角度が何れも適正範囲内であると判定されたときに、３次元モデルの姿勢が適切であることを決定する第１決定処理を実行する（Ｓ２０３）。
【００４３】
次いで、フレーム配列部３４は、第１決定処理において、姿勢が適切であると決定された３次元モデルを時系列順に配列する（Ｓ２０４）。次いで、関節位置推定部３５は、Ｓ２０４の処理で時系列順に配列された３次元モデルの関節の位置を推定する（Ｓ２０５）。次いで、関節位置判定部３６は、それぞれの関節について、現在の３次元モデルの関節と、次の時間の３次元モデルの関節との間の位置関係が適切であるか否かを判定する（Ｓ２０６）。一例では、関節位置判定部３６は、現在の関節の位置から次の時間の関節の位置まで関節が移動する移動距離及びフレーム間の時間から演算した関節の移動速度が所定の基準速度範囲内にあるときに、現在の関節と次の時間の関節の位置関係が適切であると判定する。一方、関節位置判定部３６は、関節の移動速度が所定の基準速度範囲内の速度よりも速いとき、及び関節の移動速度が所定の基準速度範囲内の速度よりも遅いときに現在の関節と次の時間の関節の位置関係が適切でないと判定する。そして、第２姿勢決定部３７は、Ｓ２０６の処理で、関節の間の位置関係が適切であると判定されたときに、３次元モデルの姿勢が適切であることを決定する第２決定処理を実行する（Ｓ２０７）。
【００４４】
図７はＳ１０４の処理を説明するための第１の図であり、図７（ａ）はＳ１０１の処理で取得された動画の第１フレームを示し、図７（ｂ）は第１フレームの次の第２フレームを示し、図７（ｃ）は第２フレームの次の第３フレームを示す。図７（ａ）〜７（ｃ）において、動体は正面から撮像される。図７（ｄ）は第１フレームの動体の姿勢と同一の姿勢である３次元モデルを正面から見たフレームを示し、図７（ｅ）は第２フレームの動体の姿勢と同一の姿勢である３次元モデルを正面から見たフレームを示す。図７（ｆ）は、第３フレームの動体の姿勢と同一の姿勢である３次元モデルを正面から見たフレームを示す。図７（ｄ）〜７（ｆ）に示すフレームを示すデータはＳ１０３の処理で生成される。
【００４５】
図８はＳ１０４の処理を説明するための第２の図であり、Ｓ２０１〜Ｓ２０３の処理を説明するための図である。図８（ａ）は、図７（ａ）に示す３次元モデルの姿勢を横から見た第１姿勢を含むフレームを示す。図８（ｂ）は、図７（ａ）に示す３次元モデルの姿勢を横から見た第２姿勢を含むフレームを示す。図８（ｃ）は、図７（ａ）に示す３次元モデルの姿勢を横から見た第３姿を含むフレーム勢を示す。
【００４６】
Ｓ１０１〜Ｓ１０３の処理では、２次元動画に含まれる２次元のフレームから３次元姿勢データを生成するため、撮像された方向から見た姿勢が同一である複数の３次元姿勢データが生成されることがある。例えば、図７（ａ）及び７（ｄ）に示す第１フレームでは、図８（ａ）〜８（ｃ）に示す３つの３次元姿勢データが生成される。Ｓ１０１〜Ｓ１０３の処理では、関節で接合された一対の骨の間の角度が、人体の関節の可動範囲から外れた角度であるときに３次元モデルの姿勢が適切でないと判定する。
【００４７】
図８（ｂ）では、３次元モデルの右腕が略直線的に肩と平行方向に後方に伸びているにもかかわらず、右手の手首の関節に接合された一対の骨の間の角度は、右手の手のひらが外側に向いて且つ右手の指先が頭部方向に向く角度となっている。人間の手首の関節は、図８（ｂ）に示される姿勢をとることができないので、Ｓ２０１〜Ｓ２０３の処理において、図８（ｂ）に示される姿勢は、適切でないと判定される。
【００４８】
図８（ｃ）では、３次元モデルの右肩と右肘との間の骨は右肩から左肩方向に略平行に伸びており、３次元モデルの右肩と右肘との間の骨と右肘と右手首との間の骨との間の角度は６０度程度であり、右肘と右手首との間の骨は上方後ろ方向に延伸する。しかしながら、右手の手首の関節に接合された一対の骨の間の角度は、右手の手のひらが外側に向いている。人間の手首の関節は、図８（ｃ）に示される姿勢をとることができないので、Ｓ２０１〜Ｓ２０３の処理において、図８（ｃ）に示される姿勢は、適切でないと判定される。
【００４９】
図９はＳ１０４の処理を説明するための第３の図であり、Ｓ２０４〜Ｓ２０７の処理を説明するための図である。図９において、フレーム９０１は、図７（ａ）及び７（ｄ）に示す第１フレームの姿勢を横からみた３次元モデルの姿勢を示す。フレーム９１１は、図７（ｂ）及び７（ｅ）に示す第２フレームの姿勢を横からみた３次元モデルの第１姿勢を示す。フレーム９１２は、図７（ｂ）及び７（ｅ）に示す第２フレームの姿勢を横からみた３次元モデルの第２姿勢を示す。フレーム９１３は、図７（ｂ）及び７（ｅ）に示す第２フレームの姿勢を横からみた３次元モデルの第３姿勢を示す。
【００５０】
Ｓ２０４〜Ｓ２０７の処理では、現在のフレームと次の時間のフレームの間の３次元モデルの関節の移動速度を演算し、演算された関節の移動速度が基準速度の範囲外であるときに、次の時間のフレームの３次元モデルの姿勢が適切でないと判定する。フレーム９０１からフレーム９１１への移動では、右肘及び左肘等の３次元モデルの関節の第１フレームから第２フレームへの移動速度は、基準速度範囲内であると判定され、フレーム９１１に示される姿勢は適切であると判定される。フレーム９０１からフレーム９１２への移動では、３次元モデルの右肘の関節の第１フレームから第２フレームへの移動速度は、遅いため基準速度範囲外であると判定され、フレーム９１２に示される姿勢は適切でないと判定される。フレーム９０１からフレーム９１３への移動では、右肘及び左肘等の３次元モデルの関節の第１フレームから第２フレームへの移動速度は、基準速度範囲内であると判定され、フレーム９１３に示される姿勢は適切であると判定される。
【００５１】
図１０はＳ１０４の処理を説明するための第４の図であり、Ｓ２０４〜Ｓ２０７の処理を説明するための図である。図１０において、フレーム１０１１及び１０１２は、図９の処理で姿勢が適切であると判定された３次元モデルの姿勢を示す。フレーム１０２１は、図７（ｃ）及び７（ｆ）に示す第３フレームの姿勢を横からみた３次元モデルの第１姿勢を示す。フレーム１０２２は、図７（ｃ）及び７（ｆ）に示す第３フレームの姿勢を横からみた３次元モデルの第２姿勢を示す。フレーム１０２３は、図７（ｃ）及び７（ｆ）に示す第３フレームの姿勢を横からみた３次元モデルの第３姿勢を示す。
【００５２】
フレーム１０１１からフレーム１０２１〜１０２３のそれぞれへの移動では、右肘及び左肘等の３次元モデルの関節の第２フレームから第３フレームへの移動速度は、基準速度範囲内であると判定される。３次元モデルの関節の第２フレームから第３フレームへの移動速度は、基準速度範囲内であると判定されるので、フレーム１０２１〜１０２３のそれぞれに示される姿勢は適切であると判定される。
【００５３】
フレーム１０１２からフレーム１０２１〜１０２３のそれぞれへの移動では、右肘及び左肘等の３次元モデルの関節の第２フレームから第３フレームへの移動速度は、基準速度範囲内であると判定される。３次元モデルの関節の第２フレームから第３フレームへの移動速度は、基準速度範囲内であると判定されるので、フレーム１０２１〜１０２３のそれぞれに示される姿勢は適切であると判定される。
【００５４】
図１１はＳ１０４の処理を説明するための第５の図であり、図７に示す第１フレーム〜第３フレームからＳ１０４の処理で適切であると決定された３次元モデルの姿勢を示す図である。
【００５５】
第１フレームはフレーム１１０１に示す姿勢が適切であるとは判定され、第２フレームはフレーム１１１１及び１１１２に示す姿勢が適切であるとは判定され、第３フレームはフレーム１１２１〜１１２３に示す姿勢が適切であるとは判定される。
【００５６】
Ｓ１０４に続くＳ１０５の処理では、６種類（＝１×２×３）の組み合わせについて、何れの組み合わせが人間の動作として自然であるかが判定され、３次元動画を示す３次元動画データが生成される。一例では、第１フレームではフレーム１１０１に示す姿勢が選択され、第２フレームではフレーム１１１１に示す姿勢が選択され、第３フレームではフレーム１１２１に示す姿勢が選択される。なお、Ｓ１０５の処理の処理では、単一の３次元動画データのみを生成するのではなく、所定の条件を満たす場合、複数の３次元動画データが作成されてもよい。例えば、フレーム１１０１、１１１１及び１１２１を組み合わせた３次元動画データの他に、フレーム１１０１、１１１２及び１１２１に示す姿勢を組み合わせた３次元動画データが生成されてもよい。
【００５７】
（実施形態に係る３次元動画データ生成装置の作用効果）
３次元動画データ生成装置１は、２次元動画のフレームに含まれる動体の輪郭から生成した３次元モデルの姿勢から適切な姿勢を選択することで、フレームに含まれる動体の姿勢の候補の数を低減することで、３次元動画データを生成する生成コストを抑制する。
【００５８】
また、３次元動画データ生成装置１は、インタネットを介して所望の条件に対応する２次元動画データを取得するので、インタネット上で取得可能な既存の２次元動画から３次元動画データを生成することができる。３次元動画データ生成装置１は、インタネット上で取得可能な既存の２次元動画を利用して３次元動画データを生成するのでインタネット上で取得可能なリソースを有効活用することができる。
【００５９】
また、３次元動画データ生成装置１は、Ｓ１０５の処理において最適解だけではなく、所定の条件を満たす複数の動画データを生成することができるので、生成された複数の動画データに対応する動画に含まれる動体の動きを種々の処理に利用できる。例えば、３次元動画データ生成装置１は、Ｓ１０５の処理で生成した動画データに対応する動画に含まれる人間の肘及び膝等のパーツの動きをパーツごとに記憶、管理してもよい。そして、３次元動画データ生成装置１は、記憶、管理するパーツの動きを組み合わせた動きをする人間を含む画像を示す新たな３次元動画データを自動生成してもよい。３次元動画データ生成装置１は、様々なパターンの動作データを自動で生成できるため、時間及びコスト削減が可能となる。
【００６０】
また、３次元動画データ生成装置１は、記憶、管理するパーツの動きを組み合わせて自動生成した新たな３次元動画データをＳ１０５のアルゴリズムにフィードバックすることで、Ｓ１０５のアルゴリズムの学習機能を自動的に向上させることができる。３次元動画データ生成装置１は、自動生成した新たな３次元動画データを使用してＳ１０５のアルゴリズムの学習機能を自動的に向上させることで、Ｓ１０５の処理の処理精度及び処理速度を向上させることができる。
【００６１】
３次元動画データ生成装置１は、関節で接合された一対の骨の間の角度が何れも適正範囲内であると判定されたときに、３次元モデルの姿勢が適切であることを決定することで、動体がとることができない姿勢を３次元モデルの姿勢の候補から除外できる。
【００６２】
また、３次元動画データ生成装置１は、現在のフレームの関節と次の時間のフレームの関節の間の位置関係が適切であるか否かを判定することで、不自然な動作を示す姿勢を３次元モデルの姿勢の候補から除外できる。
【００６３】
（実施形態に係る３次元動画データ生成装置の変形例）
３次元動画データ生成装置１は、図５に示す人物の３次元モデルを使用して３次元動画データを生成したが、実施形態に係る３次元動画データ生成装置は、人物以外の複数の関節を有する動体の３次元モデルを使用して３次元動画データを生成してもよい。例えば、実施形態に係る３次元動画データ生成装置は、犬、猫及びハムスターの３次元モデルを使用して３次元動画データを生成してもよい。
【００６４】
図１２は、犬の３次元モデルの一例を示す図である。
【００６５】
３次元モデル１３０１は、骨格及び皮膚形状を有し、関節の動作に応じて皮膚形状が変形する。３次元モデル１３０１は、コンピュータプログラム「Rigmesh」を使用して、犬の外観を有する形状にリグ（Rig）を組み込むことにより形成される。また、３次元モデル１３０１を示す３次元モデルデータは、３次元モデル５０１を示す３次元モデルデータと同様に、テンプレートをモーフィングすることで、生成されてもよい。例えば、ダックスフンドの３次元モデルは、犬を示すテンプレートの足を短くして胴を長くすることで自動生成される。また、３次元モデル５０１を示す３次元モデルデータは、３次元モデル５０１を示す３次元モデルデータと同様に、予め記憶した「Rigmesh」で生成したデータとテンプレートのデータの差分を示す差分データに基づいて生成されてもよい。
【符号の説明】
【００６６】
１    ３次元動画データ生成装置
１０    通信部
１１    記憶部
１２    入力部
１３    出力部
２０    処理部
２１    ２次元動画データ取得部
２２    輪郭抽出部
２３    ３次元姿勢データ生成部
２４    姿勢判定部
２５    ３次元動画データ生成部
２６    ３次元動画データ出力部
３１    関節角推定部
３２    関節角判定部
３３    第１姿勢決定部
３４    フレーム配列部
３５    関節位置推定部
３６    関節位置判定部
３７    第２姿勢決定部
【図１】
0006635848.tif 000002
【図２】
0006635848.tif 000003
【図３】
0006635848.tif 000004
【図４】
0006635848.tif 000005
【図５】
0006635848.tif 000006
【図６】
0006635848.tif 000007
【図７】
0006635848.tif 000008
【図８】
0006635848.tif 000009
【図９】
0006635848.tif 000010
【図１０】
0006635848.tif 000011
【図１１】
0006635848.tif 000012
【図１２】
0006635848.tif 000013