(57)【要約】【課題】好適なボディトラッキングを実現できるようにする。【解決手段】現時刻の観測部１４の観測結果と、前時刻の対象人物２１の姿勢の予測確率分布に基づいて、現時刻の姿勢の状態の確率分布が予測され、その予測結果に基づいて対象人物２１の姿勢が推定され、その推定結果がトラッキング結果として出力される。この場合、現時刻の姿勢の状態の確率分布を予測するために使用される前時刻の予測確率分布とは、前時刻の予測確率分布そのものではなく、前時刻の別姿勢推定部１２の推定結果とボディトラッキング部１１のトラッキング結果に基づいてフィードバック部１３によって生成された分布情報に基づいて補正された後のものである。本発明はボディトラッキング装置に適用可能である。【選択図】図１
2009015671.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトの状態をトラッキングする情報処理装置において、
第１の時刻に第１の観測により得られた前記オブジェクトの状態の確率分布を予測し、その予測結果に基づいて前記オブジェクトの前記第１の時刻の状態を推定するトラッキング手段と、
前記第１の時刻に第２の観測により得られた前記オブジェクトの状態量に基づいて、前記オブジェクトの前記第１の時刻の状態の確率分布の補正に用いる分布情報を生成し、前記分布情報をフィードバック情報として前記トラッキング手段に提供するフィードバック手段と
を備え、
前記トラッキング手段は、前記第１の時刻よりも後の第２の時刻に前記第１の観測により得られた前記オブジェクトの状態の確率分布を、前記フィードバック情報によって補正された前記オブジェクトの前記第１の時刻の状態の確率分布に基づいて予測し、その予測結果に基づいて前記オブジェクトの前記第２の時刻の状態を推定する
情報処理装置。
【請求項２】
前記オブジェクトの状態は、複数の関節により接続された複数のパートから形成される前記オブジェクトの姿勢の状態であり、
前記トラッキング手段は、前記複数のパートのそれぞれの姿勢の状態の確率分布を予測し、それらの予測結果から前記複数のパートのそれぞれの姿勢の状態を推定することで、前記オブジェクトの姿勢の状態を推定し、
前記フィードバック手段は、前記複数のパートのそれぞれに対して前記フィードバック情報を個別に生成する
請求項１に記載の情報処理装置。
【請求項３】
前記複数のパートのうちの所定パートの姿勢の状態の確率分布は、前記所定パートの１つの予測姿勢を示すパーティクルと、前記第１の観測により得られた状態量に対する前記予測姿勢の尤度を示す重みとの組がＳ組（Ｓは複数の整数値）集合した情報として表現され、
前記フィードバック情報は、前記第２の観測により得られた前記オブジェクトの状態量に基づいて修正されたＳ個の前記重みである
請求項２に記載の情報処理装置。
【請求項４】
前記第２の観測に基づいて前記所定パートの姿勢の状態を推定し、その推定結果を、前記第２の観測により得られた前記オブジェクトの状態量として前記フィードバック手段に提供する別推定手段
をさらに備える請求項３に記載の情報処理装置。
【請求項５】
オブジェクトの状態をトラッキングする情報処理装置の情報処理方法において、
第１の時刻に第１の観測により得られた前記オブジェクトの状態の確率分布を予測し、その予測結果に基づいて前記オブジェクトの前記第１の時刻の状態を推定し、
前記第１の時刻に第２の観測により得られた前記オブジェクトの状態量に基づいて、前記オブジェクトの前記第１の時刻の状態の確率分布を補正し、
前記第１の時刻よりも後の第２の時刻に前記第１の観測により得られた前記オブジェクトの状態の確率分布を、補正された前記オブジェクトの前記第１の時刻の状態の確率分布に基づいて予測し、その予測結果に基づいて前記オブジェクトの前記第２の時刻の状態を推定する
情報処理方法。
【請求項６】
オブジェクトの状態をトラッキングする処理を制御するコンピュータが、
第１の時刻に第１の観測により得られた前記オブジェクトの状態の確率分布を予測し、その予測結果に基づいて前記オブジェクトの前記第１の時刻の状態を推定し、
前記第１の時刻に第２の観測により得られた前記オブジェクトの状態量に基づいて、前記オブジェクトの前記第１の時刻の状態の確率分布を補正し、
前記第１の時刻よりも後の第２の時刻に前記第１の観測により得られた前記オブジェクトの状態の確率分布を、補正された前記オブジェクトの前記第１の時刻の状態の確率分布に基づいて予測し、その予測結果に基づいて前記オブジェクトの前記第２の時刻の状態を推定する
制御処理を実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法並びにプログラムに関し、特に、オブジェクトをトラッキングする際、従来に比較して、精度の向上、隠蔽の対処、ロバスト性の改善などを図ることができるようになった情報処理装置および方法並びにプログラムに関する。
【背景技術】
【０００２】
ボディのような高自由度な動体をオブジェクトとして、そのオブジェクトをトラッキングする手法は長く研究されてきた（例えば非特許文献１乃至４参照）。
【非特許文献１】D. Demirdjian, T. Ko, T. Darrell, Constraining Human Body Tracking, Proceedings of the International Conference on Computer Vision, 2003.
【非特許文献２】K.M. Cheung, S. Baker, J.K. Hodgins, and T. Kanade, Markerless Human Motion Transfer, Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization and Transmission, September, 2004.
【非特許文献３】Ramanan, D., Forsyth, DA, Zisserman, A. "Strike a Pose: Tracking People by Finding Stylized Poses." Computer Vision and Pattern Recognition (CVPR), San Diego, CA, June 2005.
【非特許文献４】D. Demirdjian, T. Darrell, 3-D Articulated Pose Tracking for Untethered Diectic Reference, Proceedings of the International Conference on Multimodal Interfaces, 2002.
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、現状、従来のトラッキング手法よりもさらに、精度の向上、隠蔽の対処、ロバスト性の改善が図れるような新たなトラッキング手法の実現が要求されている。
【０００４】
本発明はこのような状況に鑑みてなされたものであり、オブジェクトをトラッキングする際、従来に比較して、精度の向上、隠蔽の対処、ロバスト性の改善などを図ることができるようにするものである。
【課題を解決するための手段】
【０００５】
本発明の一側面の情報処理装置は、オブジェクトの状態をトラッキングする情報処理装置であって、第１の時刻に第１の観測により得られた前記オブジェクトの状態の確率分布を予測し、その予測結果に基づいて前記オブジェクトの前記第１の時刻の状態を推定するトラッキング手段と、前記第１の時刻に第２の観測により得られた前記オブジェクトの状態量に基づいて、前記オブジェクトの前記第１の時刻の状態の確率分布の補正に用いる分布情報を生成し、前記分布情報をフィードバック情報として前記トラッキング手段に提供するフィードバック手段とを備え、前記トラッキング手段は、前記第１の時刻よりも後の第２の時刻に前記第１の観測により得られた前記オブジェクトの状態の確率分布を、前記フィードバック情報によって補正された前記オブジェクトの前記第１の時刻の状態の確率分布に基づいて予測し、その予測結果に基づいて前記オブジェクトの前記第２の時刻の状態を推定する。
【０００６】
前記オブジェクトの状態は、複数の関節により接続された複数のパートから形成される前記オブジェクトの姿勢の状態であり、前記トラッキング手段は、前記複数のパートのそれぞれの姿勢の状態の確率分布を予測し、それらの予測結果から前記複数のパートのそれぞれの姿勢の状態を推定することで、前記オブジェクトの姿勢の状態を推定し、前記フィードバック手段は、前記複数のパートのそれぞれに対して前記フィードバック情報を個別に生成する。
【０００７】
前記複数のパートのうちの所定パートの姿勢の状態の確率分布は、前記所定パートの１つの予測姿勢を示すパーティクルと、前記第１の観測により得られた状態量に対する前記予測姿勢の尤度を示す重みとの組がＳ組（Ｓは複数の整数値）集合した情報として表現され、前記フィードバック情報は、前記第２の観測により得られた前記オブジェクトの状態量に基づいて修正されたＳ個の前記重みである。
【０００８】
前記第２の観測に基づいて前記所定パートの姿勢の状態を推定し、その推定結果を、前記第２の観測により得られた前記オブジェクトの状態量として前記フィードバック手段に提供する別推定手段をさらに備える。
【０００９】
本発明の一側面の情報処理方法およびプログラムは、上述した本発明の一側面の情報処理装置に対応する画像処理方法およびプログラムである。
【００１０】
本発明の一側面の情報処理装置および方法並びにプログラムにおいては、第１の時刻に第１の観測により得られた前記オブジェクトの状態の確率分布が予測され、その予測結果に基づいて前記オブジェクトの前記第１の時刻の状態が推定される。前記第１の時刻に、第２の観測により得られた前記オブジェクトの状態量に基づいて、前記オブジェクトの前記第１の時刻の状態の確率分布が補正される。前記第１の時刻よりも後の第２の時刻に前記第１の観測により得られた前記オブジェクトの状態の確率分布が、補正された前記オブジェクトの前記第１の時刻の状態の確率分布に基づいて予測され、その予測結果に基づいて前記オブジェクトの前記第２の時刻の状態が推定される。
【発明の効果】
【００１１】
以上のごとく、本発明の一側面によれば、オブジェクトをトラッキングできる。特に、その際、従来に比較して、精度の向上、隠蔽の対処、ロバスト性の改善などを図ることができる。
【発明を実施するための最良の形態】
【００１２】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１３】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００１４】
本発明の一側面の情報処理装置は、
オブジェクト（例えば図１の対象人物２１）の状態をトラッキングする情報処理装置において、
第１の時刻に第１の観測（例えば図１の観測部１４による観測）により得られた前記オブジェクトの状態の確率分布を予測し、その予測結果に基づいて前記オブジェクトの前記第１の時刻の状態を推定するトラッキング手段（例えば図１のボディトラッキング部１１）と、
前記第１の時刻に第２の観測（例えば図１の観測部１４の他、別観測部１５による観測等）により得られた前記オブジェクトの状態量（例えば図１の別姿勢推定部１２の推定結果）に基づいて、前記オブジェクトの前記第１の時刻の状態の確率分布の補正に用いる分布情報を生成し、前記分布情報をフィードバック情報として前記トラッキング手段に提供するフィードバック手段（例えば図１のフィードバック部１３）と
を備え、
前記トラッキング手段は、前記第１の時刻よりも後の第２の時刻に前記第１の観測により得られた前記オブジェクトの状態の確率分布を、前記フィードバック情報によって補正された前記オブジェクトの前記第１の時刻の状態の確率分布に基づいて予測し、その予測結果に基づいて前記オブジェクトの前記第２の時刻の状態を推定する。
【００１５】
前記オブジェクトの状態は、複数の関節により接続された複数のパートから形成される前記オブジェクト（例えば図４の関節点S0乃至S14により接続された複数のパートからなるボディ）の姿勢の状態であり、
前記トラッキング手段は、前記複数のパートのそれぞれの姿勢の状態の確率分布を予測し、それらの予測結果から前記複数のパートのそれぞれの姿勢の状態を推定することで、前記オブジェクトの姿勢の状態を推定し、
前記フィードバック手段は、前記複数のパートのそれぞれに対して前記フィードバック情報を個別に生成する。
【００１６】
前記複数のパートのうちの所定パートの姿勢の状態の確率分布は、前記所定パートの１つの予測姿勢を示すパーティクルと、前記第１の観測により得られた状態量に対する前記予測姿勢の尤度を示す重みとの組がＳ組（Ｓは複数の整数値）集合した情報（例えば、図５の処理で実現されるパーティクルフィルタに使用される情報）として表現され、
前記フィードバック情報は、前記第２の観測により得られた前記オブジェクトの状態量に基づいて修正されたＳ個の前記重みである。
【００１７】
前記第２の観測に基づいて前記所定パートの姿勢の状態を推定し、その推定結果を、前記第２の観測により得られた前記オブジェクトの状態量として前記フィードバック手段に提供する別推定手段（例えば図１の別姿勢推定部１２）をさらに備える。
【００１８】
本発明の一側面の情報処理方法およびプログラムは、上述した本発明の一側面の情報処理装置に対応する方法およびプログラムである。プログラムについては、例えば図１３のコンピュータにより実行される。
【００１９】
以下、本発明の実施の形態について図を参照して説明する。
【００２０】
図１は、本発明が適用されるボディトラッキングシステムの機能的構成例を示している。
【００２１】
ここで、システムとは、複数の装置または回路等の複数の部分により構成される装置または回路等全体を表すものである。即ち、図１のボディトラッキングシステムは、１台の装置で構成してもよいし、複数台の装置で構成してもよい。また、複数台の装置で構成されている場合、各装置間の情報の授受は、直接的に行われてもよいし、ネットワーク等を介在して行われてもよい。
【００２２】
また、図１における各機能ブロックは、ハードウエア単体で構成してもよいし、ソフトウエア単体で構成してもよいし、或いはそれらの組合せで構成してもよい。また、複数の機能ブロックを１つの機能ブロックにまとめても構わないし、或いは、１つの機能ブロックをさらに小単位の機能ブロックに分割してもよい。換言すると、図１のボディトラッキングシステムは、各機能ブロックが有する各機能を有していれば、その実施の形態は特に限定されず、様々な形態を取ることが可能である。この段落の内容は、後述する他の機能ブロック図についても同様に当てはまる。
【００２３】
図１の例では、ボディトラッキングシステムは、ボディトラッキング部１１乃至別観測部１５を含むように構成されている。
【００２４】
ボティトラッキング部１１は、トラッキングの対象人物２１についての観測部１４の観測結果や、前時刻の対象人物２１の姿勢の状態の予測結果（前時刻の事後確率分布）に基づいて、現時刻の対象人物２１の姿勢の状態を予測し、その予測結果である現時刻の事後確率分布に基づいて対象人物２１のボディの姿勢の状態を推定する。この推定結果が、ボディトラッキング部１１のトラッキング結果として出力されることになる。
【００２５】
ここで重要な点は、前時刻の予測結果である事後確率分布は、ボティトラッキング部１１によって前時刻に予測生成されたものが直接用いられるわけではない点である。即ち、フィードバック部１３から提供されるフィードバック情報（後述する重みのセット等の分布情報）に基づいて、前時刻の事後確率分布が補正され、その補正後の事後確率分布が用いられる点である。ただし、如何なる分布情報がフィードバック情報として採用されるのかという点や、そのフィードバック情報が如何にして用いられるのかという点等については、図５乃至図８を参照して後述する。
【００２６】
ボディトラッキング部１１のトラッキング手法は、特に限定されないが、本実施の形態では、ボディパートを階層的にトラッキングする手法（以下、階層的トラッキング手法と称する）が採用されているとする。階層的トラッキング手法の詳細については、図２乃至図４を参照して後述する。
【００２７】
別姿勢推定部１２は、ボディトラッキング部１１とは独立して、対象人物２１の姿勢の状態を推定する。
【００２８】
この場合、別姿勢推定部１２の姿勢の状態の推定手法は、ボティトラッキング部１１に採用された手法（本実施の形態では階層的トラッキング手法）とは別の手法であれば足りる。例えば、図１に図示されているように、ボディトラッキング部１１と同一の観測部１４の観測結果を用いる手法が採用されてもよい。また、ボティトラッキング部１１とは異なる観測部１５（以下、別観測部１５と称する）の観測結果を用いる手法が採用されてもよい。或いはまた、両者の観測結果を用いる手法が採用されてもよい。また、ボディトラッキング部１１によるトラッキング結果を用いる手法が採用されてもよい。なお、具体的な手法については、図９乃至図１１を参照して後述する。
【００２９】
第１の時刻のボティトラッキング部１１のトラッキング結果と、第１の時刻の別姿勢推定部１２の推定結果とは、フィードバック部１３に提供される。フィードバック部１３は、第１の時刻のトラッキング結果と推定結果とに基づいて、第１の時刻の対象人物２１の姿勢の状態の予測結果（第１の時刻の事後確率分布）の補正に用いる分布情報を生成し、その分布情報をフィードバック情報としてボディトラッキング部１１に提供する。
【００３０】
これにより、ボディトラッキング部１１は、第１の時刻よりも後の第２の時刻の対象人物２１の姿勢の状態を予測する際、即ち第２の時刻の事後確率分布を生成する際、第１の時刻の対象人物２１の姿勢の状態の予測結果（第１の時刻の事後確率分布）そのものではなく、フィードバック情報によって補正された予測結果（補正後の第１の時刻の事後確率分布）を用いることができるようになる。
【００３１】
ここで、重要な点は、フィードバック情報もまた、確率的な分布情報になっている点である。ただし、かかる点の詳細な説明については、図５乃至図８を参照して後述する。
【００３２】
図２は、階層的トラッキング手法が採用されたボディトラッキング部１１の詳細な機能的構成例を示している。
【００３３】
図２の例では、ボディトラッキング部１１は、カメラパラメータ取得部３２乃至姿勢・位置推定部３８から構成されている。
【００３４】
なお、観測部１４は、カメラ１４Ｌ、１４Ｒから構成されているとする。そして、カメラ１４Ｌ、１４Ｒは、同一の対象人物２１を撮影できるように所定の位置に配置されているとする。また、観測部１４による観測手法としては、本実施の形態では、２台のカメラ１４Ｌ、１４Ｒの視差から対象物の距離を算出する手法、即ちいわゆる「ステレオビジョン」が採用されているとする。ただし、観測手法は、「ステレオビジョン」に特に限定されず、任意の手法を採用できる。例えば、レーザを照射してその反射光を検出するまでの時間を測定することによって距離を算出する手法、即ちいわゆる「レーザレンジファインダ」等を採用してもよい。
【００３５】
カメラパラメータ取得部３２は、カメラキャリブレーションにより、実世界座標とカメラ画像座標とを関係付けるカメラパラメータを取得する。このカメラパラメータは、画像・距離情報観測部３３と姿勢・位置射影部３６に出力される。
【００３６】
画像・距離情報観測部３３は、カメラ１４Ｌ、１４Ｒで撮像された画像を初期化部３４と信頼性評価部３７に出力する。また、カメラパラメータ取得部３２で取得されたカメラパラメータに基づいて距離情報を生成し、初期化部３４と信頼性評価部３７に出力する。
【００３７】
初期化部３４は、キネマティクスモデルを生成するために対象人物２１の各関節点Ｓi{i=0,1,・・・,I：Iは整数値}の３次元座標（x,y,z）を求めるとともに、予測された姿勢・位置を評価するために関節点、関節点間の肢体（Limbs）、及び顔等の特徴点の画像情報（初期画像モデル）を保存する。
【００３８】
このキネマティクスモデルは、各関節が連結された関節モデルである。なお、本実施の形態では、１５の関節点Si{i=0,1,・・・,14}で表現したキネマティクスモデルが採用されているとする。また、画像情報としては、例えば、表面の質感を表現するテクスチャ、色情報、視差情報、輪郭等の信頼度評価値等を用いることができる。
【００３９】
姿勢・位置予測部３５は、前時刻tの各関節及び肢体の予測位置とキネマティックモデルの関節間の連結性拘束とを用いて、現時刻(t+1)の各関節及び肢体の位置を確率モデルによって階層的に予測し、体の構え（姿勢）を予測する。
【００４０】
具体的には、後述するように、関節モデルの前階層の関節の推定位置に確率分布を持たせ、次の階層の関節の予測位置を演算する。その際、フィードバック部１３からのフィードバック情報が用いられる。ただし、如何なる情報がフィードバック情報として用いられるのか、または、フィードバック情報が如何にして用いられるのかについては、図５乃至図８の処理を参照して後述する。
【００４１】
姿勢・位置射影部３６は、姿勢・位置予測部３５によって予測された現時刻(t+1)における対象人物２１の３次元空間の各関節及び肢体の予測位置及び姿勢を、カメラキャリブレーションで得られた射影行列Ｐによって２次元画像上に射影し、３次元座標（x,y,z）に対応する２次元画像上の射影位置（u,v）を求める。
【００４２】
信頼性評価部３７は、姿勢・位置射影部３６によって得られた２次元画像（観測画像）上の射影位置（u，v）の画像情報（例えば、距離情報・色情報・テクスチャ情報など）と、予め保存された画像情報（初期画像モデル）との相似性を計算することにより、射影位置の正しさを評価する。
【００４３】
姿勢・位置推定部３８は、信頼性評価部３７で評価された２次元画像上の射影位置の評価値によって、現時刻(t+1)における対象人物２１の３次元空間上の位置及び姿勢を推定する。この現時刻(t+1)における対象人物２１の３次元空間上の位置及び姿勢の推定情報は、姿勢・位置予測部３５に対して、前時刻tの対象人物２１の各関節及び肢体の位置として出力される。
【００４４】
ここで、図２のボディトラッキング部１１の処理（以下、モーションキャプチャ処理とも称する）の概要を、図３に示す模式図を用いて説明する。
【００４５】
まず、予め少なくとも２台以上のカメラ１４Ｌ、１４Ｒを、同一の対象人物２１が撮影できるように配置し、それらの位置関係やカメラパラメータ等をカメラキャリブレーションによって取得する。このカメラパラメータ等は、カメラパラメータ取得部３２から画像・距離情報観測部３３と姿勢・位置射影部３６に出力される。
【００４６】
初期化部３４は、画像・距離情報観測部３３から出力された対象人物２１の観測画像、例えば図３の（Ａ）のような観測画像から視差画像（u,v,depth）を予測する。そして、初期化部３４は、その視差画像（u,v,depth）を３次元空間上に逆射影することによって、対象人物２１の３次元形状及び各関節の３次元位置・座標モデル（x,y,z）を算出し、キネマティックスモデルを生成する。また、初期化部３４は、観測画像に基づいて各関節の画像情報（初期画像モデル）を保存する。
【００４７】
次に、姿勢・位置予測部３５は、例えば、図３の（Ｂ）のような前時刻tの各関節位置・姿勢Ｐtの推定結果に基づいて、図３の（Ｃ）のような現時刻(t+1)の各関節の位置・姿勢Ｐt+1を、キネマティクスモデルの関節間の連結を考え、確率モデルによって階層的に予測する。
【００４８】
姿勢・位置射影部３６は、予測された現時刻(t+1)の対象人物２１の各関節位置・姿勢Ｐt+1を、カメラキャリブレーションで得られた射影行列Ｐによって、例えば、図３の（Ｄ）のように２次元画像上に射影し、３次元座標（x,y,z）に対応する２次元画像上の射影位置及び視差（u,v,depth）を求める。
【００４９】
信頼性評価部３７は、２次元画像（観測画像）上に射影された射影位置の視差（u,v,depth）、色情報、テクスチャ情報等の画像情報と、予め保存された画像情報（初期画像モデル）との相似性を計算し、２次元画像上に射影された対象人物２１の各関節の射影位置・姿勢の正しさを評価する。
【００５０】
姿勢・位置推定部３８は、信頼性評価部３７で算出された評価値に基づいて、最終的に、図３の（Ｅ）のように現時刻(t+1)における対象人物２１の３次元空間上の予測位置・姿勢Ｐt+1を求める。
【００５１】
このように対象人物２１の位置・姿勢・動き追跡を行うことにより、対象人物２１に負担を掛けることのない、自然なＨＭＩ（Human Machine Interface）を実現することができる。
【００５２】
次に、キネマティクスモデルの各関節位置の推定方法について説明する。図４の左側図は、本実施の形態における階層的トラッキング手法の概念図を示している。この階層的トラッキング手法では、まず、最も観測しやすい人物の頭部（顔）の情報を用いて、首の関節Ｓ0及び頭部中心Ｓ1の位置が推定される。そして、関節Ｓ0の推定結果に基づいて、肩の関節Ｓ2、Ｓ3及び背中の関節Ｓ8の位置が推定される。その後、それぞれの関節Ｓ2、Ｓ3、Ｓ8の推定結果に基づいて、両肘の関節Ｓ4、Ｓ5及び腰部関節Ｓ9、Ｓ10の位置が推定される。さらに、両肘の関節Ｓ4、Ｓ5の推定結果に基づいて、両腕の関節Ｓ6、Ｓ7の位置が推定される。また。腰部関節Ｓ9、Ｓ10の推定結果に基づいて、両膝の関節Ｓ11、Ｓ12の位置が推定される。最後に、両膝の関節Ｓ11、Ｓ12の推定結果に基づいて、両足の関節Ｓ13、Ｓ14の位置が推定される。すなわち、この階層的トラッキング手法とは、キネマティクスモデルの関節間の連結性及び前時刻tの関節位置に基づいて、現時刻(t+1)の各関節位置を順次算出していく手法をいう。
【００５３】
図４の右側図は、各関節点の推定手法を説明するための模式図である。現時刻(t+1)における各関節Ｓ1乃至Ｓ14の予測位置は、前時刻tの予測結果に基づいて求められる。
【００５４】
具体的には例えば、現時刻ｔにおける各関節の予測値（位置・姿勢）は、前時刻tにおける各関節Ｓm（m=0,・・・,14）の各仮説｛k=1,2,・・・,K｝に基づく姿勢の予測関数ωm(t+1,k)及び位置の予測関数ξm(t+1,k)を用いて計算される。ωm(t+1,k)及びξm(t+1,k)は、それぞれ現時刻ｔ+1の第ｍ番目の関節に関して、次に式（１）と式（２）のように計算される。
【００５５】
【数１】
2009015671.tif 000003
・・・（１）
【数２】
2009015671.tif 000004
・・・（２）
【００５６】
ここで、φは、平均値μ、標準分散σの正規乱数を得るための関数を示す。vは、前時刻tでの各関節点の動き速度を示す。κは、寄与度を調整する定数を示す。
【００５７】
また、上半身の各関節は次のような順序で順次推定されていく。
【００５８】
即ち、先ず、姿勢・位置予測部３５は、首の関節Ｓ0と頭部中心Ｓ1の位置・姿勢を予測する。そして、姿勢・位置推定部３８は、首の関節Ｓ0と頭部中心Ｓ1の位置・姿勢の予測結果である各仮説｛k=1,2,・・・,K｝に基づいて、首の関節Ｓ0と頭部中心Ｓ1の位置・姿勢を推定する。
【００５９】
具体的には例えば、姿勢・位置予測部３５は、前時刻tの首の関節位置Ｓ0(t,k)及び頭部中心位置Ｓ1(t,k)を入力し、現時刻(t+1)の首の関節位置Ｓ0(t+1,k)及び頭部中心位置Ｓ1(t+1,k)の予測値を、次の式（３）と式（４）に従って算出する。
【００６０】
【数３】
2009015671.tif 000005
・・・（３）
【数４】
2009015671.tif 000006
・・・（４）
【００６１】
姿勢・位置推定部３８は、首の関節位置Ｓ0(t+1,k)及び頭部中心位置Ｓ1(t+1,k)の仮説｛k=1,2,・・・,K｝に基づいて、首の関節位置Ｓ0(t+1) 及び頭部中心位置Ｓ1(t+1)を推定し、それらの推定結果を出力する。なお、推定手法の具体例にについては、後述する。
【００６２】
次に、姿勢・位置予測部３５は、首の関節Ｓ0の推定結果に基づいて、肩の関節Ｓ2、Ｓ3の位置・姿勢を予測する。そして、姿勢・位置推定部３８は、肩の関節Ｓ2、Ｓ3の位置・姿勢の予測結果である各仮説｛k=1,2,・・・,K｝に基づいて、肩の関節Ｓ2、Ｓ3の位置・姿勢を推定する。
【００６３】
具体的には例えば、姿勢・位置予測部３５は、前時刻tの肩の関節位置Ｓ2(t,k)、Ｓ3(t,k)及び現時刻（t+1）の首の関節の推定位置Ｓ0(t＋1)を入力し、現時刻（t+1）の肩の関節位置Ｓ2(t+1,k)、Ｓ3(t+1,k)の予測値を、次の式（５）と式（６）に従って算出する。
【００６４】
【数５】
2009015671.tif 000007
・・・（５）
【数６】
2009015671.tif 000008
・・・（６）
【００６５】
姿勢・位置推定部３８は、肩の関節位置Ｓ2(t+1,k)、Ｓ3(t+1,k)の仮説｛k=1,2,・・・,K｝に基づいて、肩の関節位置Ｓ2(t+1)、Ｓ3(t+1)を推定し、それらの推定結果を出力する。
【００６６】
以下同様に、姿勢・位置予測部３５において、肩の関節Ｓ2、Ｓ3の推定結果に基づいて両肘の関節Ｓ4、Ｓ5の位置・姿勢が予測される。姿勢・位置推定部３８において、予測結果としての各仮説｛k=1,2,・・・,K｝に基づいて両肘の関節Ｓ4、Ｓ5の位置・姿勢が推定される。
【００６７】
姿勢・位置予測部３５において、両肘の関節Ｓ4、Ｓ5の推定結果に基づいて両腕の関節Ｓ6、Ｓ7の位置・姿勢が予測される。姿勢・位置推定部３８において、予測結果としての各仮説｛k=1,2,・・・,K｝に基づいて両腕の関節Ｓ6、Ｓ7の位置・姿勢が推定される。
【００６８】
このような順序で、上半身の各関節は推定されていく。一方、下半身の各関節は次のような順序で順次推定されていく。
【００６９】
即ち、先ず、姿勢・位置予測部３５において、首の関節Ｓ0の推定結果に基づいて、背中の関節Ｓ8の位置・姿勢が予測される。姿勢・位置推定部３８において、予測結果としての各仮説｛k=1,2,・・・,K｝に基づいて背中の関節Ｓ8の位置・姿勢が推定される。
【００７０】
以下同様に、姿勢・位置予測部３５において、背中の関節Ｓ8の推定結果に基づいて腰部関節Ｓ9、Ｓ10の位置・姿勢が予測される。姿勢・位置推定部３８において、予測結果としての各仮説｛k=1,2,・・・,K｝に基づいて腰部関節Ｓ9、Ｓ10の位置・姿勢が推定される。
【００７１】
姿勢・位置予測部３５において、腰部関節Ｓ9、Ｓ10の推定結果に基づいて両膝の関節Ｓ11、Ｓ12の位置・姿勢が予測される。姿勢・位置推定部３８において、予測結果としての各仮説｛k=1,2,・・・,K｝に基づいて両膝の関節Ｓ11、Ｓ12の位置・姿勢が推定される。
【００７２】
姿勢・位置予測部３５において、両膝の関節Ｓ11、Ｓ12に基づいて両足の関節Ｓ13、Ｓ14の位置・姿勢が予測される。姿勢・位置推定部３８において、予測結果としての各仮説｛k=1,2,・・・,K｝に基づいて両膝の関節Ｓ13、Ｓ14の位置・姿勢が推定される。
【００７３】
さらに、以下、図５のフローチャートを参照して、姿勢・位置予測部３５の各関節Siの予測処理について説明する。
【００７４】
即ち、図５は、各関節Siの予測処理の一例を説明するフローチャートである。
【００７５】
姿勢・位置予測部３５は、各関節Siのそれぞれについて図５の予測処理を所定の順番でそれぞれ実行していくことで、各関節Siのそれぞれに対してK個のパーティクルフィルタを構築し、これらを予測結果としてそれぞれ出力する。即ち、K個の各パーティクルフィルタが、上述した各仮説｛k=1,2,・・・,K｝に対応する。ただし、以下、パーティクルの数はＳであるとして説明していく。
【００７６】
ここでは、i番目の関節の前時刻tの関節位置Si（t,s)の各仮説｛s=1,2,・・・,S｝のセットがパーティクルセットとして与えられるとする。以下、かかるパーティクルセットをPit(s) ｛s=1,2,・・・,S｝と記述する。また、i番目の関節の前時刻tの重みのセットをｗit(s）｛s=1,2,・・・,S｝と記述する。ここで、重みｗit(s）とは、関節位置Si（t,s)の各仮説｛s=1,2,・・・,S｝と、観測部１４による観測画像との尤度を示している。
【００７７】
この場合、姿勢・位置予測部３５の各関節Siの予測処理は、図５のステップＳ１乃至Ｓ６の処理により実行される。
【００７８】
ステップＳ１において、姿勢・位置予測部３５は、初期化処理を実行する。なお、ステップＳ１の初期化処理は、前時刻tが存在しない場合、即ち、現時刻（t+1）が、先頭のフレーム等に対応する時刻の場合にのみ実行される。
【００７９】
ステップＳ２において、姿勢・位置予測部３５は、リサプリング処理を実行する。
【００８０】
リサンプリング処理とは、Ｓ個の新たなパーティクルのセットを選択する処理をいう。具体的には例えば、Ｓ個の新たなパーティクルのうちの、所定の新たなs（sは1乃至Sのうちの何れか）のパーティクルは、次のステップＳ２Ａ乃至２Ｃの手順によって選択される。なお、新たなsのパーティクルを、以下、PNit(s)と記述する。
【００８１】
ステップＳ２Ａとは、乱数ｒ∈［0,1］（一様分布）を１つ生成する処理をいう。
【００８２】
ステップＳ２Ｂとは、ステップＳ２Ａで生成された乱数rを次の不等式（７）に代入した場合に、その不等式（７）を満たす一番小さいsを見つける処理をいう。
【００８３】
【数７】
2009015671.tif 000009
・・・（７）
【００８４】
ステップＳ２Ｃとは、次の式（８）に示されるように、ステップＳ２Ｂで見つけられた一番小さいｓのパーティクルPit(s)を、新たなｓの前時刻tのパーティクルPNit(s)として選択する処理をいう。
【００８５】
【数８】
2009015671.tif 000010
・・・（８）
【００８６】
以上のステップＳ２Ａ乃至Ｓ２Ｃの処理が繰り返されることで、前時刻tのＳ個の新たなパーティクルPNit(s)｛s=1,2,・・・,S｝のセットが選択されることになる。これにより、ステップＳ２のリサンプリング処理が終了し、処理はステップＳ３に進む。
【００８７】
ステップＳ３において、姿勢・位置予測部３５は、予測処理を実行する。
【００８８】
予測処理とは、新たなsについて、前時刻tのパーティクルPNit(s)に基づいて、現時刻（t+1）のパーティクルを予測する処理をいう。なお、現時刻(t+1)の予測されたパーティクルを、以下、PNit+1(s)と記述する。
【００８９】
この予測処理では、所定の運動モデルが用いられて、現時刻（t+1）のパーティクルPNit+1(s) ｛s=1,2,・・・,S｝のセットが予測される。例えば本実施の形態では、所定の運動モデルとして、上述した式（１）と式（２）とが用いられる。
【００９０】
なお、本実施の形態では、階層的トラッキング手法が採用さているので、この予測処理においては、現時刻t+1のi'番目(i'は、iに対して階層が上の関節の番号を示す)の関節の推定結果Ｓi'（t+1，s）も用いられることになる。
【００９１】
ステップＳ３の予測処理で、現時刻（t+1）のパーティクルPNit+1(s) ｛s=1,2,・・・,S｝のセットが予測されると、処理はステップＳ４に進む。
【００９２】
ステップＳ４において、姿勢・位置予測部３５は、分散処理を実行する。
【００９３】
分散処理とは、現時刻（t+1）のパーティクルPNit+1(s) ｛s=1,2,・・・,S｝のセットの各値を分散する処理をいう。具体的には例えば、次の式（９）に示されるように、ガウシアン分布のノイズを用いて分散されることになる。即ち、式（９）において、左辺のPit+1(s) が分散後のパーティクルを示している。また、nit+1は平均０、分散１のガウシアン分布に従う乱数を示しており、σは拡散したい分散を示している。
【００９４】
【数９】
2009015671.tif 000011
・・・（９）
【００９５】
ステップＳ４の予測処理で、分散された現時刻（t+1）のパーティクルPit+1(s)｛s=1,2,・・・,S｝のセットが生成されると、処理はステップＳ５に進む。
【００９６】
ステップＳ５において、姿勢・位置予測部３５は、重み付け処理を実行する。
【００９７】
重み付け処理とは、分散された現時刻（t+1）のパーティクルPit+1(s)｛s=1,2,・・・,S｝のセットによって，観測部１４による観測画像との尤度を計算し、現時刻（t+1）における重みｗit+1(s）のセットを演算する処理をいう。
【００９８】
ステップＳ５の重み付け処理で、現時刻（t+1）における重みｗit+1(s） ｛s=1,2,・・・,S｝のセットが生成されると、処理はステップＳ６に進む。
【００９９】
ステップＳ６において、姿勢・位置予測部３５は、正規化処理を実行する。
【０１００】
正規化処理とは、現時刻（t+1）における重みwit+1(s) ｛s=1,2,・・・,S｝のセットをそれぞれ正規化する処理をいう。
【０１０１】
正規化の手法は特に限定されないが、例えば本実施の形態では、例えば次の式（１０）により演算する手法が採用されているとする。
【０１０２】
【数１０】
2009015671.tif 000012
・・・（１０）
【０１０３】
以上のステップＳ２乃至Ｓ６の処理が実行されると、i番目の関節の現時刻（t+1）の予測結果として、パーティクルPit+1(s) ｛s=1,2,・・・,S｝のセットと、重みｗit+1(s）｛s=1,2,・・・,S｝のセットとが、姿勢・位置予測部３５から出力される。
【０１０４】
すると、姿勢・位置推定部３８は、i番目の関節の現時刻（t+1）の推定結果、即ち、パーティクルPit+1(s) ｛s=1,2,・・・,S｝のセットと重みｗit+1(s）｛s=1,2,・・・,S｝のセットとを次の式（１１）に代入して演算することで、i番目の関節の現時刻（t+1）の推定結果である関節位置Si(t+1)を算出することができる。
【０１０５】
【数１１】
2009015671.tif 000013
・・・（１１）
【０１０６】
ただし、姿勢・位置推定部３８の推定手法は、この式（１１）を用いる手法に特に限定されるわけではない。例えば、ボディトラッキング部１１の図２の構成を生かして、図１２を用いて後述する推定手法を採用することもできる。
【０１０７】
その後の各時刻（各フレーム）についても、ステップＳ２乃至Ｓ６の処理が繰り返されることになる。この場合、前時刻tのステップＳ２乃至Ｓ６の処理で演算されたパーティクルPit(s) ｛s=1,2,・・・,S｝のセットと重みｗit(s）｛s=1,2,・・・,S｝のセットとが、前時刻の予測結果として用いられる。
【０１０８】
ここで、従来の手法が採用された場合について考える。かかる場合、前時刻tのステップＳ２乃至Ｓ６の処理で演算された重みｗit(s）｛s=1,2,・・・,S｝のセットがそのまま用いられて、現時刻(t+1)のステップＳ２のリサンプリング処理が実行されることになる。
【０１０９】
このような従来の手法を採用した場合、ボティトラッキング部１１は階層的トラッキング手法も採用しているので、推定された各関節点の関節位置Si(t+1){i=0,1,・・・,14}が分離してしまう可能性があった。
【０１１０】
即ち、ボティトラッキング部１１は、上述したように、キネマティックスモデルを用いて、関節の連結を考えて階層的にトラッキングを実行している。ただし、高層の予測エラーにロバストに対応できるようにすべく、低層の関節の姿勢状態が予測される際には、所定範囲内で連結の離れが許されている。よって、推定された各関節点の関節位置Si(t+1){i=0,1,・・・,14}が分離してしまう可能性があった。
【０１１１】
そこで、本実施の形態では、フィードバック部１３が、別姿勢推定部１２による推定結果に基づいて、前時刻tで演算された重みｗit(s）｛s=1,2,・・・,S｝のセットを調整し、調整後の重みのセットをフィードバック情報としてボディトラッキング部１１に出力するようにしている。なお、フィードバック部１３による調整後の重みのセットをｗrit(s）｛s=1,2,・・・,S｝と記述する。
【０１１２】
この場合、別姿勢推定部１２が、例えば、関節拘束に従って姿勢を推定する手法（以下、関節拘束を用いた全体最適化手法と称する）を採用していれば、かかる関節拘束を満たす最適な姿勢の情報も、調整後の重みｗrit(s）｛s=1,2,・・・,S｝のセットに内在されていることになる。なお、別姿勢推定部１２の推定手法の具体例については、図９乃至図１１を参照して後述する。
【０１１３】
この場合、姿勢・位置予測部３５は、前時刻tで演算された重みｗit(s）｛s=1,2,・・・,S｝のセットをそのまま用いるのではなく、フィードバック部１３からのフィードバック情報、即ち、調整後の重みｗrit(s）｛s=1,2,・・・,S｝のセットを用いて、現時刻のステップＳ２のリサンプリング処理を実行することができる。その結果、推定された各関節点の関節位置Si(t+1){i=0,1,・・・,14}が分離してしまうという問題が解消できるのである。
【０１１４】
ここで重要な点は、フィードバック部１３からのフィードバック情報とは、別姿勢推定部１２による推定結果そのままといった確定的な情報ではなく、調整後の重みｗrit(s）｛s=1,2,・・・,S｝のセットといった確率的な分布情報になっている点である。即ち、現時刻(t+1)の関節点Si(t+1)を予測するために使用する前時刻tのフィードバック情報としては、前時刻tの別姿勢推定部１２の推定結果を全て信じて、その確定的な推定結果をそのまま採用するのではなく、その推定結果に基づいて調整された重みｗrit(s）｛s=1,2,・・・,S｝のセットを採用している点である。
【０１１５】
以下、フィードバック部１３の処理、即ち、調整後の重みｗrit+1(s）｛s=1,2,・・・,S｝のセットの生成処理の具体例について幾つか説明する。
【０１１６】
ここで、調整後の重みを、ｗrit(s）と記述せずに、ｗrit+1(s）と記述しているのは次の理由による。即ち、第１の時刻で重みが生成されたとする。この場合、重みが生成された後に調整される際には、第１の時刻が現時刻として取り扱われる。一方、調整後の重みが、第１の時刻の次の第２の時刻の予測に利用される際には、第１の時刻は、第２の時刻にとっての前時刻として取り扱われる。よって、以下の説明は、フィードバック部１３の処理段階の説明であるので、即ち、重みが調整される段階の説明であるので、処理基準時刻は現時刻となり、現時刻を示す符号t+1を用いることにしたのである。
【０１１７】
また、以下のフィードバック部１３の処理の説明では、次の内容が前提とされている。
【０１１８】
即ち、ボティトラッキング部１１は階層的トラッキング手法を採用しているので、推定結果は関節点毎にそれぞれ独立して出力される。よって、以下、i番目の関節点の現時刻(t+1)の推定関節位置Si(t+1)がボディトラッキング部１１から出力されて、フィードバック部１３に提供された場合について説明する。この場合、推定関節位置Si(t+1)＝（xit+1,yit+1,zit+1,αit+1,βit+1,γit+1）で表されるとする。ここで、α,β,γは回転角度であり、ｘ,ｙ,ｚは移動量である。
【０１１９】
また、i番目の関節点の現時刻(t+1)で演算された重みｗit+1(s）｛s=1,2,・・・,S｝のセットもボディトラッキング部１１から出力されて、フィードバック部１３に提供されるとする。
【０１２０】
一方、別姿勢推定部１２からは、i番目の関節点の現時刻(t+1)の関節位置の別推定手法による推定結果（以下、別推定関節位置と称する）がフィードバック部１３に提供されてくるとする。なお、ボディトラッキング部１１の推定関節位置Si(t+1)と区別すべく、別推定関節位置を以下、SAi(t+1)＝（xAit+1,yAit+1,zAit+1,αAit+1,βAit+1,γAit+1）と記述する。
【０１２１】
また、所定のsの重みｗit+1(s）を調整する調整量を、以下、rit+1（s）と記述する。
【０１２２】
以上の前提の下、フィードバック部１３は、次の式（１２）に従って、所定のsの重みｗit+1(s）をｗrit+1(s）に調整することができる。
【０１２３】
【数１２】
2009015671.tif 000014
・・・（１２）
【０１２４】
この場合、調整量rit+1（s）の算出手法は、ボディトラッキング部１１からの推定関節位置Si(t+1)と、別姿勢推定部１２からの別推定関節位置SAi(t+1)とを利用した手法であれば足り、様々な手法を採用することができる。そこで、以下、３つの具体的な算出手法について紹介する。
【０１２５】
１つ目の調整量rit+1（s）の算出手法とは、推定関節位置Si(t+1)と別推定関節位置SAi(t+1)とのパラメータの差を利用した手法である。具体的には例えば、次の式（１３）により調整量rit+1（s）を算出する手法である。
【０１２６】
【数１３】
2009015671.tif 000015
・・・（１３）
【０１２７】
ただし、式（１３）の右辺については、次の式（１４）乃至式（１９）の演算結果が代入される。
【０１２８】
【数１４】
2009015671.tif 000016
・・・（１４）
【数１５】
2009015671.tif 000017
・・・（１５）
【数１６】
2009015671.tif 000018
・・・（１６）
【数１７】
2009015671.tif 000019
・・・（１７）
【数１８】
2009015671.tif 000020
・・・（１８）
【数１９】
2009015671.tif 000021
・・・（１９）
【０１２９】
ここで、min（P,Q）とは、PとQとのうちの最小の方を出力する関数を示している。また、τα乃至τzは、それぞれ独立した所定の閾値を示している。
【０１３０】
以上、調整量rit+1（s）の算出手法の３つの例のうちの、１つ目の調整量rit+1（s）の算出手法について説明した。次に、２つ目の調整量rit+1（s）の算出手法について説明する。
【０１３１】
２つ目の調整量rit+1（s）の算出手法とは、推定関節位置Si(t+1)と別推定関節位置SAi(t+1)とのパラメータに構築された姿勢の差を用いた手法である。具体的には例えば、次のような手法である。
【０１３２】
即ち、フィードバック部１３は、推定関節位置Si(t+1)と別推定関節位置SAi(t+1)のそれぞれから、Homogeneous変換行列をそれぞれ計算する。ここで、Homogeneous変換行列をＧと記述すると、Ｇは次の式（２０）に従って演算可能である。
【０１３３】
【数２０】
2009015671.tif 000022
・・・（２０）
【０１３４】
以下、推定関節位置Si(t+1)に対するHomogeneous変換行列Ｇを、Ｇit+1と記述する。一方、別推定関節位置SAi(t+1) に対するHomogeneous変換行列Ｇを、ＧＡit+1と記述する。
【０１３５】
フィードバック部１３は、i番目の関節点に対応するボディパート上において、図６に示されるように、開始点Pt0に対して、３つの点Pt1, Pt2, Pt3を選択する。そして、フィードバック部１３は、開始点Pt0に対する３つの点Pt1, Pt2, Pt3の相対距離を求め、それらの相対距離を利用して、調整量rit+1（s）を算出することができる。
【０１３６】
具体的には例えば、次の式（２１）により調整量rit+1（s）が算出される。
【０１３７】
【数２１】
2009015671.tif 000023
・・・（２１）
【０１３８】
ただし、式（２１）の右辺については、次の式（２２）乃至式（２４）の演算結果が代入される。
【０１３９】
【数２２】
2009015671.tif 000024
・・・（２２）
【数２３】
2009015671.tif 000025
・・・（２３）
【数２４】
2009015671.tif 000026
・・・（２４）
【０１４０】
即ち、図６における開始点Pt0に対する点Pt1の相対距離に基づく調整量rit+1（s，Pt1）が式（２２）によって演算される。開始点Pt0に対する点Pt2の相対距離に基づく調整量rit+1（s，Pt2）が式（２３）によって演算される。開始点Pt0に対する点Pt3の相対距離に基づく調整量rit+1（s，Pt3）が式（２３）によって演算される。そして、これらの式（２２）乃至式（２３）演算結果の積が演算され、即ち、式（２１）が演算され、その結果、調整量rit+1（s）が算出されることになる。
【０１４１】
以上、調整量rit+1（s）の算出手法の３つの例のうちの、２つ目の調整量rit+1（s）の算出手法について説明した。次に、３つ目の調整量rit+1（s）の算出手法について説明する。
【０１４２】
３つ目の調整量rit+1（s）の算出手法とは、２つ目の算出手法に基づく手法である。具体的には例えば、次のような手法である。
【０１４３】
即ち、２つ目の算出手法が採用された場合であって、推定関節位置Si(t+1)と別推定関節位置SAi(t+1)との姿勢の差として、図７の左右の２つの図に示されるような２つの形態が存在した場合を考える。かかる場合、図７から明らかなように両形態は差異があるにもかかわらず、２つ目の算出手法により算出された調整量rit+1（s）は両形態とも類似してしまうことになる。
【０１４４】
そこで、式（２１）の右辺については、上述した次の式（２２）乃至式（２４）の演算結果の代わりに、次の式（２５）乃至式（２７）の演算結果が代入される、という手法が３つ目の調整量rit+1（s）の算出手法である。
【０１４５】
【数２５】
2009015671.tif 000027
・・・（２５）
【数２６】
2009015671.tif 000028
・・・（２６）
【数２７】
2009015671.tif 000029
・・・（２７）
【０１４６】
ただし、式（２６）と式（２７）の行列ＴＧit+1は、次の式（２８）により演算される。
【０１４７】
【数２８】
2009015671.tif 000030
・・・（２８）
【０１４８】
即ち、図８の左側図に示されるように、最初に、図６における開始点Pt0に対して、一番近いPt1の相対距離に基づく調整量rit+1（s，Pt1）が、式（２５）によって演算される。其れゆえ、式（２５）は式（２２）と同一とされているのである。
【０１４９】
次に、図８の右側図に示されるように、開始点Pt0をあわせるように、推定関節位置Si(t+1)の中心軸が移動される。即ち、かかる移動に対応する演算が、式（２８）によって行われる。
【０１５０】
かかる移動後、即ち、式（２８）の演算後、開始点Pt0に対する点Pt2の相対距離に基づく調整量rit+1（s，Pt2）が式（２６）によって演算される。また、開始点Pt0に対する点Pt3の相対距離に基づく調整量rit+1（s，Pt3）が式（２７）によって演算される。
【０１５１】
そして、式（２５）乃至式（２７）の積が演算され、即ち式（２１）が演算され、その結果、調整量rit+1（s）が算出されることになる。
【０１５２】
以上、フィードバック部１３の処理の具体例について説明した。
【０１５３】
次に、別姿勢推定部１２に採用可能な姿勢の状態の推定手法の具体例について幾つか説明する。
【０１５４】
上述したように、ボディトラッキング部１１の前時刻のトラッキング予測結果（事後確率分布）を修正するために、別姿勢推定部１２の推定結果が用いられるので、ボディトラッキング部１１のトラッキング処理とは独立した推定結果を出力できる手法であれば足りる。
【０１５５】
ただし、ボディトラッキング部１１の前時刻のトラッキング予測結果の修正目的を考慮した手法が採用されると好適である。即ち、本発明の目的のひとつは、［発明が解決しようとする課題］の欄で上述したように、ボディトラッキング部１１のトラッキング結果について、従来に比較して、精度の向上、隠蔽の対処、ロバスト性の改善などを図ることである。よって、精度の向上が図りたい場合には、精度の向上を図ることが、ボディトラッキング部１１の前時刻のトラッキング予測結果の修正目的となる。同様に、隠蔽の対処を図りたい場合には、隠蔽の対処を図ることが、ボディトラッキング部１１の前時刻のトラッキング予測結果の修正目的となる。ロバスト性の改善を図りたい場合、ボディトラッキング部１１の前時刻のトラッキング予測結果の修正目的となる。
【０１５６】
具体的には例えば、上述したように、本実施の形態では、ボディトラッキング部１１は階層的トラッキング手法も採用しているので、推定された各関節点の関節位置Si(t+1){i=0,1,・・・,14}が分離してしまう可能性があるという弱点を有している。
【０１５７】
よって、かかる弱点をカバーすることを、ボディトラッキング部１１の前時刻のトラッキング予測結果の修正目的として採用してもよい。即ち、かかる弱点をカバーするために、ボディトラッキング部１１の前時刻のトラッキング予測結果を最適に修正できる推定手法を、別姿勢推定部１２に適用すればよい。かかる推定手法の一例が、関節拘束を用いた全体最適化手法であることは上述した通りである。
【０１５８】
関節拘束を用いた全体最適化手法とは、大別すると、図９に示されるように、ステップＳ２１乃至Ｓ２４からなる手法をいう。ここで、ステップＳ２２における「繋ぐべき関節の拘束条件」が、関節拘束を意味する。関節拘束とは、各パートは所定の関節点において他のパートと連続している」という条件をいう。また、「予測された運動で動かした姿勢」としては、例えば本実施の形態では、ボディトラッキング部１１のトラッキング結果を利用できる。より具体的には例えば、関節拘束を用いた全体最適化手法としては、本発明人らにより発明され、本出願人によって既に出願された特願２００７−００６６３３０号の願書に最初に添付した明細書等に開示された手法を採用するとよい。
【０１５９】
その他例えば、推定された各関節点の関節位置Si(t+1){i=0,1,・・・,14}が分離してしまう可能性があるという弱点をカバーすべく、別姿勢推定部１２は、図１０や図１１に示される手法を採用してもよい。
【０１６０】
図１０に示される手法、即ち主にステップＳ４１乃至Ｓ４４からなる手法とは、姿勢推定手法と称されている手法である。姿勢推定手法とは、画像のセグメンテーションによって、人間の各肢体を検出し、その連接性を拘束として，画像上の人間姿勢を検出する手法をいう。より詳細には、「Greg Mori, Xiaofeng Ren, Alexei A. Efros and Jitendra Malik. “Recovering Human Body Configurations: Combining Segmentation and Recognition”. In Proc. of CVPR, vol.2, pp.326-333, 2004.」を参照するとよい。
【０１６１】
また、図１１に示される手法とは、即ち主にステップＳ６１乃至Ｓ６４からなる手法とは、幾かの姿勢によるボディ肢体推定手法と称されている手法である。幾かの姿勢によるボディ肢体推定手法とは、幾つかの三次元ボディ姿勢から、いつも同じ変化を行っている部分を検出し、人間のボディ肢体を見つける手法をいう。かかる手法を採用することで、さらに、その連接するところ、即ち、関節点も同時に抽出することができる。より詳細には、「Dragomir Anguelov, Daphne Koller, Hoi-Cheung Pang, Praveen Srinivasan and Sebastian Thrun. “Recovering Articulated Object Models from 3D Range Data”. In Proceedings of the Twentieth Conference on Uncertainty in AI (UAI), pp.18-26, 2004.」を参照するとよい。
【０１６２】
ところで、上述した例では、ボディトラッキング部１１の姿勢・位置推定部３８は、式（１１）を演算することで、関節位置Si(t+1)を推定していた。しかしながら、関節位置Si(t+1)の推定手法は、式（１１）を用いた手法に限定されないことは上述した通りである。
【０１６３】
例えば、ボディトラッキング部１１は、図２に示されるように、姿勢・位置射影部３６、信頼性評価部３７、および姿勢・位置推定部３８を有しているので、図１２に示されるように、関節位置Si(t+1)を推定してもよい。
【０１６４】
即ち、姿勢・位置射影部３６は、各関節の仮説ｋの予測位置(x,y,z)kを２Ｄ画像(u,v,depth)kに射影する。すなわち、上述した各関節点について予測された各仮説をカメラキャリブレーションで得られた射影行列によって２次元画像に射影する。具体例として、例えば、図１２の（Ａ）に示す右腕の関節Ｓ7の各仮説の予測位置（x,y,z）に対して、図１２の（Ｂ）に示すように、それらの座標値を観測画像上に投影し、２次元画像上の投影位置・視差（u,v,depth）を求める。
【０１６５】
信頼性評価部３７は、各仮説による観測画像上の射影位置の画像情報と、予め保存されたモデル画像の画像情報との相似性を評価し、予測された各仮説の信頼性（確率）を計算する。ここで、モデル画像の画像情報として、初期化の時に保存された画像情報（例えば、あるウィンドウ内の画像テクスチャ、色分布、視差など）を用いることができる。また、相似性評価方法としては、例えば、それらの画像パターンを用いる正規化相関や、それらの画像パターンの色分布特性のマッチングを用いることができる。
【０１６６】
マッチング評価は、次のような一連の処理により行われる。即ち、階層的な動き予測手段によって予測された現時刻(t+1)の各関節点Ｓm(t+1,k)の仮説（m：関節点番号、k：仮説の番号）の３次元位置を、現時刻(t+1)の２次元画像平面に射影する際、仮説の動き予測パラメータ（R,T）を用いて、初期化の時に得られた画像領域に対応する３次元領域位置に回転(R）、移動(T）処理が行われる。そして、２次元モデル画像パターンが求められる。このモデル画像パターンと、仮説の射影位置の画像パターンとの相似性評価が行われ、マッチングスコアが計算されることにより、マッチング評価が行われる。
【０１６７】
姿勢・位置推定部３８は、相似性評価値（確率）による各関節Ｓmの位置・姿勢を推定する。つまり、姿勢・位置推定部３８は、各仮説の予測位置での確率を寄与度とした平均状態の統計処理によって、関節の位置・姿勢を決定する。具体的には例えば、姿勢・位置推定部３８は、図１２の（Ｂ）に示すように右腕の関節Ｓ7の各仮説の２次元画像上の射影位置を、信頼性評価部３７のマッチング処理により評価された信頼性（確率）に基づいて統計処理する。その結果、図１２の（Ｃ）に示すように右腕の関節Ｓ7の位置が推定される。
【０１６８】
以上のように、対象人物のキネマティクスモデルを用いて階層的に現時刻の関節位置を予測することによって、一般環境での対象人物２１の３次元空間の位置・姿勢をロバストに推定することができる。また、２台以上の複数カメラを用いることによって、対象人物２１のキネマティクスモデルを容易に生成することができるとともに、対象人物２１の位置・姿勢の推定精度を向上させることができる。また、背景差分や時間差分を用いていないため、環境変化にロバストである。また、マーカーを用いることなく、対象人物２１の位置・姿勢・動き追跡を行うことができるため、対象人物２１に負担を掛けることなく、自然なＨＭＩを実現することができる。
【０１６９】
ところで、上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで嗜好モデル（分離面）は、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１７０】
図１３は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。即ち、図１の楽曲推薦システムの全部または一部分、例えば幾つかの機能ブロックを、図７のように構成することもできる。
【０１７１】
図１３において、CPU（Central Processing Unit）２０１は、ROM（Read Only Memory）２０２、または記憶部２０８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）２０３には、CPU２０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU２０１、ROM２０２、およびRAM２０３は、バス２０４により相互に接続されている。
【０１７２】
CPU２０１にはまた、バス２０４を介して入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力取得部２０６、ディスプレイ、スピーカなどよりなる出力部２０７が接続されている。CPU２０１は、入力取得部２０６から入力される指令に対応して各種の処理を実行する。そして、CPU２０１は、処理の結果を出力部２０７に出力する。
【０１７３】
入出力インタフェース２０５に接続されている記憶部２０８は、例えばハードディスクからなり、CPU２０１が実行するプログラムや各種のデータを記憶する。通信部２０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１７４】
また、通信部２０９を介してプログラムを取得し、記憶部２０８に記憶してもよい。
【０１７５】
入出力インタフェース２０５に接続されているドライブ２１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部２０８に転送され、記憶される。
【０１７６】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１３に示されるように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１１、または、プログラムが一時的もしくは永続的に格納されるROM２０２や、記憶部２０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部２０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１７７】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７８】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明
の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１７９】
【図１】本発明を適用したボディトラッキングシステムの機能的構成例を示す機能ブロック図である。
【図２】図１のボディトラッキング部の詳細な機能的構成例を示す機能ブロック図である。
【図３】モーションキャプチャ処理の概要を説明する図である。
【図４】階層的トラッキング手法の概要を説明する図である。
【図５】図２の姿勢・位置予測部の予測処理の一例を説明するフローチャートである。
【図６】図１のフィードバック部の処理例の一部の概要を説明する図である。
【図７】図１のフィードバック部の処理例の一部の概要を説明する図である。
【図８】図１のフィードバック部の処理例の一部の概要を説明する図である。
【図９】図１の別姿勢推定部に適用可能な手法の一例であって、関節拘束を用いた全体最適化手法の概要を説明する図である。
【図１０】図１の別姿勢推定部に適用可能な手法の一例であって、姿勢推定手法の概要を説明する図である。
【図１１】図１の別姿勢推定部に適用可能な手法の一例であって、幾かの姿勢によるボディ肢体推定手法の概要を説明する図である。
【図１２】姿勢・位置射影部、信頼性評価部、および姿勢・位置推定部の処理の別の例を説明するための模式図である。
【図１３】本発明を適用したボディトラッキングシステムの少なくとも一部をパーソナルコンピュータで構成した場合の構成例を示すブロック図である。
【符号の説明】
【０１８０】
１１  ボディトラッキング部，  １２  別姿勢推定部，  １３  フィードバック部，  １４  観測部，  １５  別観測部，  ２１  対象人物，  ３２  カメラパラメータ取得部，  ３３  画像・距離情報観測部，  ３４  初期化部，  ３５  姿勢・位置予測部，  ３６  姿勢・位置射影部，  ３７  信頼性評価部，  ３８  姿勢・位置推定部，  ２０１  CPU，  ２０２  ROM，  ２０３  RAM，  ２０８  記憶部，  ２１１  リムーバブルメディア
【図１】
2009015671.tif 000031
【図２】
2009015671.tif 000032
【図３】
2009015671.tif 000033
【図４】
2009015671.tif 000034
【図５】
2009015671.tif 000035
【図６】
2009015671.tif 000036
【図７】
2009015671.tif 000037
【図８】
2009015671.tif 000038
【図９】
2009015671.tif 000039
【図１０】
2009015671.tif 000040
【図１１】
2009015671.tif 000041
【図１２】
2009015671.tif 000042
【図１３】
2009015671.tif 000043