"載置面上に載置された物体の姿勢を認識する姿勢認識装置において、前記物体を撮像する撮像部と、前記物体に対応した3次元モデルの情報を記憶する3次元モデル情報記憶部と、前記3次元モデル情報記憶部から前記3次元モデルの情報を読み出して、前記物体が前記載置面上で静止すると予測される前記物体の姿勢に対応する前記3次元モデルの安定姿勢を計算する安定姿勢計算部と、安定姿勢の前記3次元モデルが配置される仮想空間において前記撮像部により前記物体を撮像する撮像方向に対応する方向から、前記安定姿勢計算部で計算された安定姿勢の前記3次元モデルを観測して得られる2次元投影画像を生成する2次元投影画像生成部と、前記2次元投影画像生成部により生成された前記2次元投影画像を記憶する2次元投影画像記憶部と、前記撮像部により撮像されて得られた撮像画像と、前記2次元投影画像記憶部に記憶された前記2次元投影画像との一致度を計算する画像照合部と、前記2次元投影画像記憶部に記憶された2次元投影画像のうち、前記一致度が最も高い2次元投影画像を特定し、特定した2次元投影画像に対応する前記3次元モデルの姿勢を、前記物体の姿勢として認識する姿勢認識部と、を備えたことを特徴とする姿勢認識装置。前記安定姿勢計算部は、前記仮想空間において重力方向に延びる第1の座標軸と、前記第1の座標軸に直交する第2の座標軸と、前記第1の座標軸及び前記第2の座標軸に直交する第3の座標軸とで表される3次元座標系を定義し、前記第1の座標軸、前記第2の座標軸及び前記第3の座標軸のそれぞれの軸まわりに0度以上360度未満の角度範囲内で前記3次元モデルを回転させる複数の姿勢情報のうち、1つの姿勢情報を選択する3次元モデル姿勢選択部と、前記3次元モデル姿勢選択部で選択された姿勢情報を基に前記仮想空間における前記3次元モデルの姿勢を設定して、前記3次元モデルの前記重力方向の最下点の位置座標を計算する3次元モデル最下点計算部と、前記第2の座標軸及び前記第3の座標軸を含む仮想平面に前記最下点を投影した投影点の凸包を計算する凸包計算部と、前記仮想空間における前記3次元モデルの重心点の位置座標を計算する3次元モデル重心点計算部と、前記重心点を前記仮想平面に投影した重心投影点が前記凸包に含まれるときの前記3次元モデルの姿勢を安定姿勢と判別する安定姿勢判別部と、を有し、前記3次元モデル姿勢選択部は、前記複数の姿勢情報の全てを選択し終えるまで、姿勢情報を順次変更して選択し、前記3次元モデル最下点計算部、前記凸包計算部、前記3次元モデル重心点計算部、及び前記安定姿勢判別部は、前記3次元モデル姿勢選択部により姿勢情報の選択が変更される度に処理を実行する、ことを特徴とする請求項1に記載の姿勢認識装置。前記安定姿勢計算部は、前記仮想空間において重力方向に延びる第1の座標軸と、前記第1の座標軸に直交する第2の座標軸と、前記第1の座標軸及び前記第2の座標軸に直交する第3の座標軸とで表される3次元座標系を定義し、前記第1の座標軸、前記第2の座標軸及び前記第3の座標軸のそれぞれの軸まわりに0度以上360度未満の角度範囲内で前記3次元モデルを回転させる複数の姿勢情報のうち、1つの姿勢情報を選択する3次元モデル姿勢選択部と、前記3次元モデル姿勢選択部で選択された姿勢情報を基に前記仮想空間における前記3次元モデルの姿勢を設定する3次元モデル姿勢設定部と、前記3次元モデル姿勢設定部で姿勢が設定された前記3次元モデルの前記重力方向の最下点における前記第1の座標軸の第1の座標値を抽出する最下点座標抽出部と、前記第1の座標値と、前記第1の座標値よりも一定値大きい値に設定された第2の座標値との間に含まれる前記3次元モデルの構造点を前記第2の座標軸と前記第3の座標軸とを含む仮想平面に投影したときの投影点の座標を抽出する投影点座標抽出部と、前記投影点の凸包を計算する凸包計算部と、前記仮想空間における前記3次元モデルの重心点の位置座標を計算する3次元モデル重心点計算部と、前記重心点を前記仮想平面に投影した重心投影点が前記凸包に含まれるときの前記3次元モデルの姿勢を安定姿勢と判別する安定姿勢判別部と、を有し、前記3次元モデル姿勢選択部は、前記複数の姿勢情報の全てを選択し終えるまで、姿勢情報を順次変更して選択し、前記3次元モデル姿勢設定部、前記最下点座標抽出部、前記投影点座標抽出部、前記凸包計算部、前記3次元モデル重心点計算部、及び前記安定姿勢判別部は、前記3次元モデル姿勢選択部により前記3次元モデルの姿勢情報の選択が変更される度に処理を実行する、ことを特徴とする請求項1に記載の姿勢認識装置。載置面上に載置された物体を撮像する撮像部を有し、前記物体の姿勢を認識する姿勢認識装置が行う姿勢認識方法において、前記物体に対応した3次元モデルの情報を3次元モデル情報記憶部に記憶させる3次元モデル情報記憶工程と、前記3次元モデル情報記憶部から前記3次元モデルの情報を読み出して、前記物体が前記載置面上で静止すると予測される前記物体の姿勢に対応する前記3次元モデルの安定姿勢を計算する安定姿勢計算工程と、安定姿勢の前記3次元モデルが配置される仮想空間において前記撮像部により前記物体を撮像する撮像方向に対応する方向から、前記安定姿勢計算工程で計算された安定姿勢の前記3次元モデルを観測して得られる2次元投影画像を生成する2次元投影画像生成工程と、前記2次元投影画像生成工程により生成された前記2次元投影画像を2次元投影画像記憶部に記憶させる2次元投影画像記憶工程と、前記撮像部により撮像されて得られた撮像画像と、前記2次元投影画像記憶部に記憶された前記2次元投影画像との一致度を計算する画像照合工程と、前記2次元投影画像記憶部に記憶された2次元投影画像のうち、前記一致度が最も高い2次元投影画像を特定し、特定した2次元投影画像に対応する前記3次元モデルの姿勢を、前記物体の姿勢として認識する姿勢認識工程と、を備えたことを特徴とする姿勢認識方法。前記安定姿勢計算工程は、前記仮想空間において重力方向に延びる第1の座標軸と、前記第1の座標軸に直交する第2の座標軸と、前記第1の座標軸及び前記第2の座標軸に直交する第3の座標軸とで表される3次元座標系を定義し、前記第1の座標軸、前記第2の座標軸及び前記第3の座標軸のそれぞれの軸まわりに0度以上360度未満の角度範囲内で前記3次元モデルを回転させる複数の姿勢情報のうち、1つの姿勢情報を選択する3次元モデル姿勢選択工程と、前記3次元モデル姿勢選択工程で選択された姿勢情報を基に前記仮想空間における前記3次元モデルの姿勢を設定して、前記3次元モデルの前記重力方向の最下点の位置座標を計算する3次元モデル最下点計算工程と、前記第2の座標軸及び前記第3の座標軸を含む仮想平面に前記最下点を投影した投影点の凸包を計算する凸包計算工程と、前記仮想空間における前記3次元モデルの重心点の位置座標を計算する3次元モデル重心点計算工程と、前記重心点を前記仮想平面に投影した重心投影点が前記凸包に含まれるときの前記3次元モデルの姿勢を安定姿勢と判別する安定姿勢判別工程と、を有し、前記3次元モデル姿勢選択工程では、前記複数の姿勢情報の全てを選択し終えるまで、姿勢情報を順次変更して選択し、前記3次元モデル最下点計算工程、前記凸包計算工程、前記3次元モデル重心点計算工程、及び前記安定姿勢判別工程を、前記3次元モデル姿勢選択工程により前記3次元モデルの姿勢の選択が変更される度に実行する、ことを特徴とする請求項4に記載の姿勢認識方法。前記安定姿勢計算工程は、前記仮想空間において重力方向に延びる第1の座標軸と、前記第1の座標軸に直交する第2の座標軸と、前記第1の座標軸及び前記第2の座標軸に直交する第3の座標軸とで表される3次元座標系を定義し、前記第1の座標軸、前記第2の座標軸及び前記第3の座標軸のそれぞれの軸まわりに0度以上360度未満の角度範囲内で前記3次元モデルを回転させる複数の姿勢情報のうち、1つの姿勢情報を選択する3次元モデル姿勢選択工程と、前記3次元モデル姿勢選択工程で選択された姿勢情報を基に前記仮想空間における前記3次元モデルの姿勢を設定する3次元モデル姿勢設定工程と、前記3次元モデル姿勢設定工程で姿勢が設定された前記3次元モデルの前記重力方向の最下点における前記第1の座標軸の第1の座標値を抽出する最下点座標抽出工程と、前記第1の座標値と、前記第1の座標値よりも一定値大きい値に設定された第2の座標値との間に含まれる前記3次元モデルの構造点を前記第2の座標軸と前記第3の座標軸とを含む仮想平面に投影したときの投影点の座標を抽出する投影点座標抽出工程と、前記投影点の凸包を計算する凸包計算工程と、前記仮想空間における前記3次元モデルの重心点の位置座標を計算する3次元モデル重心点計算工程と、前記重心点を前記仮想平面に投影した重心投影点が前記凸包に含まれるときの前記3次元モデルの姿勢を安定姿勢と判別する安定姿勢判別工程と、を有し、前記3次元モデル姿勢選択工程では、前記複数の姿勢情報の全てを選択し終えるまで、姿勢情報を順次変更して選択し、前記3次元モデル姿勢設定工程、前記最下点座標抽出工程、前記投影点座標抽出工程、前記凸包計算工程、前記3次元モデル重心点計算工程、及び前記安定姿勢判別工程を、前記3次元モデル姿勢選択工程により前記3次元モデルの姿勢情報の選択が変更される度に実行する、ことを特徴とする請求項4に記載の姿勢認識方法。載置面上に載置された物体を撮像する撮像部を有し、前記物体の姿勢を認識する姿勢認識装置のコンピュータに、前記物体に対応した3次元モデルの情報を3次元モデル情報記憶部に記憶させる3次元モデル情報記憶工程と、前記3次元モデル情報記憶部から前記3次元モデルの情報を読み出して、前記物体が前記載置面上で静止すると予測される前記物体の姿勢に対応する前記3次元モデルの安定姿勢を計算する安定姿勢計算工程と、安定姿勢の前記3次元モデルが配置される仮想空間において前記撮像部により前記物体を撮像する撮像方向に対応する方向から、前記安定姿勢計算工程で計算された安定姿勢の前記3次元モデルを観測して得られる2次元投影画像を生成する2次元投影画像生成工程と、前記2次元投影画像生成工程により生成された前記2次元投影画像を2次元投影画像記憶部に記憶させる2次元投影画像記憶工程と、前記撮像部により撮像されて得られた撮像画像と、前記2次元投影画像記憶部に記憶された前記2次元投影画像との一致度を計算する画像照合工程と、前記2次元投影画像記憶部に記憶された2次元投影画像のうち、前記一致度が最も高い2次元投影画像を特定し、特定した2次元投影画像に対応する前記3次元モデルの姿勢を、前記物体の姿勢として認識する姿勢認識工程と、を実行させるためのプログラム。請求項7に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。しかしながら、上述した従来の方法では、予め指定した姿勢の探索範囲外のものについては、物体として認識されないため、載置面上に自由に置かれた物体については適用できないという問題があった。これに対し、予め物体の3次元モデルを用意し、3次元モデルの姿勢を変えて得られる多数の2次元投影画像を作成しておき、カメラで物体を撮像して得られた撮像画像と、多数ある2次元投影画像のそれぞれとを照合することが考えられる。これにより、多数の2次元投影画像の中から撮像画像と一致度の最も高い2次元投影画像を特定し、載置面上に自由に置かれた物体の姿勢を認識することはできる。ところが、この方法では、3次元モデルから作成する2次元投影画像を、3次元モデルのあらゆる姿勢に対応して多数用意するため、膨大な画像保存容量が必要である。また、撮像画像と2次元投影画像とを照合する処理は時間を要するものであり、その照合処理の回数が多いほど、多くの計算時間が必要となり、物体の姿勢認識処理の速度が低下する。そこで、本発明は、載置面上に自由に置かれた物体について、少ない画像記憶容量で高速に物体の姿勢を認識することを目的とするものである。本発明の姿勢認識装置は、載置面上に載置された物体の姿勢を認識する姿勢認識装置において、前記物体を撮像する撮像部と、前記物体に対応した3次元モデルの情報を記憶する3次元モデル情報記憶部と、前記3次元モデル情報記憶部から前記3次元モデルの情報を読み出して、前記物体が前記載置面上で静止すると予測される前記物体の姿勢に対応する前記3次元モデルの安定姿勢を計算する安定姿勢計算部と、安定姿勢の前記3次元モデルが配置される仮想空間において前記撮像部により前記物体を撮像する撮像方向に対応する方向から、前記安定姿勢計算部で計算された安定姿勢の前記3次元モデルを観測して得られる2次元投影画像を生成する2次元投影画像生成部と、前記2次元投影画像生成部により生成された前記2次元投影画像を記憶する2次元投影画像記憶部と、前記撮像部により撮像されて得られた撮像画像と、前記2次元投影画像記憶部に記憶された前記2次元投影画像との一致度を計算する画像照合部と、前記2次元投影画像記憶部に記憶された2次元投影画像のうち、前記一致度が最も高い2次元投影画像を特定し、特定した2次元投影画像に対応する前記3次元モデルの姿勢を、前記物体の姿勢として認識する姿勢認識部と、を備えたことを特徴とする。また、本発明の姿勢認識方法は、載置面上に載置された物体を撮像する撮像部を有し、前記物体の姿勢を認識する姿勢認識装置が行う姿勢認識方法において、前記物体に対応した3次元モデルの情報を3次元モデル情報記憶部に記憶させる3次元モデル情報記憶工程と、前記3次元モデル情報記憶部から前記3次元モデルの情報を読み出して、前記物体が前記載置面上で静止すると予測される前記物体の姿勢に対応する前記3次元モデルの安定姿勢を計算する安定姿勢計算工程と、安定姿勢の前記3次元モデルが配置される仮想空間において前記撮像部により前記物体を撮像する撮像方向に対応する方向から、前記安定姿勢計算工程で計算された安定姿勢の前記3次元モデルを観測して得られる2次元投影画像を生成する2次元投影画像生成工程と、前記2次元投影画像生成工程により生成された前記2次元投影画像を2次元投影画像記憶部に記憶させる2次元投影画像記憶工程と、前記撮像部により撮像されて得られた撮像画像と、前記2次元投影画像記憶部に記憶された前記2次元投影画像との一致度を計算する画像照合工程と、前記2次元投影画像記憶部に記憶された2次元投影画像のうち、前記一致度が最も高い2次元投影画像を特定し、特定した2次元投影画像に対応する前記3次元モデルの姿勢を、前記物体の姿勢として認識する姿勢認識工程と、を備えたことを特徴とする。また、本発明のプログラムは、載置面上に載置された物体を撮像する撮像部を有し、前記物体の姿勢を認識する姿勢認識装置のコンピュータに、前記物体に対応した3次元モデルの情報を3次元モデル情報記憶部に記憶させる3次元モデル情報記憶工程と、前記3次元モデル情報記憶部から前記3次元モデルの情報を読み出して、前記物体が前記載置面上で静止すると予測される前記物体の姿勢に対応する前記3次元モデルの安定姿勢を計算する安定姿勢計算工程と、安定姿勢の前記3次元モデルが配置される仮想空間において前記撮像部により前記物体を撮像する撮像方向に対応する方向から、前記安定姿勢計算工程で計算された安定姿勢の前記3次元モデルを観測して得られる2次元投影画像を生成する2次元投影画像生成工程と、前記2次元投影画像生成工程により生成された前記2次元投影画像を2次元投影画像記憶部に記憶させる2次元投影画像記憶工程と、前記撮像部により撮像されて得られた撮像画像と、前記2次元投影画像記憶部に記憶された前記2次元投影画像との一致度を計算する画像照合工程と、前記2次元投影画像記憶部に記憶された2次元投影画像のうち、前記一致度が最も高い2次元投影画像を特定し、特定した2次元投影画像に対応する前記3次元モデルの姿勢を、前記物体の姿勢として認識する姿勢認識工程と、を実行させることを特徴とする。また、コンピュータ読み取り可能な記録媒体に上記プログラムを記録したことを特徴とする。本発明によれば、安定姿勢の3次元モデルのみ2次元投影画像を2次元投影画像記憶部に記憶するようにしたので、全姿勢の3次元モデルの2次元投影画像を記憶する場合よりも、画像記憶容量を削減することができる。また、撮像画像と照合される2次元投影画像が、3次元モデルが安定姿勢の場合の2次元投影画像のみであるので、全姿勢の3次元モデルの2次元投影画像と照合する場合よりも、高速に物体の姿勢を認識することができる。以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。[第1実施形態]図1は、本発明の第1実施形態に係る姿勢認識装置の概略構成を示す説明図であり、図1aは、姿勢認識装置の構成図、図1bは、姿勢認識装置の機能ブロック図である。図1aに示す姿勢認識装置100は、例えば作業ロボットのコントローラに組み込まれる。その際、姿勢認識装置100は、平面上に自由に置かれた3次元形状が既知の部品物体を、ハンドを有するロボット本体で拾い上げる際に、ロボット本体のハンドで部品の所定の位置を把持できるように、部品の姿勢を自動的に認識するものである。この姿勢認識装置100は、撮像部101と、撮像部101の撮像画像データを受信可能に撮像部101に接続された制御装置102と、制御装置102に接続されたキーボードやマウス等の操作部103とを備えている。撮像部101は、入射する光信号を電気信号に変換するCCD等の撮像素子を有するデジタルビデオカメラである。撮像部101は、その撮像素子が例えば640×480画素を有する場合、640mm×480mmの撮像視野を有する。水平状態に置かれた平板Pの平面Pa上載置面上には、ロボットに把持される物品であって撮像対象物である物体Wが載置される。撮像部101は、図2aに示すように、平板Pの平面Paが、全ての画素Eで規定される撮像視野V内に過不足なく収まるように位置や角度が調整されている。例えば、撮像部101の撮像面が平面Paと平行となるように、撮像部101が平板Pの直上に配置されている。撮像部101は、例えばLVDSLowVoltageDifferentialSignaling信号を用いたシリアル通信により、撮像した画像データをフレーム単位で制御装置102に出力する。ここで、撮像対象物である物体Wは、例えば幅30mm×奥行き30mm×高さ30mmの立方体型でプラスチック製の部品である。また、平板Pは、平面Paが重力方向Gに対して垂直となるように配置されている。この平板Pは、例えば幅640mm×奥行き480mm×高さ10mmで黒色の鉄板である。制御装置102は、CPU104、ROM105、RAM106、HDD107、通信インタフェース108等を備えているコンピュータシステムである。ROM105には、CPU104に初期化動作を行わせる起動プログラムが記憶されている。HDD107は、CPU104にシステム全体を管理させるソフトウェアOSや、当該ソフトウェアに基づくCPU104の動作による管理の下、CPU104に実行させるコンピュータ読み取り可能なプログラムが記録されている記録媒体である。CPU104は、HDD107に記録されたプログラムを読み出して、各種演算処理等を実行する。RAM106は、CPU104による作業データを一時的に記憶する。通信インタフェース108は、各種データの入出力を管理する。図1bに示すように、制御装置102は、カメラパラメータ計算部1、撮像画像補正部2、撮像画像記憶部3、3次元モデル情報入力部4、3次元モデル情報記憶部5、安定姿勢計算部6、2次元投影画像生成部7、2次元投影画像記憶部8を有している。また、制御装置102は、画像照合部9及び姿勢認識部10を有している。これら各部1~10は、HDD107に記録されたプログラムを読み出して動作するCPU104、並びにCPU104の制御により動作するHDD107及び通信インタフェース108等が機能する。具体的には、CPU104は、カメラパラメータ計算部1、撮像画像補正部2、安定姿勢計算部6、2次元投影画像生成部7、画像照合部9及び姿勢認識部10として機能する。HDD107は、撮像画像記憶部3、3次元モデル情報記憶部5及び2次元投影画像記憶部8として機能する。通信インタフェース108は、3次元モデル情報入力部4として機能する。まず、物体Wの撮像動作に入る前に、カメラパラメータの計算をしておく必要がある。本実施形態では、物体Wの撮像動作を行う前に、図2bに示すように、平板Pの平面Pa上に、物体Wがない状態で、平面Paと等しい寸法のキャリブレーションボードBを配置し、撮像部101により撮像を行う。なお、実空間におけるx軸、y軸、z軸で表される3次元座標の原点x,y,z=0,0,0は、図2aに示すように、撮像部101により撮像する撮像視野Vでの左下方向に位置する、平板Pの上面の端点とする。z軸は重力方向Gに沿って延び、x軸はz軸と直交し、y軸はx軸及びz軸と直交する。この直交座標系がカメラパラメータ計算部1により設定される。カメラパラメータ計算部1は、キャリブレーションボードBを撮像した撮像部101からの撮像画像データを受信し、撮像部101の内部カメラパラメータ焦点距離、画素サイズ及び外部カメラパラメータ撮像部101の位置姿勢を計算する。これら内部カメラパラメータ及び外部カメラパラメータがカメラパラメータである。このキャリブレーションボードBを用いたカメラパラメータの計算については、周知の方法により行えばよい。カメラパラメータ計算部1は、撮像する物体Wの実際の姿勢に関わりない処理を行うため、物体Wの撮像を始める前に実行する。次に、物体Wを撮像して物体Wの姿勢を認識する処理動作を行う前に、物体Wの姿勢を認識するのに必要な画像データを作成しておく必要がある。図3は、姿勢認識装置100が物体の姿勢認識処理を行う際の動作フローチャートであり、図3aは、予め照合に用いる画像データを作成する処理の動作フローチャート、図3bは、実際に姿勢認識処理を行う際の動作フローチャートである。まず、図1を参照しながら図3aの動作フローチャートに沿って説明する。3次元モデル情報入力部4は、物体Wに対応した3次元モデルWaの情報データを入力するS101:3次元モデル情報入力工程。物体Wに対応する3次元モデルWaの情報は、例えばCADComputerAidedDesignソフトウェアを用いて物体Wを設計したときに作成されたデータファイル3次元CADデータである。この3次元モデルWaは、各構造点頂点を結んでできる多角形例えば三角形からなるポリゴンを多数組み合わせて構成されている。3次元モデル情報入力部4は、操作部103を介した操作者の指示に従い、3次元モデル情報入力部4に接続された不図示の外部機器に記憶された3次元モデルWaの情報やネットワークを介して3次元モデルWaの情報を入力する。次に、3次元モデル情報記憶部5は、3次元モデル情報入力部4により入力した3次元モデルWaの情報を、CPU104の制御の下で記憶保存するS102:3次元モデル情報記憶工程。つまり、3次元モデル情報記憶部5は、操作者に操作部103を介して指定された3次元モデルWaの情報を記憶する。なお、制御装置102に導入されたCADソフトウェアを用いて3次元モデルWaを作成する場合もある。この場合には、3次元モデル情報入力部4による3次元モデルWaの情報の入力動作は省略され、作成された3次元モデルWaの情報が直接3次元モデル情報記憶部5に記憶される。安定姿勢計算部6は、3次元モデル情報記憶部5から3次元モデルWaの情報を読み出して、物体Wが平面Pa上で静止すると予測される物体Wの姿勢に対応する3次元モデルWaの安定姿勢を計算するS103:安定姿勢計算工程。物体Wが平面Pa上で静止するとは、物体Wが平面Pa上で倒れずに安定して存在することを意味する。ここで、3次元モデルWaの安定姿勢の姿勢情報は、図4aに示す、仮想空間Sの3次元座標系における姿勢パラメータαX軸周りの回転角度、βY軸周りの回転角度、γZ軸周りの回転角度で表される。仮想空間Sにおける3次元座標系の各座標軸は、実空間における3次元座標系の各座標軸図2b参照に対応させている。安定姿勢計算部6が計算した安定姿勢パラメータα、β、γは、2次元投影画像生成部7に出力される。2次元投影画像生成部7は、安定姿勢計算部6で計算された安定姿勢の3次元モデルWaについてのみ、図4bに示すように、仮想空間Sに配置する。そして、2次元投影画像生成部7は、仮想空間Sにおいて撮像部101により物体Wを撮像する撮像方向に対応する方向から、安定姿勢の3次元モデルWaを観測して得られる2次元投影画像Caを生成するS104:2次元投影画像生成工程。具体的には、実空間における撮像部101の位置姿勢と同じ位置姿勢で仮想空間Sにおいて3次元モデルWaを観測し、2次元投影画像Caを生成する。この2次元投影画像Caは、仮想的な撮像部101aで撮像された撮像画像と同じである。この2次元投影画像を生成する際に、背景色は平板Pと同色の、例えば黒色とする。なお、本第1実施形態では、仮想空間Sにおいて撮像部101により物体Wを撮像する撮像方向に対応する方向とは、図1と同じ鉛直下向き方向のことである。また、2次元投影画像については、撮像距離により大小が変化する撮像画像との照合を行う必要がある。そこで、各姿勢パラメータにおいて、アフィン変換を用いて、撮像部101による実際の撮像距離に対応して、例えば1mmずつ、撮像距離900mmから1100mmまでに対応する2次元投影画像を全て生成する。つまり、安定姿勢である3次元モデルWaの1つの姿勢に対して、仮想的な撮像部101aによる観測距離を変えた複数の2次元投影画像が生成される。2次元投影画像生成部7が生成した2次元投影画像は、2次元投影画像記憶部8に送信される。2次元投影画像記憶部8は、CPU104の制御の下、2次元投影画像生成部7により生成された2次元投影画像を全て記憶保存するS105:2次元投影画像記憶工程。この2次元投影画像のデータには、安定姿勢計算部6で計算された安定姿勢の姿勢情報を示す姿勢パラメータα、β、γが添付されており、2次元投影画像記憶部8は、2次元投影画像のデータと対応付けて姿勢パラメータα、β、γを記憶する。これら3次元モデル情報記憶部5、安定姿勢計算部6、2次元投影画像生成部7、2次元投影画像記憶部8における動作は、撮像する物体Wの実際の姿勢に関わりない処理を行うため、物体Wの姿勢認識処理を始める前に予め実行される。次に、実際に物体Wを撮像して、物体Wの姿勢を認識する動作、即ち図3bの動作フローチャートを、図1を参照しながら説明する。まず、CPU104の指示により、撮像部101が平面Pa上に載置された物体Wを撮像するS111:撮像工程。次に、撮像画像補正部2は、カメラパラメータ計算部1が計算したカメラパラメータを用いて、撮像部101から受信した撮像画像データを、画像内のx’座標とy’座標が3次元座標のx座標、y座標に合致するように補正するS112。カメラパラメータを用いた画像の補正については、周知の画像補正方法を用いればよい。補正した撮像画像データは、撮像画像記憶部3に出力される。撮像画像記憶部3は、撮像画像補正部2が補正した撮像画像のデータを入力して記憶保存するS113。次に、画像照合部9は、2次元投影画像記憶部8から2次元投影画像を1画像ずつ読み込むS114。その際、対応する姿勢パラメータα、β、γも同時に読み込む。読み込んだデータは、RAM106に格納される。そして、画像照合部9は、撮像部101により撮像されて得られた撮像画像撮像画像記憶部3に保存された撮像画像と、2次元投影画像記憶部8に記憶された2次元投影画像読み込んだ2次元投影画像との一致度を計算するS115:画像照合工程。この画像照合部9における一致度の計算が画像照合処理である。画像の一致度を計算する評価関数としては、例えば一般に用いられる二乗残差法SSD法を用いる。画像照合部9が計算した一致度は、姿勢パラメータα、β、γとともに姿勢認識部10に送信される。姿勢認識部10は、画像照合部9が計算した、全ての2次元投影画像の撮像画像に対する一致度を受信する。そして、姿勢認識部10は、全ての2次元投影画像の中で最も撮像画像に対する一致度が高い姿勢パラメータα、β、γを、認識した姿勢情報として出力するS116:姿勢認識工程。つまり、姿勢認識部10は、2次元投影画像記憶部8に記憶された2次元投影画像のうち、一致度が最も高い2次元投影画像を特定し、特定した2次元投影画像に対応する3次元モデルWaの姿勢を、物体Wの姿勢として認識する。2次元投影画像の中で撮像画像に対する一致度が最も高い姿勢パラメータが複数存在する場合には、αが最小となる姿勢パラメータを、認識した姿勢情報として出力する。さらにαが一致している場合にはβが最小となる姿勢パラメータを、認識した姿勢情報として出力する。さらにβが一致している場合にはγが最小となる姿勢パラメータを、認識した姿勢情報として出力する。以上の動作により、本実施形態によれば、3次元モデルWaの膨大な3次元姿勢の組み合せの中で、実際には存在することのない不安定な姿勢に関する画像の生成および照合を行わずに物体の姿勢認識を行うことができる。そして、安定姿勢の3次元モデルWaのみ2次元投影画像を2次元投影画像記憶部8に記憶するようにしたので、全姿勢の3次元モデルWaの2次元投影画像を記憶する場合よりも、画像記憶容量を削減することができる。さらに、実際には存在することのない不安定な姿勢に関する画像と撮像画像との照合を行う時間が不要となる。即ち撮像画像と照合される2次元投影画像が、3次元モデルが安定姿勢の場合の2次元投影画像のみであるので、全姿勢の3次元モデルの2次元投影画像と照合する場合よりも、高速に物体の姿勢を認識することができる。ところで、ステップS103における安定姿勢計算部6の計算は、運動シミュレーション手法により行ってもよいが、より簡略化及び高速化を図るため、以下に説明する装置構成及び方法により行ってもよい。図5は、安定姿勢計算部6を説明するための図であり、図5aは、安定姿勢計算部6の機能ブロック図である。安定姿勢計算部6は、3次元モデル姿勢選択部11、3次元モデル最下点計算部としての3次元モデル接地点計算部12、凸包計算部13、3次元モデル重心点計算部14、安定姿勢判別部15及び判断部16からなる。図6は、安定姿勢計算部6の演算処理動作を説明するためのフローチャートであり、図6aは、安定姿勢計算部6の演算処理動作を示す動作フローチャートである。まず、3次元モデル接地点計算部12及び3次元モデル重心点計算部14は、3次元モデル情報記憶部5から3次元モデルWaの情報を読み込むS1。具体的には、CPU104がHDD107から3次元モデルWaの情報を読み出して、RAM106に格納する。3次元モデル姿勢選択部11は、仮想空間Sにおいて重力方向に延びるZ軸第1の座標軸と、Z軸に直交するX軸第2の座標軸と、Z軸及びX軸に直交するY軸第3の座標軸とで表される3次元座標系を定義しておく。この3次元座標系は、上述した通り、実空間の3次元座標系と対応させた直交座標系である。そして、3次元モデル姿勢選択部11は、X軸、Y軸及びZ軸のそれぞれの軸まわりに0度以上360度未満の角度範囲内で3次元モデルを回転させる複数の姿勢情報のうち、1つの姿勢情報を選択するS2:3次元モデル姿勢選択工程。つまり、3次元モデル姿勢選択部11では、物体Wの姿勢パラメータα、β、γの組み合わせを1通りだけ選ぶ。例えば姿勢パラメータα、β、γを、0.1度ずつ、0.0度から359.9度まで変化させる場合には、3600の3乗である46,656,000,000通りの姿勢を、ロールピッチヨー角表現により、α、β、γの順番で回転させ、その姿勢を順に選択する。この場合、3次元モデル姿勢選択部11は、46,656,000,000通りの姿勢情報の中から1つの姿勢情報を選択する。ここで、ロールピッチヨー角表現とは、α、β、γを1つずつ順番に回転させることにより対象を目的の姿勢とさせる回転方法である。次に、3次元モデル接地点計算部12は、3次元モデル姿勢選択部11で選択された姿勢情報を基に仮想空間Sに配置される3次元モデルWaの姿勢を設定して、3次元モデルWaの重力方向の最下点の位置座標を計算するS3:3次元モデル最下点計算工程。なお、3次元モデルWaの最下点は、仮想的な水平面において接地する接地点であり、本実施形態では、最下点と接地点は同義である。以下、3次元モデル接地点計算部12について詳細に説明する。図5bは、安定姿勢計算部6の3次元モデル接地点計算部12の機能ブロック図である。3次元モデル接地点計算部12は、3次元モデル姿勢設定部21、最下点座標抽出部22、投影点座標抽出部23及び投影点座標記憶部24からなる。図6bは、3次元モデル接地点計算部12の演算処理動作を示す動作フローチャートである。3次元モデル姿勢設定部21は、3次元モデル姿勢選択部11図5aで選択された姿勢情報を基に仮想空間Sにおける3次元モデルWaの姿勢を設定するS31:3次元モデル姿勢設定工程。つまり、3次元モデル姿勢設定部21は、3次元モデル情報記憶部5から読込んだ3次元モデルWaの情報を用い、3次元モデル姿勢選択部11で選択した姿勢パラメータα,β,γを用いて、図7aに示すように、3次元モデルWaを仮想空間S内で回転させる。次に、最下点座標抽出部22は、3次元モデル姿勢設定部21で姿勢が設定された3次元モデルWaの重力方向の最下点PmにおけるZ軸第1の座標軸の座標値Z0を抽出するS32:最下点座標抽出工程。次に、投影点座標抽出部23は、最下点Z=Z0の点PmをX軸第2の座標軸とY軸第3の座標軸とを含む仮想平面X-Y平面に投影したときの投影点の座標X,Yを抽出するS33:投影点座標抽出工程。そして、投影点座標抽出部23は、最下点を投影した投影点の座標X,Yを全て抽出したか否かを判断しS34、抽出していない場合S34:Noは、未抽出であった投影点の座標X,Yを抽出する。つまり、投影点座標抽出部23は、3次元モデル全体で重力方向の最下点が複数存在する場合には、その全ての最下点の投影点の全座標X,Yを抽出する。全ての投影点の座標X,Yを抽出した場合S34:Yes、投影点座標記憶部24は、CPU104の制御の下、抽出した全座標X,Yを記憶するS35:投影点座標記憶工程。以上の3次元モデル接地点計算部12の動作により、3次元モデルWaの最下点の位置座標が計算される。次に、図5a及び図6aに戻って安定姿勢計算部6の動作について説明する。ステップS3にて、3次元モデル接地点計算部12により3次元モデルWaの最下点の位置座標が計算された後、凸包計算部13は、X軸及びY軸を含む仮想平面X-Y平面における投影点の凸包を計算するS4:凸包計算工程。このとき、凸包計算部13は、投影点座標記憶部24から全ての座標X,Yのデータを読み出し、この読み出したデータに基づいて、凸包を計算する。ここで、凸包とは、図7bを参照して説明すると、投影点の集合のうち任意の2点を結ぶ線分を常に含む、最小の多角形Aを意味する。3次元モデルWaの複数の最下点から凸包の多角形Aを計算する方法について、図7bに沿って説明する。まず、複数の最下点の中からY座標値が最小である最下点を抽出し、第1の頂点P1とする。次に、第1の頂点P1を基点とした無限に長い直線を、X軸方向である0度から180度まで、プラス方向に少しずつ角度を変化させ、直線上に含まれる最初の3次元モデル最下点を第2の頂点P2とする。第2の頂点P2が存在しない場合には、第1の頂点P1を凸包とする。第2の頂点P2が存在する場合には、第2の頂点P2を基点とした無限に長い直線を、第2の頂点P2を検出した角度から、第2の頂点P2を検出した角度に180度を加えた角度まで、プラス方向に少しずつ角度を変化させる。そして、その直線上に含まれる最初の3次元モデル最下点を第3の頂点P3とする。第3の頂点P3と第1の頂点P1が異なる場合には、第3の頂点P3を基点とした無限に長い直線を、第3の頂点P3を検出した角度から、第3の頂点P3を検出した角度に180度を加えた角度まで、プラス方向に少しずつ角度を変化させる。そして、その直線上に含まれる最初の3次元モデル最下点を第4の頂点P4とする。以上の演算動作を検出した頂点が第1の頂点P1と等しくなるまで繰り返すことで、検出した全ての頂点により、凸包の多角形Aが算出される。図6aに戻り、3次元モデル重心点計算部14は、3次元モデル情報記憶部5に記憶されている3次元モデルWaの情報を用い、3次元モデル姿勢選択部11で選択した姿勢パラメータα、β、γを用いて、3次元モデルWaを回転させる。そして、3次元モデル重心点計算部14は、仮想空間Sにおいて姿勢が設定された3次元モデルWaの重心点の位置座標XG、YG、ZGを計算する。次に、安定姿勢判別部15は、3次元モデル重心点計算部14で計算した3次元モデルWaの重心点をX-Y平面に投影した重心投影点が、凸包計算部13で計算した凸包の多角形Aの閉ループに含まれるか否かを計算する。そして、安定姿勢判別部15は、重心投影点が凸包の多角形Aの閉ループに含まれる場合の3次元モデルWaの姿勢を安定姿勢と判別するS6:安定姿勢判別工程。3次元モデルWaの重心点をX-Y平面に投影した重心投影点が、凸包の多角形Aの閉ループに含まれるか否かを計算する方法を、図8aに沿って説明する。まず、凸包の多角形Aの全頂点P1~P4の重心点PG0の座標を、全ての頂点のX座標、Y座標の平均をとることにより計算する。次に、重心点PG0と3次元モデルWaのX-Y平面における重心投影点とを結び、線分を生成する。次に、生成した線分が、凸包多角形を構成する線分のいずれかと交差するか否かを計算し、いずれにも交差しない場合には、3次元モデルWaのX-Y平面における重心投影点図8a中、PGは、最下点凸包多角形の閉ループ内に含まれる。逆に、生成した線分が、凸包多角形を構成する線分のいずれかと交差する場合には、重心投影点図8a中、PG’は、最下点凸包多角形の閉ループ内に含まれない。2つの線分が交差するか否かを計算する方法を、図8bに沿って説明する。例えば判別する2つの線分を、点P1と点P2を結ぶ線分、点PG0と点PGを結ぶ線分であるとする。ここで、ベクトルPG0-PG、ベクトルPG0-P1、ベクトルPG0-P2を考え、ベクトルPG0-P1とベクトルPG0-PGの外積と、ベクトルPG0-P2とベクトルPG0-PGの外積を計算する。そして、2つの外積により発生する2つのベクトルが互いに異なる符合となった場合、両者の線分は交差する。また、2つの外積により発生する2つのベクトルが同一の符号となった場合、両者の線分は交差しない。3次元モデルのX-Y平面における重心投影点の座標が最下点凸包多角形の閉ループ内に含まれている場合には、3次元モデル姿勢選択部11で選択した姿勢パラメータα、β、γは、物体Wが静止する倒れずに安定する、静的安定な姿勢パラメータである。また、3次元モデルのX-Y平面における重心投影点の座標が最下点凸包多角形の閉ループ内に含まれていない場合には、3次元モデル姿勢選択部11で選択した姿勢パラメータα、β、γは物体Wが静的安定でない、不安定な姿勢パラメータである。図6aに戻り、判断部16は、全姿勢についての安定姿勢判別が終了したか否かを判断しS7:判断工程、全姿勢についての安定姿勢判別が終了していない場合S7:No、再度、ステップS2の処理に戻る。つまり、ステップS7からステップS2に戻るルーチンにより、3次元モデル姿勢選択部11は、複数の姿勢情報の全てを選択し終えるまで、姿勢情報を順次変更して選択する。具体的には、3次元モデル姿勢選択部11は、姿勢パラメータα,β,γの値を順次変更して選択する。そして、3次元モデル接地点計算部12、凸包計算部13、3次元モデル重心点計算部14、及び安定姿勢判別部15は、3次元モデル姿勢選択部11により姿勢情報の選択が変更される度に処理を実行する。つまり、ステップS2において全ての姿勢情報が選択し終えるまで、ステップS3~S6の処理を実行する。以上の動作により、例えば3次元モデルWaの46,656,000,000通りの全ての姿勢について、安定姿勢であるか否かを判別することとなる。以上の計算は、3次元モデルWaの重心に基づき判別するだけなので、各姿勢について運動シミュレーション法により運動方程式に基づいて逐次数値計算するよりも、容易に且つ高速に演算することができる。[第2実施形態]次に、本発明の第2実施形態に係る姿勢認識装置について説明する。本第2実施形態では、図5における3次元モデル接地点計算部12、より具体的には、3次元モデル接地点計算部12の投影点座標抽出部23の動作が、上記第1実施形態と異なるものであり、それ以外の構成は、上記第1実施形態と同じである。つまり、本第2実施形態では、図6aのステップS3の動作が上記第1実施形態と異なるものであり、それ以外の動作は、上記第1実施形態と同じであるため、同一の動作については、詳細な説明を省略する。図9は、本発明の第2実施形態に係る姿勢認識装置の3次元モデル接地点計算部の演算処理動作を示す動作フローチャートである。なお、3次元モデル接地点計算部の構成は、図5bを用いて説明する。3次元モデル接地点計算部12は、上記第1実施形態と同様、3次元モデル姿勢設定部21、最下点座標抽出部22、投影点座標抽出部23及び投影点座標記憶部24を有する。図9において、3次元モデル姿勢設定部21は、3次元モデル姿勢選択部11で選択された姿勢情報を基に仮想空間Sにおける3次元モデルWaの姿勢を設定するS31’:3次元モデル姿勢設定工程。つまり、3次元モデル姿勢設定部21は、3次元モデル情報記憶部5に記憶された3次元モデルWaの情報を用い、3次元モデル姿勢選択部11で選択した姿勢パラメータα、β、γを用いて、3次元モデルWaを回転する。次に、最下点座標抽出部22は、3次元モデル姿勢設定部21で姿勢が設定された3次元モデルWaの重力方向の最下点におけるZ軸の第1の座標値Z0を抽出するS32’:最下点座標抽出工程。次に投影点座標抽出部23は、座標値Z0と座標値Z0よりも一定値大きい値に設定された第2の座標値Z0Cとの間に含まれる3次元モデルWaの構造点をX-Y平面に投影したときの投影点の座標X,Yを抽出するS33’:投影点座標抽出工程。一定値Cは、3次元モデルWaの誤差、物体Wの製造ばらつき、平板Pの角度と平面度、3次元モデルWaの座標軸と重力方向との誤差、等を考慮した最下点の検出マージンを表し、本実施形態では例えばC=0.1mmとする。そして、投影点座標抽出部23は、Z0≦Z≦Z0Cを満たす3次元モデルの構造点をX-Y平面に投影した投影点の座標X,Yを全て抽出したか否かを判断するS34’。投影点座標抽出部23は、全てを抽出していない場合S34’:Noは、未抽出であった投影点の座標X,Yを抽出する。つまり、投影点座標抽出部23は、3次元モデル全体で重力方向の最下点が複数存在する場合には、その全ての最下点の投影点の全座標X,Yを抽出する。全ての投影点の座標X,Yを抽出した場合S34’:Yes、投影点座標記憶部24は、CPU104の制御の下、抽出した全座標X,Yを記憶するS35’:投影点座標記憶工程。なお、上記第1実施形態と同様に、凸包計算部13図5aは、このようにして算出された投影点を用いて、凸包を計算する凸包計算工程。3次元モデル重心点計算部14は、仮想空間Sにおける3次元モデルWaの重心点の位置座標を計算する3次元モデル重心点計算工程。安定姿勢判別部15は、この重心点をX-Y平面に投影した重心投影点が凸包に含まれるときの3次元モデルの姿勢を安定姿勢と判別する安定姿勢判別工程。判断部16は、全姿勢についての安定姿勢判別が終了したか否かを判断し、全姿勢についての安定姿勢判別が終了していない場合は、再度3次元モデル姿勢選択部11に、未選択の姿勢情報を選択させる。つまり、3次元モデル姿勢選択部11は、複数の姿勢情報の全てを選択し終えるまで、姿勢情報を順次変更して選択する。そして、3次元モデル接地点計算部12、凸包計算部13、3次元モデル重心点計算部14、及び安定姿勢判別部15は、3次元モデル姿勢選択部11により3次元モデルの姿勢情報の選択が変更される度に処理を実行する。以上の動作により、例えば3次元モデルWaの46,656,000,000通りの全ての姿勢について、安定姿勢であるか否かを判別することとなる。以上、本第2実施形態によれば、最下点の検出マージンCを用いることにより最下点の高さばらつきが許容されるので、最下点の高さが正確に定まらない場合においても、物体の安定姿勢を自動的に計算することができる。最下点の高さが正確に定まらない場合とは、例えば3次元モデルの誤差がある場合、物体の3次元形状が製造ばらつきを有する場合、物体が置かれる平面が角度を持つ場合である。また、例えば床の平面度が誤差を有する場合、3次元モデルの座標軸と実際の重力方向との間に誤差がある場合などである。以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されない。コンピュータに読み出されるプログラムが格納される記録媒体は、HDDに限らず、CD,DVD等のメディアやUSBメモリ等の不揮発性メモリであってもよい。つまり、コンピュータにプログラムを読み出し可能に記録されるものであればいかなる記録媒体でもよく、これらに限定するものではない。そして、上記実施形態の機能をコンピュータに実現させるプログラムを、ネットワーク又は各種記録媒体を介してコンピュータに供給し、そのコンピュータがプログラムコードを読み出して実行するようにすればよい。この場合、そのプログラム、及び該プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明を構成することになる。"