(57)【特許請求の範囲】
【請求項１】
複数の関節により構成される多関節物体の動作を３次元の仮想空間における前記関節の回転角により表現する３次元動作データを出力する３次元動作データ出力部と、
入力する前記３次元動作データから前記関節の回転角を示す情報を取り出し、前記多関節物体を構成する全ての関節の回転角に基づき前記３次元の仮想空間よりも高次元な状態空間の姿勢空間における前記多関節物体の動作を表現する全体姿勢行列を時系列に並べられた複数枚の２次元画像から算出するとともに、前記多関節物体を構成する全ての関節のうち２次元画像において画像認識しやすい関節として予め決められている一部の関節の回転角に基づき前記姿勢空間における前記多関節物体の動作を表現する一部姿勢行列を時系列に並べられた複数枚の２次元画像から算出する姿勢行列構成部と、
前記全体姿勢行列に基づき前記姿勢空間よりも低次元な状態空間の潜在空間における前記多関節物体の動作を表現する全体潜在変数モデルと、前記一部姿勢行列に基づき前記潜在空間における前記多関節物体の動作を表現する一部潜在変数モデルとを作成し、前記潜在空間において前記全体潜在変数モデルと前記一部潜在変数モデルとを対応付ける動作モデルを作成する動作モデル学習部とを備えることを特徴とする動作モデル学習装置。
【請求項２】
請求項１に記載の動作モデル学習装置により作成された前記動作モデルを記憶する記憶部と、
動作する多関節物体を撮影して得られる複数の画像データを入力する画像入力部と、
多関節物体を構成する全ての関節のうち２次元画像において画像認識しやすい関節として予め決められている一部の関節を前記画像データから検出し、前記複数の画像データの画像内における前記一部の関節の位置変化を示す観測ベクトルを算出する観測情報算出部と、
前記記憶部の動作モデルを参照して前記観測ベクトルに基づき前記一部潜在変数モデルの潜在空間における前記一部の関節の位置を算出し、前記一部潜在変数モデルの潜在空間から前記全体潜在変数モデルの潜在空間への写像を行い、前記全体潜在変数モデルの潜在空間における前記全部の関節の位置を算出して、３次元の仮想空間における前記多関節物体の３次元姿勢を示す３次元姿勢予測値を算出する３次元姿勢推定部と、
を備えることを特徴とする３次元姿勢推定装置。
【請求項３】
前記３次元姿勢推定部は、予測分布に、前記観測ベクトルに対する３次元姿勢の条件付き分布を乗算した予測分布の負の対数尤度を目的関数とし、当該目的関数を最小化する値を前記一部潜在変数モデルの潜在空間における前記一部の関節の位置として算出することを特徴とする請求項２に記載の３次元姿勢推定装置。
【請求項４】
３次元動作データ出力部が、複数の関節により構成される多関節物体の動作を３次元の仮想空間における前記関節の回転角により表現する３次元動作データを出力し、
姿勢行列構成部が、入力する前記３次元動作データから前記関節の回転角を示す情報を取り出し、前記多関節物体を構成する全ての関節の回転角に基づき前記３次元の仮想空間よりも高次元な状態空間の姿勢空間における前記多関節物体の動作を表現する全体姿勢行列を時系列に並べられた複数枚の２次元画像から算出するとともに、前記多関節物体を構成する全ての関節のうち２次元画像において画像認識しやすい関節として予め決められている一部の関節の回転角に基づき前記姿勢空間における前記多関節物体の動作を表現する一部姿勢行列を時系列に並べられた複数枚の２次元画像から算出し、
動作モデル学習部が、前記全体姿勢行列に基づき前記姿勢空間よりも低次元な状態空間の潜在空間における前記多関節物体の動作を表現する全体潜在変数モデルと、前記一部姿勢行列に基づき前記潜在空間における前記多関節物体の動作を表現する一部潜在変数モデルとを作成し、前記潜在空間において前記全体潜在変数モデルと前記一部潜在変数モデルとを対応付ける動作モデルを作成する
ことを特徴とする動作モデル学習方法。
【請求項５】
画像入力部が、動作する多関節物体を撮影して得られる複数の画像データを入力し、
観測情報算出部が、多関節物体を構成する全ての関節のうち２次元画像において画像認識しやすい関節として予め決められている一部の関節を前記画像データから検出し、前記複数の画像データの画像内における前記一部の関節の位置変化を示す観測ベクトルを算出し、
３次元姿勢推定部が、請求項４に記載の動作モデル学習方法により作成された前記動作モデルを参照して前記観測ベクトルに基づき前記一部潜在変数モデルの潜在空間における前記一部の関節の位置を算出し、前記一部潜在変数モデルの潜在空間から前記全体潜在変数モデルの潜在空間への写像を行い、前記全体潜在変数モデルの潜在空間における前記全部の関節の位置を算出して、３次元の仮想空間における前記多関節物体の３次元姿勢を示す３次元姿勢予測値を算出する、
ことを特徴とする３次元姿勢推定方法。
【請求項６】
前記３次元姿勢推定部は、予測分布に、前記観測ベクトルに対する３次元姿勢の条件付き分布を乗算した予測分布の負の対数尤度を目的関数とし、当該目的関数を最小化する値を前記一部潜在変数モデルの潜在空間における前記一部の関節の位置として算出することを特徴とする請求項５に記載の３次元姿勢推定方法。
【請求項７】
コンピュータに、請求項４〜６のいずれか一項に記載の手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データから推定対象の３次元的な姿勢を推定するための動作モデル学習装置、３次元姿勢推定装置、動作モデル学習方法、３次元姿勢推定方法およびプログラムに関する。
【背景技術】
【０００２】
近年、モーションキャプチャシステムを用いずに、画像データから人体の姿勢推定・運動解析を行う研究が広く行われている（例えば、非特許文献１参照）。
これらの研究は、映像監視やヒューマンインタラクション、ロボットの運動制御、ＣＧアニメーションへの動作あてはめ、医療分野等、幅広い分野への応用が期待されている。
しかし、画像データに基づき人体の３次元的な仮想空間における姿勢を推定する場合、任意の時間において、人体の関節の３次元回転角を推定することが困難である。特に、単眼カメラにより撮影された画像データからの３次元の姿勢を推定する場合、画像データにおいては２次元で人体が表現されているため、３次元で表現するための情報の欠如している。これにより、姿勢の多義性に対応できないことや、手足や障害物による遮蔽に対応できないことなどが問題となる。これらの問題に対処するため、推定する際に、人体の動きに関する事前知識を用いる手法が注目されている。この事前知識とは、２次元の画像データに基づき、３次元で表現するために欠如している情報を補充するための情報である。
【０００３】
例えば、２次元の画像から人体の３次元的な姿勢を推定する方法において、事前知識を利用する場合、事前にモーションキャプチャシステム等により計測された人体の関節の３次元回転角をモデル化しておくことが必要となる。
例えば、人体は、剛体とみなすことができる「部位」と、部位同士を連結する「関節」からなる多関節物体として扱うことができる。人体は、少なくとも１０個の関節を持つと考えられる。これによると、全身の姿勢を３次元回転角により表現するためには、３０以上のパラメータを必要とする。
【０００４】
このように、人体の構造は非常に複雑であるため、単眼カメラにより撮影された画像データからの３次元の姿勢を推定する場合、その姿勢をモデル化し、姿勢推定や運動解析を行うことは困難な問題となっていた。
そこで、近年では、単眼カメラ映像から、人体の３次元動作を推定するために、ＧＰ−ＬＶＭ（例えば、非特許文献２参照）やＧＰＤＭ（例えば、非特許文献３参照）のような非線形かつ確率的な次元圧縮手法を用いるものがある。この手法を用いて、高次元な姿勢空間で表現される３次元の動作を低次元な潜在空間でモデル化したものを事前知識として得ておく。この事前知識（動作モデル）を用いて、２次元で表現される映像において追跡した人物の関節点から３次元の仮想空間で表現するための情報を推定する手法が広く利用されている。
【０００５】
なお、Ｇａｕｓｓｉａｎ Ｐｒｏｃｅｓｓ Ｌａｔｅｎｔ Ｖａｒｉａｂｌｅ Ｍｏｄｅｌ(ＧＰ−ＬＶＭ)は、非線形かつ確率的に高次元の観測空間から低次元の潜在空間への次元圧縮を実現する潜在変数モデルであり、高次元の姿勢空間のパラメータを低次元の潜在空間からのガウシアンプロセス回帰として表現している。
Ｇａｕｓｓｉａｎ Ｐｒｏｃｅｓｓ Ｄｙｎａｍｉｃａｌ Ｍｏｄｅｌｓ(ＧＰＤＭ)は、ＧＰ−ＬＶＭの拡張手法であり、潜在空間上のダイナミクスを考慮したモデルである。
【０００６】
各時刻における姿勢推定ではなく、過去の姿勢を参照して推定を行うことで、より安定した姿勢推定が可能になるとされているため、事前知識として、ＧＰＤＭにより潜在空間上でのなめらかな状態遷移をモデル化したものを用いることは、時系列データである人体動作の学習に適している。
【０００７】
このようなＧＰＬＶＭやＧＰＤＭ等の潜在空間モデルを事前知識として、２次元で表現される画像から人体の３次元で表現される動作を推定する方法では、動作モデルの学習時に３次元の仮想空間における全身の関節の動きを示す３次元パラメータから一つの潜在変数モデルを構築するため、推定時に理想的には全身の関節点の情報を与えることが必要であった。
【０００８】
図９を参照して、ＧＰＬＶＭやＧＰＤＭ等の潜在空間モデルを事前知識として、２次元で表現される画像から人体の３次元で表現される動作を推定する方法の一例について説明する。
図９に示す通り、人体を多関節物体として規定する３次元動作データを入力し（ステップＳ２０１）、この３次元動作データに基づき人体の全ての関節点についての３次元的な回転角を獲得する（ステップＳ２０２）。ついで、３次元回転角から全ての関節点により人体の動作が表わされる３次元姿勢行列を構築する（ステップＳ２０３）。そして、この人体の動作を低次元な潜在変数モデルとして学習し、学習により得られたモデルを記憶部に記憶しておく（ステップＳ２０４）。
一方、推定対象である２次元の画像データの初期フレームにおいて、人体の関節点の位置を手動で設定する（ステップＳ２０５）。そして、設定された関節点の２次元追跡を行い（ステップＳ２０６）、追跡した関節点から観測ベクトルを構築する（ステップＳ２０７）。次いで、記憶部のモデルを参照して、潜在空間における設定された関節点の位置を推定し、（ステップＳ２０８）、３次元姿勢を推定する（ステップＳ２０９）。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】島田，伸敬，有田，大作，玉木，徹  “関節物体のモデルフィッティング" 情報処理学会研究報告ＣＶＩＭ Ｖｏｌ．１５４． ｐａｇｅ．３７５−３９２． ２００６．
【非特許文献２】Ｎｅｉｌ Ｌａｗｒｅｎｃｅ ， Ａａｐｏ Ｈｙｖｒｉｎｅｎ． ￥Ｐｒｏｂａｂｉｌｉｓｔｉｃ Ｎｏｎ−ｌｉｎｅａｒ Ｐｒｉｎｃｉｐａｌ Ｃｏｍｐｏｎｅｎｔ Ａｎａｌｙｓｉｓ ｗｉｔh Gaussian Process Latent Variable Models." Journal of Machine Learning Research.Vol.6.pp.1783{1816. 2005.
【非特許文献３】Ｒ． Ｕｒｔａｓｕｎ， Ｄ． Ｊ． Ｆｌｅｅｔ， ａｎｄ Ｐ． Ｆｕａ． ￥３ｄ ｐｅｏｐｌｅ ｔｒａｃｋｉｎｇ ｗｉｔｈ ｇａｕｓｓｉａｎ ｐｒｏｃｅｓｓ ｄｙｎａｍ−ｉｃａｌ models." CVPR, 2006.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、推定時に用いられる単眼カメラにより撮影された２次元の画像データから、画像特徴量等を得て人体の全身の関節を検出することは、本質的に困難である。なぜなら、撮影した人が着ている衣服や姿勢によっては、全ての関節を画像データから検出することが困難な場合があるからです。
このため、１）推定の際に２次元画像上に手動で関節位置を指定する必要があった。また、２）推定精度が２次元追跡の精度に依存してしまい、画像データ内における一部の関節を追跡できない場合、推定精度が悪くなる問題が生じていた。
【００１１】
本発明は、上記課題を解決するものであり、関節位置を手動で指定することなく、姿勢推定の精度を向上させることができる動作モデル学習装置、３次元姿勢推定装置、動作モデル学習方法、３次元姿勢推定方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述の課題を鑑み、本発明に係る動作モデル学習装置は、複数の関節により構成される多関節物体の動作を３次元の仮想空間における前記関節の回転角により表現する３次元動作データを出力する３次元動作データ出力部と、入力する前記３次元動作データから前記関節の回転角を示す情報を取り出し、前記多関節物体を構成する全ての関節の回転角に基づき前記３次元の仮想空間よりも高次元な状態空間の姿勢空間における前記多関節物体の動作を表現する全体姿勢行列を時系列に並べられた複数枚の２次元画像から算出するとともに、前記多関節物体を構成する全ての関節のうち２次元画像において画像認識しやすい関節として予め決められている一部の関節の回転角に基づき前記姿勢空間における前記多関節物体の動作を表現する一部姿勢行列を時系列に並べられた複数枚の２次元画像から算出する姿勢行列構成部と、前記全体姿勢行列に基づき前記姿勢空間よりも低次元な状態空間の潜在空間における前記多関節物体の動作を表現する全体潜在変数モデルと、前記一部姿勢行列に基づき前記潜在空間における前記多関節物体の動作を表現する一部潜在変数モデルとを作成し、前記潜在空間において前記全体潜在変数モデルと前記一部潜在変数モデルとを対応付ける動作モデルを作成する動作モデル学習部とを備えることを特徴とする。
【００１３】
また、上述の課題を鑑み、本発明に係る３次元姿勢推定装置は、上述の動作モデル学習装置により作成された前記動作モデルを記憶する記憶部と、動作する多関節物体を撮影して得られる複数の画像データを入力する画像入力部と、多関節物体を構成する全ての関節のうち２次元画像において画像認識しやすい関節として予め決められている一部の関節を前記画像データから検出し、前記複数の画像データの画像内における前記一部の関節の位置変化を示す観測ベクトルを算出する観測情報算出部と、前記記憶部の動作モデルを参照して前記観測ベクトルに基づき前記一部潜在変数モデルの潜在空間における前記一部の関節の位置を算出し、前記一部潜在変数モデルの潜在空間から前記全体潜在変数モデルの潜在空間への写像を行い、前記全体潜在変数モデルの潜在空間における前記全部の関節の位置を算出して、３次元の仮想空間における前記多関節物体の３次元姿勢を示す３次元姿勢予測値を算出する３次元姿勢推定部と、を備えることを特徴とする。
【００１４】
上述の３次元姿勢推定装置において、前記３次元姿勢推定部は、予測分布に、前記観測ベクトルに対する３次元姿勢の条件付き分布を乗算した予測分布の負の対数尤度を目的関数とし、当該目的関数を最小化する値を前記一部潜在変数モデルの潜在空間における前記一部の関節の位置として算出することを特徴とする。
【００１５】
上述の課題に鑑み、本発明に係る動作モデル学習方法は、３次元動作データ出力部が、複数の関節により構成される多関節物体の動作を３次元の仮想空間における前記関節の回転角により表現する３次元動作データを出力し、姿勢行列構成部が、入力する前記３次元動作データから前記関節の回転角を示す情報を取り出し、前記多関節物体を構成する全ての関節の回転角に基づき前記３次元の仮想空間よりも高次元な状態空間の姿勢空間における前記多関節物体の動作を表現する全体姿勢行列を時系列に並べられた複数枚の２次元画像から算出するとともに、前記多関節物体を構成する全ての関節のうち２次元画像において画像認識しやすい関節として予め決められている一部の関節の回転角に基づき前記姿勢空間における前記多関節物体の動作を表現する一部姿勢行列を時系列に並べられた複数枚の２次元画像から算出し、動作モデル学習部が、前記全体姿勢行列に基づき前記姿勢空間よりも低次元な状態空間の潜在空間における前記多関節物体の動作を表現する全体潜在変数モデルと、前記一部姿勢行列に基づき前記潜在空間における前記多関節物体の動作を表現する一部潜在変数モデルとを作成し、前記潜在空間において前記全体潜在変数モデルと前記一部潜在変数モデルとを対応付ける動作モデルを作成する。
【００１６】
また、上述の課題を鑑み、本発明に係る３次元姿勢推定方法は、画像入力部が、動作する多関節物体を撮影して得られる複数の画像データを入力し、観測情報算出部が、多関節物体を構成する全ての関節のうち２次元画像において画像認識しやすい関節として予め決められている一部の関節を前記画像データから検出し、前記複数の画像データの画像内における前記一部の関節の位置変化を示す観測ベクトルを算出し、３次元姿勢推定部が、請求項４に記載の動作モデル学習方法により作成された前記動作モデルを参照して前記観測ベクトルに基づき前記一部潜在変数モデルの潜在空間における前記一部の関節の位置を算出し、前記一部潜在変数モデルの潜在空間から前記全体潜在変数モデルの潜在空間への写像を行い、前記全体潜在変数モデルの潜在空間における前記全部の関節の位置を算出して、３次元の仮想空間における前記多関節物体の３次元姿勢を示す３次元姿勢予測値を算出する。
【００１７】
上述の３次元姿勢推定方法において、前記３次元姿勢推定部は、予測分布に、前記観測ベクトルに対する３次元姿勢の条件付き分布を乗算した予測分布の負の対数尤度を目的関数とし、当該目的関数を最小化する値を前記一部潜在変数モデルの潜在空間における前記一部の関節の位置として算出することを特徴とする。
【００１８】
また、上述の課題を鑑み、本発明に係るプログラムは、コンピュータに、上述の動作モデル学習方法の手段、あるいは、上述の３次元姿勢推定方法の手段を実行させるためのプログラムであることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、関節位置を手動で指定することなく、姿勢推定の制度を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る３次元動作情報処理装置の構成を示す概略ブロック図である。
【図２】本発明の実施形態における多関節物体の構造を説明するための図である。
【図３】本発明の実施形態における多関節物体の構造の階層関係を示すための図である。
【図４】本発明の実施形態に係る３次元動作情報処理装置の各構成について説明するための図である。
【図５】本発明の第１実施形態に係る３次元動作情報処理の一例を説明するためのフローチャートである。
【図６】本発明の第１実施形態に係る３次元動作情報処理の一例を説明するための図である。
【図７】本発明の第１実施形態に係る３次元動作情報処理の状態遷移について説明するための図である。
【図８】本発明の第２実施形態に係る３次元動作情報処理の一例を説明するためのフローチャートである。
【図９】本発明によらない３次元姿勢推定を説明するための図である。
【発明を実施するための形態】
【００２１】
＜第１実施形態＞
以下、本発明の一実施形態にかかる３次元動作情報処理装置１００について図１を参照して説明する。図１は、本実施形態による３次元動作情報処理装置１００の構成を示す概略ブロック図である。
図１に示す通り、３次元動作情報処理装置１００は、動作モデル学習装置１と３次元姿勢推定装置２と動作情報記憶部１０４を備える。
動作モデル学習装置１は、３次元動作データ出力部１０１と、３次元姿勢行列構成部１０２と、動作モデル学習部１０３とを備える。３次元姿勢推定装置２は、画像入力部１０５と、観測情報算出部１０６と、３次元姿勢推定部１０７とを備える。
動作モデル学習装置１および３次元姿勢推定装置２は、それぞれ動作情報記憶部１０４と接続されている。
【００２２】
この３次元動作情報処理装置１００では、例えば人体の動作情報を、人体を多関節物体としてその構造をモデル化した動作モデルにより表現する。この多関節物体の一例である人体をモデル化したものを図２に示す。なお、多関節物体は人体である例を用いて以下説明するが、本発明はこれに限られず関節によって連結された部位を備える物体や動物等であってもよい。
図２に示す通り、人体は、例えば、１６個の関節で部位が連結されたモデルで表わすことができる。各関節には、関節番号ｊ｛ｊ＝１，２，・・・，１６｝が割り当てられている。例えば、関節番号Ｊ＝１の関節は左足の付け根の関節、関節番号Ｊ＝２の関節は左足の膝の関節、関節番号Ｊ＝３の関節は左足の足首の関節、関節番号Ｊ＝４の関節は右足の付け根の関節、関節番号Ｊ＝５の関節は右足の膝の関節、関節番号Ｊ＝６の関節は右足の足首の関節に、それぞれ相当する。また、関節番号Ｊ＝９は頭部分、関節番号Ｊ＝１０の関節は左肩の関節、関節番号Ｊ＝１１の関節は左腕の肘の関節、関節番号Ｊ＝１２は左手部分、関節番号Ｊ＝１３の関節は右肩の関節、関節番号Ｊ＝１４の関節は右腕の肘の関節、関節番号Ｊ＝１５は右手部分に、それぞれ相当する。なお、関節番号Ｊ＝７の関節は、両足と胴体の連結部分、関節番号Ｊ＝８は背中中央部分、関節番号Ｊ＝９の関節は頭と両肩の連結部分に、それぞれ相当する。
【００２３】
なお、各関節同士は、階層構造の関係が規定されている。例えば、関節番号Ｊ＝１、２については、関節番号Ｊ＝１の関節が親（上位）であり、関節番号Ｊ＝２の関節が子（下位）の関係にある。また、関節番号Ｊ＝２、３については、関節番号Ｊ＝２の関節が親（上位）であり、関節番号Ｊ＝３の関節が子（下位）の関係にある。このように、各関節同士は、連結に応じた階層構造が規定されている。この階層構造において、下位の関節は、上位の関節の動きに連動して動く。なお、この階層構造を図３に示す。図示の通り、連結される関節同士において、関節番号ｊ＝０に近い関節が上位であり、関節番号ｊ＝０から遠い関節が下位である。なお、この階層構造の関係を示す情報を階層構造情報という。
【００２４】
図１に戻って、動作モデル学習装置１は、学習対象である多関節物体の動作に関する３次元動作データを取得し、この３次元動作データに基づき、多関節物体の特定の動作を規定する動作モデルを作成して、動作情報記憶部１０４に記憶させる。この動作モデルは、人体の全ての関節点により動作を表現する潜在変位モデルの潜在空間（Ｘ）と、人体の一部の関節点により動作を表現する潜在変位モデルの潜在空間（Ｘ１）の間にガウス過程を仮定し、３次元姿勢推定装置によってＸ１→Ｘへの写像を回帰するように対応づけられたものである。なお、潜在空間は、動作モデル学習装置１による学習処理を行うために規定されているベクトルの状態空間である。
３次元姿勢推定装置２は、動作モデルに基づき、２次元の画像における人物の姿勢を推定する。この推定装置２は、人物を構成する全ての関節のうち、画像データの画像解析によって検出しやすい一部の関節に基づき、潜在空間（Ｘ１）上の一部の関節の位置を算出する。この３次元姿勢推定装置２は、潜在空間（Ｘ１）上において推定される一部の関節の位置に基づき、動作モデルを参照して、潜在空間（Ｘ１）から潜在空間（Ｘ）への写像を回帰することで、人体の全ての関節点により動作を表現する潜在変位モデルにおける全ての関節の位置を算出する。３次元姿勢推定装置２は、潜在空間における全ての関節の位置に基づき、３次元の仮想空間における前記多関節物体の姿勢を示す３次元姿勢予測値を算出する。
【００２５】
次に、図１と図４をあわせて参照し、３次元動作情報処理装置１００に含まれる各構成の機能について説明する。図４は、各構成の入出力と処理内容について対応付けた表である。
３次元動作データ出力部１０１は、人体の動作をデジタルデータにより表現するために、人体を多関節物体として規定して、その構造をモデル化するための３次元動作データを出力する機能を有する。この３次元動作データ出力部１０１は、例えば、３次元の仮想空間における人体の動きを関節毎に表わすための情報である３次元動作データを取得して、３次元姿勢行列構成部１０２に出力する。
この３次元動作データ出力部１０１は、例えば、一般的なモーションキャプチャシステムや多視点カメラで構成することができる。３次元動作データ出力部１０１は、人体の動きを各関節の３次元回転角θによって示す３次元動作データを生成する。この３次元動作データは、例えば、各関節を示す関節番号（ｊ）に対応する、３次元回転角θ（動作パラメータ）および階層構造情報を含む。
【００２６】
動作パラメータとは、多関節物体の動作に応じて、３次元の仮想空間内における多関節物体の各関節の位置変化（角度）を３次元回転角θにより示す情報である。言い換えると、各関節がもつ動作パラメータは、一般的に、人体モデルの階層構造に対して、相対的な回転角として与えられる。これは、図３の階層構造において、子のモデルパメータが親に対する相対的なものであることを意味する。
具体的には、左肘の関節（関節番号ｊ＝１１）の動作パラメータは、左肩の関節（関節番号ｊ＝１０）に対する３次元回転角θ（θｘ，θｙ，θｚ）で表わす。
また、３次元動作データ出力部１０１は、取得した３次元動作データを動作情報記憶部１０４に格納する。
【００２７】
３次元姿勢行列構成部１０２は、３次元動作データ出力部１０１から入力する３次元動作データから人物の関節の３次元回転角θを取り出し、姿勢行列を生成する。この３次元姿勢行列構成部１０２は、多関節物体の人体を構成する全ての関節の３次元回転角θに基づき姿勢空間において、人体の動作を表現する３次元姿勢行列Ｙを構築する。また、３次元姿勢行列構成部１０２は、多関節物体の人体を構成する全ての関節のうち予め決められている一部の関節の３次元回転角θに基づき姿勢空間において、人体の動作を表現する３次元姿勢行列Ｙ１を構築する。
この姿勢空間とは、３次元の仮想空間よりも高次元な状態空間である。また、姿勢空間は、潜在空間よりも高次元な状態空間である。
３次元姿勢行列構成部１０２は、内蔵する記憶部に予め決められた一部の関節の関節番号を示す情報を記憶しており、３次元姿勢行列Ｙ１を構築する際、この記憶部を参照して予め決められている一部の関節を選択し、この一部の関節の３次元回転角θを得る。
３次元姿勢行列構成部１０２は、この３次元姿勢行列Ｙと３次元姿勢行列Ｙ２を、動作モデル学習部１０３に出力する。
【００２８】
動作モデル学習部１０３は、３次元姿勢行列構成部１０２が生成した３次元姿勢行列Ｙ，Ｙ１を入力とし、専用のアルゴリズムに基づき学習処理を行い、動作モデルを作成し、この動作モデルを動作情報記憶部１０４に格納する。
つまり、動作モデル学習部１０３は、３次元姿勢行列Ｙに基づき３次元動作データを低次元な潜在空間における潜在変数モデルＭとして学習する機能と、３次元姿勢行列Ｙ１に基づき３次元動作データの一部の情報を低次元な潜在空間における潜在変数モデルＭ１として学習する機能と、潜在変数モデルＭ１の潜在空間から潜在変数モデルＭの潜在空間への写像をガウシアンプロセス回帰として対応づけた動作モデルを作成する機能と、この動作モデルを動作情報記憶部１０４に格納する機能とを備える。
言い換えると、動作モデル学習部１０３は、３次元姿勢行列Ｙに基づき潜在空間における多関節物体の動作を表現する潜在変数モデルＭと、３次元姿勢行列Ｙ１に基づき潜在空間における多関節物体の動作を表現する潜在変数モデルＭ１とを作成し、潜在空間において潜在変数モデルＭと潜在変数モデルＭ１とを対応付ける動作モデルを作成する。
【００２９】
動作情報記憶部１０４は、動作モデルと、３次元動作データと、モデルパラメータと、動作の低次元特徴を記憶する。
モデルパラメータは、例えば、潜在空間から姿勢空間へのマッピングのパラメータ等を含む。動作の低次元特徴は、例えば、３次元動作データからＧＰＤＭのような次元圧縮手法により求められる低次元特徴ベクトルとして表現される。
【００３０】
画像入力部１０５は、例えば、１台あるいは複数台のカメラから構成することができる。この画像入力部１０５は、動作する多関節物体を撮影して得られる複数の画像データを入力し、観測情報算出部１０６に出力する。
【００３１】
観測情報算出部１０６は、画像入力部１０５から入力する画像データに基づき、この画像から全ての関節位置を示す座標を追跡する追跡処理を行う。この観測情報算出部１０６による追跡処理において、各関節の関節位置の初期位置は、一般的な画像認識等の手法により指定が可能であり、追跡には２次元追跡手法を用いることができる。
この観測情報算出部１０６は、追跡処理により追跡した各関節の位置を複数フレームにわたって示す観測ベクトル（関節位置座標）を出力する。
つまり、観測情報算出部１０６は、関節点の２次元追跡を行う機能と、追跡した関節点から観測ベクトルを構築する機能とを有する。言い換えると、観測情報算出部１０６は、動作モデル学習装置１において予め決められている一部の関節を画像データから検出し、複数の画像データの画像内における一部の関節の位置変化を示す観測ベクトルを算出する。
【００３２】
３次元姿勢推定部１０７は、観測情報算出部１０６の出力である観測ベクトル（関節位置座標）を入力として、動作情報記憶部１０４からのデータとのフィッティングを行うことにより、３次元の姿勢を推定する。
言い換えると、３次元姿勢推定部１０７は、動作モデルを参照して観測ベクトルに基づき潜在変数モデルＭ１の潜在空間における一部の関節の位置を算出し、潜在変数モデルＭ１の潜在空間から潜在変数モデルＭの潜在空間への写像を行い、潜在変数モデルＭの潜在空間における全ての関節の位置を算出して、３次元の仮想空間における多関節物体の姿勢を示す３次元姿勢予測値を算出する。
この３次元姿勢推定部１０７において推定された３次元の姿勢は、例えば、２次元の映像から３次元の動作を取得することができる。これにより、仮想的な空間にリアルタイムに人物の動作を反映するために用いたり、人物の動作解析等に利用することが可能である。
【００３３】
次に、図５と図６を参照して、本実施形態に係る３次元動作情報処理装置１００による３次元動作情報処理方法の処理フローの一例について説明する。図５は、本実施形態に係る３次元動作情報処理装置１００による３次元動作情報処理方法の処理フローの一例を示すフローチャートである。図６は、この３次元動作情報処理方法の概念を説明するための図である。
図５に示すステップＳ３０１〜Ｓ３０４の処理は、動作モデル作成方法の処理フローを示す。なお、ステップＳ３０３は、ステップＳ３０３１、３０３２を含み、その順番はどちらが先であってもよい。ステップＳ３０４は、ステップＳ３０４１、３０４２、３０４３を含み、その順番はいずれが先であってもよい。
一方、図５に示すステップＳ３０５〜Ｓ３０９の処理は、３次元姿勢推定方法の処理フローを示す。ステップＳ３０８は、ステップＳ３０８１、３０８２を含む。
【００３４】
（ステップＳ３０１）
３次元動作データ出力部１０１は、人体の構造を多関節物体としてモデル化するための３次元動作データを取得する。例えば、３次元動作データ出力部１０１は、モーションキャプチャ等により構成され、モデル化の対象である人体の動きを撮影して、撮影された複数のフレームの画像データに基づき、３次元の仮想空間内における人体の全ての関節点の位置関係と互いの階層構造を取得する。なお、モーションキャプチャの技術については、上記画像式に限定されず、光学式や赤外線式等の他の方式であってもよい。
この３次元動作データ出力部１０１は、関節番号ｊに動作パラメータである３次元回転角θと階層構造情報に対応づけた３次元動作データを３次元姿勢行列構成部１０２に出力する。
【００３５】
（ステップＳ３０２）
３次元姿勢行列構成部１０２は、３次元動作データから、各関節に対応する動作パラメータである３次元回転角θを取り出す。例えば、３次元姿勢行列構成部１０２は、モーションキャプチャシステムやカメラ映像のボクセルからの推定等の手段を用いて、３次元回転角θを得る。
なお、ステップＳ３０１において３次元動作データ出力部１０１が企業や大学が公開しているライブラリに保管されている３次元動作データをダウンロードしている場合、３次元姿勢行列構成部１０２は、ステップＳ３０２において、この３次元動作データから動作パラメータを取り出すものであってもよい。
なお、３次元姿勢行列構成部１０２が取得した動作パラメータである３次元回転角θは、関節番号ｊと階層構造情報に対応づけられていり。
【００３６】
（ステップＳ３０３１）
３次元姿勢行列構成部１０２は、取り出した全身の各関節の３次元回転角θから３次元姿勢行列Ｙを構築する。言い換えると、３次元姿勢行列構成部１０２は、各フレームに対応する全関節点の３次元回転角θ（ｊ）｛ｊ＝１，２，・・・，１６｝であって、動作の時系列に並べられたＮ枚のフレームに対応する３次元回転角θ（ｊ）に基づき、３次元姿勢行列Ｙを構築する。この３次元姿勢行列Ｙは、学習に使用する全関節のパラメータの数をＤ、フレーム数をＮとしたとき、Ｎ×Ｄの行列を構成する。
【００３７】
（ステップＳ３０３２）
この３次元姿勢行列構成部１０２は、取り出した全身の各関節の３次元回転角θのうち、特定の一部関節の３次元回転角θから３次元姿勢行列Ｙ１を構築する。言い換えると、３次元姿勢行列構成部１０２は、各フレームに対応する一部の関節の３次元回転角θ（ｊ）｛例えば、ｊ＝３，６，９，１２，１５｝であって、動作の時系列に並べられたＮ枚のフレームに対応する３次元回転角θ（ｊ）に基づき、３次元姿勢行列Ｙ１を構築する。この３次元姿勢行列Ｙ１は、学習に使用する一部の関節のパラメータの数をｄ（＜Ｄ）、フレーム数をＮとしたとき、Ｎ×ｄの行列を構成する。
この３次元姿勢行列Ｙ１を構築するための一部の関節は、３次元姿勢行列構成部１０２により、予め決められた一部の関節が選択される。３次元姿勢行列構成部１０２は、この選択した一部の関節の３次元回転角θに基づき３次元姿勢行列Ｙ１を構築する。なお、この一部の関節は、人体のうち、画像認識しやすい関節であって、人体の動きを追従できる関節である。本実施形態では、この一部の関節点として、関節番号ｊ＝３（左足）、関節番号ｊ＝６（右足）、関節番号ｊ＝９（頭）、関節番号ｊ＝１２（左手）、関節番号ｊ＝１５（右手）が、予め決定されており、これらの関節番号が、３次元姿勢行列構成部１０２が内蔵する記憶部に記憶されている。
【００３８】
なお、３次元姿勢行列Ｙ、Ｙ１は、ともに潜在空間（Ｘ）よりも高次元の姿勢空間（Ｙ）において構築されている。
ここで、姿勢空間（Ｙ）とは、姿勢を特徴付けるベクトルの状態空間である。潜在空間（Ｘ）とは、姿勢空間（Ｙ）よりも低次元の状態空間である。
【００３９】
（ステップＳ３０４１）
次いで、動作モデル学習部１０３は、３次元姿勢行列構成部１０２から入力する３次元姿勢行列Ｙに基づき、潜在変数モデルＭ＝（Ｘ，Ｙ，α，β）の学習を行う。この動作モデル学習部１０３による潜在変数モデルＭの学習とは、３次元姿勢行列Ｙに対するＸ，α，βの最適値を求めることである。
Ｙは、姿勢空間（Ｙ）における３次元姿勢行列Ｙ＝［ｙ＿（１），・・・ｙ＿（Ｎ）］Ｔを示す。ここで、ｙ＿（ｉ）は、はフレームｉにおいて、人体の各関節の角度または３次元位置によって人体の完全姿勢を規定するＤ次元のベクトルである。なお、本明細書中において、ベクトルを示す場合、＿を後に記載する。つまり、ベクトルｙは、ｙ＿と示す。
Ｘは、姿勢空間（Ｙ）よりも低次元の潜在空間（Ｘ）における位置Ｘ＝［ｘ＿（１），・・・ｘ＿（Ｎ）］Ｔを示す。ここで、ｘ＿（ｉ）は、フレームｉにおいて、学習によって最適化されるｙ＿（１）に対する低次元空間中のｑ（＜Ｄ）次元の潜在空間（Ｘ）における位置ベクトルである。ｑ次元とは、例えば、２次元または３次元である。
αは、ｘ＿（ｉ−１）からｘ＿（ｉ）のダイナミクスを示す。例えば、α＝｛α１，α２，α３，α４｝である。
βは、ＸからＹへの写像を制御するハイパーパラメータである。例えばβ＝｛β１，β２，β３，Ｗ＿｝である。
【００４０】
（ステップＳ３０４２）
この動作モデル学習部１０３は、３次元姿勢行列構成部１０２から入力する３次元姿勢行列Ｙ１に基づき、動作モデルＭ１＝（Ｘ１，Ｙ１，α１，β１）のの学習を行う。この動作モデル学習部１０３によるモデルＭ１の学習とは、３次元姿勢行列Ｙ１に対するＸ１，α１，β１の最適値を求めることである。
例えば、３次元姿勢行列Ｙ１＝［ｙ１＿（１），・・・ｙ１＿（Ｎ）］Ｔとする。ここで、ｙ１（ｉ）は、はフレームｉにおいて、人体の一部の関節（ステップＳ３０３２において動作モデル学習部１０３が指定した関節）の角度または潜在空間における３次元位置によって人体の完全姿勢を規定するｄ次元のベクトルである。
また、３次元姿勢行列Ｙ１の姿勢空間（Ｙ１）よりも低次元の潜在空間（Ｘ１）における位置をＸ１＝［ｘ１＿（１），・・・ｘ１＿（Ｎ）］Ｔとする。ここで、ｘ１（ｉ）は、フレームｉにおいて、学習によって最適化されるｙ１＿（１）に対する低次元空間中のｑ（＜Ｄ）次元の潜在空間における位置ベクトルである。ｑ次元とは、例えば、２次元または３次元である。なお、ベクトルｘ１は、ｘ１＿と示す。
α１は、ｘ１＿（ｉ−１）からｘ１＿（ｉ）のダイナミクスを示す。例えば、α１＝｛α１１，α１２，α１３，α１４｝である。
β１は、Ｘ１からＹ１への写像を制御するハイパーパラメータである。例えばβ１＝｛β１１，β１２，β１３，Ｗ１＿｝である。
【００４１】
例えば、動作モデル学習部１０３は、ステップＳ３０４１において、以下の対数尤度関数Ｌを最小化することにより、３次元姿勢行列Ｙに対するＸ，α，βの最適化を行う。また同様に、動作モデル学習部１０３は、ステップＳ３０４２において、以下の対数尤度関数Ｌを最小化することにより、３次元姿勢行列Ｙ１に対するＸ１，α１，β１の最適化を行う。この動作モデル学習部１０３は、例えば、式（１）について、共役勾配法等の非線形最適化手法を用いることで、最適化することができる。
【００４２】
【数１】
0005525407.tif 000002
【００４３】
なお、ＫＸ，ＫＹは、潜在空間（Ｘ）中のダイナミクスと潜在空間（Ｘ）から姿勢空間（Ｙ）への写像を規定するカーネル行列であり、その要素はカーネル関数となる。つまり、（ＫＹ）ｉ，ｊ＝ｋＹ（ｘｉ＿，ｘｊ＿）である。動作モデル学習部１０３は、例えば、カーネル関数として下記の式２、式３を用いていることができる。なお、このカーネル関数を用いる方法についは、非特許文献３に記載されている方法を利用することができる。
【００４４】
【数２】
0005525407.tif 000003
【００４５】
【数３】
0005525407.tif 000004
【００４６】
つまり、動作モデル学習部１０３は、ステップＳ３０４１において、高次元な姿勢空間（Ｙ）をそれより低次元な潜在空間（Ｘ）からのガウシアンプロセス回帰として表現する潜在変数モデルＭ＝（Ｘ，Ｙ，α，β）の学習を行い、３次元姿勢行列Ｙに対するＸ，α，βの最適値を求める。
また、動作モデル学習部１０３は、ステップＳ３０４２において、高次元な姿勢空間（Ｙ１）をそれより低次元な潜在空間（Ｘ１）からのガウシアンプロセス回帰として表現する潜在変数モデルＭ＝（Ｘ１，Ｙ１，α１，β１）の学習を行い、３次元姿勢行列Ｙ１に対するＸ１，α１，β１の最適値を求める。
【００４７】
（ステップＳ３０４３）
動作モデル学習部１０３は、ステップＳ３０４１において学習した潜在変数モデルＭの潜在空間（Ｘ）と、ステップＳ３０４２において学習した潜在変数モデルＭ１の潜在空間（Ｘ１）の間にガウス過程を仮定し、Ｘ１→Ｘへの写像を回帰により学習する。この学習の目的は、一方の潜在空間（Ｘ１）上での位置ｘ１＿が入力として与えられた場合に、推定部２が、他方の潜在空間（Ｘ）上での位置ｘ＿を推定するためのデータを作成するためのである。
この問題を、Ｘ１→Ｘへのガウス過程による回帰問題と考える。
例えば、学習データとして、以下の値を与える。
【００４８】
【数４】
0005525407.tif 000005
【００４９】
このとき、ｘ１＿，ｘ＿は、ステップＳ３０４１、ＳＴ３０４２において動作モデル学習部１０３が学習したｑ次元ベクトルである。ここで、Ｘ１＿Ｎ×ｑと、Ｘ＿Ｎ×ｑを以下とすれば、動作モデル学習部１０３は、ガウス過程の定義により式（６）、式（７）のようにモデル化できる。
【００５０】
【数５】
0005525407.tif 000006
【００５１】
【数６】
0005525407.tif 000007
【００５２】
【数７】
0005525407.tif 000008
【００５３】
なお、式（６）は、条件付き確率が、平均０、共分散ＣＮのガウス過程に従うことを示している。ここで、ＣＮは、要素にＣ（ｘ１＿（ｉ），ｘ１＿（ｊ））をもつＮ×Ｎの共分散行列であり、入力データ間の適当な類似度行列で表現される。γは、ノイズの精度パラメータである。ガウス過程は、カーネル関数ｋ（ｘ，ｘ´）とハイパーパラメータγだけで表すことができる。
【００５４】
また、動作モデル学習部１０３は、ガウス過程回帰に用いるカーネル関数として、例えば、以下のような、非線形項としてＲＢＦ（Ｒａｄｉａｌ ｂａｓｉｓ ｆｕｎｃｔｉｏｎ）基底関数を適用し、さらに定数と線形項を加えたものを利用できる。
【００５５】
【数８】
0005525407.tif 000009
【００５６】
動作モデル学習部１０３は、式（６）を最大化するカーネル関数のパラメータを求めることで、２つのモデル間の写像に関する学習を行う。つまり、動作モデル学習部１０３は、式（６）を最大化するカーネル関数のパラメータを求めることで、潜在変数モデルＭと潜在変数モデルＭ１とを対応付ける動作モデルを作成して、動作情報記憶部１０４に格納する。
【００５７】
（ステップＳ３０５）
画像入力部１０５は、姿勢推定を行う２次元画像の初期フレームにおいて、手足の先や頭等を肌色検出や画像認識技術を用いて自動検出する。この時の画像上の位置を、観測ベクトルの初期値Ｉ＿１（１）とする。
この画像入力部１０５は、例えば、カメラにより撮影された２次元の画像データを、姿勢推定の対象として入力する。そして、画像入力部１０５は、この２次元の画像データに対してパターンマッチング等の画像認識を行うことにより、推定対象の多関節物体である人体の一部の関節を検出する。この画像入力部１０５は、例えば、人体の頭、左右の手（手首から指先まで）、左右の足（足首からつま先まで）を、一部の関節として検出する。なお、この一部の関節は、ステップＳ３０３２において動作モデル学習部１０３が選択する一部の関節と同じ関節の関節番号により規定されている。なお、この一部の関節の関節番号は、画像入力部１０５に内蔵されている記憶部に記憶されている。
そして、画像入力部１０５は、検出した一部の関節を、画像データ内における追跡関節点として設定する。
なお、画像入力部１０５は、画像データを入力するインターフェースであってもよく、被写体を撮像して画像データを生成するカメラであってもよい。
【００５８】
（ステップＳ３０６）
観測情報算出部１０６は、画像入力部１０５がステップＳ３０５において追跡関節点として設定した人体の一部の関節について２次元追跡を行う。この観測情報算出部１０６は、一般的な画像処理手法を用いることができ、例えば、ＷＳＬトラッカーを用いて２次元追跡を行うことができる。
【００５９】
（ステップＳ３０７）
そして、観測情報算出部１０６は、ステップＳ３０６において追跡する追跡関節点の位置を示す位置ベクトルをフレーム毎に算出し、フレームｎに対応する観測ベクトルＩ＿１（ｎ）として得る。この観測情報算出部１０６は、初期値Ｉ＿１（１）からフレーム毎ｎまで連続して得られる観測ベクトルＩ＿１（１：ｎ）を、観測情報として３次元姿勢推定部１０７に出力する。
【００６０】
（ステップＳ３０８１）
３次元姿勢推定部１０７は、入力する観測情報、つまり、観測ベクトルＩ＿１（１：ｎ）に基づき、ステップＳ３０４２において学習した潜在変数モデルＭ１を事前知識として潜在変数ｘ１＿（ｎ）を推定する。つまり、３次元姿勢推定部１０７は、動作モデルを参照して観測ベクトルに基づき潜在変数モデルＭ１の潜在空間における一部の関節（関節番号ｊ＝３，６，９，１２，１５の位置を算出する。
【００６１】
ここで、３次元姿勢推定部１０７が、画像入力部１０５から入力する画像データに基づき人物の３次元動作を推定するモデルを、図７に推定の状態空間モデルを用いて詳しく説明する。
例えば、単眼カメラにより撮影された画像データから、３次元姿勢推定部１０７が３次元動作を推定する問題は、３次元姿勢推定部１０７が、２次元画像からの観測される画像上の関節の位置を観測系列Ｉ＿（１：ｎ）＝（Ｉ＿（１），・・・，Ｉ（ｎ））とし、学習した潜在変数モデルＭ≡（Ｘ，Ｙ，α，β）を事前知識として、観測系列から状態Φ（ｎ）＝［Ｇ（ｎ），ｙ＿（ｎ），ｘ＿（ｎ）］を推定することである。
ここで、Ｇ（ｎ）は、グローバル位置である。
状態が１つ前の状態のみに依存する１次元のマルコフ過程を想定した場合、このような問題は、図７に示す状態空間モデルとして記述できる。このとき２次元画像からの３次元姿勢推定は、下記の条件付き確率を最大化する状態を推定する問題として定式化される。
τは、予測に用いる将来のフレーム数である。なお、非特許文献３では、τ＝２を用いている。
【００６２】
【数９】
0005525407.tif 000010
【００６３】
ここで、式（４）の右辺の第１項は、尤度を表し、第２項は予測分布を表している。
状態推定は、式（４）に対するＭＡＰ推定やサンプリング手法による近似によって最適値ｘ＿＊（ｎ）を求めることで実現される。
つまり、３次元姿勢推定部１０７は、式（４）に対して、ＭＡＰ推定やサンプリング手法による近似により、学習した潜在変数モデルＭ１≡（Ｘ１，Ｙ１，α１，β１）を事前知識として、最適値ｘ１＿＊（ｎ）を求めることができる。この最適値ｘ１＿＊（ｎ）が、潜在変数モデルＭ１の潜在空間における一部の関節の位置を示す値である。
【００６４】
（ステップＳ３０８２）
３次元姿勢推定部１０７は、ステップＳ３０４３を事前知識とし、最適値ｘ１＿＊（ｎ）から潜在空間（Ｘ）上の位置を示す潜在変数ｘ＿＊（ｎ）を推定する。
学習プロセスにおけるステップＳ３０４３で求めたＸに対する予測分布ｐ（ｘ＿＊（ｎ）｜Ｘ＿）は、ガウス過程の定義により、平均ｍ（ｘ１＿＊（ｎ））と共分散σ２（ｘ１＿＊（ｎ））の正規分布となる。
なお、予測分布ｐ（ｘ＿＊（ｎ）｜Ｘ＿）と、平均ｍ（ｘ１＿＊（ｎ））と、共分散σ２（ｘ１＿＊（ｎ））は、以下に示す通りである。
【００６５】
【数１０】
0005525407.tif 000011
【００６６】
ここで、Ｃ＊は、入力データｘ１＿＊（ｎ）に対する学習データＸ１＝［ｘ＿（１），・・・ｘ＿（Ｎ）］についてのカーネル行列であり、下記で表すことができる。
【００６７】
【数１１】
0005525407.tif 000012
なお、予測値ｘ＊（ｎ）は、一般に、予測分布の期待値として求めることができ、下記で表される。
【００６８】
【数１２】
0005525407.tif 000013
【００６９】
（ステップＳ３０９）
３次元姿勢推定部１０７は、ステップＳ３０４１において学習した潜在変数モデルＭに基づいて、ステップＳ３０８２で推定された潜在変数ｘ＿＊（ｎ）から、式（５）により、姿勢ｙ＿＊（ｎ）を推定する。
【００７０】
【数１３】
0005525407.tif 000014
【００７１】
ここで、ｋＹ（ｘ＿＊（ｎ））は、ｊ番目の要素がｋＹ（ｘ＿＊（ｎ），ｘ＿（ｊ））のベクトルであり、μは、学習姿勢データＹの平均値である。このｙ＿＊（ｎ）が、フレームｎにおける２次元画像からの３次元姿勢を示す３次元姿勢予測値である。
【００７２】
このように、本発明によれば、２次元映像から安定して獲得可能な部分的な関節点に関する特徴量を入力として、全身の３次元関節位置を推定することができる。このことにより、関節位置を手動で指定することなく、姿勢推定の精度を向上させることができる。
つまり、本実施形態に係る３次元動作情報処理装置１００は、学習時に、全身の関節に関する情報から一つの潜在変数モデルＭを構築することに加えて、全身から一部分の関節を選択点として、選択点に関する情報から潜在変数モデルＭ１を学習し、この潜在変数モデルＭと潜在変数モデルＭ１とを対応付ける動作モデルを学習により得る。これにより、３次元動作情報処理装置１００は、推定時に、この動作モデルを参照して、２次元の画像において画像認識しやすく、追跡しやすい一部の関節の動きに基づき、潜在変数モデルＭの潜在空間における全部の関節の位置を得ることができる。よって、関節位置を手動で指定することなく、２次元画像に基づき、全ての関節の位置を得ることできる。つまり、推定開始時に手動での関節位置指定が不要となる。
また、全ての関節の位置に基づき、３次元の仮想空間における多関節物体の姿勢を示す３次元姿勢予測値を算出することにより、姿勢推定の精度を向上させることができる。また、より安定した推定が可能となる。
【００７３】
＜第２実施形態＞
次に、本発明の他の実施形態について説明する。図８は、第２本実施形態に係る３次元動作情報処理装置１００による３次元動作情報処理方法の処理フローの一例を示すフローチャートである。なお、図５に示す処理内容と同一の処理については、同一の符号を付して詳細な説明は省略する。
（ステップＳ４０１）
３次元姿勢推定部１０７は、ステップＳ３０４３を事前知識とし、最適値ｘ１＿＊（ｎ）から潜在空間（Ｘ）上の位置を示す潜在変数ｘ＿＊（ｎ）を推定する際、誤差を考慮して、潜在空間間の写像を行う機能を持つ。
【００７４】
つまり、３次元姿勢推定部１０７は、推定誤差を考慮するために、Ｓ３０８２の式(１０)と比較して、予測分布の期待値を予測値とするのではなく、式（１１）に従い、予測分布に、観測ベクトルＩ＿１（ｎ）に対する３次元姿勢ｙ＿＊（ｎ）の条件付き分布をかけた予測分布ｐ（ｘ＿＊（ｎ）｜Ｘ＿）ｐ（ｙ＿＊（ｎ）｜Ｉ１（ｎ））の負の対数尤度を目的関数Ｌ２とし、このＬ２を最小化するｘ１＿＊（ｎ）を予測値とする。
【００７５】
【数１４】
0005525407.tif 000015
【００７６】
なお、εは推定誤差、σｅは誤差の許容量を表し、σｅが小さいほど、Ｌ２への誤差の寄与が高くなる。
例えば、ステップＳ３０７における２次元画像からの観測ベクトルＩ＿１（ｎ）のｊ番目の関節点に対応する成分を以下の値とする。
【００７７】
【数１５】
0005525407.tif 000016
【００７８】
また、推定される３次元姿勢ｙ＿＊（ｎ）から３次元の関節点を２次元画像上に射影したときのｊ番目の関節点の２次元画像上での位置を以下の値とする。
【００７９】
【数１６】
0005525407.tif 000017
【００８０】
このとき、推定誤差は、
【００８１】
【数１７】
0005525407.tif 000018
の差を全てのｊに関して算出したもので定義できる。
より具体的には、以下の式（１２）である。
【００８２】
【数１８】
0005525407.tif 000019
【００８３】
３次元姿勢推定部１０７は、式（１１）を最小化するような予測値ｘ＿＊（ｎ）を求めるために、例えば、初期値として、予測分布の平均値、つまり式(１０)を与え、一般的な最適化のための反復手法を用いることが可能である。
また、より精度を向上させるためには、フレームｎの推定に対して、将来のフレームを用いることも可能である。具体的には、３次元姿勢推定部１０７は、式(１１)以降において、τを窓数として、ｎ：ｎ＋τに関して計算を行う。この手法によれば、第１実施形態と比較して推定の精度向上が図れる。
【００８４】
なお、上述の動作モデル学習装置１、３次元姿勢推定装置２、３次元動作情報処理装置１００の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいう「コンピュータシステム」とは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００８５】
また、図５、８に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、また、動作モデル学習装置１、３次元姿勢推定装置２、３次元動作情報処理装置１００の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、各処理を行ってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８６】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００８７】
１・・・動作モデル学習装置、２・・・３次元姿勢推定装置、１００・・・３次元動作情報処理装置、１０１・・・３次元動作データ出力部、１０２・・・３次元姿勢行列構成部、１０３・・・動作モデル学習部、１０４・・・動作情報記憶部、１０５・・・画像入力部、１０６・・・観測情報算出部、１０７・・・３次元姿勢推定部
【図１】
0005525407.tif 000020
【図２】
0005525407.tif 000021
【図３】
0005525407.tif 000022
【図４】
0005525407.tif 000023
【図５】
0005525407.tif 000024
【図６】
0005525407.tif 000025
【図７】
0005525407.tif 000026
【図８】
0005525407.tif 000027
【図９】
0005525407.tif 000028