(57)【要約】【課題】  複数の画像を用いた位置姿勢推定において、性能向上の要因となる画像を選択する方法を提供することを目的とする。【解決手段】  対象物体を撮影した画像を複数取得し、前記取得した画像のうち、少なくとも１つの画像に関する情報に基づいて、前記対象物体の認識処理と前記対象物体の位置姿勢推定の処理のうち、少なくともいずれか１つを実行し、前記取得した複数のうち、少なくとも２つの画像に関する情報に基づいて、前記対象物体の認識処理と前記対象物体の位置姿勢推定の処理のうち、少なくともいずれか１つを実行すし、前記第１の実行手段で実行される処理に関する第１の性能情報を生成し、前記第２の実行手段で実行される処理に関する第２の性能情報を生成し、前記第１の性能情報と第２の性能情報とを表示手段に表示させる。【選択図】  図１
2015203680.tif 000002
【特許請求の範囲】
【請求項１】
対象物体を撮像した複数の画像を取得する画像取得手段と、
前記取得した画像のうち、少なくとも１以上の画像に基づいて、前記対象物体の認識処理と前記対象物体の位置姿勢推定の処理のうち、少なくともいずれか１つを実行する第１の実行手段と、
前記取得した複数のうち、少なくとも２以上の画像に基づいて、前記対象物体の認識処理と前記対象物体の位置姿勢推定の処理のうち、少なくともいずれか１つを実行する第２の実行手段と、
前記第１の実行手段で実行される処理に関する第１の性能情報を生成する第１の性能情報生成手段と、
前記第２の実行手段で実行される処理に関する第２の性能情報を生成する第２の性能情報生成手段と、
前記第１の性能情報と第２の性能情報とを表示手段に表示させる表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
さらに、前記画像取得部が取得する複数の画像から、前記第２の実行手段による処理に用いる画像を少なくとも２つ以上選択する画像選択手段を備え、
前記第２の位置姿勢推定手段は、前記画像選択手段で選択した画像に基づいて、前記対象物体の認識処理と前記対象物体の位置姿勢推定の処理のうち、少なくともいずれか１つを実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
さらに、前記画像取得手段で取得した画像に、前記第２の位置姿勢推定手段における処理方法を選択する手段を有し、
前記第２の計測手段は、前記選択された処理方法に基づいて前記処理を実施することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第１の性能情報は、前記第１の実行手段が実行する処理の精度、処理時間、処理の成否のうち、少なくともいずれか１つを含むことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第２の性能情報は、前記第２の実行手段が実行する処理の精度、処理時間、処理の成否のうち、少なくともいずれか１つを含むことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
さらに、前記第１の実行手段と前記第２の実行手段のうち、少なくともいずれかの手段が実行する処理に関する条件を取得する条件取得手段を備え、
前記表示制御手段は、前記取得した条件を満たす性能情報を前記表示手段に表示させることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記条件取得手段は、前記第１の実行手段と前記第２の実行手段のうち、少なくともいずれかの手段が実行する処理の精度または処理時間のうち少なくともいずれか１つを含むことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記画像取得手段は、それぞれ異なる位置に配置された複数の撮像装置により撮影された画像を取得することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記画像取得手段は、投影装置によって投影されたパターンを含む画像を取得することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
更に、前記表示手段を更に備える請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記表示制御手段は、更に、前記第１の実行手段または前記第２の実行手段による処理の結果に基づいて前記対象物体の三次元モデルを描画した画像を前記表示手段に表示させることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置
【請求項１２】
さらに、パターンを投影する投影装置と、前記パターンが投影された画像を撮像する複数の撮像装置を備え、
前記画像取得手段は、前記撮像装置により撮像された前記パターンが投影された複数の画像を取得することを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
対象物体を撮影した複数の画像を取得する画像取得工程と、
前記取得した画像のうち、少なくとも１つの画像に関する情報にもとづいて、前記対象物体の認識処理と前記対象物体の位置姿勢推定の処理のうち、少なくともいずれか１つを実行する第１の実行工程と、
前記取得した複数のうち、少なくとも２つの画像に関する情報にもとづいて、前記対象物体の認識処理と前記対象物体の位置姿勢推定の処理のうち、少なくともいずれか１つを実行する第２の実行工程と、
前記第１の実行工程で実行される処理に関する第１の性能情報を生成する第１の性能情報生成工程と、
前記第２の実行工程で実行される処理に関する第２の性能情報を生成する第２の性能情報生成工程と、
前記第１の性能情報と第２の性能情報とを表示手段に表示させる表示制御工程と、
を備えることを特徴とする情報処理装置。
【請求項１４】
コンピュータで実行されることにより、該コンピュータ装置を請求項１乃至１２のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体を撮像した画像に基づいて画像中の物体の位置姿勢推定を認識して表示する方法に関する。
【背景技術】
【０００２】
生産現場では、生産効率向上のため、ロボットによる自動化が進められている。ロボットによる部品のピッキングや組み立て作業では、対象部品を認識し、さらに位置姿勢を取得する必要がある。これを実現する方法として、対象部品をカメラで撮影した画像を用いる方法が開発されている。
【０００３】
特許文献１には、複数のカメラで撮影した画像を用いることで認識の正確性を向上させる方法が開示されている。この方法では、複数のカメラで撮影した画像の中から複数のステレオ画像ペアを選択し、ステレオ画像ペアごとに算出した距離値を用いて対象物体の認識を複数行うことで、認識の正確性を向上させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−９４３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ステレオ画像ペアをつくる複数の画像に、ノイズを多く含む画像が含まれることがある。また、複数の画像を用いることで処理時間が増大してしまい、所定の時間内にタスクを終了できなくなる場合もある。
本発明は、以上の課題を鑑みてなされたものであり、複数の画像を用いた認識または位置姿勢推定において、複数の画像から位置姿勢の導出に好適な画像を選択することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、例えば、対象物体を撮影した複数の画像を取得する画像取得手段と、前記取得した画像のうち、少なくとも１つの画像に関する情報にもとづいて、前記対象物体の認識処理と前記対象物体の位置姿勢推定の処理のうち、少なくともいずれか１つを実行する第１の実行手段と、前記取得した複数のうち、少なくとも２つの画像に関する情報にもとづいて、前記対象物体の認識処理と前記対象物体の位置姿勢推定の処理のうち、少なくともいずれか１つを実行する第２の実行手段と、前記第１の実行手段で実行される処理に関する第１の性能情報を生成する第１の性能情報生成手段と、前記第２の実行手段で実行される処理に関する第２の性能情報を生成する第２の性能情報生成手段と、前記第１の性能情報と第２の性能情報とを表示手段に表示させる表示制御手段とを備える。
【発明の効果】
【０００７】
複数の画像を用いた認識または位置姿勢推定において、複数の画像から位置姿勢の導出に好適な画像を選択することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態におけるシステムの構成を示す図である。
【図２】本発明の情報処理装置を利用するシステムの構成例を示す図である。
【図３】第１の実施形態の処理手順を説明する図である。
【図４】第１の実施形態におけるＧＵＩの例を示す図である。
【図５】変形例１におけるＧＵＩの例を示す図である。
【図６】第２の実施形態におけるシステムの構成を示す図である。
【図７】第２の実施形態の処理手順を説明する図である。
【図８】第２の実施形態におけるＧＵＩの例を示す図である。
【図９】第３の実施形態におけるシステムの構成を示す図である。
【図１０】第３の実施形態の処理手順を説明する図である。
【図１１】第３の実施形態におけるＧＵＩの例を示す図である。
【図１２】本発明における情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【０００９】
本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図１２を用いて説明する。
【００１０】
図１２は、本実施形態における情報装置のハードウェア構成図である。同図において、ＣＰＵ１２１０は、バス１２００を介して接続する各デバイスを統括的に制御する。ＣＰＵ１２１０は、読み出し専用メモリ（ＲＯＭ）１２２０に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ１２２０に記憶されており、ランダムアクセスメモリ（ＲＡＭ）１２３０に一時記憶され、ＣＰＵ１２１０によって適宜実行される。また、入力Ｉ／Ｆ１２４０は、外部の装置（表示装置や操作装置など）から情報処理装置１で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ１２５０は、外部の装置（表示装置）へ表示装置が処理可能な形式で出力信号として出力する。
【００１１】
これらの各機能部は、ＣＰＵ１２１０が、ＲＯＭ１２２０に格納されたプログラムをＲＡＭ１２３０に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ１２１０を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００１２】
（第１の実施形態）
第１の実施形態では、対象物体を複数のカメラで撮影した画像にもとづいて対象物体の位置姿勢推定を実施した時の、該位置姿勢推定に関する性能をユーザに提示する方法について説明する。より具体的には、撮影した各画像及び複数の画像にもとづいてそれぞれ位置姿勢推定を行い、それぞれの位置姿勢推定の性能に関する情報をグラフィックユーザインターフェース（以下、ＧＵＩとする）上に表示する。これにより、各画像及び複数の画像を用いて実施した位置姿勢推定の性能の確認や比較を容易に行うことができるようになり、性能低下あるいは向上の要因となっている画像またはカメラの特定が行えるようになる。また、性能低下の要因と特定されたカメラの除去や配置変更を行うことができるようになる。対象物体の形状や置かれ方、環境光の当たり方といった変動する状況に適応した位置姿勢推定を行うことができる。
【００１３】
図１は、本実施形態におけるシステムの構成を示している。情報処理装置１００は、画像取得部１０１、第１の計測部１０２、第２の計測部１０３、第１の性能情報生成部１０４、第２の性能情報生成部１０５、第１の出力部１０６、第２の出力部１０７とを備える。そして、情報処理装置１００はインタフェースを介して、外部の表示装置１２０に接続されている。
【００１４】
図２は、画像取得部１０１が取得する画像の撮影を行うための装置構成及び配置を示す図であり、プロジェクタ１及び複数のカメラ２〜５から構成される。図２では、プロジェクタ１台とカメラ４台で構成される場合を示している。該複数のカメラは、情報処理装置１００と画像取得部１０１を介して接続する。
【００１５】
画像取得部１０１は、対象物体を複数のカメラ２〜５で撮影した輝度画像を取得する。しかし、複数の視点で対象物体を撮影した画像が取得できれば他の方法であってもよい。例えば、複数の撮像装置あるいは複数の視点位置で対象物体を撮影した画像を、画像情報処理装置１００と接続した外部の記憶装置に一旦保持しておいたものを入力してもよい。また、取得する輝度画像は、カラー画像であってもよいし、モノクロ画像であってもよい。
【００１６】
第１の計測部１０２は、画像取得部１０１が取得した各画像に基づいて、対象物体の位置姿勢推定を行う。具体的な方法については、後述する。
【００１７】
第２の計測部１０３は、画像取得部１０１が取得した複数の画像に基づいて、対象物体の位置姿勢推定を行う。具体的な方法については、後述する。
【００１８】
第１の性能情報生成部１０４は、第１の計測部１０２で実行された位置姿勢推定処理に関する性能情報（第１の性能情報）を生成する。性能情報は、位置姿勢推定の精度及び位置姿勢推定に要する処理時間とする。第１の性能情報生成部１０４は、生成した第１の性能情報を第１の出力部１０６に送出する。
【００１９】
第２の性能情報生成部１０５は、第２の計測部１０３で実施した位置姿勢推定に関する性能情報（第２の性能情報）を生成する。性能情報は、第１の性能情報生成部１０４で生成するものと同様に、位置姿勢推定の精度及び位置姿勢推定に要する処理時間とする。第２の性能情報生成部１０５は、生成した第２の性能情報を第２の出力部１０７に送出する。
【００２０】
第１の出力部１０６は、第１の性能情報生成部１０４で生成した性能情報を出力し、表示装置１０２に表示させる。この点で、第１の出力部１０６は、表示制御部として機能する。これにより、ユーザは第１の性能情報を表示装置を介して確認（視認）することができる。
【００２１】
第２の出力部１０７は、第２の性能情報生成部１０５で生成した性能情報を出力し、表示装置１２０に表示させる。この点で、第２の出力部１０７は、表示制御部として機能する。これにより、ユーザは第２の性能情報を表示装置１２０を介して確認（視認）することができる。
【００２２】
表示装置１２０は、例えば、液晶ディスプレイやＣＲＴディスプレイである。表示装置１２０は、表示画面を有し、その表示画面に第１の出力部１０６と第２の出力部１０７から受け取った性能情報を表示する。本実施形態では、表示装置１２０の表示画面にＧＵＩを表示し、該ＧＵＩの領域に、第１の性能情報と第２の性能情報とを表示する例で説明する。これにより、ユーザはより第１の性能情報と第２の性能情報とをより視認しやすくなるという効果がある。
【００２３】
図３は、本実施形態の処理手順を示すフローチャートである。以下、図３のフローチャートを用いて、本実施形態の処理を詳細に説明する。
【００２４】
（ステップＳ３０１）
ステップＳ３０１において、画像取得部１０１は、対象物体を撮影した画像を取得する。画像取得部１０１が取得する画像は、プロジェクタ１により投影されたパターンを照射された対象物体を撮影した輝度画像とする。画像取得部１０１は取得した画像を第１の計測部１０２と第２の計測部１０３に送出する。
【００２５】
（ステップＳ３０２）
ステップＳ３０２において、第１の計測部１０２は、ステップＳ３０１において画像取得部１０１で取得した各画像それぞれに基づいて対象物体の位置姿勢推定を行う。具体的には、以下の非特許文献１で開示されている方法を用いて対象物体の位置姿勢を推定する。
【００２６】
Ｄａｖｉｄ  Ａ．  Ｓｉｍｏｎ、Ｍａｒｔｉａｌ  Ｈｅｂｅｒｔ、Ｔａｋｅｏ  Ｋａｎａｄｅ、“Ｒｅａｌ−ｔｉｍｅ  ３−Ｄ  Ｐｏｓｅ  Ｅｓｔｉｍａｔｉｏｎ  Ｕｓｉｎｇ  ａ  Ｈｉｇｈ−Ｓｐｅｅｄ  Ｒａｎｇｅ  Ｓｅｎｓｏｒ”、Ｐｒｏｃ．１９９４  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ（ＩＣＲＡ’９４）、ｐｐ。２２３５−２２４１、１９９４．
【００２７】
具体的には、対象物体を計測して取得した距離値に、面または三次元点の集合で表現される対象物体の三次元モデルを当て嵌めるモデルフィッティングの手法を用いて、対象物体の位置姿勢を推定する。対象物体の距離値は、プロジェクタ１により投影されるパターンと各画像から検出された投影パターンとを対応付けて三角測量の原理を用いることで算出する。すなわち、本ステップで、第１の計測部１０２は、それぞれの画像ごと（カメラ２〜５とプロジェクタ１のペアごと）に対象物体の位置姿勢推定を行う。第１の計測部１０２は、推定された対象物体の位置姿勢データを第１の性能情報生成部１０４に送出する。
【００２８】
（ステップＳ３０３）
ステップＳ３０３において、第１の性能情報生成部１０４は、ステップＳ３０２で実施した位置姿勢推定に関する性能情報を生成する。本実施形態において生成される第１の性能情報は、位置姿勢推定の精度及び位置姿勢推定に要する処理時間とする。なお、本実施形態では、位置姿勢推定に関する性能情報を位置姿勢推定精度及び処理時間としたが、もちろん対象物体の位置姿勢推定の性能に関する情報であれば、他のものであってもよい。例えば、推定した位置姿勢であってもよい。あるいは、位置姿勢推定の計算が破たんしたか否か（位置姿勢推定の成否）の情報であってもよい。
【００２９】
位置姿勢推定の精度は、対象物体の距離値と対象物体の三次元モデルとのフィッティング度合いとする。フィッティング度合いは、例えば、対象物体の距離値と対応付く三次元形状モデルが保持する面または三次元点までの距離の最大値とする。この場合、距離の最大値が小さいほど位置姿勢推定の精度が高いことを示す。
【００３０】
処理時間は、第１の計測部１０２における位置姿勢推定の処理に要する時間とする。さらに、対象物体を撮影する時間や、撮影した画像を画像取得部１０１に入力する時間を処理時間に含めても良い。第１の性能情報生成部１０４は、生成した性能情報を第１の出力部１０６に送出する。
【００３１】
（ステップＳ３０４）
ステップＳ３０４において、第１の出力部１０６は、ステップＳ３０３で生成した位置姿勢推定に関する第１の性能情報と画像取得部１０１が取得した画像とを表示装置１２０に出力して表示装置１２０に表示させる。そして、表示装置１２０は、撮像画像と第１の性能情報とを受け取り、表示領域４５０に撮像画像と第１の性能情報とを表示する。本実施形態における第１の性能情報は、上述した通り位置姿勢推定の精度や処理時間とする。また、位置姿勢推定の対象となった物体を特定するために、撮影画像上の該物体の位置付近に矩形のテクスチャを描画して重畳した画像を表示する。該テクスチャは、撮影画像上の該物体の位置付近に描画すればよく、その形状は他のものであってもよい。例えば、円形や星型などであってもよい。
【００３２】
（ステップＳ３０５）
ステップＳ３０５において、第２の計測部１０３は、ステップＳ３０１で画像取得部１０１が取得した複数の画像にもとづいて対象物体の位置姿勢推定を行う。複数の画像の選び方としては、全ての画像を選択してもよく、また予め画像の組み合わせを決めておいてもよい。具体的な方法は、次の通りである。まず、ステップＳ３０３と同様に画像ごとに対象物体の距離値を算出する。対象物体の距離値は、プロジェクタ１の投影パターンと各画像上から識別した該投影パターンとを対応付けて三角測量の原理を用いることで算出する。次に、算出した距離値を全て用いて、非特許文献１で開示されている方法を用いて対象物体の位置姿勢を推定する。すなわち、複数の視点のカメラから得られる距離値を全て用いて（統合して）、物体の三次元構造を表現し、その三次元構造に対して物体のモデルをフィッティングすることにより、位置姿勢推定を行う。なお、本実施形態では、画像ごと（プロジェクタ１とカメラ２〜５のペアごと）に算出した距離値を全て用いて対象物体の位置姿勢を推定すると説明した。しかし、これに限らず、画像ごとに算出した距離値を統合した距離値にもとづいて位置姿勢を推定する他の方法であってもよい。例えば、全ての距離値に対して三次元空間における密度が均一になるように間引き処理を施したものにもとづいて対象物体の位置姿勢を推定してもよい。また、所定領域内における距離値の平均値から大きく外れているような距離値は位置合わせに使用しないようにすることで、よりロバストな位置姿勢推定を行うことができる。
【００３３】
（ステップＳ３０６）
ステップＳ３０６において、第２の性能情報生成部１０５は、ステップＳ３０５において、複数の画像にもとづいて実施した対象物体の位置姿勢推定に関する第２の性能情報を生成する。本実施形態における第２の性能情報は、ステップＳ３０３で説明したものと同様に、位置姿勢推定の精度及び位置姿勢推定に要する処理時間である。第２の出力部は、第２の性能情報生成部が生成した第２の性能情報を表示装置１２０に出力する。
【００３４】
（ステップＳ３０７）
ステップＳ３０７において、第２の出力部１０７は、ステップＳ３０６で生成した対象物体の位置姿勢推定に関する性能情報と画像取得部１０１が取得した画像とを表示装置１２０に出力する。そして、表示装置１２０は、撮像画像と第２の性能情報とを受け取り、表示領域４６０に撮像画像と第２の性能情報を表示する。性能情報は、上述した通り位置姿勢推定の精度や処理時間とする。また、位置姿勢推定の対象となった物体を提示するために、撮影画像上の該物体の位置付近に矩形のテクスチャを描画して重畳した画像を表示する。このテクスチャの形状は矩形に限られず、例えば、円形や星型などであってもよい。
【００３５】
図４は、表示装置１２０の表示画面内のＧＵＩ４００として表した例を示している。
【００３６】
表示装置１２０は、カメラ２、カメラ３、カメラ４及びカメラ５が取得した画像４１０〜４１３及び、それぞれの画像にもとづいて実施した位置姿勢推定の精度及び位置姿勢推定に要した処理時間４２０〜４２３を表示する。また、位置姿勢推定の対象となった物体４０１を特定するために、撮影画像上の該物体の位置付近に楕円形状のテクスチャ４３０〜４３３を描画して重畳した画像を表示する。
【００３７】
表示装置１２０は、カメラ２、カメラ３、カメラ４及びカメラ５が取得した全ての画像にもとづいて実施した位置姿勢推定の精度及び位置姿勢推定に要した時間４２４を表示する。また、位置姿勢推定の対象となった物体４０１を特定するために、カメラ２〜５が取得した画像を貼り合わせた画像４１４上の該物体付近に、楕円形状のテクスチャ４３４を描画して重畳した画像を表示する。なお、表示する画像は、カメラ２〜５取得したいずれかの画像であってもよいし、画像表示しなくてもよい。
【００３８】
なお、位置推定の対象となる物体は１つではなく、整列または山積み状態で配置された複数の物体としてもよい。
【００３９】
以上説明したように、ステップＳ３０１〜ステップＳ３０７の一連の処理を実行することで、撮影した各画像及び複数の画像にもとづいてそれぞれ実施した位置姿勢推定の性能に関する情報をユーザに提示することが可能になる。これにより、画像ごとに実施した位置姿勢推定の性能と、複数の画像を用いて実施した位置姿勢推定の性能の確認や比較を容易に行うことができる。
【００４０】
＜位置姿勢推定方法のバリエーション＞
本実施形態では、画像にもとづいて算出した距離値を用いて対象物体の位置姿勢推定を行う方法について説明した。しかし、これに限らず、画像にもとづいて対象物体の位置姿勢推定ができれば、他の方法であってもよい。
【００４１】
例えば、画像上から抽出した特徴を用いて対象物体の位置姿勢推定を行っても良い。例えば、対象物体を複数の視点で撮影した学習画像と、取得した画像から検出される画像特徴とをマッチングすることで、物体の位置姿勢を推定する。
【００４２】
あるいは、画像にもとづいて算出した距離値と画像上から抽出した画像特徴を併用して、対象物体の位置姿勢推定を行ってもよい。例えば、複数の面及び線分で表現される対象物体の三次元モデルを、距離値と画像とから抽出したエッジ特徴に対して同時にフィッティングすることで、対象物体の正確な位置姿勢を推定する。
【００４３】
＜画像のバリエーション＞
本実施形態では、画像取得部１０１が取得する画像は、プロジェクタによりパターンが投影された対象物体を撮影した輝度画像として説明した。しかし、画像上から抽出した特徴を用いて位置姿勢推定を行う場合には、パターンが投影されていない対象物体を撮影した輝度画像としてもよい。あるいは、パターンが投影された対象物体を撮影した輝度画像と、パターンが投影されていない対象物体を撮影した輝度画像の両方を入力してもよい。
【００４４】
＜位置姿勢推定精度のバリエーション＞
本実施形態では、位置姿勢推定精度を対象物体の距離値と対応付く三次元形状モデルが保持する面または三次元点までの距離の最大値とした。しかし、これに限らず、位置姿勢推定の精度を示す指標であれば、他のものであってもよい。例えば、対象物体の距離値と対応付く三次元形状モデルが保持する面または三次元点までの距離の平均値や分散としてもよい。あるいは、距離点と対応付くモデル上の点を推定した位置姿勢にもとづいて画像上に投影し、画像上における距離の平均値や分散としてもよい。あるいは、画像から抽出した特徴と対応付く学習データの特徴との距離の最大値、平均値または分散としてもよい。あるいは、対象物体の位置姿勢推定を複数回実施して算出した複数の位置姿勢の最大値または分散としてもよい。
【００４５】
＜変形例１＞
第１の実施形態では、第１の性能情報生成部１０４及び第２の性能情報生成部１０５で生成した位置姿勢推定の性能に関する情報として、位置姿勢推定の精度や処理時間をＧＵＩ上に表示した。本変形例では、取得画像上にコンピュータグラフィック（以下、ＣＧ）を重畳したものをＧＵＩ上に表示する。重畳するＣＧは、点、線分及び面で表現される対象物体の三次元モデルを推定した位置姿勢にもとづいて描画したものとする。これにより、画像上の対象物体と該画像上に重畳した対象物体のＣＧとの重なり具合を観察することで、ユーザが位置姿勢推定の性能を視覚的に判断することができる。
【００４６】
図５は、画像上に対象物体のＣＧを描画して重畳したものを、表示装置１２０のＧＵＩ４００に表示した時の例である。表示装置１２０は、カメラ１、カメラ２、カメラ３およびカメラ５が撮影した画像上に対象物体のＣＧ４３４〜４３７を重畳して描画した画像を表示する。
【００４７】
表示装置１２０は、カメラ２〜５が撮影した画像全てを貼り合わせた画像４１４上に対象物体のＣＧ４３８を描画して重畳した画像を表示する。
【００４８】
ＣＧ４３４〜４３７と画像４１０〜４１４上の対象物体との重なり具合を観察することで、ユーザは位置姿勢推定の性能を視覚的に判断できる。例えば、ＣＧ４３６は、画像４１２上の対象物体とそれぞれ一致しているが、ＣＧ４３７は、画像４１３上の対象物体とずれが発生している。これより、画像４１２を用いた位置姿勢推定の精度は高いと判断できる。一方、画像４１３を用いた位置姿勢推定の精度は、画像４１２を用いた位置姿勢推定の精度に比べて低いと判断できる。
【００４９】
以上説明したように、画像上に対象物体のＣＧを推定した位置姿勢にもとづいて描画して重畳して表示することで、ユーザは対象物体の位置姿勢推定の精度を視覚的に判断することが可能となる。
【００５０】
＜変形例２＞
第１の実施形態では、第１の計測部１０２及び第２の計測部１０３において、対象物体の位置姿勢を推定した。本変形例では、第１の計測部および第２の計測部は、位置姿勢の推定ではなく、対象物体の有無や種類を特定する認識処理を行う。
【００５１】
図３を用いて、本変形例における処理手順を説明する。
【００５２】
（ステップＳ３０１）
ステップＳ３０１において、画像取得部１０１は、対象物体を撮影した画像を取得する。取得する画像は、対象物体を撮影した輝度画像とする。
【００５３】
（ステップＳ３０２）
ステップＳ３０２において、第１の計測部１０２は、ステップＳ３０１で画像取得部１０１が取得した各画像にもとづいて対象物体の認識を行う。認識処理は、以下の非特許文献２に記載される方法により行う。
【００５４】
”ＳＣＨＭＩＤ、Ｃ．；  Ｒ。  ＭＯＨＲ：  ’Ｌｏｃａｌ  ｇｒａｙｖａｌｕｅ  ｉｎｖａｒｉａｎｔｓ  ｆｏｒ  ｉｍａｇｅ  ｒｅｔｒｉｅｖａｌ’  ＩＥＥＥ  ＰＡＭＩ  １９  Ｍａｙ  １９９７、  ｐａｇｅｓ  ５３０  −  ５３４”．
具体的には、画像上から抽出した特徴を用いたテンプレートマッチング手法を用いて、対象物体の認識を行う。
【００５５】
（ステップＳ３０３）
ステップＳ３０３において、第１の性能情報生成部１０４は、ステップＳ３０２で実施した認識処理に関する性能情報を生成する。本変形例において、認識に関する性能情報は、認識精度及び認識に要する処理時間とする。認識精度は、入力画像と入力画像と照合されたテンプレート画像間のハウスドルフ距離とする。認識に要する処理時間は、第１の計測部１０２で実施する認識処理に要する時間である。さらに、対象物体を撮影する時間や、撮影した画像を画像取得部１０１が取得する時間を処理時間に含めても良い。
【００５６】
（ステップＳ３０４）
ステップＳ３０４において、第１の出力部１０６は、表示装置１２０に設定したＧＵＩ上に、ステップ３０３で生成した認識に関する第１の性能情報を表示させる。認識に関する性能情報は、上述した通り、認識精度及び認識に要する処理時間とする。また、位置姿勢推定の対象となった物体を提示するために、撮影画像上の該物体の位置付近に矩形のテクスチャを描画して重畳した画像を表示する。該テクスチャは、撮影画像上の該物体の位置付近に描画すればよく、その形状は他のものであってもよい。例えば、円形や星型などであってもよい。もっとも、認識に関する性能を示す情報であれば、他のものであってもよい。例えば、対象物体の有無を性能情報としてもよい。あるいは、同時に複数の物体を認識する場合には、認識した物体数を性能情報としてもよい。
【００５７】
（ステップＳ３０５）
ステップＳ３０５において、第２の計測部１０９は、ステップＳ３０１において画像取得部１０１で取得した複数の画像（２以上選択した画像）に基づいて対象物体の認識を行う。具体的な方法は、次の通りである。まず、画像ごとに対象物体の画像特徴を抽出する。そして、抽出した全ての画像特徴の中から、複数の画像で重複して抽出された特徴を選択する。そして、選択した画像を用いて、非特許文献２で開示される方法で対象物体の認識を行う。もっとも、複数の画像から抽出した画像特徴に基づいて対象物体の認識ができる他の方法であってもよい。例えば、複数の画像から抽出した画像特徴全てを用いて対象物体の認識を行っても良い。
【００５８】
（ステップＳ３０６）
ステップＳ３０６において、第２の性能情報生成部１０５は、第２の計測部１０３で実施した認識に関する第２の性能情報を生成する。認識に関する性能情報は、ステップＳ３０３で説明した通りである。
【００５９】
（ステップ３０７）
ステップＳ３０７において、第２の出力部１０７は、ステップ３０６で生成した認識に関する性能情報と撮像画像とを表示装置１２０の表示領域４６０に表示させる。認識に関する性能情報は、上述した通り、認識精度及び認識に要する処理時間とする。また、認識の対象となった物体を提示するために、撮影画像上の該物体の位置付近に矩形のテクスチャを描画して重畳した画像を表示する。該テクスチャの形状は矩形に限られず、例えば、円形や星型などであってもよい。
【００６０】
以上説明したように、ステップ３０１〜ステップ３０７の一連の処理を実行することで、画像ごとに実施した認識に関する性能情報と、複数の画像を利用して実施した認識に関する性能情報をＧＵＩ上に表示することができる。これにより、ユーザは、画像ごと及び複数の画像を用いた時の認識性能の確認や比較を行うことができる。
【００６１】
＜変形例３＞
第１の実施形態、変形例１及び２では、画像ごと及び複数の画像にもとづいて実施した対象物体の認識または位置姿勢推定に関する性能を表示した。さらに、性能低下の要因となるカメラに関して、該カメラの特性や該カメラの配置情報を示すパラメータの校正や、該カメラまたは画像の除去を促すＧＵＩを表示してもよい。性能低下の要因となるカメラは、当該カメラで撮影した画像にもとづいて推定した位置姿勢推定の性能が予め定めた性能を満たさない場合や、性能が最も低くなるカメラとする。
【００６２】
（第２の実施形態）
第１の実施形態では、各画像にもとづいて実施した位置姿勢推定に関する性能と、複数の画像にもとづいて実施した位置姿勢推定に関する性能を表示する方法について説明した。本実施形態では、位置姿勢推定に関する性能を表示するとともに、入力した複数の画像の中から位置姿勢推定に用いる画像を選択する方法について説明する。これにより、ユーザは、位置姿勢推定に関する性能を確認しながら、位置姿勢推定に利用する画像の選択ができるようになり、精度の高い位置姿勢推定が可能となる。対象物体の形状や置かれ方、環境光の当たり方といった変動する状況に適応した位置姿勢推定を行うことができる。また、位置姿勢推定に要する処理時間を、組み立て作業のタクトタイムで決定される該処理時間内に収めることが可能となる。
【００６３】
図６は、本実施形態におけるシステムの構成を示している。本実施形態における情報処理装置６００の構成は、第１の実施形態で図１を用いて説明した情報処理装置１００の構成に加え、画像選択部６１０を備える。その他の構成である画像取得部６０１〜第２の出力部６０７は画像取得部１０１〜第２の出力部１０７と同様の機能を有するため、ここでは、画像選択部６１０についてのみ説明する。また、情報処理装置６００に接続される表示装置６２０は、第１の実施形態で説明した表示装置１２０と同等の機能を有する。また、情報処理装置６００は、外部の操作装置６２０に接続されている。操作装置６２０は、マウスやキーボードであり、ユーザはこの操作装置を介して画像選択部６１０へ指示することができる。また、表示装置６２０の表示画面がタッチパネル機能を有する場合には、このタッチパネル機能が操作装置として機能する。
【００６４】
画像選択部６１０は、画像取得部６０１が取得した複数の画像の中から第２の計測部での処理に用いる画像を選択する。本実施形態では、第１の実施形態と同様に、第２の計測部では対象物体の位置姿勢推定を行うため、画像選択部６１０は、位置姿勢推定の処理に用いる画像を選択する。
【００６５】
図７は、本実施形態の処理手順を示すフローチャートである。ステップ７０１〜ステップ７０４及びステップ７０６、ステップ７０７における処理は、第１の実施形態で説明した処理と同様であるため、ここでの説明は省略する。
【００６６】
（ステップ７０８）
ステップＳ７０８において、画像選択部６１０は、画像選択を行うか否かを判断する。この判断は、ユーザが操作装置６１１で行っても良いし、所定の回数は必ず画像選択を行うというような予め定めたルールに基づいて行っても良い。ステップＳ７０８において、画像選択部６１０が、画像を選択すると判断した場合には、ステップ７０９に進む。選択しない場合には、本処理を終了する。
【００６７】
（ステップ７０９）
ステップＳ７０９において、画像選択部６１０は、操作装置を介したユーザからの操作に基づいて、位置姿勢推定に用いる画像を選択する。
【００６８】
図８は、表示装置６２０の表示画面に表示される、第２の実施形態におけるＧＵＩ８００の例である。
【００６９】
表示装置６２０は、カメラ２、カメラ３、カメラ４及びカメラ５が撮影した画像８１０〜８１３それぞれに基づいて実施した位置姿勢推定精度及び位置姿勢推定に要した処理時間８２０〜８２３を表示する。
【００７０】
画像選択部６１０は、ＧＵＩ８００に設定した選択ボタン８１０〜８３０を操作装置を介してユーザが選択して、カメラが撮影した画像ごとに位置姿勢推定に使用するか否かの選択を行う。図８の例では、カメラ２及びカメラ５の撮影画像は使用せず、カメラ２及びカメラ３の撮影画像は使用する選択をしている。本実施形態では、画像取得部６０１に入力した画像ごとに、位置姿勢推定に使用するか否かの設定を行った。しかし、位置姿勢推定に使用する画像が選択できれば、他の設定方法であってもよい。例えば、選択対象となる画像全てに対して、位置姿勢推定に使用するか否かを一括で設定するようにしてもよい。
【００７１】
表示装置６２０は、選択ボタン８２４〜８２７で、ユーザが使用すると選択したカメラ２及びカメラ３が撮影した画像にもとづいて実施した位置姿勢推定の精度及び位置姿勢推定に要した処理時間８２４を表示する。
【００７２】
（ステップ７０５）
ステップＳ７０５において、第２の計測部６０３は、ステップ７０１で選択した画像にもとづいて対象物体の位置姿勢推定を行う。
【００７３】
＜画像選択のバリエーション（選択方法）＞
本実施形態では、画像取得部６０１で取得した画像ごとに、位置姿勢推定に使用するか否かの設定を行った。これに加えて、画像ごとに位置姿勢推定の処理方法を選択してもよい。例えば、画像特徴を用いた位置姿勢推定方法、距離値を用いた位置姿勢推定方法または画像特徴と距離値との両方を用いた位置姿勢推定方法の中から、処理方法を選択してもよい。こうすることで、対象物体の形状や置かれ方、環境光の当たり方といった変動する状況に適応した位置姿勢推定を行うことができる。また、選択対象となる画像全てに対して、位置姿勢推定の処理方法を一括で設定するようにしてもよい。
【００７４】
＜変形例２−１＞
第１の実施形態、及び変形例１−１〜１−３では、第１の計測部において、各画像にもとづいて位置姿勢推定を実施した。しかし、これに限らず、２つ以上の画像にもとづいて位置姿勢推定を実施してもよい（１以上であればよい）。この場合、第１の性能情報生成部において、２以上の画像にもとづいて実施した位置姿勢に関する性能情報を生成し、表示装置６２０において、該性能情報を表示する。
【００７５】
表示装置６２０は、カメラ２及びカメラ３が撮影した画像に基づいて実施した位置姿勢推定の推定精度及び処理時間８２０を表示する。また、表示装置６２０は、カメラ３及びカメラ４が撮影した画像に基づいて実施した位置姿勢推定の推定精度及び処理時間８２１を表示する。また、表示装置６２０は、カメラ４が撮影した画像にもとづいて実施した位置姿勢推定の推定精度及び処理時間８２２を表示する。また、表示装置６２０は、カメラ４及びカメラ５が撮影した画像にもとづいて実施した位置姿勢推定の推定精度及び処理時間８２３を表示する。また、これらの撮影画像８１０〜８１３を表示する。画像８１０、８１１及び８１３に関しては、撮影した画像を貼り合わせた画像とする。例えば、画像８１０は、カメラ２及び３で撮影した画像を貼り合わせた画像とする。
【００７６】
画像選択部６１０は、選択ボタン８２４〜８２７をユーザが選択することで、使用するカメラを選択する。
【００７７】
表示装置６２０は、カメラ３、カメラ４及びカメラ５が撮影した画像にもとづいて実施した位置姿勢推定の精度及び処理時間８２４を表示する。また、カメラ３、カメラ４及びカメラ５が撮影した画像を貼り合わせた画像８１４を表示する。
【００７８】
なお、撮影画像８１０、８１１、８１３及び８１４は、貼り合わせた画像に代わって、貼り合わせた画像を構成する個々の画像を表示してもよい。例えば、画像８１０には、カメラ２で撮影した画像または、カメラ３で撮影した画像を表示する。あるいは、画像表示そのものをしなくてもよい。
【００７９】
（第３の実施形態）
第１の実施形態では、各画像にもとづいて実施した位置姿勢推定に関する性能と、複数の画像にもとづいて実施した位置姿勢推定に関する性能を表示する方法について説明した。第２の実施形態では、入力した複数の画像の中から位置姿勢推定に用いる画像を選択する方法について説明した。第３の実施形態では、位置姿勢推定に関する条件を入力し、入力した条件を満たす時の位置姿勢推定に関する性能を表示する方法について説明する。これにより、ユーザが所望する条件を満たす位置姿勢推定が可能となる。また、対象物体の形状や置かれ方、環境光の当たり方といった変動する状況に適応した位置姿勢推定を行うことができる。
【００８０】
図９は、本実施形態における情報処理装置９００の構成を示している。情報処理装置９００は、第１の実施形態で図１を用いて説明した構成に加え、条件取得部９１０を保持する。条件取得部９１０、第２の計測部９０３、第２の性能情報生成部９０５、第２の出力部以外は第１の実施形態で説明したものと同様であるため、ここでの説明は省略する。
【００８１】
条件取得部９１０は、位置姿勢推定に関する条件を取得する。本実施形態では、取得する位置姿勢推定に関する条件は、位置姿勢推定精度の下限値とする。
【００８２】
第２の計測部９０３は、入力した複数の画像の中から位置姿勢推定に使用する画像の組み合わせを複数生成し、生成した画像の組み合わせごとに位置姿勢推定を行う。位置姿勢推定方法は、第１の実施形態で説明した通りである。
【００８３】
第２の性能情報生成部９０５は、第２の計測部９０３で実施した複数の位置姿勢推定の結果に対して、位置姿勢推定に関する性能情報を生成する。さらに、生成した性能情報が条件取得部９１０で取得した条件を満たすか否かを判定する。具体的には、位置姿勢推定の精度が、取得した推定精度の閾値に収まっているかどうかを判定する。判定された結果、取得した閾値に収まっていると判定された精度の位置姿勢計測結果のみを第２の出力部９０７に送出する。
【００８４】
第２の出力部９０７は、第２の性能情報生成部９０５で生成した性能情報のうち、性能情報生成部９０５において入力した条件を満たすと判定された位置姿勢推定に関する性能のみを出力する。
【００８５】
図１０は、本実施形態における処理手順を示すフローチャートである。ステップ１００１〜１００６は、第１の実施形態で説明したステップＳ３０１〜３０６と同様であるため、ここでの説明は省略する。
【００８６】
（ステップ１００７）
ステップＳ１００７において、条件取得部９１０は、設定したＧＵＩを介して、位置姿勢推定精度の閾値を取得する。本実施形態においては、ユーザが操作装置を介して入力したものを取得する。条件取得部９１０は、取得した条件を第２の出力部９０９へ送出する。
【００８７】
（ステップ１００８）
ステップＳ１００８において、第２の出力部９０７は、ステップＳ１００６において生成された位置姿勢計測の精度を取得し、該取得した精度がステップＳ１００７で取得した閾値内におさまっているかを判定する。そして、閾値以内に収まっていると判定された位置姿勢推定に関する性能情報を選択して表示装置９２０に出力する。
【００８８】
図１１は、表示装置９２０及び条件取得部９１０に設定したＧＵＩ１１００を示す例である。表示装置９２０は、条件を満たすと判定した複数の位置姿勢推定に関する性能情報の中から、性能情報表示切り替えボタン１１２８で指定した性能情報を表示する。また、表示装置９２０に表示した性能情報の対象となった位置姿勢推定に使用した画像を特定するために、各画像を使用したか否かを示す情報１１２４〜１１２７を表示する。この例では、カメラＢ及びＣを使用した位置姿勢推定の性能情報を表示領域９０７に表示している。
【００８９】
条件取得部９１０は、ＧＵＩ１１００に設定された入力ボックス１１２９に、ユーザが操作装置を介して入力した推定精度の条件を取得する。
【００９０】
表示装置９２０は、カメラ２、カメラ３、カメラ４及びカメラ５が撮影した画像１１１０〜１１１３それぞれにもとづいて実施した位置姿勢推定精度及び位置姿勢推定に要した処理時間１１２０〜１１２３を表示する。
【００９１】
表示装置９２０は、表示領域１１０７に、カメラ３及び４が撮影した画像にもとづいて位置姿勢推定精度及び位置姿勢推定に要した処理時間を表示する。
【００９２】
＜入力条件のバリエーション＞
本実施形態では、入力する条件を推定精度の下限値とした。しかし、位置姿勢推定に関する条件であれば、他のものであってもよい。例えば、位置姿勢推定に要する処理時間の上限値を指定してもよい。この場合、位置姿勢推定に要する処理時間が、指定した処理時間の上限値を下回る場合に、該条件を満たすと判断する。あるいは、推定精度の下限値と処理時間の上限値の両方を条件として入力してもよい。
【００９３】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００９４】
＜各実施形態の効果＞
第１の実施形態では、撮影した各画像または複数の画像にもとづいてそれぞれ位置姿勢推定を行い、それぞれの位置姿勢推定の性能に関する情報をＧＵＩ上に表示する方法について説明した。これにより、各画像及び複数の画像を用いて実施した位置姿勢推定の性能の確認や比較を容易に行うことができるようになり、性能低下あるいは向上の要因となっている画像またはカメラの特定が行えるようになる。また、性能低下の要因と特定されたカメラの除去や配置変更を行うことができるようになる。
【００９５】
第２の実施形態では、撮影した各画像または複数の画像にもとづいて実施した位置姿勢推定の性能をそれぞれ表示するとともに、入力した複数の画像の中から位置姿勢推定に用いる画像を選択する方法について説明した。これにより、ユーザは、性能を確認しながら、位置姿勢推定に利用する画像の選択を実施できるようになるため、性能の高い位置姿勢推定を実施することが可能となる。また、位置姿勢推定に要する処理時間を、組み立て作業のタクトタイムで決定される該処理時間内に収めることが可能となる。
【００９６】
第３の実施形態では、位置姿勢推定に関する条件を取得し、取得した条件を満たす際の位置姿勢推定に関する性能を表示する方法について説明する。これにより、ユーザが所望する条件を満たす位置姿勢推定が可能となる。
【００９７】
＜定義＞
本発明の画像取得手段は、情報処理装置１００と接続した対象物体を撮影したカメラから画像を入力してもよいし、複数の視点で対象物体を撮影した画像を、情報処理装置１００と接続した外部の記憶装置に一旦保持しておいたものを入力してもよい。
【００９８】
本発明における第１及び第２の計測部では、画像にもとづいて算出した距離値にもとづいて認識または位置姿勢推定を実施してもよい。あるいは、画像から抽出した画像特徴にもとづいて認識または位置姿勢推定を実施してもよい。あるいは、画像にもとづいて算出した距離値と画像から抽出した画像特徴の両方にもとづいて認識または位置姿勢推定を実施してもよい。
【００９９】
本発明における第１及び第２の性能情報生成部では、第１及び第２の計測部で実施した位置姿勢推定に関する性能情報を生成する。位置姿勢推定に関する性能情報は、位置姿勢の性能を示す情報であれば何でもよい。例えば、位置姿勢推定の精度または処理時間とする。あるいは、推定した位置姿勢、対象物体の有無、位置姿勢推定または認識の計算が破たんしたか否かの情報であってもよい。
【０１００】
本発明における第１及び第２の出力部は、第１及び第２の性能情報生成部で生成した性能情報を表示装置の表示領域にそれぞれ表示する。表示方法は、位置姿勢推定の精度または処理時間の数値をＧＵＩ上に表示してもよいし、対象物体の形状を示す三次元モデルを推定した位置姿勢にもとづいて描画し入力画像上に重畳して表示してもよい。
【符号の説明】
【０１０１】
１０１  画像取得部
１０２  第１の計測部
１０３  第２の計測部
１０４  第１の性能情報生成部
１０５  第２の性能情報生成部
１０６  第１の出力部
１０７  第２の出力部
【図１】
2015203680.tif 000003
【図２】
2015203680.tif 000004
【図３】
2015203680.tif 000005
【図４】
2015203680.tif 000006
【図５】
2015203680.tif 000007
【図６】
2015203680.tif 000008
【図７】
2015203680.tif 000009
【図８】
2015203680.tif 000010
【図９】
2015203680.tif 000011
【図１０】
2015203680.tif 000012
【図１１】
2015203680.tif 000013
【図１２】
2015203680.tif 000014