(57)【要約】【課題】画像から類似したエッジが局所的に複数検出される場合においても、高精度に対象物体の位置姿勢を推定する技術を提供する。【解決手段】情報処理装置であって、対象物体が撮影された撮影画像から検出される複数の近接する画像エッジを画像エッジグループとして抽出する抽出部と、画像エッジグループに含まれる画像エッジ相互の位置関係を判定する判定部と、対象物体の三次元モデルを構成するモデルエッジ相互の位置関係を保持する保持部と、画像エッジの位置関係と、モデルエッジの位置関係との整合性に基づいて、対応する画像エッジとモデルエッジとの組み合わせを選択する選択部と、組み合わせに基づいて対象物体の位置姿勢を推定する推定部とを備える。【選択図】  図１
2019211981.tif 000002
【特許請求の範囲】
【請求項１】
対象物体が撮影された撮影画像から検出される複数の近接する画像エッジを画像エッジグループとして抽出する抽出手段と、
前記画像エッジグループに含まれる画像エッジ相互の位置関係を判定する判定手段と、
前記対象物体の三次元モデルを構成するモデルエッジ相互の位置関係を保持する保持手段と、
前記画像エッジの位置関係と、前記モデルエッジの位置関係との整合性に基づいて、対応する画像エッジとモデルエッジとの組み合わせを選択する選択手段と、
前記組み合わせに基づいて、前記対象物体の位置姿勢を推定する推定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記選択手段は、前記画像エッジの位置関係と、前記撮影画像の視点と略同一の視点に対応する前記モデルエッジの位置関係との整合性に基づいて、対応する画像エッジとモデルエッジとの組み合わせを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記画像エッジグループに含まれる画像エッジの位置に基づいて前記画像エッジグループ内の画像エッジを順序づけし、
前記選択手段は、前記画像エッジの順序と、前記モデルエッジの順序とが一致するように、前記組み合わせを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記判定手段は、前記画像エッジの奥行き情報に基づいて前記画像エッジグループ内の画像エッジを順序づけすることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記判定手段は、視点の異なる複数の撮影画像からそれぞれ検出された画像エッジ上の座標の差に基づいて前記奥行き情報を判定し、当該奥行き情報に基づいて前記画像エッジグループ内の画像エッジを順序づけすることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記判定手段は、前記画像エッジと交差する方向の画像エッジの配置順に基づいて画像エッジを順序づけすることを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記交差する方向は、前記画像エッジと略垂直な方向であることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記判定手段は、前記画像エッジの奥行き情報と、前記画像エッジと交差する方向の画像エッジの配置順とに基づいて画像エッジを順序づけすることを特徴とする請求項３に記載の情報処理装置。
【請求項９】
前記抽出手段は、視点の異なる第１の撮影画像及び第２の撮影画像のそれぞれについて画像エッジグループを抽出し、
前記判定手段は、前記第１の撮影画像及び前記第２の撮影画像のそれぞれについて、前記画像エッジグループに含まれる画像エッジの位置に基づいて前記画像エッジグループ内の画像エッジを順序づけし、
前記選択手段は、前記第１の撮影画像における前記画像エッジの順序と前記モデルエッジの順序とが一致し、且つ、前記第２の撮影画像における前記画像エッジの順序と前記モデルエッジの順序とが一致するように、前記組み合わせを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
ユーザからの操作指示の入力を受け付ける操作入力手段をさらに備え、
前記抽出手段は、前記操作指示に基づいて、前記複数の近接する画像エッジを前記画像エッジグループとして抽出することを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
前記推定手段は、推定された前記対象物体の位置姿勢に基づいて、前記対象物体を把持する把持部が前記対象物体を把持可能な位置姿勢を算出することを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
対象物体の三次元モデルを構成するモデルエッジ相互の位置関係を保持する保持手段を備える情報処理装置の制御方法であって、
前記対象物体が撮影された撮影画像から検出される複数の近接する画像エッジを画像エッジグループとして抽出する抽出工程と、
前記画像エッジグループに含まれる画像エッジ相互の位置関係を判定する判定工程と、
前記画像エッジの位置関係と、前記モデルエッジの位置関係との整合性に基づいて、対応する画像エッジとモデルエッジとの組み合わせを選択する選択工程と、
前記組み合わせに基づいて、前記対象物体の位置姿勢を推定する推定工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１３】
コンピュータを、請求項１乃至１１の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関し、特に、撮影装置によって取得された撮影画像を用いて対象物体の三次元の位置姿勢を推定する技術に関する。
【背景技術】
【０００２】
近年、ロボットアームを用いて、無作為に配置された部品等の対象物体の把持や操作を行うため、撮影装置によってこれらの対象物体を撮影し、三次元位置姿勢を推定する装置が提案されている。そのような装置では、ＣＡＤ（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  ｄｅｓｉｇｎ）等で作成した対象物体の設計データを用い、特定の視点から観測される設計データの像と、実際に観察される対象物体の像とを比較照合する。これにより、対象物体の三次元位置姿勢を推定している。
【０００３】
特許文献１では、カメラで対象物体を撮影して得られた二次元画像から得られるエッジに対して、対象物体の設計データを二次元画像に投影した際に得られるエッジを対応づけ、これらが一致する対象物体の位置姿勢を推定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４６４９５５９号
【非特許文献】
【０００５】
【非特許文献１】Ｓ．  Ｈｉｎｔｅｒｓｔｏｉｓｓｅｒ  ｅｔ  ａｌ，  Ｇｒａｄｉｅｎｔ  Ｒｅｓｐｏｎｓｅ  Ｍａｐｓ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ｄｅｔｅｃｔｉｏｎ  ｏｆ  Ｔｅｘｔｕｒｅ−Ｌｅｓｓ  Ｏｂｊｅｃｔｓ,  ＴＰＡＭＩ  2012
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、二次元画像から得られるエッジと、設計データから得られるエッジとの対応づけに誤りが生じることがある。特に、工業部品においては、面取りなどの加工に伴い、狭い範囲に複数の平行するエッジが二次元画像から検出されやすいため、その傾向が顕著となる。そのため、類似したエッジが局所的に複数検出される場合、対象物体の位置姿勢の推定精度が低下することがあるという課題がある。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、画像から類似したエッジが局所的に複数検出される場合においても、高精度に対象物体の位置姿勢を推定する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成する本発明に係る情報処理装置は、
対象物体が撮影された撮影画像から検出される複数の近接する画像エッジを画像エッジグループとして抽出する抽出手段と、
前記画像エッジグループに含まれる画像エッジ相互の位置関係を判定する判定手段と、
前記対象物体の三次元モデルを構成するモデルエッジ相互の位置関係を保持する保持手段と、
前記画像エッジの位置関係と、前記モデルエッジの位置関係との整合性に基づいて、対応する画像エッジとモデルエッジとの組み合わせを選択する選択手段と、
前記組み合わせに基づいて、前記対象物体の位置姿勢を推定する推定手段と、
を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像から類似したエッジが局所的に複数検出される場合においても、高精度に対象物体の位置姿勢を推定することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る情報処理装置の構成例を模式的に示す図である。
【図２】第１実施形態に係る撮影部１０１と対象物体３０１との関係を示す図である。
【図３】第１実施形態に係るデータ構造の例を示す図である。
【図４】第１実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。
【図５】第１実施形態に係る、画像エッジの視差を算出する例を示す図である。
【図６】第１実施形態に係る、対応づけを行うシーンの例を示す図である。
【図７】第２実施形態に係る情報処理装置の全体構成を模式的に示す図である。
【図８】第２実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。
【図９】第２実施形態において対象物体３０１を観察する仮想的な視点を設定する様子を示す図である。
【図１０】第３実施形態に係るエッジ位置関係判定部２０４が行う処理の例を示す図である。
【図１１】第５実施形態に係る情報処理装置の全体構成を模式的に示す図である。
【図１２】第５実施形態に係る操作ウィンドウ７０の例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１２】
（第１実施形態）
＜概要＞
本実施形態では、対象物体が撮影された撮影画像から検出される複数の画像エッジのうち、近接する複数の画像エッジを画像エッジグループとして抽出する。例えば、近接して検出される略平行な複数の画像エッジを画像エッジグループとして抽出する。一方、対象物体の三次元モデルを構成するモデルエッジ（設計データに含まれるモデルエッジ）については、ユーザからの指示に基づいて複数のモデルエッジがモデルエッジグループとして事前に抽出されており、モデルエッジ相互の位置関係が保持されている。
【００１３】
そして、画像エッジグループに含まれる画像エッジ相互の位置関係と、保持されているモデルエッジ相互の位置関係との整合性に基づいて、対応する画像エッジとモデルエッジとの組み合わせを選択し、その組み合わせに基づいて対象物体の位置姿勢を推定する。
【００１４】
より具体的には、モデルエッジと画像エッジとのそれぞれについて、グループ内でのエッジの三次元的な幾何関係に基づいて順序づけを行う。各グループに対してモデルエッジ及び画像エッジの順序を比較し、これらが整合する組み合わせを選択する。
【００１５】
このように、エッジ相互の位置関係の情報を利用することで、複数の類似したエッジの組み合わせが存在する中で、適切な対応づけが行われるため、対象物体の位置姿勢を高精度に推定することが可能となる。
【００１６】
＜構成＞
図１は、本実施形態に係る情報処理装置の全体構成を示す図である。図１における矩形枠は本実施形態の各処理を行う機能モジュールを示し、矢印はデータの流れを示している。図１において、情報処理装置２００は、撮影部１０１と接続されている。情報処理装置２００は、撮影画像処理部２０１、三次元モデル入力部２０２、エッジグループ抽出部２０３、エッジ位置関係判定部２０４、モデルエッジ位置関係保持部２０５、エッジ対応選択部２０６、及び推定部２０７を備えている。情報処理装置２００が備える各処理部の機能は、不図示のＣＰＵが不図示のメモリからプログラムを読み出して実行することにより制御される。なお、図１の構成は一例であり図示されるものに限定されない。
【００１７】
撮影部１０１は、三次元位置姿勢を推定すべき対象物体３０１（図２参照）を含むシーンを撮影した撮影画像を取得する。撮影部１０１により取得された撮影画像は、撮影画像処理部２０１に入力される。
【００１８】
ここで、図２は、本実施形態に係る撮影部１０１と対象物体３０１との関係を示している。平面３０２上に対象物体３０１が配置されており、２つの撮影部１０１は、対象物体３０１の上方から全体を俯瞰して撮影した撮影画像１０、１１（不図示）を取得する。対象物体３０１は様々な位置姿勢を取りうる。
【００１９】
図３（ａ）に示すように、対象物体３０１については、設計データ（例えばＣＡＤデータ）等から、対象物体３０１の三次元形状やサイズを規定する三次元モデル３０３が定義されている。三次元モデル３０３は、頂点リスト２０、面リスト３０、モデルエッジリスト４０、及び視点別モデルエッジリスト４５を含んで構成されている。
【００２０】
頂点リスト２０は、三次元モデル３０３を構成する頂点の三次元座標のリストを含む。面リスト３０は、対象物体３０１の面を構成する頂点番号のリストを含む。モデルエッジリスト４０は、三次元モデル３０３を構成するモデルエッジに関する情報を複数保持するリストである。視点別モデルエッジリスト４５は、三次元モデル３０３を構成するモデルエッジに対して、所定の位置姿勢から観察された場合の幾何的な位置関係の情報を保持するリストである。
【００２１】
なお、撮影部１０１は校正済みであり、焦点距離、画像中心、歪み係数などの内部パラメータは既知であるものとする。また、２つの撮影部１０１に対する外部パラメータも既知であるものとする。
【００２２】
続いて、図３（ｂ）は、モデルエッジリスト４０のデータ構造の例を示している。モデルエッジリスト４０は、三次元モデル３０３を構成するモデルエッジに関する情報を複数保持するリストである。個々のモデルエッジに関する情報は、モデルエッジＩＤと、頂点ＩＤリストとを含んで構成される。
【００２３】
また、図３（ｃ）は、視点別モデルエッジリスト４５のデータ構造の例を示している。視点別モデルエッジリスト４５は、三次元モデル３０３を構成するモデルエッジに対して、所定の位置姿勢から観察された場合の幾何的な位置関係の情報を保持するリストである。各要素は、三次元モデル３０３を観測すると想定される各視点に対して設定される。視点別モデルエッジリスト４５は、視点ＩＤ、モデルエッジグループＩＤ、モデルエッジＩＤリスト、及びモデルエッジ位置関係ラベルを含んで構成される。
【００２４】
本実施形態では、モデルエッジグループに関しては、ある視点において三次元モデル３０３を観測した二次元画像上でエッジの方向と距離とが共に近いモデルエッジ群が、同一のモデルエッジグループとなるように構成される。モデルエッジグループＩＤは、モデルエッジグループを一意に特定するためのＩＤである。モデルエッジＩＤリストは、モデルエッジグループＩＤで特定されるモデルエッジグループに含まれるモデルエッジＩＤのリストである。
【００２５】
モデルエッジ位置関係ラベルは、モデルエッジグループ内に属しているモデルエッジに対して、三次元的な奥行き情報に基づいて付与されたラベルである。モデルエッジ位置関係ラベルは、視点から当該エッジまでの三次元距離の順序に従って設定される。例えば、同一のモデルエッジグループを構成するモデルエッジに対して、最も視点に近いモデルエッジにラベル１を付与し、２番目に視点に近いモデルエッジにラベル２を付与する。なお、孤立したモデルエッジに対しては、モデルエッジを１つだけ含むモデルエッジグループが設定されることになる。
【００２６】
本実施形態では、対象物体３０１の概略位置姿勢は既知であると仮定できるものとし、当該概略位置姿勢に対応する単一視点における視点別モデルエッジリスト４５をユーザが事前に生成して用意する。
【００２７】
撮影画像処理部２０１は、撮影部１０１が撮影した撮影画像１０、１１を情報処理装置２００の内部に取り込む。このとき、校正パラメータを用いて、撮影画像１０、１１の平行化を行う。また、撮影画像処理部２０１は、撮影画像１０、１１に対してエッジ検出を行い、図３（ｄ）を参照して後述する画像エッジリスト５０を生成する。撮影画像処理部２０１は、生成された画像エッジリスト５０と、既知の概略位置姿勢とを、エッジグループ抽出部２０３に送出する。
【００２８】
画像エッジリスト５０は、撮影画像１０、１１から検出される画像エッジ情報を保持するデータである。図３（ｄ）は、画像エッジリスト５０のデータ構造の例を示す。画像エッジリスト５０は、画像エッジＩＤ、画像エッジ座標、画像エッジ方向、画像エッジグループＩＤ、及び画像エッジ位置関係ラベルを含んで構成される複数の画像エッジ情報をリスト構造として保持する。画像エッジＩＤ、画像エッジ座標、画像エッジ方向については、撮影画像処理部２０１によって設定される。画像エッジグループＩＤ、画像エッジ位置関係ラベルについては、エッジグループ抽出部２０３、エッジ位置関係判定部２０４によってそれぞれ設定される。なお、画像エッジリスト５０は１つの撮影画像に対して１つ設けられる。すなわち、撮影画像１０、１１に対して、それぞれ画像エッジリスト５０が設定される。
【００２９】
三次元モデル入力部２０２は、対象物体３０１と同一形状の三次元モデル３０３を構成するデータのうち、モデルエッジリスト４０を情報処理装置２００内部に取り込み、エッジグループ抽出部２０３に送出する。
【００３０】
エッジグループ抽出部２０３は、撮影画像処理部２０１から入力された画像エッジリスト５０と対象物体３０１の概略位置姿勢とを参照し、画像エッジグループを抽出する。エッジグループ抽出部２０３は、各画像エッジに対して、近接しているものに同一のグループＩＤを付与することでグループ化を行い、画像エッジグループを抽出する。エッジグループ抽出部２０３は、付与した画像エッジグループＩＤを画像エッジリスト５０中に書き込み、画像エッジリスト５０をエッジ位置関係判定部２０４に送出する。
【００３１】
エッジ位置関係判定部２０４は、エッジグループ抽出部２０３から入力された画像エッジリスト５０を参照し、同一の画像エッジグループを構成する個々の画像エッジの相対位置関係に基づいてラベル付けを行う。エッジ位置関係判定部２０４は、画像エッジ位置関係ラベルを画像エッジリスト５０にそれぞれ書き込み、その結果をエッジ対応選択部２０６に送出する。
【００３２】
モデルエッジ位置関係保持部２０５は、あらかじめユーザによって作成された視点別モデルエッジリスト４５を読み込み、不図示の記憶領域に保持する。モデルエッジ位置関係保持部２０５が保持している視点別モデルエッジリスト４５は、エッジ対応選択部２０６により随時読み出される。
【００３３】
エッジ対応選択部２０６は、モデルエッジ位置関係保持部２０５が保持している視点別モデルエッジリスト４５と、エッジ位置関係判定部２０４から入力された画像エッジリスト５０とを参照する。そして、参照により、撮影画像１０から検出された画像エッジと、三次元モデル３０３を構成するモデルエッジとの組み合わせを選択し、対応づけを行う。対応づけの結果はエッジ対応リスト６０に書き込まれる。エッジ対応選択部２０６は、エッジ対応リスト６０を推定部２０７に送出する。ここで、図３（ｅ）は、エッジ対応リスト６０のデータ構造の例を示す。エッジ対応リスト６０は、モデルエッジＩＤと画像エッジＩＤとの対をリスト構造として保持する。
【００３４】
推定部２０７は、撮影画像１０と対象物体３０１とを照合して対象物体３０１の三次元位置姿勢を推定する。本実施形態では、エッジ対応選択部２０６により生成されたエッジ対応リスト６０を参照して、対象物体３０１の三次元位置姿勢を推定する。具体的には、三次元モデル３０３を構成するモデルエッジを撮影画像１０上に投影した場合のモデルエッジと、撮影画像１０から検出された画像エッジとの差を画像面上で最小化するように最適化を行うことによって、対象物体３０１の三次元位置姿勢を推定する。このとき、エッジ対応リスト６０に記述されたＩＤに対応するモデルエッジと画像エッジとが対応づけられる。なお、最適化における残差が大きい場合には、推定部２０７は、対象物体３０１と三次元モデル３０３とが整合しないとして、エラーを出力する。
【００３５】
＜処理＞
続いて、図４のフローチャートを参照して、本実施形態に係る情報処理装置２００が実施する処理の手順を説明する。
【００３６】
（ステップＳ１０００）
ステップＳ１０００において、モデルエッジ位置関係保持部２０５は、あらかじめ用意された視点別モデルエッジリスト４５を読み込み、不図示の記憶領域に保持する。
【００３７】
（ステップＳ１０１０）
ステップＳ１０１０において、撮影画像処理部２０１は、撮影部１０１により撮影された、対象物体３０１を含むシーンの撮影画像１０、１１を取得する。本実施形態では、撮影部１０１は２つ設けられており、それぞれ視点位置の異なる撮影部１０１から撮影画像１０、１１がそれぞれ撮影される。
【００３８】
撮影画像処理部２０１は、撮影画像１０、１１に対してソーベルフィルタを適用し、エッジ検出処理を行う。以降の説明では、撮影画像１０、１１から検出されたエッジを画像エッジと呼ぶ。撮影画像処理部２０１は、画像エッジを構成する各画素に対して、画像エッジ座標と画像エッジ方向とを画像エッジリスト５０に書き込む。
【００３９】
（ステップＳ１０２０）
ステップＳ１０２０において、エッジグループ抽出部２０３は、検出された画像エッジをグループ化し、画像エッジグループＩＤを付与する。以下、エッジグループ抽出部２０３が行うグループ化の処理について説明する。
【００４０】
まず、エッジグループ抽出部２０３は、画像エッジリスト５０を参照し、各画像エッジに対して、直線へのあてはめを行い、画像エッジに対する近似線分を推定する。線分の推定手法は数多く存在するが、ＲＡＮＳＡＣ（Ｒａｎｄｏｍ  Ｓａｍｐｌｉｎｇ  Ｃｏｎｓｅｎｓｕｓ）やハフ変換などの手法を用いればよい。エッジグループ抽出部２０３は、すべての近似線分の組み合わせに対して、近似線分ｉ−近似線分ｊ間の距離ｄｉｊに関する距離テーブルを生成する。この距離テーブルに対してクラスタリングを適用し、同一クラスタに属する近似線分を１つの画像エッジグループとし、画像エッジグループＩＤを付与する。
【００４１】
エッジグループ抽出部２０３は、上記の処理によって求めた画像エッジグループＩＤを画像エッジリスト５０に書き込む。
【００４２】
（ステップＳ１０３０）
ステップＳ１０３０において、エッジ位置関係判定部２０４は、同一の画像エッジグループＩＤを構成するエッジ間の相対位置関係を判定し、ラベル付けを行う。
【００４３】
まず、エッジ位置関係判定部２０４は、撮影画像１０及び撮影画像１１に対してステレオマッチングを行い、画像エッジごとに視差量を算出する。ここで、図５は、本実施形態に係る画像エッジの視差量を算出する例を示している。エッジ位置関係判定部２０４は、撮影画像１０において検出された画像エッジ４１０ａおよび４１０ｂと、撮影画像１１において対応する画像エッジ４１１ａおよび４１１ｂとの視差量を算出する。本実施形態では、撮影画像１０および撮影画像１１のエピポーラ線はｘ軸に平行となるように平行化がなされている。そのため、エッジ位置関係判定部２０４は、画像エッジ４１０ａおよび４１０ｂにおける撮影画像１０と撮影画像１１とのｘ座標の差を視差量として算出する。図５に示されるように、画像エッジ４１０ａと画像エッジ４１１ａとの視差量は、ｄａ＝||ｘａ２−ｘａ１||である。また、画像エッジ４１０ｂと画像エッジ４１１ｂとの視差量は、ｄｂ＝||ｘｂ２−ｘｂ１||である。このように、視点の異なる複数の撮影画像からそれぞれ検出された画像エッジ上の座標の差に基づいて視差量を算出する。
【００４４】
次に、エッジ位置関係判定部２０４は、撮影画像１０に対応する画像エッジリスト５０から、同一の画像エッジグループＩＤである画像エッジＩＤのリストを抽出する。エッジ位置関係判定部２０４は、先のステレオマッチングの結果を参照して、撮影画像１１中の対応画像エッジとの視差量を取得し、視差量が大きい（すなわち、視点から近い）順に画像エッジをソートする。画像エッジの視差量と視点から画像エッジまでの奥行きとは反比例の関係にあるので、この処理により、画像エッジは視点からの距離（奥行き情報）に基づいて並び換えられることになる。
【００４５】
このようにして、視点の異なる複数の撮影画像からそれぞれ検出された画像エッジ上の座標の差に基づいて奥行き情報を判定することができる。
【００４６】
続いて、エッジ位置関係判定部２０４は、同一の画像エッジグループ内の画像エッジに対して、ソート結果に基づいて画像エッジ位置関係ラベルを付与する。本実施形態では、画像エッジ位置関係ラベルは、ソート後の順序とする。すなわち、視差量が最も大きい（すなわち、視点から最も近い）画像エッジに対して、画像エッジ位置関係ラベルとして１を付与する。そして、視差量が２番目に大きい画像エッジに対して、画像エッジ位置関係ラベルとして２を付与する。
【００４７】
エッジ位置関係判定部２０４は、上記の処理によって求めた位置関係のラベルを画像エッジリスト５０に書き込む。
【００４８】
（ステップＳ１０４０）
ステップＳ１０４０において、エッジ対応選択部２０６は、エッジ位置関係判定部２０４により更新された画像エッジリスト５０と、モデルエッジ位置関係保持部２０５が保持している視点別モデルエッジリスト４５とを参照する。そして、参照により、撮影画像１０から検出された画像エッジと、三次元モデル３０３を構成するモデルエッジとの対応づけを行う。
【００４９】
まず、エッジ対応選択部２０６は、概略位置姿勢を用いて、視点別モデルエッジリスト４５から、撮影画像１０の視点と略同一の視点ＩＤの要素を取り出す。次に、エッジ対応選択部２０６は、モデルエッジリスト４０と概略位置姿勢とを用いて、撮影画像１０上にモデルエッジを投影し、撮影画像１０上に投影されたモデルエッジの画像座標と、撮影画像１０上でのモデルエッジの方向とを算出する。
【００５０】
ここで、図６（ａ）は、対応づけを行うシーンの例を示す図である。撮影画像１０中の対象物体３０１について検出された画像エッジと、対象物体３０１に対応する三次元モデル３０３を撮影画像１０上に投影した像とが示されている。以降の説明では、エッジ対応選択部２０６は、二次元画像上で対応づけ処理を行う。すなわち、モデルエッジは三次元空間上で定義されるものであるが、以降の処理では二次元画像平面上に投影されたものとして取り扱う。
【００５１】
図６（ｂ）は、図６（ａ）の一部を拡大した図である。実線は撮影画像１０から検出された画像エッジを示しており、破線は三次元モデル３０３のモデルエッジが撮影画像１０上に投影された状態を示している。モデルエッジ４０３は、現在処理対象となっているモデルエッジである。エッジ対応選択部２０６は、モデルエッジ４０３に対して、最も適切な画像エッジを対応づけるが、その候補として画像エッジ４１３、４１４が検出されている。なお、モデルエッジ４０３、４０４、画像エッジ４１３、４１４の矢印はエッジの方向を示している。
【００５２】
図６（ｃ）は、視点別モデルエッジリスト４５、画像エッジリスト５０、エッジ対応リスト６０のうち、説明に関係するデータを抜粋して示した図である。これまでに説明した処理により、視点別モデルエッジリスト４５、画像エッジリスト５０のそれぞれについて、モデルエッジグループＩＤ、モデルエッジ位置関係ラベル、画像エッジグループＩＤ、画像エッジ位置関係ラベルが付与されている。
【００５３】
エッジ対応選択部２０６は、現在の処理対象であるモデルエッジ４０３ついて、二次元画像上に投影されたモデルエッジの略垂直方向に画像エッジを探索し、適切な対応関係を満たす画像エッジを選択する。このとき、モデルエッジと画像エッジとの距離が閾値以下であり、かつ、画像エッジの方向がモデルエッジ４０３と略平行である画像エッジを選択候補とする。図６（ｂ）においては、画像エッジ４１３、４１４がモデルエッジ４０３の選択候補として検出される。
【００５４】
次に、エッジ対応選択部２０６は、検出された画像エッジの選択候補の中で、モデルエッジ４０３からの距離が近い順に対応の整合性を確認する。図６（ｂ）において、モデルエッジ４０３からの距離が最も近い画像エッジは４１４である。エッジ対応選択部２０６は、画像エッジ４１４の画像エッジ位置関係ラベルを参照し、モデルエッジ４０３のモデルエッジ位置関係ラベルと一致するかどうかを確認する。この例の場合、図６（ｃ）に示されるように、画像エッジ４１４の画像エッジ位置関係ラベルは１であり、モデルエッジ４０３のモデルエッジ位置関係ラベルは２であるので、両者は整合しない。そのため、エッジ対応選択部２０６は、画像エッジ４１４をモデルエッジ４０３とは「対応しない」と判定して選択しない。
【００５５】
エッジ対応選択部２０６は、次に距離の近い画像エッジ４１３に対して同様の処理を行う。画像エッジ４１３の画像エッジ位置関係ラベルは２であり、モデルエッジ４０３のモデルエッジ位置関係ラベルは２であるので、両者は整合する。そのため、エッジ対応選択部２０６は、画像エッジ４１３をモデルエッジ４０３と「対応する」と判定して選択する。このとき、エッジ対応選択部２０６は、エッジ対応リスト６０に画像エッジ４１３のＩＤを書き込む。
【００５６】
すなわち、エッジ対応選択部２０６は、視点からの距離に基づいて設定されたモデルエッジ位置関係ラベルと画像エッジ位置関係ラベルとを比較し、整合する場合に対応づけを行って選択する。これにより、画像上での距離が近い場合であっても、画像エッジ相互の三次元的な位置関係がモデルエッジ相互の三次元的な位置関係と整合しない場合に、誤って対応づけられることを防止することができる。
【００５７】
（ステップＳ１０５０）
ステップＳ１０５０において、推定部２０７は、撮影画像１０と対象物体３０１との照合を行い、対象物体３０１の三次元位置姿勢を推定する。推定部２０７は、エッジ対応選択部２０６によって生成されたエッジ対応リスト６０を参照する。そして、エッジ対応リスト６０中で対をなすモデルエッジと画像エッジとのすべての組み合わせについて、二次元画像（撮影画像）上に投影されたモデルエッジの座標と、画像エッジの座標との距離の総和を最小化する位置姿勢を最適化により算出する。これにより、対象物体３０１の三次元位置姿勢を推定する。
【００５８】
そして、推定部２０７は、推定された対象物体３０１の位置姿勢を外部に出力する。なお、三次元位置姿勢の推定時の最適化処理における残差が所定値以上である場合には、推定部２０７は、対象物体３０１と三次元モデル３０３とが整合しないとして、エラーを出力する。以上で図４の一連の処理が終了する。
【００５９】
なお、ステップＳ１０１０において、撮影画像処理部２０１が撮影画像１０、１１に対してエッジ検出を行う処理としてソーベルフィルタを用いる例を説明したが、ソーベルフィルタに限られない。キャニーフィルタ、ラプラシアンフィルタなど、他のフィルタを用いた検出処理を行ってもよい。
【００６０】
また、ステップＳ１０２０において、エッジグループ抽出部２０３は、各画像エッジを代表する近似線分相互の距離に基づいて、近接する画像エッジ群をグループ化する例を説明した。ここで算出される距離に関して、２つのエッジの相対的な角度を用いて重みづけを行うようにしてもよい。例えば、２つの近似線分が垂直に近い場合には、同一グループに属さないようにすべく、距離の値が大きくなるように重みづけを行うようにしてもよい。
【００６１】
また、ステップＳ１０３０において、エッジ位置関係判定部２０４は、必ずしもラベル付けを行う必要はない。エッジ対応選択部２０６が対応づけ処理を行う際に、視点からの距離が近い順にモデルエッジを処理するものとし、画像エッジについても視差量が大きいものから順に探索を行うものとすれば、ラベル付け処理を省略することができる。このとき、対応づけられた画像エッジには処理済みフラグを付与し、次のモデルエッジとの対応づけを行う際には、処理済みフラグが付与されていない画像エッジに限定して処理を行ってもよい。
【００６２】
また、ステップＳ１０３０において、エッジ位置関係判定部２０４が行うステレオマッチングは、画像エッジリスト５０中に含まれる画像エッジに対してのみ行えばよく、撮影画像１０、１１の全画素に対して行う必要はない。また、ステレオマッチングはブロックマッチング法やセミグローバルマッチング法など数多くの手法が知られているが、いずれの手法を用いてもよい。ステレオマッチングによって、画像エッジリスト５０に含まれる画像エッジに対して、撮影画像１０及び撮影画像１１間の視差量を求めることができる。
【００６３】
［変形例１］
撮影部１０１を２つ設ける代わりに、別途三次元計測装置を設け、画像エッジの三次元座標に基づいて画像エッジ相互の位置関係を判定し、画像エッジ位置関係ラベルを付与するように構成してもよい。その場合、ステップＳ１０３０において、エッジ位置関係判定部２０４は、得られた画像エッジの三次元座標に基づいて、視点と画像エッジとの距離を算出して並び換えを行い、画像エッジ位置関係ラベルを付与する。
【００６４】
［変形例２］
撮影部１０１を２つ設ける代わりに、１つの撮影部１０１を移動可能な構成とし、異なる時刻に異なる視点から撮影された複数の画像に基づき、画像エッジ相互の位置関係を判定し、画像エッジ位置関係ラベルを付与するように構成してもよい。その場合、ステップＳ１０３０において、エッジ位置関係判定部２０４は、撮影部１０１に別途備えられた位置姿勢センサあるいは画像中の特徴点に基づいて、画像撮影時の撮影部１０１の位置姿勢を推定する。そして、エッジ位置関係判定部２０４は、２枚の画像で観測される画像エッジの座標と、撮影部１０１の位置姿勢とから、画像エッジの三次元座標を算出する。エッジ位置関係判定部２０４は、得られた三次元座標に基づいて、視点と画像エッジとの距離を算出して並び換えを行い、画像エッジ位置関係ラベルを付与する。
【００６５】
［変形例３］
ステップＳ１０５０において、推定部２０７は、算出した対象物体３０１の最終的な位置姿勢を外部に出力する代わりに、予め入力された対象物体３０１の位置姿勢と、算出された位置姿勢とが略一致するかを検査し、その成否を出力するように構成してもよい。あるいは、三次元モデル３０３が複数存在する場合には、対象物体３０１に最も類似する三次元モデル３０３の種別を出力するように構成してもよい。
【００６６】
［変形例４］
ステップＳ１０５０において、推定部２０７は、算出された対象物体３０１の位置姿勢を外部に出力する代わりに、位置姿勢の算出が正常終了するか否かを判定することで、対象物体３０１の存在判定を行い、その結果を出力するように構成してもよい。位置姿勢算出の演算が収束しない、あるいは残差が所定値以上である場合には、対象物体３０１が存在しないと判定してもよい。
【００６７】
以上述べたように、本実施形態によれば、撮影部から得られる複数の画像を用いて、近接する複数のエッジに対して三次元的な情報を利用して順序づけを行う。これにより、誤った対応づけを回避することができるため、対象物体の三次元位置姿勢を高精度に推定することが可能となる。
【００６８】
（第２の実施形態）
＜概要＞
本実施形態では、画像から検出される画像エッジについて、近接して検出される略平行な画像エッジをグループ化する。設計データに含まれるモデルエッジについても、対象物体を観測する複数視点からの幾何関係に基づいてグループ化する。そして、モデルエッジと画像エッジとのそれぞれについて、グループ内でのエッジの三次元的な幾何関係に基づいて順序づけを行う。各グループに対してモデルエッジ及び画像エッジの順序を比較し、これらが整合する組み合わせを選択する。
【００６９】
このように、三次元的な情報を利用することで、複数の類似したエッジの組み合わせが存在する中で、適切な対応づけが行われるため、対象物体の位置姿勢を高精度に推定することが可能となる。
【００７０】
第１の実施形態では、モデルエッジのグループ化はユーザからの指示に基づいて行われていたのに対して、本実施形態では、ユーザからの指示ではなく、対象物体を観測する複数視点からの幾何関係に基づいてモデルエッジのグループ化を行う点が異なっている。また、本実施形態では、対象物体の概略位置姿勢の推定を行う点も異なっている。
【００７１】
＜構成＞
図７は、本実施形態に係る情報処理装置２００の全体構成を示す図である。図１に示した第１実施形態の構成と比較すると、概略位置姿勢推定部２０８が追加されている。以降、第１実施形態との差異を主に説明し、同じ部分については説明を省略する。
【００７２】
本実施形態に係るモデルエッジ位置関係保持部２０５は、三次元モデル入力部２０２から入力された三次元モデル３０３に基づいて、視点別モデルエッジリスト４５を生成する。
【００７３】
概略位置姿勢推定部２０８は、撮影画像１０又は１１中に撮影されている対象物体３０１の概略位置姿勢を推定する。
【００７４】
＜処理＞
続いて、図８のフローチャートを参照して、本実施形態に係る情報処理装置２００が実施する処理の手順を説明する。図８（ａ）は処理全体の流れを示し、図８（ｂ）は図８（ａ）のステップＳ１００５の処理の詳細を示している。
【００７５】
ステップＳ１００５において、モデルエッジ位置関係保持部２０５は、仮想的に設定される視点位置と、三次元モデル３０３とから視点別モデルエッジリスト４５を生成する。なお、ステップＳ１００５の処理は、事前準備として以降の処理に先立ち一度だけ実施されればよい。
【００７６】
ここで、図８（ｂ）を参照して、ステップＳ１００５の処理の詳細について説明する。
【００７７】
（ステップＳ１１００）
ステップＳ１１００において、三次元モデル入力部２０２は、対象物体３０１と同一形状の三次元モデル３０３を読み込む。本実施形態に係る三次元モデル３０３は、対象物体３０１の設計に用いられたＣＡＤデータから生成される。図３（ａ）を参照して前述したように、三次元モデル３０３にはモデルエッジリスト４０が含まれる。また、ステップＳ１１００において、三次元モデル入力部２０２は、対象物体３０１が実際に取り得る概略の姿勢を複数設定する。
【００７８】
本実施形態では、対象物体３０１を外接球の中心に配置するような正多面体を仮定し、正多面体の頂点の位置に対象物体３０１を観察する仮想的な視点を設定する。複数設定された視点から位置姿勢が変化しない対象物体３０１を観察することと、固定的な視点から位置姿勢が変化する対象物体３０１を観察することとは等価であるので、これにより、対象物体３０１が実際に取り得る概略の姿勢が設定されることになる。図９は、複数設定された視点から対象物体３０１が観察される様子を示している。
【００７９】
以降、ステップＳ１１１０からステップＳ１１４０までの処理は、ステップＳ１１００で設定された視点数に等しい回数実行される。すなわち、ステップＳ１１１０からステップＳ１１４０までの処理の実行に際し、ステップＳ１１００で算出された視点が順に設定される。
【００８０】
（ステップＳ１１１０）
ステップＳ１１１０において、エッジグループ抽出部２０３は、モデルエッジをグループ化し、モデルエッジグループＩＤを付与する。エッジグループ抽出部２０３は、ステップＳ１１００で設定された視点から、モデルエッジリスト４０に記述されているモデルエッジを二次元画像上に投影し、二次元画像上に投影されたモデルエッジの投影座標と方向とを算出する。エッジグループ抽出部２０３は、モデルエッジリスト４０に含まれており当該二次元画像上で観測可能なすべてのエッジに対して投影座標と方向とを算出する。
【００８１】
次に、エッジグループ抽出部２０３は、各モデルエッジの投影座標と方向とを参照し、三次元モデル３０３におけるすべてのモデルエッジの組み合わせに対して２つのモデルエッジ間の距離ｄを算出する。この距離ｄの算出方法について、以下説明する。
【００８２】
本実施形態では、モデルエッジは三次元で表される２つの頂点間の線分であるため三次元で定義されるが、距離ｄは投影した画像面上において二次元で算出される。２つのモデルエッジをそれぞれモデルエッジ１、モデルエッジ２とする。モデルエッジ１、２が投影された画像面上で交差している場合には距離ｄは０とする。交差しない場合には、モデルエッジ１を構成する２頂点について、それぞれモデルエッジ２までの距離を求め、小さい方を距離ｄとする。
【００８３】
エッジグループ抽出部２０３は、三次元モデル３０３を構成する全モデルエッジの組み合わせに対して、モデルエッジｉ−モデルエッジｊ間の距離ｄｉｊに関する距離テーブルを生成する。この距離テーブルに対してクラスタリングを適用し、同一クラスタに属するモデルエッジに対して同一のモデルエッジグループＩＤを付与する。
【００８４】
このとき、エッジグループ抽出部２０３は、同一クラスタと判定するための距離の閾値を以下のように定める。エッジグループ抽出部２０３は、現在の視点がステップＳ１１００で設定された隣接する視点（すなわち、視点を定義した多面体の隣接する頂点）に移動したときに、モデルエッジが二次元画像上に投影される座標の変化量を算出する。エッジグループ抽出部２０３は、最大の座標変化量を同一クラスタと判定するための距離の閾値とする。この閾値は、対象物体３０１の概略位置姿勢の変動に対するモデルエッジの変動量の範囲を示すものである。モデルエッジ相互の距離がこの閾値よりも小さくなると、モデルエッジと画像エッジとの対応の候補が複数発生し、誤った対応づけを発生させる確率が高くなる。これらを同一のモデルグループに所属させるべく、同一クラスタと判定するための距離の閾値を概略位置姿勢の変動に基づき設定することにより、より効果的に誤った対応づけを防止することが可能となる。
【００８５】
エッジグループ抽出部２０３は、上記の処理によって求めたモデルエッジグループＩＤを視点別モデルエッジリスト４５に書き込む。
【００８６】
（ステップＳ１１２０）
ステップＳ１１２０において、エッジ位置関係判定部２０４は、同一のモデルエッジグループを構成するモデルエッジ間の相対位置関係を判定し、ラベル付けを行う。
【００８７】
エッジ位置関係判定部２０４は、視点別モデルエッジリスト４５から、同一のモデルエッジグループＩＤに属するモデルエッジＩＤのリストを抽出する。エッジ位置関係判定部２０４は、抽出されたモデルエッジＩＤのリストに対応する各モデルエッジに対して、モデルエッジリスト４０を参照して以下の処理を行う。
【００８８】
エッジ位置関係判定部２０４は、各モデルエッジに対して、ステップＳ１１００で設定された視点からの距離を算出し、距離が小さい順にソートする。視点からモデルエッジまでの距離は、各モデルエッジを定義する２頂点の三次元座標と視点位置との距離のうち、小さい方を選択する。
【００８９】
次に、エッジ位置関係判定部２０４は、同一のモデルエッジグループ内のモデルエッジに対して、ソート結果に基づいてモデルエッジ位置関係ラベルを付与する。本実施形態では、モデルエッジ位置関係ラベルは、ソート結果の順序で付与される。すなわち、視点からの距離が最も小さいモデルエッジに対して、モデルエッジ位置関係ラベルとして１を付与する。２番目に距離が小さいモデルエッジに対しては、モデルエッジ位置関係ラベルとして２を付与する。
【００９０】
エッジ位置関係判定部２０４は、は、上記の処理によって求めたモデルエッジ位置関係ラベルを、視点別モデルエッジリスト４５に書き込む。
【００９１】
（ステップＳ１１３０）
ステップＳ１１３０において、三次元モデル入力部２０２は、ステップＳ１１００で設定された視点がすべて処理されたか否かを判定する。視点がすべて処理された場合、すなわち全ての姿勢が処理された場合には、ステップＳ１１４０に進む。そうでない場合には、ステップＳ１１１０に戻り、未処理の視点（未処理の姿勢）に対してステップＳ１１１０からＳ１１３０の処理を実行する。
【００９２】
（ステップＳ１１４０）
ステップＳ１１４０において、モデルエッジ位置関係保持部２０５は、生成された視点別モデルエッジリスト４５を不図示の外部記憶領域に出力する。
【００９３】
以上が図８（ｂ）の一連の処理である。
【００９４】
その後、図８（ａ）に戻り、ステップＳ１０１５において、概略位置姿勢推定部２０８は、撮影画像１０あるいは１１中の対象物体３０１の概略位置姿勢を推定する。本実施形態では２つの撮影部１１の外部パラメータは既知であるため、概略位置姿勢は撮影画像１０あるいは１１のいずれか片方のみ推定すればよい。また、本ステップで算出する概略位置姿勢は、対象物体３０１を構成するエッジを撮影画像１０あるいは１１の視点から観測した場合、画像面上でエッジ相互の位置関係、配置順や構造を変化させない程度の精度があればよい。概略位置姿勢の推定には非特許文献１に記載の手法を用いることができる。その他の処理は、第１の実施形態で説明した通りであるため、説明を省略する。
【００９５】
ステップＳ１０４０において、エッジ対応選択部２０６は、モデルエッジリスト４０と、ステップＳ１０１５で推定された概略位置姿勢とを用いて、撮影画像１０上にモデルエッジを投影し、以降第１の実施形態と同様の処理を行う。すなわち、画像エッジの位置関係と、撮影画像１０の視点と略同一の視点に対応するモデルエッジの位置関係との整合性に基づいて、対応する画像エッジとモデルエッジとの組み合わせを選択する。
【００９６】
なお、本実施形態のステップＳ１１１０において、エッジグループ抽出部２０３が行うクラスタリングに関しては、いずれの手法を用いてもよい。
【００９７】
［変形例５］
撮影部１０１や対象物体３０１が静止している場合においても、画像ノイズ等の影響でモデルエッジと画像エッジとの対応関係が時刻によって一貫せず、異なる場合が生じる。結果として、シーンが静的であるにも関わらず、対象物体３０１の位置姿勢が時間ごとに変動し、微動しているように観測される。エッジ対応選択部２０６は、これを回避するために前回の対応づけ結果を優先するようにしてもよい。具体的には、ステップＳ１０１５における概略位置姿勢推定結果が前フレームと概ね同一であれば、前回の対応づけ結果をそのまま適用してもよい。すなわち、概略位置姿勢推定結果が前フレームより一定以上異なっている場合にのみ、本実施形態におけるステップＳ１０２０−Ｓ１０４０の処理を行ってもよい。
【００９８】
［変形例６］
ステップＳ１１２０において、エッジ位置関係判定部２０４がモデルエッジ位置関係ラベルを視点別モデルエッジリスト４５に書き込む際に、当該モデルエッジの可視性に関する情報を付加するようにしてもよい。視点位置や姿勢によっては、特定のモデルエッジは隠れによって観測できず、画像から消失する場合がある。モデルエッジが画像エッジとして観測されず消失してしまうと、ステップＳ１０４０の処理時にモデルエッジと画像エッジとの位置関係ラベルに不整合が生じる可能性がある。そのため、ステップＳ１１２０において、視点位置姿勢のわずかな変化によって、当該モデルエッジが観測されない可能性が高くなるような場合には、モデルエッジに消失可能性に関する情報を付加する。そして、ステップＳ１０４０において、モデルエッジと画像エッジとの位置関係ラベルが整合せず、さらに、モデルエッジの可視性に関する情報としてモデルエッジに消失可能性に関する情報が付与されている場合には、エッジ対応選択部２０６は、当該モデルエッジは消失したものと判定し、対応づけを行わない。
【００９９】
［変形例７］
本実施形態において、ステップＳ１００５の処理は情報処理装置の起動前の事前準備として実行したが、情報処理装置の起動後にオンラインで実行するようにしてもよい。この場合、ステップＳ１１００において三次元モデル入力部２０２が複数の視点を設定する代わりに、ステップＳ１０４０の時点で、モデルエッジ位置関係保持部２０５が概略位置姿勢から視点別モデルエッジリスト４５を生成してもよい。すなわち、想定される複数の視点における視点別モデルエッジリスト４５を事前に生成するのに代えて、現在の概略位置姿勢からその都度視点別モデルエッジリスト４５を生成するようにしてもよい。
【０１００】
［変形例８］
ステップＳ１１１０において、エッジグループ抽出部２０３が同一クラスタと判定するための距離の閾値を設定する代わりに、ユーザから値を入力させるようにしてもよい。
【０１０１】
以上述べたように、本実施形態によれば、設計データに含まれるモデルエッジが、対象物体を観測する複数視点からの幾何関係に基づきグループ化される。様々な位置姿勢を取り得る対象物体に対して適切な対応づけが行われるため、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１０２】
（第３の実施形態）
＜概要＞
本実施形態では、１つの撮影装置で対象物体を撮影する例を説明する。本実施形態では、設計データ中のモデルエッジと、画像から検出される画像エッジについて、近接して検出される略平行なエッジをグループ化する。そして、モデルエッジと画像エッジとのそれぞれについて、グループ内でのエッジの二次元画像内における配置関係に基づいて順序づけを行う。各グループに対してモデルエッジと画像エッジの順序を比較し、これらが整合する組み合わせを選択する。
【０１０３】
これにより、複数の類似した組み合わせが存在する中でより適切な対応づけが行われるため、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１０４】
＜構成＞
本実施形態に係る情報処理装置２００の構成は、第１の実施形態と同様であるため、説明を省略する。なお、第１実施形態では、２つの撮影部１０１を備えていたが、本実施形態では、撮影部１０１は１つである。撮影画像処理部２０１は、撮影部１０１から撮影画像１０を入力し、撮影画像１１は入力されない。撮影画像の平行化も行われない。
【０１０５】
＜処理＞
本実施形態に係る処理は、第２の実施形態と同様であるが、一部の処理が異なっており、差異点を主に説明する。。
【０１０６】
（ステップＳ１１２０）
図８（ｂ）のステップＳ１１２０において、エッジ位置関係判定部２０４は、同一のモデルエッジグループ内のモデルエッジに対して、モデルエッジ位置関係ラベルを付与する。本実施形態では、第２の実施形態とは異なり、視点からの距離ではなく、画像面上での位置に基づいてモデルエッジ位置関係ラベルを付与する。以下、図１０（ａ）を参照して詳細を説明する。
【０１０７】
図１０（ａ）には、ステップＳ１１００で設定された視点から三次元モデル３０３が投影された仮想画像１２中に観測されている２つのモデルエッジ４０５、４０６が示されている。これらのモデルエッジは、同一のモデルエッジグループを構成しており、モデルエッジグループＩＤはすべて同じである。エッジ位置関係判定部２０４は、この中からモデルエッジを１つ選択する。図１０（ａ）ではモデルエッジ４０５が選択されるものとする。次に、エッジ位置関係判定部２０４は、選択されたモデルエッジ４０５の中心（エッジの両端点の中点）を通る垂線５００および仮想画像１２との交点５０１を算出する。交点５０１には、仮想画像１２においてｘ＝０あるいはｙ＝０となる座標を設定する。
【０１０８】
次に、エッジ位置関係判定部２０４は、モデルエッジ４０５、４０６について、交点５０１から各々のモデルエッジまでの距離を算出し、小さい順にソートする。エッジ位置関係判定部２０４は、同一のモデルエッジグループ内のモデルエッジに対して、ソート結果に基づいてモデルエッジ位置関係ラベルを付与する。本実施形態においては、モデルエッジ位置関係ラベルはソート結果の順序とする。すなわち、図１０（ａ）の例では、交点５０１からの距離が最も小さいモデルエッジ４０５に対して、モデルエッジ位置関係ラベルとして１を付与する。そして、２番目に距離が小さいモデルエッジ４０６に対しては、モデルエッジ位置関係ラベルとして２を付与する。エッジ位置関係判定部２０４は、この処理を各モデルエッジグループに対して繰り返し行う。
【０１０９】
エッジ位置関係判定部２０４は、上記の処理によって求めたモデルエッジ位置関係ラベルをモデルエッジリスト４０に書き込む。
【０１１０】
（ステップＳ１０３０）
図８（ａ）のステップＳ１０３０において、エッジ位置関係判定部２０４は、同一の画像エッジグループＩＤを構成する画像エッジ間の相対位置関係を判定し、ラベル付けを行う。前述の実施形態とは異なり、エッジ位置関係判定部２０４は、撮影画像１０のみを用いて、画像面上での距離に基づいて相対位置関係の判定およびラベル付けを行う。図１０（ｂ）を参照して、詳細を説明する。
【０１１１】
エッジ位置関係判定部２０４は、撮影画像１０に対応する画像エッジリスト５０から、同一の画像エッジグループＩＤである画像エッジＩＤのリストを抽出する。図１０（ｂ）の例では、同一の画像エッジグループに属する画像エッジとして、画像エッジ４１５、４１６の２つが割り当てられている。
【０１１２】
エッジ位置関係判定部２０４は、同一の画像エッジグループに属する画像エッジのうち、１つを選択する。図１０（ｂ）の例では、画像エッジ４１５が選択されるものとする。次に、エッジ位置関係判定部２０４は、選択された画像エッジ４１５に対する中心座標を通る垂線５１０および撮影画像１０との交点５１１を算出する。このとき、撮影画像１０においてｘ＝０あるいはｙ＝０となる座標を交点５１１として設定するが、エッジ位置関係判定部２０４は、ステップＳ１１２０で算出した交点５０１と一貫させる。すなわち、交点５０１が仮想画像１２におけるｘ＝０となる点であれば、対応する交点５１１についても、撮影画像１０におけるｘ＝０となる点として算出する。
【０１１３】
次に、エッジ位置関係判定部２０４は、画像エッジ４１５、４１６について、交点５１１から各々の画像エッジまでの距離を算出し、小さい順にソートする。エッジ位置関係判定部２０４は、同一の画像エッジグループ内の画像エッジに対して、ソート結果に基づいて画像エッジ位置関係ラベルを付与する。本実施形態においては、画像エッジ位置関係ラベルはソート結果の順序とする。すなわち、図１０（ｂ）の例では、交点５１１からの距離が最も小さい画像エッジ４１５に対して、画像エッジ位置関係ラベルとして１を付与する。そして、２番目に距離が小さい画像エッジ４１６に対しては、画像エッジ位置関係ラベルとして２を付与する。この処理により、画像エッジは撮影画像１０内の配置関係に基づいて並び換えられることになる。
【０１１４】
エッジ位置関係判定部２０４は、上記の処理によって求めた位置関係のラベルを画像エッジリスト５０に書き込む。
【０１１５】
（ステップＳ１０４０）
ステップＳ１０４０において、エッジ対応選択部２０６は、第１の実施形態で説明した処理と同様の処理を行う。
【０１１６】
但し、エッジ対応選択部２０６は、画像内に設定された特定の点からの二次元的な距離に基づいて設定されたモデルエッジ位置ラベルと画像エッジ位置ラベルとを比較し、整合するもののみを対応づける。これにより、画像上での距離が近い場合であっても、画像エッジ相互の画像面内における位置関係がモデルエッジ相互の画像面内における位置関係と一貫しない場合に、誤って対応づけられることを防止することができる。
【０１１７】
なお、本実施形態のステップＳ１１２０、Ｓ１０３０において、エッジ位置関係判定部２０４は、交点５０１および交点５１１を図１０の例とは異なる点に設定してもよい。例えば、モデルエッジ又は画像エッジの１つの中点を交点５０１、５１１として設定してもよい。この場合、エッジ位置関係判定部２０４は、交点５０１から各モデルエッジまでの距離および交点５１１から各画像エッジまでの距離を算出する際に、距離の値だけでなく方向も同時に考慮して位置関係ラベルを付与する。この場合において、エッジ位置関係判定部２０４は、交点５０１および５１１から各エッジまでの符号つき距離を算出し、ソートを行う。
【０１１８】
以上述べたように、本実施形態によれば、近接する複数のエッジに対して二次元的な情報を利用することで、誤った対応づけを防止することができるため、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１１９】
（第４の実施形態）
＜概略＞
本実施形態では、設計データ中のモデルエッジと、画像から検出される画像エッジとについて、近接して検出される略平行なエッジをグループ化する。そして、モデルエッジと画像エッジとのそれぞれについて、グループ内でのエッジの二次元画像内における配置関係に基づいて順序づけを行う。２つの撮影装置から得られる２枚の画像について、各グループに対してモデルエッジ及び画像エッジの順序を比較し、これらが整合する組み合わせを選択する。視点の異なる２つの画像の両方で整合性を判定することにより、画像面上での二次元的な位置関係と、奥行き情報を含む三次元的な位置関係との両方の情報に基づいて対応づけが行われることになる。そのため、複数の候補が存在する中でより適切な対応づけが行われ、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１２０】
＜構成＞
本実施形態に係る情報処理装置２００の構成は、第２の実施形態と同様であるため、説明を省略する。本実施形態では、第１実施形態と同様に、撮影部１０１が２つ設けられている。撮影画像処理部２０１は撮影画像１０および１１をそれぞれ入力する。
【０１２１】
＜処理＞
本実施形態に係る処理は、第２の実施形態と同様であるが、一部の処理が異なっており、差異点を主に説明する。
【０１２２】
（ステップＳ１０１５）
ステップＳ１０１５において、撮影画像処理部２０１は、撮影画像１０および１１中の対象物体３０１の概略位置姿勢を推定する。本実施形態では、撮影画像１０に対する概略位置姿勢を推定した後で、校正済みの撮影画像１０及び撮影画像１１の外部パラメータを用いて、撮影画像１１に対する概略位置姿勢を算出する。すなわち、本実施形態では、ステップＳ１０１５の処理により、撮影画像１０と撮影画像１１とに対応する２種類の概略位置姿勢が得られることになる。
【０１２３】
（ステップＳ１０３０）
ステップＳ１０３０において、エッジ位置関係判定部２０４は、同一の画像エッジグループＩＤを構成する画像エッジに対して、画像面上での距離に基づいて相対位置関係を判定し、ラベル付けを行う。この処理は、第２の実施形態で説明した処理と同様であるが、第２の実施形態では撮影画像１０は１つのみであったのに対し、本実施形態では２つの撮影画像１０、１１に対して処理を行う点が異なっている。本実施形態では、画像エッジリスト５０は、各撮影画像１０、１１に対して生成される。すなわち、第１の実施形態と同様に、２つの画像エッジリスト５０が生成される。
【０１２４】
（ステップＳ１０４０）
ステップＳ１０４０において、エッジ対応選択部２０６は、エッジ位置関係判定部２０４により更新された画像エッジリスト５０と、モデルエッジ位置関係保持部２０５が保持している視点別モデルエッジリスト４５とを参照する。そして、参照により、撮影画像１０、１１から検出された２つの画像エッジについて、モデルエッジ位置関係ラベルと画像エッジ位置関係ラベルとを照合する。本実施形態では、撮影画像１０、１１にそれぞれ対応する形で、２つの視点別モデルエッジリスト４５と、２つの画像エッジリスト５０とが存在する。エッジ対応選択部２０６は、それぞれについてモデルエッジ位置関係ラベルと画像エッジ位置関係ラベルとを照合する。
【０１２５】
そして、エッジ対応選択部２０６は、同一のモデルエッジＩＤに対して、両方の撮影画像に対してモデルエッジ位置関係ラベルと画像エッジ位置関係ラベルとの整合性が満たされた場合に、モデルエッジと画像エッジとを対応づける。すなわち、１つのモデルエッジに対して、撮影画像１０と１１の２枚の画像から得られる画像エッジについてそれぞれ位置関係の整合性を照合する。それにより、画像面上での二次元的な位置関係と、奥行き情報を含む三次元的な位置関係との両方の情報に基づいて対応づけが行われることになる。
【０１２６】
以上述べたように、本実施形態によれば、撮影部から得られる複数の画像を用いて、近接する複数のエッジに対して二次元的な情報と三次元的な情報との両方を利用する。これにより、誤った対応づけをより防止することができる。そのため、対象物体の位置姿勢をより高精度に推定することが可能となる。
【０１２７】
［変形例９］
ステップＳ１０３０においてエッジ位置関係判定部２０４がラベル付けを行う際、画像面上での距離だけでなく、第１の実施形態で説明したように、２枚の画像から検出された画像エッジの座標の差をさらに用いるようにしてもよい。これにより、二次元的な情報と三次元的な情報との両方を利用することで、より正しい対応づけが行われるようになる。
【０１２８】
（第５の実施形態）
＜概略＞
本実施形態では、ユーザが指示入力部を操作することによって、複数のエッジを選択する。情報処理装置は、ユーザの選択に基づいて、領域内に含まれる複数の略平行なエッジをグループ化する。
【０１２９】
＜構成＞
図１１は、本実施形態に係る情報処理装置２００の全体構成を示す図である。本実施形態に係る情報処理装置２００は、第２の実施形態で参照した図７の構成に加えて、情報処理装置に接続する操作入力部１０２が追加されている。以降、第２の実施形態との差異を主に説明し、同じ部分については説明を省略する。
【０１３０】
操作入力部１０２は、情報処理装置２００に接続して用いられ、ユーザからの指示操作の入力を受け付ける。入力された指示操作の内容の情報は、エッジグループ抽出部２０３およびモデルエッジ位置関係保持部２０５に送られる。
【０１３１】
エッジグループ抽出部２０３は、各モデルエッジ、画像エッジのそれぞれに対して、操作入力部１０２から入力されたユーザからの指示操作に基づいて、同一のエッジグループＩＤを付与することでグループ化し、エッジグループを生成する。
【０１３２】
＜処理＞
本実施形態に係る処理は、第２の実施形態と同様であるが、一部の処理が異なっており、差異点を主に説明する。
【０１３３】
（ステップＳ１０２０）
ステップＳ１０２０において、エッジグループ抽出部２０３は、ステップＳ１０１０で検出された画像エッジをユーザからの指示操作に基づいてグループ化し、画像エッジグループＩＤを付与する。ここで、画像エッジグループＩＤを付与する手順について、図１２を参照して説明する。
【０１３４】
図１２は、本実施形態に係る操作ウィンドウ７０の一例を示している。操作ウィンドウ７０には、撮影画像１０に含まれる対象物体３０１の像に対して、ステップＳ１０１５で得られた概略位置姿勢で三次元モデル３０３を描画した像が重畳して表示されている。ユーザは、操作ウィンドウ７０を参照しながら操作入力部１０２へ指示を行い、カーソル８０を移動させて矩形領域９０を設定する。操作ウィンドウ７０中には視点別モデルエッジリスト４５及び画像エッジリスト５０の一部が表示されており、ユーザは各エッジに対して割り当てられたグループＩＤを参照できるようになっている。また、エッジ対応選択部２０６によって対応付けられたモデルエッジと画像エッジとが直線で結ばれた様子が描画されており、これにより、ユーザは両エッジの現時点の対応関係を確認することができる。
【０１３５】
ユーザはスライダ８５を移動させることによって、エッジグループ抽出部２０３が同一クラスタと判定するための閾値を変化させ、同一画像エッジグループに所属する画像エッジを調整することができる。
【０１３６】
エッジグループ抽出部２０３は、ユーザによってＩＤ付与ボタン９５が押された場合に、設定された矩形領域９０の内部に含まれる画像エッジに対して、画像エッジグループＩＤを付与する。このとき、エッジグループ抽出部２０３は、略平行なエッジの組み合わせに対して、同一の画像エッジグループＩＤを付与する。図１２の例では、エッジグループ抽出部２０３は、画像エッジ４１３と画像エッジ４１４とに対して画像エッジグループＩＤとして１を、画像エッジ４１７と画像エッジ４１８とに対して画像エッジグループＩＤとして２を付与する。
【０１３７】
エッジグループ抽出部２０３は、モデルエッジに対して、ユーザからの指示に基づいてモデルエッジグループＩＤを付与する。但し、モデルエッジグループＩＤについては、ステップＳ１１００で設定された各視点に対して、ステップＳ１１１０の時点で既に付与されている。従って、エッジグループ抽出部２０３は、ユーザによってＩＤ付与ボタン９５が押された場合に、既に設定されているモデルエッジグループＩＤを、概略位置姿勢に対応する視点ＩＤの要素についてのみ、矩形領域９０に基づいて再設定する。
【０１３８】
画像エッジグループＩＤと同様に、矩形領域９０の内部に存在するモデルエッジに対して、略平行なモデルエッジの組み合わせに対して同一のモデルエッジグループＩＤを付与する。図１２の例では、エッジグループ抽出部２０３は、モデルエッジ４０３とモデルエッジ４０４とに対してモデルエッジグループＩＤとして１を付与し、モデルエッジ４０７とモデルエッジ４０８とに対してモデルエッジグループＩＤとして２を付与する。
【０１３９】
以上述べたように、本実施形態によれば、ユーザが指示入力部を用いて複数のエッジを選択する。これにより、近接する略平行なエッジが適切にグルーピングされ、より適切な対応づけが行われるため、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１４０】
［変形例１０] 
エッジグループ抽出部２０３は、ステップＳ１０２０で説明した処理によって自動的に画像エッジグループＩＤを割り当てておき、ユーザが操作を行わない場合には、既に割り当てられた画像エッジグループＩＤを用いるようにしてもよい。ユーザはすべての画像エッジに対して操作を行う必要はなく、自動的に割り当てられた画像エッジグループＩＤを変更したい場合にのみ、操作を受け付けるように構成してもよい。これにより、ユーザの作業を軽減することができる。
【０１４１】
［変形例１１] 
エッジグループ抽出部２０３は、ステップＳ１１１０において、ユーザからの操作指示の入力を受け付けて、各視点に対してモデルエッジグループＩＤを付与するようにしてもよい。
【０１４２】
［変形例１２] 
エッジグループ抽出部２０３は、ステップＳ１１１０において画像エッジグループＩＤあるいはモデルエッジグループＩＤごとに異なる表示方法でユーザにエッジを提示するようにしてもよい。例えば、同一の画像エッジグループＩＤに属する画像エッジを同一の色で表示することで、ユーザはエッジの対応関係を容易に確認することができる。
【０１４３】
（第６の実施形態）
＜概略＞
本実施形態では、対象物体の三次元位置姿勢の推定結果を用いて、ロボット等の把持部が対象物体を把持する例を説明する。
【０１４４】
＜構成＞
本実施形態では、情報処理装置２００の外部に不図示の把持部を駆動する駆動部を備えており、推定部２０７により推定された対象物体３０１の位置姿勢に基づいて、把持部に対する最終目的位置姿勢を算出する。最終目的位置姿勢は、把持部が備えるエンドエフェクタ（不図示）が対象物体３０１を把持可能な位置姿勢である。
【０１４５】
最終目的位置姿勢に関しては、推定部２０７により推定された位置姿勢に対して所定の三次元変換を適用することで算出される。所定の三次元変換は、対象物体３０１の形状とエンドエフェクタとの関係から定義され、該エンドエフェクタが該対象物体３０１を把持するのに最も適した駆動部の位置姿勢を、対象物体３０１の座標系において表したものである。所定の三次元変換は、本実施形態における処理の開始前に予め算出しておき、処理開始時にパラメータとして情報処理装置２００に入力される。
【０１４６】
以上述べたように、本実施形態によれば、対象物体の三次元位置姿勢の推定結果を用いて、ロボット等の駆動部が対象物体を把持することが可能となる。
【０１４７】
＜実施形態の効果＞
第１の実施形態によれば、対象物体の設計データを用いて、設計データ中のモデルエッジと、画像から検出される画像エッジについて、近接して検出される略平行エッジをグループ化する。モデルエッジのグループ化はユーザからの指示に基づいて行われる。モデルエッジと画像エッジのそれぞれについて、グループ内でのエッジの三次元的な幾何関係に基づいて順序づけを行う。各グループに対してモデルエッジと画像エッジの順序を比較し、これらが整合する組み合わせを選択する。これにより、複数の類似した組み合わせが存在する中で三次元的な情報を利用して正しい対応づけが行われるため、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１４８】
第２の実施形態によれば、対象物体の設計データを用いて、設計データ中のモデルエッジと、画像から検出される画像エッジについて、近接して検出される略平行エッジをグループ化する。モデルエッジと画像エッジのそれぞれについて、グループ内でのエッジの三次元的な幾何関係に基づいて順序づけを行う。各グループに対してモデルエッジと画像エッジの順序を比較し、これらが整合する組み合わせを選択する。これにより、複数の類似した組み合わせが存在する中で三次元的な情報を利用して正しい対応づけが行われるため、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１４９】
第３の実施形態によれば、対象物体の設計データを用いて、設計データ中のモデルエッジと、画像から検出される画像エッジについて、近接して検出される略平行エッジをグループ化する。モデルエッジと画像エッジのそれぞれについて、グループ内でのエッジの二次元画像内における配置関係に基づいて順序づけを行う。各グループに対してモデルエッジと画像エッジの順序を比較し、これらが整合する組み合わせを選択する。これにより、複数の類似した組み合わせが存在する中で正しい対応づけが行われるため、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１５０】
第４の実施形態によれば、対象物体の設計データを用いて、設計データ中のモデルエッジと、画像から検出される画像エッジについて、近接して検出される略平行エッジをグループ化する。モデルエッジと画像エッジのそれぞれについて、グループ内でのエッジの二次元画像内における配置関係に基づいて順序づけを行う。２つの撮影装置から得られる２枚の画像について、各グループに対してモデルエッジと画像エッジの順序を比較し、これらが整合する組み合わせを選択する。視点の異なる２つの画像の両方で整合性を判定することにより、画像面上での二次元的な位置関係と、奥行き情報を含む三次元的な位置関係の両方の情報に基づいて対応づけが行われることになる。そのため、複数の候補が存在する中で正しい対応づけが行われ、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１５１】
第５の実施形態によれば、ユーザからの操作入力によって、局所的に複数検出される略平行エッジをグループ化する。複数の候補が存在する中で正しい対応づけが行われ、対象物体の位置姿勢を高精度に推定することが可能となる。
【０１５２】
第６の実施形態によれば、対象物体の三次元位置姿勢の推定結果を用いて、ロボット等の駆動部が対象物体を把持することが可能となる。
【０１５３】
＜定義＞
本発明における撮影画像処理部は、撮影部が撮影した画像を装置に入力できるものであれば、いかなるものでもよい。また、入力する画像においても、ＲＧＢカラー画像、グレイスケール画像、白黒画像など、いかなる種類の画像でもよい。
【０１５４】
本発明における三次元モデルは、三次元空間中での頂点と稜線（エッジ）が定義されているものであればどのような形態、データ構造であってもよい。
【０１５５】
本発明におけるエッジグループ抽出部は、撮影画像から検出される画像エッジのうち、二次元画像内で位置および方向が近接し、対応づけを誤る可能性が高いものをグループ化するが、この方法には様々なものを用いることができる。第１の実施形態では、ユーザが事前にグループ化しておく構成について説明した。第２の実施形態ではエッジグループ抽出部が自動的に判定を行い、グループ化する構成について説明した。第５の実施形態では、ユーザからの操作に基づきグループ化する構成について説明した。
【０１５６】
本発明におけるエッジ位置関係判定部は、同一のグループに属するモデルエッジおよび画像エッジについて、その位置関係に基づいて順序を定義するものであるが、この方法には様々なものを用いることができる。第１の実施形態および第２の実施形態では、三次元的な位置関係に基づき画像エッジの順序を定義する方法について説明した。第３の実施形態では、二次元的な位置関係に基づき画像エッジの順序を定義する方法について説明した。また、変形例９では、二次元的な位置関係と三次元的な位置関係の両方を用いる方法について説明した。
【０１５７】
本発明におけるエッジ対応選択部は、画像エッジおよびモデルエッジの位置関係に基づく順序の整合性を照合し、対応する組み合わせを選択するものであるが、この方法には様々なものを用いることができる。第１の実施形態では同一のグループに属するモデルエッジおよび画像エッジに対して、位置関係に基づいて付与されたラベルが一致するか否かで照合を行う方法について説明した。また、画像エッジと視点からの距離が近い順に処理を行うことで、ラベルを付与せずに照合を行う方法についても説明した。
【０１５８】
本発明における推定部は対象物体３０１と撮影画像１０とを照合するのであるが、この照合には様々なものを適用することができ、対象物体３０１の位置姿勢を詳細に算出するのに限られない。変形例３では、あらかじめ入力された対象物体の位置姿勢と、算出された位置姿勢とが略一致するかを照合し、その成否を出力する構成について説明した。また変形例４では、位置姿勢算出が正常終了するか否かを判定し、対象物体３０１の存在検査を行う構成について説明した。
【０１５９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１６０】
２００：情報処理装置、２０１：撮影画像処理部、２０２：三次元モデル入力部、２０３：エッジグループ抽出部、２０４：エッジ位置関係判定部、２０５：モデルエッジ位置関係保持部、２０６：エッジ対応選択部、２０７：推定部
【図１】
2019211981.tif 000003
【図２】
2019211981.tif 000004
【図３】
2019211981.tif 000005
【図４】
2019211981.tif 000006
【図５】
2019211981.tif 000007
【図６】
2019211981.tif 000008
【図７】
2019211981.tif 000009
【図８】
2019211981.tif 000010
【図９】
2019211981.tif 000011
【図１０】
2019211981.tif 000012
【図１１】
2019211981.tif 000013
【図１２】
2019211981.tif 000014