(57)【要約】【課題】対象物の位置と姿勢を精度良く算出すること。【解決手段】画像入力部１０１では、姿勢を推定する対象物が写った画像を入力する。部分領域識別部１０２では、対象物の部分領域を識別する。姿勢推定部１０３では、部分領域の識別結果を集計し、既知の姿勢クラスへ分類することで、対象物の姿勢を推定する。部分領域選択部１０４では、推定した姿勢に関係のある部分領域を、入力画像の部分領域識別結果から選択する。部分領域には予め、対象物の代表位置と部分領域の識別結果位置の位置関係が記録されている。代表位置算出部１０５では、選択した部分領域の代表位置を示す情報を利用して、入力画像における対象物の代表位置を算出する。位置姿勢決定部１０６では、算出した代表位置に、推定した姿勢の位置を合わせることで、対象物の位置と姿勢を算出する。【選択図】図１
2017097578.tif 000002
【特許請求の範囲】
【請求項１】
対象物のそれぞれ異なる部分領域を識別する部分領域識別部と、
部分領域の識別結果を統合して、前記対象物の姿勢を推定する姿勢推定部と、
推定した姿勢に基づいて前記部分領域の識別結果を選択する部分領域選択部と、
選択した部分領域に関連づけられた代表位置を示す情報から、対象物の代表位置を算出する代表位置算出部と、
前記代表位置と前記推定した姿勢から、前記対象物の位置・姿勢を算出する位置姿勢決定部を
備えることを特徴とする情報処理装置。
【請求項２】
前記姿勢推定部の姿勢推定方法は、前記対象物の領域における部分領域の識別結果の出現頻度を元に姿勢を推定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記部分領域選択部では、前記姿勢推定部で推定した姿勢に基づいて部分領域選択基準を決定し、前記部分領域選択基準に基づいて、前記部分領域の識別結果を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記部分領域識別部に、前記部分領域が識別されたときの対象物姿勢の確率が関連づけられているとともに、前記対象物姿勢の代表位置を示す情報が関連づけられており、前記部分領域選択部では、前記姿勢推定部で推定した姿勢に基づいて、前記部分領域の識別結果及び代表位置を示す情報を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記姿勢推定部は、可能性の高い複数の姿勢を姿勢推定結果として出力し、前記部分領域選択部では、前記複数の姿勢に基づいて部分領域の識別結果を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記姿勢推定部が出力する前記複数の姿勢は、姿勢間の類似度を示す所定の基準において、似た姿勢と判断した姿勢であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記対象物が人体であって、前記姿勢は人体の関節位置の相対的位置関係で記述され、前記位置姿勢決定部では、前記関節位置の相対的位置関係を保持したまま前記関節位置を並進・回転することで、前記代表位置の座標に合わせることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
対象物のそれぞれ異なる部分領域を識別する部分領域識別工程と、
部分領域の識別結果を統合して、前記対象物の姿勢を推定する姿勢推定工程と、
推定した姿勢に基づいて前記部分領域の識別結果を選択する部分領域選択工程と、
選択した部分領域に関連づけられた代表位置を示す情報から、対象物の代表位置を算出する代表位置算出工程と、
前記代表位置と前記推定した姿勢から、前記対象物の位置・姿勢を算出する位置姿勢決定工程を
備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の対象物の姿勢と位置を算出する情報処理装置に関する。
【背景技術】
【０００２】
画像中の人体の姿勢を推定する方法として、予め各姿勢の部分領域の画像情報を学習しておき、姿勢推定時には、入力画像の人体領域に対して部分領域を識別し、その結果を統合して全体の人体姿勢を推定する方法がある。
【０００３】
特許文献１では、まず、様々な姿勢の人体が写った学習画像を準備し、それぞれの学習画像の人体領域について、部分的な特徴（シェイプコンテキスト）を学習する。そして、姿勢推定時には入力画像の人体領域に対して部分的な特徴を算出し、特徴の集合から学習画像のどの姿勢に最も一致するかを判別している。学習画像の各姿勢には、予めそれぞれの姿勢の関節位置に関する情報が記録されており、推定した姿勢の関節位置関係（各関節の相対位置関係）情報が出力される。特許文献１では、以上の処理により、画像中の人体の関節位置関係が算出されるが、画像中あるいは実空間中（絶対座標系・ワールド座標系）で、推定した関節位置がどの位置に存在するかについては明らかになっていない。
【０００４】
従って、特許文献１では、後処理として、推定した関節位置関係を入力画像に合わせ込むフィッティング処理を、上記の姿勢推定処理後に実施している。特許文献１でのフィッティング処理は、２次元画像において、特徴の取得位置を利用したモーフィング法により、関節座標を入力画像へ合わせ込む変換行列を求める方法が実施されている。具体的には、推定した姿勢の学習画像の特徴位置と入力画像の特徴位置の変換行列を計算し、関節位置座標へ適用することで、フィッティング処理を行っている。この後処理により、入力画像における関節位置を決定するとともに、推定した姿勢と画像中人体の微少な誤差を修正している。なお、微少な誤差とは、推定姿勢の結果として出力する姿勢が、既知の離散化した姿勢（学習姿勢）から選択されるため、実際の入力画像姿勢とは一致しないことにより生じる誤差である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１７６３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１におけるフィッティング処理では、入力画像において正しい位置で特徴を取得することが前提となっている。しかし、入力画像中で全ての特徴の位置を正しく求めることは困難である。特に、特許文献１の実施形態では、特徴点は人体領域輪郭上の粗な離散点であるため、１つでも特徴取得位置が大きくずれると、フィッティング処理にも大きな影響を及ぼしてしまう。
【０００７】
フィッティング処理の他の形態として、既知のモデル（人体の場合、多関節モデル）を入力画像の人体領域に適合するようにモデルを移動・変形させる手法がある。特に距離画像から人体姿勢を推定する場合には、距離画像情報から生成した３次元点群データに対して、既知の多関節モデルを最適配置する手法（例えばICP ; Iterative Closest Pointを多関節モデルに適用した方法など）がある。ただし、これらの方法では、モデルの初期位置が別途必要となる。人体を対象とした場合、モデル初期位置は人体姿勢（関節位置関係）と、その姿勢の３次元空間中での位置で表される。さらに、モデルの初期位置によりフィッティングの性能が大きく変化するため、モデル初期位置を精度良く算出することが重要となる。
【０００８】
しかし、特許文献１では、姿勢推定の後、適切な初期位置を求める方法について開示されていない。
【０００９】
そこで、本発明は、部分領域の識別結果を統合して対象物の姿勢を推定する姿勢推定処理において、推定した姿勢が位置する場所を精度良く求めることを目的とする。特に、姿勢を推定する時に利用した部分領域の識別結果と、推定した姿勢の結果を有効に利用することにより対象物の位置を算出し、位置と姿勢を精度良く求めることを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明に係る情報処理装置は、
対象物のそれぞれ異なる部分領域を識別する部分領域識別部と、部分領域の識別結果を統合して、前記対象物の姿勢を推定する姿勢推定部と、推定した姿勢に基づいて前記部分領域の識別結果を選択する部分領域選択部と、選択した部分領域に関連づけられた代表位置を示す情報から、対象物の代表位置を算出する代表位置算出部と、前記代表位置と前記推定した姿勢から、前記対象物の位置・姿勢を算出する位置姿勢決定部を備えることを特徴とする。
【発明の効果】
【００１１】
本発明に係る情報処理装置によれば、対象物の位置と姿勢を精度良く推定することができるようになる。
【図面の簡単な説明】
【００１２】
【図１】本発明の情報処理装置の構成を示す図である。
【図２】本発明の情報処理装置の処理フローを示す図である。
【図３】実施例１における記録部に予め記録しておく情報（学習結果）について説明する図である。
【図４】実施例１における部分領域識別部と姿勢推定部の処理を説明する図である。
【図５】部分領域選択部と代表位置算出部の処理を説明する図である。
【図６】実施例１における部分領域選択部の処理フローを示す図である。
【図７】位置姿勢決定部の処理を説明する図である。
【図８】実施例２における記録部に予め記録しておく情報（学習結果）について説明する図である。
【図９】実施例２における部分領域識別部と姿勢推定部の処理を説明する図である。
【図１０】実施例２における部分領域選択部の処理フローを示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を利用して、本発明の実施形態について説明を行う。
【実施例１】
【００１４】
以下の実施例では対象物を人体とし、画像中の人体の姿勢と位置を推定する実施形態について説明する。なお、本実施例における人体の姿勢とは、人体の各関節の角度（人体の各部位の相対的位置関係）のみならず、人体のカメラに対する向き・角度を含むものとする。すなわち、同じ関節位置関係の人体を異なる方向から撮影した場合には、それぞれの画像中の人体は異なる姿勢とする。
【００１５】
＜全体構成＞
図１は本発明の情報処理装置１００の構成を説明する図である。また、図２は本発明の基本的な処理フローを説明する図である。
【００１６】
本発明の情報処理装置１００は、ネットワークまたは各種記録媒体を介して取得したソフトウェア（プログラム）を、ＣＰＵ、メモリ、ストレージデバイス、入出力装置、バス、表示装置などにより構成される計算機にて実行することで実現できる。また、不図示の計算機については、汎用の計算機を用いても良いし、本発明のソフトウェアに最適に設計されたハードウェアを用いても良い。
【００１７】
まず、図１及び図２を用いて、本発明の基本的な処理を説明する。詳細な処理については、それぞれ後述する。
【００１８】
図１の画像入力部１０１は、処理対象とする画像を入力する部分で、図２のステップＳ２０１とＳ２０２を実行する。本実施例では、入力画像は距離画像である。距離画像は、画像中の各画素に奥行き方向の距離情報が所定のスケーリングで記録された画像であり、照射した光の到達時間を基に距離を計算する方式や、パターン光を投影して、パターンの変形から距離を計算する方法などにより取得することができる。画像入力部１０１は、これらの方法により距離画像を撮影するカメラ装置から距離画像を取得する。また、予め撮影した距離画像を保存した記録装置から、処理対象とする距離画像を画像入力部１０１に順次入力するようにしても良い。後述する学習画像と区別するために、以下では、人体の姿勢と位置を推定するために、情報処理装置１００に入力した距離画像を入力画像と呼ぶ。また、画像入力部１０１は、入力画像から人体領域を抽出する処理も行う。
【００１９】
部分領域識別部１０２では、予め人体の部分画像を学習した部分領域識別器を用いて、入力画像の人体領域の各部分が、学習した部分領域のいずれに該当するかを識別する（ステップＳ２０３）。
【００２０】
姿勢推定部１０３では、部分領域の識別結果を統合して、入力画像の人体が既知の姿勢のいずれに最も近いかを判定する（ステップＳ２０４）。部分領域選択部１０４では、部分領域識別部１０２で識別した部分領域の識別結果（ステップＳ２０３の結果）から、姿勢推定部１０３で判定した姿勢に基づいて、代表位置を算出するために利用する部分領域の識別結果を選択する（ステップＳ２０５）。代表位置算出部１０５では、選択した部分領域に関連づけられた情報を元に、人体の代表位置を算出する（ステップＳ２０６）。位置姿勢決定部１０６では、求めた代表位置に人体姿勢（関節位置関係）の情報を並進・回転することで位置合わせを行い（ステップＳ２０７）、人体の位置姿勢推定結果として出力する（ステップＳ２０８）。記録部１０７には、予め学習した情報が格納されており、必要に応じて呼び出される。
【００２１】
なお、本実施例では、代表位置算出部１０５で求める人体の代表位置を、人体の中心位置、より具体的には腰関節位置とする。人体の代表位置は、これに限定されることなく、例えば、頭部位置を代表位置として求めても良い。
【００２２】
＜準備＞
以上、人体の位置姿勢推定時の処理の概要について説明したが、これらの処理を行うためには、予め多数の人体距離画像から必要な情報を学習し、記録部１０７に情報を格納しておく必要がある。以下では図３を用いて、実施例１における学習と、記録部１０７に格納しておく情報について説明する。
【００２３】
図３の３０１、３０１、３０ｍは、ｍ枚の人体が写った距離画像である。以下では、学習に用いるこれらの距離画像を学習画像と呼ぶ。学習を行いやすくするため、学習画像中の人体は、画像中央に所定の大きさで写っているものとする。また、学習画像には、それぞれの姿勢に応じて、人体の主要部位を示す座標が付与されている。図３では、学習画像３０１〜３０ｍに主要部位と主要部位を接続する線を重畳表示しているが、実際は、距離画像と主要部位座標の情報はそれぞれ個別に保存されている。例えば、距離画像は画像フォーマットで保存され、主要部位の座標はテキストデータ等で保存されている。主要部位座標は、例えば、人体の主要な関節の位置など、人体の姿勢変化を示す人体部位の情報である。実施例１での主要部位は、図３の３０１〜３０ｍ上に示した丸印のように、四肢の関節位置や頭部位置を含む位置情報であり、以下ではまとめて関節位置と呼ぶ。
【００２４】
なお、実施例１では、人体代表位置を腰関節位置としているため、後述の位置姿勢決定部１０６では、各姿勢の腰関節位置が必要となる。従って、関節位置には腰の関節位置を含むものとする。また、関節位置の座標は、距離画像を撮影したカメラ位置を原点とした３次元座標系（カメラ座標系）で記述されているとする。
【００２５】
記録部１０７には、学習画像から学習した情報として、部分領域情報３１１と姿勢情報３２１を格納する。以下では、それぞれの情報の学習について説明する。
【００２６】
まず、学習画像を用いて、部分領域情報３１１を学習する処理について説明する。部分領域情報３１１は、各部分領域ｓ１〜ｓｎについて、部分領域識別器３１２と、部分領域から人体代表位置へのベクトル（以下、代表位置ベクトル）３１３から構成される。図３では、代表位置ベクトル３１３について、各部分領域識別器に対応した記号ｖｓ１、ｖｓ２〜ｖｓｎを付与している。部分領域識別器は、全ての学習画像について、似た部分姿勢の画像群を収集し、各部分姿勢の画像群を学習することにより準備する。このような部分領域識別器の学習は、例えば非特許文献１を参考に実施することができる。
【００２７】
［非特許文献１］
Lubomir Bourdev and Jitendra Malik,“Poselets: Body Part Detectors Trained Using 3D Human Pose Annotations,” IEEE International Conference on Computer Vision, 2009年
非特許文献１では、２次元の人体画像に対して、各関節位置を示す座標情報を与え、似た関節位置関係を持つ人体部分画像を収集する。収集した人体部分画像のHOG特徴をSVMで学習し、様々な姿勢の部分領域識別器を作成している。本発明の部分領域識別器も非特許文献１と同様に作成すればよい。具体的には、各学習画像に付随する関節位置の情報を元に、部分的に似た姿勢の距離画像を切り出すとともに収集する。そして、収集した部分距離画像を、それぞれ適当な画像特徴と識別器で学習する。画像特徴と識別器の例としては、非特許文献１に習い、距離画像から作成したHOG特徴やSVMを利用することができる。特徴量と識別器は、これに限定することなく、他の公知の学習・識別方法を用いても良い。学習の結果、図３の３１２のような部分領域識別器が、部分領域ｓ１〜ｓｎについて得られる。図３では、図示のため、部分領域識別器を人体の部分画像で示しているが、実際には、部分領域識別器は画像特徴と識別器から構成される。
【００２８】
部分領域識別器の形態は、部分の姿勢を識別できれば、他の形態でも良い。部分領域の識別は、多クラスの識別となるため、多クラス識別に適した決定木などの方法が好適である。他にも、多クラスの部分領域クラス識別を実施する方法としては、近似的な最近傍探索手法（例えば、ハッシュを用いる方法）なども好適である。
【００２９】
また、部分領域の学習時には、各部分領域から代表位置ベクトル３１３も学習する。前述したように、本実施例では人体代表位置を腰の関節位置であるとして、学習画像に付随した関節位置情報には腰の関節位置が含まれている。図３では、各部分領域ｓ１〜ｓｎについて、各部分領域の出現位置から腰関節位置へのベクトルｖｓ１〜ｖｓｎが合わせて学習されている様子を示している。ここで、ベクトルｖの始点（黒丸）は、部分領域の中心位置を示しており、終点（白丸）は腰関節位置を示している。また、ベクトルｖは３次元ベクトルで表されているものとする。すなわち、ベクトルｖの始点は、部分領域の中心位置の距離画像値から算出される３次元空間での位置で、ベクトルｖの終点は腰関節位置の３次元位置を示す。
【００３０】
各部分領域に関連づけられる代表位置ベクトルｖは、各部分領域識別器を学習した時に利用した部分姿勢が似た距離画像群を用いて求める。具体的には以下の手順により代表位置ベクトルを求める。まず、ある部分領域の学習に用いた部分領域画像群について、各部分領域画像の中心位置を求める。中心位置は、カメラ座標系の３次元位置として算出する。次に、各部分領域画像について、中心位置を原点として、腰の関節位置方向へのベクトルを算出する。これらの各部分領域画像のベクトルの平均ベクトルを、ある部分領域の代表位置ベクトルとする。代表位置ベクトルの求め方は、平均に限らず、中央値を求める方法や、mean shiftにより極値を求める方法などで算出しても良い。また、ベクトルの分布のピークが複数となる場合には、ひとつの部分領域識別器に複数の代表位置ベクトルを関連づけても良い。
【００３１】
以上のように、部分領域（部分姿勢）ｓ１〜ｓｎについて、部分領域識別器３１２と、各部分領域が示す代表位置の情報（代表位置ベクトル）ｖｓ１〜ｖｓｎを合わせて部分領域情報３１１として記録部１０７に格納する。
【００３２】
次に、予め記録部１０７に格納する別の情報として、姿勢情報３２１について説明する。
【００３３】
図３には、人体の姿勢ｐ１〜ｐｍについて、各姿勢における各関節座標（関節位置関係）３２２が格納されている様子を示している。本実施例では、記録部１０７に記録する姿勢数、すなわち推定する姿勢数を、学習画像の姿勢数ｍと同じとしている。従って、各姿勢の関節位置関係３２２は、学習画像３０１〜３０ｍそれぞれに付随した関節位置関係を保存することで得られる。前述したように、学習画像に付随した関節位置関係の座標は、カメラ座標系で保存されている。記録部１０７に格納する関節位置関係３２２は、図８では図示して示しているが、実際にはカメラ座標系での各関節位置座標を保存する。なお、推定する姿勢数（記録部１０７に格納する姿勢数）ｍは、学習画像のうち、似た姿勢を削除するなどして減少させても良い。あるいは、学習画像は、似た姿勢の画像を削除して準備しても良い。なお、姿勢推定部では、入力画像の人体が姿勢ｐ１〜ｐｍのいずれに最も似ているかを推定する。以下、特に姿勢推定の説明で、姿勢ｐ１〜ｐｍを姿勢クラスと呼ぶことがある。
【００３４】
次に、姿勢情報３２１に含まれる情報として、部分領域ヒストグラム３２３について説明する。本実施例での部分領域ヒストグラム３２３は、入力画像の部分領域識別結果から姿勢を求める処理（姿勢推定部１０３の処理）と、推定した姿勢に応じて部分領域を選択する処理（部分領域選択部１０４の処理）に利用される。本実施例では、この２つの処理について部分領域ヒストグラムを共通して利用しているが、部分領域選択部１０４の実施形態によっては、部分領域ヒストグラムから別の情報を作成し、記録部１０７に格納しても良い。この詳細については、実行時の説明と合わせて後述する。
【００３５】
部分領域ヒストグラム３２３（ｈｐ１〜ｈｐｍ）は、図３に示すように、各姿勢ｐ１〜ｐｍそれぞれについて準備する。部分領域ヒストグラムは、横軸に部分領域のクラス番号ｓ１〜ｓｎ（前述の部分領域識別器の番号ｓ１〜ｓｎ）をとり、縦軸は各姿勢における部分領域の出現確率である。部分領域ヒストグラムは、後述する姿勢推定実行時と同様に、各学習画像に対して、全ての部分領域識別器を実行し、姿勢クラスごと（学習画像ごと）に各部分領域識別器の結果が得られる確率を算出することで作成する。姿勢推定実行時には、入力画像に対して部分領域識別器を実施し、入力画像の部分領域ヒストグラムを作成した後、各姿勢の部分領域ヒストグラムｈｐ１〜ｈｐｍと比較することで、最も似た姿勢を決定する。
【００３６】
以上の各姿勢の関節位置関係３２２と部分領域ヒストグラム３２３を、姿勢情報３２１として、記録部１０７に格納する。
【００３７】
以上、図３を用いて、予め記録部１０７に格納しておく情報について説明した。
【００３８】
＜前処理＞
以下では、姿勢推定実行時における各処理について詳細な説明を行う。
【００３９】
画像入力部１０１では、前述したように、姿勢推定を実行する入力画像を読み込む。また、前処理として入力画像から人体領域を抽出する。人体領域の抽出処理では、まず、距離画像に対して、背景差分処理を行うことで、前景候補画素のみを抽出する。次に、前景候補画素の距離値をカメラ座標系（３次元座標系）の点群へと変換する。３次元の点群の固まりの中心位置を求め、中心位置周辺の点群の内、人体サイズに収まる範囲に存在する点を人体領域とする。人体領域とラベル付けされた点群を再び画像平面に投影することで、人体領域が抽出された距離画像を取得することができる。人体領域抽出方法は、これに限らず公知の手法を用いればよい。
【００４０】
＜部分領域識別部＞
図４は部分領域識別部１０２と姿勢推定部１０３の処理を説明する図である。
【００４１】
部分領域識別部１０２では、入力画像の人体領域に対して、部分領域の識別を行う。図４の４０１は、入力画像から抽出した人体領域で、４０２は部分領域の識別結果である。部分領域識別部１０２では、記録部１０７に格納されている部分領域情報３１１の部分領域識別器を用いて部分領域の識別を行う。また、部分領域識別部１０２では、入力画像の部分領域ヒストグラム４０５（ｈｉｎｐｕｔ）を作成する。
【００４２】
以下、部分領域識別部１０２の具体的な処理について説明する。まず、人体領域上の各画素を中心とした所定サイズの部分領域を切り出し、記録部１０７に格納された各部分領域識別器ｓ１〜ｓｎによる識別処理を行う。各画素の識別結果が、ある部分領域クラスｓｘに相当すると判断される場合には、部分領域ヒストグラムｈｉｎｐｕｔのクラスｓｘのビンにヒストグラムを加算する。図４では、部分領域４０２が、部分領域クラスｓ４に相当すると識別され、部分領域ヒストグラムｈｉｎｐｕｔのｓ４ビンにヒストグラムが加算されている。部分領域ヒストグラムｈｉｎｐｕｔは、全人物領域の探索後に正規化し、部分領域クラスの出現確率とする。また、部分領域識別器の実施形態によっては、各画素（各部分領域）から、複数の部分領域の可能性が得られる場合がある。例えば、部分領域識別器の識別方法として、複数の決定木により部分領域クラスを識別する場合には、ある部分領域の識別において、各決定木で異なる複数の部分領域クラスの結果を取得することがある。このような場合には、ある部分領域の識別結果について、複数の部分領域クラスのビンにヒストグラムを加算するようにしても良い。また、部分領域識別器の実施形態によっては、部分領域識別器が部分領域クラスの識別と同時にその識別結果の信頼度を出力させることができる。例えば、識別器としてSVMを用いる場合には、識別境界（超平面）からの距離を信頼度としても良い。このように、識別結果の信頼度が得られる場合には、ヒストグラムへの加算時に部分領域の識別結果信頼度に応じて、重み付けした加算を行っても良い。さらにまた、上記では、人体領域上の全画素について、各画素を中心とした部分領域に対して部分領域識別を実行する方法について説明したが、処理時間の観点から、処理対象とする部分領域を削減しても良い。例えば、中心画素を所定ステップ刻みで設定する、人体領域上からランダムに中心画素を設定する、などの処理により、部分領域の識別回数を削減するようにしても良い。
【００４３】
＜姿勢推定部＞
次に、姿勢推定部１０３の処理について説明する。姿勢推定部１０３では、部分領域識別部１０２の出力である入力画像の部分領域ヒストグラムｈｉｎｐｕｔと、記録部１０７に記録された姿勢情報３２１の、各姿勢の部分領域ヒストグラムｈｐ１〜ｈｐｍを比較し、最も近い姿勢クラス（全身の姿勢）を決定する。ヒストグラム間の比較と姿勢決定は、ｈｉｎｐｕｔとｈｐ１〜ｈｐｍそれぞれの類似度を計算し、最も類似度が高い姿勢を決定することで実行できる。類似度算出方法としては、ＫＬダイバージェンスやバタチャリヤ距離、Earth Mover's Distanceなどを利用することができる。ヒストグラム間の比較は、この処理に限らず、その他の最近傍探索処理により実施しても良い。姿勢推定部１０３は、決定した最近傍姿勢の関節位置関係の情報を記録部１０７から取得し、位置・姿勢決定部１０６へと出力する。ここで、関節位置関係の情報は、図４の４０４のように、各関節Ｊ１〜Ｊ１６（関節位置が１６個の場合）のカメラ座標系での座標であり、記録部１０７の関節位置情報をそのまま出力する。
【００４４】
＜部分領域選択部・代表位置決定部＞
以上の処理により、入力画像中の人体の姿勢が推定されたが、この時点では、その姿勢がどの位置に存在するかについては定まっていない。画像入力部１０１で、入力距離画像から人体領域を抽出しているので、人体の大まかな位置は既知となっている。しかし、画像上、または入力画像のカメラ座標系で、姿勢推定部１０３で得た関節位置関係の座標４０４が、どの座標に存在するかは明らかでない。抽出した人体領域の中心位置を算出し、関節位置関係の中心位置を合わせることで、人体の各関節が存在する位置を求めることもできるが、距離画像ノイズの影響などにより、常に精度良く人体領域の中心位置を求めることは困難である。従って、本発明では、予め部分領域ごとに格納した代表位置を示す情報（代表位置ベクトル）を元に代表位置を算出し、代表位置に関節位置関係を位置合わせすることで、より正確に人体姿勢の位置を求める。このための処理を、以下の部分領域選択部１０４と、代表位置算出部１０５で実施する。
【００４５】
部分領域選択部１０４と代表位置算出部１０５では、入力画像中の人体の代表位置を算出し、姿勢推定部１０３で得た関節位置関係（姿勢）が対象空間中で位置する座標を算出する。これらの処理の概要図を図５に示す。
【００４６】
図５（Ａ）は部分領域の識別結果と、識別した部分領域の代表位置ベクトルが示す腰関節位置を表している。なお、図５（Ａ）では図示の都合上、４つの部分領域識別結果を示しているが、実際は、人体領域５０１上の各画素（あるいは所定ステップの画素）を中心とした部分領域識別結果が存在する。
【００４７】
記録部１０７には、部分領域ごとに、代表位置ベクトルｖが格納されている。従って、人体領域上のある画素を中心とした部分領域識別を行い、その部分領域がある部分領域クラスであるという結果が得られると、同時に、その画素位置から代表位置ベクトル（腰関節位置へのベクトル）が得られる。例えば、部分領域識別結果５０２からは、腰関節位置を示す方向ベクトル５０５が得られる。方向ベクトル５０５は、より具体的には、その画素位置の距離値から求められる３次元空間座標から、腰関節位置を示す３次元ベクトルである。
【００４８】
ここで、部分領域の識別結果は、常に正しく得られるとは限らない。図５（Ａ）での部分領域識別結果５０３は、誤った識別結果が得られている場合を示している。その結果、代表位置ベクトル５０４も誤った方向を向いている。このような、誤った部分領域識別結果に関連する代表位置ベクトルを用いて代表位置を求めると、代表位置（腰関節位置）が正しく算出できない。本発明では、姿勢推定部１０３で求めた姿勢に基づいて、誤った部分領域識別結果を削除することにより、正しく人体代表位置を示すベクトルのみを抽出して、代表位置を精度良く求めることを目的としている。すなわち、本発明の趣旨は、推定した姿勢に適合する部分領域識別結果を選択し、選択した部分領域から代表位置を求めることにある。各姿勢に本来含まれる部分領域のみを選択し、代表位置算出に利用することで、精度良く代表位置を算出できるようになる。
【００４９】
推定姿勢に適合する部分領域選択方法として、本実施例では、記録部１０７に格納された各姿勢の部分領域ヒストグラムｈｐを利用する。部分領域選択部１０４では、姿勢推定部１０３で推定した姿勢クラスの部分領域ヒストグラムを記録部１０７から呼び出す。各姿勢の部分領域ヒストグラムは、その姿勢クラスに含まれる部分領域の情報であり、ヒストグラムのビンは各部分領域の出現確率となっている（図３の３２３）。従って、推定した姿勢の部分領域ヒストグラムについて、所定以上の確率値を示すビンの部分領域を選択する部分領域とすることで、推定姿勢に基づいて部分領域を選択することができる。部分領域選択部１０４では、このよう部分領域ヒストグラムに基づいた部分領域選択基準によって、人物領域中の部分領域識別結果を選択する。
【００５０】
なお、上記では、部分領域ヒストグラムをそのまま部分領域選択基準として利用する方法について説明したが、各姿勢に含まれるとする部分領域を、予め部分領域選択基準として記録部１０７に記録しておいても良い。上記の部分領域ヒストグラムを利用した方法と同様の処理を行うためには、部分領域ヒストグラムに基づいて、各姿勢クラスとその姿勢に含まれる部分領域クラスの対応表を部分領域選択基準として準備し、姿勢クラスごとに記録部１０７に格納しておく。部分領域選択部では、姿勢推定結果に基づき、対応表から選択する部分領域の情報を取得すればよい。
【００５１】
図６に、部分領域選択部１０４の処理フローを示す。
【００５２】
まず、ステップＳ６０１では、姿勢推定部１０３で推定した姿勢に基づいて、部分領域選択基準を決定する。部分領域選択基準を部分領域ヒストグラムから決定する実施形態では、まず、記録部１０７から推定した姿勢の部分領域ヒストグラムを呼び出す。次に、所定確率以上の部分領域クラスを決定し、部分領域選択基準とする。部分領域選択基準が、既に記録部１０７に保存されている場合、単純に推定した姿勢の部分領域選択基準を記録部１０７から呼び出す。
【００５３】
次に、ステップＳ６０２では、入力画像の人体領域の部分領域識別結果から１つを選択し、その識別結果の部分領域クラスと、部分領域選択基準に含まれる部分領域クラスを比較する。部分領域識別結果の部分領域クラスが部分領域選択基準に含まれている場合は、次のステップＳ６０３で基準に適合していると判定し、その部分領域を選択するステップＳ６０４へと進む。一方、識別結果の部分領域クラスが部分領域選択基準に含まれていない場合は、ステップＳ６０３で基準に適合していないと判定し、その部分領域を破棄するステップＳ６０５へと進む。
【００５４】
ステップＳ６０６では、人体領域の部分領域識別結果の全てをチェックしたかを確認し、完了していなければ、次の部分領域識別結果についてステップＳ６０２〜ステップＳ６０５の処理を行い、部分領域を採択するか、破棄するかのチェックを実施する。
【００５５】
図５（Ｂ）は部分領域選択部１０４の処理結果を示す図で、推定した姿勢に関連する部分領域識別結果のみを選択した結果を示している。図５（Ａ）と比較すると、推定した姿勢の部分領域選択基準に含まれていなかった部分領域識別結果５０３が識別結果から除外されている。
【００５６】
代表位置算出部１０５は、部分領域選択部１０４で選択された部分領域識別結果に関連する代表位置ベクトルから代表位置を算出する。図５（Ｃ）は、図５（Ｂ）の部分領域結果から得られる腰中心位置を示すベクトルを集計して得られた代表位置５１０を示す。代表位置５１０は、図５（Ｂ）の各代表位置ベクトルの終点が示す座標の平均や中央値、分布の極値などを算出することで得ることができる。なお、本実施例では、各代表位置方向のベクトルは、部分領域中心の人体表面（距離画像の距離値）を基準とした３次元ベクトルであり、代表位置５１０は３次元座標として得られる。
【００５７】
＜位置姿勢決定部＞
以上の処理により、姿勢推定部１０３からは、人体姿勢（人体の関節位置の相対位置関係）が得られ、代表位置算出部１０５からは、代表位置（人体の腰関節位置の座標）が得られた。位置姿勢決定部１０６では、これらの情報を統合し、最終的な出力を生成する。具体的には、姿勢推定部１０３で得た姿勢の関節位置関係を保持したまま、その腰関節位置を代表位置算出部１０５で得た姿勢推定時のカメラ座標系での腰関節位置に移動させる。
【００５８】
図７には、位置姿勢決定部１０６の処理を説明する図を示す。図７（Ａ）は代表位置算出部１０５で算出した代表位置を示している。代表位置７１０は、姿勢推定時のカメラ座標系の３次元座標で表される。図７（Ｂ）は、姿勢推定部１０３の結果の人体姿勢を表している。
【００５９】
人体姿勢は、学習カメラ座標系における人体の各関節位置座標７１２として表される。ここで、関節位置座標７１２には腰関節位置座標７１１が含まれている。代表位置決定部１０６では、関節位置座標７１２の位置関係を保ったまま、並進・回転処理により、姿勢推定結果の腰関節位置７１１を姿勢推定カメラ座標系の代表位置７１０に移動させる。並進・回転は、腰関節位置７１１と代表位置７１０の差異（平行移動とカメラ原点の回転角）を基に並進・回転量を算出して実施する。この結果、図７（Ｃ）のように、代表位置７１０の位置に腰関節位置が位置した各関節位置座標の情報が生成される。代表位置算出部１０５は、この姿勢推定時のカメラ座標系での各関節位座標を人体の位置・姿勢推定結果として出力する。
【００６０】
本実施例の位置姿勢決定部１０６が出力する人体姿勢は、記録部１０７に格納されている既知の姿勢から選択された姿勢となる。従って、大まかな姿勢は一致していても、手足などの末端部分が入力距離画像の人体領域から外れる場合が生じる。大まかな姿勢が判断できれば良い用途であれば、位置姿勢決定部１０６の結果をそのまま利用しても良いが、関節位置など姿勢の精度がさらに要求される場合には、位置姿勢決定部１０６の精度では不十分な場合がある。
【００６１】
この問題を解決するために、位置姿勢決定部１０６の出力を初期値として、さらにフィッティング処理を実施しても良い。フィッティング処理には、例えば、複数パーツを持つ人体モデルを、ICPなどの手法により入力距離画像にフィッティングするような処理が利用できる。フィッティング処理は、既存の技術を利用すれば良く、詳細は本発明の趣旨とは異なるので、ここでの詳細説明は省略する。後処理として、フィッティング処理を行う場合にも、初期値となる位置・姿勢の精度は非常に重要となるため、本発明の方法により位置・姿勢を算出することによって全体の性能向上が期待できる。
【実施例２】
【００６２】
実施例２では、部分領域クラスと姿勢クラスとの関係、及び代表位置ベクトルについて、実施例１と異なる実施形態について説明を行う。なお、構成上、実施例１と共通な部分についての説明は省略する。
【００６３】
実施例１では基本的に、１つの部分領域に対して１つの代表位置ベクトルが関連づけられている実施形態について説明を行った。部分領域に複数の代表位置ベクトルが関連づけられている場合についても簡単に触れたが、この場合、ある部分領域識別結果を選択すると、その部分領域に関連づけられた全ての代表位置ベクトルを代表位置算出に利用していた。実施例２では、部分領域に複数の代表位置ベクトルを関連づけ、さらに、それぞれの代表位置ベクトルについて姿勢クラスを関連づけておく。そして、推定した姿勢に基づいて、推定姿勢に関係する部分領域を選択し、同時に推定した姿勢に関連する代表位置ベクトルを選択する実施形態について説明する。
【００６４】
図８は実施例２の学習と記録部１０７の情報を説明する図である。
【００６５】
まず、図８の学習画像８０１〜８０ｍは、実施例１の学習画像と同様に、各学習画像に関節位置の情報が関連づけられた画像である。これらの学習画像から部分領域情報８１１と姿勢情報８２１を学習する。
【００６６】
部分領域情報８１１の学習については、まず、部分領域識別器８１２の学習を行う。部分領域識別器８１３の学習は、実施例１と同様に、部分領域の画像特徴と識別関数の学習により部分領域識別器を作成する。
【００６７】
次に、部分領域ごとに、各姿勢クラスへの関連度合いを示すヒストグラム８１３を学習する。このヒストグラム８１３を以下では姿勢ヒストグラムと呼ぶ。姿勢ヒストグラム８１３は、ある部分領域が得られた時に、全体の姿勢がどの姿勢クラスとなるかの確からしさを示したものである。姿勢ヒストグラム８１３は、例えば、以下のようにして作成する。
【００６８】
まず、ここでは、学習画像８０１〜８０ｍは姿勢クラスｐ１〜ｐｍと一致しているとする。すなわち、全ての学習画像の姿勢は、そのまま推定する姿勢クラスであるとしている。姿勢ヒストグラム８１３を作成するためには、まず部分領域識別器を各学習画像に対して実行する。その結果、各学習画像（姿勢クラス）における部分領域の出現頻度が得られる。この出現頻度を、部分領域ごとに集計することで姿勢ヒストグラムを作成することができる。また、別な方法として、以下のような方法により、姿勢ヒストグラムを作成しても良い。実施例１で説明したように、部分領域識別器の作成時には、局所的な姿勢が似ている部分画像を学習画像から収集する。部分領域識別器を学習するための部分画像は、どの姿勢（学習画像）から得られているかが明らかなので、各部分領域識別器ついて学習に用いた部分画像が属する姿勢クラスのヒストグラムを作成して姿勢ヒストグラムとしても良い。
【００６９】
次に、実施例２における代表位置ベクトルの学習について説明する。代表位置ベクトルは、実施例１と同様に部分領域の識別結果の位置から、人体の腰関節位置を示す情報である。実施例２においては、部分領域に複数の代表位置ベクトルを関連づけ、さらに、それぞれの代表位置ベクトルについて姿勢クラスを関連づけておく。以下では、この具体例について説明を行う。
【００７０】
図８には、各部分領域ｓ１〜ｓｎについて、代表位置ベクトル８１４が姿勢ｐ１〜ｐｍそれぞれについて格納されていることを示している（図８中のｖｓ１ｐ１，ｖｓ１ｐ２、・・・、ｖｓｎｐ４）。例えば、代表位置ベクトルＶｓ１ｐ２は、部分領域ｓ１が得られたときに、姿勢クラスｐ２についての代表位置を示すベクトルとなる。
【００７１】
実施例２での代表位置ベクトルは、学習画像における部分領域識別結果の出現位置と、代表位置（腰関節位置）の相対位置関係（代表ベクトル）を、各姿勢（各学習画像）について集計することで算出する。例えば、まず、ある学習画像において、ある１つの部分領域識別器の識別を実施する。そして、その識別結果位置から、その学習画像の代表位置（腰関節位置）へのベクトルの平均を求めることにより、その学習画像における１つの部分領域の代表位置ベクトルを算出する。この処理を、ある学習画像おいて、全ての部分領域識別器に対して実施する。さらに、全ての学習画像（姿勢クラス）について、各部分領域の代表ベクトル算出を実施するする。この結果、各部分領域の代表位置ベクトルを、各姿勢クラスに関連づけた結果を取得することができる。
【００７２】
また、代表位置ベクトルの他の作成方法として、部分領域識別器を学習するための部分画像を元に作成する方法もある。実施例１で、部分領域識別器の学習時に、元の全ての学習画像から似ている部分領域画像を収集すること（似た関節位置関係の部分領域画像を収集するなどのクラスタリング）を説明した。これらの各部分領域画像は、元々どの学習画像（姿勢クラス）の、どの位置から切り出した部分画像か既知であり、同時に、似ている姿勢にクラスタリングされているため、どの部分領域クラスに属しているかも既知である。従って、各部分領域クラスについて、学習に利用した部分画像の切り出し元の学習画像（姿勢クラス）と位置を元に、腰関節位置へのベクトルを集計することで、ある部分領域のある姿勢クラス向けの代表位置ベクトルを算出する。
【００７３】
また、部分領域が出現しない姿勢に関する代表位置ベクトルは作成しないようにする。例えば、図８の部分領域ｓｎでは、姿勢ｐ１、ｐ３に部分領域ｓｎが出現しないことが姿勢ヒストグラムｈｓｎから分かる。この場合、部分領域ｓｎについて、姿勢ｐ１、ｐ３に関係する代表位置ベクトルは作成しない。
【００７４】
姿勢情報８２１は、学習画像の関節位置関係８２２を、各姿勢クラスの番号ｐ１〜ｐｍと関連づけて格納する。これは実施例１と同様に、情報処理装置１００が出力する人体姿勢（関節位置関係）となる。
【００７５】
以上の情報を記録部１０７に格納することにより、実施例２の学習が完了する。
【００７６】
図９は実施例２における部分領域識別部１０２と姿勢推定部１０３の処理を説明する図であり、記録部１０７に格納された情報を用いて入力画像における人体の姿勢を推定する処理について説明する図である。
【００７７】
まず、実施例１と同様に、記録部１０７の部分領域情報８１１を用いて、入力画像の人体領域９０１に対して部分領域の識別を行い、部分領域識別結果９０２を得る。実施例２における部分領域には、その部分領域が識別されたときの、姿勢クラスの出現頻度が姿勢ヒストグラムとして格納されている。人体領域９０１の部分領域識別結果の姿勢ヒストグラムを集計することで、人体領域全体のヒストグラム９０５（ｈｉｎｐｕｔ）を作成する。姿勢ヒストグラム集計は、人体領域全体のヒストグラム９０５は、その人体領域が示す姿勢の確率分布となっていることから、尤も高い可能性を示す姿勢クラスのビンを選択することで、入力画像の人体の姿勢を推定することができる。図９では、姿勢クラスｐ１のビンが尤も高い値を示していることから、入力画像人体の姿勢をｐ１と決定する。この結果、姿勢推定部は、記録部１０７に記録された姿勢情報８２１から、姿勢ｐ１の関節位置関係を参照し、推定姿勢結果９０３として出力する。なお、出力する姿勢情報は、実施例１と同様に、各姿勢の学習カメラ座標系における各関節位置の座標情報９０４である。
【００７８】
次に、実施例２における部分領域選択部１０４の処理について、図１０のフローチャートを用いて説明する。まず、ステップＳ１００１では、人体領域の部分領域識別結果を１つ選択し、姿勢推定部１０３で推定した姿勢に関係しているかを照合する。照合は、部分領域に関連づけられた姿勢クラスの情報を元に行い、例えば、以下のようにして実施する。
【００７９】
図８において、部分領域の情報として、各部分領域が識別された場合に、どの姿勢クラスに関連するかを示すヒストグラムｈｓ１〜ｈｓｎが記録部１０７に格納されていることを説明した。ステップＳ１００１の照合処理では、選択した部分領域の姿勢クラスヒストグラムを参照し、選択した部分領域と推定姿勢の関係を判定する。例えば、姿勢ヒストグラムの推定姿勢のビンが、所定の出現頻度を満たしている場合には、推定姿勢と選択した部分領域が関係している、とする。次のステップＳ１００２では、部分領域識別結果が、推定姿勢に関係しているか否かで、ステップＳ１００３とステップＳ１００４に分岐する。例えば、部分領域識別結果が部分領域クラスｓ１を示した場合、図８の部分領域ｓ１の姿勢クラスヒストグラムｈｓ１を参照する。そして、推定姿勢クラスがｐ１、ｐ２、ｐ３のいずれかであれば、推定姿勢と部分領域識別結果が関係するとして、ステップＳ１００３に進む。一方、推定姿勢クラスがｐ４であれば、部分領域ｓ１は、姿勢ｐ４では出現しないことが学習画像から学習されているので、推定姿勢と部分領域識別結果がしないとして、ステップＳ１００４に進む。
【００８０】
推定姿勢に部分領域識別結果が関係しないと判定した場合、ステップＳ１００４では、その部分領域識別結果を破棄する。一方、推定姿勢と部分領域識別結果が関係すると判定した場合、ステップＳ１００３では、その部分領域識別結果を代表位置算出に用いる部分領域として選択し、次のステップＳ１００５に進む。ステップＳ１００５では、部分領域に関連づけられた代表位置ベクトルについて、推定姿勢に関係する代表位置ベクトルを保存する。例えば、図８の部分領域ｓ１について、姿勢推定部で推定した姿勢がｐ１となった場合には、姿勢ｐ１の代表位置ベクトルｖｓ１ｐ１を保存する。
【００８１】
次のステップＳ１００６では、人体領域の部分領域識別結果の全てをチェックしたかを確認し、完了していなければ、次の部分領域識別結果についてステップＳ１００１〜ステップＳ１００５の処理を行い、部分領域を採択するか、破棄するかのチェックを実施する。
【００８２】
以上の部分領域選択部の説明では、本発明の趣旨を説明するために、処理を逐一行うフローについて説明したが、実際には処理を簡略化して実施しても良い。例えば、上記では姿勢ヒストグラムを用いて、推定姿勢と部分領域識別結果の関係を照合した。しかし、各部分領域がどの姿勢に関する代表位置ベクトルを所有しているかは明らかである。従って、姿勢ヒストグラムを用いずに、部分領域から推定姿勢に関係ある代表位置ベクトルを参照・保存することにしてもよい。
【００８３】
以上により、部分領域識別結果からの代表位置ベクトルの収集が完了する。これ以降の処理は、実施例１の代表位置算出部１０５及び位置姿勢決定部１０６と同様の処理となるので、説明は省略する。
【実施例３】
【００８４】
実施例１では、姿勢推定部で推定した１つの姿勢から、代表位置を求める部分領域を選択した。実施例３では、姿勢推定部で推定した複数の姿勢から、部分領域を選択する実施形態について説明する。
部分領域の識別結果の母数が少ない場合など、姿勢に応じた部分領域選択を行った結果、部分領域の数が少なくなる場合がある。部分領域の数が極端に少ないと、代表位置を求める時に利用する代表位置ベクトルの数が減少し、代表位置が正しく求められない可能性がある。このような場合、複数の姿勢から部分領域を選択することにより、代表位置を求める代表ベクトルの数が増加させることができる。
【００８５】
実施例１の姿勢推定部は、入力画像の部分領域ヒストグラムと記録部の部分領域ヒストグラムの類似度を算出し、最も類似度の高い姿勢を１つ選択した。実施例３では、ここで、類似度の高い複数の姿勢を選択する。類似度の高い姿勢を複数選択する方法は、予め決めた所定数だけ類似度の高い方から姿勢を選択する方法がある。また、予め決めた所定閾値以上の類似度を示す姿勢を選択しても良い。また、代表位置を所定の精度で求めるために必要な部分領域数を確保するために、最低限必要な部分領域数を定めておき、その部分領域数を満たす数だけの複数姿勢を選択するようにしても良い。
【００８６】
複数の姿勢を選択する場合に、大きく異なる姿勢を複数選択すると、それらに含まれる部分領域及び部分領域に関連づけられた代表位置ベクトルも大きく異なり、結果として代表位置の算出精度が低下してしまう。従って、複数の姿勢は、似た姿勢であることが望ましい。
【００８７】
そこで、複数選択する姿勢間の類似度も考慮して、複数の姿勢を選択するようにしても良い。以下では、姿勢間の類似度は、前記のヒストグラム類似度との混乱を避けるため、姿勢間距離と呼ぶ。複数姿勢間の姿勢間距離を考慮する方法は、例えば、以下のように行う。まず、上記のように、ヒストグラム類似度を元に複数の姿勢を選択する。ここで、最終的に出力する姿勢は、入力画像の部分領域ヒストグラムと記録部の部分領域ヒストグラムの類似度が、最も高い類似度の姿勢とする。以下、この姿勢を出力姿勢と呼ぶ。次に、類似度を元に選択した出力姿勢以外の複数の姿勢について、出力姿勢との姿勢間距離を算出する。姿勢間距離は、それぞれの姿勢に関連づけられて保存されている関節位置関係を元に算出すればよく、例えば以下の様に実施できる。まず、それぞれの関節位置関係を、それぞれの腰関節位置を原点とした座標系に変換する。そして、同じ関節（例えば、右手首同士、左足首同士など）の距離差の２乗和を元に姿勢間距離を算出する。以上の様な算出方法で、出力姿勢と他の姿勢の姿勢間距離を算出する。姿勢間距離が所定の閾値以下で、出力姿勢と似ていると判断された姿勢を出力姿勢とともに部分領域選択に利用する姿勢とする。
【００８８】
以上の処理により、部分領域を選択する複数の姿勢が決定した。部分領域の選択以降の処理は、部分領域を選択する姿勢の基準が複数になること以外は、実施例１と同様に実施すればよい。
【００８９】
また、実施例３の変形として、出力姿勢を複数備える構成にしても良い。出力姿勢を複数備えることにより、部分領域選択部及び代表位置算出部では、各出力姿勢について代表位置を算出する。そして、位置姿勢推定部の出力は、複数の位置・姿勢となる。この構成は、本発明の情報処理装置が出力する位置・姿勢を一つに決定する必要がなく、複数の可能性を出力すれば良いときに好適な構成である。例えば、情報処理装置の出力を元に、フィッティング処理を行う場合、複数の位置・姿勢を初期値としてフィッティング処理を行い、最も信頼できる結果を最終結果としても良い。
【００９０】
＜実施例の効果＞
以上、実施例１〜３により、本発明の実施形態の例を説明した。
【００９１】
実施例１では、部分領域識別結果を推定した姿勢に基づいて選択し、選択した部分領域に関連づけられた代表位置を示す情報（代表位置ベクトル）を用いて、代表位置を求めることで、精度良く代表位置を求めることができる。その結果、最終的な出力の対象物の位置・姿勢を精度良く求めることができる。
【００９２】
実施例２では、実施例１に比べて、さらに姿勢に限定的な代表位置ベクトルを利用することにより、精度良く代表位置を算出することができる。
【００９３】
実施例３では、姿勢推定部から複数の推定姿勢を出力し、複数の姿勢による部分領域選択を行うことで、代表位置を求める情報量を増加させることができる。
【００９４】
＜定義＞
以上、実施例では、対象物を人体とした場合について説明したが、本発明の対象物は人体に限定されることはない。また、人体の関節角度が異なる状態と、カメラに対する向きの２つを合わせて姿勢と呼んだが、関節を持たない剛体を対象物とする場合には、カメラに対する向きのみを姿勢として取り扱えば良い。
【００９５】
また、本発明における部分領域識別部は、対象物の様々な姿勢の部分を識別する部分領域識別器を含むとともに、姿勢と代表位置が関連づけられていれば、どのようなものであっても良い。また、その情報の保有方法も特に限定する物ではない。一例として、実施例１では、各部分領域識別器に代表位置方向を示す代表位置ベクトルを関連づけた形態を説明した。また、姿勢ごとに部分領域ヒストグラムを保持することで、部分領域識別器と姿勢を関連づけた。部分領域選択部は、これらの部分領域と姿勢の関係を元に、対象物領域の部分領域識別結果を姿勢推定部で推定した姿勢に基づいて選択する。
【００９６】
また、発明における対象物の代表位置は、対象物の姿勢によらず一意に決まる位置であればどこでも良い。代表位置は、複数の代表位置ベクトルから求めるため、対象物の中心付近の位置を採用することが好ましく、実施例では、人体の腰関節位置とした。
【符号の説明】
【００９７】
１００  情報処理装置、１０２  部分領域識別部、１０３  姿勢推定部、
１０４  部分領域選択部、１０５  代表位置算出部、１０６  位置姿勢決定部、
１０７  記録部、３０１〜３０ｍ，８０１〜８０ｍ  学習画像、
３１２，８１２  部分領域識別器、３２２，８２２  姿勢（関節の相対的位置関係）、
５０２，５０３  部分領域識別結果、
５０４  代表位置ベクトル（代表位置を示す情報）、
５１０，７１０  代表位置（腰関節位置）
【図１】
2017097578.tif 000003
【図２】
2017097578.tif 000004
【図３】
2017097578.tif 000005
【図４】
2017097578.tif 000006
【図５】
2017097578.tif 000007
【図６】
2017097578.tif 000008
【図７】
2017097578.tif 000009
【図８】
2017097578.tif 000010
【図９】
2017097578.tif 000011
【図１０】
2017097578.tif 000012