"複数の部位から成る物体の姿勢を推定する姿勢推定装置において、前記物体を撮影した画像を取得する画像入力部と、前記姿勢ごとに前記複数の部位の配置を規定する姿勢情報を保持する姿勢情報データベースと、前記画像における前記複数の部位の配置と、前記姿勢情報との間で、前記部位ごとの相関度を算出するフィッティング部と、前記姿勢情報に含まれる前記部位のそれぞれの平行線成分に基づいて算出された、前記姿勢ごとに前記部位のそれぞれの位置の推定の難しさの度合いである推定難度を保持する難度情報テーブルと、前記相関度に対して、前記推定難度に基づく重み付けを適用し、重み付けされた相関度に基づいて、前記物体の姿勢の推定を行う姿勢推定部と、を有する、姿勢推定装置。前記姿勢情報から、前記姿勢ごとに、前記部位のそれぞれの平行線成分を抽出する平行線抽出部と、抽出された前記平行線成分に基づいて、前記姿勢ごとに前記推定難度を判定し、判定結果を前記難度情報テーブルに保持させる推定難度判定部と、を有する、請求項1記載の姿勢推定装置。前記推定難度判定部は、抽出される前記平行線成分が多い前記部位ほど、前記推定難度をより低い値に判定する、請求項2記載の姿勢推定装置。前記推定難度判定部は、抽出される前記平行線成分の長さが長い前記部位ほど、前記推定難度をより低い値に判定する、請求項2記載の姿勢推定装置。前記姿勢情報は、前記物体の3次元モデルを2次元平面に射影したときの、前記部位のそれぞれの外形を含み、前記平行線抽出部は、前記外形から、前記平行線成分を抽出する、請求項2記載の姿勢推定装置。前記姿勢情報は、前記物体の3次元モデルを2次元平面に射影したときの、前記部位のそれぞれの軸の位置、軸の長さ、および平均の太さを含み、前記平行線抽出部は、前記軸の位置、前記軸の長さ、および前記平均の太さに基づいて、前記軸の両側に、前記外形の探索範囲である部位矩形ペアを配置し、前記外形のうち前記部位矩形ペアに含まれる部分の前記軸の方向の成分を、前記平行線成分として抽出する、請求項5記載の姿勢推定装置。前記推定難度定部は、前記姿勢情報から、前記姿勢ごとに、前記部位のそれぞれの、他の前記部位との混同の生じ易さを判断し、前記混同が生じ易い前記部位ほど、前記推定難度をより高い値に判定する、請求項2記載の姿勢推定装置。入力された前記画像から、前記画像における前記複数の部位のそれぞれが位置することの確からしさの分布を示す部位推定マップを生成する部位推定部、を有し、前記フィッティング部は、前記2次元平面における前記複数の部位のそれぞれが位置することの確からしさの分布を示す部位基準マップと、前記部位推定マップとを比較し、前記姿勢ごとおよび前記部位ごとに、前記物体を撮影した画像における前記複数の部位の配置と、前記姿勢情報との間の、部位ごとの相関度を算出し、前記姿勢推定部は、前記物体を撮影した画像における前記複数の部位の配置と、前記姿勢情報との間の、部位ごとの相関度に対し、前記姿勢ごとに、前記推定難度が高いほど重みがより小さくなるような前記重み付けを適用して、前記部位基準マップと前記部位推定マップとの間の一致度を算出し、算出された前記一致度が最も高い前記部位推定マップに対応する前記姿勢を、前記物体の姿勢と判定する、請求項1記載の姿勢推定装置。前記姿勢ごとに、単位時間経過後に遷移していることが可能な前記姿勢を規定する3次元姿勢情報と、前回、前記物体の姿勢であると推定された姿勢である前回推定姿勢と、に基づいて、次に前記物体が取り得る前記姿勢である次候補姿勢を推定する次候補姿勢抽出部、を更に有し、前記姿勢推定部は、前記推定難度が所定の閾値よりも高い前記部位が存在しないことを条件として、前記3次元姿勢情報に基づいて推定された前記次候補姿勢に絞って前記物体の姿勢の判定を行う、請求項1記載の姿勢推定装置。複数の部位から成る物体の姿勢を推定する姿勢推定方法において、前記物体を撮影した画像を取得するステップと、前記画像における前記複数の部位の配置と、前記姿勢ごとに前記複数の部位の配置を規定する姿勢情報との間で、前記部位ごとの相関度を算出するステップと、前記姿勢情報に含まれる前記部位のそれぞれの平行線成分に基づいて算出された、前記姿勢ごとに前記部位のそれぞれの位置の推定の難しさの度合いである推定難度を用い、当該推定難度に基づく重み付けを、前記相関度に対して適用するステップと、重み付けされた相関度に基づいて、前記物体の姿勢の推定を行うステップと、を有する、姿勢推定方法。しかしながら、従来技術は、姿勢を高精度に推定することが難しいという課題を有する。なぜなら、部位によっては、画像を占める領域の面積の小ささと、位置の推定の難しさとの間には、必ずしも高い相関があるとはいえないからである。小さい面積ではあるものの位置の推定が容易であるような部位に対して、次候補姿勢の自由度を不要に高く設定して、候補数を増やすと、誤推定の可能性を高めてしまう。また、従来技術は、ロボットなど、人以外の物体にも適用することが考えられるが、この場合にも同様の問題が起こり得る。本発明の目的は、複数の部位から成る物体の姿勢を高精度に推定することができる姿勢推定装置および姿勢推定方法を提供することである。本発明の姿勢推定装置は、複数の部位から成る物体の姿勢を推定する姿勢推定装置において、前記物体を撮影した画像を取得する画像入力部と、前記姿勢ごとに前記複数の部位の配置を規定する姿勢情報を保持する姿勢情報データベースと、前記画像における前記複数の部位の配置と、前記姿勢情報との間で、前記部位ごとの相関度を算出するフィッティング部と、前記姿勢情報に含まれる前記部位のそれぞれの平行線成分に基づいて算出された、前記姿勢ごとに前記部位のそれぞれの位置の推定の難しさの度合いである推定難度を保持する難度情報テーブルと、前記相関度に対して、前記推定難度に基づく重み付けを適用し、重み付けされた相関度に基づいて、前記物体の姿勢の推定を行う姿勢推定部とを有する。本発明の姿勢推定方法は、複数の部位から成る物体の姿勢を推定する姿勢推定方法において、前記物体を撮影した画像を取得するステップと、前記画像における前記複数の部位の配置と、前記姿勢ごとに前記複数の部位の配置を規定する姿勢情報との間で、前記部位ごとの相関度を算出するステップと、前記姿勢情報に含まれる前記部位のそれぞれの平行線成分に基づいて算出された、前記姿勢ごとに前記部位のそれぞれの位置の推定の難しさの度合いである推定難度を用い、当該推定難度に基づく重み付けを、前記相関度に対して適用するステップと、重み付けされた相関度に基づいて、前記物体の姿勢の推定を行うステップとを有する。本発明によれば、複数の部位から成る物体の姿勢を高精度に推定することができる。以下、本発明の各実施の形態について、図面を参照して詳細に説明する。実施の形態1本発明の実施の形態1は、本発明の基本的態様の一例である。図1は、本発明の実施の形態1に係る姿勢推定装置の構成の一例を示すブロック図である。図1に示す姿勢推定装置100は、複数の部位から成る物体の姿勢を推定する装置である。図1において、姿勢推定装置100は、画像入力部140、姿勢情報データベース110、フィッティング部160、難度情報テーブル130、および姿勢推定部170を有する。画像入力部140は、物体を撮影した画像を取得する。姿勢情報データベース110は、姿勢ごとに複数の部位の配置を規定する姿勢情報を保持する。フィッティング部160は、画像における複数の部位の配置と、姿勢情報との間で、部位ごとの相関度を算出する。難度情報テーブル130は、姿勢情報に含まれる部位のそれぞれの平行線成分に基づいて算出された、姿勢ごとに部位のそれぞれの位置の推定の難しさの度合いである推定難度を保持する。姿勢推定部170は、相関度に対して、推定難度に基づく重み付けを適用し、重み付けされた相関度に基づいて、物体の姿勢の推定を行う。姿勢推定装置100は、例えば、CPUCentralProcessingUnit、制御プログラムを格納したROMReadOnlyMemoryなどの記憶媒体、およびRAMRandomAccessMemoryなどの作業用メモリを有する。この場合、上記した各構成部の機能は、CPUが制御プログラムを実行することにより実現される。このような姿勢推定装置100は、平行線成分に基づいて各部位の推定難度を判定し、各部位の推定難度を考慮した姿勢推定を行うことができる。平行線成分の量および長さは、上述の従来技術で用いられている面積の大きさに比べて、推定難度との間により高い相関を有する。このため、姿勢推定装置100は、従来技術に比べて、複数の部位から成る物体の姿勢をより高精度に推定することができる。平行線成分が推定難度との間に高い相関を有する理由は、以下の通りである。部位らしさが平行線で表せる部位については、平行線が抽出できる可能性が高いほど推定精度が高くなるが、抽出できる面積と抽出できる平行線の量は比例しない。例えば、部位の全面積の2分の1が遮蔽されている部位を考える。このような部位において、部位の平行線と垂直に遮蔽されている場合、平行線が抽出できる可能性は面積と同じ2分の1となるが、部位が斜めに遮蔽されている場合、平行線が抽出できる割合は0となる。すなわち、部位らしさが平行線で表せる部位の推定精度が悪くなる。したがって、平行線成分は、推定難度との間に高い相関を有する。実施の形態2本発明の実施の形態2は、本発明を、各部位が位置することの確からしさの分布を示す尤度マップのフィッティングマッチングにより、人の姿勢推定を行う装置に適用した例である。なお、以下の説明において、人の姿勢とは、人体が取り得るあらゆる形状のうちの1つとする。まず、本実施の形態に係る姿勢推定装置の構成について説明する。図2は、本実施の形態に係る姿勢推定装置の構成の一例を示すブロック図である。図2において、姿勢推定装置100は、姿勢情報データベース110、難度情報生成部120、難度情報テーブル130、画像入力部140、部位推定部150、フィッティング部160、姿勢推定部170、および推定結果出力部180を有する。姿勢情報データベース110は、姿勢ごとに、複数の部位の配置を規定する姿勢情報を保持する。姿勢情報には、部位基準マップが含まれる。部位基準マップは、3次元の物体姿勢を2次元平面に射影したときの、当該2次元平面における、各部位が位置することの確からしさの分布を示す尤度マップである。この2次元平面は、人を撮影するカメラ図示せずの撮像面に対応している。また、姿勢情報データベース110は、姿勢ごとに、その姿勢にある人の3次元姿勢を2次元平面上で示す情報として、関節位置情報、部位角度情報、および部位平均太さ情報、または、これらを特定する情報を保持している。関節位置情報は、3次元の骨格姿勢を、上述の2次元平面に射影したときの像以下骨格画像というの、当該2次元平面における各関節の位置を示す情報である。部位角度情報は、骨格画像の、当該2次元平面における各部位の角度以降、部位角度というを示す情報である。部位角度は、2次元平面の水平方向と各部位とのなす角とする。部位平均太さ情報は、3次元の物体姿勢を2次元平面に射影したときの外形の像以下エッジ画像というの、当該2次元平面における各部位の太さの平均値を示す情報である。ここで、部位とは、人体の各部のうち、姿勢がどのように変化してもその3次元形状が変化しないとみなすことができる単位であり、例えば、右上腕や右前腕である。そして、関節とは、部位を接続する部分であり、例えば、右肘である。また、骨格姿勢とは、人の姿勢を、人体の各関節を実際の接続関係に従って接続した直線の集合で表現するものである。また、物体姿勢とは、人の姿勢を、肉、皮膚、頭髪、および衣服などを含めた外観情報を更に含めて表現するものである。図3は、骨格画像の一例を示す図である。図3に示すように、骨格画像310は、複数の直線から成る。各直線は、それぞれ、部位の軸を示し、その両端は、隣の部位との間の関節の位置、または、人体の先端の位置を示す。図4は、図3に示す骨格画像310に、同じ姿勢のエッジ画像を重畳した状態重畳画像の一例を示す図である。図4に示すように、エッジ画像320は、同じ姿勢の骨格画像310を、覆う形状となり、衣服などを含めた人体の外形を示す。姿勢情報データベース110は、姿勢ごとに、その骨格画像310およびエッジ画像320をも保持しているものとする。骨格画像310およびエッジ画像320の各部分は、人体モデルの各部位および各関節と対応付けられている。図5は、人体モデルの一例を示す図である。図5に示すように、人体モデル330は、例えば、23個の関節からなる。各関節には、識別子が割り当てられている。また、本実施の形態では、この識別子は、対応する関節の体幹に近い側で接続する部位人体の1つ内側の関節との間にある部位を示す部位識別子とする。上述の関節位置情報、部位角度情報、および部位平均太さ情報は、この部位識別子を用いて情報を記述している。図6は、関節位置情報の内容の一例を示す図である。図6に示すように、関節位置情報410は、部位識別子411に対応付けて、x座標412およびy座標413を記述している。x座標412は、上述の2次元平面に設定されたxy座標系以下、単にxy座標系というにおける、部位識別子411が示す関節の位置のx座標である。y座標413は、xy座標系における、部位識別子411が示す関節の位置のy座標である。図7は、部位角度情報の内容の一例を示す図である。図7に示すように、部位角度情報420は、部位識別子421に対応付けて、角度422を記述している。角度422は、部位識別子421が示す部位の軸の方向である。より具体的には、角度422は、部位の軸方向のうち部位の接続元から接続先へ向かう向きの、xy座標系のx軸方向水平方向に対する角度である。図8は、部位平均太さ情報の内容の一例を示す図である。図8に示すように、部位平均太さ情報430は、部位識別子431に対応付けて、平均の太さ432を記述している。平均の太さ432は、部位識別子431が示す部位の太さの平均値である。なお、図8において、平均の太さ432として記述されたnは、対応する部位の太さの平均値は、情報として存在しない、または、使用されない、ということを示す。図6~図8に示した関節位置情報410、部位角度情報420、および部位平均太さ情報430、並びに、上述の骨格画像およびエッジ画像は、姿勢ごとに異なり得る。ここでは、姿勢情報データベース110は、複数の姿勢に対応して、複数の関節位置情報410、複数の部位角度情報420、および複数の部位平均太さ情報430を格納しているものとする。また、姿勢情報データベース110は、複数の姿勢に対応して、複数の画像情報を格納しているものとする。画像情報は、後述の画像フィッティングに用いられるものであり、例えば、シルエット画像のデータ、エッジ画像のデータ、カラー画像のデータ、上述の骨格画像のデータ、あるいは、背景画像のデータである。シルエット画像とは、人の画像が占める領域シルエットを示す画像である。エッジ画像とは、人の画像が占める領域の外形エッジを示す画像である。カラー画像とは、各部分の色を示す画像である。背景画像は、人の背景の状態を示す画像である。関節位置情報410、部位角度情報420、および部位平均太さ情報430には、関節位置情報識別子、部位角度情報識別子、および部位平均太さ情報識別子が、それぞれ割り当てられている。また、画像情報のそれぞれには、画像識別子が割り当てられている。姿勢情報データベース110は、推定難度を保持する。推定難度は、姿勢情報に含まれる部位のそれぞれの平行線成分に基づいて算出された、姿勢ごとに部位のそれぞれの位置の推定の難しさの度合いである。より具体的には、姿勢情報データベース110は、各姿勢に、これらの識別子を対応付けた姿勢情報テーブルを用いることにより、姿勢と、姿勢情報および画像情報との対応付けを行う。図9は、姿勢情報テーブルの内容一例を示す図である。図9に示すように、姿勢情報テーブル440は、例えば、2次元姿勢識別子441に対応付けて、画像情報識別子442、関節位置情報識別子443、部位角度情報識別子444、部位平均太さ情報識別子445を記述している。なお、姿勢情報テーブル440は、上述の識別子を用いずに、各姿勢に対して、直接、情報を対応付けて記述してもよい。図2の難度情報生成部120は、姿勢情報データベース110が格納する姿勢情報図6~図9参照から、各部位の平行線成分を抽出し、抽出した平行線成分から、各部位の推定難度を判定する。難度情報生成部120は、難度情報生成部120は、姿勢情報取得部121、平行線抽出部122、推定難度判定部123、および難度情報出力部124を有する。ここで、平行線成分とは、各部位を形作る線分のうち、互いに平行となっている複数の線分の一まとまりである。本実施の形態では、平行線成分とは、部位の外形エッジのうち、部位の軸に略平行な部分を指すものとする。また、推定難度とは、上述の通り、部位のそれぞれの、画像における位置の推定の難しさの度合いである。姿勢情報取得部121は、姿勢情報データベース110から、各姿勢の姿勢情報を取得する。そして、姿勢情報取得部121は、取得した姿勢情報を、平行線抽出部122へ出力する。平行線抽出部122は、入力された姿勢情報から、姿勢ごとに、部位のそれぞれの平行線成分を抽出する。そして、平行線抽出部122は、抽出した平行線成分を、推定難度判定部123へ出力する。推定難度判定部123は、抽出された平行線成分に基づいて、姿勢ごとに推定難度を判定し、判定結果を難度情報テーブルに保持させる。より具体的には、推定難度判定部123は、入力された平行線成分に基づいて、姿勢ごとに、各部位の推定難度を判定する。そして、推定難度判定部123は、判定した推定難度を、難度情報出力部124へ出力する。難度情報出力部124は、入力された推定難度を、対応する姿勢の2次元姿勢識別子および対応する部位の部位識別子に対応付けた難度情報として出力し、難度情報テーブル130に格納する。画像入力部140は、物体を撮影した画像を取得する。より具体的には、画像入力部140は、所定の3次元座標空間に設置された単眼カメラ図示せずによって撮像された画像の画像データを、有線通信または無線通信により取得する。または、予めメモリデバイス図示せずに格納してある画像データを有線通信または無線通信により取得する。そして、画像入力部140は、取得した画像データを、部位推定部150へ出力する。画像データを格納したメモリデバイスは、姿勢推定装置100と物理的に一体であってもよい。以下の説明では、画像データは、一人のみの画像を含むものとして説明するが、この限りではなく、複数人の画像を含んでも良いし、人の画像を含んでいなくても良い。部位推定部150は、入力された画像データから、画像の含まれる人の各部位の画像上の位置を推定し、部位推定マップを生成する。部位推定マップは、画像における、各部位が位置することの確からしさの分布を示す尤度マップであり、上述の部位基準マップと対応するものである。そして、部位推定部150は、生成した部位推定マップを、フィッティング部160へ出力する。フィッティング部160は、画像入力部140が取得した画像における複数の部位の配置と、姿勢情報データベース110が保持する姿勢情報との間で、部位ごとの相関度を算出する。より具体的には、フィッティング部160は、姿勢情報データベース110から、部位基準マップを取得する。フィッティング部160は、取得した部位基準マップと、入力された部位推定マップとを比較し、姿勢ごとおよび部位ごとに、部位基準マップと部位推定マップとの間の相関度を算出する。そして、フィッティング部160は、算出した相関度を、姿勢推定部170へ出力する。姿勢推定部170は、姿勢推定部170は、相関度に対して、難度情報テーブル130が保持する推定難度に基づく重み付けを適用し、重み付けされた相関度に基づいて、物体の姿勢の推定を行う。より具体的には、姿勢推定部170は、入力された姿勢ごとおよび部位ごとの相関度に対し、推定難度に応じた重み付けを適用して、物体の姿勢の推定を行う。そして、姿勢推定部170は、画像に含まれる人が取っていると推定した姿勢の2次元姿勢識別子を、推定結果出力部180へ出力する。推定結果出力部180は、入力された2次元姿勢識別子が示す姿勢を、人の姿勢の推定結果として出力する。推定結果出力部180は、例えば、画像表示装置を有し、推定結果を、画像および文字などで出力する。姿勢推定装置100は、例えば、CPU、制御プログラムを格納したROMなどの記憶媒体、およびRAMなどの作業用メモリを有する。この場合、上記した各構成部の機能は、CPUが制御プログラムを実行することにより実現される。このような姿勢推定装置100は、平行線成分から各部位の推定難度を判定し、各部位の推定難度を考慮した姿勢推定を行うことができる。また、部位の平行線成分は、部位らしさの特徴の強さを示すため、その長さが長いほど、当該部位の特徴が抽出され易いということを示す。すなわち、平行線成分の長さは、上述の従来技術で用いられている面積の大きさに比べて、推定難度との間により高い相関を有する。このため、部位の平行線成分を用いたほうが、より精度良く推定難度を求めることができる。したがって、姿勢推定装置100は、従来技術に比べて、複数の部位から成る物体の姿勢をより高精度に推定することができる。以上で、姿勢推定装置100の構成についての説明を終了する。次に、姿勢推定装置100の動作について説明する。図10は、姿勢推定装置100の動作の一例を示すフローチャートである。まず、ステップS1000において、姿勢推定装置100は、推定難度判定処理を行う。推定難度判定処理は、姿勢ごとに、各部位の推定難度を判定する処理である。そして、ステップS2000において、姿勢推定装置100は、姿勢推定処理を行う。姿勢推定処理は、判定された姿勢難度を用いて、撮影された画像に含まれる人の姿勢を推定する処理である。まず、推定難度判定処理の詳細について説明する。図11は、推定難度判定処理図10のS1000の一例を示すフローチャートである。まず、ステップS1100において、姿勢情報取得部121は、姿勢情報データベース110に姿勢情報が保持されている姿勢の中から、1つを選択する。そして、ステップS1200において、姿勢情報取得部121は、姿勢情報データベース110から、選択中の姿勢の姿勢情報を取得する。ここで姿勢情報取得部121が取得する姿勢情報には、骨格画像、エッジ画像、関節位置情報、および部位平均太さ情報が含まれる。そして、ステップS1300において、平行線抽出部122は、平行線抽出処理を行う。平行線抽出処理は、姿勢情報から、選択中の部位のエッジが平行に現れている部分の長さ平行線成分の長さを抽出する処理である。図12は、平行線抽出処理図11のS1300の一例を示すフローチャートである。まず、ステップS1310において、平行線抽出部122は、姿勢情報データベース110から取得した骨格画像とエッジ画像から、骨格画像とエッジ画像とを重畳した画像図4参照、以下重畳画像というを生成する。そして、ステップS1320において、平行線抽出部122は、姿勢情報に含まれている部位の中から、1つを選択する。そして、ステップS1330において、平行線抽出部122は、重畳画像うち、選択中の部位に対して、部位矩形ペアを配置する。部位矩形は、部位の外形のうち長さ方向に伸びる部分が含まれる可能性が高い矩形領域であり、部位の外形の探索対象となる範囲である。平行線抽出部122は、選択中の部位の、軸の位置、軸の長さ、および平均の太さに基づいて、軸の両側に、所定の幅から成る部位矩形ペアを配置する。図13は、部位矩形を説明するための図である。図13に示すように、平行線抽出部122は、選択中の部位の骨格軸451とエッジ外形452とを含む重畳画像に対して、部位矩形453のペアを配置する。各部位矩形453の位置は、骨格451からの距離が、部位の平均の太さTの2分の1T/2となる位置である。各部位矩形453の長さは、部位の骨格451の長さLである。また、各部位矩形453の幅は、予め定められた所定の幅Wである。各部位矩形453の幅は、部位の平均の太さの誤差や、部位内での太さの不均一さを考慮した幅とすることが望ましい。また、各部位矩形453の幅は、部位の骨格451の長さLや平均の太さTに比例した、部位ごとに異なる幅であってもよい。また、各部位矩形453の長さは、部位の軸の長さLの誤差を加味した長さとしてもよい。そして、図12のステップS1340において、平行線抽出部122は、部位のエッジ452のうち、部位矩形453のペアに含まれる部分の骨格451の方向の長さを、エッジの長さとして算出する図13参照。図14は、エッジの長さを説明するための図であり、図13に対応するものである。図13と対応する部分には同一符号を付している。但し、図14に示す骨格やエッジは、図13に比べて簡略化している。図14に示すように、ある部位矩形453の一部に、エッジ452の画素が含まれていたとする。平行線抽出部122は、部位矩形453内で、エッジ452の画素が部位矩形453の中心線454に沿った方向に連続している部分を探索する。そして、エッジ452の画素が部位矩形453の中心線454に沿った方向で連続している部分の長さを、エッジの長さとする。ここでは、図14に示すように、部位矩形453は横方向に伸びていたとする。そして、部位矩形453の左から1列目~3列目の画素群にはエッジ452の画素が含まれておらず、部位矩形453の左から4列目~9列目にエッジ452の画素が連続して存在していたとする。この場合、平行線抽出部122は、部位矩形453の左から4列目~9列目の横方向の長さつまり6列画素分の長さlを、エッジの長さとする。そして、図12のステップS1350において、平行線抽出部122は、部位矩形ペアから算出された1つまたは複数のエッジの長さから、平行線成分の長さを算出する。具体的には、平行線抽出部122は、例えば、1つの部位矩形において複数のエッジの長さを算出した場合、それらの合計値を、当該部位矩形のエッジの長さとする。そして、平行線抽出部122は、1つの部位についての2つの部位矩形のそれぞれから抽出されたエッジの長さのうち、より長くない方を、当該部位の平行線成分の長さとする。例えば、図13に示す例の場合、上側の部位矩形453から得られるエッジの長さl1の方が、下側の部位矩形453から得られるエッジの長さl2よりも短い。この場合、平行線抽出部122は、上側の部位矩形453から得られるエッジの長さl1を、部位の平行線成分の長さとする。なお、平行線抽出部122は、2つの部位矩形のそれぞれから抽出されたエッジの長さの平均値を、部位の平行線成分の長さとするなど、他の手法を用いて平行線成分の長さを算出してもよい。そして、図12のステップS1360において、平行線抽出部122は、姿勢情報に含まれている部位に、未処理の部位が残っているか否かを判断する。平行線抽出部122は、未処理の部位が残っている場合S1360:YES、ステップS1320へ戻る。また、平行線抽出部122は、未処理の部位が残っていない場合S1360:NO、図11の処理へ戻る。図11のステップS1400において、推定難度判定部123は、部位ごとに、平行線成分の長さと、予め設定しておいた所定の閾値とに基づいて、推定難度を判定する。具体的には、推定難度判定部123は、2つ以上の推定難度のうち、最も推定難度が低いものを除き、推定難度ごとに、平行線成分の長さの下限値を予め保持している。そして、推定難度判定部123は、平行線成分長さがその下限値以上となるような推定難度のうち、最も低いものを、選択中の部位の推定難度とする。このように、閾値を用いることにより、部位の遮蔽がない場合の部位本来の長さにかかわらず、画像から抽出できる平行線の画素の長さで推定難度を判定することができる。なお、閾値は、姿勢ごとあるいは部位ごとに異なっていてもよい。閾値の設定を細分化することにより、より詳細な推定難度判定を行うことができる。そして、ステップS1500において、推定難度判定部123は、判定結果を、難度情報として難度情報テーブル130へ出力する。そして、ステップS1600において、姿勢情報取得部121は、姿勢情報データベース110に姿勢情報が保持されている姿勢のうち、未処理の姿勢が残っているか否かを判断する。姿勢情報取得部121は、未処理の姿勢が残っている場合S1600:YES、ステップS1100へ戻る。また、姿勢情報取得部121は、未処理の姿勢が残っていない場合S1600:NO、推定難度判定処理を終了し、図10の処理へ戻る。以上のような推定難度判定処理の結果、姿勢推定装置100は、姿勢ごとに各部位の推定難度を示す難度情報が用意された状態となる。次に、姿勢推定処理の詳細について説明する。図15は、姿勢推定処理図10のS2000の一例を示すフローチャートである。まず、ステップS2100において、画像入力部140は、姿勢推定の対象となる画像分の画像データを入力する。そして、ステップS2200において、部位推定部150は、姿勢ごとに、姿勢情報データベース110内の2次元姿勢の画像情報から部位推定マップを生成する。ここで、部位推定マップの生成処理の一例について、詳細に説明する。部位推定部150が出力する部位推定マップは、例えば、画像上の画素位置をi,jとし、部位kの尤度値をckと表し、部位がn個存在する場合には、尤度ベクトルCij=[c1,c2,...,ck,...,cn]というデータ構造となる。部位推定マップを生成する手法の第1の例は、部位ごとの識別器を用いる手法である。識別器を生成する手法としては、画像特徴量としてHaar-like特徴量を用い、Adaboostと呼ばれるアルゴリズムを用いて、基準モデルの画像から学習を行う手法がある。Haar-like特徴量は、予め定義された矩形領域のパターンに基づいて算出される特徴量で、公知の技術である。また、Adaboostは、判別能力のあまり高くない識別器を複数組み合わせることで、強い識別器を生成する手法で、公知の技術である。部位推定部150は、学習により予め部位ごとに用意された識別器を用いて、画像上の各部位の位置を推定し、部位推定マップを生成する。具体的は、部位推定部150は、例えば、ある画素に着目した画像特徴量を、部位kの強識別器Hkに入力し、その強識別器Hkを構成する各弱識別器の出力に対して弱識別器毎に予め得られた信頼度αを乗算した値の総和を算出する。そして、部位推定部150は、算出した総和から所定の閾値Thを減算して、着目画素の部位kの尤度値ckを算出する。部位推定部150は、このような処理を、各部位および各画素について行い、部位推定マップを出力する。部位推定マップを生成する手法の第2の例は、頭部など基準となる部位の位置を、第1の手法で推定した後、残りの部位を、画像のエッジから平行線を抽出する手法である。具体的には、部位推定部150は、例えば、予め保持された、頭領域の長さと各部位の標準的な太さの値r、および各部位の頭領域からの距離dとを対応付けた対応テーブルを参照して、平行線の抽出を行う。そして、部位推定部150は、推定した頭から、注目する部位の頭領域からの距離dの領域内に、その部位の標準的な太さrに相当する距離で離隔する平行線の組を、判定する方向を360度回転させながら、検索する。そして、部位推定部150は、該当する平行線の組が存在する場合に、それらの平行線によって囲まれた領域の各画素に対して投票を行う処理を繰り返し、最終的な各画素の投票数に基づいて部位推定マップを生成する。このような手法の場合、部位推定マップは、画素毎および部位毎に、平行線の方向と投票数とを含むことになる。例えば、平行線の角度を8つに分類した場合、画素毎および部位毎の尤度値は、8方向に対応した8次元の値となる。更に、例えば、平行線の幅を2つに分類した場合、画素毎および部位毎の尤度値は、2×8=16次元の値となる。なお、投票の対象となる平行線の距離や角度は、部位毎に異なっていても良い。平行線の幅を複数求めて、そのうちの尤度値が尤も高くなる幅の尤度値を用いることにより、体型や服装の違いを吸収して、尤度を求めることができる。そして、ステップS2300において、フィッティング部160は、姿勢情報データベース110に姿勢情報部位基準マップが保持されている姿勢を1つ選択する。そして、ステップS2400において、フィッティング部160は、選択中の姿勢の部位基準マップと、画像から生成した部位推定マップとの間で、部位ごとに相関係数を算出する。相関係数は、尤度の相関の度合いを示す値であればよく、その算出には、各種の公知技術を適用することができる。ここで、相関係数の算出手法の一例について説明する。例えば、部位推定マップが、画像上の画素位置をi,jとし、部位kの尤度値をckと表し、部位がp個存在する場合には、尤度ベクトルCij=[c1,c2,...,ck,...,cp]というデータ構造で表されるとする。ここで、部位kについて、入力画像の部位尤度マップのデータ列をXKij=[ck]、姿勢情報データベース110内のある部位推定マップのデータ列をYKij=[ck]とする。そして、2組の数値からなるデータ列x,y={XKij,YKij1<=i<=n,1<=j<=m}が与えられたとする。この場合、フィッティング部160は、例えば、以下の式1を用いて、部位kの相関係数Skを求める。なお、式1において、平均記号バー付きのxは、xの相加平均値を示し、平均記号バー付きのyは、yの相加平均値を示す。なお、フィッティング部160は、部位識別子を付加した部位ごとの相関係数と、算出に用いた姿勢情報データベース110の2次元姿勢の2次元姿勢識別子とを組にして、姿勢推定部170へ出力する。そして、ステップS2500において、姿勢推定部170は、選択中の姿勢の部位基準マップと、画像から生成された部位推定マップとの一致度を算出する。この際、姿勢推定部170は、選択中の姿勢の難度情報を難度情報テーブル130から取得し、相関係数に対し、推定難度に応じた重み付けを適用して、上記一致度を算出する。ここで、推定難度に応じた重み付けを適用した一致度の算出手法の一例について説明する。姿勢推定部170は、フィッティング部160から取得した部位ごとの相関係数に基づき、姿勢情報データベース110の2次元姿勢のうち、画像に含まれる人の姿勢と最も類似する姿勢を推定する。例えば、姿勢推定部170は、まず、相関係数が予め設定した所定の閾値の閾値以下の部位を含む2次元姿勢を、候補から除外する。すなわち、姿勢推定部170は、かかる姿勢については、ステップS2500において、一致度の算出処理を行わない。次に、姿勢推定部170は、候補に残っている2次元姿勢について、各部位kの相関係数Skと、難度情報テーブル130から取得した各部位の推定難度とを用いて、一致度Vを算出する。具体的には、姿勢推定部170は、例えば、以下の式2を用いて、2次元姿勢識別子pについての一致度Vpを算出する。ここで、Dkは、選択中の2次元姿勢の部位kに対して適用する重みであり、推定難度が高いほど小さい値をとり、例えば、推定難度の逆数である。このような一致度Vpは、相関係数の精度が低いような部位の影響を低減した値となる。そして、ステップS2600において、フィッティング部160は、姿勢情報データベース110に姿勢情報部位基準マップが保持されている姿勢のうち、未処理の姿勢が残っているか否かを判断する。フィッティング部160は、未処理の姿勢が残っている場合S2600:YES、ステップS2300へ戻る。また、姿勢情報取得部121は、未処理の姿勢が残っていない場合S2600:NO、ステップ2700へ進む。そして、ステップS2700において、姿勢推定部170は、姿勢情報データベース110に姿勢情報部位基準マップが保持されている姿勢のうち、一致度Vが最も高い姿勢を、画像に含まれる人の姿勢として推定する。そして、姿勢推定装置100は、推定結果出力部180から推定結果を出力し、姿勢推定処理を終了して、図10の処理へ戻る。以上のような姿勢推定処理の結果、姿勢推定装置100は、姿勢ごとの各部位の推定難度を考慮して、精度の高い姿勢の推定を行うことができる。なお、姿勢推定装置100は、上述の部位推定マップと同様の手順を、各姿勢の物体画像に対して行うことにより、部位基準マップを生成するようにしても良い。以上で、姿勢推定装置100の動作についての説明を終える。以上のように、本実施の形態に係る姿勢推定装置100によれば、平行線成分から各部位の推定難度を判定し、各部位の推定難度を考慮した姿勢推定を行うことができる。したがって、姿勢推定装置100は、複数の部位から成る物体の姿勢を高精度に推定することができる。なお、推定難度判定処理と、姿勢推定処理とは、物理的に別個の装置で行われてもよい。図16は、姿勢推定装置100の他の構成の例を示すブロック図である。図16に示すように、姿勢推定装置100aは、例えば、難度情報生成装置120aと共に、姿勢推定システム500aを構成する。姿勢推定装置100aは、図2に示す姿勢推定装置100から、図2に示す難度情報生成部120を抜き出した構成となっている。難度情報生成装置120aは、図2に示す難度情報生成部120の各部を有する。但し、姿勢推定装置100aおよび難度情報生成装置120aは、それぞれ、通信回路などを有し、姿勢情報および難度情報を、有線通信または無線通信により送受信する。このような構成とすることにより、姿勢推定装置100aの軽量小型化を図ることができる。また、難度情報生成部120または難度情報生成装置120aは、姿勢情報から、姿勢ごとに、各部位の他の部位との混同の生じ易さを判断し、混同が生じ易い部位ほど推定難度をより高い値に判定するようにしてもよい。図17は、難度情報生成部の他の構成の第1の例を示すブロック図である。図17に示すように、難度情報生成部120bは、図2の構成に加えて、閾値調節部125bを更に有する。閾値調節部125bは、部位の平均の太さが大きいほど、他の部位との混同がより生じ易いものとして、推定難度判定部123がその部位に適用する、平行線成分の長さの閾値を、より高い値に設定する。すなわち、閾値調節部125bは、推定難度がより高い値に判定され易くなるようにする。これは、部位の平均の太さが大きいほど、その部位の領域内に他の部位のエッジが混ざる可能性が高くなるためである。図18は、難度情報生成部の他の構成の第2の例を示すブロック図である。図18に示すように、難度情報生成部120cは、図2の構成に加えて、隣接部位角度抽出部126cを更に有する。また、ここでは、姿勢情報取得部121が取得する姿勢情報には、部位角度情報も含まれるものとする。隣接部位角度抽出部126cは、部位角度情報および骨格画像から、部位ごとに、その部位の骨格から所定の距離のエリアを、部位エリアとして設定する。隣接部位角度抽出部126cは、部位ごとに、その部位エリアに含まれる他の部位の角度を、部位角度情報から抽出する。そして、隣接部位角度抽出部126cは、部位の角度と、その部位エリア内に含まれる他の部位の骨格の角度とが近いほど、他の部位との混同がより生じ易いものとして、推定難度判定部123がその部位に適用する、平行線成分の長さの閾値を、より高い値に設定する。すなわち、隣接部位角度抽出部126cは、推定難度がより高い値に判定され易くなるようにする。これは、角度が近似する複数の部位が近傍にあると、各部位のエッジの区別がし難くなるからである。このように、難度情報生成部120b、120cは、各部位の他の部位との混同の生じ易さが高いほど、推定難度がより高い値に判定され易くなるようにするので、より高い精度で推定難度を判定することができる。なお、推定難度がより高い値に判定され易くなるようにするための手法は、閾値の調節に限定されない。例えば、難度情報生成部120b、120cは、混同の生じ易さに基づいて直接に推定難度を判定するようにしてもよい。また、本実施の形態では、姿勢推定装置100は、姿勢情報データベース110の画像情報として、骨格画像およびエッジ画像を保持しているとしたが、これに限定されない。姿勢推定装置100は、骨格画像を姿勢情報データベース110に保持せず、難度情報生成部120において、関節位置情報から逐次生成するようにしてもよい。また、姿勢推定装置100は、骨格画像とエッジ画像とを重畳した上述の重畳画像を、姿勢情報データベース110に予め保持していてもよい。実施の形態3本発明の実施の形態3は、映像などの時系列の画像を入力する場合において、前回の推定結果を用いて姿勢推定を行うようにした例である。図19は、本実施の形態に係る姿勢推定装置の構成の一例を示すブロック図であり、実施の形態2の図2に対応するものである。図2と同一部分には同一符号を付し、これについての説明を省略する。図19において、姿勢推定装置100dは、図2の構成に加えて、3次元姿勢情報データベース190dおよび次候補姿勢抽出部200dを更に有する。3次元姿勢情報データベース190dは、3次元姿勢ごとに、対応する2次元姿勢の2次元姿勢識別子図9参照を保持している。また、3次元姿勢情報データベース190dは、姿勢ごとに、3次元関節位置情報および遷移可能3次元姿勢情報またはこれらを示す情報とを保持している。3次元関節位置情報は、3次元の骨格姿勢以下3次元姿勢というのうち、3次元空間における各関節の位置を示す情報である。遷移可能3次元姿勢情報は、単位時間経過後に遷移していることが可能な3次元姿勢を示す情報である。すなわち、3次元姿勢に対応付けられた遷移可能3次元姿勢情報は、人の運動モデルを示す。3次元空間は、人を撮影するカメラ図示せずの撮像面の位置および向きを基準とした空間であり、例えば、xyz座標系により定義される。3次元関節位置情報および遷移可能3次元姿勢情報には、3次元関節位置情報識別子および遷移可能3次元姿勢識別子が、それぞれ割り当てられている。3次元姿勢情報データベース190dは、各3次元姿勢に、これらの識別子を対応付けた3次元姿勢情報テーブルを用いることにより、3次元姿勢と、3次元関節位置情報および遷移可能3次元姿勢情報との対応付けを行う。図20は、3次元姿勢情報テーブルの内容一例を示す図である。図20に示すように、3次元姿勢情報テーブル610は、例えば、3次元姿勢識別子611に対応付けて、2次元姿勢識別子612、3次元関節位置情報識別子613、および遷移可能3次元姿勢識別子614を記述している。なお、3次元姿勢情報テーブル610は、上述の識別子を用いずに、各3次元姿勢に対して、直接、情報を対応付けて記述してもよい。また、3次元姿勢情報データベース190dは、類似度のレベルが異なる複数の姿勢について、遷移可能3次元姿勢情報を記述していてもよい。1つの3次元姿勢に対応する次候補姿勢遷移可能3次元姿勢情報が示す姿勢の数が少ない場合、後段のフィッティング部160の処理量は少なくなり、姿勢推定処理が高速になる。一方、1つの3次元姿勢に対応する次候補姿勢遷移可能3次元姿勢情報が示す姿勢の数が多い場合、正解の姿勢が次候補姿勢から漏れる可能性が少なくなり、姿勢推定処理がロバストなものになる。人のモデルの各関節は、関節ごとに可動域や運動速度が異なる。したがって、このように遷移可能3次元姿勢を予め保持しておくことにより、次候補姿勢を素早く推定することが可能となる。なお、3次元姿勢情報テーブル610は、複数の異なる単位時間のそれぞれについて、遷移可能3次元姿勢識別子を対応付けておいてもよい。この場合、画像入力のタイミング姿勢推定の間隔に応じて、適切な次候補姿勢を、素早くかつ精度良く推定することが可能となる。図19の次候補姿勢抽出部200dは、前回推定された姿勢以下前回推定姿勢というと、3次元姿勢情報データベース190dの遷移可能3次元姿勢情報つまり運動モデルとに基づいて、次候補姿勢を推定する。そして、推定した次候補姿勢を示す情報例えば、2次元姿勢識別子を、フィッティング部160へ出力する。本実施の形態では、フィッティング部160は、次候補姿勢抽出部200dから入力された次候補姿勢の部位基準マップに絞って、部位推定マップとのフィッティングを行う。但し、前回推定姿勢がそもそも誤っていた場合、誤った姿勢が次候補姿勢として推定されてしまっている可能性が高くなる。そこで、次候補姿勢抽出部200dは、前回推定姿勢の信頼度が低い場合には、運動モデルからではなく、推定の対象となっている画像から得られる情報を用いて、次候補姿勢を推定する。そして、次候補姿勢抽出部200dは、前回推定姿勢の信頼度が低いか否かを、推定難度が所定の閾値よりも高い部位が存在するか否かに基づいて判断する。この結果、フィッティング部160は、推定難度が所定の閾値よりも高い部位が存在しないことを条件として、3次元姿勢情報に基づいて推定された次候補姿勢に絞って、尤度マップのフィッティングを行うことになる。そして、姿勢推定部170は、推定難度が所定の閾値よりも高い部位が存在しないことを条件として、3次元姿勢情報に基づいて推定された次候補姿勢に絞って、人の姿勢の判定を行うことになる。また、姿勢推定部170は、推定した姿勢の2次元姿勢識別子を、次の画像に対する処理のために、次候補姿勢抽出部200dへ出力する。図21は、姿勢推定装置100dの動作の一例を示すフローチャートであり、実施の形態2の図10に対応するものである。図10と同一部分には同一符号を付し、これについての説明を省略する。本実施の形態では、姿勢推定装置100dは、姿勢推定処理を行った後S2000、ステップS3000dへ進む。ステップS3000dにおいて、姿勢推定装置100dは、後続画像があるか否かを判断する。ここで、後続画像とは、映像を構成する時系列の複数の静止画のうち、最後に処理した静止画の次の静止画である。姿勢推定装置100dは、後続画像がない場合S3000d:NO、一連の処理を終了する。一方、後続画像がある場合S3000d:YES、姿勢推定装置100dは、ステップS4000dへ進む。ステップS4000dにおいて、姿勢推定装置100dは、後続姿勢推定処理を行う。後続姿勢推定処理は、前回推定姿勢を活用して姿勢推定を行う処理である。図22は、本実施の形態における後続姿勢推定処理図21のS4000dの一例を示すフローチャートである。後続姿勢推定処理の一部は、実施の形態2の図15で説明した姿勢推定処理と同様となっている。図15と同一部分には同一符号を付し、これについての説明を省略する。部位推定部150で部位推定マップが生成されるとS2200、ステップS4100dにおいて、次候補姿勢抽出部200dは、姿勢推定部170から、前回推定姿勢の2次元姿勢識別子を取得する。そして、ステップS4200dにおいて、次候補姿勢抽出部200dは、取得した2次元姿勢識別子が示す姿勢における、各部位の部位難度を、難度情報テーブル130から取得する。そして、ステップS4300dにおいて、次候補姿勢抽出部200dは、部位難度が所定の閾値を超える部位が、前回推定姿勢の部位に存在するか否かを判断する。次候補姿勢抽出部200dは、部位難度が所定の閾値を超える部位が存在する場合S4300d:YES、ステップS4400dへ進む。また、次候補姿勢抽出部200dは、部位難度が所定の閾値を超える部位が存在しない場合S4300d:NO、ステップS4400dをスキップして後述のステップS4500dへ進む。ステップS4400dにおいて、次候補姿勢抽出部200dは、前回推定姿勢の類似姿勢を、前回推定姿勢の画像の情報から推定し、前回推定姿勢とともに前回推定姿勢の類似姿勢を、ステップS4500dへ出力する。このように、姿勢推定部170で出力した2次元姿勢に、推定が難しいために姿勢が正確でない可能性が高い部位が含まれていて、次回入力の画像の姿勢が、通常の運動モデルからは外れている場合には、画像情報の類似度を用いて候補を広げる。これにより、正解の姿勢が候補から外れるのを防ぐことができる。画像の情報から前回推定姿勢の類似を絞り込む手法としては、各種の手法を用いることができる。例えば、次候補姿勢抽出部200dは、姿勢情報データベース110から各姿勢のシルエット画像のデータを取得し、画像から抽出されるシルエット画像を、取得した各姿勢のシルエット画像と重畳する。そして、次候補姿勢抽出部200dは、シルエットが重なる領域の画素数を求め、その値が予め定めた所定の閾値より大きい姿勢を、前回推定姿勢の類似姿勢として抽出する。このとき、部位難度の高い部位の可動領域に限って、シルエットが重なる領域の画素数を求めるようにしてもよい。なお、このような前回推定姿勢の類似姿勢の絞り込み手法は、遷移可能3次元姿勢情報運動モデルを生成する際にも用いることができる。ステップS4500dにおいて、次候補姿勢抽出部200dは、次候補姿勢を、前回推定姿勢と前回推定姿勢の類似姿勢をもとにして、運動モデルに適合する姿勢に絞り込む。すなわち、次候補姿勢抽出部200dは、3次元姿勢情報データベース190dの遷移可能3次元姿勢情報に基づいて、次候補姿勢を絞り込む。そして、ステップS4600dにおいて、姿勢推定部170は、ステップS4500dにおいて絞り込まれた次候補姿勢の中から、人の姿勢を推定する。そして、推定結果出力部180は、推定結果を出力する。ステップS4600dの処理は、例えば、図15のステップS2300~S2700の処理と同様としてもよい。このような処理により、部位推定難度が低く、推定した2次元姿勢に誤りの可能性が低い場合には、運動モデルのみを用いて次回の姿勢候補を抽出することができる。そして、、部位推定難度が高く、推定した2次元姿勢に誤りの可能性が高い部位を含む場合には、画像情報を用いて候補を広げ、その後に運動モデルを用いて次回の姿勢候補を抽出することができる。すなわわち、姿勢推定装置100dは、ロバストな姿勢推定を行うことが可能となる。以下、姿勢推定装置100dにおいてフィッティングの対象となる姿勢が絞られる様子について説明する。ここでは、人が棚から物を手に取る一連の動作のうち、右腕の動作にのみ着目する。図23は、右腕の稼動範囲の一例を示す図である。図23Aは、体幹に対する右腕の水平面における稼動範囲を示す。図23Bは、体幹に対する右上腕の垂直平面における稼動範囲を示す。図23Cは、右上腕に対する右前腕の垂直平面における稼動範囲を示す。図23Aに示すように、体幹621に対する右腕622右上腕623および右前腕624の水平面における稼動範囲は、体幹621の正面方向に対して-45度~45度の範囲とする。また、図23Bに示すように、体幹621に対する右上腕623の垂直平面における稼動範囲は、鉛直方向に対して0度~180度の範囲とする。また、図23Cに示すように、右上腕623に対する右前腕624の垂直平面における稼動範囲は、右上腕623の軸方向に対して0度~180度の範囲とする。また、このような稼動範囲における右腕622右上腕623および右前腕624の角度を、225度刻みで推定することが可能であるものとする。図24は、右腕を体幹正面方向に向けた姿勢における、右前腕の先端部が取り得る位置軌跡を示す図である。図中、X軸は、右肩を原点とした体幹正面方向における距離を示し、Y軸は、右肩を原点とした垂直方向における距離を示す。また、以下の各図において、三角印▲は、右前腕の先端部が取り得る位置を示す。図24に示すように、右前腕の先端部は、9×9=81通りの位置を取り得る。なお、右腕622の水平面における稼動範囲は5通り存在し、各方向において、右前腕の先端部は、9×9=81通りの位置を取り得る。したがって、人が取り得る姿勢は、5×81=405通りとなる。なお、カメラが、仰角が0度であり、人を真横から撮影するものである場合は、特殊である。この場合、右腕622の水平面における向きが-45度である場合と45度である場合とで、および、右腕622の水平面における向きが-22.5度である場合と22.5度である場合とで、画像上で右前腕の先端部が取り得る位置のパターンは同一となる。また、腕を真下に下ろす姿勢と、真上に上げている位置のパターンは同一になる。したがって、カメラが、仰角0度で人を真横から撮影する場合は、画像上で確認することが可能な姿勢は、3×81-4=243-4=239通りとなる。運動モデルを用いれば、このような多数の姿勢の中から、次候補姿勢を絞り込むことができる。例えば、01秒毎に撮影および姿勢推定が行われ、人の各関節は、水平方向および垂直方向のそれぞれにおいて、01秒当たり最大で225度までしかその角度を変えられなかったとする。この場合、次候補姿勢は、3×3×3=9個以下に絞られる。ところが、正解の姿勢とシルエットが同一の、誤った姿勢が、前回推定姿勢であった場合、運動モデルによる次候補姿勢の絞り込みは有効ではない。図25は、シルエットが同一となる複数の姿勢の例を示す図である。図25Aに示すように、前回推定姿勢が、腕を真下に伸ばしている姿勢であったとする。しかし、図25Bおよび図25Cに示すように、シルエットが同一の別の姿勢も存在し、これらと誤った姿勢推定がされた可能性がある。図26は、右上腕および右前腕の推定難度が高い場合、つまり、運動モデルによる次候補姿勢の絞り込みを行わない場合の、右前腕の先端部が取り得る位置軌跡を示す図である。以下の各図において、菱形印◇は、次候補姿勢において右前腕の先端部が取り得る位置を示す。図25Aに示す姿勢とシルエットが同じ姿勢右腕が胴および頭と重なる姿勢の数は、例えば、41となる。そして、仰角0度で人を真横から撮影する場合、図25Aに示す姿勢とシルエットが同じ姿勢の数は、例えば、18となる。図27は、右上腕および右前腕の推定難度が低い場合、つまり、運動モデルによる次候補姿勢の絞り込みを行った場合の、右前腕の先端部が取り得る位置軌跡を示す図である。図25Aに示す姿勢に対する遷移可能3次元姿勢の数は、例えば、91となる。そして、仰角0度で人を真横から撮影する場合、図25Aに示す姿勢に対する遷移可能3次元姿勢の2次元姿勢の数は、例えば、63となる。以上のように、姿勢推定装置100dは、推定難度が高い部位が存在しなければ、次候補姿勢の数を、仰角0度で人を真横から撮影する場合には243から63まで、その他の場合には405から91まで、削減することができる。また、姿勢推定装置100dは、推定難度が高い部位が存在する場合でも、仰角0度で人を真横から撮影する場合には、シルエット画像の類似度から、次候補姿勢の数を、243から18まで削減することができる。以上のように、本実施の形態に係る姿勢推定装置100dは、推定難度から前回推定姿勢の信頼度を判定し、前回推定姿勢の信頼度が高い場合、運動モデルを用いて次回姿勢候補を抽出する。これにより、姿勢推定装置100dは、処理の高速化低負荷化を図ることができる。また、本実施の形態に係る姿勢推定装置100dは、前回推定姿勢の信頼度が低い場合、画像情報に基づいて姿勢判定を行う。あるいは、本実施の形態に係る姿勢推定装置100dは、前回推定姿勢の信頼度が低い場合、画像情報の類似度を用いて、前回推定姿勢の候補を拡大してから、運動モデルを用いて次回姿勢候補を抽出する。これにより、姿勢推定装置100dは、ロバストな姿勢推定を行うことができる。なお、以上説明した実施の形態2および実施の形態3では、姿勢推定の対象が人である場合について説明したが、本発明は、ロボットなど、複数の部位から成る各種の物体の姿勢推定に適用することができる。"