(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、
図12を用いて説明する。
【0010】
図12は、本実施形態における情報装置のハードウェア構成図である。同図において、CPU1210は、バス1200を介して接続する各デバイスを統括的に制御する。CPU1210は、読み出し専用メモリ(ROM)1220に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム(OS)をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はROM1220に記憶されており、ランダムアクセスメモリ(RAM)1230に一時記憶され、CPU1210によって適宜実行される。また、入力I/F1240は、外部の装置(表示装置や操作装置など)から情報処理装置1で処理可能な形式で入力信号として入力する。また、出力I/F1250は、外部の装置(表示装置)へ表示装置が処理可能な形式で出力信号として出力する。
【0011】
これらの各機能部は、CPU1210が、ROM1220に格納されたプログラムをRAM1230に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、CPU1210を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【0012】
(第1の実施形態)
第1の実施形態では、対象物体を複数のカメラで撮影した画像にもとづいて対象物体の位置姿勢推定を実施した時の、該位置姿勢推定に関する性能をユーザに提示する方法について説明する。より具体的には、撮影した各画像及び複数の画像にもとづいてそれぞれ位置姿勢推定を行い、それぞれの位置姿勢推定の性能に関する情報をグラフィックユーザインターフェース(以下、GUIとする)上に表示する。これにより、各画像及び複数の画像を用いて実施した位置姿勢推定の性能の確認や比較を容易に行うことができるようになり、性能低下あるいは向上の要因となっている画像またはカメラの特定が行えるようになる。また、性能低下の要因と特定されたカメラの除去や配置変更を行うことができるようになる。対象物体の形状や置かれ方、環境光の当たり方といった変動する状況に適応した位置姿勢推定を行うことができる。
【0013】
図1は、本実施形態におけるシステムの構成を示している。情報処理装置100は、画像取得部101、第1の計測部102、第2の計測部103、第1の性能情報生成部104、第2の性能情報生成部105、第1の出力部106、第2の出力部107とを備える。そして、情報処理装置100はインタフェースを介して、外部の表示装置120に接続されている。
【0014】
図2は、画像取得部101が取得する画像の撮影を行うための装置構成及び配置を示す図であり、プロジェクタ1及び複数のカメラ2〜5から構成される。
図2では、プロジェクタ1台とカメラ4台で構成される場合を示している。該複数のカメラは、情報処理装置100と画像取得部101を介して接続する。
【0015】
画像取得部101は、対象物体を複数のカメラ2〜5で撮影した輝度画像を取得する。しかし、複数の視点で対象物体を撮影した画像が取得できれば他の方法であってもよい。例えば、複数の撮像装置あるいは複数の視点位置で対象物体を撮影した画像を、画像情報処理装置100と接続した外部の記憶装置に一旦保持しておいたものを入力してもよい。また、取得する輝度画像は、カラー画像であってもよいし、モノクロ画像であってもよい。
【0016】
第1の計測部102は、画像取得部101が取得した各画像に基づいて、対象物体の位置姿勢推定を行う。具体的な方法については、後述する。
【0017】
第2の計測部103は、画像取得部101が取得した複数の画像に基づいて、対象物体の位置姿勢推定を行う。具体的な方法については、後述する。
【0018】
第1の性能情報生成部104は、第1の計測部102で実行された位置姿勢推定処理に関する性能情報(第1の性能情報)を生成する。性能情報は、位置姿勢推定の精度及び位置姿勢推定に要する処理時間とする。第1の性能情報生成部104は、生成した第1の性能情報を第1の出力部106に送出する。
【0019】
第2の性能情報生成部105は、第2の計測部103で実施した位置姿勢推定に関する性能情報(第2の性能情報)を生成する。性能情報は、第1の性能情報生成部104で生成するものと同様に、位置姿勢推定の精度及び位置姿勢推定に要する処理時間とする。第2の性能情報生成部105は、生成した第2の性能情報を第2の出力部107に送出する。
【0020】
第1の出力部106は、第1の性能情報生成部104で生成した性能情報を出力し、表示装置102に表示させる。この点で、第1の出力部106は、表示制御部として機能する。これにより、ユーザは第1の性能情報を表示装置を介して確認(視認)することができる。
【0021】
第2の出力部107は、第2の性能情報生成部105で生成した性能情報を出力し、表示装置120に表示させる。この点で、第2の出力部107は、表示制御部として機能する。これにより、ユーザは第2の性能情報を表示装置120を介して確認(視認)することができる。
【0022】
表示装置120は、例えば、液晶ディスプレイやCRTディスプレイである。表示装置120は、表示画面を有し、その表示画面に第1の出力部106と第2の出力部107から受け取った性能情報を表示する。本実施形態では、表示装置120の表示画面にGUIを表示し、該GUIの領域に、第1の性能情報と第2の性能情報とを表示する例で説明する。これにより、ユーザはより第1の性能情報と第2の性能情報とをより視認しやすくなるという効果がある。
【0023】
図3は、本実施形態の処理手順を示すフローチャートである。以下、
図3のフローチャートを用いて、本実施形態の処理を詳細に説明する。
【0024】
(ステップS301)
ステップS301において、画像取得部101は、対象物体を撮影した画像を取得する。画像取得部101が取得する画像は、プロジェクタ1により投影されたパターンを照射された対象物体を撮影した輝度画像とする。画像取得部101は取得した画像を第1の計測部102と第2の計測部103に送出する。
【0025】
(ステップS302)
ステップS302において、第1の計測部102は、ステップS301において画像取得部101で取得した各画像それぞれに基づいて対象物体の位置姿勢推定を行う。具体的には、以下の非特許文献1で開示されている方法を用いて対象物体の位置姿勢を推定する。
【0026】
David A. Simon、Martial Hebert、Takeo Kanade、“Real−time 3−D Pose Estimation Using a High−Speed Range Sensor”、Proc.1994 IEEE International Conference on Robotics and Automation(ICRA’94)、pp。2235−2241、1994.
【0027】
具体的には、対象物体を計測して取得した距離値に、面または三次元点の集合で表現される対象物体の三次元モデルを当て嵌めるモデルフィッティングの手法を用いて、対象物体の位置姿勢を推定する。対象物体の距離値は、プロジェクタ1により投影されるパターンと各画像から検出された投影パターンとを対応付けて三角測量の原理を用いることで算出する。すなわち、本ステップで、第1の計測部102は、それぞれの画像ごと(カメラ2〜5とプロジェクタ1のペアごと)に対象物体の位置姿勢推定を行う。第1の計測部102は、推定された対象物体の位置姿勢データを第1の性能情報生成部104に送出する。
【0028】
(ステップS303)
ステップS303において、第1の性能情報生成部104は、ステップS302で実施した位置姿勢推定に関する性能情報を生成する。本実施形態において生成される第1の性能情報は、位置姿勢推定の精度及び位置姿勢推定に要する処理時間とする。なお、本実施形態では、位置姿勢推定に関する性能情報を位置姿勢推定精度及び処理時間としたが、もちろん対象物体の位置姿勢推定の性能に関する情報であれば、他のものであってもよい。例えば、推定した位置姿勢であってもよい。あるいは、位置姿勢推定の計算が破たんしたか否か(位置姿勢推定の成否)の情報であってもよい。
【0029】
位置姿勢推定の精度は、対象物体の距離値と対象物体の三次元モデルとのフィッティング度合いとする。フィッティング度合いは、例えば、対象物体の距離値と対応付く三次元形状モデルが保持する面または三次元点までの距離の最大値とする。この場合、距離の最大値が小さいほど位置姿勢推定の精度が高いことを示す。
【0030】
処理時間は、第1の計測部102における位置姿勢推定の処理に要する時間とする。さらに、対象物体を撮影する時間や、撮影した画像を画像取得部101に入力する時間を処理時間に含めても良い。第1の性能情報生成部104は、生成した性能情報を第1の出力部106に送出する。
【0031】
(ステップS304)
ステップS304において、第1の出力部106は、ステップS303で生成した位置姿勢推定に関する第1の性能情報と画像取得部101が取得した画像とを表示装置120に出力して表示装置120に表示させる。そして、表示装置120は、撮像画像と第1の性能情報とを受け取り、表示領域450に撮像画像と第1の性能情報とを表示する。本実施形態における第1の性能情報は、上述した通り位置姿勢推定の精度や処理時間とする。また、位置姿勢推定の対象となった物体を特定するために、撮影画像上の該物体の位置付近に矩形のテクスチャを描画して重畳した画像を表示する。該テクスチャは、撮影画像上の該物体の位置付近に描画すればよく、その形状は他のものであってもよい。例えば、円形や星型などであってもよい。
【0032】
(ステップS305)
ステップS305において、第2の計測部103は、ステップS301で画像取得部101が取得した複数の画像にもとづいて対象物体の位置姿勢推定を行う。複数の画像の選び方としては、全ての画像を選択してもよく、また予め画像の組み合わせを決めておいてもよい。具体的な方法は、次の通りである。まず、ステップS303と同様に画像ごとに対象物体の距離値を算出する。対象物体の距離値は、プロジェクタ1の投影パターンと各画像上から識別した該投影パターンとを対応付けて三角測量の原理を用いることで算出する。次に、算出した距離値を全て用いて、非特許文献1で開示されている方法を用いて対象物体の位置姿勢を推定する。すなわち、複数の視点のカメラから得られる距離値を全て用いて(統合して)、物体の三次元構造を表現し、その三次元構造に対して物体のモデルをフィッティングすることにより、位置姿勢推定を行う。なお、本実施形態では、画像ごと(プロジェクタ1とカメラ2〜5のペアごと)に算出した距離値を全て用いて対象物体の位置姿勢を推定すると説明した。しかし、これに限らず、画像ごとに算出した距離値を統合した距離値にもとづいて位置姿勢を推定する他の方法であってもよい。例えば、全ての距離値に対して三次元空間における密度が均一になるように間引き処理を施したものにもとづいて対象物体の位置姿勢を推定してもよい。また、所定領域内における距離値の平均値から大きく外れているような距離値は位置合わせに使用しないようにすることで、よりロバストな位置姿勢推定を行うことができる。
【0033】
(ステップS306)
ステップS306において、第2の性能情報生成部105は、ステップS305において、複数の画像にもとづいて実施した対象物体の位置姿勢推定に関する第2の性能情報を生成する。本実施形態における第2の性能情報は、ステップS303で説明したものと同様に、位置姿勢推定の精度及び位置姿勢推定に要する処理時間である。第2の出力部は、第2の性能情報生成部が生成した第2の性能情報を表示装置120に出力する。
【0034】
(ステップS307)
ステップS307において、第2の出力部107は、ステップS306で生成した対象物体の位置姿勢推定に関する性能情報と画像取得部101が取得した画像とを表示装置120に出力する。そして、表示装置120は、撮像画像と第2の性能情報とを受け取り、表示領域460に撮像画像と第2の性能情報を表示する。性能情報は、上述した通り位置姿勢推定の精度や処理時間とする。また、位置姿勢推定の対象となった物体を提示するために、撮影画像上の該物体の位置付近に矩形のテクスチャを描画して重畳した画像を表示する。このテクスチャの形状は矩形に限られず、例えば、円形や星型などであってもよい。
【0035】
図4は、表示装置120の表示画面内のGUI400として表した例を示している。
【0036】
表示装置120は、カメラ2、カメラ3、カメラ4及びカメラ5が取得した画像410〜413及び、それぞれの画像にもとづいて実施した位置姿勢推定の精度及び位置姿勢推定に要した処理時間420〜423を表示する。また、位置姿勢推定の対象となった物体401を特定するために、撮影画像上の該物体の位置付近に楕円形状のテクスチャ430〜433を描画して重畳した画像を表示する。
【0037】
表示装置120は、カメラ2、カメラ3、カメラ4及びカメラ5が取得した全ての画像にもとづいて実施した位置姿勢推定の精度及び位置姿勢推定に要した時間424を表示する。また、位置姿勢推定の対象となった物体401を特定するために、カメラ2〜5が取得した画像を貼り合わせた画像414上の該物体付近に、楕円形状のテクスチャ434を描画して重畳した画像を表示する。なお、表示する画像は、カメラ2〜5取得したいずれかの画像であってもよいし、画像表示しなくてもよい。
【0038】
なお、位置推定の対象となる物体は1つではなく、整列または山積み状態で配置された複数の物体としてもよい。
【0039】
以上説明したように、ステップS301〜ステップS307の一連の処理を実行することで、撮影した各画像及び複数の画像にもとづいてそれぞれ実施した位置姿勢推定の性能に関する情報をユーザに提示することが可能になる。これにより、画像ごとに実施した位置姿勢推定の性能と、複数の画像を用いて実施した位置姿勢推定の性能の確認や比較を容易に行うことができる。
【0040】
<位置姿勢推定方法のバリエーション>
本実施形態では、画像にもとづいて算出した距離値を用いて対象物体の位置姿勢推定を行う方法について説明した。しかし、これに限らず、画像にもとづいて対象物体の位置姿勢推定ができれば、他の方法であってもよい。
【0041】
例えば、画像上から抽出した特徴を用いて対象物体の位置姿勢推定を行っても良い。例えば、対象物体を複数の視点で撮影した学習画像と、取得した画像から検出される画像特徴とをマッチングすることで、物体の位置姿勢を推定する。
【0042】
あるいは、画像にもとづいて算出した距離値と画像上から抽出した画像特徴を併用して、対象物体の位置姿勢推定を行ってもよい。例えば、複数の面及び線分で表現される対象物体の三次元モデルを、距離値と画像とから抽出したエッジ特徴に対して同時にフィッティングすることで、対象物体の正確な位置姿勢を推定する。
【0043】
<画像のバリエーション>
本実施形態では、画像取得部101が取得する画像は、プロジェクタによりパターンが投影された対象物体を撮影した輝度画像として説明した。しかし、画像上から抽出した特徴を用いて位置姿勢推定を行う場合には、パターンが投影されていない対象物体を撮影した輝度画像としてもよい。あるいは、パターンが投影された対象物体を撮影した輝度画像と、パターンが投影されていない対象物体を撮影した輝度画像の両方を入力してもよい。
【0044】
<位置姿勢推定精度のバリエーション>
本実施形態では、位置姿勢推定精度を対象物体の距離値と対応付く三次元形状モデルが保持する面または三次元点までの距離の最大値とした。しかし、これに限らず、位置姿勢推定の精度を示す指標であれば、他のものであってもよい。例えば、対象物体の距離値と対応付く三次元形状モデルが保持する面または三次元点までの距離の平均値や分散としてもよい。あるいは、距離点と対応付くモデル上の点を推定した位置姿勢にもとづいて画像上に投影し、画像上における距離の平均値や分散としてもよい。あるいは、画像から抽出した特徴と対応付く学習データの特徴との距離の最大値、平均値または分散としてもよい。あるいは、対象物体の位置姿勢推定を複数回実施して算出した複数の位置姿勢の最大値または分散としてもよい。
【0045】
<変形例1>
第1の実施形態では、第1の性能情報生成部104及び第2の性能情報生成部105で生成した位置姿勢推定の性能に関する情報として、位置姿勢推定の精度や処理時間をGUI上に表示した。本変形例では、取得画像上にコンピュータグラフィック(以下、CG)を重畳したものをGUI上に表示する。重畳するCGは、点、線分及び面で表現される対象物体の三次元モデルを推定した位置姿勢にもとづいて描画したものとする。これにより、画像上の対象物体と該画像上に重畳した対象物体のCGとの重なり具合を観察することで、ユーザが位置姿勢推定の性能を視覚的に判断することができる。
【0046】
図5は、画像上に対象物体のCGを描画して重畳したものを、表示装置120のGUI400に表示した時の例である。表示装置120は、カメラ1、カメラ2、カメラ3およびカメラ5が撮影した画像上に対象物体のCG434〜437を重畳して描画した画像を表示する。
【0047】
表示装置120は、カメラ2〜5が撮影した画像全てを貼り合わせた画像414上に対象物体のCG438を描画して重畳した画像を表示する。
【0048】
CG434〜437と画像410〜414上の対象物体との重なり具合を観察することで、ユーザは位置姿勢推定の性能を視覚的に判断できる。例えば、CG436は、画像412上の対象物体とそれぞれ一致しているが、CG437は、画像413上の対象物体とずれが発生している。これより、画像412を用いた位置姿勢推定の精度は高いと判断できる。一方、画像413を用いた位置姿勢推定の精度は、画像412を用いた位置姿勢推定の精度に比べて低いと判断できる。
【0049】
以上説明したように、画像上に対象物体のCGを推定した位置姿勢にもとづいて描画して重畳して表示することで、ユーザは対象物体の位置姿勢推定の精度を視覚的に判断することが可能となる。
【0050】
<変形例2>
第1の実施形態では、第1の計測部102及び第2の計測部103において、対象物体の位置姿勢を推定した。本変形例では、第1の計測部および第2の計測部は、位置姿勢の推定ではなく、対象物体の有無や種類を特定する認識処理を行う。
【0051】
図3を用いて、本変形例における処理手順を説明する。
【0052】
(ステップS301)
ステップS301において、画像取得部101は、対象物体を撮影した画像を取得する。取得する画像は、対象物体を撮影した輝度画像とする。
【0053】
(ステップS302)
ステップS302において、第1の計測部102は、ステップS301で画像取得部101が取得した各画像にもとづいて対象物体の認識を行う。認識処理は、以下の非特許文献2に記載される方法により行う。
【0054】
”SCHMID、C.; R。 MOHR: ’Local grayvalue invariants for image retrieval’ IEEE PAMI 19 May 1997、 pages 530 − 534”.
具体的には、画像上から抽出した特徴を用いたテンプレートマッチング手法を用いて、対象物体の認識を行う。
【0055】
(ステップS303)
ステップS303において、第1の性能情報生成部104は、ステップS302で実施した認識処理に関する性能情報を生成する。本変形例において、認識に関する性能情報は、認識精度及び認識に要する処理時間とする。認識精度は、入力画像と入力画像と照合されたテンプレート画像間のハウスドルフ距離とする。認識に要する処理時間は、第1の計測部102で実施する認識処理に要する時間である。さらに、対象物体を撮影する時間や、撮影した画像を画像取得部101が取得する時間を処理時間に含めても良い。
【0056】
(ステップS304)
ステップS304において、第1の出力部106は、表示装置120に設定したGUI上に、ステップ303で生成した認識に関する第1の性能情報を表示させる。認識に関する性能情報は、上述した通り、認識精度及び認識に要する処理時間とする。また、位置姿勢推定の対象となった物体を提示するために、撮影画像上の該物体の位置付近に矩形のテクスチャを描画して重畳した画像を表示する。該テクスチャは、撮影画像上の該物体の位置付近に描画すればよく、その形状は他のものであってもよい。例えば、円形や星型などであってもよい。もっとも、認識に関する性能を示す情報であれば、他のものであってもよい。例えば、対象物体の有無を性能情報としてもよい。あるいは、同時に複数の物体を認識する場合には、認識した物体数を性能情報としてもよい。
【0057】
(ステップS305)
ステップS305において、第2の計測部109は、ステップS301において画像取得部101で取得した複数の画像(2以上選択した画像)に基づいて対象物体の認識を行う。具体的な方法は、次の通りである。まず、画像ごとに対象物体の画像特徴を抽出する。そして、抽出した全ての画像特徴の中から、複数の画像で重複して抽出された特徴を選択する。そして、選択した画像を用いて、非特許文献2で開示される方法で対象物体の認識を行う。もっとも、複数の画像から抽出した画像特徴に基づいて対象物体の認識ができる他の方法であってもよい。例えば、複数の画像から抽出した画像特徴全てを用いて対象物体の認識を行っても良い。
【0058】
(ステップS306)
ステップS306において、第2の性能情報生成部105は、第2の計測部103で実施した認識に関する第2の性能情報を生成する。認識に関する性能情報は、ステップS303で説明した通りである。
【0059】
(ステップ307)
ステップS307において、第2の出力部107は、ステップ306で生成した認識に関する性能情報と撮像画像とを表示装置120の表示領域460に表示させる。認識に関する性能情報は、上述した通り、認識精度及び認識に要する処理時間とする。また、認識の対象となった物体を提示するために、撮影画像上の該物体の位置付近に矩形のテクスチャを描画して重畳した画像を表示する。該テクスチャの形状は矩形に限られず、例えば、円形や星型などであってもよい。
【0060】
以上説明したように、ステップ301〜ステップ307の一連の処理を実行することで、画像ごとに実施した認識に関する性能情報と、複数の画像を利用して実施した認識に関する性能情報をGUI上に表示することができる。これにより、ユーザは、画像ごと及び複数の画像を用いた時の認識性能の確認や比較を行うことができる。
【0061】
<変形例3>
第1の実施形態、変形例1及び2では、画像ごと及び複数の画像にもとづいて実施した対象物体の認識または位置姿勢推定に関する性能を表示した。さらに、性能低下の要因となるカメラに関して、該カメラの特性や該カメラの配置情報を示すパラメータの校正や、該カメラまたは画像の除去を促すGUIを表示してもよい。性能低下の要因となるカメラは、当該カメラで撮影した画像にもとづいて推定した位置姿勢推定の性能が予め定めた性能を満たさない場合や、性能が最も低くなるカメラとする。
【0062】
(第2の実施形態)
第1の実施形態では、各画像にもとづいて実施した位置姿勢推定に関する性能と、複数の画像にもとづいて実施した位置姿勢推定に関する性能を表示する方法について説明した。本実施形態では、位置姿勢推定に関する性能を表示するとともに、入力した複数の画像の中から位置姿勢推定に用いる画像を選択する方法について説明する。これにより、ユーザは、位置姿勢推定に関する性能を確認しながら、位置姿勢推定に利用する画像の選択ができるようになり、精度の高い位置姿勢推定が可能となる。対象物体の形状や置かれ方、環境光の当たり方といった変動する状況に適応した位置姿勢推定を行うことができる。また、位置姿勢推定に要する処理時間を、組み立て作業のタクトタイムで決定される該処理時間内に収めることが可能となる。
【0063】
図6は、本実施形態におけるシステムの構成を示している。本実施形態における情報処理装置600の構成は、第1の実施形態で
図1を用いて説明した情報処理装置100の構成に加え、画像選択部610を備える。その他の構成である画像取得部601〜第2の出力部607は画像取得部101〜第2の出力部107と同様の機能を有するため、ここでは、画像選択部610についてのみ説明する。また、情報処理装置600に接続される表示装置620は、第1の実施形態で説明した表示装置120と同等の機能を有する。また、情報処理装置600は、外部の操作装置620に接続されている。操作装置620は、マウスやキーボードであり、ユーザはこの操作装置を介して画像選択部610へ指示することができる。また、表示装置620の表示画面がタッチパネル機能を有する場合には、このタッチパネル機能が操作装置として機能する。
【0064】
画像選択部610は、画像取得部601が取得した複数の画像の中から第2の計測部での処理に用いる画像を選択する。本実施形態では、第1の実施形態と同様に、第2の計測部では対象物体の位置姿勢推定を行うため、画像選択部610は、位置姿勢推定の処理に用いる画像を選択する。
【0065】
図7は、本実施形態の処理手順を示すフローチャートである。ステップ701〜ステップ704及びステップ706、ステップ707における処理は、第1の実施形態で説明した処理と同様であるため、ここでの説明は省略する。
【0066】
(ステップ708)
ステップS708において、画像選択部610は、画像選択を行うか否かを判断する。この判断は、ユーザが操作装置611で行っても良いし、所定の回数は必ず画像選択を行うというような予め定めたルールに基づいて行っても良い。ステップS708において、画像選択部610が、画像を選択すると判断した場合には、ステップ709に進む。選択しない場合には、本処理を終了する。
【0067】
(ステップ709)
ステップS709において、画像選択部610は、操作装置を介したユーザからの操作に基づいて、位置姿勢推定に用いる画像を選択する。
【0068】
図8は、表示装置620の表示画面に表示される、第2の実施形態におけるGUI800の例である。
【0069】
表示装置620は、カメラ2、カメラ3、カメラ4及びカメラ5が撮影した画像810〜813それぞれに基づいて実施した位置姿勢推定精度及び位置姿勢推定に要した処理時間820〜823を表示する。
【0070】
画像選択部610は、GUI800に設定した選択ボタン810〜830を操作装置を介してユーザが選択して、カメラが撮影した画像ごとに位置姿勢推定に使用するか否かの選択を行う。
図8の例では、カメラ2及びカメラ5の撮影画像は使用せず、カメラ2及びカメラ3の撮影画像は使用する選択をしている。本実施形態では、画像取得部601に入力した画像ごとに、位置姿勢推定に使用するか否かの設定を行った。しかし、位置姿勢推定に使用する画像が選択できれば、他の設定方法であってもよい。例えば、選択対象となる画像全てに対して、位置姿勢推定に使用するか否かを一括で設定するようにしてもよい。
【0071】
表示装置620は、選択ボタン824〜827で、ユーザが使用すると選択したカメラ2及びカメラ3が撮影した画像にもとづいて実施した位置姿勢推定の精度及び位置姿勢推定に要した処理時間824を表示する。
【0072】
(ステップ705)
ステップS705において、第2の計測部603は、ステップ701で選択した画像にもとづいて対象物体の位置姿勢推定を行う。
【0073】
<画像選択のバリエーション(選択方法)>
本実施形態では、画像取得部601で取得した画像ごとに、位置姿勢推定に使用するか否かの設定を行った。これに加えて、画像ごとに位置姿勢推定の処理方法を選択してもよい。例えば、画像特徴を用いた位置姿勢推定方法、距離値を用いた位置姿勢推定方法または画像特徴と距離値との両方を用いた位置姿勢推定方法の中から、処理方法を選択してもよい。こうすることで、対象物体の形状や置かれ方、環境光の当たり方といった変動する状況に適応した位置姿勢推定を行うことができる。また、選択対象となる画像全てに対して、位置姿勢推定の処理方法を一括で設定するようにしてもよい。
【0074】
<変形例2−1>
第1の実施形態、及び変形例1−1〜1−3では、第1の計測部において、各画像にもとづいて位置姿勢推定を実施した。しかし、これに限らず、2つ以上の画像にもとづいて位置姿勢推定を実施してもよい(1以上であればよい)。この場合、第1の性能情報生成部において、2以上の画像にもとづいて実施した位置姿勢に関する性能情報を生成し、表示装置620において、該性能情報を表示する。
【0075】
表示装置620は、カメラ2及びカメラ3が撮影した画像に基づいて実施した位置姿勢推定の推定精度及び処理時間820を表示する。また、表示装置620は、カメラ3及びカメラ4が撮影した画像に基づいて実施した位置姿勢推定の推定精度及び処理時間821を表示する。また、表示装置620は、カメラ4が撮影した画像にもとづいて実施した位置姿勢推定の推定精度及び処理時間822を表示する。また、表示装置620は、カメラ4及びカメラ5が撮影した画像にもとづいて実施した位置姿勢推定の推定精度及び処理時間823を表示する。また、これらの撮影画像810〜813を表示する。画像810、811及び813に関しては、撮影した画像を貼り合わせた画像とする。例えば、画像810は、カメラ2及び3で撮影した画像を貼り合わせた画像とする。
【0076】
画像選択部610は、選択ボタン824〜827をユーザが選択することで、使用するカメラを選択する。
【0077】
表示装置620は、カメラ3、カメラ4及びカメラ5が撮影した画像にもとづいて実施した位置姿勢推定の精度及び処理時間824を表示する。また、カメラ3、カメラ4及びカメラ5が撮影した画像を貼り合わせた画像814を表示する。
【0078】
なお、撮影画像810、811、813及び814は、貼り合わせた画像に代わって、貼り合わせた画像を構成する個々の画像を表示してもよい。例えば、画像810には、カメラ2で撮影した画像または、カメラ3で撮影した画像を表示する。あるいは、画像表示そのものをしなくてもよい。
【0079】
(第3の実施形態)
第1の実施形態では、各画像にもとづいて実施した位置姿勢推定に関する性能と、複数の画像にもとづいて実施した位置姿勢推定に関する性能を表示する方法について説明した。第2の実施形態では、入力した複数の画像の中から位置姿勢推定に用いる画像を選択する方法について説明した。第3の実施形態では、位置姿勢推定に関する条件を入力し、入力した条件を満たす時の位置姿勢推定に関する性能を表示する方法について説明する。これにより、ユーザが所望する条件を満たす位置姿勢推定が可能となる。また、対象物体の形状や置かれ方、環境光の当たり方といった変動する状況に適応した位置姿勢推定を行うことができる。
【0080】
図9は、本実施形態における情報処理装置900の構成を示している。情報処理装置900は、第1の実施形態で
図1を用いて説明した構成に加え、条件取得部910を保持する。条件取得部910、第2の計測部903、第2の性能情報生成部905、第2の出力部以外は第1の実施形態で説明したものと同様であるため、ここでの説明は省略する。
【0081】
条件取得部910は、位置姿勢推定に関する条件を取得する。本実施形態では、取得する位置姿勢推定に関する条件は、位置姿勢推定精度の下限値とする。
【0082】
第2の計測部903は、入力した複数の画像の中から位置姿勢推定に使用する画像の組み合わせを複数生成し、生成した画像の組み合わせごとに位置姿勢推定を行う。位置姿勢推定方法は、第1の実施形態で説明した通りである。
【0083】
第2の性能情報生成部905は、第2の計測部903で実施した複数の位置姿勢推定の結果に対して、位置姿勢推定に関する性能情報を生成する。さらに、生成した性能情報が条件取得部910で取得した条件を満たすか否かを判定する。具体的には、位置姿勢推定の精度が、取得した推定精度の閾値に収まっているかどうかを判定する。判定された結果、取得した閾値に収まっていると判定された精度の位置姿勢計測結果のみを第2の出力部907に送出する。
【0084】
第2の出力部907は、第2の性能情報生成部905で生成した性能情報のうち、性能情報生成部905において入力した条件を満たすと判定された位置姿勢推定に関する性能のみを出力する。
【0085】
図10は、本実施形態における処理手順を示すフローチャートである。ステップ1001〜1006は、第1の実施形態で説明したステップS301〜306と同様であるため、ここでの説明は省略する。
【0086】
(ステップ1007)
ステップS1007において、条件取得部910は、設定したGUIを介して、位置姿勢推定精度の閾値を取得する。本実施形態においては、ユーザが操作装置を介して入力したものを取得する。条件取得部910は、取得した条件を第2の出力部909へ送出する。
【0087】
(ステップ1008)
ステップS1008において、第2の出力部907は、ステップS1006において生成された位置姿勢計測の精度を取得し、該取得した精度がステップS1007で取得した閾値内におさまっているかを判定する。そして、閾値以内に収まっていると判定された位置姿勢推定に関する性能情報を選択して表示装置920に出力する。
【0088】
図11は、表示装置920及び条件取得部910に設定したGUI1100を示す例である。表示装置920は、条件を満たすと判定した複数の位置姿勢推定に関する性能情報の中から、性能情報表示切り替えボタン1128で指定した性能情報を表示する。また、表示装置920に表示した性能情報の対象となった位置姿勢推定に使用した画像を特定するために、各画像を使用したか否かを示す情報1124〜1127を表示する。この例では、カメラB及びCを使用した位置姿勢推定の性能情報を表示領域907に表示している。
【0089】
条件取得部910は、GUI1100に設定された入力ボックス1129に、ユーザが操作装置を介して入力した推定精度の条件を取得する。
【0090】
表示装置920は、カメラ2、カメラ3、カメラ4及びカメラ5が撮影した画像1110〜1113それぞれにもとづいて実施した位置姿勢推定精度及び位置姿勢推定に要した処理時間1120〜1123を表示する。
【0091】
表示装置920は、表示領域1107に、カメラ3及び4が撮影した画像にもとづいて位置姿勢推定精度及び位置姿勢推定に要した処理時間を表示する。
【0092】
<入力条件のバリエーション>
本実施形態では、入力する条件を推定精度の下限値とした。しかし、位置姿勢推定に関する条件であれば、他のものであってもよい。例えば、位置姿勢推定に要する処理時間の上限値を指定してもよい。この場合、位置姿勢推定に要する処理時間が、指定した処理時間の上限値を下回る場合に、該条件を満たすと判断する。あるいは、推定精度の下限値と処理時間の上限値の両方を条件として入力してもよい。
【0093】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0094】
<各実施形態の効果>
第1の実施形態では、撮影した各画像または複数の画像にもとづいてそれぞれ位置姿勢推定を行い、それぞれの位置姿勢推定の性能に関する情報をGUI上に表示する方法について説明した。これにより、各画像及び複数の画像を用いて実施した位置姿勢推定の性能の確認や比較を容易に行うことができるようになり、性能低下あるいは向上の要因となっている画像またはカメラの特定が行えるようになる。また、性能低下の要因と特定されたカメラの除去や配置変更を行うことができるようになる。
【0095】
第2の実施形態では、撮影した各画像または複数の画像にもとづいて実施した位置姿勢推定の性能をそれぞれ表示するとともに、入力した複数の画像の中から位置姿勢推定に用いる画像を選択する方法について説明した。これにより、ユーザは、性能を確認しながら、位置姿勢推定に利用する画像の選択を実施できるようになるため、性能の高い位置姿勢推定を実施することが可能となる。また、位置姿勢推定に要する処理時間を、組み立て作業のタクトタイムで決定される該処理時間内に収めることが可能となる。
【0096】
第3の実施形態では、位置姿勢推定に関する条件を取得し、取得した条件を満たす際の位置姿勢推定に関する性能を表示する方法について説明する。これにより、ユーザが所望する条件を満たす位置姿勢推定が可能となる。
【0097】
<定義>
本発明の画像取得手段は、情報処理装置100と接続した対象物体を撮影したカメラから画像を入力してもよいし、複数の視点で対象物体を撮影した画像を、情報処理装置100と接続した外部の記憶装置に一旦保持しておいたものを入力してもよい。
【0098】
本発明における第1及び第2の計測部では、画像にもとづいて算出した距離値にもとづいて認識または位置姿勢推定を実施してもよい。あるいは、画像から抽出した画像特徴にもとづいて認識または位置姿勢推定を実施してもよい。あるいは、画像にもとづいて算出した距離値と画像から抽出した画像特徴の両方にもとづいて認識または位置姿勢推定を実施してもよい。
【0099】
本発明における第1及び第2の性能情報生成部では、第1及び第2の計測部で実施した位置姿勢推定に関する性能情報を生成する。位置姿勢推定に関する性能情報は、位置姿勢の性能を示す情報であれば何でもよい。例えば、位置姿勢推定の精度または処理時間とする。あるいは、推定した位置姿勢、対象物体の有無、位置姿勢推定または認識の計算が破たんしたか否かの情報であってもよい。
【0100】
本発明における第1及び第2の出力部は、第1及び第2の性能情報生成部で生成した性能情報を表示装置の表示領域にそれぞれ表示する。表示方法は、位置姿勢推定の精度または処理時間の数値をGUI上に表示してもよいし、対象物体の形状を示す三次元モデルを推定した位置姿勢にもとづいて描画し入力画像上に重畳して表示してもよい。