JPWO2009145071A1 - 運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法 - Google Patents
運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法 Download PDFInfo
- Publication number
- JPWO2009145071A1 JPWO2009145071A1 JP2010514439A JP2010514439A JPWO2009145071A1 JP WO2009145071 A1 JPWO2009145071 A1 JP WO2009145071A1 JP 2010514439 A JP2010514439 A JP 2010514439A JP 2010514439 A JP2010514439 A JP 2010514439A JP WO2009145071 A1 JPWO2009145071 A1 JP WO2009145071A1
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- state quantity
- frame
- exercise
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
モーションキャプチャデータやアニメータの手作業等により得られた大量の運動データを蓄積し、再利用するためのデータベース構造を提供する。複数の正規化運動データを用いたデータベース構造は、木構造を備えた階層型データベースである。木構造の最上位層は、複数の正規化運動データの全てのフレームが含まれている1つのノードであり、正規化運動データの各フレームは、木構造の各階層のいずれかの1つのノードに含まれていると共に、各ノードには、上位層から下位層に行くにしたがってより近い状態量を備えたフレームが含まれている。各階層毎に、各階層を構成する複数のノード間の遷移確率が格納されている。
Description
本発明は、運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法に関するものである。
医療・スポーツ・エンターテイメントなどの分野でヒト骨格モデルの運動データを扱う事例が増えてきている。モーションキャプチャには設備費や人件費等多大なコストを要する上に、マーカ配置や骨格モデルが異なるとデータの再利用が難しいという問題がある。
実際、CG・ゲーム分野では、これまでに計測した大量の運動データを分類・蓄積する手段がなく、再利用が事実上不可能であった。
これまでにも、非特許文献1乃至4に示すように、運動データベースを構築しようとする試みはなされているが、関節構造やマーカ配置に依存する、1〜2階層のデータベースであるため検索速度が遅い、適用できる動作が歩行などに限られるといった限界があった。
L. Kovar, M. Gleicher, and F. Pighin. Motion graphs. In Proceedings of ACM SIGGRAPH 2002, pp. 473.482, 2002. O. Arikan and D.A. Forsyth: "Interactive Motion Generation from Examples," Proceedings of SIGGRAPH2002, pp. 483-490, 2002. J. Lee et al.: "Interactive control of avatars animated with human motion data," Proceedings of SIGGRAPH2002, pp. 491-500, 2002. W. Takano, K. Yamane, and Y. Nakamura: "Capture Database through Symbolization, Recognition and Generation of Motion Patterns," Proceedings of IEEE ICRA, pp. 3092-3097, 2007.
L. Kovar, M. Gleicher, and F. Pighin. Motion graphs. In Proceedings of ACM SIGGRAPH 2002, pp. 473.482, 2002. O. Arikan and D.A. Forsyth: "Interactive Motion Generation from Examples," Proceedings of SIGGRAPH2002, pp. 483-490, 2002. J. Lee et al.: "Interactive control of avatars animated with human motion data," Proceedings of SIGGRAPH2002, pp. 491-500, 2002. W. Takano, K. Yamane, and Y. Nakamura: "Capture Database through Symbolization, Recognition and Generation of Motion Patterns," Proceedings of IEEE ICRA, pp. 3092-3097, 2007.
本発明は、モーションキャプチャデータやアニメータの手作業等により得られた大量の運動データを蓄積し、再利用するためのデータベース構造、データベース構造のための運動データの正規化方法、およびデータベース構造を用いた運動データの検索手法を提案するものである。
本発明は、運動データを計測・生成時のマーカ位置やモデルの関節構造に依存しない形で大規模なモーションデータベースを構築する手法を提案するものである。
本発明は、1フレーム以上の動作・ポーズを鍵として、モーションデータベースから動作・ポーズを検索する手法を提案するものである。
本発明は、運動データを計測・生成時のマーカ位置やモデルの関節構造に依存しない形で大規模なモーションデータベースを構築する手法を提案するものである。
本発明は、1フレーム以上の動作・ポーズを鍵として、モーションデータベースから動作・ポーズを検索する手法を提案するものである。
本発明が採用した第1の技術手段は、
複数の正規化運動データを用いたデータベース構造であって、
前記複数の正規化運動データの各フレームの時間間隔は共通化されており、
前記データベース構造は、木構造を備えた階層型データベースであり、
木構造の最上位層は、複数の正規化運動データの全てのフレームが含まれている1つのノードであり、
正規化運動データの各フレームは、木構造の各階層のいずれかの1つのノードに含まれていると共に、各ノードには、上位層から下位層に行くにしたがってより近い状態量を備えたフレームが含まれており、
各階層毎に、各階層を構成する複数のノード間の遷移確率が格納されている、
運動データベース構造、である。
複数の正規化運動データを用いたデータベース構造であって、
前記複数の正規化運動データの各フレームの時間間隔は共通化されており、
前記データベース構造は、木構造を備えた階層型データベースであり、
木構造の最上位層は、複数の正規化運動データの全てのフレームが含まれている1つのノードであり、
正規化運動データの各フレームは、木構造の各階層のいずれかの1つのノードに含まれていると共に、各ノードには、上位層から下位層に行くにしたがってより近い状態量を備えたフレームが含まれており、
各階層毎に、各階層を構成する複数のノード間の遷移確率が格納されている、
運動データベース構造、である。
1つの運動データは、時系列に並べた複数のフレームから構成される。各フレームは、骨格モデルの姿勢に対応しており、各フレームは状態量によって特定されている。
正規化運動データは、典型的には、異なる骨格モデルや異なる手法によって得られた運動データを正規化してなる運動データであるが、同じ骨格モデルについて同じ手法で取得した大量の運動データ(結果として正規化されている)からなるデータベース構造を排除するものではない。
正規化運動データから運動データベースを構築するにあたり、各フレームの時間間隔Δtは遷移確率に影響を与えるため、時間間隔Δtを共通化する。時系列のフレームからなる運動データがあった時に、多項式補間によって、フレームの時間間隔を任意の間隔に変更できることは当業者に理解される。一つの態様では、運動データを逆運動学計算で関節角データに変換した後で多項式補間し、Δtおきの運動データを取得する。運動データの補間のタイミングとしては、マーカ軌跡の段階で補間するものでもよい。また、本明細書において、「時間間隔が共通化されており」には、運動データベースを構成する複数の運動データにおいて、初めから時間間隔が同じである場合も含む。
骨格モデルは、関節角データあるいはマーカ位置を再現するためのコンピュータ上のキャラクタであり、骨格モデルの姿勢は、関節角データやマーカセットの位置によって特定される。
マーカセットとは、被験者の動きを計測するための印であり、キャラクタに動きを再現させるための目標値でもある。
状態量とは、ロボットやシステム等の「状態」を一意に表す変数であり、ここでは骨格モデルの状態を表す。1つの態様では、状態量は、骨格モデルの任意の姿勢を決定し得るマーカセットの各マーカの位置および速度によって決定される。また、状態量に、ルートリンクの速度を含めてもよい(特に、ルートリンクにマーカが配置されていない場合)。あるいは、骨格モデルの関節角、または関節角と関節速度を並べたベクトルを状態量としてもよい。
ルートリンクは、関節モデルを表現する木構造のルート(根)に相当するリンクである。典型的な態様例では、ルートリンクは体幹リンク、体幹が複数のリンクからなる場合はその中の1つ、あるいは腰に対応する部位のリンクである。
正規化運動データは、典型的には、異なる骨格モデルや異なる手法によって得られた運動データを正規化してなる運動データであるが、同じ骨格モデルについて同じ手法で取得した大量の運動データ(結果として正規化されている)からなるデータベース構造を排除するものではない。
正規化運動データから運動データベースを構築するにあたり、各フレームの時間間隔Δtは遷移確率に影響を与えるため、時間間隔Δtを共通化する。時系列のフレームからなる運動データがあった時に、多項式補間によって、フレームの時間間隔を任意の間隔に変更できることは当業者に理解される。一つの態様では、運動データを逆運動学計算で関節角データに変換した後で多項式補間し、Δtおきの運動データを取得する。運動データの補間のタイミングとしては、マーカ軌跡の段階で補間するものでもよい。また、本明細書において、「時間間隔が共通化されており」には、運動データベースを構成する複数の運動データにおいて、初めから時間間隔が同じである場合も含む。
骨格モデルは、関節角データあるいはマーカ位置を再現するためのコンピュータ上のキャラクタであり、骨格モデルの姿勢は、関節角データやマーカセットの位置によって特定される。
マーカセットとは、被験者の動きを計測するための印であり、キャラクタに動きを再現させるための目標値でもある。
状態量とは、ロボットやシステム等の「状態」を一意に表す変数であり、ここでは骨格モデルの状態を表す。1つの態様では、状態量は、骨格モデルの任意の姿勢を決定し得るマーカセットの各マーカの位置および速度によって決定される。また、状態量に、ルートリンクの速度を含めてもよい(特に、ルートリンクにマーカが配置されていない場合)。あるいは、骨格モデルの関節角、または関節角と関節速度を並べたベクトルを状態量としてもよい。
ルートリンクは、関節モデルを表現する木構造のルート(根)に相当するリンクである。典型的な態様例では、ルートリンクは体幹リンク、体幹が複数のリンクからなる場合はその中の1つ、あるいは腰に対応する部位のリンクである。
1つの態様では、前記木構造は、二分木構造である。本発明のデータベース構造を構成する二分木構造は、全二分木、完全二分木でもよいが、必ずしも全二分木、完全二分木である必要はない。本発明のデータベース構造の木構造は、主体としての二分木構造の一部に、平衡木(B木)や多分木が含まれていてもよい。例えば、二分木に偏りが生じないように平衡木(B木)を用いる場合があり得る。本明細書における「二分木構造」には、一部に二分木以外の枝を備えた二分木構造も含まれる。
また、検索速度の観点からは二分木構造が有利ではあるが、本発明のデータベース構造の木構造は、二分木構造に限定されるものではなく、平衡木(B木)、多分木でもよい。
二分木の各ノードには運動データの集合に含まれるフレームのうち動作の種類(各運動データ)に関係なく状態量の近いものが含まれる。各ノードには、上位層から下位層に行くにしたがって階層に応じてより状態量の近いフレームが含まれている。
1つの態様では、木構造の最下位層のノードには、所定数以上のフレームデータが含まれている。一般に、最下位層のノードに含まれるフレーム数の最小値を設定しておかないと、検索速度が遅くなってしまう。また、データベース全体のデータ量が増加してしまう。
最下位層のノードに含まれるフレーム数の最小値は、検索の粒度や全体のデータ量の上限等を考慮して、適宜に決定できることが当業者に理解される。例えば、200fpsのデータで、平均0.2秒ごとに次ノードへ遷移するような粒度を想定する場合では、1ノードあたりのフレーム数を40程度に設定することができる。あるいは、データベース全体のデータ量の上限を決めた上で、データベース全体のデータ量が決定した上限に収まるように、最下位層ノードのフレーム数を決定する。最下位層ノードのフレーム数を増やすことによって、総ノード数を減らしてデータベース全体のデータ量を削減することができる。特に、各ノードの特徴量(平均、分散等)のみを保存することでデータ圧縮を行う場合には、総ノード数を削減することは有利である。
木構造の各ノードは、当該ノードに含まれる複数のフレームの状態量に基づく特徴量によって特徴付けられる。特徴量としては、平均(トリム平均、重み付け平均を含む)、メディアン、分散(共分散行列)が例示される。一つの態様では、各ノードの特徴量は、テーブルとして格納されている。
1つの態様では、各ノードに含まれる複数のフレームの状態量の代表値を各ノードの特徴量とし、各ノードの特徴量が、各ノードに含まれる複数のフレームの状態量に代えて或は加えて、格納されている。
また、検索速度の観点からは二分木構造が有利ではあるが、本発明のデータベース構造の木構造は、二分木構造に限定されるものではなく、平衡木(B木)、多分木でもよい。
二分木の各ノードには運動データの集合に含まれるフレームのうち動作の種類(各運動データ)に関係なく状態量の近いものが含まれる。各ノードには、上位層から下位層に行くにしたがって階層に応じてより状態量の近いフレームが含まれている。
1つの態様では、木構造の最下位層のノードには、所定数以上のフレームデータが含まれている。一般に、最下位層のノードに含まれるフレーム数の最小値を設定しておかないと、検索速度が遅くなってしまう。また、データベース全体のデータ量が増加してしまう。
最下位層のノードに含まれるフレーム数の最小値は、検索の粒度や全体のデータ量の上限等を考慮して、適宜に決定できることが当業者に理解される。例えば、200fpsのデータで、平均0.2秒ごとに次ノードへ遷移するような粒度を想定する場合では、1ノードあたりのフレーム数を40程度に設定することができる。あるいは、データベース全体のデータ量の上限を決めた上で、データベース全体のデータ量が決定した上限に収まるように、最下位層ノードのフレーム数を決定する。最下位層ノードのフレーム数を増やすことによって、総ノード数を減らしてデータベース全体のデータ量を削減することができる。特に、各ノードの特徴量(平均、分散等)のみを保存することでデータ圧縮を行う場合には、総ノード数を削減することは有利である。
木構造の各ノードは、当該ノードに含まれる複数のフレームの状態量に基づく特徴量によって特徴付けられる。特徴量としては、平均(トリム平均、重み付け平均を含む)、メディアン、分散(共分散行列)が例示される。一つの態様では、各ノードの特徴量は、テーブルとして格納されている。
1つの態様では、各ノードに含まれる複数のフレームの状態量の代表値を各ノードの特徴量とし、各ノードの特徴量が、各ノードに含まれる複数のフレームの状態量に代えて或は加えて、格納されている。
本発明に係る運動データベース構造には、各階層におけるノード間遷移確率が格納されている。本発明では、2つのノード間遷移確率のテーブルがある。一つは、運動データの区別を問わない各階層におけるノード間遷移確率のテーブルである。もう一つは、各運動データについて、各階層におけるノード間遷移確率のテーブルである。
一つの態様では、正規化運動データの各フレームの状態量は、骨格モデルの任意の姿勢を決定し得る仮想マーカセットの各仮想マーカの位置および速度によって決定される。仮想マーカセットを採用することで、運動データを計測・生成時のマーカ位置やモデルの関節構造に依存しない形でモーションデータベースを構築することができる。しかしながら、本発明の運動データベース構造は、正規化された運動データがあれば、正規化の手法は限定されるものではなく、関節角を基準にする、絶対座標系でのリンク位置を基準にする、などの手法で正規化されたデータを排除するものではない。
本発明に係るモーションデータベースについて小括する。使用するモーションデータベースでは、学習させる複数の動作に含まれる全フレームがサンプルとなり、一つのデータベースを構成する。学習させる動作のサンプリング時間は一定でΔtとする。データベースはあるノードに最大2個の子ノードが接続される2分木構造であり、各層において全サンプルがその層に属するいずれかのノードに含まれる。
各ノードでは、そのノードからある状態量が生成される尤度を計算するための統計量(代表値)が計算されている。最も単純な実施形態では、全サンプル(フレームの状態量)の平均および共分散行列を用い、ガウス分布を仮定して尤度を計算する。より正確な尤度を計算するためには、混合ガウス分布等を用いることが考えられる。以下では、ノードnから状態量sが生成される尤度をF(s|n)と表す。平均μ、共分散行列Σのガウス分布の場合、F(s|n)は次式のように計算できる。
ここでDは状態量ベクトルの次元である。
さらに、学習された動作において見られたノード間の遷移とそれぞれの遷移確率を求めておく。サンプルがどの動作に属するかを考慮せずに遷移を数え上げて求められた遷移確率と、同じ動作内での遷移のみを数え上げて求められた遷移確率がある。前者の遷移確率のテーブルは各層に対して1組ある。後者の遷移確率のテーブルは、各層・各動作に対して1組ある。
本発明が採用した第2の技術手段は、
複数の正規化運動データの全てのフレームから最上位のノードを形成して木構造のルートとし、
各階層のノードに含まれるフレーム数が第1閾値以下となるまでノード分割を行う第1分割ステップと、
各階層のノードに含まれるフレーム数が第2閾値以下となるまで、第1分割ステップの最下層のノードから順次ノード分割を行う第2分割ステップと、
を備え、
前記第1分割ステップは、各ノードに含まれるフレームの状態量から取得した1次元の指標に基づいてノード分割を行い、
前記第2分割ステップは、各ノードに含まれるフレームの状態量を用いた階層的クラスタリングによりノード分割を行う、
複数の正規化運動データを用いた運動データベース構築方法、である。
複数の正規化運動データの全てのフレームから最上位のノードを形成して木構造のルートとし、
各階層のノードに含まれるフレーム数が第1閾値以下となるまでノード分割を行う第1分割ステップと、
各階層のノードに含まれるフレーム数が第2閾値以下となるまで、第1分割ステップの最下層のノードから順次ノード分割を行う第2分割ステップと、
を備え、
前記第1分割ステップは、各ノードに含まれるフレームの状態量から取得した1次元の指標に基づいてノード分割を行い、
前記第2分割ステップは、各ノードに含まれるフレームの状態量を用いた階層的クラスタリングによりノード分割を行う、
複数の正規化運動データを用いた運動データベース構築方法、である。
一つの態様では、前記第1分割ステップ及び第2分割ステップは、各ノードを下位の2つのノードに分割するものである。これによって正規化されたデータから二分木構造のデータベースが構築される。
一つの態様では、前記第1分割ステップは、主成分分析に基づくノード分割である。ノードの共分散行列を算出し、共分散行列について主成分分析を行う。各フレームの第1主成分得点を計算し、第1主成分得点の降順にノードを二分する。ノード内のフレーム数が閾値以下になるまで繰り返す。第1分割ステップは、主成分分析を用いるものに限定されず、例えば、重心の高さを指標としてノードを分割するものでもよい。重心の座標の求め方としては、マーカ位置の単純または重み付き平均、あるいは逆運動学計算の後、各リンクの質量を考慮して重心を計算する方法が例示される。第1分割ステップで用いられる1次元の指標としては、第1主成分得点や重心の高さの他に、重心の他の座標値、ルートリンクの高さ等を採用し得ることは当業者に理解される。
第2分割ステップとしては、後述の実施態様ではWard法を示すが、最短距離法等の他の階層的クラスタリング手法でもよい。
フレームをノードに分配する際に、各フレームと次フレームがどのノードに所属しているかの情報を格納し、同層の各ノード間の遷移確率を求める。
本発明が採用した第3の技術手段は、
運動データを正規化する方法であって、
運動データは、骨格モデルの各関節角の時系列データからなり、
複数の仮想マーカからなる仮想マーカセットを、骨格モデルの任意の姿勢を決定可能なように骨格モデルの所定位置に配置し、
前記関節角の時系列データから、各フレームの仮想マーカセットの位置および速度を取得して、仮想マーカセットの位置及び速度をフレームの状態量とし、
各フレームの状態量を、骨格モデルのルートリンクを基準とする座標系に変換し、
変換された各フレームの状態量をスケーリングし、
スケーリングされた各フレームの状態量を時系列に並べて正規化した運動データとする、
運動データの正規化方法、である。
運動データの正規化方法は、さらに、各フレームの時間間隔を共通化することを含んでもよい。
運動データを正規化する方法であって、
運動データは、骨格モデルの各関節角の時系列データからなり、
複数の仮想マーカからなる仮想マーカセットを、骨格モデルの任意の姿勢を決定可能なように骨格モデルの所定位置に配置し、
前記関節角の時系列データから、各フレームの仮想マーカセットの位置および速度を取得して、仮想マーカセットの位置及び速度をフレームの状態量とし、
各フレームの状態量を、骨格モデルのルートリンクを基準とする座標系に変換し、
変換された各フレームの状態量をスケーリングし、
スケーリングされた各フレームの状態量を時系列に並べて正規化した運動データとする、
運動データの正規化方法、である。
運動データの正規化方法は、さらに、各フレームの時間間隔を共通化することを含んでもよい。
仮想マーカからなる仮想マーカセットは、任意の骨格モデルの任意の姿勢を決定可能なように用意される。例えば、人骨格モデルであれば、異なる骨格モデルであっても、概ね同じリンク構造を備えていると考えられ、十分な数の仮想マーカからなる仮想マーカセットを用意することで、任意の骨格モデルの任意の姿勢が決定可能である。仮想マーカセットは、1つの態様では、基本となる基本骨格モデル(仮想モデルでも、実在するモデルでも良い)に対して、装着位置(どのリンクのどの位置)が決定されている。対象となる骨格モデルと基本骨格モデルとの各リンクを対応させることで、仮想マーカセットを対象となる骨格モデルに配置する。
骨格モデルのルートリンクを基準とする座標系は、一つの態様では、直立姿勢で、人型リンク機構の「前」方向とみなされる方向をルートリンクの座標系で表したベクトルに一つの軸を取り、この軸を水平面に投影して新しい軸とする。異なる人型リンク機構間の対応が取れれば必ずしも「前」である必要はなく「後」方向や「左」方向、「右」方向のベクトルに一つの軸を取ってもよい。
一つの態様では、前記関節角の時系列データは、骨格モデルに配置したマーカ位置の時系列データから逆運動学計算によって取得されたものである。
一つの態様では、計測用モデルSuと計測用マーカセットMuを用いて逆運動学により関節角データの時系列Qを求め、Qと計測用モデルSuと仮想マーカセットMvを用いて順運動学により仮想マーカ位置の時系列Pv'を取得し、これをスケーリングすることで、仮想マーカ位置の時系列Pvを得る。
一つの態様では、前記関節角の時系列データは、骨格モデルに対して直接付与されている。
一つの態様では、計測用モデルSuと計測用マーカセットMuを用いて逆運動学により関節角データの時系列Qを求め、Qと計測用モデルSuと仮想マーカセットMvを用いて順運動学により仮想マーカ位置の時系列Pv'を取得し、これをスケーリングすることで、仮想マーカ位置の時系列Pvを得る。
一つの態様では、前記関節角の時系列データは、骨格モデルに対して直接付与されている。
本発明が採用した第4の技術手段は、
請求項1乃至6いずれかに記載のデータベース構造と、入力部と、出力部と、処理部と、を備えた運動データ検索装置であって、
入力部は、1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するように構成され、
処理部は、各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出し、
出力部は、尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するように構成されている、
運動データ検索装置、である。
各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値としては、平均、メディアン、トリム平均、重み付け平均等を用いることができる。
入力される状態量列のフレームの時間間隔は、必ずしもデータベース構造を構成するフレームの時間間隔と一致していなくてもよい。また、入力される状態量列のフレームの時間間隔を補間によって変更し得ることも当業者に理解される。
請求項1乃至6いずれかに記載のデータベース構造と、入力部と、出力部と、処理部と、を備えた運動データ検索装置であって、
入力部は、1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するように構成され、
処理部は、各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出し、
出力部は、尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するように構成されている、
運動データ検索装置、である。
各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値としては、平均、メディアン、トリム平均、重み付け平均等を用いることができる。
入力される状態量列のフレームの時間間隔は、必ずしもデータベース構造を構成するフレームの時間間隔と一致していなくてもよい。また、入力される状態量列のフレームの時間間隔を補間によって変更し得ることも当業者に理解される。
一つの態様では、
前記処理部は、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出し、
出力部は、算出された1つ以上の次ノードを候補として出力する。
一つの態様では、
入力部から入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される。
処理部は、入力部から入力された状態量の全部あるいは部分情報を用いて尤度を算出する。例えば、体の一部分に着目しての次の姿勢の提示を行っても良く、あるいは、注目したいマーカだけを考えた尤度を用いてもよい。
前記処理部は、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出し、
出力部は、算出された1つ以上の次ノードを候補として出力する。
一つの態様では、
入力部から入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される。
処理部は、入力部から入力された状態量の全部あるいは部分情報を用いて尤度を算出する。例えば、体の一部分に着目しての次の姿勢の提示を行っても良く、あるいは、注目したいマーカだけを考えた尤度を用いてもよい。
本発明が採用した第5の技術手段は、
請求項1乃至6いずれかに記載のデータベース構造を用いた運動データ検索方法であって、
1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するステップと、
各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出するステップと、
尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するステップと、を備えている、
運動データ検索方法、である。
請求項1乃至6いずれかに記載のデータベース構造を用いた運動データ検索方法であって、
1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するステップと、
各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出するステップと、
尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するステップと、を備えている、
運動データ検索方法、である。
一つの態様では、
さらに、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出するステップと、
算出された1つ以上の次ノードを候補として出力する。
さらに、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出するステップと、
算出された1つ以上の次ノードを候補として出力する。
一つの態様では、
入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される。
一つの態様では、1フレーム以上の運動データは、ある関節モデルの関節角データによって特定されており、
入力される前記正規化された状態量は、
前記関節角データに基づいて、順運動学計算により仮想マーカの位置あるいは位置及び速度を取得するステップと、
取得された仮想マーカの位置あるいは位置及び速度を骨格モデルのルートリンクを基準とする座標系に変換するステップと、
変換された仮想マーカの位置あるいは位置及び速度をスケーリングするステップと、
によって取得される。
前記1つ以上のノード候補あるいは1つ以上のノード遷移系列候補は、
前記ノード候補あるいはノード遷移系列候補に含まれる状態量の代表値に基づいて、逆運動学計算により関節角データを取得し、
取得した関節角データを上記関節モデルに適用することで表示される。
入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される。
一つの態様では、1フレーム以上の運動データは、ある関節モデルの関節角データによって特定されており、
入力される前記正規化された状態量は、
前記関節角データに基づいて、順運動学計算により仮想マーカの位置あるいは位置及び速度を取得するステップと、
取得された仮想マーカの位置あるいは位置及び速度を骨格モデルのルートリンクを基準とする座標系に変換するステップと、
変換された仮想マーカの位置あるいは位置及び速度をスケーリングするステップと、
によって取得される。
前記1つ以上のノード候補あるいは1つ以上のノード遷移系列候補は、
前記ノード候補あるいはノード遷移系列候補に含まれる状態量の代表値に基づいて、逆運動学計算により関節角データを取得し、
取得した関節角データを上記関節モデルに適用することで表示される。
単一フレーム検索は、関節モデルのある姿勢を特定する状態量が入力され、入力された状態量を生成する尤度の高いノードが検索される。典型的には、検索されたノードから遷移し易いノードを検索し、次フレームノード候補として提示する。
一つの態様では、ある姿勢の次フレームに対応するノードの検索は、以下のようなステップとなる。
(1)姿勢における関節角データ(関節モデルが既知である)に基づいて、順運動学計算により仮想マーカの位置を求める。
(2)仮想マーカの位置を、座標系{O´}に変換し、かつスケーリングしたものを入力データとする。
(3)入力データに対応する1つ以上のノード候補を得る。
(4)ノード間遷移確率に基づいてノード候補が選択される。
(5)ノード候補に含まれる仮想マーカ位置情報の代表値(例えば平均値)に基づいて、スケールを戻し、逆運動学計算により関節角データを求める。
(5)関節角データを、上記関節モデルに適用して、表示する。
複数フレームの検索、すなわち、検索しようとしている運動が、ある遷移から生成される尤度は、「各フレームの状態がノードから生成される尤度」と「各ノード間の遷移確率」の積になり、それが最大になる遷移を探索する。後述する実施形態ではDijkstra法を用いた検索を説明するが、本発明に適用し得る探索法はDijkstra法に限定されるものではない。Dijkstra法以外の探索法として、深さ優先探索、幅優先探索、あるいはうまくヒューリスティック関数を設計できる問題であればA*探索、を例示することができる。
一つの態様では、ある姿勢の次フレームに対応するノードの検索は、以下のようなステップとなる。
(1)姿勢における関節角データ(関節モデルが既知である)に基づいて、順運動学計算により仮想マーカの位置を求める。
(2)仮想マーカの位置を、座標系{O´}に変換し、かつスケーリングしたものを入力データとする。
(3)入力データに対応する1つ以上のノード候補を得る。
(4)ノード間遷移確率に基づいてノード候補が選択される。
(5)ノード候補に含まれる仮想マーカ位置情報の代表値(例えば平均値)に基づいて、スケールを戻し、逆運動学計算により関節角データを求める。
(5)関節角データを、上記関節モデルに適用して、表示する。
複数フレームの検索、すなわち、検索しようとしている運動が、ある遷移から生成される尤度は、「各フレームの状態がノードから生成される尤度」と「各ノード間の遷移確率」の積になり、それが最大になる遷移を探索する。後述する実施形態ではDijkstra法を用いた検索を説明するが、本発明に適用し得る探索法はDijkstra法に限定されるものではない。Dijkstra法以外の探索法として、深さ優先探索、幅優先探索、あるいはうまくヒューリスティック関数を設計できる問題であればA*探索、を例示することができる。
本発明に係る運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法のハードウエア構成は、一つ又は複数のコンピュータ装置から構成される。コンピュータ装置は、データを格納する記憶手段、データが入力される入力手段、入力されたデータおよび記憶されたデータを用いて計算を行う処理手段、処理結果を出力する出力手段、出力された処理結果を表示する表示手段と、を備えている。
本発明は、運動データの正規化を行うためにコンピュータを実行させるコンピュータプログラムとして提供することができる。本発明は、運動データベース構造を用いて運動データの検索を行うためにコンピュータを実行させるコンピュータプログラムとして提供することができる。
本発明は、運動データの正規化を行うためにコンピュータを実行させるコンピュータプログラムとして提供することができる。本発明は、運動データベース構造を用いて運動データの検索を行うためにコンピュータを実行させるコンピュータプログラムとして提供することができる。
本発明に係る運動データベースは、計測・生成時のマーカ配置やモデルの関節構造・大きさに依存しない再利用可能な形でデータベース化されていることを特徴とする。また、木構造の各層の各ノード間の遷移確率が格納されている。これによりネットワーク上に散在しているモーションキャプチャデータを広く利用できるようになるほか、検索機能により動作の認識や予測が可能になり、アニメーションの生成やロボットによる人間の運動認識等に応用できる。
データベース検索方法に関しては1つのフレームに対してなるべく高速に複数の候補を提示する必要があるため、検索の高速性と実装の可能性を考慮して探索時間がO(log N)となる二分木を採用した。したがって、ポーズや動作をキーとして類似した動作をO(log N)で高速に検索できる。
[A]モーションデータベースの構築
図1に、データベースの構築方法の概略を示す。先ず、様々なマーカ配置やモデルの運動データを一つのデータベースに蓄積するため、モーションデータの正規化を行う。さらに、様々な精度での検索を高速に行うため、正規化されたデータを二分木構造のデータベースに登録する。また、元のモーションデータのフレーム情報を用いて、二分木構造の各階層のノード間の遷移確率を計算する。
図1に、データベースの構築方法の概略を示す。先ず、様々なマーカ配置やモデルの運動データを一つのデータベースに蓄積するため、モーションデータの正規化を行う。さらに、様々な精度での検索を高速に行うため、正規化されたデータを二分木構造のデータベースに登録する。また、元のモーションデータのフレーム情報を用いて、二分木構造の各階層のノード間の遷移確率を計算する。
[A−1]モーションデータの正規化
データの形式によらないデータベースとするため、仮想的なマーカセットMvを定義し、これに含まれる各マーカの位置・速度を用いて運動を表現する。Mvに含まれるマーカの個数Nmを十分大きく取れば、ほとんどの実用的な骨格モデルの運動が表現可能となる。仮想マーカセットの1つの態様を、図7に示す。図7に示す骨格モデルは155自由度のモデルであり、仮想マーカセットは34個の仮想マーカから構成されている。仮想マーカの個数は限定されないが、34個程度の仮想マーカを骨格モデルに配置することで、骨格モデルの任意の姿勢を表現できると考えられる。
データの形式によらないデータベースとするため、仮想的なマーカセットMvを定義し、これに含まれる各マーカの位置・速度を用いて運動を表現する。Mvに含まれるマーカの個数Nmを十分大きく取れば、ほとんどの実用的な骨格モデルの運動が表現可能となる。仮想マーカセットの1つの態様を、図7に示す。図7に示す骨格モデルは155自由度のモデルであり、仮想マーカセットは34個の仮想マーカから構成されている。仮想マーカの個数は限定されないが、34個程度の仮想マーカを骨格モデルに配置することで、骨格モデルの任意の姿勢を表現できると考えられる。
汎用的な大規模モーションデータベースを構築するにあたって、オリジナルデータから登録用のデータに正規化をする必要がある。オリジナルデータは様々なツールによって作成されることが考えられる。モーションキャプチャではユーザが計測用モデルSuと計測用マーカセットMuを用いて時系列の計測用マーカ位置のデータPuを得るため、本発明のモーションデータベースに登録するためには計測用マーカセットMuとモデルSu、およびそのモデルにおける仮想マーカセットMvが必要である。
したがって、モーションキャプチャデータに対しては、まず計測時に用いたモデルSuとマーカセットMu、およびSuにおけるMvの配置を指定する。Su、Muおよびマーカ位置puの時系列データPuから逆運動学計算により関節角θの時系列データΘを得る。このΘ、Suおよび仮想マーカセットMvから順運動学計算により仮想マーカ位置pvの時系列データPvを求める。
手付けアニメーションの場合は、アニメータが直接キャラクタを操作しているため、生成モデルの関節角の時系列データΘが直接得られる。したがって、本発明のモーションデータベースに登録するには生成モデルSuとそのモデルにおける仮想マーカセットMvが必要である。すなわち、アニメータの手作業により生成された動作の場合は、SuとΘが直接与えられるので、SuにおけるMvの配置を与えればPvが求められる。
次にこの仮想マーカセットの位置pvをデータベースに登録する状態量xに変換する。以下では、Suのルートリンクに固定されたキャラクタの前方向をx軸、上方向をz軸とする座標系{R}を用いる。また、絶対座標系の鉛直上向きをz軸とする。各フレームにおいて、座標系{R}のx軸を絶対座標系{O}のxy平面に射影し、その始点を座標系{O´}の原点、影をそのx軸とする。また、絶対座標系{O}のz軸と同方向を{O´}のz軸とする。最後にy軸を右手系に準拠して選ぶと{O´}が決まる。言い換えると、腰リンク(ルートリンク)の重心を地面に下ろした垂線の足を原点とし、地面に垂直の方向をz軸とし、人間の前方向を地面に射影した方向をx軸とする。このローカル座標系により、人間の立ち位置、回転の向きによって区別せずに、姿勢のみによってフレームデータを分類できる。変換時の各軸、すなわち、x軸、y軸、z軸、の取り方は限定されなない。例えば、座標系{R}において、キャラクタの前方向をz軸、上方向をy軸としてもよい。
この{O´}から見た仮想マーカXの位置
と速度
を求め、全マーカについて並べると状態量x´
が得られる。
最後に、モデルSuの大きさによる差をなくすためにスケーリングを行う。モデルSuを正規化するための係数αを用いて、データベースに登録する状態量x
が得られる。αは例えば身長が1単位長さになるように決定する。あるいは、ユーザの用いたモデルSuと所定の基本モデルとの比をαとしてもよい。
この状態量xを時系列に並べて、フレーム数Nfの動作aを表す正規化されたモーションデータMa
を定義する。ここで、状態量の次元6NmをDと表す。
[A−2]データベースの構築
1つ以上のモーションデータM=[M1,M2,...,MNa]の全フレームを用いてモーションデータベースを構築する。動作間の遷移を可能とし、様々な精度での検索を高速に行うため、動作の種類によらず全てのフレームを1つの二分木構造を持つ階層型のデータベースに格納する。各フレームは二分木の各階層のいずれかのノードに含まれ、各ノードは階層に応じた粒度で状態量の近いフレームを含む。各ノードの特徴量は、そのノードに含まれるフレームの状態量の平均及び分散である。
1つ以上のモーションデータM=[M1,M2,...,MNa]の全フレームを用いてモーションデータベースを構築する。動作間の遷移を可能とし、様々な精度での検索を高速に行うため、動作の種類によらず全てのフレームを1つの二分木構造を持つ階層型のデータベースに格納する。各フレームは二分木の各階層のいずれかのノードに含まれ、各ノードは階層に応じた粒度で状態量の近いフレームを含む。各ノードの特徴量は、そのノードに含まれるフレームの状態量の平均及び分散である。
階層的クラスタリングには様々な手法が提案されているが、一般に全サンプル間の距離情報が必要となる。本発明はこのような距離情報を用いたクラスタリングを排除するものではないが、本発明のように多数(数千〜数万以上)のサンプルを含むデータのクラスタリングは、メモリ量・計算量の観点から好適であるとは言えない。一方、人間の運動は連続的であるため、十分に多くの動作を含む場合、フレームデータの集合は明確なクラスタ構造を持たないとも考えられる。
以上から、二分木の上位階層ノードを直下の階層のノードに分割する際には、多数のフレームを含むため主成分分析に基づく単純な分割手法を適用し、ノード内のフレーム数が一定値nc以下になってから階層的クラスタリング手法の一つであるWard法によりクラスタリングを行う。
[A−2−1]上位階層ノードの分割法
初めに第1層にモーションマーカデータの集合Mの全てのフレームを含むノードB1,1を作成する。以後、第l層の第iノードBl,iにnc以上のサンプル(フレームデータ)が含まれているとき、以下の手順で2個の子ノードに分割する。まず、Bl,iに含まれる状態量の共分散行列Σl,iの主成分分析を行い、第1主成分の主軸にBl,iに含まれる各状態量を射影して第1主成分得点を求める。これらを2つのノードに分割するには、適当な閾値を求めればよい。ここでは、検索における誤識別率を最小化することを目的としてKittlerらの自動閾値選定法(J.Kittler and J.Illingworth. Minimum error thresholding Pattern Recognition, Vol. 19, No. 1, pp. 41.47, 1986.)を用いる。また、第1主成分得点の降順にノード内のフレームを半数ずつ2つの子ノードに分けてもよい。
初めに第1層にモーションマーカデータの集合Mの全てのフレームを含むノードB1,1を作成する。以後、第l層の第iノードBl,iにnc以上のサンプル(フレームデータ)が含まれているとき、以下の手順で2個の子ノードに分割する。まず、Bl,iに含まれる状態量の共分散行列Σl,iの主成分分析を行い、第1主成分の主軸にBl,iに含まれる各状態量を射影して第1主成分得点を求める。これらを2つのノードに分割するには、適当な閾値を求めればよい。ここでは、検索における誤識別率を最小化することを目的としてKittlerらの自動閾値選定法(J.Kittler and J.Illingworth. Minimum error thresholding Pattern Recognition, Vol. 19, No. 1, pp. 41.47, 1986.)を用いる。また、第1主成分得点の降順にノード内のフレームを半数ずつ2つの子ノードに分けてもよい。
[A−2−2]Ward法によるクラスタリング
あるノードのサンプル数がnc以下になったら、1個のサンプルを含むnc個のノード群を初期状態として、Ward法を用いてクラスタリングを行う。クラスタリング終了後、サンプル数がある閾値以下のノードを削除する。
あるノードのサンプル数がnc以下になったら、1個のサンプルを含むnc個のノード群を初期状態として、Ward法を用いてクラスタリングを行う。クラスタリング終了後、サンプル数がある閾値以下のノードを削除する。
[A−3]ノード間遷移確率
まず動作の種類によらないノード間遷移確率を求める。上述のとおり、1つのモーションデータM内のすべてのフレームデータが各層の各ノードに分配されるが、ノードに分配する際に各フレームデータがどのノードに所属しているかの情報を記録しておく。この情報を用いて各層のノード間遷移確率を決定する。すなわち、各層においてフレームをノードに分配する際に各フレームとその次フレームがどのノードに所属しているかの情報を記録しておくと、同層の各ノード間の遷移確率aijは各ノードへのノードiからノードjへの遷移数Nijをノードiから自分を含む他ノードへの総遷移数で割ることにより求められる。
例えば、図5において、1→1が5回、1→2が2回、1→3が3回であれば、a13は0.3となる。この遷移情報は検索時に次フレームの候補を提示する際に用いられる。
まず動作の種類によらないノード間遷移確率を求める。上述のとおり、1つのモーションデータM内のすべてのフレームデータが各層の各ノードに分配されるが、ノードに分配する際に各フレームデータがどのノードに所属しているかの情報を記録しておく。この情報を用いて各層のノード間遷移確率を決定する。すなわち、各層においてフレームをノードに分配する際に各フレームとその次フレームがどのノードに所属しているかの情報を記録しておくと、同層の各ノード間の遷移確率aijは各ノードへのノードiからノードjへの遷移数Nijをノードiから自分を含む他ノードへの総遷移数で割ることにより求められる。
また、各動作における各層のノードの遷移確率も求める。モーションデーM全体についての各層の各ノード間の遷移情報を上述の通り求めるが、この情報には各モーションデータMiの独立した情報は消えてしまっている。しかし、データベースの使用目的によっては動作毎における遷移情報が必要になり得る。そこで、図6に示すように、各モーションデータMiのノードの遷移確率を表現する。基本的な方法は、は上記と同様であるが、時系列であることを表現するためにleft-to-right型で表現する。各ノード間の遷移確率はノードを遷移した時点で更新し、自己遷移と他ノードへの遷移の確率の和が1になるように設定する。各層において各動作(各モーションデータ)のノード遷移確率のテーブルを保持する。
[B]モーションデータベースを用いた検索
[B−1]概要
複数のモーションデータから構築されたデータベースを用いて、与えられた1フレーム以上の運動データに最も良く対応する、すなわち与えられた運動データを生成する尤度が最大となるノード遷移系列を求める。この結果を用いて与えられた運動がデータベース中のどの動作に対応するかを認識することができる。また、最後のノードから次に遷移できるノードとその遷移確率がわかるので、次の動作を予測することができる。
[B−1]概要
複数のモーションデータから構築されたデータベースを用いて、与えられた1フレーム以上の運動データに最も良く対応する、すなわち与えられた運動データを生成する尤度が最大となるノード遷移系列を求める。この結果を用いて与えられた運動がデータベース中のどの動作に対応するかを認識することができる。また、最後のノードから次に遷移できるノードとその遷移確率がわかるので、次の動作を予測することができる。
検索においては、ノードBl,i内のフレームの平均μl,i、共分散行列Σl,iを用いて、あるフレームにおける姿勢に対応する状態量xがBl,iから生成される尤度
を用いる。状態量xとしては、姿勢から計算される仮想マーカ位置および速度を[A−1]と同じ方法で正規化したものを用いる。すなわち、ある姿勢に対応するノードの検索において、姿勢における関節角データ(関節モデルが既知である)に基づいて、順運動学計算により仮想マーカの位置を求める。次いで、仮想マーカの位置を、座標系{O´}に変換し、かつスケーリングして得られた状態量を入力データとする。ただし、速度情報が得られない場合や一部の仮想マーカしか考慮しない場合には、Partial Observation(D.H. Lee and Y. Nakamura. Mimesis from partial observations. In Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1911.1916, 2005.)と同様に、考慮しない成分については平均値をそのまま用いる。
[B−2]対応ノード候補
検索のキーとして入力された1フレーム以上からなる運動データの各フレームについて、対応する最下層ノードの候補を求める。このとき、データベースの階層構造を利用して上位階層から数8の尤度が高いものを辿っていくことで高速に候補を求めることができる。下位階層に移る際に尤度の低いノードを削除する方法として、一定の閾値で打ち切る方法、一定個数を残す方法、尤度が大きく低下するところで打ち切る方法などが考えられる。
検索のキーとして入力された1フレーム以上からなる運動データの各フレームについて、対応する最下層ノードの候補を求める。このとき、データベースの階層構造を利用して上位階層から数8の尤度が高いものを辿っていくことで高速に候補を求めることができる。下位階層に移る際に尤度の低いノードを削除する方法として、一定の閾値で打ち切る方法、一定個数を残す方法、尤度が大きく低下するところで打ち切る方法などが考えられる。
以上の方法により、各フレームに対して1個以上の対応ノード候補を求め、それらを尤度の降順に並べておく。
[B−3]最適ノード遷移系列
複数のフレームが与えられている場合は、ノード間の遷移確率も考慮して最も尤度の高いノード遷移を探索する。ノード間遷移確率と対応ノード候補を用いて、与えられた運動を生成する尤度が最大となるノード遷移系列を求める。Kフレームからなる運動データM=[x1x2・・・xK]をキーとして検索を行うことを考える。ノード遷移系列B=[B1,B2,・・・,BK]が運動データMを生成する尤度は次式で計算される。
ここでak,k+1はノードBkからBk+1への遷移確率であり、aK,K+1=1とする。
複数のフレームが与えられている場合は、ノード間の遷移確率も考慮して最も尤度の高いノード遷移を探索する。ノード間遷移確率と対応ノード候補を用いて、与えられた運動を生成する尤度が最大となるノード遷移系列を求める。Kフレームからなる運動データM=[x1x2・・・xK]をキーとして検索を行うことを考える。ノード遷移系列B=[B1,B2,・・・,BK]が運動データMを生成する尤度は次式で計算される。
1つの実施態様では、これをコスト
を最小化する探索問題とみなし、Dijkstra法(Steven M. LaValle. Planning Algorithms. Cambridge University Press, New York, NY, 2006.)を適用する。
[B−4]モーションデータベースを用いた探索の詳細説明
探索対象として、N個のキーフレームにおける状態量s1,s2,...,sNと、各キーフレームの時刻t1,t2,...,tNが与えられているものとする。探索の目的は、これらのキーフレームを最もよく表す、すなわち生成尤度が最大となるノード遷移系列を見つけることである。探索の方法として、以下のようなオプションがある。
探索対象として、N個のキーフレームにおける状態量s1,s2,...,sNと、各キーフレームの時刻t1,t2,...,tNが与えられているものとする。探索の目的は、これらのキーフレームを最もよく表す、すなわち生成尤度が最大となるノード遷移系列を見つけることである。探索の方法として、以下のようなオプションがある。
[補間の有無]
(1)補間あり:与えられたキーフレームをあらかじめ補間し、補間後の各フレームにノードを対応させる方法。
(2)補間なし:キーフレームが与えられた時刻にそのキーフレームを通過するようなノード遷移系列を求める方法。
[動作の途中変更の有無]
(1)ノード遷移を同一の動作に限れば、動作の途中変更を許さない探索となる。
(2)動作の種類によらずすべての可能な遷移を考慮すれば、動作の途中変更を許す検索となる。
以上の組み合わせは自由であるので、4通りの検索があることになる。
(1)補間あり:与えられたキーフレームをあらかじめ補間し、補間後の各フレームにノードを対応させる方法。
(2)補間なし:キーフレームが与えられた時刻にそのキーフレームを通過するようなノード遷移系列を求める方法。
[動作の途中変更の有無]
(1)ノード遷移を同一の動作に限れば、動作の途中変更を許さない探索となる。
(2)動作の種類によらずすべての可能な遷移を考慮すれば、動作の途中変更を許す検索となる。
以上の組み合わせは自由であるので、4通りの検索があることになる。
本発明の探索法の1つの実施態様としてDijkstra(ダイキストラ)法を用いる。Dijkstra法は離散最適化法の一つで、コスト最小の候補から順に1ステップ後に可能な入力を数え上げて行く方法である。最終ステップがコスト最小となると最適な入力系列が求まることが保証されている。本手法では、入力としては可能な遷移のうちどれを選択するか、コストとしては生成尤度の逆数の対数を用いる。
[B−4−1]準備
キーフレームに対応する状態量si(i=1,2,...,N)に対し、データベース最下層のノードのうち対応する可能性のあるものの集合Ciを求める。これは一般に最上位層から尤度の高いノードをたどっていくことで高速に求められる。このとき、各層では生成尤度がある閾値より高いもののみを次の層で考慮することにしてもよいし、尤度の降順に並べて大きく変化するところで切ってもよい。
以下では、ノードniからnjへ遷移する確率をT(ni,nj)と表す。自分に遷移する確率、すなわちni=njである場合も含む。
キーフレームに対応する状態量si(i=1,2,...,N)に対し、データベース最下層のノードのうち対応する可能性のあるものの集合Ciを求める。これは一般に最上位層から尤度の高いノードをたどっていくことで高速に求められる。このとき、各層では生成尤度がある閾値より高いもののみを次の層で考慮することにしてもよいし、尤度の降順に並べて大きく変化するところで切ってもよい。
以下では、ノードniからnjへ遷移する確率をT(ni,nj)と表す。自分に遷移する確率、すなわちni=njである場合も含む。
[B−4−2]上位の探索
Ci(i =1,2,...,N)に含まれるノードを順にたどっていく最適な経路を探索する。
ノード遷移系列{n1 →n2 →... →nN}(ni∈Ci)に対する生成尤度Pは次式で計算される。
ここでT(ハット)m(ni,nj)はノードniからnjへmステップで遷移する確率を表し、次節で述べる下位の探索により求める。またMiはキーフレームsiとsi+1の間の時間間隔が学習させた動作データの何フレーム分に相当するかを表し、Mi=(ti+1−ti)/Δtで求められる。このPに対し、−logPをコストするDijkstra法を適用する。
Ci(i =1,2,...,N)に含まれるノードを順にたどっていく最適な経路を探索する。
ノード遷移系列{n1 →n2 →... →nN}(ni∈Ci)に対する生成尤度Pは次式で計算される。
[B−4−3]下位の探索
T(ハット)m(ni,nj)は、mステップでノードniからnjへ移動できる可能なノード遷移系列のうち、確率が最大となるものの確率と定義される。これは、遷移系列
が発生する確率
に対して−logPをコストとするDijkstra法により得られる。
T(ハット)m(ni,nj)は、mステップでノードniからnjへ移動できる可能なノード遷移系列のうち、確率が最大となるものの確率と定義される。これは、遷移系列
[B−4−4]各オプションへの対応
補間の有無:あらかじめ補間を行う場合は、補間後の全フレームをキーフレームとみなす。したがって下位の探索は常に1ステップとなるので非常に高速である。しかし、上位の探索のステップ数が増加するので、全体の探索時間の長短は一概には言えない。
動作の途中変更の有無:上位・下位の探索において、可能な遷移をリストアップする際に前のステップの遷移と同じ動作における遷移のみを考慮すれば、同一動作内での探索となり、二分木のある層において可能な遷移をすべて考慮すれば動作の途中変更を許す探索となる。
補間の有無:あらかじめ補間を行う場合は、補間後の全フレームをキーフレームとみなす。したがって下位の探索は常に1ステップとなるので非常に高速である。しかし、上位の探索のステップ数が増加するので、全体の探索時間の長短は一概には言えない。
動作の途中変更の有無:上位・下位の探索において、可能な遷移をリストアップする際に前のステップの遷移と同じ動作における遷移のみを考慮すれば、同一動作内での探索となり、二分木のある層において可能な遷移をすべて考慮すれば動作の途中変更を許す探索となる。
[B−5]例
図8Aにデータベースにおける最下層ノード間で可能な遷移を図示した例を示す。上が動作の種類を考慮せずすべての可能な遷移と各遷移確率(T)を表したもの、下がデータベース構築に使われた3つの動作データにおける遷移を表したものである。動作内の遷移図では遷移確率および自分への遷移を表す矢印を省略した。以下では上の遷移図に基づく検索例を示す。
図8Aにデータベースにおける最下層ノード間で可能な遷移を図示した例を示す。上が動作の種類を考慮せずすべての可能な遷移と各遷移確率(T)を表したもの、下がデータベース構築に使われた3つの動作データにおける遷移を表したものである。動作内の遷移図では遷移確率および自分への遷移を表す矢印を省略した。以下では上の遷移図に基づく検索例を示す。
図8Bは検索システムへの入力の例である。ここでは3つのキーフレームs1,s2,s3が指定され、キーフレーム間の時間間隔はデータベースに含まれる動作データのそれぞれ2フレーム、3フレーム分に相当するものとする。
まず各キーフレームが対応する可能性のあるノードをリストアップする。その結果を尤度の高い順に並べたものが図8B下部のようになったとする。すなわち、C1={n1,n3}等である。ノードの横の数字は尤度を表す(確率ではないので1より大きくなることがある)。
キーフレームs1に対応する可能性のノードはn1,n3の2つあり、それぞれの尤度はP=3.0,0.1でありn1の方が尤度が高いので、コストは低くなる。そこでまずn1がs1に対応する場合を考える。
s2に対応する可能性があるのはn4とn1であるので、まずn1からn4へ2ステップで遷移することができるかどうかを探索する。その結果、以下の遷移が可能であることがわかる。
遷移確率はそれぞれ0.2×0.1=0.02, 0.05×0.3=0.015 となる。これら両方を保持してもよいし、最適な遷移のみを残してもよい。ここでは簡単のため最適な遷移である前者のみを残すこととする。これとノードn4からキーフレームs2が生成される尤度を合わせた尤度は2.0×0.02=0.04 である。一方、n1 からn1へ2ステップで遷移する経路は以下の2種類である。
遷移確率はそれぞれ0.7×0.7=0.49、0.2×0.3=0.06なので前者が最適な遷移となり、キーフレーム生成尤度を合わせた尤度は0.5×0.49=0.245 となる。以上からs1にn1が対応するとき、s2への遷移としては尤度の高い順にn1 → n1(P =0.245), n1 → n4(P =0.02)の2通りがあることになる。
s1 の生成尤度も考慮し,現時点での候補を尤度の降順に並べると以下のようになる。
Dijkstra 法では常にコストの最も低い(この例では尤度が最も高い)ものから考慮するので、次にs1:n1→s2:n1と遷移してきたものを考える。
s3 に対応する可能性があるのはn2,n5である。まずn1 からn2 へ3 ステップで遷移する方法を探索すると、以下のような結果が得られる。
このうち遷移確率が最大のものを採用する。n1 からn5 へ3 ステップで遷移する方法とその確率も同様に探索する。これらによって得られた候補を加えて尤度の降順に並べ、同様に尤度が最大のものから考えていく。Dijkstra法の性質により、すでにs3 まで到達した候補が選ばれた時点で尤度最大となる最適な遷移系列が見つかったことになるので、探索は終了する。
[C]キーフレーム生成支援ツールへの応用
[C−1]背景
提案したデータベースの応用例として、キャラクタアニメーションにおけるキーフレーム生成支援ツールとしての実装を示す。一般にキャラクタアニメーションにおけるキーフレームは逆運動学計算などを用いてアニメータによる手作業で生成されることが多いが、熟練したアニメータでも時間を要する作業である。
[C−1]背景
提案したデータベースの応用例として、キャラクタアニメーションにおけるキーフレーム生成支援ツールとしての実装を示す。一般にキャラクタアニメーションにおけるキーフレームは逆運動学計算などを用いてアニメータによる手作業で生成されることが多いが、熟練したアニメータでも時間を要する作業である。
そこで、少数のポーズを作成すれば、それをキーとした検索により次ポーズ候補が提示され、それらの中から最も適切なものを選択していくことで容易に多数のキーフレームを生成できるアプリケーションを実装した。次ポーズ候補は、前節の検索により得られた遷移系列における最後のノードから遷移可能なノードを求め、各ノードの平均値から得られたマーカ位置を用いて逆運動学計算を行うことで可能である。
[C−2]データベース構築
200fpsで取得した「走る、歩く、跳ぶなど」10種類のモーションキャプチャデータを用いた。各フレームにおいて逆運動学計算を行った後、アニメーションにおいて通常用いられる30fpsや24fpsへの変換を容易にするために120fpsでリサンプリングした結果、フレーム数の合計は3480となった。また、マーカ数Nm=34の仮想マーカセット(図7参照)を用いた。Ward法によるクラスタリングを行う最大サンプル数をNc=200、各ノードの最小サンプル数を24としたとき、ファイルの読み込み、逆運動学、順運動学、データベース構築に要した時間の合計は1190秒であった。なお、全階層で単純なノード分割を行った場合は260秒となる。
200fpsで取得した「走る、歩く、跳ぶなど」10種類のモーションキャプチャデータを用いた。各フレームにおいて逆運動学計算を行った後、アニメーションにおいて通常用いられる30fpsや24fpsへの変換を容易にするために120fpsでリサンプリングした結果、フレーム数の合計は3480となった。また、マーカ数Nm=34の仮想マーカセット(図7参照)を用いた。Ward法によるクラスタリングを行う最大サンプル数をNc=200、各ノードの最小サンプル数を24としたとき、ファイルの読み込み、逆運動学、順運動学、データベース構築に要した時間の合計は1190秒であった。なお、全階層で単純なノード分割を行った場合は260秒となる。
[C−3]結果
単一フレームをキーとして、検索した結果から得られた次ポーズ候補のうち上位8個を提示した例を図9に示す。中央に表示されたキャラクタが入力した姿勢であり、その下に次ポーズ候補が左から尤度の降順に並んでいる。入力によりそれぞれ妥当な検索結果が得られていることがわかる。また、入力した運動データのフレーム数と検索及び逆運動学計算に要した時間および得られた候補数を表1に示す。
なお、逆運動学計算には、「山根克, 中村仁彦. ヒューマンフィギュアの全身運動生成のための協応構造化インターフェイス. 日本ロボット学会誌, Vol. 20, No. 3, pp. 335.343, 2002.」の方法を使い、収束計算を10回繰り返した。候補1個につき34×3=102個の拘束条件を考慮しなければならない逆運動学計算に比べ、検索に要する時間は短い。
単一フレームをキーとして、検索した結果から得られた次ポーズ候補のうち上位8個を提示した例を図9に示す。中央に表示されたキャラクタが入力した姿勢であり、その下に次ポーズ候補が左から尤度の降順に並んでいる。入力によりそれぞれ妥当な検索結果が得られていることがわかる。また、入力した運動データのフレーム数と検索及び逆運動学計算に要した時間および得られた候補数を表1に示す。
[D]運動データの追加登録
モーションデータ初期登録の方法を述べたが、データベースをより汎用にするためにはモーションデータのデータベースの追加機能が必要である。運動データの追加登録の1つの態様について説明する。ここで述べる態様では、バックアップデータを用いてノードを再構成する。バックアップデータベースとは、モーションデータベースの構築に用いたモーションデータの全てのフレーム、ならびに構築されたモーションデータベースの各情報を記録する場所である。
モーションデータ初期登録の方法を述べたが、データベースをより汎用にするためにはモーションデータのデータベースの追加機能が必要である。運動データの追加登録の1つの態様について説明する。ここで述べる態様では、バックアップデータを用いてノードを再構成する。バックアップデータベースとは、モーションデータベースの構築に用いたモーションデータの全てのフレーム、ならびに構築されたモーションデータベースの各情報を記録する場所である。
図10に示すように、まずモーションデータのモーションデータベースへの初期登録を行う(ステップ1)。
初期登録が完了したすべてフレームとツリーの構成及び各ノードの平均と共分散行をバックアップデータベースに保存する(ステップ2)。
次にモーションデータベースを用いるときにはバックアップデータベースからノードの平均と共分散行列を読み込み、モーションデータベースの再構成を行う(ステップ3)。
モーションデータを追加登録する際は各ノードに所属するフレームの情報をバックアップデータベースから取得し、追加されたデータを加味してノードの平均と共分散行列ならびにノードが保持するフレームのインデックスを更新する(ステップ4)。
更新が完了したら再びバックアップデータベースに各ノードの平均と共分散行列ならびにノードが保持するフレームを更新登録し、以下からを繰り返すことで、モーションデータベースを再構成できる。
初期登録が完了したすべてフレームとツリーの構成及び各ノードの平均と共分散行をバックアップデータベースに保存する(ステップ2)。
次にモーションデータベースを用いるときにはバックアップデータベースからノードの平均と共分散行列を読み込み、モーションデータベースの再構成を行う(ステップ3)。
モーションデータを追加登録する際は各ノードに所属するフレームの情報をバックアップデータベースから取得し、追加されたデータを加味してノードの平均と共分散行列ならびにノードが保持するフレームのインデックスを更新する(ステップ4)。
更新が完了したら再びバックアップデータベースに各ノードの平均と共分散行列ならびにノードが保持するフレームを更新登録し、以下からを繰り返すことで、モーションデータベースを再構成できる。
ノードの更新方法の1つの態様について説明する。あるノードにおいて追加登録前のノードBl,i内のフレーム数がn,平均がμl,i、共分散行列がΣl,iとする。このノードにあるフレームxn+1が入ってきた時、平均と共分散行列は以下の通りである。
これにより逐次的にノードの平均と共分散行列を更新していく。ここで追加したあるフレームに割り振られるかは、数8に示す式で計算される尤度によって決定される(図11の(A))。
最上位ノードから子ノードの中でxn+1と各層において尤度最大のノードに追加していく。また新規登録の時と同様にノード内のフレーム数が閾値を超えた場合は2つの子ノードに分割する(図11の(B))。これにより枝によって深さが異なるツリーとなる場合は深さ最大の枝に合うよう単一の子ノードを追加していく(図11の(C))。
本発明は、コンピュータグラフィックスのみならず、スポーツ科学、リハビリテーション、医療分野等の様々な分野においても利用可能である。
Claims (24)
- 複数の正規化運動データを用いたデータベース構造であって、
前記複数の正規化運動データの各フレームの時間間隔は共通化されており、
前記データベース構造は、木構造を備えた階層型データベースであり、
木構造の最上位層は、複数の正規化運動データの全てのフレームが含まれている1つのノードであり、
正規化運動データの各フレームは、木構造の各階層のいずれかの1つのノードに含まれていると共に、各ノードには、上位層から下位層に行くにしたがってより近い状態量を備えたフレームが含まれており、
各階層毎に、各階層を構成する複数のノード間の遷移確率が格納されている、
運動データベース構造。 - 前記木構造は、二分木構造である、請求項1に記載の運動データベース構造。
- 各運動データ毎に、各階層を構成する複数のノード間の遷移確率が格納されている、請求項1、2いずれかに記載の運動データベース構造。
- 正規化運動データの各フレームの状態量は、骨格モデルの任意の姿勢を決定し得る仮想マーカセットの各仮想マーカの位置および速度によって決定される、請求項1乃至3いずれかに記載の運動データベース構造。
- 木構造の最下位層のノードには、所定数以上のフレームが含まれている、請求項1乃至4いずれかに記載の運動データベース構造。
- 各ノードに含まれる複数のフレームの状態量の代表値を各ノードの特徴量とし、各ノードの特徴量が、各ノードに含まれる複数のフレームの状態量に代えて或は加えて、格納されている、請求項1乃至5いずれかに記載の運動データベース構造。
- 複数の正規化運動データの全てのフレームから最上位のノードを形成して木構造のルートとし、
各階層のノードに含まれるフレーム数が第1閾値以下となるまでノード分割を行う第1分割ステップと、
各階層のノードに含まれるフレーム数が第2閾値以下となるまで、第1分割ステップの最下層のノードから順次ノード分割を行う第2分割ステップと、
を備え、
前記第1分割ステップは、各ノードに含まれるフレームの状態量から取得した1次元の指標に基づいてノード分割を行い、
前記第2分割ステップは、各ノードに含まれるフレームの状態量を用いた階層的クラスタリングによりノード分割を行う、
複数の正規化運動データを用いた運動データベース構築方法。 - 前記第1分割ステップ及び第2分割ステップは、各ノードを下位の2つのノードに分割するものである、請求項7に記載の運動データベース構築方法。
- 正規化運動データの各フレームの状態量は、骨格モデルの任意の姿勢を決定し得る仮想マーカセットの各仮想マーカの位置および速度によって決定される、請求項7,8いずれかに記載の運動データベース構造。
- 前記第1分割ステップは、主成分分析に基づくノード分割であり、前記指標は第1主成分得点である、請求項7乃至9いずれかに記載の運動データベース構築方法。
- 前記第1分割ステップにおける前記指標は重心の高さである、請求項7乃至9いずれかに記載の運動データベース構築方法。
- 1つの上位ノードに含まれる複数のフレームを複数の下位ノードに分配する際に、各運動データを構成する各フレームと次フレームがどのノードに所属しているかの情報を格納し、同階層の各ノード間の遷移確率を求めることを含む、請求項7乃至11いずれかに記載の運動データベース構築方法。
- 運動データを正規化する方法であって、
運動データは、骨格モデルの各関節角の時系列データからなり、
複数の仮想マーカからなる仮想マーカセットを、骨格モデルの任意の姿勢を決定可能なように骨格モデルの所定位置に配置し、
前記関節角の時系列データから、各フレームの仮想マーカセットの位置および速度を取得して、仮想マーカセットの位置及び速度をフレームの状態量とし、
各フレームの状態量を、骨格モデルのルートリンクを基準とする座標系に変換し、
変換された各フレームの状態量をスケーリングし、
スケーリングされた各フレームの状態量を時系列に並べて正規化した運動データとする、
運動データの正規化方法。 - 各フレームの時間間隔を共通化することを含む、請求項13に記載の運動データの正規化方法。
- 前記関節角の時系列データは、ある骨格モデルに配置したマーカ位置の時系列データから逆運動学計算によって取得されたものである、請求項13、14いずれかに記載の運動データの正規化方法。
- 前記関節角の時系列データは、骨格モデルに対して直接付与されている、請求項13、14いずれかに記載の運動データの正規化方法。
- 請求項1乃至6いずれかに記載のデータベース構造と、入力部と、出力部と、処理部と、を備えた運動データ検索装置であって、
入力部は、1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するように構成され、
処理部は、各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出し、
出力部は、尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するように構成されている、
運動データ検索装置。 - 前記処理部は、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出し、
出力部は、算出された1つ以上の次ノードを候補として出力する、
請求項17に記載の運動データ検索装置。 - 入力部から入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される、請求項17、18いずれかに記載の運動データ検索装置。
- 請求項1乃至6いずれかに記載のデータベース構造を用いた運動データ検索方法であって、
1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するステップと、
各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出するステップと、
尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するステップと、を備えている、
運動データ検索方法。 - さらに、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出するステップと、
算出された1つ以上の次ノードを候補として出力する、
請求項20に記載の運動データ検索方法。 - 入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される、請求項20、21いずれかに記載の運動データ検索方法。
- 1フレーム以上の運動データは、ある関節モデルの関節角データによって特定されており、
入力される前記正規化された状態量は、
前記関節角データに基づいて、順運動学計算により仮想マーカの位置あるいは位置及び速度を取得するステップと、
取得された仮想マーカの位置あるいは位置及び速度を骨格モデルのルートリンクを基準とする座標系に変換するステップと、
変換された仮想マーカの位置あるいは位置及び速度をスケーリングするステップと、
によって取得される、
請求項22に記載の運動データ検索方法。 - 前記1つ以上のノード候補あるいは1つ以上のノード遷移系列候補は、
前記ノード候補あるいはノード遷移系列候補に含まれる状態量の代表値に基づいて、逆運動学計算により関節角データを取得し、
取得した関節角データを上記関節モデルに適用することで表示される、
請求項23に記載の運動データ検索方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008139020 | 2008-05-28 | ||
JP2008139020 | 2008-05-28 | ||
PCT/JP2009/059037 WO2009145071A1 (ja) | 2008-05-28 | 2009-05-15 | 運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2009145071A1 true JPWO2009145071A1 (ja) | 2011-10-06 |
Family
ID=41376952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010514439A Pending JPWO2009145071A1 (ja) | 2008-05-28 | 2009-05-15 | 運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2009145071A1 (ja) |
WO (1) | WO2009145071A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112634415B (zh) * | 2020-12-11 | 2023-11-10 | 北方信息控制研究院集团有限公司 | 一种基于人体骨骼模型的人员动作实时仿真方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5318070B2 (ja) * | 2010-10-27 | 2013-10-16 | 株式会社スクウェア・エニックス | 物理的2足歩行キャラクターを制御するためのロバスト動作選択 |
WO2024057423A1 (ja) * | 2022-09-13 | 2024-03-21 | 富士通株式会社 | 変換方法、変換プログラムおよび変換装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6807306B1 (en) * | 1999-05-28 | 2004-10-19 | Xerox Corporation | Time-constrained keyframe selection method |
JP4379616B2 (ja) * | 2005-03-01 | 2009-12-09 | 株式会社国際電気通信基礎技術研究所 | モーションキャプチャデータ補正装置、マルチモーダルコーパス作成システム、画像合成装置、及びコンピュータプログラム |
WO2007138885A1 (ja) * | 2006-05-26 | 2007-12-06 | The University Of Tokyo | 運動データのデータベースの構造および設計法、データベースシステム |
-
2009
- 2009-05-15 JP JP2010514439A patent/JPWO2009145071A1/ja active Pending
- 2009-05-15 WO PCT/JP2009/059037 patent/WO2009145071A1/ja active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112634415B (zh) * | 2020-12-11 | 2023-11-10 | 北方信息控制研究院集团有限公司 | 一种基于人体骨骼模型的人员动作实时仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2009145071A1 (ja) | 2009-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Frishman et al. | Online dynamic graph drawing | |
CN110501017A (zh) | 一种基于orb_slam2的移动机器人导航地图生成方法 | |
Ikemoto et al. | Enriching a motion collection by transplanting limbs | |
Yamane et al. | Human motion database with a binary tree and node transition graphs | |
CN102508867B (zh) | 一种人体运动的运动图检索方法 | |
CN110390396A (zh) | 用于估计观测变量之间的因果关系的方法、装置和系统 | |
CN102725038B (zh) | 组合多传感输入以用于数字动画 | |
CN111223168B (zh) | 目标对象控制方法、装置、存储介质和计算机设备 | |
Huang et al. | Human motion synthesis from 3d video | |
Kirsanov et al. | Discoman: Dataset of indoor scenes for odometry, mapping and navigation | |
Toma et al. | Pathbench: A benchmarking platform for classical and learned path planning algorithms | |
Anderson et al. | Stochastic sampling simulation for pedestrian trajectory prediction | |
WO2009145071A1 (ja) | 運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法 | |
Dhore et al. | Human Pose Estimation And Classification: A Review | |
Lien et al. | Planning motion in environments with similar obstacles. | |
Mousas et al. | Efficient hand-over motion reconstruction | |
CN109993818B (zh) | 三维人体模型运动合成的方法、装置、设备及介质 | |
Mahmudi et al. | Analyzing locomotion synthesis with feature-based motion graphs | |
Boukhayma et al. | Video based animation synthesis with the essential graph | |
JP5210401B2 (ja) | 用例に基づく効率的なモーションデータベースのスタイリング | |
KR101547208B1 (ko) | 손목 궤적을 이용한 전신 동작 생성 장치 및 방법 | |
Häfliger et al. | Dynamic motion matching: design and implementation of a context-aware animation system for games | |
Matthews et al. | A sketch-based articulated figure animation tool | |
CN112862957A (zh) | 一种基于约束投影的gpu并行试衣仿真方法 | |
CN110991237A (zh) | 一种基于抓握分类学的虚拟手自然抓握动作生成方法 |