(57)【要約】【課題】撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、正確に照合可能なエッジを選択することを目的とする。【解決手段】対象物の撮影画像を入力する入力手段と、撮影画像に基づき複数の変換画像を生成する生成手段と、前記複数の変換画像それぞれからエッジを検出する検出手段と、前記撮影画像と前記複数の変換画像との対応する領域内から検出された複数のエッジそれぞれに対して、エッジの検出の信頼度を決定する決定手段と、前記決定手段により決定された信頼度に基づき、前記撮影画像における領域ごとに、前記複数のエッジから１つのエッジを選択する選択手段と、を有する。【選択図】図２
2019211903.tif 000002
【特許請求の範囲】
【請求項１】
対象物の撮影画像を入力する入力手段と、
前記撮影画像に基づき複数の変換画像を生成する生成手段と、
前記複数の変換画像それぞれからエッジを検出する検出手段と、
前記撮影画像と前記複数の変換画像との対応する領域内から検出された複数のエッジそれぞれに対して、エッジの検出の信頼度を決定する決定手段と、
前記決定手段により決定された信頼度に基づき、前記撮影画像における領域ごとに、前記複数のエッジから１つのエッジを選択する選択手段と、
を有する情報処理装置。
【請求項２】
対象物の撮影画像を入力する入力手段と、
複数のフィルタを選択する選択手段と、
前記複数のフィルタを用いて前記撮影画像から複数のエッジを検出する検出手段と、
前記撮影画像と前記複数の変換画像との対応する領域内から検出された複数のエッジそれぞれに対して、エッジの検出の信頼度を決定する決定手段と、
前記決定手段により決定された信頼度に基づき、前記撮影画像における領域ごとに、前記複数のエッジから１つのエッジを選択する選択手段と、
を有する情報処理装置。
【請求項３】
前記対象物のエッジを保持する保持手段と、
前記選択手段により選択されたエッジと前記保持手段により保持されているエッジとを照合し、前記対象物の位置姿勢を求める照合手段と、
を更に有する請求項１又は２記載の情報処理装置。
【請求項４】
前記生成手段は、前記撮影画像に対して複数の異なる倍率で画像サイズを変更した前記複数の変換画像を生成する請求項１記載の情報処理装置。
【請求項５】
前記複数の異なる倍率を設定する設定手段を更に有する請求項４記載の情報処理装置。
【請求項６】
前記設定手段は、画面を介したユーザの操作に基づいて前記複数の異なる倍率を設定する請求項５記載の情報処理装置。
【請求項７】
前記生成手段は、前記撮影画像に対してブラーを回復する複数の変換を適用し、前記複数の変換画像を生成する請求項１記載の情報処理装置。
【請求項８】
前記選択手段は、カーネルの大きさの異なる複数のフィルタを選択する請求項２記載の情報処理装置。
【請求項９】
前記決定手段は、エッジ近傍の輝度勾配値の鋭さに基づきエッジの検出の信頼度を決定する請求項１乃至８何れか１項記載の情報処理装置。
【請求項１０】
請求項１乃至９何れか１項記載の情報処理装置と、
前記対象物を撮影する撮像部と、
前記対象物に対する把持操作を行う把持部と、
を有するロボットシステム。
【請求項１１】
情報処理装置が実行する情報処理方法であって、
対象物の撮影画像を入力する入力工程と、
前記撮影画像に基づき複数の変換画像を生成する生成工程と、
前記複数の変換画像それぞれからエッジを検出する検出工程と、
前記撮影画像と前記複数の変換画像との対応する領域内から検出された複数のエッジそれぞれに対して、エッジの検出の信頼度を決定する決定工程と、
前記決定工程により決定された信頼度に基づき、前記撮影画像における領域ごとに、前記複数のエッジから１つのエッジを選択する選択工程と、
を含む情報処理方法。
【請求項１２】
情報処理装置が実行する情報処理方法であって、
対象物の撮影画像を入力する入力工程と、
複数のフィルタを選択する選択工程と、
前記複数のフィルタを用いて前記撮影画像から複数のエッジを検出する検出工程と、
前記撮影画像と前記複数の変換画像との対応する領域内から検出された複数のエッジそれぞれに対して、エッジの検出の信頼度を決定する決定工程と、
前記決定工程により決定された信頼度に基づき、前記撮影画像における領域ごとに、前記複数のエッジから１つのエッジを選択する選択工程と、
を含む情報処理方法。
【請求項１３】
コンピュータを、請求項１乃至９何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ロボットシステム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
無作為に配置された部品等の対象物の把持や操作を行うため、撮像装置によってこれらの対象物を撮影し、三次元位置姿勢を推定する装置が提案されている。そのような装置では、撮影画像から対象物のエッジを検出し、事前に登録された対象物の画像又は形状モデルのエッジと照合することによって位置姿勢を推定する。
特許文献１では、各エッジの鮮鋭度に基づいて、エッジの位置精度が所定値以上となるように画像データの縮小率を決定することによって、デフォーカス等の画像劣化が生じた場合においても、適切に照合するための方法が説明されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５２４１４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、画像中で一律の縮小率が設定されるため、撮影画像中の領域ごとに不均一な画像劣化が生じている場合には、領域によってはエッジの位置精度が十分得られない可能性がある。そのため、特許文献１の技術では、照合の失敗や、位置姿勢の推定精度の低下が生じる場合があった。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、対象物の撮影画像を入力する入力手段と、前記撮影画像に基づき複数の変換画像を生成する生成手段と、前記複数の変換画像それぞれからエッジを検出する検出手段と、前記撮影画像と前記複数の変換画像との対応する領域内から検出された複数のエッジそれぞれに対して、エッジの検出の信頼度を決定する決定手段と、前記決定手段により決定された信頼度に基づき、前記撮影画像における領域ごとに、前記複数のエッジから１つのエッジを選択する選択手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、正確に照合可能なエッジを選択することができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置のハードウェア構成の一例を示す図である。
【図２】実施形態１のロボットシステムの機能構成等の一例を示す図である。
【図３】実施形態１の情報処理の一例を示すフローチャートである。
【図４】検出エッジリスト等の一例を示す図である。
【図５】信頼度算出部が行う処理の内容を説明する概念図である。
【図６】実施形態２のロボットシステムの機能構成等の一例を示す図である。
【図７】フィルタ選択部が選択するフィルタの例を示す図である。
【図８】実施形態２の情報処理の一例を示すフローチャートである。
【図９】表示部に表示された表示画面の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
本実施形態では、撮像部又は対象物の移動に伴い、撮影画像にモーションブラーが生じている場合においても、対象物のエッジと正確に照合し、位置姿勢を算出する場合に適用できる装置等について説明する。モーションブラーは撮像部と対象物との間の距離や、両者の相対的な移動方向、速度によって、画像劣化の特性や程度が変化する。そのため、一般的に、モーションブラーによる画像劣化は画像中の位置によって異なり、不均一なものとなる。
本実施形態では、後述する情報処理装置２００は、撮影画像を複数種類の倍率で縮小した変換画像を生成し、各々の変換画像に対してエッジ検出を行う。複数の倍率で画像を縮小することにより、画像劣化に対して、何れかの変換画像においては最適なエッジが検出される。画像劣化は画像内で不均一であるから、最適なエッジはそれぞれ異なる変換画像から検出されることになる。情報処理装置２００は、このエッジ検出結果に対して、輝度勾配値の鋭さに基づき、エッジ検出の安定性を示す信頼度を算出する。信頼度は輝度勾配の隣接画素との差により定義される。情報処理装置２００は、領域ごとに複数の変換画像で検出されたエッジから信頼度が最も高いエッジを最適なものとして選択する。これにより、画像中で不均一に生じている画像劣化に対して、領域ごとにその影響が最も少ないエッジのみが選択されることになる。後述する照合部１０３は、選択されたエッジを用いて、定義された三次元形状モデルのエッジと照合を行うことで、対象物の位置姿勢を算出する。これにより、本実施形態では、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
【００１０】
図１は、情報処理装置２００のハードウェア構成の一例を示す図である。
情報処理装置２００は、ハードウェア構成として、ＣＰＵ１０と、メモリ２０と、通信部３０と、を含む。ＣＰＵ１０は、情報処理装置２００の全体を制御する。メモリ２０は、プログラム、ＣＰＵ１０がプログラムに基づき処理を実行する際に用いるデータ等を記憶する。通信部３０は、情報処理装置２００をネットワークに接続し、他のシステム、装置との通信を制御する。ＣＰＵ１０がメモリ２０に記憶されたプログラムに基づき処理を実行することによって後述する図２、図６の情報処理装置２００の機能構成、後述する図３、図８の情報処理装置２００に係るフローチャートの処理が実現される。
【００１１】
図２（ａ）は、実施形態１のロボットシステムの機能構成等の一例を示す図である。図２（ａ）における長方形の枠は本実施形態の各処理を行う機能モジュールを、矢印はデータの流れを示している。ロボットシステムは、本実施形態に係る情報処理装置２００とそれに接続する撮像部１０１、照合部１０３からなる。図２の構成は一例であり図示されるものに限定されない。
撮像部１０１は、対象物３０１が複数配置された環境３０２を撮影した画像（以下、撮影画像３１０という）を取得する。撮像部１０１は、情報処理装置２００に接続して用いられ、撮影画像が画像入力部２０１に入力される。本実施形態においては、搬送部３０３が設けられており、撮像部１０１は搬送部３０３に固定されている。
把持部１０２は、環境３０２内に複数配置された対象物３０１のうち１つを把持し、他の場所に移動させ、載置する動作を行う。本実施形態において、把持部１０２は、搬送部３０３を構成するロボットアームと対象物３０１に対する把持操作を行うエンドエフェクタとの組み合わせによって実現される。
図２（ｂ）は本実施形態における撮像部１０１、対象物３０１、環境３０２、搬送部３０３の相互の関係を示した図である。撮像部１０１は、環境３０２の上方に設置されており、環境３０２中に無作為に配置された複数の対象物３０１の画像を撮像する。撮像部１０１はロボットアームによって構成される搬送部３０３に固定されている。工程の時間短縮のため、撮像部１０１は搬送部３０３の移動中に対象物３０１を撮像する。そのため、撮影画像３１０にはモーションブラーが発生する。
【００１２】
画像入力部２０１は、撮像部１０１による撮影画像３１０を情報処理装置２００内部に取り込む。
画像変換部２０２は、入力された撮影画像３１０を画像処理によって変換し、複数の変換画像３１１ａ〜３１１ｄを生成する。画像変換部２０２は、生成した変換画像３１１ａ〜３１１ｄをエッジ検出部２０４に送出する。
エッジ検出部２０４は、変換画像３１１ａ〜３１１ｄに対してエッジ検出処理を行う。
エッジ検出部２０４は、検出エッジリスト３２０と輝度勾配値マップとを生成し、信頼度算出部２０５に送出する。検出エッジリスト３２０と輝度勾配値マップとについては後述する。
信頼度算出部２０５は、エッジ検出部２０４が生成した検出エッジリスト３２０と輝度勾配値マップとに基づき、各エッジに対する信頼度を算出する。信頼度の算出方法については後述する。信頼度算出部２０５は、検出エッジリスト３２０を構成する検出エッジ情報３３０について、算出した信頼度を検出エッジ信頼度３３４に記録し、更新する。信頼度算出部２０５は、更新された検出エッジリスト３２０をエッジ選択部２０６に送出する。
エッジ選択部２０６は、検出エッジリスト３２０から検出エッジ信頼度３３４を取得し、各々のエッジについて、変換画像３１１ａ〜３１１ｄの中で信頼度の高いエッジを１つ選択し、選択エッジリスト３４０を生成する。エッジ選択部２０６は、生成した選択エッジリスト３４０を照合部１０３に送出する。選択エッジリスト３４０については後述する。
【００１３】
照合部１０３は、エッジ選択部２０６によって生成された選択エッジリスト３４０と、エッジモデル保持部１０４が保持するモデルエッジリスト３８０と、に基づき、撮影画像３１０中に撮影された対象物３０１について、その位置姿勢を算出する。照合部１０３は、算出した対象物３０１の位置姿勢を把持部１０２に送出する。
エッジモデル保持部１０４は、対象物３０１のエッジモデルに関する情報を保持する。より具体的には、エッジモデル保持部１０４が保持するエッジモデルは、対象物３０１の稜線を構成する複数の三次元エッジから構成される。エッジモデル保持部１０４は、これらの三次元エッジに関する情報を記述したモデルエッジ情報３９０の集合であるモデルエッジリスト３８０を保持する。個々のモデルエッジ情報３９０は、対象物３０１の座標系におけるエッジの三次元座標、その方向、エッジを識別するＩＤからなる。エッジモデル保持部１０４は、保持しているモデルエッジリスト３８０を照合部１０３に送出する。
【００１４】
以上のような構成を備えた本実施形態の制御について、以下説明する。図３（ａ）は、ロボットシステムの処理の流れを示すフローチャートである。
（Ｓ１０００）
装置の起動に際する初期化処理が行われる。Ｓ１０００の初期化処理には、撮像部１０１の起動、エッジモデル保持部１０４がモデルエッジリスト３８０を外部から読み込み保持する処理が含まれる。
（Ｓ１０１０）
撮像部１０１は、環境３０２内に複数配置された対象物３０１の画像を撮像し、画像入力部２０１に送出する。画像入力部２０１は、撮影画像３１０を入力する。
（Ｓ１０２０）
画像変換部２０２は、入力された撮影画像３１０を画像処理によって変換し、複数の変換画像３１１ａ〜３１１ｄを生成する。本実施形態において、画像変換部２０２は、撮影画像３１０を複数の倍率（１．０倍、０．５倍、０．２５倍、０．１２５倍）で縮小することで変換画像３１１ａ〜３１１ｄを生成する。Ｓ１０２０の処理は、撮影画像に基づき複数の変換画像を生成する処理の一例である。
【００１５】
（Ｓ１０３０）
エッジ検出部２０４は、変換画像３１１ａ〜３１１ｄに対してエッジ検出処理を行い、検出エッジリスト３２０、輝度勾配値マップを生成する。
エッジ検出部２０４は、変換画像３１１ａ〜３１１ｄに対してキャニーフィルタを適用することでエッジ検出を行う。エッジ検出部２０４は、キャニーフィルタによるエッジ検出を行う過程で、変換画像３１１ａ〜３１１ｄの各画像に対して、画素ごとに輝度勾配値を格納した輝度勾配値マップと輝度勾配方向を格納した輝度勾配方向マップとを生成する。本実施形態において、輝度勾配値Ｇ（ｕ，ｖ）及び輝度勾配方向Ｐ（ｕ，ｖ）は（式１）によって算出される。ｕ，ｖは画像中の画素位置のインデックス、Ｉ（ｕ，ｖ）は画素位置ｕ，ｖにおける輝度値を表す。Ｆx，Ｆyはプレウィットフィルタのそれぞれ横方向、縦方向のカーネルを表す。＊は畳み込み演算を表す。
ｆu（ｕ，ｖ）＝Ｆx＊Ｉ（ｕ，ｖ）
ｆv（ｕ，ｖ）＝Ｆy＊Ｉ（ｕ，ｖ）                                    （式１）
Ｇ（ｕ，ｖ）＝ｆu（ｕ，ｖ）2＋ｆv（ｕ，ｖ）2
Ｐ（ｕ，ｖ）＝ｔａｎ-1（ｆv（ｕ，ｖ）／ｆu（ｕ，ｖ））
【００１６】
エッジ検出部２０４は、輝度勾配値マップと輝度勾配方向マップとに基づき、輝度勾配値が極大となる画素をエッジ候補とする。エッジ検出部２０４は、エッジ候補の輝度勾配値と近接するエッジ候補との関係性によって、より確からしいエッジ候補をエッジとして確定させる。この処理は公知の技術であるため、説明を省略する。エッジ検出部２０４は、変換画像３１１ａ〜３１１ｄに対して前述のエッジ検出処理を行い、確定させたエッジを列挙した検出エッジリスト３２０を生成する。
図４（ａ）は検出エッジリスト３２０の例を示している。検出エッジリスト３２０は処理対象の変換画像を特定するためのＩＤを示す変換画像ＩＤ３２５と複数の検出エッジ情報３３０とから構成される。変換画像ＩＤ３２５は１つの検出エッジリスト３２０につき１つのみ存在する。検出エッジリスト３２０は１つの変換画像３１１に対して１つ生成される。以後の説明において、個々の検出エッジリスト３２０を区別する場合には、変換画像と同じ記号を付加し、変換画像３１１ａ〜３１１ｄに対して検出エッジリスト３２０ａ〜３２０ｄと記述する。
図４（ｂ）は検出エッジ情報３３０の例を示している。各検出エッジ情報３３０は、検出エッジＩＤ３３１、検出エッジ座標３３２、検出エッジ方向３３３、検出エッジ信頼度３３４から構成される。エッジ検出部２０４は、検出された全エッジに対してその数だけ検出エッジ情報３３０を生成する。本実施形態では、検出エッジ方向３３３には輝度勾配方向Ｐが設定される。エッジ検出部２０４は、複数の検出エッジ情報３３０から検出エッジリスト３２０を生成する。但し、エッジ検出部２０４は、この段階では、まだ算出されていない検出エッジ信頼度３３４については値を書き込まない。後述のＳ１０４０において、信頼度算出部２０５が値を書き込む。
エッジ検出部２０４は、各変換画像３１１ａ〜３１１ｄに対してそれぞれ検出エッジリスト３２０を生成する。本実施形態においては４つの変換画像が生成されているため、検出エッジリスト３２０も４つ生成されることになる。
【００１７】
（Ｓ１０４０）
信頼度算出部２０５は、エッジ検出部２０４によって検出エッジリスト３２０、輝度勾配値マップに基づき検出された各エッジに対する信頼度を算出する。Ｓ１０４０の処理は、Ｓ１０３０で検出された複数のエッジそれぞれに対して、エッジの検出の信頼度を決定する処理の一例である。以下、信頼度算出部２０５が行う処理の内容について、より具体的に説明する。
図５は、Ｓ１０４０において信頼度算出部２０５が行う処理の内容を説明する概念図である。部分画像３１２ａ〜３１２ｄは、変換画像３１１ａ〜３１１ｄから検出される特定のエッジ近傍の領域を切り出したものである。また、グラフ３１３ａ〜３１３ｄは、各部分画像３１２ａ〜３１２ｄについて、図５中の破線で示しているエッジ方向に垂直な方向に輝度勾配値をプロットしたものである。Ｐ0はグラフ３１３ａ〜３１３ｄにおいて、エッジとして検出された座標での輝度勾配値を示している。また、Ｐ1はＰ0の左隣の画素における輝度勾配値を示している。また、Ｐ2はＰ0の右隣の画素における輝度勾配値を示している。
【００１８】
図５において、部分画像３１２ａ〜３１２ｄに示されているエッジは、モーションブラーの影響によって水平方向にブレが発生している。そのため、グラフ３１３ａではエッジに垂直な方向の輝度勾配値の変化が緩やかになっている。即ち、Ｐ0，Ｐ1，Ｐ2間の勾配値の変化が少なく、画像中に含まれるノイズ等の影響でＰ0，Ｐ1，Ｐ2の各座標が変動しやすく、本来エッジではない個所を誤って検出している可能性が高い。本実施形態において、このような不安定なエッジを信頼度が低いエッジと呼ぶ。一方、変換画像３１１ａに対して倍率０．５倍に縮小された変換画像３１１ｂに対応するグラフ３１３ｂにおいては、Ｐ0，Ｐ1，Ｐ2間の輝度変化がグラフ３１３ａよりも大きくなっている。即ち、エッジ座標が変動しにくく、本来エッジではない個所を誤って検出している可能性も低い。そのため、このような安定的なエッジは信頼度が高いと見なす。グラフ３１３ｃ、３１３ｄについても同様のことが言える。変換画像３１１の倍率が小さくなると、モーションブラーによる影響が相対的に小さくなるため、信頼度は高くなる。その反面、画像の解像度が減少することにより、エッジ座標の分解能や精度は低下する。即ち、エッジ検出において画像を縮小することにはトレードオフが存在する。本実施形態においては、信頼度算出部２０５は、（式２）によってエッジの信頼度Ｒを算出する。Ｇは（式１）における輝度勾配値、Ｘは変換画像３１１ａ〜３１１ｄの倍率を表している。例えば、変換画像３１１ｂの場合は倍率０．５であるから、Ｘ＝０．５となる。（式２）において係数Ｘは、輝度勾配の差が同レベルである場合に、倍率が大きい（即ち画像が縮小されていない）エッジを優先する役割を果たす。即ち、画像縮小によるトレードオフを係数Ｘによって表現している。（式２）はエッジ近傍の輝度勾配値の「鋭さ」によってエッジ検出の安定性を表現し、これに倍率を加味して補正した値を信頼度Ｒとして定義するものである。
Ｒ＝Ｘ（２Ｇ（Ｐ0）−Ｇ（Ｐ2）−Ｇ（Ｐ1））                            （式２）
Ｓ１０４０において、信頼度算出部２０５は、検出エッジリスト３２０に含まれるすべてのエッジに対し、（式２）によって信頼度を算出し、検出エッジ信頼度３３４に値を書き込む。
【００１９】
（Ｓ１０５０）
エッジ選択部２０６は、検出エッジリスト３２０を取得して、信頼度の高いエッジを選択し、選択エッジリスト３４０を生成する。以下、エッジ選択部２０６が行う処理の内容について、より具体的に説明する。
図４（ｃ）に選択エッジリスト３４０の例を示す。選択エッジリスト３４０は複数の選択エッジ情報３５０から構成される。図４（ｄ）に選択エッジ情報３５０の例を示す。各選択エッジ情報３５０は、選択エッジＩＤ３５１、選択エッジ座標３５２、選択エッジ方向３５３、選択画像ＩＤ３５４から構成される。選択エッジ座標３５２については、撮影画像３１０における画素位置で記述される。選択画像ＩＤ３５４は、選択エッジ情報３５０を生成した変換画像３１１の種類を示すＩＤ（より具体的には、変換画像ＩＤ３２５の値）を保持する。エッジ選択部２０６は、画像サイズが異なる変換画像３１１ａ〜３１１ｄから選択したエッジについて、検出エッジ座標３３２を撮影画像３１０における座標に変換した後に、選択エッジ座標３５２に書き込む。
エッジ選択部２０６は、最も倍率が大きい変換画像３１１ａに対応する検出エッジリスト３２０（以下、検出エッジリスト３２０ａという）を走査し、その要素である検出エッジ情報３３０ａに含まれるエッジに対して、下位のエッジである検出エッジ情報３３０ｂ〜３３０ｄを探索する。エッジ選択部２０６は、検出エッジ信頼度３３４ａ〜３３４ｄの中から最も大きいエッジを１つ選択して、選択エッジ情報３５０を生成する。エッジ選択部２０６は、複数の選択エッジ情報３５０から選択エッジリスト３４０を生成する。
Ｓ１０５０において、エッジ選択部２０６が最も信頼度の高いエッジを選択する処理については、更に複数のステップに分割されるが、この詳細については後述する。
【００２０】
（Ｓ１０６０）
照合部１０３は、エッジ選択部２０６によって生成された選択エッジリスト３４０と、エッジモデル保持部１０４が保持するモデルエッジリスト３８０とを取得し、撮影画像３１０中に撮影された対象物３０１について、反復処理によってその位置姿勢を算出する。より具体的には、照合部１０３は、現在の対象物３０１の位置姿勢から、モデルエッジの三次元座標及び方向を撮影画像３１０に投影して得られた座標及び方向について選択エッジリスト３４０と照合し、対応づけを行う。照合部１０３は、対応させたモデルエッジと選択エッジ情報３５０とに対して、撮影画像３１０上での座標の差が最小となる対象物３０１の並進及び回転成分を非線形最小化によって算出する。
【００２１】
（Ｓ１０７０）
把持部１０２は、対象物３０１の位置姿勢に基づき、対象物３０１に対する把持操作を行う。把持部１０２は、図３（ａ）に示す処理を継続する場合には、Ｓ１０１０に戻り、図３（ａ）に示す処理を終了する場合には、図３（ａ）に示す処理を終了する。
【００２２】
次に、Ｓ１０５０の処理の詳細について説明する。図３（ｂ）はＳ１０５０の処理の流れを示すフローチャートである。以下、フローチャートに従って、エッジ選択部２０６が行う処理の内容について説明する。
（Ｓ１５００）
エッジ選択部２０６は、最も倍率が大きい変換画像３１１ａに対応する検出エッジリスト３２０ａを取得し、検出エッジ情報３３０ａを１つずつ取り出す。以下、エッジ選択部２０６は、Ｓ１５１０からＳ１５６０までの処理を、すべての検出エッジ情報３３０ａに対して繰り返す。
（Ｓ１５１０）
エッジ選択部２０６は、変換画像３１１ｂ〜３１１ｄに対応する検出エッジリスト３２０ｂ〜３２０ｄを取得する。エッジ選択部２０６は、Ｓ１５２０からＳ１５４０までの処理を、検出エッジリスト３２０ｂ〜３２０ｄのすべてに対して繰り返す。本実施形態においては、変換画像は４つ存在するため、下位の検出エッジリスト３２０ｂ〜３２０ｄは３つ存在する。エッジ選択部２０６は、Ｓ１５２０からＳ１５４０までの処理を各検出エッジ情報３３０ａに対して、３回反復実行することになる。以下、Ｓ１５２０からＳ１５４０までの処理において、検出エッジリスト３２０ｂ〜３２０ｄのうち、処理対象となっている検出エッジリストを検出エッジリスト３２０ｉ、検出エッジ情報を検出エッジ情報３３０ｉと記述する。
【００２３】
（Ｓ１５２０）
エッジ選択部２０６は、検出エッジ情報３３０ａに対して、検出エッジリスト３２０ｉから所定領域内の最近傍の検出エッジ情報３３０ｉを探索する。このとき、エッジ選択部２０６は、検出エッジ情報３３０ａの検出エッジ座標３３２ａに変換画像３１１ｉの倍率を乗じて、検出エッジリスト３２０ｉから所定領域内の最近傍の検出エッジ情報３３０ｉを抽出する。本実施形態においては、変換画像３１１ｂの場合は倍率０．５を用いる。変換画像３１１ｃの場合は倍率０．２５を用いる。変換画像３１１ｄの場合は倍率０．１２５を用いる。本実施形態における所定領域内とは、検出エッジ情報３３０ａと検出エッジ情報３３０ｉとが対象とする検出エッジが、対象物３０１の略同一個所から検出されたと見なせる範囲の領域を表す。
（Ｓ１５３０）
エッジ選択部２０６は、検出エッジ情報３３０ａにおける検出エッジ信頼度３３４ａと、探索された検出エッジ情報３３０ｉの検出エッジ信頼度３３４ｉとを比較し、最も検出エッジ信頼度が高い検出エッジ情報３３０（ａ〜ｄの何れか）を保持する。説明の都合上、信頼度が最大となった検出エッジ情報３３０を検出エッジ情報３３０ｍと記述する。
（Ｓ１５４０）
エッジ選択部２０６は、Ｓ１５２０からＳ１５３０までを繰り返し、検出エッジリスト３２０ｂ〜３２０ｄを処理する。
【００２４】
（Ｓ１５５０）
Ｓ１５２０からＳ１５３０までの処理を行った結果、検出エッジ情報３３０ａに対して、信頼度が最大となる検出エッジ情報３３０ｍを保持している。エッジ選択部２０６は、検出エッジ情報３３０ｍの情報を基に、選択エッジリスト３４０を生成する。
エッジ選択部２０６は、検出エッジ情報３３０ｍの検出エッジ座標３３２ｍを変換画像の倍率で除算して撮影画像３１０の座標に変換する。例えば、エッジ選択部２０６は、検出エッジ座標３３２ｍが変換画像３１１ｃから検出されたものである場合には、倍率０．２５で除算することによって、倍率１．０の画像における座標に変換する。
次にエッジ選択部２０６は、これまでに生成された選択エッジリスト３４０を取得し、変換後の検出エッジ座標が選択エッジ座標３５２に含まれていないことを確認する。含まれていた場合には、エッジ選択部２０６は、検出エッジ情報３３０ａに対する処理を終了し、次の反復（Ｓ１５００）に移る。エッジ選択部２０６は、含まれていなかった場合には、検出エッジ情報３３０ｍから選択エッジ情報３５０を生成し、選択エッジリスト３４０に追加する。
（Ｓ１５６０）
エッジ選択部２０６は、すべての検出エッジ情報３３０ａが処理されるまで、Ｓ１５００からＳ１５５０までの処理を繰り返す。
以上、Ｓ１５００からＳ１５６０までの処理によって、エッジ選択部２０６は、最も信頼度の高いエッジを選択し、選択エッジリスト３４０を生成する。
【００２５】
本実施形態では、モーションブラーによる画像劣化が生じている場合を対象として説明したが、これに限られない。本実施形態で説明した方法は、原因の如何を問わず、撮影画像３１０に不均一な画像劣化が生じている場合に適用可能である。例えば、撮像部１０１が対象物３０１に正対していない場合には、モーションブラーが発生していなくとも、デフォーカスによって不均一な画像劣化が発生するおそれがある。このような場合においても、本実施形態で説明した方法によって、対象物３０１のエッジを正確に照合し、位置姿勢を算出することが可能となる。
本実施形態では、撮像部１０１によって通常の画像を撮像する例について説明したが、これに限られない。撮像部１０１内部に三次元センサを備えるように構成し、画像入力部２０１は、通常の画像（カラー又はモノクロ）に加えて、距離画像や三次元点群を取得するように構成してもよい。
本実施形態では、画像変換部２０２はそれぞれ倍率１．０倍、０．５倍、０．２５倍、０．１２５倍で撮影画像３１０を縮小し、変換画像３１１ａ〜３１１ｄを生成する例について説明した。しかし、画像変換部２０２が縮小する倍率は４種類でなくてもよいし、倍率は任意の値を設定してもよい。また、画像変換部２０２は、縮小だけに限定せず、拡大を行うようにしてもよい。
【００２６】
本実施形態では、信頼度算出部２０５は、（式２）によって信頼度を算出する例について説明したが、これに限られない。（式２）は画像劣化が生じている各変換画像３１１から算出されるエッジについて、その座標の安定性をエッジ近傍の３点間の輝度勾配差に基づく「鋭さ」によって記述し、信頼度として定義したものである。信頼度については、複数の変換画像３１１の同一領域内で検出されたエッジ座標について、その安定性が計量され、相互に比較可能であれば、いかなる形態であってもよい。例えば、エッジ近傍の輝度勾配に基づき、シグモイド関数等の既定の関数の係数を推定するようにしてもよいし、輝度勾配の強度そのものから信頼度を定義してもよい。また、（式２）では、変換画像３１１の倍率を乗じることによって、倍率の大きい変換画像３１１から検出されたエッジを優先するようにしているが、信頼度の比較においては副次的なものであるため、必要性に応じてこの項を省略してもよい。
本実施形態では、信頼度算出部２０５がエッジ検出後に信頼度を算出する例について説明したが、異なるタイミングで信頼度を算出してもよい。例えば本実施形態において、エッジ検出部２０４は、Ｓ１０３０でエッジ検出を行う。そして、信頼度算出部２０５は、Ｓ１０４０で信頼度を算出する。しかし、Ｓ１０４０において行っている信頼度算出処理をＳ１０３０に実施してもよい。より具体的には、エッジ検出部２０４が輝度勾配値マップ及び輝度勾配方向を算出し、検出エッジがまだ確定していない時点で信頼度を算出してもよい。
【００２７】
本実施形態では、エッジ選択部２０６はすべての検出エッジ情報３３０ａに対して常に１つのエッジを選択する例について説明したが、検出エッジ信頼度３３４が小さい場合には、選択しないように構成してもよい。Ｓ１５３０において、最大の検出エッジ信頼度３３４ｍが所定のしきい値よりも小さい場合には、エッジ選択部２０６は、Ｓ１５５０の処理を省略する。
本実施形態のＳ１５２０において、エッジ選択部２０６は、検出エッジ情報３３０ａと検出エッジ情報３３０ｉとが対象とする検出エッジが、対象物３０１の略同一個所から検出されたと見なせる範囲の領域に対して検出エッジの探索方法について説明した。この領域は、対象物３０１の個所によって異なってもよい。即ち、探索における距離のしきい値を、対象物３０１内の部位に応じた任意の値に設定してもよい。
本実施形態では、照合部１０３は、モデルエッジリスト３８０と選択エッジリスト３４０とを照合し、対象物３０１の位置姿勢を算出する例について説明した。撮像部１０１を対象物３０１表面の三次元点群を計測するように構成し、照合部１０３は、更にこの三次元点群を用いて位置姿勢を算出するようにしてもよい。より具体的には、エッジモデル保持部１０４にモデルエッジリスト３８０に加えて三次元形状モデルを構成する面（ポリゴン）の情報を保持させる。照合部１０３は、対象物３０１の現在の位置姿勢において、対象物３０１表面の三次元点群と、三次元形状モデルのポリゴンとが一致するような拘束条件を追加して、最適化を行う。
本実施形態では、搬送部３０３はロボットアームによって構成され、撮像部１０１が固定される構成について説明した。一方で、搬送部３０３をベルトコンベアーによって構成してもよい。この場合、撮像部１０１は環境３０２に固定されているが、対象物３０１が搬送部３０３上に載置されており、撮像部１０１は搬送部３０３の移動中に対象物３０１を撮像する。そのため、撮影画像３１０にはモーションブラーが発生する。
【００２８】
以上述べたように、本実施形態の構成によれば、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、正確に照合可能なエッジを選択することができる。その結果、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
より具体的には、情報処理装置２００は、撮影画像を複数種類の倍率で縮小した変換画像を生成し、各々の変換画像に対してエッジ検出を行う。情報処理装置２００は、エッジ検出結果に対して、輝度勾配値の鋭さに基づき、エッジ検出の安定性を示す信頼度を算出する。情報処理装置２００は、領域ごとに複数の変換画像で検出されたエッジから信頼度が最も高いエッジを最適なものとして選択する。照合部１０３は、選択されたエッジを用いて、定義された三次元形状モデルのエッジと照合を行うことで、対象物の位置姿勢を算出する。これにより、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
【００２９】
（変形例）
エッジ選択部２０６は照合部１０３の照合処理に先立ちエッジ選択処理を行う構成について説明したが、照合部１０３の照合処理と同時にエッジ選択処理を行うようにしてもよい。より具体的には、Ｓ１０６０において、照合部１０３は、現在の対象物３０１の位置姿勢を基に、モデルエッジを撮影画像３１０に投影し、エッジの画像座標と方向とを算出する。次に照合部１０３は、選択エッジリスト３４０に替えて、最上位の変換画像３１１ａに対応する検出エッジリスト３２０ａを取得する。照合部１０３は、モデルエッジの画像座標と検出エッジ座標３３２ａとの差が所定のしきい値未満であり、かつ、モデルエッジのエッジ方向と選択エッジ方向３５３ａとの方向が近いものを選択する。この後、エッジ選択部２０６が実施形態１で説明したＳ１５１０からＳ１５６０までの処理を行うことによって、モデルエッジと選択エッジ情報３５０に対応する選択エッジとを対応させることができる。
【００３０】
＜実施形態２＞
本実施形態では、撮像部１０１又は対象物の移動に伴い、撮影画像にモーションブラーが生じている場合においても、対象物のエッジと正確に照合し、位置姿勢を算出する場合に適用できる装置等について説明する。本実施形態では、実施形態１とは異なり、情報処理装置２００は、複数の変換画像を生成するのに変えて、１つの撮影画像に対してカーネルの大きさが異なる複数のエッジ検出フィルタを選択し、これらを用いてエッジ検出を行う。等倍の撮影画像に対してカーネルが大きいフィルタを用いてエッジ検出を行うことによって、縮小した撮影画像に対して等倍のフィルタでエッジ検出を行うのと同等の効果が得られる。本実施形態で説明する方法でも、実施形態１と同等の効果を得ることができる。
【００３１】
図６は、実施形態２のロボットシステムの機能構成等の一例を示す図である。実施形態１の図２と比較すると、図６では画像変換部２０２に替えてフィルタ選択部２０３が設けられている。以後、実施形態１との差異について主に説明する。
フィルタ選択部２０３は、撮影画像３１０からエッジ検出を行う際に用いられるフィルタを複数、選択する。図７はフィルタ選択部２０３が選択するフィルタの例を示している。フィルタ４０１ａ〜４０１ｃは縦方向のエッジを検出するプレウィットフィルタ、フィルタ４０２ａ〜４０２ｃは横方向のエッジを検出するプレウィットフィルタのカーネルを表している。箱の中に記述されている数値はフィルタの係数を表している。フィルタ４０１ａ〜４０１ｃは実施形態１で説明した（式１）におけるＦx、フィルタ４０２ａ〜４０２ｃはＦyと等価である。図７において、フィルタ４０１ａは３行３列のカーネルであるのに対し、フィルタ４０１ｂは５行５列、フィルタ４０１は９×９列のカーネルとなっている。また、カーネルの左右端以外の要素はすべて値が０になっている。撮影画像３１０にフィルタ４０１ａを適用すると、現在の注目画素の両端の輝度値に基づきエッジが算出される。撮影画像３１０にフィルタ４０１ｂを適用すると、現在の注目画素の左右それぞれ２つ隣の画素の輝度値に基づきエッジが算出される。同様に撮影画像３１０にフィルタ４０１ｃを適用した場合は注目画素の４つ隣の画素の輝度値に基づきエッジが算出される。以上説明したように、本実施形態におけるフィルタ選択部２０３は、実施形態１における画像変換部２０２と本質的に同様の役割を果たす。フィルタ選択部２０３は、選択したフィルタのカーネルをエッジ検出部２０４に送出する。本実施形態においては、フィルタ４０１ａ〜４０１ｃ、４０２ａ〜４０２ｃがエッジ検出部２０４に送られる。
本実施形態においてエッジ検出部２０４は、フィルタ選択部２０３によって選択されたフィルタを用いてエッジ検出を行い、検出エッジリスト３２０を生成する。本実施形態における検出エッジリスト３２０は、変換画像ＩＤ３２５に替えて、エッジ検出に用いたフィルタを特定するためのＩＤを示すフィルタＩＤ３２６を備える。フィルタＩＤ３２６は、１つの検出エッジリスト３２０につき１つのみ存在する。検出エッジ情報３３０については実施形態１と同じである。検出エッジリスト３２０は１つのフィルタ４０１（又は４０２）に対して１つ生成される。
エッジ検出部２０４がエッジ検出を行う際、実施形態１と同様に（式１）によって輝度勾配値Ｇ（ｕ，ｖ）及び輝度勾配方向Ｐ（ｕ，ｖ）を算出する。（式１）のＦx及びＦyはフィルタ４０１ａ〜４０１ｃ、４０２ａ〜４０２ｃのカーネルを指定する。
【００３２】
以上のような構成を備えた本実施形態の制御について、以下説明する。図８は、ロボットシステムの処理の流れを示すフローチャートである。本実施形態では、実施形態１における画像変換を行うＳ１０１０の処理に替えて、Ｓ１０１５が設けられている。
（Ｓ１０１５）
フィルタ選択部２０３は、エッジ検出を行うためのフィルタ４０１ａ〜４０１ｃ、４０２ａ〜４０２ｃを選択する。
（Ｓ１０４０）
信頼度算出部２０５は、エッジ検出部２０４による検出エッジリスト３２０、輝度勾配値マップを取得し、検出された各エッジに対する信頼度を算出する。（式２）において、実施形態１ではＰ1はＰ0の左隣の画素、Ｐ2はＰ0の右隣の画素における輝度勾配値を示していたが、本実施形態では、検出エッジリスト３２０中のフィルタＩＤ３２６に対応するフィルタによってＰ1とＰ2とを定める。フィルタ４０１ａの場合には、隣接画素からエッジを算出するため、実施形態１と同様に隣接画素からＰ1とＰ2とを定める。フィルタ４０１ｂの場合には、２画素隣の画素からエッジを算出するため、Ｐ1とＰ2とはＰ0から２画素離れた点を参照するよう定める。フィルタ４０１ｃの場合には、Ｐ1とＰ2とはＰ0から４画素離れた点を参照するよう定める。
本実施形態では、フィルタ選択部２０３は、図７のようにカーネルの非零要素が＋１又は−１となるように構成したが、これに限られない。カーネルの中心付近の係数をより大きくするようなフィルタを用いてもよい。
【００３３】
以上述べたように、本実施形態の構成によれば、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、正確に照合可能なエッジを選択することができる。その結果、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
より具体的には、情報処理装置２００は、複数の変換画像を生成するのに変えて、１つの撮影画像に対してカーネルの大きさが異なる複数のエッジ検出フィルタを選択し、これらを用いてエッジ検出を行う。情報処理装置２００は、エッジ検出結果に対して、輝度勾配値の鋭さに基づき、エッジ検出の安定性を示す信頼度を算出する。情報処理装置２００は、複数のフィルタを用いて検出されたエッジから信頼度が最も高いエッジを最適なものとして選択する。照合部１０３は、選択されたエッジを用いて、定義された三次元形状モデルのエッジと照合を行うことで、対象物の位置姿勢を算出する。これにより、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
【００３４】
（変形例）
フィルタ選択部２０３は、カーネルの大きさが異なる複数のフィルタを選択する例について説明したが、これに限られない。フィルタ選択部２０３は、カーネルの大きさだけでなく、プレウィットフィルタ、ソーベルフィルタ、ラプラシアンフィルタ等、エッジ検出の原理が異なる複数のフィルタを組み合わせて選択するようにしてもよい。
【００３５】
＜実施形態３＞
本実施形態では、撮像部１０１又は対象物の移動に伴い、撮影画像にモーションブラーが生じている場合においても、対象物の位置姿勢を正確に算出する場合に適用できる装置等について説明する。本実施形態では実施形態１とは異なり、情報処理装置２００は、撮影画像に対してモーションブラーによるＰＳＦ（Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ）を複数、仮定し、それぞれブラー回復処理を行うことで変換画像を生成する。情報処理装置２００は、これらの変換画像から検出されたエッジに対して、輝度勾配値の鋭さに基づき、エッジ検出の安定性を表す信頼度を算出し、領域ごとに最も信頼度が高いエッジを選択する。本実施形態で説明する方法でも、実施形態１と同等の効果を得ることができる。
【００３６】
本実施形態に係るロボットシステムの機能構成等は、図２の実施形態１におけるロボットシステムの機能構成等と同じである。以後、実施形態１との差異について主に説明する。
画像変換部２０２は、入力された撮影画像３１０を画像処理によって変換し、複数の変換画像３１１ａ〜３１１ｄを生成する。本実施形態において、画像変換部２０２は、撮影画像３１０に複数のブラー回復処理を適用し、変換画像３１１ａ〜３１１ｄを生成する。
本実施形態において、画像変換部２０２は、モーションブラーによって劣化したＰＳＦの形状を複数仮定し、それぞれのＰＳＦを用いてブラー回復処理を行い、変換画像３１１ａ〜３１１ｄを生成する。
ＰＳＦは１つの点を撮像したときの像の広がりを定義する関数であり、画像劣化がない状態の理想的なＰＳＦは、中心にただ１つのピークが存在する。一方、モーションブラーの影響を受けると、ＰＳＦは露光中に生じた動きについて、その軌跡を示す。モーションブラーの影響を受けたＰＳＦは画像内で均一ではなく、一般的には領域ごとに形態が異なる。
【００３７】
本実施形態では、画像変換部２０２は、縦方向、横方向、斜め方向２種類の直線状のモーションブラーを仮定したＰＳＦ４１１ａ〜４１１ｄを生成する。ＰＳＦの形状が実際に生じたモーションブラーと一致している場合には、撮影画像３１０に対して当該ＰＳＦを用いて逆変換フィルタを用いたブラー回復処理を行うことで、モーションブラーの影響を低減させた画像が生成される。本実施形態では、逆変換フィルタにウィーナフィルタを用いる。画像変換部２０２は、これらのＰＳＦ４１１ａ〜４１１ｄに対して、それぞれウィーナフィルタを適用して、撮影画像３１０から変換画像３１１ａ〜３１１ｄを生成する。
信頼度算出部２０５は、実施形態１と同様に、変換画像３１１ａ〜３１１ｄから検出されたエッジに対して信頼度を算出する。このとき、変換画像３１１ａ〜３１１ｄに対して、実際のモーションブラーに最も近いＰＳＦから生成された変換画像３１１から検出されたエッジが、最も信頼度が高くなる。モーションブラーによるＰＳＦは、画像内で不均一であるため、エッジ選択部２０６は、領域ごとに異なる変換画像３１１ａ〜３１１ｄからエッジを選択する。そのため、エッジ選択部２０６は、ブラー回復された複数の変換画像から検出されたエッジの中から、モーションブラーの影響が最も少ないエッジを選択することになる。
以上のような構成を備えた本実施形態の制御について、以下説明する。本実施形態におけるフローチャートは図７に示した実施形態１のものと同じである。但し、一部のステップにおける処理の内容に差異があるので、その部分について以下説明する。
【００３８】
（Ｓ１０２０）
信頼度算出部２０５は、エッジ検出部２０４による検出エッジリスト３２０、輝度勾配値マップを取得し、検出された各エッジに対する信頼度を算出する。このとき、信頼度算出部２０５は、（式２）に従って信頼度を算出するが、本実施形態において変換画像３１１ａ〜３１１ｄは縮小されていないため、常にＸ＝１．０を用いる。同様にＳ１５２０、Ｓ１５５０においても、エッジ選択部２０６は、倍率１．０を用いる。
本実施形態では、直線状のモーションブラーを仮定してＰＳＦ４１１ａ〜４１１ｄを生成する例について説明したが、これに限られない。回転や曲線状のモーションブラーを仮定してもよいし、複数の動きを組み合わせたＰＳＦを生成してもよい。
【００３９】
以上述べたように、本実施形態の構成によれば、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、正確に照合可能なエッジを選択することができる。その結果、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
より具体的には、情報処理装置２００は、撮影画像に対してモーションブラーによるＰＳＦを複数仮定し、それぞれブラー回復処理を行うことで変換画像を生成し、各々の変換画像に対してエッジ検出を行う。情報処理装置２００は、エッジ検出結果に対して、輝度勾配値の鋭さに基づき、エッジ検出の安定性を示す信頼度を算出する。情報処理装置２００は、領域ごとに複数の変換画像で検出されたエッジから信頼度が最も高いエッジを最適なものとして選択する。照合部１０３は、選択されたエッジを用いて、定義された三次元形状モデルのエッジと照合を行うことで、対象物の位置姿勢を算出する。これにより、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
【００４０】
（変形例）
実施形態３では、画像変換部２０２は複数のブラー回復処理を行う例について説明したが、更に実施形態２で説明したフィルタ選択部２０３を設けてもよい。この場合、変換画像３１１ａ〜３１１ｄに対してフィルタ４０１ａ〜４０１ｃ（及び対になる４０２ａ〜４０２ｃ）を適用するため、検出エッジリスト３２０は１２（変換画像４種×フィルタ３種＝１２種）生成されることになる。このとき、変換画像ＩＤ３２５は、変換画像とフィルタとの組み合わせを一意に特定できるＩＤとする。
【００４１】
＜実施形態４＞
本実施形態では、撮像部１０１又は対象物の移動に伴い、撮影画像にモーションブラーが生じている場合においても、対象物のエッジと正確に照合し、位置姿勢を算出する場合に適用できる装置等について説明する。本実施形態は実施形態１とは異なり、情報処理装置２００は、すべての変換画像からエッジを検出した後にエッジを選択するのではなく、所定の数のエッジが選択されるまで、段階的に画像を縮小し、エッジ検出及び選択処理を行う。本実施形態で説明する方法でも、実施形態１と同等の効果を得ることができる。
本実施形態に係るロボットシステムの機能構成等は、図２の実施形態１におけるロボットシステムの機能構成等と同じである。本実施形態の制御について、図３に示した実施形態１のフローチャートを用いて、実施形態１と差異がある部分について以下説明する。
【００４２】
（Ｓ１０２０）
画像変換部２０２は、入力された撮影画像３１０を現在設定されている倍率で縮小し、変換画像３１１を生成する。実施形態１におけるＳ１０２０とは異なり、画像変換部２０２は、変換画像３１１を１つのみ生成する。Ｓ１０２０の初回実行時には、画像変換部２０２は、変換画像３１１ａを生成する。情報処理装置２００がＳ１０５０までの処理を行った後の次回実行時には、画像変換部２０２は、入力された撮影画像３１０に基づき変換画像３１１ｂを生成する。以降、変換画像３１１ｃ、３１１ｄといったように、画像変換部２０２は、反復ごとに、入力された撮影画像３１０に基づき、順次、倍率が小さくなる変換画像を生成する。２回目以降の縮小時の倍率はＳ１０５０において設定される。
（Ｓ１０３０）
エッジ検出部２０４は、Ｓ１０２０で変換された単一の変換画像３１１に対して、エッジ検出処理を行い、検出エッジリスト３２０、輝度勾配値マップを生成する。実施形態１とは異なり、エッジ検出部２０４は、検出エッジリスト、輝度勾配値マップを、単一の変換画像３１１に対して１種類のみ生成する。
【００４３】
（Ｓ１０５０）
エッジ選択部２０６は、検出エッジリスト３２０を取得して、信頼度の高いエッジを選択し、選択エッジリスト３４０を新たに生成する。Ｓ２０５０の２回目以降の実行時には、エッジ選択部２０６は、選択されたエッジを選択エッジリスト３４０に追加する。エッジ選択の処理に関しては、実施形態１におけるＳ１０５０の処理とほぼ同じであるが、エッジ選択部２０６は、単一の変換画像３１１に対してエッジの選択を行う部分のみが異なる。
次にエッジ選択部２０６は、選択エッジの数について、既定の値よりも少ない場合には、現在の倍率を０．５倍してＳ１０２０の処理に戻る。エッジ選択部２０６は、既定の値よりも多い場合には、Ｓ１０６０に進む。エッジ選択部２０６は、また、現在の倍率が所定の値よりも小さくなった場合にも、Ｓ１０６０に進む。
本実施形態では、エッジ選択部２０６は、選択エッジの数に基づき、反復処理の是非を判定する例について説明したが、これに限られない。エッジ選択部２０６は、選択エッジの分布や特定のエッジが選択されたか否かに基づき、反復処理の是非を判定するようにしてもよい。
【００４４】
以上述べたように、本実施形態の構成によれば、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、正確に照合可能なエッジを選択することができる。その結果、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
より具体的には、情報処理装置２００は、所定の数のエッジが選択されるまで、段階的に画像を縮小し、変換画像を生成し、エッジ検出を行う。情報処理装置２００は、エッジ検出結果に対して、輝度勾配値の鋭さに基づき、エッジ検出の安定性を示す信頼度を算出する。情報処理装置２００は、信頼度が所定の値に達した場合には、そのエッジを選択する。情報処理装置２００は、信頼度が所定の値に満たなければ、更に画像を縮小して処理を繰り返す。照合部１０３は、最終的に選択されたエッジを用いて、定義された三次元形状モデルのエッジと照合を行うことで、対象物の位置姿勢を算出する。これにより、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
【００４５】
＜実施形態５＞
本実施形態では、撮像部１０１又は対象物の移動に伴い、撮影画像にモーションブラーが生じている場合においても、対象物のエッジを正確に照合する場合に適用できる装置等について説明する。本実施形態では、実施形態１とは異なり、エッジモデル保持部１０４は、モデルエッジに関する情報を三次元ではなく二次元で保持する。また、照合部１０３は、対象物の位置姿勢を画像内での二次元座標で推定する。そのため、照合部１０３は、三次元形状モデルを持たない対象物に対しても、エッジを正確に照合することが可能となる。
本実施形態に係るロボットシステムの機能構成等は、図２の実施形態１におけるロボットシステムの機能構成等と同じである。以後、実施形態１との差異について主に説明する。
【００４６】
照合部１０３は、エッジ選択部２０６によって生成された選択エッジリスト３４０と、エッジモデル保持部１０４が保持するモデルエッジリスト３８０とを取得し、撮影画像３１０中に撮影された対象物３０１の有無と画像中の位置とを照合する。
エッジモデル保持部１０４は、モデルエッジ情報３９０の集合であるモデルエッジリスト３８０を保持する。実施形態１とは異なり、モデルエッジ情報３９０は二次元のエッジから構成され、検出エッジ情報３３０と同じデータ構造を持つ。また、モデルエッジリスト３８０も検出エッジリスト３２０と同じデータ構造を持つ。
【００４７】
以上述べたように、本実施形態の構成によれば、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、正確に照合可能なエッジを選択することができる。その結果、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
より具体的には、エッジモデル保持部１０４は、モデルエッジに関する情報を二次元で保持する。また、照合部１０３は、対象物の位置姿勢を画像内での二次元座標で推定する。これにより、三次元形状モデルを持たない対象物に対しても、エッジを正確に照合することが可能となる。
【００４８】
＜実施形態６＞
本実施形態では、情報処理装置２００は、ハードウェア構成として、操作部と表示部とを備える。操作部は、ユーザからの操作を入力する。また、表示部は、動作状況をユーザに提示する。これにより、ユーザが所望する条件で対象物の照合を行うことが可能となる。
本実施形態に係るロボットシステムの機能構成等は、図２の実施形態１におけるロボットシステムの機能構成等と同じである。以後、実施形態１との差異について主に説明する。
操作部は、キーボード、マウス、ボタン、ダイヤル等の装置によって実現され、ユーザの意図を操作として受け付け、ＣＰＵ１０に伝達する。
表示部は、ディスプレイ等の装置によって実現され、本実施形態に係る装置の動作状況を可視化してユーザに提示する。以下、表示部の機能についてより具体的に説明する。
【００４９】
図９は、表示部に表示された表示画面の一例を示す図である。ＣＰＵ１０は、表示部にウィンドウ１８０を表示する。ウィンドウ１８０内には、撮影画像３１０、使用する倍率を指定するチェックボックス１８１、現在の処理時間表示１８２ａ、精度表示１８２ｂ、警告表示１８２ｃ、選択エッジ表示１８３ａ〜１８３ｄ、指定画像表示１８４が表示されている。
ユーザはチェックボックス１８１を操作し、本実施形態における画像変換部２０２、エッジ検出部２０４、信頼度算出部２０５において生成及び利用される変換画像３１１ａ〜３１１ｄの倍率を指定する。図９の例においては、ユーザが倍率１．０，０．５，０．２５，０．１２５の４種類の倍率を使用することを指示している。
変換画像３１１を生成する倍率は、種類が多くなるほどエッジ検出の安定性が向上するものの、処理時間が増加するというデメリットが生じる。また、小さい倍率を指定すると、モーションブラーに対する耐性が向上するものの、エッジ検出の位置精度が低下するというデメリットが生じる。本実施形態においては、使用する倍率の種類をユーザに選択可能とすることで、状況に応じた最適な照合を行うことが可能となる。
１８２ａは処理時間の目安を、１８２ｂは精度の目安を数値として表示する。これらの数値はチェックボックス１８１の選択内容によって変化する。処理時間又は精度が所定の値よりも大きくなる場合には、情報処理装置２００が所望の性能を達成できない可能性が生じるため、ＣＰＵ１０は、警告表示１８２ｃを表示することによって、ユーザに注意を促している。ユーザは警告表示１８２ｃや、処理時間及び精度の目安を示す数値１８２ａ，１８２ｂを確認することによって、倍率の組み合わせを変更したり、撮像部１０１の撮像条件や搬送部３０３の動作速度等を調整したりすることで、情報処理装置２００の性能を向上させることが可能となる。
【００５０】
ウィンドウ１８０中には最新の撮影画像３１０と、それに重畳された選択エッジ表示１８３ａ〜１８３ｄが表示される。ユーザは指定画像表示１８４の数値を変更することによって、処理対象となる撮影画像３１０を指定する。選択エッジ表示１８３ａ〜１８２ｄはエッジ選択部２０６が最終的に選択した選択エッジ情報３５０を可視化してユーザに提示するものである。選択エッジ表示１８３ａ〜１８３ｄの矢印は選択エッジ座標３５２及び選択エッジ方向３５３を、矢印の根元の数値は選択画像ＩＤ３５４を示している。この数値はチェックボックス１８１に示されている数値に一致し、ユーザは変換画像３１１の倍率と選択エッジ表示１８３とを対応させて確認することができる。
ユーザは以下に説明する方法で、情報処理装置２００の動作条件を設定する。ユーザはチェックボックス１８１を操作し、選択肢として提示されている倍率の中からいくつかを選択する。選択した倍率の組み合わせによって、処理時間表示１８２ａ、精度表示１８２ｂが変化する。また、処理時間又は精度が所定の値より大きくなる場合には、警告表示１８２ｃが表示される。この場合、ユーザは倍率の組み合わせを変えて、選択し直すことが促される。ユーザは以下の事項を確認しながら操作を行うことで、情報処理装置２００の動作条件を調整する。
【００５１】
第一に、対象物３０１の輪郭に十分な数及び密度のエッジが表示されていれば、現在指定されている倍率の組み合わせは適正である。選択エッジ表示１８３の数が少ない、又は局所的な偏りが大きい場合には、画像劣化の影響により、エッジが十分に検出されていない可能性がある。この場合、ユーザは更に小さい倍率の選択を考慮する。
第二に、選択エッジ表示１８３に付加されている数値が、チェックボックス１８１に示されている数値を充足していれば、指定されている倍率の組み合わせは適正である。チェックボックス１８１に示されている数値が、選択エッジ表示１８３に付加されている数値に含まれない場合には、不要な倍率が指定されている可能性がある。この場合、ユーザは当該倍率を選択肢から除くことを考慮する。
第三に、処理時間表示１８２ａと精度表示１８２ｂとについて、問題がないかどうかを確認する。処理時間表示１８２ａが要求よりも長い場合には、ユーザは選択する倍率の数を減らす、又は、大きい倍率を除く等の対処を考慮する。精度表示１８２ｂが要求よりも大きい場合には、小さい倍率を減らす等の対処を考慮する。
第四に指定画像表示１８４を様々に変更し、複数種類の撮影画像３１０に対して、上記の事項が満たされるかどうかを確認する。
以上説明したように、ユーザは倍率の組み合わせを変えることで、その効果を即座に確認することができる。ユーザは上記の確認を繰り返し行うことによって、情報処理装置２００の動作が最適になるように調整を行うことが可能となる。
【００５２】
本実施形態において、選択エッジ表示１８３ａ〜１８３ｄは、矢印に付記した数値によって選択画像ＩＤ３５４の違いを提示する例について説明したが、これに限られない。ＣＰＵ１０は、矢印以外の記号で選択エッジ座標３５２及び選択エッジ方向３５３を表現してもよいし、色や記号の種類によって選択画像ＩＤ３５４の違いを表現するようにしてもよい。
本実施形態において、ユーザは倍率の選択の組み合わせを変更することによって、情報処理装置２００の処理時間や精度を調整する方法について説明したが、これに限られない。ユーザは所望の処理時間や精度を１８２ａ、１８２ｂに入力するようにし、ＣＰＵ１０が最適な使用倍率の組み合わせを算出し、その結果をチェックボックス１８１に表示するようにしてもよい。
本実施形態において、ユーザは倍率の選択の組み合わせを変更することによって、情報処理装置２００の処理時間や精度を調整する方法について説明したが、これに限られない。ユーザが最大又は最小の倍率を指定するようにし、ＣＰＵ１０がその範囲内で最適な使用倍率の組み合わせを算出してもよい。
本実施形態において、ユーザは倍率の選択の組み合わせを変更することによって、情報処理装置２００の処理時間や精度を調整する方法について説明したが、これに限られない。実施形態２で説明した構成を基に、本実施形態の操作部及び表示部を実現する場合には、ユーザにフィルタサイズを選択させ、表示部はそれに応じた表示を行わせるようにしてもよい。
【００５３】
以上述べたように、本実施形態の構成によれば、ユーザが所望する条件で対象物の照合を行うことが可能となる。
より具体的には、本実施形態の情報処理装置２００は、ハードウェア構成として、操作部と表示部を備える。そして、操作部がユーザからの操作を入力し、表示部が動作状況をユーザに提示する。これにより、ユーザが所望する条件やタイミングで、対象物の把持や載置を行うことが可能となる。
【００５４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５５】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、照合部１０３、エッジモデル保持部１０４は、情報処理装置２００に含まれるようにしてもよい。
また、上述した情報処理装置２００の機能構成の一部、又は全てをハードウェア構成として情報処理装置２００に実装してもよい。
また、情報処理装置２００のハードウェア構成として、ＣＰＵは複数存在してもよく、複数のＣＰＵがメモリに記憶されているプログラムに基づき処理を実行するようにしてもよい。また、情報処理装置２００のハードウェア構成として、ＣＰＵの替わりに、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いてもよい。
【００５６】
また、画像入力部２０１は、撮像部１０１からの撮影画像を情報処理装置２００に入力できるものであれば、いかなるものでもよい。また、入力する撮影画像においても、ＲＧＢカラー画像、グレイスケール画像、白黒画像等、いかなる種類の画像でもよい。撮像部１０１が距離画像や三次元点群を取得する場合には、画像入力部２０１は、撮影画像に加えてこれらについても情報処理装置に入力する。
また、画像変換部２０２は、撮影画像に対して画像処理を適用し、変換画像を生成することができれば、いかなるものでもよい。適用する画像処理について、拡大縮小や、ブラー回復を行う例について説明したが、その他の処理を適用してもよい。
また、エッジ検出部２０４は、所定の画像に対してエッジを検出することができれば、いかなるものでもよい。実施形態２において、プレウィットフィルタ、ソーベルフィルタ、ラプラシアンフィルタを適用する例について説明した。
また、信頼度算出部２０５は、エッジの検出の確度、安定性を定義できるものであれば、いかなるものでもよい。実施形態１において、エッジ検出の確度や安定性をエッジ近傍の輝度勾配値の鋭さを信頼度と定義し、３点の輝度勾配差に基づき算出する方法について説明した。
また、エッジモデル保持部１０４は、対象物３０１のエッジ情報を定義し、保持できるものであればいかなるものでもよい。実施形態１において、対象物３０１の三次元形状モデルによって定義されるモデルエッジ情報について説明した。実施形態５において、対象物３０１を撮影した画像からエッジ検出を行い、モデルエッジ情報を生成することを説明した。
【００５７】
以上、上述した各実施形態の構成等によれば、モーションブラーのように、撮影画像中の領域ごとに不均一な画像劣化が生じている場合においても、正確に照合可能なエッジを選択することができる。その結果、対象物のエッジと正確に照合し、位置姿勢を算出することが可能となる。
【符号の説明】
【００５８】
１０    ＣＰＵ
２００  情報処理装置
【図１】
2019211903.tif 000003
【図２】
2019211903.tif 000004
【図３】
2019211903.tif 000005
【図４】
2019211903.tif 000006
【図５】
2019211903.tif 000007
【図６】
2019211903.tif 000008
【図７】
2019211903.tif 000009
【図８】
2019211903.tif 000010
【図９】
2019211903.tif 000011