(57)【特許請求の範囲】
【請求項１】
動きデータから、主成分空間で動きの空間的な分布を表す空間的特徴量を算出する空間的特徴量算出部と、
動きデータから、主成分空間で動きの時間的な分布を表す時間的特徴量を算出する時間的特徴量算出部と、
二つの動きデータについてそれぞれに算出された空間的特徴量の間の距離と時間的特徴量の間の距離とを用いて動きの類似度を算出する類似度算出部と、
を備えたことを特徴とする動き類似度算出装置。
【請求項２】
前記空間的特徴量算出部は、動きデータ内の各フレームの動きの主成分についてのフレーム間の距離を用いてヒストグラムを算出する、
ことを特徴とする請求項１に記載の動き類似度算出装置。
【請求項３】
前記時間的特徴量算出部は、動きデータ内の基準フレームとそれ以外の各フレームとの間の距離を算出し、算出したフレーム間距離から極値を求め、隣り合う極値間のフレーム数が一定数になるように、フレーム間距離の値を補間または間引く、
ことを特徴とする請求項１又は２に記載の動き類似度算出装置。
【請求項４】
前記時間的特徴量算出部は、動きデータ内の基準フレームとそれ以外の各フレームとの間の距離を算出し、算出したフレーム間距離から極値を求め、極値の間隔が極端に短い場合には当該極値を削除し、極値の間隔が極端に長い場合には適切な極値を挿入する、
ことを特徴とする請求項１から３のいずれか１項に記載の動き類似度算出装置。
【請求項５】
前記類似度算出部は、空間的特徴量の間の距離と時間的特徴量の間の距離に対して重み付け平均値を算出する、
ことを特徴とする請求項１から４のいずれか１項に記載の動き類似度算出装置。
【請求項６】
動きデータから、主成分空間で動きの空間的な分布を表す空間的特徴量を算出するステップと、
動きデータから、主成分空間で動きの時間的な分布を表す時間的特徴量を算出するステップと、
二つの動きデータについてそれぞれに算出された空間的特徴量の間の距離と時間的特徴量の間の距離とを用いて動きの類似度を算出するステップと、
を含むことを特徴とする動き類似度算出方法。
【請求項７】
動きデータから、主成分空間で動きの空間的な分布を表す空間的特徴量を算出するステップと、
動きデータから、主成分空間で動きの時間的な分布を表す時間的特徴量を算出するステップと、
二つの動きデータについてそれぞれに算出された空間的特徴量の間の距離と時間的特徴量の間の距離とを用いて動きの類似度を算出するステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き類似度算出装置、動き類似度算出方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、モーションキャプチャ（motion capture）データを取得する方法として、マーカーを関節部位等に付けた人物を撮影した映像からモーションキャプチャデータを取得する方法や、ＲＧＢカメラと深度センサーを組み合わせた深度センサーシステムによって深度センサーシステムから人物までの距離を計測してモーションキャプチャデータを取得する方法などが知られている。前者の方法では、モーションキャプチャデータとして、例えば、図６に例示されるような人体スケルトン型動きデータが定義される。後者の方法としては、例えば、「Kinect（登録商標）センサー」と呼ばれるものが知られている。
【０００３】
ここでは、人体の姿勢（ポーズ）の動きを表現するデータとして、図６に例示される人体スケルトン型動きデータについて説明する。図６は、人体スケルトン型動きデータの定義例の概略図である。人体スケルトン型動きデータは、人の骨格を基に、骨及び骨の連結点（ジョイント）を用い、一ジョイントを根（ルート）とし、ルートからジョイント経由で順次連結される骨の構造を木（ツリー）構造として定義される。図６には、人体スケルトン型動きデータの定義の一部分のみを示している。図６において、ジョイント１００は腰の部分であり、ルートとして定義される。ジョイント１０１は左腕の肘の部分、ジョイント１０２は左腕の手首の部分、ジョイント１０３は右腕の肘の部分、ジョイント１０４は右腕の手首の部分、ジョイント１０５は左足の膝の部分、ジョイント１０６は左足の足首の部分、ジョイント１０７は右足の膝の部分、ジョイント１０８は右足の足首の部分、ジョイント１０９は鎖骨の部分、ジョイント１１０、１１１は肩の部分、ジョイント１１２は首の部分、ジョイント１１３、１１４は股関節の部分、である。
【０００４】
スケルトン型動きデータは、スケルトン型対象物の各ジョイントの動きを記録したデータであり、スケルトン型対象物としては人体や動物、ロボットなどが適用可能である。スケルトン型動きデータとしては、各ジョイントの位置情報や角度情報、速度情報、加速度情報などが利用可能である。ここでは、人体スケルトン型動きデータとして、人体スケルトンの角度情報と加速度情報を例に挙げて説明する。
【０００５】
人体スケルトン型角度情報データは、人の一連の動きを複数のポーズの連続により表すものであり、人の基本ポーズ（neutral pose）を表す基本ポーズデータと、実際の人の動きの中の各ポーズを表すポーズ毎のフレームデータとを有する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなどの情報を有する。基本ポーズデータにより基本ポーズが特定される。フレームデータは、基本ポーズからの移動量をジョイント毎に表す。ここでは、移動量として角度情報を利用する。各フレームデータにより、基本ポーズに対して各移動量が加味された各ポーズが特定される。これにより、各フレームデータによって特定される各ポーズの連続により、人の一連の動きが特定される。なお、人体スケルトン型角度情報データは、人の動きをカメラ撮影した映像からモーションキャプチャ処理によって作成したり、或いは、キーフレームアニメーションの手作業によって作成したりすることができる。
【０００６】
人体スケルトン型加速度情報データは、人の各ジョイントの加速度をポーズ毎のフレームデータと複数のポーズの連続により表すものである。なお、人体スケルトン型加速度情報データは、加速度計で記録したり、映像や動きデータから算出したりすることができる。
【０００７】
従来、二つの動きの間の類似度を算出する従来の技術としては、おおよそ次の２つのステップ１、２から構成される。
【０００８】
ステップ１：二つのモーションキャプチャデータの各フレーム間の距離を算出する。例えば非特許文献１には、フレーム間の距離を算出する方法として以下の二通りが記載されている。
（フレーム間の距離を算出する方法１）
人体スケルトン型動きデータにおいて、ジョイント毎に角度の距離を定義し、各ジョイントを重み付け平均する。
（フレーム間の距離を算出する方法２）
人体スケルトン型動きデータを潜在空間に変更し、潜在空間の座標同士でEuclidean距離を算出する。
また、非特許文献２及び特許文献１に記載される従来技術では、各関節の動きの特徴量を算出し、その特徴量同士の距離を定義し、各ジョイントを重み付け平均する。
【０００９】
ステップ２：二つの動きの間の類似度を算出する際に、全てのフレームを考慮する。例えば非特許文献３に記載されるように最も一般的な方法である、はＤＴＷ（Dynamic Time Warping）を用いる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−０３３１６３号公報
【非特許文献】
【００１１】
【非特許文献１】B.J.H. van Basten, A. Egges, “Evaluating distance metrics for animation blending,” ICFDG 2009, pp. 199-206.
【非特許文献２】Meinard Muller, Tido Roder, and Michael Clausen, “Efficient content-based retrieval of motion capture data,” ACM SIGGRAPH 2005, pp. 677-685.
【非特許文献３】Armin Bruderlin and Lance Williams, “Motion signal preprocess,” ACM SIGGRAPH 1995, pp. 97-104.
【非特許文献４】Yossi Rubner; Carlo Tomasi, Leonidas J. Guibas (1998). "A Metric for Distributions with Applications to Image Databases". Proceedings ICCV 1998: 59-66
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、上述した従来の動き類似度算出技術では、以下に示すような課題がある。
（１）異なるモーションキャプチャシステムで取得したモーションキャプチャデータに対して、共通的に動きの類似度を算出することが難しい。例えば、人体スケルトン型動きデータの骨構造の定義が異なると、従来の技術では適用できない。
（２）モーションキャプチャデータを取得するための撮影の環境（被写体である人物、撮影距離、撮影角度など）が異なると、共通的に動きの類似度を算出することが難しい。
（３）入力データの種類（例えば、人体スケルトン型動きデータ、深度センサーシステムで取得したモーションキャプチャデータ、ＲＧＢ画像データ、距離画像データなど）が異なると、共通的に動きの類似度を算出することが難しい。
（４）モーションキャプチャシステムなどで取得したデータがノイズを含んでいると、ロバストな類似度を算出することが難しい。
【００１３】
本発明は、このような事情を考慮してなされたもので、ロバスト性を向上させた動き類似度算出装置、動き類似度算出方法およびコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、本発明に係る動き類似度算出装置は、動きデータから、主成分空間で動きの空間的な分布を表す空間的特徴量を算出する空間的特徴量算出部と、動きデータから、主成分空間で動きの時間的な分布を表す時間的特徴量を算出する時間的特徴量算出部と、二つの動きデータについてそれぞれに算出された空間的特徴量の間の距離と時間的特徴量の間の距離とを用いて動きの類似度を算出する類似度算出部と、を備えたことを特徴とする。
【００１５】
本発明に係る動き類似度算出装置において、前記空間的特徴量算出部は、動きデータ内の各フレームの動きの主成分についてのフレーム間の距離を用いてヒストグラムを算出する、ことを特徴とする。
【００１６】
本発明に係る動き類似度算出装置において、前記時間的特徴量算出部は、動きデータ内の基準フレームとそれ以外の各フレームとの間の距離を算出し、算出したフレーム間距離から極値を求め、隣り合う極値間のフレーム数が一定数になるように、フレーム間距離の値を補間または間引く、ことを特徴とする。
【００１７】
本発明に係る動き類似度算出装置において、前記時間的特徴量算出部は、動きデータ内の基準フレームとそれ以外の各フレームとの間の距離を算出し、算出したフレーム間距離から極値を求め、極値の間隔が極端に短い場合には当該極値を削除し、極値の間隔が極端に長い場合には適切な極値を挿入する、ことを特徴とする。
【００１８】
本発明に係る動き類似度算出装置において、前記類似度算出部は、空間的特徴量の間の距離と時間的特徴量の間の距離に対して重み付け平均値を算出する、ことを特徴とする。
【００１９】
本発明に係る動き類似度算出方法は、動きデータから、主成分空間で動きの空間的な分布を表す空間的特徴量を算出するステップと、動きデータから、主成分空間で動きの時間的な分布を表す時間的特徴量を算出するステップと、二つの動きデータについてそれぞれに算出された空間的特徴量の間の距離と時間的特徴量の間の距離とを用いて動きの類似度を算出するステップと、を含むことを特徴とする。
【００２０】
本発明に係るコンピュータプログラムは、動きデータから、主成分空間で動きの空間的な分布を表す空間的特徴量を算出するステップと、動きデータから、主成分空間で動きの時間的な分布を表す時間的特徴量を算出するステップと、二つの動きデータについてそれぞれに算出された空間的特徴量の間の距離と時間的特徴量の間の距離とを用いて動きの類似度を算出するステップと、をコンピュータに実行させるためのコンピュータプログラムであることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、動きデータ間の動きの類似度を算出する際に、ロバスト性を向上させることができるという効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係る動き類似度算出装置１の構成を示すブロック図である。
【図２】図１に示す空間的特徴量算出部１２の構成を示すブロック図である。
【図３】ヒストグラムの例である。
【図４】本発明の一実施形態に係る時間的特徴量算出処理を説明するためのグラフ図である。
【図５】本発明の一実施形態に係る主成分分析方法の手順を示す概略図である。
【図６】人体スケルトン型動きデータの定義例である。
【発明を実施するための形態】
【００２３】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の一実施形態に係る動き類似度算出装置１の構成を示すブロック図である。図１において、動き類似度算出装置１は、入力部１１と空間的特徴量算出部１２と時間的特徴量算出部１３と類似度算出部１４と出力部１５を有する。本実施形態に係る動き類似度算出装置１は、動きデータ間の動きの類似度を算出する。動きデータは、人物の動きを表すデータである。動きデータとしては、モーションキャプチャデータ、ＲＧＢ画像データ、又は距離画像データなどがある。以下の説明では、動きデータの一例として、モーションキャプチャデータを用いて説明する。
【００２４】
［入力部］
入力部１１は、動きデータとしてモーションキャプチャデータを入力する。モーションキャプチャデータの種類としては、例えば、人体スケルトン型動きデータや、深度センサーシステムで取得したモーションキャプチャデータなどがある。
【００２５】
［空間的特徴量算出部］
図２は、図１に示す空間的特徴量算出部１２の構成を示すブロック図である。図２において、空間的特徴量算出部１２は、物理量変更部２１と主成分分析部２２とヒストグラム算出部２３を有する。空間的特徴量算出部１２は、入力部１１から入力されたモーションキャプチャデータが表す人物の動きについての空間的特徴量を算出する。空間的特徴量は、動きの空間的な分布を表す。空間的特徴量の算出では、比較的大きな動きを重視し、比較的細かい動きを無視する。また、主成分分析とヒストグラムの算出によって、ロバスト性を向上させる。
【００２６】
［物理量変更部］
物理量変更部２１は、入力されたモーションキャプチャデータから、主成分分析部２２に入力するデータを生成する。以下、人体スケルトン型動きデータを用いて、主成分分析部２２に入力するデータを生成する実施例を説明する。
【００２７】
物理量変更部２１は、人体スケルトン型動きデータが表す動きの期間において、各ジョイントがルートに対してどの位置で動いているのかを算出する。ここでは、人体スケルトン型動きデータの一種である人体スケルトン型角度情報データを用いて、時刻ｔにおけるジョイント相対位置を算出する。ジョイント相対位置は、ルートに対するジョイントの相対的な位置である。
【００２８】
まず、物理量変更部２１は、人体スケルトン型角度情報データ内の基本ポーズデータとフレームデータを用いて、ジョイント位置を算出する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなど、基本ポーズを特定する情報を有する。フレームデータは、ジョイント毎に、基本ポーズからの移動量の情報を有する。ここでは、移動量として角度情報を利用する。この場合、時刻ｔにおけるｋ番目のジョイントの位置ｐｋ（ｔ）は、（１）式および（２）式により算出される。ｐｋ（ｔ）は３次元座標で表される。なお、時刻ｔはフレームデータの時刻である。本実施形態では、時刻ｔを単に「フレームインデックス」として扱う。これにより、時刻ｔは、０，１，２，・・・，Ｔ−１の値をとる。Ｔは、人体スケルトン型角度情報データに含まれるフレームの個数である。
【００２９】
【数１】
0005837860.tif 000002
【００３０】
【数２】
0005837860.tif 000003
【００３１】
但し、０番目（ｉ＝０）のジョイントはルートである。Ｒａｘｉｓｉ−１，ｉ（ｔ）は、ｉ番目のジョイントとその親ジョイント（「ｉ−１」番目のジョイント）間の座標回転マトリックスであり、基本ポーズデータに含まれる。各ジョイントにはローカル座標系が定義されており、座標回転マトリックスは親子関係にあるジョイント間のローカル座標系の対応関係を表す。Ｒｉ（ｔ）は、ｉ番目のジョイントのローカル座標系におけるｉ番目のジョイントの回転マトリックスであり、フレームデータに含まれる角度情報である。Ｔｉ（ｔ）は、ｉ番目のジョイントとその親ジョイント間の遷移マトリックスであり、基本ポーズデータに含まれる。遷移マトリックスは、ｉ番目のジョイントとその親ジョイント間の骨の長さを表す。
【００３２】
次いで、物理量変更部２１は、時刻ｔにおける、ルートに対するｋ番目のジョイントの相対位置（ジョイント相対位置）ｐ’ｋ（ｔ）を（３）式により算出する。
【００３３】
【数３】
0005837860.tif 000004
【００３４】
但し、ｐｒｏｏｔ（ｔ）は時刻ｔにおけるルート（０番目のジョイント）の位置（ｐ０（ｔ））である。
【００３５】
これにより、時刻ｔのフレーム「ｘ（ｔ）」は、「ｘ（ｔ）＝｛ｐ’１（ｔ），ｐ’２（ｔ），・・・，ｐ’Ｋ（ｔ）｝Ｔ」と表される。但し、Ｋは、ルートを除いたジョイントの個数である。Ｔは転置行列を表す。
【００３６】
［主成分分析部］
主成分分析部２２は、物理量変更部２１が生成したジョイント相対位置データに対して、主成分分析処理を行う。ここでは、時刻ｔのフレーム「ｘ（ｔ）」を用いて、ジョイント相対位置データ「Ｘ」を「Ｘ＝｛ｘ（ｔ１），ｘ（ｔ２），・・・，ｘ（ｔＮ）｝と表す。但し、Ｎは、ジョイント相対位置データに含まれるフレームの個数である。Ｘは、Ｍ行Ｎ列の行列である（但し、Ｍ＝３×Ｋ）。
【００３７】
主成分分析処理では、Ｘに対して主成分分析処理を行い、Ｘを主成分空間へ変換する。
【００３８】
ここで、主成分分析方法を説明する。
まず、（４）式により、Ｘから平均値を除いたＮ行Ｍ列の行列Ｄを算出する。
【００３９】
【数４】
0005837860.tif 000005
【００４０】
次いで、（５）式により、Ｎ行Ｍ列の行列Ｄに対して特異値分解（Singular Value Decomposition）を行う。
【００４１】
【数５】
0005837860.tif 000006
【００４２】
但し、Ｕは、Ｎ行Ｎ列のユニタリ行列である。Σは、Ｎ行Ｍ列の負でない対角要素を降順にもつ対角行列であり、主成分空間の座標の分散を表す。Ｖは、Ｍ行Ｍ列のユニタリ行列であり、主成分に対する係数（principal component）である。
【００４３】
次いで、（６）式により、Ｎ行Ｍ列の行列Ｄを主成分空間へ変換する。Ｍ行Ｎ列の行列Ｙは、主成分空間の座標を表す。
【００４４】
【数６】
0005837860.tif 000007
【００４５】
主成分分析処理では、主成分空間の座標を表す行列（主成分座標行列）Ｙと、主成分に対する係数の行列（主成分係数行列）Ｖをメモリに保存する。
【００４６】
なお、元空間の座標を表す行列Ｘと主成分座標行列Ｙは、（６）式と（７）式により相互に変換することができる。
【００４７】
【数７】
0005837860.tif 000008
【００４８】
また、上位のｒ個の主成分によって、（８）式により変換することができる。
【００４９】
【数８】
0005837860.tif 000009
【００５０】
但し、Ｖｒは、主成分係数行列Ｖ内の上位のｒ個の行から成るＭ行ｒ列の行列である。Ｙｒは、主成分座標行列Ｙ内の上位のｒ個の列から成るｒ行Ｎ列の行列である。Ｘ〜は、復元されたＭ行Ｎ列の行列である。
【００５１】
なお、元空間の一部の自由度だけを主成分分析処理することも可能である。例えば、足に関するジョイント相対位置データのみから生成したＭ’行Ｎ列の行列Ｘ’に対して、（４）式、（５）式及び（６）式により主成分分析処理を行う。また、ジョイント相対位置データ内の一部のフレームだけを主成分分析処理することも可能である。例えば、最初のＮ’個のフレームのみから生成したＭ行Ｎ’列の行列Ｘ’に対して、（４）式、（５）式及び（６）式により主成分分析処理を行う。
【００５２】
［ヒストグラム算出部］
ヒストグラム算出部２３は、主成分分析部２２が算出した主成分座標行列Ｙを用いて、ヒストグラムを算出する。このヒストグラムが本実施形態に係る空間的特徴量である。そのヒストグラム算出処理では、主成分座標行列Ｙ内の上位のｒ個の列から成るｒ行Ｎ列の行列Ｙｒを用いて、ヒストグラムを算出する。ｒの値は任意に設定可能とする。
【００５３】
行列Ｙｒは、ジョイント相対位置データＸと同様にＮ個のフレームを有し、「Ｙｒ＝｛ｙｒ（ｔ１），ｙｒ（ｔ２），・・・，ｙｒ（ｔＮ）｝と表される。ヒストグラム算出部２３は、行列Ｙｒのフレームの全組合せに対して、（９）式によりユークリッド距離を算出する。
【００５４】
【数９】
0005837860.tif 000010
【００５５】
次いで、ヒストグラム算出部２３は、算出したユークリッド距離ｄ（ｉ，ｊ）を用いて、所定のビン数のヒストグラム（度数分布図）のデータを算出する。ヒストグラムは度数分布を表す棒状のグラフである。図３はヒストグラムの例である。本実施形態では、ヒストグラムの横軸にユークリッド距離ｄ（ｉ，ｊ）、縦軸に各ユークリッド距離ｄ（ｉ，ｊ）の度数を示す。このとき、ユークリッド距離ｄ（ｉ，ｊ）の最大値と最小値に基づいて、横軸に表すビンの幅を等間隔に設定する。これにより、例えば、６４個のビンから構成されるヒストグラム「Ｈ＝｛ｈ（１），ｈ（２），・・・，ｈ（６４）｝が算出される。
【００５６】
以上が空間的特徴量算出部１２の説明である。
【００５７】
［時間的特徴量算出部］
時間的特徴量算出部１３は、入力部１１から入力されたモーションキャプチャデータが表す人物の動きについての時間的特徴量を算出する。時間的特徴量は、動きの時間的な分布を表す。
【００５８】
まず、時間的特徴量算出部１３は、モーションキャプチャデータ内の基準フレームとそれ以外の各フレームとの間の距離を算出する。本実施形態では、時間的に最初のフレーム（第１フレーム）を基準フレームとする。この結果、第１フレームとそれ以外の各フレームとの間の距離「Ｄ＝｛ｄ（ｔ２），ｄ（ｔ３），・・・，ｄ（ｔＮ）｝が算出される。なお、フレーム間距離の算出方法としては、非特許文献１に記載される方法を用いることができる。又は、上記主成分分析部２２が算出した主成分座標行列Ｙを用いて、（９）式によりユークリッド距離として算出してもよい。
【００５９】
次いで、時間的特徴量算出部１３は、算出したフレーム間距離Ｄから極値を求める。このとき、図４に例示されるように、最初のフレーム間距離３０１（第１フレームと第２フレーム間の距離）と最後のフレーム間距離３０６（第１フレームと第Ｎフレーム間の距離）も極値として追加する。これにより、図４の例では６個の極値３０１〜３０６が求まる。なお、極値の間隔に激しい変化がある場合には解消することが好ましい。このために、極値の間隔が極端に短い場合には当該極値を削除する。逆に、極値の間隔が極端に長い場合には適切な極値を挿入する。
【００６０】
次いで、時間的特徴量算出部１３は、フレーム間距離「Ｄ＝｛ｄ（ｔ２），ｄ（ｔ３），・・・，ｄ（ｔＮ）｝に対して、隣り合う極値間のフレーム数（距離の値の数）が一定数（任意に設定可能な値とする）になるように、フレーム間距離の値を補間または間引く。この調整後のフレーム間距離を時間的特徴量「Ｆ＝｛ｆ（１），ｆ（２），・・・，ｆ（Ｎ’）｝」とする。この時間的特徴量Ｆによれば、同じ形の動きに対して動きの速さで区別しないようにする効果がある。
【００６１】
［類似度算出部］
類似度算出部１４は、入力部１１が入力した二つのモーションキャプチャデータに関し、一方のモーションキャプチャデータが表す人物の動きと、もう一方のモーションキャプチャデータが表す人物の動きとの類似度を算出する。この類似度算出処理では、各モーションキャプチャデータに関して、空間的特徴量算出部１２が算出した空間的特徴量と、時間的特徴量算出部１３が算出した時間的特徴量とを用いる。以下、本実施形態に係る類似度算出方法を説明する。
【００６２】
ここでは、第１のモーションキャプチャデータに関して、空間的特徴量（ヒストグラム「Ｈ１＝｛ｈ１（１），ｈ１（２），・・・，ｈ１（６４）｝）と時間的特徴量（フレーム間距離「Ｆ１＝｛ｆ１（１），ｆ１（２），・・・，ｆ１（Ｎ）｝」とする。第２のモーションキャプチャデータに関して、空間的特徴量（ヒストグラム「Ｈ２＝｛ｈ２（１），ｈ２（２），・・・，ｈ２（６４）｝）と時間的特徴量（フレーム間距離「Ｆ２＝｛ｆ２（１），ｆ２（２），・・・，ｆ２（Ｍ）｝」とする。
【００６３】
まず、類似度算出部１４は、第１、第２のモーションキャプチャデータの空間的特徴量（ヒストグラムＨ１、Ｈ２）を用いて、ヒストグラムＨ１とヒストグラムＨ２との間の距離を算出する。このヒストグラム間距離の算出処理では、例えば非特許文献４に記載されるＥＭＤ（Earth Mover’s Distance）という距離の定義を用いて、ヒストグラムＨ１とヒストグラムＨ２との間の距離を算出することができる。このＥＭＤを用いたヒストグラム間距離の算出結果をＥＭＤ（Ｈ１，Ｈ２）とする。ＥＭＤを用いたヒストグラム間距離は、値が小さいほど類似度が大きいことを表す。
【００６４】
次いで、類似度算出部１４は、第１、第２のモーションキャプチャデータの時間的特徴量（フレーム間距離Ｆ１、Ｆ２）を用いて、（１０）式により距離Ｄ１（Ｆ１、Ｆ２）を算出する。
【００６５】
【数１０】
0005837860.tif 000011
【００６６】
又、類似度算出部１４は、第１、第２のモーションキャプチャデータの時間的特徴量（フレーム間距離Ｆ１、Ｆ２）を用いて、（１１）式により距離Ｄ２（Ｆ１、Ｆ２）を算出する。この距離Ｄ２（Ｆ１、Ｆ２）は、第１、第２のモーションキャプチャデータのうち、時間的に長い方のモーションキャプチャデータに対して、距離の算出を開始するフレームをＫ（任意に設定可能な値とする）個だけずらして算出される。
【００６７】
【数１１】
0005837860.tif 000012
【００６８】
類似度算出部１４は、距離Ｄ１（Ｆ１、Ｆ２）と距離Ｄ２（Ｆ１、Ｆ２）のうち、値が小さい方（類似度が大きい方）を時間的特徴量間の距離Ｄ（Ｆ１、Ｆ２）とする。
【００６９】
次いで、類似度算出部１４は、空間的特徴量間の距離（ヒストグラム間距離ＥＭＤ（Ｈ１，Ｈ２））と時間的特徴量間の距離Ｄ（Ｆ１、Ｆ２）を用いて、（１２）式により、類似度（similarity）を算出する。
【００７０】
【数１２】
0005837860.tif 000013
【００７１】
但し、αは重み係数であり、０から１までの範囲で任意に設定可能な値とする。
【００７２】
［出力部］
出力部１５は、類似度算出部１４が算出した類似度を出力する。これにより、入力部１１が入力した二つのモーションキャプチャデータに関する動きの類似度が出力される。
【００７３】
なお、上述した実施形態では、モーションキャプチャデータを用いて主成分分析処理を行う実施例を説明したが、他の種類の動きデータを用いて主成分分析処理を行う実施例を、以下に図５を参照して説明する。図５は、本発明の一実施形態に係る主成分分析方法の手順を示す概略図である。
【００７４】
（ステップＳ１）入力部１１は、動きデータとして、ＲＧＢ画像データ又は距離画像データを入力する。ＲＧＢ画像データは、ＲＧＢカメラで撮像された動画像データであり、フレーム内の画素値はＲＧＢ画素値である。距離画像データは、深度センサーシステムで取得された深度情報を有する動画像データであり、フレーム内の画素値は深度値である。
【００７５】
（ステップＳ２）物理量変更部２１は、入力部１１が入力した動きデータを記憶する。この動きデータは、図５に示されるように、Ｎ個のフレームから構成される。ｉ番目のフレームのサイズＭである画素数Ｍは、フレームの縦の画素数「height」と横の画素数「width」との積「Ｍ＝height×width」である。但し、「１≦ｉ≦Ｎ」である。これにより、任意のサイズの画像から構成される動きデータに対して適用可能とする。
【００７６】
（ステップＳ３）物理量変更部２１は、行列Ｂ’を生成する。行列Ｂ’の列は、動きデータ内のフレームの時系列の順序で、Ｎ個のフレームの画素値ベクトルが配列される。従って、行列Ｂ’のｉ列目の列ベクトルは、ｉ番目のフレームの画素値ベクトルＶｉである。画素値ベクトルＶｉは、ｉ番目のフレームを構成するＭ個の画素の画素値が、各画素のフレーム内の位置に基づく所定の順序で、ベクトルの要素として配列されている。これにより、行列Ｂ’は、Ｍ行Ｎ列の行列となる。
【００７７】
（ステップＳ４）主成分分析部２２は、行列Ｂ’の分散共分散行列Ｓの固有値λｉ（ｉ＝１，２，・・・）と固有ベクトルｖｉ（ｉ＝１，２，・・・）を算出する。分散共分散行列ＳのサイズはＭ行Ｍ列である。
【００７８】
（ステップＳ５）主成分分析部２２は、行列Ｂ’の分散共分散行列Ｓの固有値λｉと固有ベクトルｖｉを用いて、固有値ごとに、固有値と固有ベクトルを主成分の空間の値（主成分得点）に変換した時系列データ（主成分得点の時系列）を生成する。一つの主成分得点の時系列は、動きデータ内のフレーム数と同じＮ個のデータから構成される。
【００７９】
ヒストグラム算出部２３は、主成分分析部２２が作成した第ｉ主成分得点の時系列（ｉ＝１，２，・・・）のうち、上位のｒ個の主成分得点の時系列を用いて、ヒストグラムを算出する。
【００８０】
次に、図５のステップＳ４の一実施例を説明する。一般に、動画像のサイズ（画素数）Ｍは、例えば携帯電話機に付属のカメラで簡易に撮影する場合を想定すると、縦×横＝（height×width＝Ｍ）＝３２０×２４０＝８万画素程度、フレーム数（時系列数）Ｎ＝３００程度、であることが考えられる。すなわち、「M＞Ｎ」であることが想定される。この場合、演算量の削減の観点から、Ｍ行Ｍ列の分散共分散行列Ｓの固有値問題を直接解くのではなく、後述するようにＮ行Ｎ列の行列Ｃの固有値問題を解いて、この結果から分散共分散行列Ｓの固有値と固有ベクトルを、固有値の大きい方から所定数分だけを算出することが好ましい。以下に、この実施例を説明する。
【００８１】
ステップＳ３で求められたＭ行Ｎ列の行列Ｂ’は（１３）式で表される。
【００８２】
【数１３】
0005837860.tif 000014
【００８３】
この行列Ｂ’の行平均（フレーム方向に対する平均）をＭ行Ｎ列の行列meanとして（１４）式で表す。
【００８４】
【数１４】
0005837860.tif 000015
【００８５】
そして、行列Ｂ’から１行ずつ抽出して、行列meanの対応する行の平均ベクトルを引いて，行方向に結合した行列Ｂを（１５）式で定義する。
【００８６】
【数１５】
0005837860.tif 000016
【００８７】
この行列Ｂを利用して、分散共分散行列Ｓを表すと（１６）式となる。
【００８８】
【数１６】
0005837860.tif 000017
【００８９】
そして、固有方程式は（１７）式となる。
【００９０】
【数１７】
0005837860.tif 000018
【００９１】
この（１７）式の固有方程式に対して両辺に左から行列Ｂを掛けて、「Ｂｖ＝ｕ」とすると（１８）式となる。
【００９２】
【数１８】
0005837860.tif 000019
【００９３】
（１８）式は、行列（Ｎ^−１）ＢＢ^Ｔ（行列Ｃとする）の固有方程式である。この行列Ｃに対する固有ベクトルｕを求めてから、固有ベクトルｕを使って分散共分散行列Ｓの固有値ｖを求める。このときの行列の大きさを考えると、Ｎ行Ｎ列となっており、一般に画素値ベクトルの次元数Ｍよりもフレーム数Ｎの方が圧倒的に小さいことから、分散共分散行列Ｓから直接的に固有値を求めるよりも、はるかに少ない演算量で算出できる。
【００９４】
固有ベクトルｕから、分散共分散行列Ｓの固有ベクトルｖを求めるには、（１８）式に左から行列Ｂ^Ｔを掛ける。これにより、（１９）式が得られる。
【００９５】
【数１９】
0005837860.tif 000020
【００９６】
この（１９）式から、Ｂ^Ｔｕが、分散共分散行列Ｓの固有ベクトルｖであることが分かる。但し、規格化はされていないので規格化すると、分散共分散行列Ｓの固有ベクトルｖは（２０）式となる。
【００９７】
【数２０】
0005837860.tif 000021
【００９８】
このように、Ｎ行Ｎ列の行列Ｃの固有ベクトルｕを求め、この固有ベクトルｕを用いて、Ｍ行Ｍ列の分散共分散行列Ｓの固有ベクトルｖを求めることができる。但し、分散共分散行列ＳのＭ個の固有値のうち、固有値の大きい方からＮ番目以降の固有値は０と考える。この方法によれば、一般に想定されるような大容量の動画像に対しても主成分分析処理が実計算上可能である。
【００９９】
なお、画像の解像度を下げてＭを小さくしたり、又は、フレームレートを下げてＮを小さくしたり、又は、その両方を行ったりしてもよい。また、動画像のサイズが「Ｍ＜Ｎ」である場合には、Ｍ行Ｍ列の分散共分散行列Ｓの固有値問題を直接的に解いてもよい。
【０１００】
上述した実施形態によれば、二つの動きデータに対し、それぞれに空間的特徴量と時間的特徴量を算出し、その空間的特徴量間の距離と時間的特徴量間の距離を用いて動きの類似度を算出する。これにより、異なるモーションキャプチャシステムで取得したモーションキャプチャデータに対しても、共通的に動きの類似度を算出することができるという効果が得られる。又、モーションキャプチャデータを取得するための撮影の環境（被写体である人物、撮影距離、撮影角度など）が異なる場合であっても、共通的に動きの類似度を算出することができるという効果が得られる。又、入力する動きデータの種類（例えば、人体スケルトン型動きデータ、深度センサーシステムで取得したモーションキャプチャデータ、ＲＧＢ画像データ、距離画像データなど）が異なる場合であっても、共通的に動きの類似度を算出することができるという効果が得られる。このように本実施形態によれば、動きデータ間の動きの類似度を算出する際に、ロバスト性を向上させることが可能となる。
【０１０１】
又、本実施形態によれば以下に示すような効果が得られる。従来、コンピューターグラフィックス（ＣＧ）キャラクターをユーザの動きに合わせて動かす技術が知られている。そして、ＣＧキャラクターの動きの基となるデータベースに対して、ユーザの個性的な動きを追加することで、ＣＧキャラクターの動きに親しみを感じさせる効果を加えることが期待できる。このとき、ユーザの動きと、データベース中のモーションキャプチャデータの動きとの類似度を用いて両者の動きを認識し、ユーザの個性的な動きをデータベースに追加することが考えられる。ここで、本実施形態によれば、ユーザの動きを任意のモーションキャプチャシステムで取得すればよいので、ユーザにとって非常に使い勝手がよくなるという効果が得られる。
【０１０２】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【０１０３】
また、図１に示す動き類似度算出装置１の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、動き類似度算出処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１０４】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【０１０５】
１…動き類似度算出装置、１１…入力部、１２…空間的特徴量算出部、１３…時間的特徴量算出部、１４…類似度算出部、１５…出力部、２１…物理量変更部、２２…主成分分析部、２３…ヒストグラム算出部
【図１】
0005837860.tif 000022
【図２】
0005837860.tif 000023
【図３】
0005837860.tif 000024
【図４】
0005837860.tif 000025
【図５】
0005837860.tif 000026
【図６】
0005837860.tif 000027