(57)【要約】【課題】姿勢を推定することができるようにする。【解決手段】シルエット抽出部１２は、入力された画像内の被写体のシルエットを抽出し、輪郭抽出部１３は、そのシルエット画像から被写体の輪郭を抽出する。特徴量抽出部１４は、輪郭線からサンプル点を抽出し、サンプル点毎に特徴量を抽出する。マッチング部１０１は、姿勢記憶部１６に記憶されている複数の姿勢毎の特徴量と、特徴量抽出部１４で抽出された特徴量を用いてマッチングを行い、最尤姿勢の情報を出力する。フィッティング部１０２は、推定された姿勢と入力画像に対してフィッティングの処理を施し、点間の距離を求め、精度判定部１０３に出力する。精度判定部１０３は、フィッティング部１０２からのデータを基に、マッチング部１０１で推定された姿勢の精度を判定する。本発明は、ジェスチャーなどを判断する情報処理装置に適用できる。【選択図】図１０
2010176380.tif 000002
【特許請求の範囲】
【請求項１】
被写体が撮像された撮像画像から、前記被写体の輪郭を抽出する輪郭抽出手段と、
前記輪郭を構成する点から、サンプル点を抽出し、サンプル点毎に特徴量を抽出する特徴量抽出手段と、
予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量毎に、前記特徴量抽出手段で抽出された前記特徴量との一致の度合いを表す一致度を算出し、一致の度合いが高い姿勢を、前記被写体の姿勢として推定する推定手段と
前記推定手段が、前記推定するときのマッチングコストを用いて、前記推定手段による推定の精度を判定する判定手段と
を備える情報処理装置。
【請求項２】
前記推定手段は、前記画像内で前記被写体の所定の位置に位置するサンプル点を始点とし、その始点を含み、前記始点の近傍に位置するサンプル点から抽出された特徴量を用いる
請求項１に記載の情報処理装置。
【請求項３】
前記特徴量は、シェイプコンテキスト（Shape Context）特徴量である
請求項１に記載の情報処理装置。
【請求項４】
前記予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量は、木構造のデータベースで管理される
請求項１に記載の情報処理装置。
【請求項５】
前記被写体が撮像された撮像画像から、前記被写体が現れた領域を表すシルエットを抽出するシルエット抽出手段をさらに備え、
前記輪郭抽出手段は、前記シルエットから、前記輪郭を抽出する
請求項１に記載の情報処理装置。
【請求項６】
前記推定手段により推定された前記姿勢を変形させて、前記シルエットに合わせ込むフィッティングの処理を実行し、そのフィッティング後の輪郭を構成するサンプル点と、前記シルエットのサンプル点との点間の距離を算出する算出手段をさらに備え、
前記判定手段は、前記マッチングコストおよび前記算出手段からの距離のうちのどちらか一方を少なくとも用いて前記判定を行う
請求項１に記載の情報処理装置。
【請求項７】
前記判定手段は、Boostingにより学習された識別器で構成される
請求項１に記載の情報処理装置。
【請求項８】
被写体が撮像された撮像画像から、前記被写体の姿勢を推定する情報処理装置の情報処理方法において、
前記撮像画像から、前記被写体の輪郭を抽出し、
前記輪郭を構成する点から、サンプル点を抽出し、サンプル点毎に特徴量を抽出し、
予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量毎に、抽出された前記特徴量との一致の度合いを表す一致度を算出し、一致の度合いが高い姿勢を、前記被写体の姿勢として推定し、
前記推定が行われるときのマッチングコストを用いて、推定された前記被写体の姿勢の精度を判定する
ステップを含む情報処理方法。
【請求項９】
被写体が撮像された撮像画像から、前記被写体の姿勢を推定する情報処理装置に、
前記撮像画像から、前記被写体の輪郭を抽出し、
前記輪郭を構成する点から、サンプル点を抽出し、サンプル点毎に特徴量を抽出し、
予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量毎に、抽出された前記特徴量との一致の度合いを表す一致度を算出し、一致の度合いが高い姿勢を、前記被写体の姿勢として推定し、
前記推定が行われるときのマッチングコストを用いて、推定された前記被写体の姿勢の精度を判定する
ステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【請求項１０】
被写体が撮像された撮像画像から、前記被写体の姿勢を推定する情報処理装置に、
前記撮像画像から、前記被写体の輪郭を抽出し、
前記輪郭を構成する点から、サンプル点を抽出し、サンプル点毎に特徴量を抽出し、
予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量毎に、抽出された前記特徴量との一致の度合いを表す一致度を算出し、一致の度合いが高い姿勢を、前記被写体の姿勢として推定し、
前記推定が行われるときのマッチングコストを用いて、推定された前記被写体の姿勢の精度を判定する
ステップを含む処理を実行させるコンピュータが読み取り可能なプログラムを記録している記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、プログラム、並びに記録媒体に関し、特に、例えば、被写体の姿勢を推定することができ、また、その推定の精度を判定することができるようにした情報処理装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
ジェスチャー認識技術として、例えば、米国Motion Analysis社の「Eagle & Hawk Digital System」（商標）や、米国Vicon Peak社の「MX Motion Capture」（商標）等のように、人物の身体にマーカを付加するか、または特殊なセンサを内蔵したグローブを人物の手に装着した上で、複数のカメラにより人物を撮像し、撮像された複数の撮像画像から、人物の姿勢を推定することにより、人物のジェスチャーを認識する技術が提案されている。
【０００３】
また、例えば、プレイステーション（株式会社ソニーコンピュータエンタテインメントの登録商標）のeye Toy（ソニーコンピュータエンタテインメント  ヨーロッパ  リミテッドの登録商標）システムのように、１台のカメラにより人物を撮像し、撮像により得られた撮像画像と、人物を含まない背景のみが撮像された背景画像との差分や、撮像画像のフレーム同士の差分を用いて、人物の動きのある撮像画像内の領域を抽出する動き領域抽出技術が提案されている。
【０００４】
さらに、例えば、それぞれ異なる入射角を有する参照光を用いて複数の基準姿勢画像が記録されたホログラフィック素子に、入射される入射画像が入射されたとき、ホログラフィック素子から出射される光の強度と方向とを検出し、検出した光の強度と方向により、入射画像が、複数の基準姿勢画像のうちのいずれかに一致するか、いずれにも一致しないかを判定する技術も存在する（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０９−２７３９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したジェスチャー認識技術では、複数のカメラが設けられた非常に大きなスタジオで、人物の身体にマーカを付加するか、またはグローブを人物の手に装着した上で、複数のカメラにより人物を撮像しなければならないため、非常に、人物に負担をかけるものとなっていた。
【０００７】
さらに、動き領域抽出技術では、人物にマーカ等を付与する特別な設定は必要ないが、撮像画像内の動く領域を抽出するといった機能に限定されていた。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、人物等の推定対象に負担をかけることなく、推定対象の姿勢を容易に推定できるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の情報処理装置は、被写体が撮像された撮像画像から、前記被写体の輪郭を抽出する輪郭抽出手段と、前記輪郭を構成する点から、サンプル点を抽出し、サンプル点毎に特徴量を抽出する特徴量抽出手段と、予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量毎に、前記特徴量抽出手段で抽出された前記特徴量との一致の度合いを表す一致度を算出し、一致の度合いが高い姿勢を、前記被写体の姿勢として推定する推定手段と前記推定手段が、前記推定するときのマッチングコストを用いて、前記推定手段による推定の精度を判定する判定手段とを備える。
【００１０】
前記推定手段は、前記画像内で前記被写体の所定の位置に位置するサンプル点を始点とし、その始点を含み、前記始点の近傍に位置するサンプル点から抽出された特徴量を用いるようにすることができる。
【００１１】
前記特徴量は、シェイプコンテキスト（Shape Context）特徴量であるようにすることができる。
【００１２】
前記予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量は、木構造のデータベースで管理されるようにすることができる。
【００１３】
前記被写体が撮像された撮像画像から、前記被写体が現れた領域を表すシルエットを抽出するシルエット抽出手段をさらに備え、前記輪郭抽出手段は、前記シルエットから、前記輪郭を抽出するようにすることができる。
【００１４】
前記推定手段により推定された前記姿勢を変形させて、前記シルエットに合わせ込むフィッティングの処理を実行し、そのフィッティング後の輪郭を構成するサンプル点と、前記シルエットのサンプル点との点間の距離を算出する算出手段をさらに備え、前記判定手段は、前記マッチングコストおよび前記算出手段からの距離のうちのどちらか一方を少なくとも用いて前記判定を行うようにすることができる。
【００１５】
前記判定手段は、Boostingにより学習された識別器で構成されるようにすることができる。
【００１６】
本発明の一側面の情報処理方法は、被写体が撮像された撮像画像から、前記被写体の姿勢を推定する情報処理装置の情報処理方法において、前記撮像画像から、前記被写体の輪郭を抽出し、前記輪郭を構成する点から、サンプル点を抽出し、サンプル点毎に特徴量を抽出し、予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量毎に、抽出された前記特徴量との一致の度合いを表す一致度を算出し、一致の度合いが高い姿勢を、前記被写体の姿勢として推定し、前記推定が行われるときのマッチングコストを用いて、推定された前記被写体の姿勢の精度を判定するステップを含む。
【００１７】
本発明の一側面のプログラムは、被写体が撮像された撮像画像から、前記被写体の姿勢を推定する情報処理装置に、前記撮像画像から、前記被写体の輪郭を抽出し、前記輪郭を構成する点から、サンプル点を抽出し、サンプル点毎に特徴量を抽出し、予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量毎に、抽出された前記特徴量との一致の度合いを表す一致度を算出し、一致の度合いが高い姿勢を、前記被写体の姿勢として推定し、前記推定が行われるときのマッチングコストを用いて、推定された前記被写体の姿勢の精度を判定するステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【００１８】
本発明の一側面の記録媒体は、被写体が撮像された撮像画像から、前記被写体の姿勢を推定する情報処理装置に、前記撮像画像から、前記被写体の輪郭を抽出し、前記輪郭を構成する点から、サンプル点を抽出し、サンプル点毎に特徴量を抽出し、予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量毎に、抽出された前記特徴量との一致の度合いを表す一致度を算出し、一致の度合いが高い姿勢を、前記被写体の姿勢として推定し、前記推定が行われるときのマッチングコストを用いて、推定された前記被写体の姿勢の精度を判定するステップを含む処理を実行させるコンピュータが読み取り可能なプログラムを記録している。
【００１９】
本発明の一側面の情報処理装置および方法、並びにプログラムにおいては、被写体が撮像された撮像画像から、被写体の輪郭が抽出され、その輪郭を構成する点から、サンプル点が抽出され、そのサンプル点毎に特徴量が抽出され、予め用意されている、互いに異なる所定の姿勢を表す複数の特徴量毎に一致の度合いを表す一致度が算出され、一致の度合いが高い姿勢を、被写体の姿勢として推定され、その推定精度が判定される。
【発明の効果】
【００２０】
本発明の一側面によれば、推定対象に負担をかけることなく、推定対象の姿勢を容易に推定することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明を適用した情報処理装置の一実施の形態の構成を示す図である。
【図２】姿勢の推定に係わる処理について説明するためのフローチャートである。
【図３】サンプル点の抽出に係わる処理について説明するためのフローチャートである。
【図４】シルエット画像の一例を示す図である。
【図５】輪郭画像の一例を示す図である。
【図６】特徴量の抽出の仕方について説明するための図である。
【図７】特徴量の抽出の仕方について説明するための図である。
【図８】木構造のモデル姿勢画像群について説明するための図である。
【図９】推定結果の一例を示す図である。
【図１０】本発明を適用した第２の実施の形態における情報処理装置の一実施の形態の構成を示す図である。
【図１１】推定精度の判定に係わる処理について説明するためのフローチャートである。
【図１２】性能評価について説明するための図である。
【図１３】記録媒体について説明するための図である。
【発明を実施するための形態】
【００２２】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２３】
［第１の実施の形態について］
図１は、本発明を適用した情報処理装置の一実施の形態の構成を示す図である。図１に示した情報処理装置１０は、画像を撮像し（撮像された画像を取得し）、その画像に写っている被写体の姿勢を推定する装置に適用できる。
【００２４】
図１に示した情報処理装置１０は、画像入力部１１、シルエット抽出部１２、輪郭抽出部１３、特徴量抽出部１４、マッチング部１５、および姿勢記憶部１６を含む構成とされている。画像入力部１１は、画像を撮像するカメラで構成されたり、カメラなどの撮像装置で撮像された画像を取得する機能を有する装置で構成されたりする。そして、画像入力部１１は、被写体として、例えば、人物を撮像し、その撮像により得られた撮像画像を、シルエット抽出部１２に供給する。
【００２５】
シルエット抽出部１２は、画像入力部１１に入力された画像から、画像内の人物が現れた領域を表すシルエットを検出（抽出）し、検出したシルエットが現れた画像であるシルエット画像を生成して、輪郭抽出部１３に供給する。輪郭抽出部１３は、シルエット抽出部１２から供給されたシルエット画像内から、被写体の輪郭を抽出する処理を行う。シルエット画像は、既に２値化されているため、そのエッジを抽出することで輪郭を抽出する。
【００２６】
輪郭抽出部１３で抽出された輪郭の輪郭画像は、特徴量抽出部１４に供給される。特徴量抽出部１４は、供給された輪郭画像から、所定の特徴量を抽出し、マッチング部１５に供給する。姿勢記憶部１６には、被写体が所定の姿勢のときの画像（モデル姿勢画像と記述する）から得られた特徴量が、複数の姿勢毎に予め記憶されている。マッチング部１５は、特徴量抽出部１４により抽出された特徴量と、姿勢記憶部１６に記憶されているモデル姿勢画像毎の特徴量とをマッチングすることで、撮像された画像内の被写体の姿勢を推定する。
【００２７】
このような構成を有する情報処理装置１０には、例えば、被写体のジェスチャーなどを推定する装置に適用できる。その推定の精度が所定の閾値以上の場合、その推定された姿勢を用いて処理をしたり、推定の精度を求めて、精度自体が所定の閾値以上になるように学習したりするときなど、第２の実施の形態として後述するように、推定結果の精度を判定する部分（図１０のフィッティング部１０２と精度判定部１０３）を付加する構成とすることも可能である。
【００２８】
図１に示した情報処理装置１０にはシルエット抽出部１２が設けられ、シルエット抽出部１２で画像内の被写体のシルエットを抽出してから、輪郭抽出部１３で輪郭を抽出する構成とした例を示し，後述する説明も、このような構成の情報処理装置１０を例に挙げて説明する。情報処理装置１０の他の構成として、図示はしないが、シルエット抽出部１２を設けない構成とすることも可能である。すなわち画像入力部１１からの画像が直接、輪郭抽出部１３に供給される構成とし、画像から輪郭抽出部１３で画像内の被写体の輪郭が、シルエットを抽出することなく抽出される構成とされても良い。
【００２９】
例えば、入力された画像から輪郭を抽出する方法としては、以下のようにして学習した結果を用いた方法がある。簡便に記載するに、入力された学習画像から、その学習画像の画素のいくつかを輪郭識別器を生成するときに用いられる輪郭特徴点として抽出し、抽出した輪郭特徴点と学習画像とを輪郭の特徴量を計算する処理部に供給する。ここで、輪郭識別器とは、統計学習により生成された、複数の弱識別器からなる比較的強い識別器であり、人の輪郭を利用して、入力された画像中に人の画像の領域が存在するか否かを識別するときに用いられる識別器である。
【００３０】
処理部は、供給された学習画像に基づいて、例えばステアラブルフィルタ（Steerable Filter）を用いたフィルタ処理により、輪郭特徴点毎に、抽出された輪郭を示す輪郭特徴量を計算し、求められた輪郭特徴量と学習画像とを輪郭の識別器を生成する生成部に供給する。生成部は、供給された学習画像および輪郭特徴量に基づいて、例えばAdaboostによる統計学習処理を行い、画像中における対象物体である人を認識する輪郭識別器を生成する。このようにして生成された輪郭識別器を、輪郭抽出部１３として用いることで、画像入力部１１に入力された画像から被写体の輪郭を抽出することができる。
【００３１】
しかしながら、図１に示したようにシルエット抽出部１２でシルエットを抽出してから輪郭を抽出することで、より精度良く被写体の輪郭を抽出できると考えられる。また、事前に上記したような識別器を生成するための学習を行わなくても、被写体の輪郭を抽出できる。すなわち、シルエット抽出部１２によりシルエットを求めると、後述するように白色の画素と黒色の画素で示される２値化された画像が生成される。よって、このような２値化された画像からは、白色の画素と黒色の画素が隣接する部分を輪郭として抽出すれば良く、より精度良く輪郭を抽出することができる。
【００３２】
このようなことから、姿勢を推定するときの精度を高めたいときなどには、図１に示したように情報処理装置１０のようにシルエット抽出部１２を設けた構成とし、精度が低くても良いときなどには、シルエット抽出部１２を設けない構成とするようにしても良い。また、画像入力部１１に入力される画像の種類、解像度などを考慮して、シルエット抽出部１２を設けた方がより精度が高く姿勢が推定される場合には、シルエット抽出部１２を設けた構成とし、シルエット抽出部１２を設けなくても精度が高く姿勢を推定できる場合には、シルエット抽出部１２を設けない構成とするといったようにしてもよい。
【００３３】
［姿勢の推定に係わる処理について］
次に、図１に示した情報処理装置１０の動作について説明する。まず、図２と図３のフローチャートを参照し、情報処理装置１０が行う姿勢の推定に係わる処理について説明する。
【００３４】
ステップＳ１０１において、画像入力部１１は、画像を取得する。画像入力部１１が、例えば、静止画像を撮像するカメラを含む構成とされていた場合、そのカメラにより撮像された画像が取得され、映像を撮影するカメラを含む構成とされていた場合、そのカメラにより撮影された映像を構成する画像（１フレーム）が取得される。または、ネットワークなどを経由して他の装置に記憶されている画像などが取得されても良い。
【００３５】
ステップＳ１０２において、画像入力部１１により取得された画像が、シルエット抽出部１２に供給され、シルエット抽出部１２にて、シルエットが抽出される。すなわち、シルエット抽出部１２に供給される画像には、被写体が写し出されており、その被写体と、そうでない部分とが明確に区別が付くような画像が生成される。例えば、シルエット抽出部１２により、図４に示すような画像が生成される。
【００３６】
図４は、シルエット抽出部１２により、画像から生成されるシルエット画像の一例を示している。シルエット画像は、例えば、各画素の画素値が０または１に２値化された２値化画像である。シルエット画像内の人物のシルエットは、画素値が０を表す白色の画素（白色画素）で示されると共に、シルエット画像内の背景は、画素値が１を表す黒色の画素（黒色画素）で示されている。
【００３７】
なお、画像内の人物のシルエットを検出する検出方法としては、例えば、２台のカメラの視差から対象物の距離を算出する「ステレオビジョン」や、レーザを照射してその反射光を検出するまでの時間を測定することによって距離を算出する「レーザレンジファインダ」等を利用して画像中の対象物の距離を測定し、距離の閾値をもって背景と人物像を分離するといった方法を用いることが可能である。
【００３８】
または、画像入力部１１がカメラで構成され、そのカメラが固定されているような場合、カメラで撮像される画像内の背景は変動が少ない。そのようなときには、背景差分法を用いて抽出しても良い。すなわち、予め撮像されて保持されている、人物を含まない背景のみが撮像された背景画像と、画像入力部１１からの画像との差分をとる背景差分法を用いることにより、撮像画像内の人物のシルエットを検出する方法を採用することができる。また、その場合、フレーム間差分処理で抽出した動物体の情報を用いれば、さらに正確に抽出することが期待できる。
【００３９】
または、Graph Cutとステレオビジョンを用いる方法（"Bi-Layer segmentation of binocular stereo video" V.Kolmogorov， A.Blake et al. Microsoft Research Ltd., Cambridge, UK）を用れば、より精度良く撮像画像内の人物のシルエットを検出することができる。
【００４０】
図２のフローチャートの処理の説明に戻り、ステップＳ１０３において、シルエット抽出部１２により抽出されたシルエット画像は、輪郭抽出部１３に供給され、輪郭抽出部１３により輪郭が抽出される。すなわち、輪郭抽出部１３は、シルエット抽出部１２から供給されたシルエット画像内からその輪郭を抽出する処理を行う。シルエット画像は、既に２値化されているため、そのエッジを抽出すれば輪郭が得られる。このエッジの抽出手法には、例えば、１次微分法（Sobel法、Roberts法）、Laplacian of Gaussian法、Canny法などを適用することが可能である。ここでは、Laplacian of Gaussian法が用いられて、シルエット画像から輪郭が抽出されるとして説明を続ける。
【００４１】
図５は、輪郭抽出部１３により、シルエット画像から生成された輪郭画像の一例を示している。輪郭画像は、シルエット画像と同じく、各画素の画素値が０または１に２値化された２値化画像である。輪郭画像内の人物の輪郭は、画素値が０を表す白色画素で示されると共に、輪郭画像内の背景と、人物の輪郭以外の部分は、画素値が１を表す黒色画素で示されている。
【００４２】
図２のフローチャートの処理の説明に戻り、ステップＳ１０３において輪郭抽出部１３により生成された輪郭画像は、特徴量抽出部１４に供給される。特徴量抽出部１４は、供給された輪郭画像から所定の特徴量を抽出する。特徴量の抽出は、ステップＳ１０４において、サンプル点が抽出され、ステップＳ１０５において、その抽出されたサンプル点での特徴量が抽出される。まず、ステップＳ１０４において実行されるサンプル点の抽出に係わる処理について説明する。
【００４３】
サンプル点は、輪郭画像からある一定数抽出される。輪郭画像から一定数のサンプル点を抽出する方法には、例えば、
（輪郭を構成する点の総数）/（所望のサンプル点数）
をステップ数とし、輪郭を構成する所定の点（画素）上から、ステップ数毎にサンプリングすることにより１次元的に満遍なく抽出するという方法がある。このような方法を用いても良いが、ここでは、別の方法を図３のフローチャートを参照して説明する。
【００４４】
ステップＳ１２１において、輪郭を構成する全ての点相互の距離が算出される。距離は、例えばユークリッド距離が用いることが可能である。次に、ステップＳ１２２において、その距離の中から最小の距離が検出される。次にステップＳ１２３にて、その最小距離を構成する２点のうちの一方の点が削除される。例えば、点のデータを一時記憶しておき、最小距離を構成する２点のうちの一方の点のデータを、一時記憶しているデータから削除することで点が除去される。このような除去が行われるとき、除去対象とされる点の候補が複数あるような場合、いずれかの点が選択され除去される。
【００４５】
ステップＳ１２４において、除去した点が構成する距離データが除去（消去）される。ステップＳ１２５において、残存点数が所望のサンプル点数となったか否かが判断される。ステップＳ１２５において、残存点数が所望のサンプル点数となっていないと判断された場合、ステップＳ１２２に処理が戻され、それ以降の処理が繰り返される。一方、ステップＳ１２５において、残存点数が所望のサンプル点数となったと判断された場合、処理はステップＳ１０５（図２）に戻され、それ以降の処理が実行される。
【００４６】
このように特徴量を抽出するために用いられるサンプル点を抽出することで、２次元的に満遍なくサンプル点を抽出することが可能となる。すなわち、上記したような一定のステップ数での抽出法では、輪郭線が込み入った状態になっている箇所にサンプル点が集中してしまうが、この方法では、そのようなサンプル点が集中してしまうといった現象を防ぐことができる。
【００４７】
さらに、特徴量として、Shape Context特徴量を抽出する例をあげて以下の説明をするが、図３に示したフローチャートの処理に基づいてサンプル点が抽出されることで、Shape Context特徴量の記述力の向上が得られ、推定結果の精度の向上させることが可能となる。ここでは示さないが、このようなことは、本出願人による実験の結果、実証されている。
【００４８】
なお、図３に示したフローチャートの処理に基づきサンプル点を抽出する場合、ステップＳ１２１で実行される点相互の距離計算には、その点数の２乗回の計算が必要である。よって、輪郭を構成する点数が多い場合、計算量の増大を招いてしまうことが考えられる。そこで、計算量の増大を防ぐために、まず所望のサンプル点数の数倍の点数のサンプル点が、一定のステップ数で抽出されるようにする。そして、その抽出結果に対して、図３のフローチャートを参照して説明した相互距離を用いた方法が適用され、最終的な所望のサンプル点が取得されるようにしてもよい。
【００４９】
このようにしてサンプル点が抽出されると、ステップＳ１０５（図２）において、特徴量抽出部１４は、サンプル点を用いて、輪郭画像から特徴量を抽出する。ここでは、上記したように、特徴量として、Shape Context特徴量が抽出されるとして説明を続ける。
【００５０】
特徴量抽出部１４は、輪郭抽出部１３から供給された輪郭画像から上記したようにサンプル点を抽出すると、そのサンプル点で構成される輪郭線の特徴を表す複数のヒストグラムにより構成されるシェイプコンテキスト（Shape Context）特徴量（以下、輪郭線のシェイプコンテキスト特徴量という）を生成する。
【００５１】
シェイプコンテキスト特徴量を生成する生成方法の詳細は、図６を参照して説明する。また、シェイプコンテキスト特徴量のより詳細な生成方法は、例えば、「"Matching with Shape Contexts"(IEEE Workshop on Contentbased Access of Image and Video Libraries, 2000)」に記載されている。
【００５２】
図６の左側には、輪郭線を構成する所定の白色画素（サンプル点）を中心とする複数の同心円と、所定の白色画素から放射状に伸びた線分により囲まれて形成される略扇形の複数の領域が示されている。
【００５３】
図６の右側には、横軸を、複数の領域それぞれを示すBin番号とし、縦軸を、対応するBin番号の領域内に存在する輪郭線を構成するサンプル点の個数を示すサンプル点数とする横軸と縦軸とで定義されるヒストグラムが示されている。
【００５４】
特徴量抽出部１４は、輪郭抽出部１３からの輪郭線を構成するサンプル点に順次、注目する。そして、注目しているサンプル点を中心として形成される、図６左側に示すような複数の領域から、ヒストグラムを生成する。特徴量抽出部１４は、注目される、輪郭線を構成するサンプル点の数だけ得られた複数のヒストグラムを、輪郭線のシェイプコンテキスト特徴量として、マッチング部１５に供給する。
【００５５】
例えば、特徴量抽出部１４は、図６左側に示すように、領域Ａに存在する個数が５個である場合、領域Ａを示すBin番号に対応するサンプル点数を５点とし、領域Ｂに存在する個数が７個である場合、領域Ｂを示すBin番号に対応するサンプル点数を７点として、図６右側に示すようなヒストグラムを生成する。そして、そのヒスとグラムを、シェイプコンテキスト特徴量として、マッチング部１５に供給する。
【００５６】
さらに特徴量抽出部１４が行うシェイプコンテキスト特徴量の抽出ついての処理の手順を説明する。特徴量抽出部１４は、輪郭抽出部１３からの輪郭画像内の輪郭線を構成するサンプル点のうちの所定の画素に注目し、注目画素とする。そして、特徴量抽出部１４は、その注目画素に対応して、図６左側に示したように、略扇形の複数の領域を設定する。
【００５７】
設定された複数の領域毎に、領域に含まれるサンプル点を検出することにより、図６右側に示したような、ヒストグラムが生成される。特徴量抽出部１４は、輪郭線を構成するサンプル点の全てを、注目画素としたか否かを判定し、まだサンプル点全てを注目画素としていないと判定した場合、まだ注目画素とされていないサンプル点を、新たな注目画素として、上述した処理が繰り返される。よって例えば、サンプル点が１００点あった場合、１００個のヒストグラムが生成される。
【００５８】
そして特徴量抽出部１４は、輪郭線を構成するサンプル点全てを、注目画素としたと判定した場合、注目される、輪郭線を構成するサンプル点の数だけ得られた複数のヒストグラムを、輪郭線のシェイプコンテキスト特徴量とする。
【００５９】
図７を参照して、シェイプコンテキスト特徴量を構成する所定のヒストグラムが、輪郭線等の線の一部分の特徴を一意に表していることを説明する。図７左上側および図７右上側には、それぞれ、ローマ字の「Ａ」の輪郭をなぞるように、その輪郭を表す画素である輪郭画素が示されている。
【００６０】
図７左上側の「Ａ」の領域５１と、図７右上側の「Ａ」の領域５２とは、いずれも、右斜め上方向から左斜め下方向に向かって伸びる、複数の輪郭画素により構成される線分が存在する領域であるため、領域５１と領域５２とは互いに類似する領域である。
【００６１】
この場合、図７下側に示すように、領域５１から得られるヒストグラム５１aと、領域５２から得られるヒストグラム５２a同士が類似していることがわかる。また、図７左側の「Ａ」の領域５３は、左方向から右方向に向かって伸びる、複数の輪郭画素により構成される線分が存在する領域であるため、領域５１および領域５２とは全く異なる領域である。この場合、図７下側に示すように、領域５３から得られるヒストグラム５３aと、領域５１から得られるヒストグラム５１a（領域５２から得られるヒストグラム５２a）同士は異なることがわかる。
【００６２】
図７に示すように、領域内に存在する図形（輪郭画素の配置）同士が類似する場合には、領域から得られるヒストグラム同士も類似し、領域内に存在する図形同士が類似しない場合には、領域から得られるヒストグラム同士も類似しない。したがって、領域から得られるヒストグラムは、領域内に存在する図形を一意に表現しているものである。
【００６３】
このようにして、特徴量抽出部１４は、シェイプコンテキスト特徴量を輪郭画像から抽出すると、そのシェイプコンテキスト特徴量を、マッチング部１５に供給する。マッチング部１５は、ステップＳ１０６（図２）において、マッチングを実行する。マッチング部１５は、姿勢記憶部１６に記憶されているシェイプコンテキスト特徴量と、特徴量抽出部１４からのシェイプコンテキスト特徴量を比較することで、マッチングを実行する。
【００６４】
なお、姿勢記憶部１６には、予め特徴量抽出部１４で抽出される特徴量と同じ種類の特徴量、すなわちこの場合、シェイプコンテキスト特徴量が記憶されている。また、そのシェイプコンテキスト特徴量は、複数の姿勢を撮像した複数のモデル姿勢画像からそれぞれ抽出されたものである。さらには、後述するように、シェイプコンテキスト特徴量は、木構造のデータベースで管理されている。
【００６５】
マッチング部１５は、特徴量抽出部１４からの輪郭線のシェイプコンテキスト特徴量と、複数のモデル姿勢画像毎に、姿勢記憶部１６に記憶されているモデル姿勢画像のシェイプコンテキスト特徴量との一致度（シェイプコンテキスト特徴量の一致度）を算出する特徴量マッチング処理を行い、その特徴量マッチング処理により、複数のモデル姿勢画像毎に得られたシェイプコンテキスト特徴量の一致度を算出する。
【００６６】
すなわち、マッチング部１５は、輪郭線を構成するサンプル点を、例えば、ラスタスキャン順に順番に並べたときのx番目のサンプル点について得られるヒストグラムと、モデル姿勢画像を構成する画素を、ラスタスキャン順に順番に並べたときのx番目の画素について得られるヒストグラムとを決定する。そして、輪郭線を構成するサンプル点のうちのx番目のサンプル点について得られるヒストグラムと、モデル姿勢画像を構成する画素のうちのx番目の画素について得られるヒストグラムとの対応するBin番号のサンプル点数同士のカイ２乗距離を用いて評価し、その距離の積算値をシェイプコンテキスト特徴量間のコストとする。
【００６７】
Bin番号の数が、ｋ個であるようなヒストグラムＰ（ｋ）とＱ（ｋ）との間のカイ２乗距離ｘ２は、次式（１）で求められる。
【数１】
2010176380.tif 000003
例えば、ヒストグラムＰ（ｋ）は、輪郭線を構成するサンプル点のヒストグラムであり、ヒストグラムＱ（ｋ）は、モデル姿勢画像を構成する画素のヒストグラムである。
【００６８】
ヒストグラム同士の一致度を評価する評価方法としては、カイ２乗距離の他に、ＫＬダイバージェンス、バタチャリア距離等の各種の尺度を用いることが可能である。ＫＬダイバージェンス（カルバック・ライブラー情報量）を用いた場合、ヒストグラムＰ（ｋ）からヒストグラムＱ（ｋ）への距離ＤＰＱは、次式（２）で求められる。
【数２】
2010176380.tif 000004
【００６９】
距離の積算値をシェイプコンテキスト特徴量とするとき、Hungarian Method等のコスト最小化アルゴリズムを用いて算出するようにしても良い。Hungarian Methodは、ある２系列のサンプルとそのサンプル間の相互間に何らかの関数で計算したコストがある場合に、積算コストが最小となるようなサンプル間の組み合わせを求める手法である。
【００７０】
例えば、マッチング部１５は、輪郭線を構成するサンプル点と、モデル姿勢画像を構成する画素とを、それぞれ、１対１に対応付けたときの全ての組み合わせ毎に、コンテキスト特徴量の一致度を算出する。そして、マッチング部１５は、全ての組み合わせ毎に算出されたコンテキスト特徴量の一致度のうちの最小値を、例えばHungarian Method等のコスト最小化アルゴリズムを用いて算出し、最終的なコンテキスト特徴量の一致度として採用する。
【００７１】
この場合、例えば、輪郭線を構成するサンプル点と、モデル姿勢画像を構成する画素とを、ラスタスキャン順等の順番で１対１に対応付ける場合と比較して、より適切なシェイプコンテキスト特徴量の一致度を算出することができる。しかしながら、この場合、例えば、サンプル点が１００点あった場合、輪郭線を構成するサンプル点毎の１００個のヒストグラムと、モデル姿勢画像を構成する１００個の画素のヒストグラムを比較してシェイプコンテキスト特徴量が算出される。すなわちこの場合、１００×１００の１万回の演算が行われることになる。
【００７２】
本実施の形態を適用して推定される姿勢が、例えば、人間の姿勢である場合、処理対象とされる画像内の被写体の頭は画像内の上側にあり、足は下側にある可能性が非常に高い。よって、例えば、頭の輪郭の部分を構成するサンプル点のヒストグラムと、足の輪郭を構成するモデル姿勢画像のヒストグラムが比較されても、その距離は遠くなり、あまり意味のない演算となってしまうことが考えられる。
【００７３】
そこで、計算量を削減する為、サンプル点の並びをある一定の規則に従って固定し、決まった対応点間の距離の積算をコストとする手法を用いても良い。この手法を用いて、計算量を削減しても、推定精度が低下しないことは、本出願人が確認している。また、計算量が削減されることにより、処理速度が大幅に向上されることも確認されている。ここで、この手法について説明を加える。
【００７４】
例えば、輪郭画像内で一番高い位置（上側の位置）のサンプル点を始点とする。手を挙げているといったような状況をのぞくと、輪郭画像内で一番高い位置のサンプル点は、頭のてっぺんの位置に位置する点となる。そのようなサンプル点のヒストグラムと、モデル姿勢画像を構成する、例えば１００点の１００個のヒストグラムが比較されることで距離が算出され、評価され、その距離の積算値が、シェイプコンテキスト特徴量間のコストとして用いられる。
【００７５】
このように、輪郭が画像内の所定の位置のサンプル点のヒストグラムだけを用いて、コストを算出するようにしても良い。しかしながら、１点だけだと、精度が保てない可能性があるので、始点としたサンプル点の前後のサンプル点も、比較対象とする。
【００７６】
例えば、始点の右側に位置するサンプル点の５点と、左側に位置するサンプル点の５点を、さらに比較対象とする。すなわち、輪郭画像内のサンプル点のうち、始点を含めた１１点の１１個のヒストグラムのそれぞれと、モデル姿勢画像を構成する、例えば１００点の１００個のヒストグラムが比較されることで距離が算出され、評価され、その距離の積算値が、シェイプコンテキスト特徴量間のコストとして用いられるようにしてもよい。このようにした場合、１１×１００の１１００回の演算が行われることになるが、上記した１万回の演算と比較すれば、その演算回数は、大幅に削減できていることがわかる。
【００７７】
なお、始点となるサンプル点は、輪郭画像内で一番高い位置に位置するサンプル点に限らず、所定の位置に位置するサンプル点であればよい。例えば、一番左上に位置するサンプル点を始点としても良い。また、始点を含む複数のサンプル点は、始点の左右方向や上下方向に位置するサンプル点であればよい。換言すれば、始点の近傍に位置するサンプル点が用いられる。
【００７８】
このような演算量を削減した手法でも、特に、人物などが被写体の場合であり、画像内の頭の位置などに一定の規則があるような画像の場合には、推定精度を落とすことなく姿勢の推定を行える。
【００７９】
さらに、演算量を削減し、推定精度が落ちることがない姿勢の推定の仕方について説明を続ける。マッチング部１５は、姿勢記憶部１６に記憶されているモデル姿勢画像毎に、マッチングを行う。ここで、姿勢記憶部１６に記憶されているモデル姿勢画像群について説明する。図８は、姿勢記憶部１６に記憶されているモデル姿勢画像群の一例を示す図である。
【００８０】
モデル姿勢画像は木構造のデータベースで管理されている。図８は、第１階層乃至第３階層の３階層の木構造とされたデータベースの一例を示している。第１階層は、モデル姿勢画像１１１−１乃至１１１−ＬのＬ枚の画像から構成されている。第１階層のモデル姿勢画像１１１−１には、第２階層を構成するモデル姿勢画像１２１−１乃至１２１−ＭのＭ枚の画像が関連付けられている。同様に、第２階層のモデル姿勢画像１２１−１には、第３階層を構成するモデル姿勢画像１３１−１乃至１３１−ＮのＮ枚の画像が関連付けられている。
【００８１】
モデル姿勢画像１１１−１に関連付けられるモデル姿勢画像１２１−１乃至１２１―Ｍは、モデル姿勢画像１１１−１に類似（派生）する姿勢の画像である。また、モデル姿勢画像１２１−１に関連付けられるモデル姿勢画像１３１−１乃至１３１―Ｎは、モデル姿勢画像１２１−１に類似する姿勢の画像である。換言すれば、階層が深くなると（第１階層から第３階層に向かう方向）、より詳細な姿勢を表す画像となる。
【００８２】
図８に示した例は一例であり、木構造は、何らかの尺度によって距離が近い姿勢が同じ枝の下に所属するという構造となっていればよい。このような木構造で構成されるモデル姿勢画像群は、例えば各階層においてデータベースのクラスタリングを繰り返すことにより構築することが可能である。また、上位層から構築するトップダウン型、下位層から構築するボトムアップ型等、様々な手法が考えられる。
【００８３】
一例として、モデル姿勢画像内の被写体（モデル）の各関節の２次元座標を用いて各姿勢間の距離を求め、この距離を尺度とする。そして初期クラスタは、LBGアルゴリズムを用いて構成し、それらをEM法を用いてGaussian Mixture Modelへと近似するクラスタリング手法を用い、各クラスタの平均値に最も近い姿勢を、そのクラスタの代表姿勢とし、その階層の枝の一つとする。このような処理を繰り返すことで木構造を構築する。
【００８４】
本実施の形態では、このような木構造のモデル姿勢画像群を用いて推定を行うことにより、全探索に比較して大幅な高速化を実現する。ここで、仮に、図８に示した木構造を構成する全てのモデル姿勢画像を対象として全探索を行うとする。なお、全探索の場合、木構造にする必要はない。また仮定として、第１階層を構成する１枚のモデル姿勢画像１１１に関連付けられている第２階層を構成するモデル姿勢画像１２１はＭ枚であるとし、第２階層を構成する１枚のモデル姿勢画像１２１に関連付けられている第３階層を構成するモデル姿勢画像１３１はＮ枚であるとする。このようにした場合、全探索では、（Ｌ×Ｍ×Ｎ）枚のモデル姿勢画像が探索対象とされる。
【００８５】
全探索に対して、図８に示した木構造のモデル姿勢画像群を用いて探索を行うと、以下のように処理が実行されるため、探索対象とされるモデル姿勢画像は、全探索に対して格段と少ない枚数ですむことになる。すなわち、例えば、まず第１階層を構成するＬ枚のモデル姿勢画像１１１−１乃至１１１−Ｌが探索対象とされる。 モデル姿勢画像１１１−１乃至１１１−Ｌのうちの最小コストとなった、例えば、モデル姿勢画像１１１−１に関連付けられている第２階層のモデル姿勢画像１２１−１乃至１２１−ＭのＭ枚が、次の探索対象とされる。
【００８６】
そして、モデル姿勢画像１２１−１乃至１２１−Ｌのうちの最小コストとなった、例えば、モデル姿勢画像１２１−１に関連付けられている第３階層のモデル姿勢画像１３１−１乃至１３１−ＮのＮ枚が、次の探索対象とされる。そして、モデル姿勢画像１３１−１乃至１３１−Ｎのうちの最小コストとなった、例えば、モデル姿勢画像１３１−１が、推定結果として出力される。
【００８７】
このように、第１階層から順に第３階層までのモデル姿勢画像が探索されることにより、探索対象とされるモデル姿勢画像の枚数は、（Ｌ＋Ｍ＋Ｎ）枚となる。よって、全探索のときの（Ｌ×Ｍ×Ｎ）枚よりもはるかに少ない（Ｌ＋Ｍ＋Ｎ）枚で、探索が行えるようになる。よって、上述したように、木構造のモデル姿勢画像群を用いることで、処理の高速化をはかることが可能となる。
【００８８】
マッチング部１５は、ステップＳ１０６（図２）において、上記したようにマッチングを行う。よって、階層毎にマッチングが行われるため、ステップＳ１０７において、最下層のマッチングまで終了したか否かが判断される。すなわち、図８に示したように３階層の木構造の場合、３階層のモデル姿勢画像１３１まで探索対象とされ、マッチングが行われ、最小コストのモデル姿勢画像１３１が決定されたか否かが、ステップＳ１０７において判断される。
【００８９】
ステップＳ１０７において、最下層のマッチングまで処理が終了していないと判断された場合、次の階層に移動して、ステップＳ１０６以降の処理が繰り返し行われる。一方、ステップＳ１０７において、最下層のマッチングまで処理が終了したと判断された場合、ステップＳ１０８に処理が進められる。ステップＳ１０８において、最尤姿勢が抽出される。
【００９０】
すなわち、マッチング部１５は、複数のモデル姿勢画像のうち、一致の度合いが最大（最小コスト）のシェイプコンテキスト特徴量のコストに対応するモデル姿勢画像、例えば、複数のシェイプコンテキスト特徴量の一致度のうち、最小のシェイプコンテキスト特徴量の一致度に対応するモデル姿勢画像が表す姿勢を、画像入力部１１に入力された画像内の被写体の姿勢であると推定して、その推定結果を出力する。
【００９１】
推定結果として出力されるのは、最小コストとされたモデル姿勢画像における関節の位置に関するデータである。姿勢記憶部１６には、図８に示したような木構造のモデル姿勢画像群が記憶されているとしたが、具体的には、モデル姿勢画像毎に、サンプル点の座標、そのサンプル点毎の特徴量（ヒストグラム）、および関節の位置が記憶されている。例えば、モデル姿勢画像１１１−１には、モデル姿勢画像１１１−１から抽出されたサンプル点の座標、そのサンプル点からそれぞれ得られた特徴量、および、モデル姿勢画像１１１−１の被写体の関節の位置（座標）が、モデル姿勢画像１１１−１として記憶されている。
【００９２】
そして、推定の結果、例えば、モデル姿勢画像１１１−１の特徴量との比較結果が、最もコストが小さいと判定された場合には、モデル姿勢画像１１１−１の関節の位置のデータが、推定された姿勢のデータとして後段の処理部に出力される。
【００９３】
このように、ノイズやスケール変化に強いシェイプコンテキスト（Shape Context）特徴量と木構造のデータベースを組み合わせて、入力された画像内の被写体の姿勢を推定することにより，その推定を精度良く高速に行うことができる。ここで、推定結果の一例を、図９に示す。
【００９４】
図９の左側に示したのは、入力画像から生成されたシルエット画像であり、中央の白色の部分が、被写体のシルエットとして抽出されたときの画像である。図９の右側に示したのは、入力画像と推定結果を重ね合わせた画像である。図９の右側に示した画像のうち、点と線分で示したのが、推定された関節の位置である。図９の左側の画像から、画像内の被写体の姿勢と、推定された関節の位置は一致しており、画像内の被写体の姿勢を正確に推定できていることが確認できる。
【００９５】
上記したように姿勢を推定するので、画像内の被写体自体は、撮像されるだけで良く、マーカーなどをつけたりして撮像される必要がない。よって、被写体（使用者）に負担をかけずに、また特別な環境も必要とせずに人物の姿勢を捉えることが可能となる。よって、本発明を適用することで、例えば一般家庭内などでも、使用者のジェスチャーなどを推定することが容易となり、一般家庭内などで利用されるアプリケーションなどへの展開が容易となる。
【００９６】
［第２の実施の形態について−推定の精度判定］
上記したように姿勢を推定することで、特別な環境を必要とせずに人物の姿勢推定が行える。例えば、推定結果を人物の各関節位置の追跡の初期位置として用いるといった場合には、相当程度の推定精度が要求される。仮に低い精度でしか推定できなかった推定結果を用いて各関節位置の追跡の初期位置としてしまった場合、その初期位置自体が、間違っている可能性が高く、よって、その後の処理が正確に行えない可能性がある。
【００９７】
そこで、推定結果の精度を判定し、その判定結果に基づき、例えば、上記したような各関節位置の追跡の初期位置として用いるか否かを判断できるようにする。推定結果の精度を判定することで、精度が低いと判定されたときには、その結果が用いられる後段の処理は行われないようにすることで、常に一定以上の精度を保った処理を行うことが可能となる。
【００９８】
そのような判定を行う場合、図１の情報処理装置１０に、フィッティング部１０２と精度判定部１０３を追加した、図１０に示したような構成の情報処理装置１００にする。図１０に示した情報処理装置１００は、図１に示した情報処理装置１０に、フィッティング部１０２と精度判定部１０３を追加した構成とされ、その他の構成は、図１に示した情報処理装置１０と同一であるので、同一の符号を付し、その説明は省略する。ただし、図１に示したマッチング部１５と図１０に示したマッチング部１０１は、異なる処理を含むため、異なる符号を付した。
【００９９】
図１０に示した情報処理装置１００においては、フィッティング部１０２と精度判定部１０３により、マッチング部１０１で推定された姿勢の精度が判定される。情報処理装置１００においては、上記したような処理が実行されることで、姿勢の推定が行われ、その推定結果が、マッチング部１０１から出力されるが、そのとき、最尤姿勢の出力と共に、その姿勢と入力画像とのシェイプコンテキスト特徴量のマッチングコストが出力される。
【０１００】
マッチング部１０１からフィッティング部１０２へは、最尤姿勢の関節位置のデータとサンプル点のデータが供給される。また、特徴量抽出部１４から、入力画像のサンプル点のデータが供給される。フィッティング部１０２では、例えば、Booksteinのモーフィング法が用いられて、最尤姿勢の関節位置のデータが入力画像のサンプル点に合わせ込まれるといった処理が行われる。そして、合わせ込まれた関節位置のデータが用いられて、最尤姿勢と入力画像のサンプル点間の距離が算出され出力される。
【０１０１】
マッチング部１０１より出力されたマッチングコスト、およびフィッティング部１０２より出力されたサンプル点間の距離は精度判定部１０３へと入力され、予めBoostingによって学習された識別器によって推定精度の良否判定が行われその結果が出力される。
【０１０２】
次に、図１１のフローチャートを参照して、推定の精度を判定する処理について説明する。図１１のフローチャートの処理が実行される前提として、画像入力部１１乃至マッチング部１０１において、図２、図３のフローチャートを参照して説明した処理、すなわち、第１の実施の形態においける姿勢の推定に係わる処理が実行され、推定結果が得られる状態にあるときを前提としている。この推定に係わる処理については、既に説明したので、その説明は省略する。
【０１０３】
ステップＳ１５１において、フィッティング部１０２と精度判定部１０３は、マッチング部１０１から推定された姿勢に関するデータを取得する。上記したように、マッチング部１０１では、入力画像から抽出された一定数のサンプル点を基に生成されたシェイプコンテキスト特徴量と、予め同じルールに従って生成されたモデル姿勢群のシェイプコンテキスト特徴量とのマッチングが行われ、最もマッチングコストの低いモデル姿勢が最尤姿勢として出力される。
【０１０４】
このマッチング（図１に示したマッチング部１５が行うマッチング）は、シェイプコンテキスト特徴量の構成要素である「各サンプル点におけるヒストグラム」の距離が、何らかの尺度（例えば、カイ２乗距離）で算出され積算されたものがコストとして用いられるとして説明した。しかしながら、図１０に示した情報処理装置１００は、推定の精度を判定するために、マッチング部１０１は、個々のヒストグラムの算出結果を積算せずに、そのまま精度判定部１０３へと出力する。よって、例えば、１００個のヒストグラムとの算出結果があった場合、１００個の演算結果が出力される。
【０１０５】
一方で、マッチング部１０１は、フィッティング部１０２に対して、最尤姿勢の関節位置とサンプル点のデータを供給する。また特徴量抽出部１４から、フィッティング部１０２に対して、入力画像のサンプル点データが供給される。
【０１０６】
ステップＳ１５２において、フィッティング部１０２は、フィッティング処理を実行する。フィッティング部１０２は、マッチング部１０１から供給された最尤姿勢のサンプル点の位置データ（座標）を、入力画像のサンプル点の位置データへモーフィング法を用いて合わせ込む処理を行う。最尤姿勢として検出されたモデルの姿勢と入力画像の姿勢との間には誤差が存在し、これを補正するために合わせ込み処理が行われる。
【０１０７】
フィッティング部１０２が行うモーフィング法として、University of MichiganのFred.L.Booksteinが”Principal Warps: Thin-plate Splines and the Decomposition of Deformations (IEEE Transaction on Pattern Analysis and Machine Intelligence, Vol.II, No.6, June 1989)”で提唱した方法を用いることができる。このモーフィング法によれば、対応するサンプル点間の変換行列が得られ、この行列を関節座標に適用することにより、入力画像へ合わせ込まれた座標を得ることができる。
【０１０８】
フィッティング部１０２は、合わせ込まれたサンプル点と、それに対応する入力画像のサンプル点との間のユークリッド距離を各点毎に算出し、このユークリッド距離を精度判定部１０３へと出力する。
【０１０９】
ステップＳ１５３において、精度判定部１０３において推定精度の判定が行われる。精度判定部１０３は、マッチング部１０１から供給されたマッチングコストと、フィッティング部１０２から供給されたサンプル点間の距離とを基に精度の良否の判定をする。この判定には、Boostingという機械学習手法を用いて教師あり学習にて作成した識別器を用いることができる。Boostingとは、Weak Learnerという弱い識別器を複数組み合わせることによって１つの強い識別器を構成するという手法である。その学習法等の違いから様々な種類が存在するが、例えば、AT&TのY.Freundらが“A short Introduction to Boosting”(Journal of Japanese Society for Artificial Intelligence, 1999)にて提唱したAdaBoostという手法を本発明には適用できる。
【０１１０】
ここで、本出願人が、以下のような精度判定部１０３を構成し、実際に精度判定したときの性能評価を、図１２に示す。まず、サンプル点数を１００点とする。この場合、マッチングコストが１００次元となり、サンプル点間の距離が１００次元となるので、合計２００次元となる特徴量で学習が行われたことになる。そして約２００枚のポジティブサンプル画像（推定結果がＯＫのもの）と、約１２００枚のネガティブサンプル画像（推定結果がＮＧのもの）が用いられ学習された。その結果、１２８個のWeak Learnerで識別器を生成し、その識別器で、精度判定部１０３が構成された。
【０１１１】
その結果、図１２に示すような性能評価の結果が得られた。図１２の右のグラフは、横軸がサンプル番号、縦軸が識別器の出力のグラフであり、サンプル番号の前半約２００までがポジティブサンプル、後半がネガティブサンプルの結果となっている。識別器の出力が正であれば「推定精度ＯＫ」と判定し、負であれば「推定精度ＮＧ」と判定されることを示している。また、図１２の左のグラフはROCカーブ(Receiver Operating Characteristic Curve)を示している。このROCカーブからわかるように、良好なレベルの識別器が学習できていることがわかる。
【０１１２】
このような識別器から構成される精度判定部１０３の判定結果により、ステップＳ１５３において、精度は良いか否かが判定される。すなわち、ステップＳ１５３において、識別器の出力が評価されて、正であれば「推定精度ＯＫ」と判定され、負であれば「推定精度ＮＧ」と判定される。ステップＳ１５４において、判定結果は、推定精度はＯＫであったか否かが判定される。
【０１１３】
ステップＳ１５４において、推定精度はＯＫであったと判断された場合、ステップＳ１５５に処理が進められ、マッチング部１０１からの推定結果が出力される。一方、ステップＳ１５４において、推定精度はＯＫではない判断された場合、換言すれば、推定精度はＮＧであると判断された場合、ステップＳ１５６に処理が進められ、推定結果は出力されず、破棄される。
【０１１４】
なお、上述した精度判定部１０３は、マッチング部１０１からのマッチングコストと、フィッティング部１０２からの距離のデータを用いて、精度を判定するとしたが、マッチングコストまたは距離のデータのどちらか一方のみで精度を判定するようにしても良い。また、マッチングコストのみで精度を判定するようにした場合、情報処理装置１００の構成は、フィッティング部１０２を削除した構成とされる。なお、ここで、精度判定部１０３は、マッチング部１０１からのマッチングコストと、フィッティング部１０２からの距離のデータを用いて、精度を判定するとして説明したのは、最も精度の判定を精度良く行えるからである。
【０１１５】
このようにして、推定結果の精度が判定され、その判定結果に基づき、推定結果が用いられるか、または用いられないにすることができる。ここでは、このような一例を挙げたが、他に、例えば、推定結果自体は、精度に係わらず常に出力し、推定結果と共に、推定結果の良否（精度）を示すフラグを出力するようにしてもよい。そして、出力された側で、推定結果の良否に基づき、その推定結果を採用するか否かを判断できるような構成としても良い。
【０１１６】
さらには、精度の良否に基づき、再度姿勢の推定が行われるようにしてもよい。換言すれば、精度の良否に基づき、フィードバックをかける構成に情報処理装置１００をしても良い。
【０１１７】
推定の精度が低いと判定されたとき、精度が低いのは、処理対象とされた画像が処理対象に適していなかったことが原因であると考えられる場合、画像入力部１１にフィードバックをかけて、再度画像を取得するように指示が出される。そして、再度取得された画像から、シルエット画像などが生成され、姿勢の推定が行われるようにしてもよい。また、画像入力部１１にフィードバックがかけられた場合、再度画像を取得するのではなく、処理対象とされていた画像に、例えば、画素の補間などの処理を加えることで解像度を上げるなどの処理を加え画像を加工し、その加工された画像に対して、再度姿勢を推定するための処理が実行されるようにしても良い。
【０１１８】
または、推定の精度が低いと判定されたとき、精度が低いのは、シルエット抽出部１２でのシルエット画像の生成時に原因があると考えられる場合、シルエット抽出部１２にフィードバックがかけられて、再度シルエット画像の生成が指示される。シルエット抽出部１２は、処理対象とされていた入力画像に対して、例えば、前回とは異なる閾値を用いて再度シルエット画像を生成するといった処理を行う。そして、その生成されたシルエット画像に対して、再度姿勢を推定するための処理が実行されるようにしても良い。
【０１１９】
または、推定の精度が低いと判定されたとき、精度が低いのは、輪郭抽出部１３での輪郭画像の生成時に原因があると考えられる場合、輪郭抽出部１３にフィードバックがかけられて、再度輪郭画像の生成が指示される。輪郭抽出部１３は、処理対象とされていたシルエット画像に対して、例えば、前回とは異なるエッジの抽出手法を用いて再度輪郭画像を生成するといった処理を行う。そして、その生成された輪郭画像に対して、再度姿勢を推定するための処理が実行されるようにしても良い。
【０１２０】
または、推定の精度が低いと判定されたとき、精度が低いのは、特徴量抽出部１４での特徴量の抽出に原因があると考えられる場合、特徴量抽出部１４にフィードバックがかけられて、再度特徴量の抽出が指示される。特徴量抽出部１４は、処理対象とされていた輪郭画像に対して、例えば、前回とは異なるサンプル点を抽出するために、例えば、ステップＳ１２３（図３）で、最小距離を構成する２点の一方を点データから除去するとき、前回除去した点とは異なる点の点データを除去したり、複数の候補があるときに、いずれかの候補が選択されて除去されたが、前回選択されなかった点を選択して除去したりするといったことを行う。
【０１２１】
または、推定の精度が低いと判定されたとき、精度が低いのは、マッチング部１０１でのマッチングに原因があると考えられる場合、マッチング部１０１にフィードバックがかけられて、再度マッチングが指示される。マッチング部１０１は、再度マッチングを行う場合、前回のマッチングの手法と異なる手法を適用してマッチングを行う。例えば、ヒストグラムの類似度の評価手法として、カイ２乗距離を用いた後、再度特徴量を抽出するときには、ＫＬダイバージェンスやバタチャリア距離などの異なる評価手法が適用されて、再評価されるようにしても良い。
【０１２２】
または、演算量を削減するために、比較対象とされるサンプル点の数を少なくしてマッチングを行うように構成していた場合、比較対象とされるサンプル点の数を増やして再度マッチングを行うようにしても良い。例えば、上記した実施の形態においては、１１点のサンプル点を比較対象とした例を挙げたが、その１１点に、さらに前後のサンプル点を複数（例えば、２点ずつ計４点）追加してマッチングを行うようにしても良い。
【０１２３】
または、図８に示した木構造のモデル姿勢画像群を用いてマッチングが行われる場合、第１階層を構成するモデル姿勢画像から最小コストのモデル姿勢画像が選択され、その選択されたモデル姿勢画像に関連付けられている第２階層のモデル姿勢画像から最小コストのモデル姿勢画像が選択されといったような処理が最下層のモデル姿勢画像まで繰り返されるマッチングが行われるとした。そこで、再マッチングが行われるときには、第１階層を構成するモデル姿勢画像のうち、前回までに選択されたモデル姿勢画像を除外してマッチングが行われるようにする。
【０１２４】
例えば、第１階層を構成するモデル姿勢画像１１１−１が選択されたときの推定精度が低く、そのために、再度マッチングが行われるときには、モデル姿勢画像１１１−１以外で、第１階層のモデル姿勢画像群を構成するモデル姿勢画像１１１−２乃至１１１−Ｌがマッチング対象のモデル姿勢画像とされる。このような処理が行われる場合、１回目のマッチングのときに、最小コストの、例えば、上位３位までのモデル姿勢画像を記憶しておき、再マッチングが行われるときには、最小コストの第２位のモデル姿勢画像がマッチング対象とされるといったようにしても良い。
【０１２５】
なお、フィードバックをかける構成とするか否かにかかわらず、例えば、上位３位までのモデル姿勢画像を処理対象として、常に処理が行われるようにしても良い。換言すれば、始めに、マッチングが行われるときに、最小コストの上位３位までが推定姿勢として出力されるようにし、精度判定部１０３は、上位３位までの推定姿勢のうち、最も確からしい姿勢を１つ選択して出力する構成としても良い。
【０１２６】
なお、フィードバックをかける部分は、情報処理装置１００の設置場所や処理能力などに依存して設定されるようにしても良い。
【０１２７】
なお、上述した実施の形態においては、推定精度の判定結果は、推定精度ＯＫであるか、推定精度ＮＧであるとしたが、確からしさを表すパーセンテージ（％）などの判定結果であっても良い。
【０１２８】
このように、本発明によれば、姿勢を推定するだけなく、その推定精度までも判定することができる。また、そのような推定精度が判定されることで、推定精度を保証することができ、そのために、その推定結果を人物追跡の初期値として用いても、信頼できる初期値とすることができる。また、精密な関節位置を必要とするようなアプリケーション、例えばゲームのコントローラやマニピュレータの操作インタフェース等様々な用途に適用することができる。
【０１２９】
［記録媒体について］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１３０】
図１３は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、CPU（Central Processing Unit）３０１、ROM（Read Only Memory）３０２、RAM（Random Access Memory）３０３は、バス３０４により相互に接続されている。バス３０４には、さらに、入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、入力部３０６、出力部３０７、記憶部３０８、通信部３０９、およびドライブ３１０が接続されている。
【０１３１】
入力部３０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部３０７は、ディスプレイ、スピーカなどよりなる。記憶部３０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部３０９は、ネットワークインタフェースなどよりなる。ドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア３１１を駆動する。
【０１３２】
以上のように構成されるコンピュータでは、CPU３０１が、例えば、記憶部３０８に記憶されているプログラムを、入出力インタフェース３０５およびバス３０４を介して、RAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０１３３】
コンピュータ（CPU３０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア３１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１３４】
コンピュータでは、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インタフェース３０５を介して、記憶部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記憶部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記憶部３０８に、予めインストールしておくことができる。
【０１３５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１３６】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１３７】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１３８】
１０  情報処理装置，  １１  画像入力部，  １２  シルエット抽出部，  １３  輪郭抽出部，  １４  特徴量抽出部，  １５  マッチング部，  １６  姿勢記憶部，  １０１  マッチング部，  １０２  フィッティング部，  １０３  精度判定部
【図１】
2010176380.tif 000005
【図２】
2010176380.tif 000006
【図３】
2010176380.tif 000007
【図４】
2010176380.tif 000008
【図５】
2010176380.tif 000009
【図６】
2010176380.tif 000010
【図７】
2010176380.tif 000011
【図８】
2010176380.tif 000012
【図９】
2010176380.tif 000013
【図１０】
2010176380.tif 000014
【図１１】
2010176380.tif 000015
【図１２】
2010176380.tif 000016
【図１３】
2010176380.tif 000017