(57)【要約】【課題】  ２つの画像の重複度合いを調整するための画像の設定パラメーターの更新処理をより高速に行うことができる画像処理装置等の提供。【解決手段】  画像処理装置１００は、第１の画像取得部１１０と、第２の画像取得部１２０と、領域情報演算部１３０と、設定パラメーター更新部１４０を含む。領域情報演算部１３０は、第１の画像と第２の画像が重複する第１の領域についての第１の領域情報と、第１の画像の領域のうち第２の画像とは重ならない第２の領域についての第２の領域情報と、第２の画像の領域のうち第１の画像とは重ならない第３の領域についての第３の領域情報を求める。設定パラメーター更新部１４０は、第１の領域情報と第２の領域情報と第３の領域情報に基づき、第１の画像と第２の画像の重複度合いについての評価値を求め、評価値に基づき第２の画像の設定パラメーターの更新処理を行う。【選択図】  図１
2014127092.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像を取得する第１の画像取得部と、
第２の画像を取得する第２の画像取得部と、
画像の一部又は全ての領域についての領域情報を求める領域情報演算部と、
前記第２の画像の設定パラメーターの更新処理を行う設定パラメーター更新部と、
を含み、
前記領域情報演算部は、
前記第１の画像と前記第２の画像とが重複する第１の領域についての第１の領域情報と、前記第１の画像の領域のうち、前記第２の画像とは重ならない第２の領域についての第２の領域情報と、前記第２の画像の領域のうち、前記第１の画像とは重ならない第３の領域についての第３の領域情報と、を求め、
前記設定パラメーター更新部は、
前記第１の領域情報と、前記第２の領域情報と、前記第３の領域情報とに基づいて、前記第１の画像と前記第２の画像との重複度合いについての評価値を求め、前記評価値に基づいて、前記第２の画像の前記設定パラメーターの前記更新処理を行うことを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記設定パラメーター更新部は、
前記第１の領域情報と、前記第２の領域情報と、前記第３の領域情報と、前記領域情報の重み付け情報とに基づいて、前記評価値を求め、前記評価値に基づいて前記第２の画像の前記設定パラメーターの前記更新処理を行うことを特徴とする画像処理装置。
【請求項３】
請求項１又は２において、
前記設定パラメーター更新部は、
前記第１の領域情報から得られる情報に対する、前記第２の領域情報から得られる情報と前記第３の領域情報から得られる情報の差分情報を前記評価値として求めることを特徴とする画像処理装置。
【請求項４】
請求項３において、
前記設定パラメーター更新部は、
前記第１の領域情報Ｐａｎｄと第１の重み付け情報α（ただし、α≠０）との積αＰａｎｄから、前記第２の領域情報Ｐｘｏｒ１と第２の重み付け情報βとの積βＰｘｏｒ１と、前記第３の領域情報Ｐｘｏｒ２と第３の重み付け情報γとの積γＰｘｏｒ２とを減算処理した値を、前記評価値Ｅとして求めることを特徴とする画像処理装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記領域情報演算部は、
前記第１の画像及び前記第２の画像が２値化された画像データに対して計数処理を行うことにより、前記第１の領域情報、前記第２の領域情報及び前記第３の領域情報を求めることを特徴とする画像処理装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記領域情報演算部は、
前記第１の領域のピクセル数又は面積値を表す情報を前記第１の領域情報として求め、前記第２の領域のピクセル数又は面積値を表す情報を前記第２の領域情報として求め、前記第３の領域のピクセル数又は面積値を表す情報を前記第３の領域情報として求めることを特徴とする画像処理装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記設定パラメーター更新部は、
前記評価値の評価関数のヤコビアンを求め、求めた前記ヤコビアンに基づいて前記設定パラメーターの前記更新処理を行うことを特徴とする画像処理装置。
【請求項８】
請求項６において、
前記設定パラメーター更新部は、
前記第２の領域のピクセル数と前記第３の領域のピクセル数との和又は前記第２の領域の面積値と前記第３の領域の面積値との和が所与の閾値よりも大きい場合に、前記第２の画像の前記設定パラメーターの前記更新処理を行うことを特徴とする画像処理装置。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記第２の画像は、
３次元オブジェクト空間に配置されたオブジェクトの画像であり、
前記設定パラメーターは、
前記第２の画像により表される前記オブジェクトの位置姿勢特定パラメーターであり、
前記設定パラメーター更新部は、
前記位置姿勢特定パラメーターの前記更新処理を行うことを特徴とする画像処理装置。
【請求項１０】
請求項１乃至８のいずれかにおいて、
前記第２の画像は、
ロボットの操作対象オブジェクトの画像であり、
前記設定パラメーターは、
前記第２の画像に映された前記操作対象オブジェクトを操作する前記ロボットの制御パラメーターであり、
前記設定パラメーター更新部は、
前記ロボットの制御パラメーターの前記更新処理を行うことを特徴とする画像処理装置。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
オブジェクトの位置姿勢の一致判定処理を行う判定部をさらに含み、
前記第１の画像は、
前記一致判定処理の対象である前記オブジェクトの画像であり、
前記第２の画像は、
３次元オブジェクト空間に配置されたオブジェクトの画像又はロボットの操作対象オブジェクトの画像であり、
前記判定部は、
前記設定パラメーター更新部により求められた前記評価値に基づいて、前記第１の画像により表されるオブジェクトと前記第２の画像により表されるオブジェクトとの位置姿勢の前記一致判定処理を行うことを特徴とする画像処理装置。
【請求項１２】
第１の画像と第２の画像を取得し、
前記第１の画像と前記第２の画像とが重複する第１の領域についての第１の領域情報と、前記第１の画像の領域のうち、前記第２の画像とは重ならない第２の領域についての第２の領域情報と、前記第２の画像の領域のうち、前記第１の画像とは重ならない第３の領域についての第３の領域情報と、を求め、
前記第１の領域情報と、前記第２の領域情報と、前記第３の領域情報とに基づいて、前記第１の画像と前記第２の画像との重複度合いについての評価値を求め、
前記評価値に基づいて、前記第２の画像の設定パラメーターの更新処理を行うことを特徴とする画像処理方法。
【請求項１３】
請求項１乃至１１のいずれかに記載の画像処理装置を含むことを特徴とするロボット。
【請求項１４】
第１の画像と第２の画像を取得し、
前記第１の画像と前記第２の画像とが重複する第１の領域についての第１の領域情報と、前記第１の画像の領域のうち、前記第２の画像とは重ならない第２の領域についての第２の領域情報と、前記第２の画像の領域のうち、前記第１の画像とは重ならない第３の領域についての第３の領域情報と、を求め、
前記第１の領域情報と、前記第２の領域情報と、前記第３の領域情報とに基づいて、前記第１の画像と前記第２の画像との重複度合いについての評価値を求め、
前記評価値に基づいて、前記第２の画像の設定パラメーターの更新処理を行い、
前記設定パラメーターに基づいて各部を動作させることを特徴とするロボット。
【請求項１５】
第１の画像を取得する第１の画像取得部と、
第２の画像を取得する第２の画像取得部と、
画像の一部又は全ての領域についての領域情報を求める領域情報演算部と、
前記第２の画像の設定パラメーターの更新処理を行う設定パラメーター更新部として、
コンピューターを機能させ、
前記領域情報演算部は、
前記第１の画像と前記第２の画像とが重複する第１の領域についての第１の領域情報と、前記第１の画像の領域のうち、前記第２の画像とは重ならない第２の領域についての第２の領域情報と、前記第２の画像の領域のうち、前記第１の画像とは重ならない第３の領域についての第３の領域情報と、を求め、
前記設定パラメーター更新部は、
前記第１の領域情報と、前記第２の領域情報と、前記第３の領域情報とに基づいて、前記第１の画像と前記第２の画像との重複度合いについての評価値を求め、前記評価値に基づいて、前記第２の画像の前記設定パラメーターの前記更新処理を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、ロボット及びプログラム等に関係する。
【背景技術】
【０００２】
画像中の対象物体像から、その物体の３次元的な位置姿勢を知ることは、種々の応用において必要とされる。一例として、産業用ロボットの応用においては、カメラなどを用いて物体を撮像し、撮像した画像を用いて物体の位置姿勢情報を検出し、検出した位置姿勢情報を用いてロボットがその物体を把持する、などと言うことが要求される。
【０００３】
そのような場合に用いる物体の位置姿勢の検出方法の一つとして、Analysis By Synthesis（ＡｂＳ）と呼ばれる手法がある。しかし、この手法を単純に実行する場合には非常に長い処理時間が必要となり、実用に耐え得ない。
【０００４】
さらに、このような目的で使用される技術として、例えば特許文献１に記載されている発明がある。この手法によれば、粗い処理から精密な処理へと段階的に処理を進めて、処理時間を大幅に削減することが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−９３６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、この特許文献１に記載される発明には以下のような問題点がある。第１に、複数の視点からの仮想ビュー、更にはその解像度を変化させたビューなど、非常に大量のデータが必要とされる。第２に、輪郭情報を用いる手法はノイズや照明条件の変化に弱い。
【０００７】
また、この手法では、マッチング処理に輪郭情報を用いているが、他の手法においては自乗誤差和（Sum of Squared Difference: SSD）を用いる例も多数ある。しかし、ＳＳＤは条件によっては姿勢差を正確に表現できないと言う問題がある。
【０００８】
本発明の幾つかの態様によれば、２つの画像の重複度合いを調整するための画像の設定パラメーターの更新処理をより高速に行うことができる画像処理装置、画像処理方法、ロボット及びプログラム等を提供することができる。
【０００９】
また、本発明の幾つかの態様によれば、物体の位置姿勢推定をより高速に実現することができる画像処理装置、画像処理方法、ロボット及びプログラム等を提供することができる。
【課題を解決するための手段】
【００１０】
本発明の一態様は、第１の画像を取得する第１の画像取得部と、第２の画像を取得する第２の画像取得部と、画像の一部又は全ての領域についての領域情報を求める領域情報演算部と、前記第２の画像の設定パラメーターの更新処理を行う設定パラメーター更新部と、を含み、前記領域情報演算部は、前記第１の画像と前記第２の画像とが重複する第１の領域についての第１の領域情報と、前記第１の画像の領域のうち、前記第２の画像とは重ならない第２の領域についての第２の領域情報と、前記第２の画像の領域のうち、前記第１の画像とは重ならない第３の領域についての第３の領域情報と、を求め、前記設定パラメーター更新部は、前記第１の領域情報と、前記第２の領域情報と、前記第３の領域情報とに基づいて、前記第１の画像と前記第２の画像との重複度合いについての評価値を求め、前記評価値に基づいて、前記第２の画像の前記設定パラメーターの前記更新処理を行う画像処理装置に関係する。
【００１１】
本発明の一態様では、第１の画像と第２の画像とを同一平面上に重ねて表示した時の第１の領域情報〜第３の領域情報を求める。そして、求めた第１の領域情報〜第３の領域情報に基づいて、第１の画像と第２の画像との重複度合いについての評価値を求める。さらに、求めた評価値に基づいて、第２の画像の設定パラメーターの更新処理を行う。
【００１２】
これにより、２つの画像の重複度合いを調整するための画像の設定パラメーターの更新処理を高速に実行することができる。
【００１３】
また、本発明の一態様では、前記設定パラメーター更新部は、前記第１の領域情報と、前記第２の領域情報と、前記第３の領域情報と、前記領域情報の重み付け情報とに基づいて、前記評価値を求め、前記評価値に基づいて前記第２の画像の前記設定パラメーターの前記更新処理を行ってもよい。
【００１４】
これにより、第１の領域情報と、第２の領域情報と、第３の領域情報のそれぞれに対して重み付け情報を設定して、重み付けされた各領域情報に基づいて評価値を求めること等が可能になる。
【００１５】
また、本発明の一態様では、前記設定パラメーター更新部は、前記第１の領域情報から得られる情報に対する、前記第２の領域情報から得られる情報と前記第３の領域情報から得られる情報の差分情報を前記評価値として求めてもよい。
【００１６】
これにより、評価値が最大になる場合に、第１の画像に表されるオブジェクトと第２の画像に表されるオブジェクトとが一致していると判定すること等が可能になる。
【００１７】
また、本発明の一態様では、前記設定パラメーター更新部は、前記第１の領域情報Ｐａｎｄと第１の重み付け情報α（ただし、α≠０）との積αＰａｎｄから、前記第２の領域情報Ｐｘｏｒ１と第２の重み付け情報βとの積βＰｘｏｒ１と、前記第３の領域情報Ｐｘｏｒ２と第３の重み付け情報γとの積γＰｘｏｒ２とを減算処理した値を、前記評価値Ｅとして求めてもよい。
【００１８】
これにより、第１の画像に表されるオブジェクトの領域への引き込み力を調整するパラメーターとして第１の重み付け情報αを用い、第２の画像に表されるオブジェクトの領域の膨張力を調整するパラメーターとして第２の重み付け情報βを用い、第１の画像に表されるオブジェクトの領域への押し込み力を調整するパラメーターとして第３の重み付け情報γを用いること等が可能になる。
【００１９】
また、本発明の一態様では、前記領域情報演算部は、前記第１の画像及び前記第２の画像が２値化された画像データに対して計数処理を行うことにより、前記第１の領域情報、前記第２の領域情報及び前記第３の領域情報を求めてもよい。
【００２０】
これにより、第１の領域情報、第２の領域情報及び第３の領域情報の算出処理を簡略化すること等が可能になる。
【００２１】
また、本発明の一態様では、前記領域情報演算部は、前記第１の領域のピクセル数又は面積値を表す情報を前記第１の領域情報として求め、前記第２の領域のピクセル数又は面積値を表す情報を前記第２の領域情報として求め、前記第３の領域のピクセル数又は面積値を表す情報を前記第３の領域情報として求めてもよい。
【００２２】
これにより、計数処理において扱いやすいピクセル数等を領域情報として用いること等が可能になる。
【００２３】
また、本発明の一態様では、前記設定パラメーター更新部は、前記評価値の評価関数のヤコビアンを求め、求めた前記ヤコビアンに基づいて前記設定パラメーターの前記更新処理を行ってもよい。
【００２４】
これにより、ヤコビアンを求め、求めた複数のヤコビアンの大小の比較処理を行うことにより、評価値が最大となる設定パラメーターの変位を求めること等が可能になる。
【００２５】
また、本発明の一態様では、前記設定パラメーター更新部は、前記第２の領域のピクセル数と前記第３の領域のピクセル数との和又は前記第２の領域の面積値と前記第３の領域の面積値との和が所与の閾値よりも大きい場合に、前記第２の画像の前記設定パラメーターの前記更新処理を行ってもよい。
【００２６】
これにより、既に第１の画像により表されるオブジェクトの領域と第２の画像により表されるオブジェクトの領域が十分に重複していると判断できる場合には、第２の画像の設定パラメーターの更新処理を行わず、第１の画像により表されるオブジェクトの領域と第２の画像により表されるオブジェクトの領域が十分に重複していないと判断した場合に限り、第２の画像の設定パラメーターの更新処理を行うこと等が可能になる。
【００２７】
また、本発明の一態様では、前記第２の画像は、３次元オブジェクト空間に配置されたオブジェクトの画像であり、前記設定パラメーターは、前記第２の画像により表される前記オブジェクトの位置姿勢特定パラメーターであり、前記設定パラメーター更新部は、前記位置姿勢特定パラメーターの前記更新処理を行ってもよい。
【００２８】
これにより、ＣＡＤマッチングを行うこと等が可能になる。
【００２９】
また、本発明の一態様では、前記第２の画像は、ロボットの操作対象オブジェクトの画像であり、前記設定パラメーターは、前記第２の画像に映された前記操作対象オブジェクトを操作する前記ロボットの制御パラメーターであり、前記設定パラメーター更新部は、前記ロボットの制御パラメーターの前記更新処理を行ってもよい。
【００３０】
これにより、ビジュアルサーボを行うこと等が可能になる。
【００３１】
また、本発明の一態様では、オブジェクトの位置姿勢の一致判定処理を行う判定部をさらに含み、前記第１の画像は、前記一致判定処理の対象である前記オブジェクトの画像であり、前記第２の画像は、３次元オブジェクト空間に配置されたオブジェクトの画像又はロボットの操作対象オブジェクトの画像であり、前記判定部は、前記設定パラメーター更新部により求められた前記評価値に基づいて、前記第１の画像により表されるオブジェクトと前記第２の画像により表されるオブジェクトとの位置姿勢の前記一致判定処理を行ってもよい。
【００３２】
これにより、物体の位置姿勢推定をより高速に実現すること等が可能になる。
【００３３】
また、本発明の他の態様では、第１の画像と第２の画像を取得し、前記第１の画像と前記第２の画像とが重複する第１の領域についての第１の領域情報と、前記第１の画像の領域のうち、前記第２の画像とは重ならない第２の領域についての第２の領域情報と、前記第２の画像の領域のうち、前記第１の画像とは重ならない第３の領域についての第３の領域情報と、を求め、前記第１の領域情報と、前記第２の領域情報と、前記第３の領域情報とに基づいて、前記第１の画像と前記第２の画像との重複度合いについての評価値を求め、前記評価値に基づいて、前記第２の画像の設定パラメーターの更新処理を行うことを特徴とする画像処理方法に関係する。
【００３４】
また、本発明の他の態様では、画像処理装置を含むロボットに関係する。
【００３５】
また、本発明の他の態様では、第１の画像と第２の画像を取得し、前記第１の画像と前記第２の画像とが重複する第１の領域についての第１の領域情報と、前記第１の画像の領域のうち、前記第２の画像とは重ならない第２の領域についての第２の領域情報と、前記第２の画像の領域のうち、前記第１の画像とは重ならない第３の領域についての第３の領域情報と、を求め、前記第１の領域情報と、前記第２の領域情報と、前記第３の領域情報とに基づいて、前記第１の画像と前記第２の画像との重複度合いについての評価値を求め、前記評価値に基づいて、前記第２の画像の設定パラメーターの更新処理を行い、前記設定パラメーターに基づいて各部を動作させることを特徴とするロボットに関係する。
【００３６】
これにより、ビジュアルサーボを行って、ロボットを動作させること等が可能になる。
【００３７】
また、本発明の他の態様では、上記各部としてコンピューターを機能させるプログラムに関係する。
【図面の簡単な説明】
【００３８】
【図１】第１の実施形態の画像処理装置のシステム構成例。
【図２】位置姿勢検出処理の説明図。
【図３】第１の実施形態の処理の流れを説明するフローチャート。
【図４】図４（Ａ）〜図４（Ｄ）は、画像の二値化処理の説明図。
【図５】第１の画像と第２の画像を重複表示した場合にできる領域の説明図。
【図６】評価値Ｅのヤコビアンの説明図。
【図７】図７（Ａ）〜図７（Ｄ）は、設定パラメーターの更新時の説明図。
【図８】図８（Ａ）〜図８（Ｃ）は、重み付け情報の説明図。
【図９】第２の実施形態のロボットのシステム構成例。
【図１０】第２の実施形態のロボットの具体的な構成例。
【図１１】位置ベースビジュアルサーボの流れを説明するフローチャート。
【図１２】図１２（Ａ）、図１２（Ｂ）は、ビジュアルサーボにより動作するロボットの説明図。
【図１３】特徴ベースビジュアルサーボの流れを説明するフローチャート。
【図１４】第２の実施形態の処理の流れを説明するフローチャート。
【発明を実施するための形態】
【００３９】
以下、第１の実施形態及び第２の実施形態について説明する。まず、各実施形態の背景と手法の概要をまとめて説明する。次に、実施形態毎にシステム構成例と手法、処理の流れを詳細に説明する。なお、以下に説明する各実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また各実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４０】
１．概要
画像中の対象物体像から、その物体の３次元的な位置姿勢を知ることは、種々の応用において必要とされる。一例として、産業用ロボットの応用においては、カメラなどを用いて物体を撮像し、撮像した画像を用いて物体の位置姿勢情報を検出し、検出した位置姿勢情報を用いてロボットがその物体を把持する、などと言うことが要求される。
【００４１】
そのような場合に用いる物体の位置姿勢の検出方法の一つとして、Analysis By Synthesis（ＡｂＳ）と呼ばれる手法がある。ＡｂＳでは、対象物体のＣＡＤデータを用いてその物体の像を作成し、その像と実際の物体とを画像で比較し、それらが一致した時の画像の合成パラメーターをその物体の位置姿勢を表す情報として検出する。
【００４２】
しかし、この手法を単純に実行する場合には非常に長い処理時間が必要となる。例えば、３軸の回転のそれぞれを１度刻みとし３６０度を考え、画像中の位置の刻みを縦横１０００程度とし、更に拡大縮小を１００段階程度とすれば、これら全ての組み合わせは３６０３×１０００２×１００通りとなり、４．７×１０１５程度の処理量が必要となる。仮に１回の処理が１ナノ秒で終わるとしても、この処理全体を実行するとすれば５４日程度が必要となる。
【００４３】
勿論、１回の処理に要する時間が１ナノ秒と言うことは現実的ではなく、実際には１回の処理に１０マイクロ秒程度の時間が必要となる。また、上記のように処理全体を実行するのも現実的なものではなく、例えば図心を合わせるなどの処理により、比較位置の組み合わせを１０２通り程度に限定することは可能である。しかし、これらはちょうど相殺し、この例では、やはり全体の処理には５４日程度が必要と言うことになる。この処理時間は全く実用になるものでは無い。
【００４４】
さらに、このような目的で使用される技術として、例えば前述した特許文献１に記載されている発明がある。特許文献１に記載される方法を、まとめると以下のような特徴がある。
【００４５】
まず、対象物体について、可能な見え方を複数サンプリングし、複数の仮想ビューを作成する。次に、その仮想ビューを間引くことにより、低解像度の仮想ビューを作成する。そして、それらを木構造で表現し、各仮想ビューにおいて、適切な２次元マッチング処理を行う。なお、マッチング処理としては、物体の輪郭情報に関連する方法を用いる。
【００４６】
この手法によれば、粗い処理から精密な処理へと段階的に処理を進めて、処理時間を大幅に削減することが可能となる。
【００４７】
しかし、この特許文献１に記載される発明には以下のような問題点がある。第１に、複数の視点からの仮想ビュー、更にはその解像度を変化させたビューなど、非常に大量のデータが必要とされる。これには、静的にデータを持つのであれば大きなメモリ量が、また動的に生成するのであれば大きな処理能力が要求される。第２に、輪郭情報を用いる手法はノイズや照明条件の変化に弱い。
【００４８】
また、この手法では、マッチング処理に輪郭情報を用いているが、他の手法においては自乗誤差和（Sum of Squared Difference: SSD）を用いる例も多数ある。しかし、ＳＳＤは条件によっては姿勢差を正確に表現できないと言う問題がある。
【００４９】
以下で説明する第１の実施形態及び第２の実施形態の画像処理装置等では、２つの画像の重複度合いを調整するための画像の設定パラメーターの更新処理をより高速に行う。さらに、前述した問題を解決しつつ、物体の位置姿勢推定方法をより高速に実現する。
【００５０】
そして、第１の実施形態では、画像処理装置等をＣＡＤマッチングに利用する場合について説明し、第２の実施形態では、画像処理装置等をロボットのビジュアルサーボに利用する場合について説明する。
【００５１】
２．第１の実施形態
２．１  システム構成例
次に、本実施形態の画像処理装置の構成例を図１に示す。
【００５２】
画像処理装置１００は、第１の画像取得部１１０と、第２の画像取得部１２０と、領域情報演算部１３０と、設定パラメーター更新部１４０と、判定部１５０とを含む。なお、画像処理装置１００は、図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
【００５３】
次に各部で行われる処理について説明する。
【００５４】
第１の画像取得部１１０は、第１の画像を取得する。第１の画像は、後述する一致判定処理の対象であるオブジェクトを表す画像であり、例えば外部の撮像部により撮像された撮像画像（カメラ入力画像）である。
【００５５】
また、第２の画像取得部１２０は、第２の画像を取得する。第２の画像は、例えば３次元オブジェクト空間に配置されたオブジェクトの画像であり、例えばＣＧ(computer graphics)画像である。第２の画像取得部１２０は、記憶部から第２の画像を取得してもよいし、外部と通信を行って第２の画像を取得してもよい。
【００５６】
後述する処理では、第１の画像に表されるオブジェクトと第２の画像に表されるオブジェクトが一致するように、第２の画像の設定パラメーターを調整する。すなわち、第１の画像が正解画像であり、第２の画像が現在の状態を表す画像であるとも言える。
【００５７】
そして、領域情報演算部１３０は、画像の一部又は全ての領域についての領域情報を求める。なお、領域情報の具体例については後述する。
【００５８】
また、設定パラメーター更新部１４０は、第２の画像の設定パラメーターの更新処理を行う。ここで、本実施形態における設定パラメーターは、第２の画像により表されるオブジェクトの位置姿勢特定パラメーターである。
【００５９】
さらに、判定部１５０は、第１の画像に表されるオブジェクトと第２の画像に表されるオブジェクトの位置姿勢の一致判定処理を行う。
【００６０】
なお、領域情報演算部１３０と、設定パラメーター更新部１４０と、判定部１５０の機能は、各種プロセッサー（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアーや、プログラムなどにより実現できる。
【００６１】
２．２  処理の詳細
ＣＡＤマッチングによる物体の位置姿勢検出処理は、基本的には図２に示すような流れで行う。すなわち、第１の画像（撮像画像）ＰＩＭと第２の画像（ＣＧ画像、ＣＡＤ画像）ＣＩＭの合成処理を行って、合成画像ＭＩＭを生成し、次に、合成画像ＭＩＭを用いて第１の画像ＰＩＭと第２の画像ＣＩＭの比較処理を行う。そして、何らかの誤差関数、あるいは適合度判定関数を用意し、最も適合度が高くなるように又は最もエラーが少なくなるように、第２の画像の設定パラメーター（合成パラメーター）を更新する。以上の処理を繰り返し、更新した設定パラメーターを用いて物体の位置姿勢を推定する。
【００６２】
ただし、合成処理と比較処理には非常に長い処理時間が必要とされるため、高速化を図るためには、何らかの前処理を行って検出時の処理量を削減する必要があった。
【００６３】
前処理の一例としては、予め、姿勢と画像特徴を結びつけるＬＵＴ（ルックアップテーブル）を作成する処理などがある。この場合には、このＬＵＴを用いることにより、入力された画像の特徴と類似した物体の姿勢を効率的に発見し、処理全体の高速化を図ることができる。ただし、この場合には、この前処理データを作成するために処理量の大きな事前処理と、そこで生成されたデータを蓄積するためのメモリーを必要とする。前述したように、この前処理が必要であるのは、画像の合成処理と比較処理が低速だったからである。
【００６４】
しかし、近年の技術発展に伴って、画像の合成処理及び比較処理は低速ではなくなってきた。つまり、前処理は必ずしも必要ではない。
【００６５】
このことを踏まえて、本実施形態における３つの改善点を以下にまとめる。
【００６６】
第１に本実施形態では、対象画像データ、ＣＧ合成画像データを二値化し、３種のマスク演算で、演算後の３種の領域の面積値又はピクセル数を得る。
【００６７】
第２に本実施形態では、その３種の値に対して重み付けを行い、１つの評価値を得る。
【００６８】
第３に本実施形態では、ＣＧ合成パラメーターを微小に変化させてヤコビアンを数値的に取得し、その値を使って、最急降下法を元にした手法により合成パラメーターを更新する。
【００６９】
以下、図３のフローチャートを用いて本実施形態の処理の流れについて詳細に説明する。
【００７０】
まず、ＣＡＤデータを入力する（Ｓ１０１）。ここで、入力されるＣＡＤデータは、ＣＡＤマッチングの対象となる対象物体の像を作成可能なデータのことである。具体的には、対象物体を表すＶＲＭＬ(Virtual Reality Modeling Language)データやＳＴＬ(Stereo-Lithography)データなどを入力する。これらのデータは、物体を三角形（ポリゴン）の集合として表現するものであって、物体を構成する点の空間座標、構成要素である各三角形を構成する点の組の情報、及び各三角形の法線方向を含むことができる。
【００７１】
次に、ＣＡＤ合成パラメーターを初期化する（Ｓ１０２）。ＣＡＤ合成パラメーターの初期化方法には複数の方法が考えられ、実施の際に選択可能である。具体的な例としては、第１の画像と第２の画像の図心が一致するように初期パラメーターを設定するなどの方法が考えられる。すなわち、第１の画像の第１の座標系（カメラ画像系）と第２の画像の第２の座標系（モデル座標系）との間の座標系の回転を調整する。
【００７２】
具体的に、ＣＡＤ合成パラメーターは、モデル座標系のカメラ座標系に対する回転を表す３つのパラメーター（３自由度）と、モデル座標系のカメラ座標系に対する原点位置を表す３つのパラメーター（３自由度）である。ただし、カメラから得られるデータは２次元であるため、カメラ座標系での位置を表すＸ軸座標値と、Ｙ軸座標値については、画像中の位置を表し、カメラ座標系でのＺ軸座標値（奥行方向）については、物体のスケーリングを表すことになる。すなわち、ＣＡＤ合成パラメーターは、モデル座標系のカメラ座標系に対する回転を表す３つのパラメーター（オイラー角等）と、モデル座標系のカメラ座標系に対する原点位置を表す２つのパラメーター（画像中のＸ、Ｙ座標値）と、モデルの大きさに係わるスケーリング値であるとも言える。
【００７３】
次に、対象画像（第１の画像）を入力し（Ｓ１０３）、対象画像に対して二値化処理を行い、二値化対象画像を生成する（Ｓ１０４）。
【００７４】
具体的に、対象画像の二値化処理においては、オブジェクトが映る領域の画素値を１として、それ以外の領域の画素値を０とする処理を行う。そして、二値化対象画像の各画素値をＯ（ｉ，ｊ）で表す。なお、ｉは二値化対象画像の画素の横軸の座標値であり、ｊは二値化対象画像の画素の縦軸の座標値である。
【００７５】
対象画像は、例えば図４（Ａ）に示す撮像画像ＰＩＭのように、カメラから直接に入力された画像であっても良いし、何らかの記録された画像であっても良い。図４（Ｂ）の画像ＢＩＭ１は、図４（Ａ）の撮像画像ＰＩＭを二値化した画像である。
【００７６】
同様にして、ステップＳ１０１において入力されたＣＡＤデータに基づいて、３次元オブジェクト空間に配置されたオブジェクトを表すＣＡＤ画像（第２の画像）を生成する（Ｓ１０５）。そして、ＣＡＤ画像に対して二値化処理を行い、二値化ＣＡＤ画像を生成する（Ｓ１０６）。
【００７７】
また、ＣＡＤ画像の二値化処理においても、オブジェクトが映る領域の画素値を１として、それ以外の領域の画素値を０とする処理を行う。そして、二値化ＣＡＤ画像の各画素値をＳ（ｉ，ｊ）で表す。なお、ｉは二値化ＣＡＤ画像の画素の横軸の座標値であり、ｊは二値化ＣＡＤ画像の画素の縦軸の座標値である。
【００７８】
図４（Ｃ）に示す画像ＣＩＭは、ＣＡＤ画像の例であり、図４（Ｄ）に示す画像ＢＩＭ２は、図４（Ｃ）のＣＡＤ画像ＣＩＭを二値化した画像の例である。なお、ＣＡＤ画像を生成するためには、物体のＣＡＤデータと、その位置姿勢に係わる合成パラメーターが必要となる。ここで、ＣＡＤ合成に必要なパラメーターとは、例えば、位置に係わる値（Ｘ、Ｙ、Ｚ）、三軸の周りの回転に対応する値（Ｕ、Ｖ、Ｗ）、また物体の大きさに係わるスケーリングファクターＳなどが考えられる。
【００７９】
そして、二値化対象画像と二値化ＣＡＤ画像とを図５のように重ね合わせ、３つの領域を考える。３つの領域とは、図５に示すような第１の領域ＡＲ１と、第２の領域ＡＲ２と、第３の領域ＡＲ３のことである。
【００８０】
ここで、第１の領域ＡＲ１は、二値化対象画像により表されるオブジェクトの領域と二値化ＣＡＤ画像により表されるオブジェクトの領域が重複する領域である。また、第２の領域ＡＲ２は、対象画像により表されるオブジェクトの領域全体のうち、第１の領域に属しない領域である。そして、第３の領域ＡＲ３は、ＣＡＤ画像により表される領域のうち、第１の領域に属しない領域である。これらは、例えばマスク演算、あるいはビット間の論理演算で得ることができる。
【００８１】
さらに、これらの領域を表す領域情報を画像の特徴量として求める（Ｓ１０７）。具体的には、第１の領域情報Ｐａｎｄは式（１）により求め、第２の領域情報Ｐｘｏｒ１は式（２）により求め、第３の領域情報Ｐｘｏｒ２は式（３）により求める。なお、式（１）が与える値は、第１の領域の面積値又はピクセル数である。式（２）、式（３）も同様である。
【００８２】
【数１】
2014127092.tif 000003
【００８３】
【数２】
2014127092.tif 000004
【００８４】
【数３】
2014127092.tif 000005
式（１）は、二値化対象画像のうち、Ｏ（ｉ，ｊ）が１である領域（図５の黒ではない領域）を通過領域とするマスクとし、そこを二値化ＣＡＤ画像のうち、Ｓ（ｉ，ｊ）が１である画素（図５の黒ではない画素）が幾つ通過したかに相当する。あるいは、二値化ＣＡＤ画像のうち、Ｓ（ｉ，ｊ）が１である領域（図５の黒ではない領域）を通過領域とするマスクとし、そこを二値化対象画像のうち、Ｏ（ｉ，ｊ）が１である画素（図５の黒ではない画素）が幾つ通過したか、としても同等である。
【００８５】
式（２）は、それと同等の式（４）とも考えられ、これは二値化ＣＡＤ画像のうち、Ｓ（ｉ，ｊ）が０である領域（図５の黒い領域。なお、式（４）では「！Ｓ（ｉ，ｊ）」と表す。）を通過領域とするマスクとし、そこを二値化対象画像のうち、Ｏ（ｉ，ｊ）が１である画素（図５の黒ではない画素）が幾つ通過したかに相当する。
【００８６】
【数４】
2014127092.tif 000006
また、式（３）は、それと同等の式（５）とも考えられ、これは二値化対象画像のうち、Ｏ（ｉ，ｊ）が０である領域（図５の黒い領域。なお、式（５）では「！Ｏ（ｉ，ｊ）」と表す。）を通過領域とするマスクとし、そこに二値化ＣＡＤ画像のうち、Ｓ（ｉ，ｊ）が１である画素（図５の黒ではない画素）が幾つ通過したかに相当する。
【００８７】
【数５】
2014127092.tif 000007
上記のように、これらは画像に一定の単純なマスク処理と通過画素の計数処理であるので、容易にハードウェアー化による高速化が可能である。
【００８８】
また、これは面積と言う２次元的な量、あるいは通過したピクセルの総数と言う積分的な量であるので、輪郭線のような微分的な量、１次元的な量に比較して、ノイズの影響が相対的に小さくなると言う特徴がある。
【００８９】
そして、画像の特徴量である第１の領域情報から第３の領域情報を用いて、式（６）に示す評価値Ｅを考える。
【００９０】
【数６】
2014127092.tif 000008
この式（６）においては、Ｅが最大となる時に、二値化対象画像に表されるオブジェクトと二値化ＣＡＤ画像に表されるオブジェクトの重なりが最大となっていることが期待される。もしも、式（１）のＰａｎｄが最大であり、かつ式（２）のＰｘｏｒ１と式（３）のＰｘｏｒ２が０に近ければ、二値化対象画像に表されるオブジェクトと二値化ＣＡＤ画像に表されるオブジェクトは、ほぼ重なっていることになり、その時の二値化ＣＡＤ画像の合成パラメーターが二値化対象画像の位置姿勢を近似していると期待できる。
【００９１】
すなわち、Ｐｘｏｒ１とＰｘｏｒ２の和が所定値以下であるかどうかにより、二値化ＣＡＤ画像が二値化対象画像を十分に近似しているかどうかの判断をすることができるため、この判定処理を行う（Ｓ１０８）。なお、この判定処理に用いる所定の閾値は、画像サイズや物体サイズなどに依存する量であり、またどの程度の誤差を許容するかなど、応用に依存して決定されるべきパラメーターである。
【００９２】
そして、Ｐｘｏｒ１とＰｘｏｒ２の和が所定値以下である場合には、現在のＣＡＤ画像の合成パラメーターに基づいて、対象画像に表されるオブジェクトの位置姿勢を推定する（Ｓ１０９）。
【００９３】
一方、Ｐｘｏｒ１とＰｘｏｒ２の和が所定値よりも大きい場合には、ＣＧ合成パラメーターを微小に変化させてヤコビアンを数値的に取得する（Ｓ１１０）。具体的には、式（７）と式（８）を用いて、全てのｉについてＥｉ＋、Ｅｉ−をヤコビアンとして求める。なお、ここではｎ個の合成パラメーターＰ１〜Ｐｎ（ｎは正の整数であり、ｉは１≦ｉ≦ｎである）を考える。
【００９４】
【数７】
2014127092.tif 000009
【００９５】
【数８】
2014127092.tif 000010
式（７）及び式（８）は、ＣＡＤ合成画像を生成するためのｉ番目の合成パラメーターＰｉを、どのように変化させればＥの値が大きくなるかを調べるためのものである。図６に示すように、式（７）で与えられるＥｉ＋は、ｉ番目の合成パラメーターＰｉの値をｄｉだけ大きくした場合のＥの変化を与え、Ｅｉ−はｉ番目の合成パラメーターの値Ｐｉをｄｉだけ小さくした場合のＥの変化を与える。
【００９６】
もしもｉ番目の合成パラメーターＰｉがすでに評価値Ｅの極値を与えるパラメーターあれば、（Ｅｉ＋−Ｅｉ−）は０であることが期待される。また、Ｅｉ＋の方がより大きなＥを与えるパラメーターであれば、（Ｅｉ＋−Ｅｉ−）の値は正となり、Ｅｉ−の方がより大きなＥを与えるパラメーターであれば、（Ｅｉ＋−Ｅｉ−）の値は負となることが期待される。
【００９７】
本実施形態においては、全てのｉについて（Ｅｉ＋−Ｅｉ−）の値を求め、それをベクトル値と考え、そのベクトルを式（９）によって大きさ１に正規化し、それを用いて合成パラメーターを式（１０）のように更新することにより、評価値Ｅの大きさを極大化することを目指す（Ｓ１１１）。
【００９８】
【数９】
2014127092.tif 000011
【００９９】
【数１０】
2014127092.tif 000012
式（１０）において、ｇｉは任意に設定可能なゲイン値であり、ｄｉは式（７）及び式（８）と合成パラメーターＰｉの変位と同じ値であり、ｎは式（９）により求められる値である。
【０１００】
これは最急降下法と似ているが、最急降下法は本実施形態での記述を用いれば、Ｅｉ＋、あるいはＥｉ−のみを用いる、つまり１次微分的な値を用いる方法である。一方、本実施形態では、２つの値を用いる２次微分までの値を用いる方法である。実際、最急降下法では、目標に近づくにつれてゲインを適切に小さくしなければ発振が起こるが、本実施形態の処理においてはゲインの大きさに対して敏感ではない。
【０１０１】
以上の一連の処理を行った結果を、図７（Ａ）〜図７（Ｄ）に示す。まず、図７（Ａ）では、入力された対象画像に対して二値化処理を行った後の二値化対象画像を示している。
【０１０２】
そして、図７（Ｂ）では、設定された合成パラメーターで生成したＣＡＤ画像に対して二値化処理を行った後の二値化ＣＡＤ画像を、図７（Ａ）の二値化対象画像に重畳させた様子を示す。図７（Ｂ）〜図７（Ｄ）では、二値化対象画像に表されるオブジェクトと二値化ＣＡＤ画像に表されるオブジェクトとが重複する第１の領域が白色に表示されている。
【０１０３】
さらに、図７（Ｃ）は、前述した更新処理により合成パラメーターを更新し、更新した合成パラメーターに基づいて生成した二値化ＣＡＤ画像を、再度、図７（Ａ）の二値化対象画像に重畳したものである。図７（Ｃ）では、図７（Ｂ）に比べて白色の領域が増えており、前述した更新方法により合成パラメーターを更新した結果、評価値Ｅが更新され、見かけ上も一致度が改善されていることが見てとれる。
【０１０４】
図７（Ｄ）は、パラメーター更新を継続した結果、評価値Ｅがほぼ極大となり、二値化ＣＡＤ画像と二値化対象画像がほぼ一致した状態を示す。つまり、この合成に用いられた合成パラメーターが、対象画像の中に撮像された物体の位置姿勢を表現していると考えられる。
【０１０５】
また、本実施形態には以下のような付加的な処理が加えられても良い。
【０１０６】
例えば、図７（Ｂ）では二値化対象画像と二値化ＣＡＤ画像の一部が重なっているが、この重なりが全くない場合には、評価値Ｅ、およびＥｉ＋、Ｅｉ−はどのような変化に対しても同じ値となり、合成パラメーターを更新することはできない。このような場合には、例えば、二値化対象画像の図心と、二値化ＣＡＤ画像の図心を合わせるような処理が前処理として追加されても良い。
【０１０７】
また上記において、図７（Ｄ）において用いられた合成パラメーターが対象画像中の物体の位置姿勢を表現していると書いたが、このパラメーターを実際の応用において必要とされるパラメーターに変換する処理を行っても良い。例えば、カメラの設置情報などを用いて、作業空間の位置姿勢に変換すると言うような処理である。
【０１０８】
また、従来技術との差異として、従来技術においては画像間の差異の評価としてＳＳＤ（自乗誤差和）が用いられることが多い。以下では、本実施形態の評価値Ｅと、ＳＳＤとの関連を説明する。
【０１０９】
ＳＳＤは、基本的には式（１１）によって与えられるものである。しかし、本実施形態における画像データは二値化されているため、この計算は大幅に簡略化され、式（１２）のような論理演算、排他的論理和に置き換えられる。
【０１１０】
【数１１】
2014127092.tif 000013
【０１１１】
【数１２】
2014127092.tif 000014
これを前述した図５に対応させると、ＳＳＤは、式（１３）に示すように、第２の領域と第３の領域の面積値、あるいはピクセル数の和に相当する。
【０１１２】
【数１３】
2014127092.tif 000015
一方、本実施形態の差異の評価値Ｅは式（６）で示したものである。これらには以下のような実用上の差異が存在する。
【０１１３】
つまり、対象画像とＣＡＤ画像とがほぼ一致している場合、ＳＳＤが与える値は非常に小さくなり、実質的には、輪郭線の近傍の状態のみに依存することになる。そのため、この状態では、わずかな照明の変化や画像ノイズが、相対的に非常に大きな影響を与えることになる。
【０１１４】
一方、本実施形態の場合は、対象画像とＣＡＤ画像とがほぼ一致している場合には、第１の領域の領域情報Ｐａｎｄが最大となり、領域ノイズ、輪郭ノイズの影響は相対的に小さくなる。これは位置姿勢合わせの感度が低くなると言うことでもあるが、検出の安定性は増す。
【０１１５】
この感度と安定性を両立させるために、式（６）の係数α、β、γを状況に合わせて適切に変更してもよい。つまりαの値を小さくすれば、ＳＳＤの特性に近くなると言うことになる。
【０１１６】
また、別の見方で係数α、β、γの意味を考えると、式（６）の第１項は、主にスケーリングに係わる評価を与えるものである。つまり、ＣＡＤ画像を縮小、あるいは膨張させる合成パラメーターの調整に寄与する。また、図８（Ａ）に示すように、第１の重み付け情報αは、第１の画像に表されるオブジェクトの領域Ｏ１へ、第２の画像に表されるオブジェクトの領域Ｏ２を引き込む力Ｆ１を調整するパラメーターであるとも言える。
【０１１７】
第２項は、対象画像内部におけるＣＡＤ画像の占有率に係わる評価を与える。つまり、内部にある物体の輪郭を、外部にある物体の輪郭に合わせるようにする合成パラメーターの調整に寄与する。図８（Ｂ）を用いて説明すれば、第２の重み付け情報βは、第１の画像に表されるオブジェクトの領域Ｏ１内において、第２の画像に表されるオブジェクトの領域Ｏ２の膨張力Ｆ２を調整するパラメーターであると言える。
【０１１８】
第３項は、ＣＡＤ画像の外部へのはみ出し量に係わる評価を与える。つまり、外部にある物体の輪郭を、内部にある物体の輪郭に合わせるようにする合成パラメーターの調整に寄与する。図８（Ｃ）を用いて説明すれば、第３の重み付け情報γは、第１の画像に表されるオブジェクトの領域Ｏ１へ、第２の画像に表されるオブジェクトの領域Ｏ２を押し込む力Ｆ３を調整するパラメーターであると言える。
【０１１９】
２．３  手法のまとめ
次に、本実施形態の手法についてまとめる。
【０１２０】
以上の本実施形態の画像処理装置１００は、第１の画像を取得する第１の画像取得部１１０と、第２の画像を取得する第２の画像取得部１２０と、画像の一部又は全ての領域についての領域情報を求める領域情報演算部１３０と、第２の画像の設定パラメーターの更新処理を行う設定パラメーター更新部１４０と、を含む。そして、領域情報演算部１３０は、第１の画像と第２の画像とが重複する第１の領域についての第１の領域情報と、第１の画像の領域のうち、第２の画像とは重ならない第２の領域についての第２の領域情報と、第２の画像の領域のうち、第１の画像とは重ならない第３の領域についての第３の領域情報と、を求める。さらに、設定パラメーター更新部１４０は、第１の領域情報と、第２の領域情報と、第３の領域情報とに基づいて、第１の画像と第２の画像との重複度合いについての評価値を求め、評価値に基づいて、第２の画像の設定パラメーターの更新処理を行う。
【０１２１】
本実施形態では、第１の画像と第２の画像とを同一平面上に重ねて表示した時の第１の領域情報〜第３の領域情報を求める。そして、求めた第１の領域情報〜第３の領域情報に基づいて、第１の画像と第２の画像との重複度合いについての評価値を求める。さらに、求めた評価値に基づいて、第２の画像の設定パラメーターの更新処理を行う。
【０１２２】
本実施形態の手法では、２つの画像の重複度合いを調整するための画像の設定パラメーターの更新処理を高速に実行することができる。
【０１２３】
また、本実施形態の手法では、予め大量のデータを作成する必要がない。従って、非常に少量のメモリーで設定パラメーターの更新処理を実行することができる。
【０１２４】
また、第２の画像は、３次元オブジェクト空間に配置されたオブジェクトの画像であってもよい。そして、設定パラメーターは、第２の画像により表されるオブジェクトの位置姿勢特定パラメーターであってもよい。さらに、設定パラメーター更新部１４０は、位置姿勢特定パラメーターの更新処理を行ってもよい。
【０１２５】
これにより、本実施形態の手法をＣＡＤマッチングに応用すること等が可能になる。
【０１２６】
また、本実施形態の画像処理装置１００は、オブジェクトの位置姿勢の一致判定処理を行う判定部１５０をさらに含んでもよい。そして、第１の画像は、一致判定処理の対象であるオブジェクトの画像であってもよい。さらに、判定部１５０は、設定パラメーター更新部１４０により求められた評価値に基づいて、第１の画像により表されるオブジェクトと第２の画像により表されるオブジェクトとの位置姿勢の一致判定処理を行ってもよい。
【０１２７】
なお、位置姿勢の一致判定処理の代わりに、状態判定処理を行ってもよい。例えば、状態判定処理では、オブジェクトの位置姿勢の他にも、オブジェクトの破損状態を検出する処理などを行っても良い。
【０１２８】
これにより、物体の位置姿勢推定をより高速に実現すること等が可能になる。
【０１２９】
また、領域情報演算部１３０は、第１の画像及び第２の画像が２値化された画像データに対して計数処理を行うことにより、第１の領域情報、第２の領域情報及び第３の領域情報を求めてもよい。
【０１３０】
これにより、第１の領域情報、第２の領域情報及び第３の領域情報の算出処理を簡略化すること等が可能になる。さらに、ハードウェアー化等が非常に容易になる。そのため、２つの画像の重複度合いを調整するための画像の設定パラメーターの更新処理を非常に高速に実行することができる。
【０１３１】
また、領域情報演算部１３０は、第１の領域のピクセル数又は面積値を表す情報を第１の領域情報として求め、第２の領域のピクセル数又は面積値を表す情報を第２の領域情報として求め、第３の領域のピクセル数又は面積値を表す情報を第３の領域情報として求めてもよい。
【０１３２】
これにより、計数処理において扱いやすいピクセル数等を領域情報として用いること等が可能になる。
【０１３３】
また、設定パラメーター更新部１４０は、第１の領域情報と、第２の領域情報と、第３の領域情報と、領域情報の重み付け情報とに基づいて、評価値を求め、評価値に基づいて第２の画像の設定パラメーターの更新処理を行ってもよい。
【０１３４】
これにより、第１の領域情報と、第２の領域情報と、第３の領域情報のそれぞれに対して重み付け情報を設定して、重み付けされた各領域情報に基づいて評価値を求めること等が可能になる。すなわち、第１の領域情報と、第２の領域情報と、第３の領域情報とのうち、どの領域情報を重視して評価値を算出するかを、重み付け情報の大小等により調整すること等が可能になる。
【０１３５】
また、設定パラメーター更新部１４０は、第１の領域情報から得られる情報に対する、第２の領域情報から得られる情報と第３の領域情報から得られる情報と差分情報を評価値として求めてもよい。
【０１３６】
これにより、評価値が最大になる場合に、第１の画像に表されるオブジェクトと第２の画像に表されるオブジェクトとが一致していると判定すること等が可能になる。
【０１３７】
この場合には、評価値が最大となる設定パラメーターの変位を求めればよい。
【０１３８】
そこで、設定パラメーター更新部１４０は、評価値の評価関数のヤコビアンを求め、求めたヤコビアンに基づいて設定パラメーターの更新処理を行ってもよい。
【０１３９】
これにより、例えば前述したように、式（７）のＥｉ＋と式（８）のＥｉ−をヤコビアンとして求めて、Ｅｉ＋とＥｉ−の大小の比較処理を行うことにより、評価値Ｅが最大となる設定パラメーターの変位ｄｉを求めること等が可能になる。具体的には、Ｅｉ＋とＥｉ−が等しくなる時の変位ｄｉが、評価値Ｅを最大にする変位であると判断すること等が可能になる。
【０１４０】
しかし、Ｅｉ＋とＥｉ−を考えた時に、本来、評価値Ｅが最大ではない変位ｄｉにおいてＥｉ＋とＥｉ−が等しくなってしまうこともある。この場合には、最適な設定パラメーターを求めることができない。
【０１４１】
そこで、設定パラメーター更新部１４０は、第１の領域情報Ｐａｎｄと第１の重み付け情報α（ただし、α≠０）との積αＰａｎｄから、第２の領域情報Ｐｘｏｒ１と第２の重み付け情報βとの積βＰｘｏｒ１と、第３の領域情報Ｐｘｏｒ２と第３の重み付け情報γとの積γＰｘｏｒ２とを減算処理した値を、評価値Ｅとして求めてもよい。
【０１４２】
これにより、第１の画像に表されるオブジェクトの領域への引き込み力を調整するパラメーターとして第１の重み付け情報αを用い、第２の画像に表されるオブジェクトの領域の膨張力を調整するパラメーターとして第２の重み付け情報βを用い、第１の画像に表されるオブジェクトの領域への押し込み力を調整するパラメーターとして第３の重み付け情報γを用いること等が可能になる。このように、３つの重み付け情報を用いることにより、本来、評価値Ｅが最大ではない変位ｄｉにおいてＥｉ＋とＥｉ−が等しくなることを抑制すること等が可能になる。
【０１４３】
さらに、本実施形態の手法は、上記のように積分的なパラメーターのみで動作するため、輪郭情報に比較して影などの照明条件やノイズの影響を受けることが少ない。従って、非常に安定して動作させることができる。
【０１４４】
また、設定パラメーター更新部１４０は、第２の領域のピクセル数と第３の領域のピクセル数との和又は第２の領域の面積値と第３の領域の面積値との和が、所与の閾値よりも大きい場合に、第２の画像の設定パラメーターの更新処理を行ってもよい。
【０１４５】
これにより、既に第１の画像により表されるオブジェクトの領域と第２の画像により表されるオブジェクトの領域が十分に重複していると判断できる場合には、第２の画像の設定パラメーターの更新処理を行わず、第１の画像により表されるオブジェクトの領域と第２の画像により表されるオブジェクトの領域が十分に重複していないと判断した場合に限り、第２の画像の設定パラメーターの更新処理を行うこと等が可能になる。また、所与の閾値の設定次第で、位置姿勢推定処理の精度を調整すること等も可能になる。
【０１４６】
３．第２の実施形態
３．１  システム構成例
次に、本実施形態のロボットの構成例を図９に示す。
【０１４７】
ロボット３００は、画像処理装置１００と、ロボット制御部４００と、ロボット機構３１０とを含む。なお、画像処理装置１００及びこれを含むロボット３００は、図９の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
【０１４８】
次に各部で行われる処理について説明する。なお、画像処理装置１００の各部のうち、図１と同様の部分については説明を省略する。
【０１４９】
第１の画像取得部１１０は、第１の画像として、例えば３次元オブジェクト空間に配置されたオブジェクトの画像であり、例えばＣＧ画像を取得する。
【０１５０】
また、第２の画像取得部１２０は、第２の画像として、例えば外部の撮像部により撮像された撮像画像（カメラ入力画像）を取得する。
【０１５１】
前述した第１の実施形態において説明したＣＡＤマッチングの場合とは、第１の画像と第２の画像の具体例が異なるが、本実施形態においても第１の画像が正解画像であり、第２の画像が現在の状態を表す画像であることに変わりはない。
【０１５２】
そして、設定パラメーター更新部１４０は、設定パラメーターの更新処理として、第２の画像に映された操作対象オブジェクトを操作するロボット３００（ロボット機構３１０）の制御パラメーターの更新処理を行う。
【０１５３】
また、ロボット制御部４００は、設定パラメーター更新部１４０により更新されたロボット３００の制御パラメーターに従って、ロボット機構３１０の各部を動作させる。なお、図９では、ロボット制御部４００が画像処理装置１００の外部に設けられているが、画像処理装置１００がロボット制御部４００を含んでいても良い。
【０１５４】
ここで、図１０に本実施形態のロボット３００の具体例を示す。図１０に示すように、ロボット３００はロボット機構３１０及びロボット機構３１０を支えるベースユニット部を含み、当該ベースユニット部に画像処理装置１００が格納される。
【０１５５】
そして、不図示のロボット制御部４００がロボット機構３１０の制御処理を行う。具体的には、ロボット機構３１０の制御パラメーター（動作シーケンス情報、シナリオ情報）と、２つの画像（第１の画像と第２の画像）にそれぞれ表されるオブジェクトの位置姿勢についての一致判定処理結果等に基づいて、ロボット機構３１０を動作させる制御を行う。
【０１５６】
また、ロボット機構３１０は、アーム３２０とハンド（把持部）３３０とを有する。さらに、図１０のロボット機構３１０には、ベースユニット部に車輪等が設けられ、ロボット３００全体が移動可能な構成となっている。そして、ロボット制御部４００からの動作指示にしたがって動作する。例えば、図示しないパレットに載せられたワークを把持したり、移動したりするなどの動作を行う。また、図示しない撮像装置で取得された撮像画像情報に基づいて、ロボット３００の姿勢やワークの位置などの情報が検出され、検出された情報が画像処理装置１００に送られる。なお、図１０は双腕型のロボットの例であるが、ロボット３００は単腕型や多腕型のロボットであってもよい。なお、ロボット３００の移動は人手で行われてもよいし、車輪を駆動するモーターを設け、当該モーターを画像処理装置１００により制御することで行ってもよい。また、図１０では、ロボット機構３１０と画像処理装置１００とが一体に構成されているが、本実施形態のロボット３００はそれに限定されず、ロボット機構３１０と画像処理装置１００とが別体に構成されていてもよい。
【０１５７】
３．２  ビジュアルサーボの概要
本実施形態の特徴を説明する前に、ビジュアルサーボの概要と、位置ベースビジュアルサーボの流れと特徴ベースビジュアルサーボの流れについて説明する。
【０１５８】
ビジュアルサーボとは、目標物の位置の変化を視覚情報として計測し、それをフィードバック情報として用いることによって目標物を追跡するサーボ系の一種である。ビジュアルサーボは、サーボ系への入力情報（制御量）によって、位置ベースビジュアルサーボと特徴ベースビジュアルサーボの二つに大別される。位置ベースビジュアルサーボは、物体の位置情報や姿勢情報がサーボ系への入力情報となり、特徴ベースビジュアルサーボは、画像の特徴量がサーボ系への入力情報となる。他にも、位置ベースと特徴ベースをハイブリッドした手法もある。本実施形態で扱うビジュアルサーボは、これら全ての手法を対象とする。
【０１５９】
これらのビジュアルサーボにおける共通点は、参照画像と撮像画像を元にサーボ系への入力情報を求める点である。本実施形態は、この参照画像（第１の画像）と撮像画像（第２の画像）とを２値化することにより、サーボ系への入力情報の算出の容易化を図る。
【０１６０】
３．２．１  位置ベースビジュアルサーボの流れ
まず、図１１において、位置ベースビジュアルサーボの流れを示す。位置ベースビジュアルサーボでは、まず参照画像を設定する（Ｓ１）。ここで、参照画像（第１の画像）とは、目標画像やゴール画像とも呼ばれ、ビジュアルサーボの制御目標となる画像であり、ロボット３００の目標状態を表す画像をいう。すなわち、参照画像とは、ロボット３００の目標位置や目標姿勢を表す画像、もしくはロボット３００が目標位置に位置する状態を表す画像である。また、参照画像はあらかじめ用意しておき、記憶部に記憶しておく必要がある。
【０１６１】
次に、撮像部によって作業スペースを撮像し、撮像画像を取得する（Ｓ２）。撮像画像（第２の画像）とは、撮像部によって撮像された画像である。撮像画像は、作業スペースの現在の状態を表しており、撮像画像内にロボット３００やワークが映りこんでいる場合には、ロボット３００やワークの現在の状態を表している。なお、撮像部の性能によっては処理遅延が生じるが、ここでは、処理遅延が生じている場合でも、撮像画像には現在の状態が映されているものとして扱う。
【０１６２】
例えば、図１２（Ａ）に参照画像ＲＩＭの具体例を、図１２（Ｂ）に撮像画像ＰＩＭの具体例を示す。撮像画像ＰＩＭにおいて、ロボットＲＢはアームＡＭとハンドＨＤ（もしくはエンドポイントＥＰ）を上方へ向けているが、参照画像ＲＩＭでは、ロボットＲＢはアームＡＭを折り曲げて、ハンドＨＤをワークＷＫに近づけている。したがって、この具体例においては、ロボットＲＢのアームＡＭを折り曲げ、ハンドＨＤをワークＷＫに近づけるようにロボットＲＢを制御することになる。
【０１６３】
次に、制御指令を生成する（Ｓ３）。例えば、制御指令生成は、参照画像と撮像画像に基づいて、座標変換の一つであるホモグラフィー等を用いることにより行われる。この場合には、ホモグラフィー行列を求め、ホモグラフィー行列からロボット３００の制御信号として速度指令を生成する。
【０１６４】
ここで、制御信号（制御指令、ロボットの制御パラメーター）とは、ロボット３００を制御するための情報を含む信号のことをいう。また、速度指令とは、ロボット３００の各部を制御するための情報として、ロボット３００のアーム３２０のエンドポイント等の移動速度や回転速度を与える指令の方法を指す。
【０１６５】
そして、生成された制御信号に基づいて、制御量（ここではロボット３００の位置や姿勢）が目標値に収束したか否かを判断する（Ｓ４）。例えば、ホモグラフィーを用いる場合において、速度指令により表される速度ベクトルが０である場合には、制御量である位置や姿勢が目標状態に到達したとみなすことができるため、制御量が目標値に収束したと判断し、速度ベクトルが０でない場合には、制御量が目標値に収束していないと判断する。
【０１６６】
制御量が目標値に収束したと判断する場合にはビジュアルサーボを終了する。一方、制御量が目標値に収束していないと判断する場合には、新たな制御指令を送出する（Ｓ５）。
【０１６７】
位置ベースビジュアルサーボでは、制御量が目標値に収束するまで以上の処理を繰り返す。
【０１６８】
３．２．２  特徴ベースビジュアルサーボの流れ
次に、図１３において、特徴ベースビジュアルサーボの流れを示す。位置ベースビジュアルサーボと同様に、まず参照画像を設定し（Ｓ１０）、次に、撮像部によって作業スペースを撮像し、撮像画像を取得する（Ｓ１１）。なお、特徴ベースビジュアルサーボを用いる場合には、参照画像を設定する際に参照画像の特徴抽出を行い、特徴量を算出しておくことが望ましい。または、参照画像の特徴を抽出した参照画像情報を記憶部に記憶しておいてもよい。画像の特徴抽出については、例えば、コナー検出やガウスフィルタ等を用いて行なう。
【０１６９】
次に、撮像画像の特徴を抽出する（Ｓ１２）。なお、参照画像の特徴抽出は、参照画像設定の際に行っておくことが望ましいが、ここで行ってもよい。特徴抽出では、ビジュアルサーボ系への入力情報（制御量）として、画像の特徴量を求める。
【０１７０】
そして、画像の特徴量に基づいて、参照画像と撮像画像が一致するか否かを比較する（Ｓ１３）。画像が一致すると判断する場合（Ｓ１４）には、ビジュアルサーボを終了する。一方、画像が一致しないと判断する場合（Ｓ１４）には、制御指令を生成し（Ｓ１５）、新たな制御指令を送出する（Ｓ１６）。
【０１７１】
特徴ベースビジュアルサーボでは、制御量が目標値に収束するまで以上の処理を繰り返す。
【０１７２】
３．３  処理の詳細
本実施形態では、図１４のフローチャートに示す流れで、第２の画像の設定パラメーターとしてロボットの制御パラメーターを求め、求めた制御パラメーターに基づいて、ロボットを動作させる。
【０１７３】
まず、ロボットの操作対象オブジェクトに関するＣＡＤデータを入力し（Ｓ２０１）、ＣＡＤ合成パラメーターを初期化する（Ｓ２０２）。
【０１７４】
次に、ロボットが目標の位置姿勢を取っている状態を示す対象画像（第１の画像）を、入力されたＣＡＤデータに基づいて生成する（Ｓ２０３）。本実施形態では、対象画像は例えばＣＧ画像である。また、他にもステップＳ２０１とステップＳ２０２の処理を行わない場合には、あらかじめ撮像しておいた撮像画像や、外部に記憶しておいた画像を対象画像として用いてもよい。
【０１７５】
次に、対象画像に対して二値化処理を行い、二値化対象画像を生成する（Ｓ２０４）。なお、この処理は、図３のステップＳ１０４と同様の処理である。
【０１７６】
さらに、ロボットの現在の位置姿勢を表す撮像画像（第２の画像）を撮像し（Ｓ２０５）、撮像画像に対して二値化処理を行って、二値化撮像画像を生成する（Ｓ２０６）。なお、この処理も、図３のステップＳ１０６と同様の処理である。
【０１７７】
そして、二値化対象画像と二値化撮像画像とに基づいて、ＰａｎｄとＰｘｏｒ１とＰｘｏｒ２を求め（Ｓ２０７）、Ｐｘｏｒ１とＰｘｏｒ２の和が所定値以下か否かを判定する（Ｓ２０８）。
【０１７８】
Ｐｘｏｒ１とＰｘｏｒ２の和が所定値以下であると判定した場合には、ロボットが目標の位置姿勢をとった状態にあると判定し（Ｓ２０９）、処理を終了する。
【０１７９】
一方で、Ｐｘｏｒ１とＰｘｏｒ２の和が所定値よりも大きいと判定した場合には、ロボットの制御パラメーターを微小に変化させてヤコビアンを数値的に取得する（Ｓ２１０）。具体的には、第１の実施形態と同様に、式（７）と式（８）を用いて、全てのｉについてＥｉ＋、Ｅｉ−をヤコビアンとして求める。
【０１８０】
そして、全てのｉについて（Ｅｉ＋−Ｅｉ−）の値を求め、それをベクトル値と考え、そのベクトルを式（９）によって大きさ１に正規化する。次に、式（９）により求められる値ｎを用いて合成パラメーターを式（１０）に従って更新して、評価値Ｅの大きさを極大化し、その時のロボットの制御パラメーターの変位に基づいて、ロボットの制御パラメーターを更新する（Ｓ２１１）。
【０１８１】
そして、更新処理後のロボットの制御パラメーターに基づいてロボットを動作させる（Ｓ２１２）。動作後のロボットの状態を示す撮像画像を撮像し（Ｓ２０５）、以下の処理を繰り返す。
【０１８２】
３．４  手法のまとめ
次に、本実施形態の手法についてまとめる。
【０１８３】
本実施形態において、第２の画像は、ロボット３００の操作対象オブジェクトの画像であってもよい。そして、設定パラメーターは、第２の画像に映された操作対象オブジェクトを操作するロボット３００の制御パラメーターであってもよい。さらに、設定パラメーター更新部１４０は、ロボット３００の制御パラメーターの更新処理を行ってもよい。
【０１８４】
これにより、本実施形態の手法をビジュアルサーボに応用すること等が可能になる。
【０１８５】
また、本実施形態のロボット３００は、画像処理装置１００を含んでもよい。
【０１８６】
また、本実施形態のロボット３００は、第１の画像と第２の画像を取得し、第１の画像と第２の画像とが重複する第１の領域についての第１の領域情報と、第１の画像の領域のうち、第２の画像とは重ならない第２の領域についての第２の領域情報と、第２の画像の領域のうち、第１の画像とは重ならない第３の領域についての第３の領域情報と、を求めてもよい。そして、ロボット３００は、第１の領域情報と、第２の領域情報と、第３の領域情報とに基づいて、第１の画像と第２の画像との重複度合いについての評価値を求め、評価値に基づいて、第２の画像の設定パラメーターの更新処理を行い、設定パラメーターに基づいて各部を動作させてもよい。
【０１８７】
これにより、本実施形態の手法により、ビジュアルサーボを行って、ロボット３００を動作させること等が可能になる。
【０１８８】
なお、以上の画像処理装置１００及びロボット３００等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、前述した画像処理装置１００及びロボット３００等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて第１の実施形態又は第２の実施形態の種々の処理を行う。即ち、情報記憶媒体には、第１の実施形態又は第２の実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【０１８９】
以上のように第１の実施形態又は第２の実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、画像処理装置、画像処理方法、プログラム及びロボットの構成、動作も第１の実施形態又は第２の実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１９０】
１００  画像処理装置、１１０  第１の画像取得部、１２０  第２の画像取得部、
１３０  領域情報演算部、１４０  設定パラメーター更新部、１５０  判定部、
３００  ロボット、３１０  ロボット機構、３２０  アーム、
３３０  ハンド（把持部）、４００  ロボット制御部
【図１】
2014127092.tif 000016
【図３】
2014127092.tif 000017
【図６】
2014127092.tif 000018
【図８】
2014127092.tif 000019
【図９】
2014127092.tif 000020
【図１０】
2014127092.tif 000021
【図１１】
2014127092.tif 000022
【図１２】
2014127092.tif 000023
【図１３】
2014127092.tif 000024
【図１４】
2014127092.tif 000025
【図２】
2014127092.tif 000026
【図４】
2014127092.tif 000027
【図５】
2014127092.tif 000028
【図７】
2014127092.tif 000029