(57)【特許請求の範囲】
【請求項１】
姿勢の推定対象となる物体を複数の方向から撮影した画像を、その撮影方向に対応付けて記憶した記憶部と、
移動体に搭載されたカメラと、
前記カメラにて撮影した画像に基づいて物体の姿勢を求める制御部と、
前記制御部にて推定した物体の姿勢のデータを出力する出力部と、を備え、
前記制御部は、
前記カメラに、第１の撮影方向から物体を撮影するように指示し、撮影によって得られた第１の画像を取得し、
前記記憶部から、前記第１の画像に対する類似度が所定の閾値以上の複数の画像を候補画像として抽出し、
次の撮影を行う第２の撮影方向を決定すると共に、前記第１の撮影方向から前記第２の撮影方向への前記カメラの移動方向及び移動角度を求め、
前記複数の候補画像のそれぞれについて、前記移動方向及び移動角度だけ移動した撮影方向を求め、当該撮影方向に対応付けられた画像を前記記憶部から抽出して前記複数の候補画像に対する予測画像とし、
前記カメラに、前記第２の撮影方向から物体を撮影するように指示し、撮影によって得られた第２の画像を取得し、
前記第２の画像と前記複数の予測画像のそれぞれとの類似度を計算し、類似度が最も高い予測画像に対応付けられた撮影方向に基づいて物体の姿勢を推定する姿勢推定装置。
【請求項２】
前記制御部は、前記第２の撮影方向を決定する際に、前記複数の予測画像どうしの類似度が所定の閾値以下になるように次の撮影方向を決定する、請求項１に記載の姿勢推定装置。
【請求項３】
前記カメラにて撮影した画像内に複数の物体が含まれている場合に、前記制御部は、各物体に対する候補画像を抽出し、前記候補画像にかかる物体の位置関係に基づいて、候補画像の絞り込みを行う請求項１または２に記載の姿勢推定装置。
【請求項４】
前記第２の画像と前記複数の予測画像のそれぞれとの類似度を計算した結果、最も類似度が高い予測画像と他の予測画像の類似度の差が所定の閾値以下の場合には、所定の類似度を有する予測画像を候補画像として次の撮影を行い、最も類似度が高い予測画像と他の予測画像の類似度の差が所定の閾値より大きい場合には、前記最も類似度が高い予測画像に対応付けられた撮影方向に基づいて物体の姿勢を推定する請求項１乃至３のいずれかに記載の姿勢推定装置。
【請求項５】
前記カメラにて撮影された画像と前記記憶部に記憶された画像との類似度を求める前に、前記カメラと物体との距離に基づいて前記撮影画像を拡大または縮小する請求項１乃至４のいずれかに記載の姿勢推定装置。
【請求項６】
移動体に搭載されたカメラを備えた姿勢推定装置によって、物体の姿勢を推定する方法であって、
前記姿勢推定装置が、前記カメラに、第１の撮影方向から物体を撮影するように指示し、撮影によって得られた第１の画像を取得するステップと、
前記姿勢推定装置が、姿勢の推定対象となる物体を複数の方向から撮影した画像を、その撮影方向に対応付けて記憶した記憶部から、前記第１の画像に対する類似度が所定の閾値以上の複数の画像を候補画像として抽出するステップと、
前記姿勢推定装置が、次の撮影を行う第２の撮影方向を決定すると共に、前記第１の撮影方向から前記第２の撮影方向への前記カメラの移動方向及び移動角度を求めるステップと、
前記姿勢推定装置が、前記複数の候補画像のそれぞれについて前記移動方向及び移動角度だけ移動した撮影方向を求め、当該撮影方向に対応付けられた画像を前記記憶部から抽出して前記複数の候補画像に対する予測画像とするステップと、
前記姿勢推定装置が、前記カメラに、前記第２の撮影方向から物体を撮影するように指示し、撮影によって得られた第２の画像を取得するステップと、
前記姿勢推定装置が、前記第２の画像と前記複数の予測画像のそれぞれとの類似度を計算し、類似度が最も高い予測画像に対応付けられた撮影方向に基づいて物体の姿勢を推定するステップと、
を備える姿勢推定方法。
【請求項７】
前記第２の撮影方向を決定するステップにおいて、前記姿勢推定装置が、前記複数の予測画像どうしの類似度が所定の閾値以下になるように次の撮影方向を決定する請求項６に記載の姿勢推定方法。
【請求項８】
前記物体の姿勢を推定するステップにおいて、前記カメラにて撮影した画像内に複数の物体が含まれている場合に、前記姿勢推定装置が、各物体に対する候補画像を抽出し、前記候補画像にかかる物体の位置関係に基づいて、候補画像の絞り込みを行う請求項６または７に記載の姿勢推定方法。
【請求項９】
前記姿勢推定装置が、前記第２の画像と前記複数の予測画像のそれぞれとの類似度を計算した結果、最も類似度が高い予測画像と他の予測画像の類似度の差が所定の閾値以下の場合には、所定の類似度を有する予測画像を候補画像として次の撮影を行い、最も類似度が高い予測画像と他の予測画像の類似度の差が所定の閾値より大きい場合には、前記最も類似度が高い予測画像に対応付けられた方向に基づいて物体の姿勢を推定する請求項６乃至８のいずれかに記載の姿勢推定方法。
【請求項１０】
前記姿勢推定装置が、前記カメラにて撮影された画像と前記記憶部に記憶された画像との類似度を求める前に、前記カメラと物体との距離に基づいて前記撮影画像を拡大または縮小する請求項６乃至９のいずれかに記載の姿勢推定方法。
【請求項１１】
移動体に搭載されたカメラを備えたコンピュータによって、物体の姿勢を推定するためのプログラムであって、前記コンピュータに、
前記カメラに、第１の撮影方向から物体を撮影するように指示し、撮影によって得られた第１の画像を取得するステップと、
姿勢の推定対象となる物体を複数の方向から撮影した画像を、その撮影方向に対応付けて記憶した記憶部から、前記第１の画像に対する類似度が所定の閾値以上の複数の画像を候補画像として抽出するステップと、
次の撮影を行う第２の撮影方向を決定すると共に、前記第１の撮影方向から前記第２の撮影方向への前記カメラの移動方向及び移動角度を求めるステップと、
前記複数の候補画像のそれぞれについて前記移動方向及び移動角度だけ移動した撮影方向を求め、当該撮影方向に対応付けられた画像を前記記憶部から抽出して前記複数の候補画像に対する予測画像とするステップと、
前記カメラに、前記第２の撮影方向から物体を撮影するように指示し、撮影によって得られた第２の画像を取得するステップと、
前記第２の画像と前記複数の予測画像のそれぞれとの類似度を計算し、類似度が最も高い予測画像に対応付けられた撮影方向に基づいて物体の姿勢を推定するステップと、
を実行させるプログラム。
【請求項１２】
前記第２の撮影方向を決定するステップにおいて、前記コンピュータに、前記複数の予測画像どうしの類似度が所定の閾値以下になるように次の撮影方向を決定させる請求項１１に記載のプログラム。
【請求項１３】
前記物体の姿勢を推定するステップにおいて、前記カメラにて撮影した画像内に複数の物体が含まれている場合に、各物体に対する候補画像を抽出し、前記候補画像にかかる物体の位置関係に基づいて、候補画像の絞り込みを行う請求項１１または１２に記載のプログラム。
【請求項１４】
前記コンピュータに、前記第２の画像と前記複数の予測画像のそれぞれとの類似度を計算した結果、最も類似度が高い予測画像と他の予測画像の類似度の差が所定の閾値以下の場合には、所定の類似度を有する予測画像を候補画像として次の撮影を行い、最も類似度が高い予測画像と他の予測画像の類似度の差が所定の閾値より大きい場合には、前記最も類似度が高い予測画像に対応付けられた撮影方向に基づいて物体の姿勢を推定させる請求項１１乃至１３のいずれかに記載のプログラム。
【請求項１５】
前記コンピュータに、前記カメラにて撮影された画像と前記記憶部に記憶された画像との類似度を求める前に、前記カメラと物体との距離に基づいて前記撮影画像を拡大または縮小させる請求項１１乃至１４のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の姿勢を推定する装置および方法に関する。
【背景技術】
【０００２】
従来から、カメラにて撮影した映像から物体の姿勢を推定する装置が知られている（非特許文献１〜３）。非特許文献１は、局所領域を学習画像として用いたアンサンブル分類木アルゴリズムを提案しており、部品の「図」のみを学習することによって、山積みされた部品群であっても正確な検出を実現できるものである。非特許文献２は、異なる照射条件で撮影を行えるシステムを用いて、あらかじめ撮影したオブジェクトの複数の姿勢を用いて「Random ferns」の学習を行い、姿勢を検出する際には、入力画像の各部分に対して投票を行うことによって姿勢を求めるものである。非特許文献３は、勾配方向に基づくテンプレートマッチングにより、時間のかかる学習のステージを行わないで、３Ｄイメージ検出を行う方法を提案している。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】吉井裕人他「アンサンブル分類木を用いたバラ積み部品の概略位置姿勢検出」画像の認識・理解シンポジウム-MIRU2010 IS2-4 (2010)
【非特許文献２】Jose Jeronimo Rodrigues 他「6D pose estimation of textureless shiny objects using random ferns for bin-picking」Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Conference
【非特許文献３】Stefan Hinterstoisser 他「Gradient Response Maps for Real-Time Detection of Texture-Less Objects」IEEE Transactions on Pattern Analysis and Maschine Intelligence (TPAMI)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１にも記載されているとおり、テクスチャの乏しい物体では手がかりとなる局所特徴が乏しく、可能性のある姿勢が非常に多いことから姿勢の検出は困難である。上記のとおり、物体の姿勢を検出するさまざまな研究が行われているが、未だ決定的な方法は提唱されていない。
【０００５】
そこで、本発明は、上記背景に鑑み、物体の姿勢を適切に推定することができる姿勢推定装置を提供することを目的とする。なお、本発明は、テクスチャの乏しい物体でも適切に姿勢を検出できるものであり、姿勢を検出する対象をテクスチャの乏しい物体に限定されるものではない。
【課題を解決するための手段】
【０００６】
本発明の姿勢推定装置は、姿勢の推定対象となる物体を複数の方向から撮影した画像を、その撮影方向に対応付けて記憶した記憶部と、移動体に搭載されたカメラと、前記カメラにて撮影した画像に基づいて物体の姿勢を求める制御部と、前記制御部にて推定した物体の姿勢のデータを出力する出力部とを備え、前記制御部は、前記カメラに、第１の撮影方向から物体を撮影するように指示し、撮影によって得られた第１の画像を取得し、前記記憶部から、前記第１の画像に対する類似度が所定の閾値以上の複数の画像を候補画像として抽出し、次の撮影を行う第２の撮影方向を決定すると共に、前記第１の撮影方向から前記第２の撮影方向への前記カメラの移動方向及び移動角度を求め、前記複数の候補画像のそれぞれについて前記移動方向及び移動角度だけ移動した撮影方向を求め、当該撮影方向に対応付けられた画像を前記記憶部から抽出して前記複数の候補画像に対する予測画像とし、前記カメラに、前記第２の撮影方向から物体を撮影するように指示し、撮影によって得られた第２の画像を取得し、前記第２の画像と前記複数の予測画像のそれぞれとの類似度を計算し、類似度が最も高い予測画像に対応付けられた撮影方向に基づいて物体の姿勢を推定する構成を有する。
【０００７】
このように記憶部に記憶された画像の中に、第１の撮影方向から撮影した画像と高い類似度を有する画像（候補画像）が複数存在する場合に、第１の撮影方向とは異なる第２の撮影方向から撮影したときに得られると予測される画像との類似度を求める。つまり、第１の撮影方向から第２の撮影方向へのカメラの移動方向および移動角度に基づいて、各候補画像が正しいとした場合に予測される第２の画像の予測画像を記憶部から読み出しておき、予測画像と撮影された第２の画像とを比較する。これにより、第１の画像により求められた撮影方向の候補を、第２の画像によって絞り込むことができる。なお、記憶部には、撮影方向に加えてカメラの回転角度に対応付けて、姿勢の推定対象となる物体の画像を記憶することとしてもよい。
【０００８】
本発明の姿勢推定装置において、前記制御部は、前記第２の撮影方向を決定する際に、前記複数の予測画像どうしの類似度が所定の閾値以下になるように次の撮影方向を決定してもよい。
【０００９】
このように、予測画像どうしの類似度が低い撮像方向を第２の撮影方向とすることにより、複数の予測画像の撮影画像に対する類似度に有意な違いを生じさせ、物体の姿勢を推定することができる。
【００１０】
本発明の姿勢推定装置において、前記カメラにて撮影した画像内に複数の物体が含まれている場合に、前記制御部は、各物体に対する候補画像を抽出し、前記候補画像にかかる物体の位置関係に基づいて、候補画像の絞り込みを行うこととしてもよい。
【００１１】
この構成により、複数の物体の組合せが成立し得るか否かという観点で候補画像を絞り込むので、撮像画像と記憶部に記憶された画像との比較回数を減らし、計算処理の負担を軽減することができる。物体の位置関係に基づく絞り込みとしては、例えば、２つの物体が近接して映っている場合に、一方の物体がある姿勢であると仮定すると、他方の物体がいかなる姿勢を取ったとしても両物体が干渉してしまうような場合、当該一方の物体の姿勢はあり得ないことになるので、候補画像から除外することができる。
【００１２】
本発明の姿勢推定装置は、前記第２の画像と前記複数の予測画像のそれぞれとの類似度を計算した結果、最も類似度が高い予測画像と他の予測画像の類似度の差が所定の閾値以下の場合には、所定の類似度を有する予測画像を候補画像として次の撮影を行い、最も類似度が高い予測画像と他の予測画像の類似度の差が所定の閾値より大きい場合には、前記最も類似度が高い予測画像に対応付けられた撮影方向に基づいて物体の姿勢を推定する構成を有してもよい。
【００１３】
この構成により、類似度が突出して高い予測画像が得られるまで、撮影方向を変えてマッチングを行う処理を繰り返すので、物体の姿勢の誤推定を防止できる。
【００１４】
本発明の姿勢推定装置は、前記カメラにて撮影された画像と前記記憶部に記憶された画像との類似度を求める前に、前記カメラと物体との距離に基づいて前記撮影画像を拡大または縮小する構成を有してもよい。
【００１５】
同じ物体を撮影しても、カメラから物体までの距離によって撮影画像が大きくなったり小さくなったりするが、本発明の構成によれば、距離に基づいて撮影画像を拡大または縮小することにより、カメラの距離に基づく撮影画像の大小の影響をなくし、記憶部に記憶された画像と適切に比較することができる。
【００１６】
本発明の姿勢推定方法は、上記した本発明の姿勢推定装置が実行するステップを備えた方法であり、本発明のプログラムは上記した本発明の姿勢推定装置を実現するプログラムである。
【発明の効果】
【００１７】
本発明によれば、第１の撮影方向および第２の撮影方向から撮影した画像と記憶部に記憶された画像との類似度を、第１の撮影方向と第２の撮影方向の相互の関係を考慮して求めることにより、物体をどの方向から撮影した画像であるかを迅速に検出でき、物体の姿勢を推定できる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態の姿勢推定装置の構成を示す図である。
【図２】（ａ）は記憶部に画像データが記憶された物体およびその座標系の一例を示す図である。（ｂ）は記憶部に記憶されたデータの例を示す図である。
【図３】（ａ）及び（ｂ）は、物体の撮影方向の一例を示す図である。
【図４】（ａ）及び（ｂ）は、第１の撮影方向から撮影したときの候補画像および第２の撮影方向から撮影したときの予測画像の例を示す図である。
【図５】実施の形態の姿勢推定装置のハードウェア構成を示す図である。
【図６】実施の形態の姿勢推定装置の動作を示す図である。
【図７】第２の実施の形態の姿勢推定装置２の構成を示すブロック図である。
【図８】（ａ）は、カメラにて撮影した画像に映った物体の画像の例を示す図である。（ｂ）は、画像アに係る物体の候補画像と画像イに係る物体の候補画像の組合せ可能性を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態の姿勢推定装置について図面を参照して説明する。姿勢推定装置は、例えば、ロボット装置などに組み込まれて、あるいはロボット装置などと共に用いられ、ロボット装置が物体に対して作業を行うことを支援する。しかし、本発明の姿勢推定装置の適用場面はこれに限定されるものではない。
【００２０】
［第１の実施の形態］
図１は、姿勢推定装置１の構成を示すブロック図である。姿勢推定装置１は、カメラ１０と、制御部１１と、記憶部１７と、出力部１８とを有している。カメラ１０は、図示しない移動体に搭載されており、その撮影方向を任意に変更することができる。記憶部１７には、姿勢の推定対象となる物体を複数の方向から撮影した画像が、撮影方向、および、撮影時のカメラ１０の回転角度に対応付けて記憶されている。
【００２１】
図２（ａ）は記憶部１７に画像データが記憶された物体およびその座標系の一例を示し、図２（ｂ）は記憶部１７に記憶されたデータの例を示す図である。図２（ａ）に示すような三角柱形状を有する物体を例として説明する。この物体には、物体固有の座標系が設定されている。この物体固有の座標系が基準となる座標系（例えば、ロボット装置が規定する座標系）に対してどの方向にどの程度が傾いているかによって物体の姿勢を定義することができる。
【００２２】
図２（ａ）に見られるように、物体を（１，０，０）方向に向かって撮影すると長方形の画像となり、（−１，０，０）方向に向かって撮影すると同じく長方形の画像となる。また、（０，１，０）方向に向かって撮影すると、右下に直角の頂点がくる直角三角形の画像となり、（０，−１，０）方向に向かって撮影すると、左下に直角の頂点がくる直角三角形の画像となり、（０，０，１）方向および（０，０，−１）方向に向かって撮影すると長方形の画像となる。
【００２３】
図２（ｂ）に示すように、記憶部１７は、物体の撮影画像とそれを撮影した撮影方向のデータを対応付けて記憶している。図２（ｂ）では、簡単のため、６つの撮影方向からの画像を示したが、実際には、全方位から撮影した多数の画像データを記憶している。また、撮影時のカメラ１０の回転角度についても、０度の場合のみを示しているが、実際には、それぞれの撮影方向について、カメラ１０の回転角度を変えたときの撮影画像が記憶されている。
【００２４】
制御部１１は、カメラ１０にて撮影した物体の画像と記憶部１７に記憶されたデータとを照合して、物体の姿勢を求める機能を有している。制御部１１は、図１に示すように、撮影画像取得部１２と、マッチング部１３と、予測画像抽出部１４と、撮影方向決定部１５と、姿勢計算部１６の機能を有している。
【００２５】
撮影画像取得部１２は、カメラ１０に対して撮影指示を出し、カメラ１０にて撮影された画像を受信して取得する機能を有する。なお、撮影画像取得部１２からカメラ１０に対して出す撮影指示には、撮影方向やカメラの回転角度の指示も含まれる。マッチング部１３は、カメラ１０での撮影画像と記憶部１７に記憶された画像との類似度を求め、類似度が所定の閾値以上の画像を抽出する機能を有する。画像どうしの類似度を求める方法としては、輝度勾配方向を用いたテンプレートマッチング等の公知の方法を採用することができる。
【００２６】
また、マッチング部１３は、撮影画像と記憶部１７に記憶された画像とのマッチングを行う際の両画像の撮影条件とを同一にすべく、撮影時におけるカメラ１０から物体までの距離に基づいて撮影画像の大きさを正規化することが望ましい。例えば、記憶部１７に記憶された画像がカメラ１０から物体までの距離が１０ｃｍで撮影され、姿勢推定時にはカメラ１０から物体までの距離が２０ｃｍで撮影された場合、撮影画像における物体の大きさを２倍に拡大し、マッチングを適切に行えるようにする。なお、カメラ１０から物体までの距離を求める方法としては、光波や電波等を用いた公知の測距技術を採用することができる。また、例えば、物体が、カメラ１０との位置関係が既知の作業台に載置されている場合には、作業台の中心位置までの距離を物体までの距離とすることができる。この際に、物体が作業台上のどこにあるかを求め、作業台上の物体の位置によって距離を補正することとしてもよく、これにより、より正確な距離を求めることができる。
【００２７】
予測画像抽出部１４は、次の撮影方向（第２の撮影方向）から物体を撮影したときに得られるであろう予測画像を、記憶部１７から抽出する機能を有する。具体的には、マッチング部１３にて、第１の撮影方向から撮影した画像に対する類似度が所定の閾値以上の複数の画像を候補画像として求める。予測画像抽出部１４は、候補画像のそれぞれに対応付けられた撮影方向に、第１の撮影方向から第２の撮影方向への相対的な移動量を加えた撮影方向を求め、当該撮影方向に対応付けられた画像を記憶部１７から読み出す。
【００２８】
ここで、予測画像抽出部１４の機能について、具体例を挙げて説明する。記憶部１７には、物体の画像がその撮影方向に関連付けて記憶されているので、現在の撮影方向（第１の撮影方向）から次の撮影方向（第２の撮影方向）への移動方向および移動角度が決まれば、候補画像に対する予測画像の撮影方向を特定することができる。
【００２９】
図３（ａ）及び図３（ｂ）は、物体の撮影方向の一例を示す図である。第１の撮影方向から物体を撮影したときに、縦長の長方形の画像が撮影されたとする。この場合、マッチング部１３によって、図２（ｂ）に示す記憶部１７に記憶された画像データとのマッチングを行うと、類似度の高い画像として、（１，０，０）方向または（−１，０，０）方向から撮影した画像が抽出され、これらが候補画像となる。つまり、縦長の長方形の画像は、図３（ａ）および図３（ｂ）に示すいずれかの方向から撮影した画像であると予想される。
【００３０】
次に、第２の撮影方向を第１の撮影方向に向かって右側からとする（つまり、撮影方向を水平に９０度回転させる）と、第１の撮影方向が図３（ａ）に示すように（１，０，０）方向であった場合には、第２の撮影方向は（１，０，０）方向となり、記憶部１７に記憶されたデータによれば、予測画像として右下を直角の頂点とする直角三角形が抽出される（図４（ａ）参照）。第１の撮影方向が図３（ｂ）に示すように（−１，０，０）方向であった場合には、第２の撮影方向は（０，−１，０）方向となり、記憶部１７に記憶されたデータによれば、予測画像として左下を直角の頂点とする直角三角形が抽出される（図４（ｂ）参照）。このように、予測画像抽出部１４は、候補画像の撮影方向が正しいとした場合の予測画像を抽出する。
【００３１】
撮影方向決定部１５は、複数の候補画像のそれぞれに対する予測画像どうしの類似度が低くなる撮影方向を第２の撮影方向として決定する。上に示した例では、図４（ａ）と図４（ｂ）に示す予測画像は直角三角形の向きが逆であり、類似度が低いので、このような撮影方向を第２の撮影方向とする。
【００３２】
もし、図３（ａ）及び図３（ｂ）に示すような候補画像がある場合に、例えば、第２の撮影方向を上から下への方向とすると、いずれの候補画像に対する予測画像も長方形形状の画像となり、類似度が高い画像となる。撮影方向決定部１５は、このように予測画像の類似度が高くなるような撮影方向を第２の撮影方向として決定しないようにする。予測画像どうしの類似度が高いと、第２の撮影方向から撮影された画像と、予測画像とのマッチング結果は似たような値になり、撮影方向の候補を絞り込むことができないからである。
【００３３】
図１に戻って、姿勢推定装置１の構成について説明する。姿勢計算部１６は、撮影画像から物体の撮影方向を求め、求めた撮影方向とカメラ１０の向きとから、物体の姿勢（物体の座標系の傾き）を計算する機能を有する。
【００３４】
出力部１８は、制御部１１にて求めた物体の姿勢のデータを出力する機能を有する。物体の姿勢のデータの出力先は、例えば、姿勢推定装置１がロボット装置と共に用いられる場合には、ロボット装置である。これにより、ロボット装置は、物体の姿勢に基づいて、把持すべき物体の部位等の位置を求めることができる。
【００３５】
図５は、姿勢推定装置１を構成するハードウェアを示す図である。姿勢推定装置１は、カメラ１０に接続されたコンピュータ２０によって構成される。コンピュータ２０は、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、ＨＤＤ２５、外部インターフェース（Ｉ／Ｆ）２６を備え、これらの構成要素がデータバス２７によって接続されている。カメラ１０は、外部インターフェース２６に接続される。なお、ロボット装置等と共に用いられる場合には、ロボット装置も外部インターフェース２６に接続される。ＲＯＭ２３には、上述した制御部１１の機能を実現するプログラム２４が記憶されており、ＣＰＵ２１がプログラム２４を読み出して実行することにより、制御部１１の機能が実現される。このようなプログラム２４も本発明の範囲に含まれる。
【００３６】
図６は、第１の実施の形態の姿勢推定装置１の動作を示すフローチャートである。姿勢推定装置１は、まず、推定対象の物体をカメラ１０にて撮影する（Ｓ１）。具体的には、制御部１１の撮影画像取得部１２がカメラ１０に対して撮影指示を行い、撮影された画像を取得する。なお、このときの撮影方向が第１の撮影方向である。
【００３７】
次に、姿勢推定装置１のマッチング部１３は、撮影画像と、記憶部１７に記憶された画像とのマッチングを行い、類似度が所定の閾値以上の画像と、その撮影方向およびカメラ１０の回転角度を記憶部１７から抽出する（Ｓ２）。ここでは、記憶部１７に記憶された全ての画像とのマッチングを行い、類似度が所定の閾値以上の全ての画像を抽出する。ここで抽出される多数の画像の中に、真の撮影方向に相当する撮影方向に対応付けられた画像が含まれているが、この時点では、通常は一つの画像（及びその撮影方向）に絞り込めない。ここで抽出された画像を、候補画像という。
【００３８】
続いて、姿勢推定装置１の撮影方向決定部１５は、次の撮影方向（第２の撮影方向）を決定する（Ｓ３）。この際、撮影方向決定部１５は、予測画像抽出部１４と連携して撮影方向を決定する。すなわち、予測画像抽出部１４にて、第１の撮影方向から第２の撮影方向への移動方向及び移動角度に基づいて、それぞれの候補画像に対する予測画像を求め、撮影方向決定部１５は、予測画像どうしの類似度が所定の閾値以下になる方向を第２の撮影方向として決定する。
【００３９】
姿勢推定装置１は、推定対象の物体を第２の撮影方向から撮影する（Ｓ４）。具体的には、制御部１１の撮影画像取得部１２がカメラ１０に対して、カメラ１０の移動方向および移動角度を指示するとともに撮影指示を行い、撮影された画像を取得する。
【００４０】
次に、姿勢推定装置１は、撮影画像と、予測画像とのマッチングを行う（Ｓ５）。予測画像は、ステップＳ２で求めた候補画像のそれぞれに対応するものである。したがって、このステップでは、記憶部１７に記憶されている全ての画像とのマッチングを行うわけではない。撮影画像と複数の予測画像との類似度を求めた結果、類似度が他の予測画像の類似度よりも所定の閾値以上高い予測画像があるか否か、つまり、他よりも突出して類似度の高い予測画像があるか否かを判定する（Ｓ６）。類似度が他の予測画像の類似度よりも所定の閾値以上高い予測画像がある場合には（Ｓ６でＹＥＳ）、姿勢推定装置１の姿勢計算部１６は、当該予測画像に対応付けられた撮影方向と、カメラ１０の向きとに基づいて、物体の姿勢を計算し、計算して求めた物体の姿勢のデータを出力する（Ｓ８）。
【００４１】
第２の撮影方向から撮影した画像と予測画像とのマッチングの結果、類似度が他の予測画像の類似度よりも所定の閾値以上高い予測画像がない場合には（Ｓ６でＮＯ）、類似度が所定の閾値以上の予測画像を候補画像として（Ｓ７）、さらに別の撮影方向（別の第２の撮影方向）を決定して物体を撮影し、予測画像とのマッチングを行って候補画像の絞り込みを行う（Ｓ３〜Ｓ６）。そして、類似度が他の予測画像の類似度よりも所定の閾値以上高い予測画像があるか否かを判定し（Ｓ７）、他よりも類似度が突出して高い予測画像が見つかるまで、撮影方向を変えて繰り返し処理を行う。以上、第１の実施の形態の姿勢推定装置１の構成および動作について説明した。
【００４２】
第１の実施の形態の姿勢推定装置１は、第１の撮影方向から撮影した画像と記憶部１７に記憶された画像とのマッチングにより複数の候補画像を抽出した後、それぞれの候補画像について、所定の移動方向に所定の移動角度だけ撮影方向を変えた第２の撮影方向からの撮影で得られる予測画像を求め、予測画像と撮影画像とのマッチングを行うので、効率的に候補画像の絞り込みを行い、撮影方向を決定することができる。
【００４３】
また、本実施の形態では、第２の撮影方向を決定する際に、予測画像どうしの類似度が低くなるように決定しているので、予測画像と撮影画像とのマッチング結果に有意差が生じ、少ない撮影回数で撮影方向を絞り込むことができる。
【００４４】
［第２の実施の形態］
図７は、第２の実施の形態の姿勢推定装置２の構成を示すブロック図である。第２の実施の形態の姿勢推定装置２の基本的な構成は、第１の実施の形態と同じであるが、制御部１１が、候補画像を絞り込む候補画像絞込部１９を有している点が異なる。
【００４５】
候補画像絞込部１９は、撮影された画像に複数の物体が映っている場合に、それらの位置関係に基づいて、同時に存在し得る物体の組合せかどうかを判断することで、候補画像を絞り込む機能を有している。簡単な例を挙げると、例えば、撮影された画像に２つの物体が映っている場合に、それぞれの画像を個別に見た場合には、各辺の長さが１００ｍｍの立方体が候補として挙げられたとする。しかし、映っている画像から判断して、２つの物体の画像の距離が１００ｍｍ未満である場合には、両方ともが各辺の長さが１００ｍｍの立方体であることはあり得ず、いずれか一方または両方の候補が誤りであると分かる。候補画像絞込部１９は、こうした制約条件を利用して候補画像を絞り込む機能を有する。
【００４６】
図８（ａ）は、カメラにて撮影した画像に映った物体の画像の例を示す図である。図８（ａ）に示す例では、画像アにかかる物体と、画像イにかかる物体とが映っている。図８（ｂ）は、画像アに係る物体の候補画像と画像イに係る物体の候補画像の組合せ可能性を示す図である。図８（ｂ）に示す表において、縦方向には、画像アと類似度の高い候補画像に係る物体とその撮影方向とを記載している。なお、ここでは、簡単のため撮影方向を「下方向」「右方向」等と記載しているが、実際には、上述したとおり、撮影方向はベクトル等によって規定される。
【００４７】
図８（ｂ）に示す例では、画像アの候補としては、（ｉ）「物体Ａ」を「下方向」に
見た画像、（ｉｉ）「物体Ａ」を「上方向」に見た画像、（ｉｉｉ）「物体Ｂ」を「右方向」に見た画像、（ｉｖ）「物体Ｆ」を「右下方向」に見た画像、（ｖ）「物体Ｈ」を「左方向」に見た画像、という５つの可能性がある。画像イの候補としては、（ｉ）
「物体Ａ」を「右方向」に見た画像、（ｉｉ）「物体Ｃ」を「右方向」に見た画像、（ｉｉｉ）「物体Ｄ」を「左上方向」に見た画像、（ｉｖ）「物体Ｇ」を「上方向」に見た画像、という４つの可能性がある。図８（ｂ）に示すように、画像ア、画像イを個別に分析すると、画像アについて５つ、画像イについて４つの候補が存在する。
【００４８】
候補画像絞込部１９は、画像ア、イから求めた各候補画像が、同時に存在し得るものかどうかを判定する。例えば、画像アが「物体Ａ」を「下方向」から撮影したものであり、画像イが「物体Ａ」を「右方向」から撮影したものであったとした場合、図８（ａ）に示す画像ア、イの位置関係から見て両者が同時に存在し得るか否か、つまり、上に述べたように、画像アにかかる物体Ａと、画像イにかかる物体Ａとが干渉してしまうような場合には、同時に存在し得ないと判定する。図８（ｂ）に示す例では、このような組合せは存在しないとして「×」が記載されている。なお、存在可能な組合せには「○」を記載している。候補画像絞込部１９は、候補画像どうしの各組合せについて、図８（ｂ）に示すように、その存在可能性を求める。なお、この組合せの存在可能性の判断は、最初に撮影を行って、候補画像を求めたときに行えばよい。撮影方向を変えて、第２の撮影方向から撮影して予測画像とのマッチングを行う際には、最初に求めた候補画像の範囲内でマッチングを行うから、新たな候補画像は出てこないからである。
【００４９】
図８（ｂ）に示す例では、画像アに係る候補の一つである「物体Ｂ」は、画像イのいずれの候補画像とも組合せ可能性がない。このような場合には、画像アが「物体Ｂ」であるとすると、画像イに対応する物体が存在しないことになってしまうので、候補画像絞込部１９は、画像アは「物体Ｂ」ではないと判断し、これを候補画像から除外する。同様に、画像イに係る候補の一つである「物体Ｇ」も候補画像から除外する。
【００５０】
また、例えば、画像アに係る物体について、第１の実施の形態と同様に、第２の方向から撮影した画像を取得してマッチングを行い、画像アに係る物体が「物体Ｆ」であると確定したとすると、「物体Ｆ」と両立し得る画像イに係る物体は「物体Ｃ」しかないので、画像候補絞込部１９は、画像イに係る物体が「物体Ｃ」であると判断する。この場合、画像イについては、別方向から撮影した画像のマッチングを行う必要がなくなる。
【００５１】
以上のように、第２の実施の形態の姿勢検出装置は、候補画像絞込部１９によって候補画像を絞り込むことにより、マッチングを行う回数を減らし、画像マッチングに必要な計算処理負担を軽減することができる。
【００５２】
なお、第２の実施の形態では、２つの画像の同時存在可能性を例として説明したが、撮影された画像中に３つ以上の物体の画像が映っている場合には、それらの画像に係る物体の同時存在可能性に基づいて、候補画像を絞り込んでもよい。
【００５３】
以上、本発明の姿勢推定装置および姿勢推定方法について、実施の形態を挙げて詳細に説明したが、本発明は上記した実施の形態に限定されるものではない。
【００５４】
上記した実施の形態では、撮影方向決定部１５は、複数の候補画像に対する予測画像どうしの類似度を考慮して第２の撮影方向を決定する例について説明したが、第２の撮影方向は、ランダムに決定してもよい。また、推定対象となる物体の形状の特徴に応じて決定することとしてもよい。例えば、９０度回転対象の物体の場合には、９０度より小さい角度だけ移動する等である。
【００５５】
上記した実施の形態においては、第２の撮影方向からの撮影画像と予測画像との類似度を求めた結果、他よりも突出して高い類似度を有する予測画像が見つかるまで、撮影方向を変えて絞り込みを行う例について説明したが、ステップＳ６の判定処理を行わず、第２の撮影方向からの画像との類似度が最も高い予測画像に基づいて撮影方向を決定することとしてもよい。この場合も、第１の撮影方向および第２の撮影方向からの撮影画像に基づいて物体の姿勢の推定の精度を高めることができる。
【００５６】
上記した実施の形態において、記憶部１７には、物体の撮影画像とそれを撮影した撮影方向のデータを対応付けて記憶している例について説明したが、物体のＣＡＤデータ等がある場合には、物体を実際に撮影しなくても、物体を回転させたデータを計算して、記憶しておいてもよい。
【００５７】
上記した実施の形態において、記憶部１７に、複数の物体の画像データを記憶することとしてもよい。この構成により、姿勢推定装置１は、複数の物体の姿勢を推定することができる。
【産業上の利用可能性】
【００５８】
以上説明したとおり、本発明は、物体の姿勢を適切に推定できるという効果を有し、例えば、ロボット装置等において把持すべき物体の姿勢を推定する装置等として有用である。
【符号の説明】
【００５９】
１，２  姿勢推定装置
１０  カメラ
１１  制御部
１２  撮影画像取得部
１３  マッチング部
１４  予測画像抽出部
１５  撮影方向決定部
１６  姿勢計算部
１７  記憶部
１８  出力部
１９  候補画像絞込部
２０  コンピュータ
２１  ＣＰＵ
２２  ＲＡＭ
２３  ＲＯＭ
２４  プログラム
２５  ＨＤＤ
２６  外部インターフェース
２７  データバス
【図１】
0006042289.tif 000002
【図２】
0006042289.tif 000003
【図３】
0006042289.tif 000004
【図４】
0006042289.tif 000005
【図５】
0006042289.tif 000006
【図６】
0006042289.tif 000007
【図７】
0006042289.tif 000008
【図８】
0006042289.tif 000009