(57)【要約】      （修正有）【課題】関節物体の表面形状や関節をつなぐリンクの長さや太さに影響されずに、効率的かつ安定な姿勢推定を行う姿勢推定装置を提供する。【解決手段】画像を撮影する撮像部１と、撮像部１で取得した画像からシルエットやエッジといった画像特徴を抽出する特徴ベクトル抽出部２と、前のフレームの推定結果及び姿勢辞書Ａの情報を用いて、現在のフレームでとりうる姿勢を予測する運動予測部３と、予測姿勢の情報及び画像特徴抽出部２からの画像特徴を用いて、姿勢辞書Ａの姿勢木構造の上位階層の２クラス識別面を利用して、画像特徴から推定される姿勢が各ノードに属している確率を計算する上位階層２クラス識別部４と、上位階層の結果と抽出された画像特徴を用いて、姿勢辞書Ａの姿勢木構造の下位階層の写像関数により姿勢を推定する下位階層回帰識別部５と、下位階層回帰識別部５の結果から姿勢情報を生成して出力する認識結果出力部６を備えている。【選択図】      図１
2008112211.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数の撮像装置で関節を有する関節物体を撮影した画像から前記関節物体の現在の姿勢情報を推定する姿勢推定装置において、
（１）予め取得しておいた前記関節物体の様々な姿勢に関する学習姿勢情報、（２）複数のノードの各々に複数の前記学習姿勢情報が属し、かつ、下位のノードに属する前記学習姿勢情報同士の類似度が上位のノードに属する前記学習姿勢情報同士の類似度よりも高くなるように前記複数のノード間が接続されている姿勢の木構造、（３）前記学習姿勢情報と、前記各学習姿勢情報を持つ様々なサイズ、表面形状の前記関節物体を仮想的に撮影して得られる学習画像特徴情報とから、前記学習姿勢情報が前記木構造の最下位層より上の上位階層の各ノードに属するか否かを識別するための２クラス識別関数、及び、（４）前記最下位層の各ノードに属する前記学習姿勢情報と前記学習画像特徴情報の対応関係を表す写像関数を格納している姿勢辞書と、
前記画像から前記関節物体の観測画像特徴情報を抽出する画像特徴抽出手段と、
前記関節物体の過去の姿勢推定情報を記憶する過去情報記憶手段と、
前記過去の姿勢推定情報と予め定められた運動モデルに基づいて現在の姿勢を予測する姿勢予測手段と、
前記予測した姿勢を用いて、前記現在の姿勢に対応する正解の姿勢を前記木構造の各階層の各ノードが含むかどうかの事前確率を計算するノード予測手段と、
前記上位階層において、前記各ノードの前記２クラス識別関数を用いて、前記観測画像特徴情報が前記各ノードに属する尤度を計算する２クラス識別手段と、
前記各ノードにおける予測確率と前記尤度から、前記上位階層の各ノードに前記正解の姿勢が含まれる確率を計算するノード確率計算手段と、
前記最下位層において、前記観測画像特徴情報を前記姿勢辞書に格納されている各ノードに関する前記写像関数に代入して関節角度情報を算出する姿勢推定手段と、
を備える姿勢推定装置。
【請求項２】
前記２クラス識別関数を学習するための２クラス識別関数学習手段を有し、
前記２クラス識別関数学習手段は、あるノードに含まれる学習姿勢情報について生成した様々なサイズ、表面形状の前記関節物体を仮想的に撮影することによって得られる学習画像特徴情報を正解とし、それ以外のノードに含まれる学習姿勢情報から生成した学習画像特徴情報を不正解とする正解データ組を用いて前記２クラス識別関数を学習する、
請求項１記載の姿勢推定装置。
【請求項３】
前記写像関数を学習するための写像関数学習手段を有し、
前記写像関数学習手段は、あるノードに含まれる学習姿勢情報と、前記各学習姿勢情報について生成した様々なサイズ、表面形状の関節物体を仮想的に撮影することによって得られる学習画像特徴情報を正解データ組として回帰分析により前記写像関数を学習する、
請求項１記載の姿勢推定装置。
【請求項４】
前記最下位層の各ノードに属する前記学習姿勢情報と前記学習画像特徴情報の複数の組は、前記写像関数を学習するために用いる正解データ組として用いられ、
前記正解データ組の中に前記学習画像特徴情報が類似しており、かつ、前記学習姿勢情報が大きく異なる組を含まないように、前記各ノードの前記学習姿勢情報及び前記学習画像特徴情報を構成する、
請求項３記載の画像処理装置。
【請求項５】
前記最下位層の各ノードに属する前記学習姿勢情報と前記学習画像特徴情報の複数の組は、前記写像関数を学習するために用いる正解データ組として用いられ、
前記正解データ組の前記学習姿勢情報と前記学習画像特徴情報の関係が線形関数近似できるように、前記各ノードの前記学習姿勢情報及び前記学習画像特徴情報を構成する、
請求項３記載の画像処理装置。
【請求項６】
前記各ノードにおける予測確率と、前記上位階層において前記各ノードに前記正解の姿勢が含まれる確率に基づいて、前記２クラス識別手段及び前記姿勢推定手段による計算を行うノードを決定する計算ノード削減手段を有する、
請求項１記載の姿勢推定装置。
【請求項７】
前記上位階層は、一つの階層、または、複数の階層から構成されている、
請求項１記載の姿勢推定装置。
【請求項８】
前記木構造は、
前記関節物体の姿勢同士の類似度が閾値よりも大きい姿勢の集合からなるノードによって構成され、
前記閾値は下の階層に行くほど値が大きく、同じ階層内では一定の値を持ち、
前記各階層の各ノードは前記上位階層のそれぞれノードのうち最も類似度が大きいノードに連結する、
請求項１記載の姿勢推定装置。
【請求項９】
前記姿勢情報が前記関節物体の各部位の関節角度である、
請求項１記載の姿勢推定装置。
【請求項１０】
１つまたは複数の撮像装置で関節を有する関節物体を撮影した画像から前記関節物体の現在の姿勢情報を推定する姿勢推定方法において、
（１）予め取得しておいた前記関節物体の様々な姿勢に関する学習姿勢情報、（２）複数のノードの各々に複数の前記学習姿勢情報が属し、かつ、下位のノードに属する前記学習姿勢情報同士の類似度が上位のノードに属する前記学習姿勢情報同士の類似度よりも高くなるように前記複数のノード間が接続されている姿勢の木構造、（３）前記学習姿勢情報と、前記各学習姿勢情報を持つ様々なサイズ、表面形状の前記関節物体を仮想的に撮影して得られる学習画像特徴情報とから、前記学習姿勢情報が前記木構造の最下位層より上の上位階層の各ノードに属するか否かを識別するための２クラス識別関数、及び、（４）前記最下位層の各ノードに属する前記学習姿勢情報と前記学習画像特徴情報の対応関係を表す写像関数を格納している姿勢辞書を有し、
前記画像から前記関節物体の観測画像特徴情報を抽出する画像特徴抽出ステップと、
前記関節物体の過去の姿勢推定情報を記憶する過去情報記憶ステップと、
前記過去の姿勢推定情報と予め定められた運動モデルに基づいて現在の姿勢を予測する姿勢予測ステップと、
前記予測した姿勢を用いて、前記現在の姿勢に対応する正解の姿勢を前記木構造の各階層の各ノードが含むかどうかの事前確率を計算するノード予測ステップと、
前記上位階層において、前記各ノードの前記２クラス識別関数を用いて、前記観測画像特徴情報が前記各ノードに属する尤度を計算する２クラス識別ステップと、
前記各ノードにおける予測確率と前記尤度から、前記上位階層の各ノードに前記正解の姿勢が含まれる確率を計算するノード確率計算ステップと、
前記最下位層において、前記観測画像特徴情報を前記姿勢辞書に格納されている各ノードに関する前記写像関数に代入して関節角度情報を算出する姿勢推定ステップと、
を有する姿勢推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラから得られる画像による非接触、かつ、マーカー等を必要としない人体などの関節物体の姿勢推定装置及びその方法に関する。
【背景技術】
【０００２】
特許文献１、２では、関節物体のシルエットを抽出し、観測されたシルエットと３次元モデルから得られる様々なシルエットを、遺伝的アルゴリズムを用いてマッチングすることにより、姿勢を推定している。このような、シルエットの直接マッチング法は、認識対象の間接物体と、装置内に予め持っている関節物体の形状モデルの表面形状や関節をつなぐリンクの長さや太さの違いにより、姿勢推定が安定に行えない場合がある。例えば、人体の姿勢推定の場合、着衣の違いや、身長や体重等の体型の違いによって、シルエットが変化するため、認識対象の人物と、装置内に予め持っている人体の３次元形状モデルが同じ姿勢をとっていても、それらのシルエットは異なり、正しく姿勢の認識を行うことができない。
【０００３】
非特許文献１は手の姿勢推定手法であり、画像から得られる特徴（エッジ）と、様々な姿勢の手の３次元モデルから得られる画像特徴（輪郭）とをマッチングして姿勢推定を行う際、予め作成しておいた木構造を用いて探索を行っている。しかし、ここで用いられている輪郭情報もシルエット情報と同様にリンクの長さや太さなどの違いに影響されやすい。
【特許文献１】特開２００１−５６８６１公報
【特許文献２】特許第２６２７４８３号公報
【非特許文献１】B. Stenger, A. Thayananthan, P. H. S. Torr, and R. Cipolla, 「Filtering Using a Tree-Based Estimator,」 In Proc. 9th IEEE International Conference on Computer Vision, Vol. II, pages 1063-1070, 2003.
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで本発明は、上記問題点を解決するためになされたものであって、認識対象の関節物体の表面形状や関節をつなぐリンクの長さや太さといった違いに影響されずに、効率的、かつ、安定な姿勢推定を可能とする姿勢推定装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、１つまたは複数の撮像装置で関節を有する関節物体を撮影した画像から前記関節物体の現在の姿勢情報を推定する姿勢推定装置において、（１）予め取得しておいた前記関節物体の様々な姿勢に関する学習姿勢情報、（２）複数のノードの各々に複数の前記学習姿勢情報が属し、かつ、下位のノードに属する前記学習姿勢情報同士の類似度が上位のノードに属する前記学習姿勢情報同士の類似度よりも高くなるように前記複数のノード間が接続されている姿勢の木構造、（３）前記学習姿勢情報と、前記各学習姿勢情報を持つ様々なサイズ、表面形状の前記関節物体を仮想的に撮影して得られる学習画像特徴情報とから、前記学習姿勢情報が前記木構造の最下位層より上の上位階層の各ノードに属するか否かを識別するための２クラス識別関数、及び、（４）前記最下位層の各ノードに属する前記学習姿勢情報と前記学習画像特徴情報の対応関係を表す写像関数を格納している姿勢辞書と、前記画像から前記関節物体の観測画像特徴情報を抽出する画像特徴抽出手段と、前記関節物体の過去の姿勢推定情報を記憶する過去情報記憶手段と、前記過去の姿勢推定情報と予め定められた運動モデルに基づいて現在の姿勢を予測する姿勢予測手段と、前記予測した姿勢を用いて、前記現在の姿勢に対応する正解の姿勢を前記木構造の各階層の各ノードが含むかどうかの事前確率を計算するノード予測手段と、前記上位階層において、前記各ノードの前記２クラス識別関数を用いて、前記観測画像特徴情報が前記各ノードに属する尤度を計算する２クラス識別手段と、前記各ノードにおける予測確率と前記尤度から、前記上位階層の各ノードに前記正解の姿勢が含まれる確率を計算するノード確率計算手段と、前記最下位層において、前記観測画像特徴情報を前記姿勢辞書に格納されている各ノードに関する前記写像関数に代入して関節角度情報を算出する姿勢推定手段と、を備える姿勢推定装置である。
【発明の効果】
【０００６】
本発明によれば、関節物体のリンクの長さや太さ、表面形状といった姿勢とは無関係の要素に影響を受けにくい。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の一実施形態の人体などの関節物体の姿勢推定装置について図１から図９に基づいて説明する。
【０００８】
（１）姿勢推定装置の構成
図１は、本実施形態に係わる姿勢推定装置を表すブロック図である。
【０００９】
姿勢推定装置は、姿勢推定を行う前に予め作成しておいた様々な姿勢に関する情報格納した姿勢辞書Ａを記憶している。姿勢辞書Ａには、姿勢の類似度に基づいて構成される姿勢木構造と、姿勢木構造の上位階層の各ノードについて２クラス識別を行うための識別関数である２クラス識別面と、姿勢木構造の下位階層については、関節物体が映った画像から抽出されるシルエットやエッジといった画像特徴をベクトルで記述した画像特徴ベクトルから姿勢情報への写像関数が格納されている。
【００１０】
また、姿勢推定装置は、画像を撮影する撮像部１と、撮像部１で取得した画像からシルエットやエッジといった画像特徴を抽出してベクトルで記述する特徴ベクトル抽出部２と、前のフレームの推定結果及び姿勢辞書Ａの情報を用いて、現在のフレームでとりうる姿勢を予測する運動予測部３と、予測姿勢の情報及び画像特徴抽出部２で抽出された画像特徴を用いて、姿勢辞書Ａに格納されている姿勢木構造の上位階層の２クラス識別面を利用して、画像特徴から推定される姿勢が各ノードに属している確率を計算する上位階層２クラス識別部４と、上位階層の結果と抽出された画像特徴を用いて、姿勢辞書Ａに格納されている姿勢木構造の下位階層の写像関数によって姿勢を推定する下位階層回帰識別部５と、下位階層回帰識別部５の結果から姿勢情報を生成して出力する認識結果出力部６を備えている。
【００１１】
なお、下位階層とは、木構造の最下位の階層（最下位層）を意味し、上位階層とは最下位層より上の各階層を意味する。
【００１２】
（２）辞書生成部７
図２は、姿勢辞書Ａの生成を行う辞書生成部７の構成を表すブロック図である。辞書生成部７における姿勢辞書Ａの作成方法について述べる。
【００１３】
（２−１）学習データ７Ａ
（２−１−１）姿勢情報７ＡＡ
姿勢情報７ＡＡは、関節物体の姿勢を一意に定めることができる関節物体の全ての関節の角度または３次元位置に関する情報である。関節物体の全てのリンクを親子関係で記述する。
【００１４】
例えば、関節物体が人体の場合、３次元シーンを親とし、その子供を腰のリンクとし、腰の子供を腹部リンクと左右の太股リンク、さらに腹部リンクの子供を胸部リンクというように記述する。
【００１５】
各リンクに関する姿勢は、その親リンクとの角度の差で表すことができる。つまり、あるリンクに固定された座標系とその親リンクに固定された座標系の間の変換は、３つの回転角ｒｘ，ｒｙ，ｒｚ（オイラー角）と平行移動で表現でき、通常リンクの長さは固定なので平行移動は一定なので、３つの回転角度だけであるリンクの親リンクに対する姿勢を決定することができる。
【００１６】
そこで、関節物体の関節がＮｂ個あるとすると、姿勢ａの姿勢情報は、Ｘａ＝｛ｒｘ１，ｒｙ１，ｒｚ１，ｒｘ２，・・・，ｒｚ（Ｎｂ）｝のように３×Ｎｂ次元のベクトルで表すことができる。オイラー角を用いる方法は、角度が３６０度を回り込んだ場合に同じ姿勢が３６０度の整数倍異なる無限個の値で記述できる問題がある。この場合にはよく知られているように４元数（quaternion）で関節角度を表せばよい。また、関節位置の３次元位置で姿勢を表すこともできる。このような姿勢を記述するベクトルを以下では「姿勢ベクトル」と呼ぶ。
【００１７】
姿勢情報７ＡＡとは、様々な姿勢の姿勢ベクトルの集合であり、様々な姿勢を取得する方法としては、汎用のモーションキャプチャシステムを用いて実際に関節物体を動かして取得する方法や、関節物体の関節の稼動範囲や、他の部位との衝突を考慮して自動的に生成する方法などがある。さらに、関節物体の関節の回転方向が制限されていたり、リンク間の運動に強い相関がある場合には、全ての姿勢ベクトルを主成分分析により次元圧縮し、この次元圧縮された姿勢ベクトルを用いることもできる。
【００１８】
（２−１−２）画像情報７ＡＢ
画像情報７ＡＢは、姿勢情報７ＡＡの各姿勢ベクトルで表される姿勢をもつ、様々な形状（リンクの長さ、太さ、表面形状など）の関節物体の画像である。
【００１９】
すなわち、同じ姿勢ベクトルに対して、異なる複数の画像が存在する場合もある。様々な表面形状や関節間のリンクの太さ、長さをもつ関節物体の３次元モデルを、姿勢ベクトルを用いて仮想空間内で様々な姿勢に変形させ、実空間内のカメラと同じカメラパラメータを持つ仮想空間内に配置されたカメラで、変形させた３次元モデルを仮想的に撮影することにより画像を生成することができる。
【００２０】
例えば、人体の場合には、様々な体型や様々な衣服の３次元人体モデルを、様々な姿勢に変形して仮想的に配置されたカメラで撮影、すなわち、画像平面に仮想的に投影する。投影された画像上の関節物体の大きさは全ての画像で等しくなるような投影を行うか、もしくは投影した画像を正規化しておく。このような関節物体の変形や画像への投影は、汎用のコンピュータグラフィック用ソフトウェアによって行うことができる。
【００２１】
また、別の方法として、汎用のモーションキャプチャシステム等を用いて実際に関節物体を動かして姿勢を取得する場合には、姿勢取得と同期させて画像を取得し、これらの画像を画像情報７ＡＢとして用いることもできる。
【００２２】
（２−２）画像特徴計算部７１
画像特徴計算部７１では、全ての画像情報７ＡＢについて、画像中の関節物体に関する特徴を記述する特徴ベクトルを計算する。
【００２３】
特徴ベクトルとしては、様々なものを用いることができるが、画像を小領域に分割し、その小領域のエッジ方向ヒストグラムを１次元に並べて正規化したベクトル（Navneet Dalal and Bill Triggs, ''Histograms of Oriented Gradients for Human Detection,'' Proc. of Computer Vision and Pattern Recognition, Vol. 2, pp.886-893, 2005）や、シルエット輪郭の極座標ヒストグラム（Shape Context）(Ankur Agarwal and Bill Triggs, ''Recovering 3D Human Pose from Monocular Images,'' IEEE Transactions on Pattern Analysis & Machine Intelligence, No. 1, Vol. 28, 2006)などを用いる。
【００２４】
（２−３）木構造生成部７２
木構造生成部７２では、木構造の下層ほどノードに属する姿勢間の差が小さくなるように姿勢の木構造を生成する。
【００２５】
姿勢ベクトルがオイラー角で表されている場合には、例えば２つの姿勢ベクトルＸａとＸｂの各要素の絶対値差分の最大値、すなわち関節角の各回転角度の絶対値差分の最大値と定義することができる。
【００２６】
姿勢ベクトルが、４元数で表されている場合には、４元数Ｘａ−１Ｘｂの回転成分の絶対値を用いることができる。
【００２７】
姿勢ベクトルが、３次元位置で表されている場合には、２つの姿勢ベクトルＸａとＸｂのユークリッド距離を姿勢の差として用いることができる。
【００２８】
次に木構造を生成する手順について述べる。
【００２９】
（２−３−１）最上位層生成ステップ
木構造の根にあたる最上位階層を現在の層とし、１つのノードを生成する。このノードには全ての姿勢ベクトルを登録する。
【００３０】
（２−３−２）下層移動ステップ
現在の層を一つ下の階層に移す。
【００３１】
（２−３−３）終了ステップ
現在の層が規定の最大階層数を超えていれば、木構造の生成を終了する。現在の層の上位層の全てのノード（親ノードと呼ぶ）について、以下を繰り返す。
【００３２】
（２−３−４）クラスタリングステップ
ある親ノードに登録されている姿勢（親姿勢と呼ぶ）を、k-meansアルゴリズム等のクラスタリング手法によりｋ個のクラスタに分類する。クラスタリングアルゴリズムには様々な手法を用いることができるが、最下位層のノードに関しては回帰分析により画像特徴ベクトルと姿勢ベクトル間の関係を写像関数によって近似するので、近似精度が十分高くなるようなクラスタリングを行う必要がある。これについては項目（２−５）の回帰分析部７４で詳細を述べる。
【００３３】
（２−３−５）クラスタ属性計算ステップ
クラスタに属する姿勢ベクトルの代表姿勢ベクトルと、属する姿勢の範囲を計算する。代表ベクトルとしてはクラスタに属する姿勢ベクトルの平均、姿勢の範囲として分散を用いることができる。姿勢ベクトルがオイラー角や４元数で表されている場合には、項目（２−３）で定義したような姿勢の差を用いて、他の姿勢ベクトルとの差の平均値が最も小さくなる姿勢ベクトルを代表姿勢ベクトルとする。範囲についても、項目（２−３）で定義したような姿勢の差を用いて差の２乗平均を分散の代わりに用いることができる。
【００３４】
（２−３−６）ノード生成ステップ
前記各クラスタについてノードを生成し、クラスタに属する姿勢をこのノードに登録する。また、生成したノードを親ノードに接続する。
【００３５】
（２−３−７）終了制御ステップ
全ての親ノードについて処理が終わっていなければ、次の親ノードを選択して、クラスタリングステップに戻る。終わっていれば、下層移動ステップに戻る。
【００３６】
（２−４）識別面学習部７３
最下位層より上位層のあるノードにおいて、任意の画像特徴ベクトルがそのノードに属するか否かを判断するための識別関数である識別面を、以下のように学習する。
【００３７】
そのノードに属する姿勢ベクトルから得られる特徴ベクトルに正解のラベルを与え、同じ階層に属するそれ以外のノードに属する姿勢ベクトルから得られる学習サンプルに不正解のラベルを与える。
【００３８】
これらの特徴ベクトルと正解、不正解のラベルの組を識別面を学習するための学習サンプルとする。得られた学習サンプルに、既存の２クラス識別手法を適用して識別面を学習する。識別手法としては、サポートベクターマシン、Relevance Vector Machie（Tipping, M. E. ''Sparse Bayesian learning and the relevance vector machine,'' Journal of Machine Learning Research 1, 211_244, 2001）、直交部分空間法等様々な手法を用いることができる。
【００３９】
（２−５）回帰分析部７４
最下位層のノードに関しては、回帰分析によりそのノードに属する姿勢ベクトルと画像特徴ベクトル間の関係を写像関数によって近似する。つまり、回帰分析では、従属変数（目的変数）である姿勢ベクトルと独立変数（説明変数）である画像特徴ベクトルを組とする学習サンプルを用いる。回帰分析の手法としては、既存の手法を用いることができる。姿勢ベクトルと画像特徴ベクトルの関係は複雑でその関係は未知であるが、サポートベクトル回帰や、Relevance Vector回帰（Tipping, M. E. ''Sparse Bayesian learning and the relevance vector machine,'' Journal of Machine Learning Research 1, 211_244, 2001）を用いて写像関数を求めることができる。
【００４０】
木構造生成部７２において、最下位層のクラスタリングを行うとき、求めた写像関数による近似精度が十分高くなるようなクラスタリングを行う必要がある。そのためには近似精度が十分高くなるまで細かく分割を行う。また、クラスタ内に画像特徴ベクトルがほぼ同じで、姿勢ベクトルが大きく異なるような学習サンプルが存在すると、写像関数の出力値である姿勢ベクトルは学習サンプルの姿勢ベクトルの中間的な値を出力し、正しい推定が行えない。そこで、そのような学習サンプルが同一クラスタに存在しなくなるまで細かく分割を行う。
【００４１】
さらに、分割を行った後には、周辺の複数のクラスタを併合しても十分高い精度で近似が行えるか検査し、近似精度が高ければ併合することにより効率的な分割となる。ただし併合したクラスタ内に画像特徴ベクトルがほぼ同じで、姿勢ベクトルが大きく異なるような学習サンプルが存在しないように併合を行う。認識時の計算の負荷を考慮して、写像関数を線形関数とすることもできる。この場合も、近似精度が十分高くなるまで分割、併合を行う。
【００４２】
（３）姿勢辞書Ａのデータ構造
木構造の各ノードにはアドレスが割り振られており、各ノードには、そのノードの代表姿勢ベクトルと姿勢範囲、上位階層、下位階層の接続されているノード（それぞれ親ノード、子ノードと呼ぶ）のアドレス、最下位層以外の上位階層のノードには識別面、最下位層のノードには写像関数が格納される。姿勢辞書Ａは、全てのノードに関するこれらのデータの集合である。
【００４３】
（４）姿勢推定方法
姿勢辞書Ａを用いて、カメラから得られた関節物体の画像から姿勢推定を行う方法について述べる。
【００４４】
（４−１）撮像部１
図１の撮像部１は、１台のカメラから構成され、関節物体の映像を撮影して、画像特徴抽出部２に送信する。
【００４５】
（４−２）画像特徴抽出部２
画像特徴抽出部２は、画像特徴計算部７１と同様に、撮像部１から得られた画像について、画像特徴ベクトルを計算する。
【００４６】
（４−３）運動予測部３
運動予測部３は、１フレーム前の姿勢推定結果から運動モデルを用いて現在のフレームの姿勢を予測する。
【００４７】
姿勢予測は、確率密度分布の形で表すことができ、１フレーム前の姿勢（関節角度）Ｘｔ−１が、現在のフレームで姿勢Ｘｔとなる状態遷移確率密度はｐ（Ｘｔ｜Ｘｔ−１）と書くことができる。運動モデルを決めることはこの確率密度分布を決定することに相当する。最も単純な運動モデルは、前のフレームの姿勢を平均値と予め定めておいた一定の分散協分散行列をもつ正規分布である。
【数１】
2008112211.tif 000003
【００４８】
ここで、Ｎ（）は正規分布を表す。すなわち、運動モデルは予測する姿勢の代表値を決定するパラメータと、前記予測する姿勢としてとりうる範囲を決定することに関係するパラメータを有している。数１の場合、代表値を決定するパラメータは、Ｘｔ−１の係数である定数１である。前記予測する姿勢としてとりうる範囲を決定することに関係するパラメータは、共分散行列分散Σである。
【００４９】
他にも、平均値を前のフレームの速度を一定として線形予測する方法や、加速度一定として予測する方法が考えられる。
【００５０】
（４−４）上位階層２クラス識別部４
上位階層２クラス識別部４は、運動予測部３による姿勢の予測結果と、画像特徴抽出部２によって抽出された画像特徴ベクトルを用いて、姿勢辞書Ａに格納されている木構造の最下位層以外の階層に属するノードについて木構造を参照しながら現在の姿勢を推定する。
【００５１】
図４は、上位階層２クラス識別部４の構成を示している。
【００５２】
（４−４−１）計算ノード削減部４１
計算ノード削減部４１では、まず運動予測部３の姿勢予測と前のフレームの推定結果を用いて、各ノードの代表姿勢ベクトルが現在のフレームの姿勢ベクトルとなる事前確率を求める。この事前確率が十分小さければ、以下の計算を行わないよう設定する。さらに、一つ上の階層において現在フレームの姿勢推定結果の確率（姿勢推定部４３において計算される）が得られている場合には、この確率が十分小さいノードに接続されている現在の階層のノードに関して、以下の計算を行わないよう設定する。
【００５３】
（４−４−２）識別部４２
識別部４２では、計算ノード削減部４１で計算を行うと決定されたノードについて、画像特徴抽出部２で計算された画像特徴ベクトルを用いて、姿勢辞書Ａに格納されている２クラス識別面を用いて２クラス識別を行う。識別面学習部７３で用いた学習手法に対応する識別手法を用いる。
【００５４】
認識対象人物の３次元空間内の平行移動を認識するため、前のフレームの画像上の推定位置及びスケール近傍の様々な位置及びスケールに対して識別を行う。画像上の位置の移動は、画像平面に平行な方向の３次元空間内の移動、スケールの変化は、光軸方向の平行移動に対応している。
【００５５】
Relevance Vector Machineのように、観測された画像特徴ベクトルがノードに属する確率を計算できる手法では、この確率を尤度（現在の姿勢があるノードに属すると仮定した場合のカメラから得られる観測の最もらしさ）として用いる。そうでない手法では、識別面からの距離に対して予め尤度関数を設定し、観測された画像特徴ベクトルの２クラス識別面からの距離をこの尤度関数に代入して尤度を求める。
【００５６】
（４−４−３）姿勢推定部４３
姿勢推定部４３では、まず各ノードの事前確率と尤度からベイズ推定によって、現在の画像特徴が各ノードの代表画像特徴である確率が求められる。この確率の分布が現在の階層の推定結果となる。
【００５７】
（４−４−４）階層更新部４４
最後に、階層更新部４４では、現在の階層が最下位層に達していなければ一つ下の階層に処理を移し、最下位層に達していれば姿勢推定を終了する。
【００５８】
（４−５）下位階層回帰認識部５
下位階層回帰認識部５は、姿勢辞書Ａに格納されている木構造の最下位層に属するノードについて、画像特徴抽出部２によって抽出された画像特徴ベクトルとノードに格納されている写像関数を用いて、現在の姿勢を推定する。運動予測部３による姿勢の予測結果も用いて、時間的な姿勢の連続性も考慮する。
【００５９】
図５は、下位階層回帰識別部５の構成を示している
（４−５−１）ノード削減部５１
ノード削減部５１は、上位階層２クラス識別部４のノード削減部４１と同様である。
【００６０】
（４−５−２）写像関数計算部５２
写像関数計算部５２では、計算ノード削減部５１で計算を行うと決定されたノードについて、画像特徴抽出部２で計算された画像特徴ベクトルを用いて、姿勢辞書Ａに格納されている写像関数を用いて姿勢を計算する。回帰分析部７４で用いた回帰分析手法に対応する認識手法を用いる。
【００６１】
Relevance Vector Machineのように、観測された画像特徴ベクトルから写像関数によって計算した推定姿勢が現在の姿勢である確率が計算できる場合には、この確率を尤度として用いる。
【００６２】
（４−５−３）姿勢推定部５３
姿勢推定部５３では、まずノードの事前確率と尤度からベイズ推定によって、現在の画像特徴から計算された姿勢が現在の姿勢である確率が求められる。この確率の分布が現在の階層の推定結果となる。
【００６３】
（４−６）推定結果出力部６
最下位層の推定結果である確率が最も高い関節角度に関する姿勢ベクトルを現在の推定値として出力する。
【００６４】
以上のように本実施形態の姿勢推定装置を構成することにより、人体の姿勢推定を効率的かつ安定に行うことが可能となる。
【００６５】
（５）変更例
本発明は上記各実施形態に限らず、その主旨を逸脱しない限り種々に変更することができる。
【００６６】
カメラの台数は、１台に限られるものではなく、複数台のカメラを用いてもよい。
【００６７】
この場合、撮像部１は複数のカメラで構成される。それにともなって、画像特徴抽出部２は、各カメラ画像に対して処理を行う。画像情報７ＡＢも複数のカメラに対する画像から構成される。画像特徴ベクトルは、それぞれのカメラで計算した画像特徴ベクトルをつなげたベクトルとする。
【００６８】
（６）効果
本実施形態によれば、まず、姿勢の木構造の上位階層を構成する各ノードにおいて、いろいろな大きさ、長さ、表面形状についての学習データを用いてそのノードに属するか否かを判別する２クラス識別面を学習する。この２クラス識別面を用いて観測された画像特徴を識別することにより、関節物体の形状の変化に影響を受けにくい認識を行うことができる。また、過去の姿勢推定結果と運動モデルを用いて現在の姿勢を予測し、予測と大きく異なるノードについては識別を行わないことで、計算の削減と推定の時間的安定化を行うことができる。
【００６９】
木構造の下位階層において、細かい姿勢を認識するためには、姿勢を細かく分割して、多数のノードで２クラス識別を行わなければならず、計算量が大きくなる。そこで、本実施形態では下位階層の各ノードに属する姿勢が十分局所的となるようにノードを構成し、各ノードに属する姿勢とその画像特徴を用いて、画像特徴情報から姿勢情報への写像関数を学習する。この写像関数に撮像部から得られた観測画像特徴を代入することにより、直接姿勢推定を行うことにより、効率的な姿勢推定を行うことができる。この写像関数の学習においても、各ノードにおいて、いろいろな大きさ、長さ、表面形状についての学習データを用いることにより、これらの変化に影響を受けにくい写像関数を学習する。
【００７０】
写像関数の学習を、姿勢の空間全体について行うことは、ほとんど同じ画像特徴に対して複数の姿勢が対応するといった問題もあり困難であるが、本実施形態では、木構造の下位階層の１つのノードに属する姿勢は、姿勢が異なるのに画像特徴が類似していることがないよう、十分細かく分割するため、精度の高い写像関数を得ることができる。
【００７１】
写像関数を用いて姿勢推定を行う下位階層においても、上位階層と同様に過去の姿勢推定結果と運動モデルを用いて現在の姿勢を予測し、予測と大きく異なるノードについては識別を行わないことで、計算の削減と推定の時間的安定化を行う。
【００７２】
このような構成により、関節物体のリンクの長さや太さ、表面形状といった姿勢とは無関係の要素に影響を受けにくい、人体の姿勢推定装置を実現することが可能となる。
【図面の簡単な説明】
【００７３】
【図１】本発明の一実施形態に係わる画像による人体の姿勢推定装置の構成を示すブロック図である。
【図２】辞書生成部の構成を表すブロック図である。
【図３】姿勢辞書Ａに登録されるデータの格納方法に関する説明図である。
【図４】上位階層２クラス識別部の構成を示すブロック図である。
【図５】下位階層回帰認識部の構成を示すブロック図である。
【符号の説明】
【００７４】
１    撮像部
２    画像特徴抽出部
３    姿勢予測部
４    上位階層２クラス識別部
５    下位階層回帰認識部
６    姿勢辞書生成部
Ａ    姿勢辞書
【図１】
2008112211.tif 000004
【図２】
2008112211.tif 000005
【図３】
2008112211.tif 000006
【図４】
2008112211.tif 000007
【図５】
2008112211.tif 000008