(57)【要約】【課題】  検出対象が複数ある場合に、各検出対象を検出することができる画像処理装置、ロボット、プログラム及び画像処理方法等の提供。【解決手段】  画像処理装置１００は、複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、第１の配置パターンとは異なる第２の配置パターンで配置されたテンプレート画像データを取得するテンプレート画像取得部１１０と、画像中に検出対象が映る入力画像データを取得する入力画像取得部１３０と、テンプレート画像データ及び入力画像データに対して、位相限定相関処理を行うことで、検出対象に対応するテンプレートオブジェクトである対応テンプレートオブジェクトを特定する処理部１５０と、を含む。【選択図】  図１
2015102992.tif 000002
【特許請求の範囲】
【請求項１】
複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、前記複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、前記第１の配置パターンとは異なる第２の配置パターンで配置されたテンプレート画像データを取得するテンプレート画像取得部と、
画像中に検出対象が映る入力画像データを取得する入力画像取得部と、
前記テンプレート画像データ及び前記入力画像データに対して、位相限定相関処理を行うことで、前記検出対象に対応するテンプレートオブジェクトである対応テンプレートオブジェクトを特定する処理部と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記処理部は、
前記位相限定相関処理を行うことにより、入力画像上における、前記入力画像とテンプレート画像との相関ピーク位置の位置関係を特定し、
前記相関ピーク位置の前記位置関係に対応する配置パターンのテンプレートオブジェクトが、前記対応テンプレートオブジェクトであると特定することを特徴とする画像処理装置。
【請求項３】
請求項１又は２において、
前記第２の配置パターンは、
空間領域において、平行移動した際に前記第１の配置パターンと重ならないパターンであることを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記テンプレート画像取得部は、
前記第１のテンプレートオブジェクト画像データに対して、フーリエ変換を行って、空間周波数により表される第１の位相信号を取得し、
前記第２のテンプレートオブジェクト画像データに対して、前記フーリエ変換を行って第２の位相信号を取得し、
空間領域において前記第１のテンプレートオブジェクトが前記第１の配置パターンで配置されるように、空間周波数領域で前記第１の位相信号に変位を加え、
前記空間領域において前記第２のテンプレートオブジェクトが前記第２の配置パターンで配置されるように、前記空間周波数領域で前記第２の位相信号に変位を加えて合成することにより、前記テンプレート画像データを生成することを特徴とする画像処理装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記第１の配置パターン及び前記第２の配置パターンは、
空間領域において、テンプレートオブジェクトの複数の配置位置を結ぶ図形の重心位置と、画像の中心位置とが一致するパターンであることを特徴とする画像処理装置。
【請求項６】
請求項５において、
前記第１の配置パターン及び前記第２の配置パターンは、
前記空間領域において、画像の中心位置に対して回転対称性を有することを特徴とする画像処理装置。
【請求項７】
請求項１乃至４のいずれかにおいて、
前記第１の配置パターン及び前記第２の配置パターンは、
空間領域における画像の中心点に対して、前記テンプレートオブジェクトが点対称になるように配置されるパターンであることを特徴とする画像処理装置。
【請求項８】
請求項１乃至４のいずれかにおいて、
前記第１の配置パターンは、
空間領域において、前記第１のテンプレートオブジェクトが、画像の中心点から第１の方向に第１の距離だけ離れた第１の配置位置と、前記中心点から前記第１の方向と逆方向に、前記第１の距離だけ離れた第２の配置位置とに配置されるパターンであり、
前記第２の配置パターンは、
前記第２のテンプレートオブジェクトが、前記中心点から第２の方向に第２の距離だけ離れた第３の配置位置と、前記中心点から前記第２の方向と逆方向に、前記第２の距離だけ離れた第４の配置位置とに配置されるパターンであることを特徴とする画像処理装置。
【請求項９】
複数のテンプレートオブジェクトが配置されたテンプレート画像データを取得するテンプレート画像取得部と、
画像中に検出対象が映る入力画像データを取得する入力画像取得部と、
前記テンプレート画像データ及び前記入力画像データに対して、位相限定相関処理を行う処理部と、
を含み、
前記テンプレート画像取得部は、
前記複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、前記複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、前記第１の配置パターンとは異なる第２の配置パターンで配置された前記テンプレート画像データを取得し、
前記処理部は、
前記テンプレート画像データ及び前記入力画像データに対する前記位相限定相関処理の結果に基づいて、前記検出対象に対応するテンプレートオブジェクトである対応テンプレートオブジェクトを特定することを特徴とするロボット。
【請求項１０】
複数のテンプレートオブジェクトが配置されたテンプレート画像データを取得するテンプレート画像取得部と、
画像中に検出対象が映る入力画像データを取得する入力画像取得部と、
前記テンプレート画像データ及び前記入力画像データに対して、位相限定相関処理を行う処理部として、
コンピューターを機能させ、
前記テンプレート画像取得部は、
前記複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、前記複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、前記第１の配置パターンとは異なる第２の配置パターンで配置された前記テンプレート画像データを取得し、
前記処理部は、
前記テンプレート画像データ及び前記入力画像データに対する前記位相限定相関処理の結果に基づいて、前記検出対象に対応するテンプレートオブジェクトである対応テンプレートオブジェクトを特定することを特徴とするプログラム。
【請求項１１】
複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、前記複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、前記第１の配置パターンとは異なる第２の配置パターンで配置されたテンプレート画像データを取得することと、
画像中に検出対象が映る入力画像データを取得することと、
前記テンプレート画像データ及び前記入力画像データに対して、位相限定相関処理を行うことと、
前記位相限定相関処理の結果に基づいて、前記検出対象に対応するテンプレートオブジェクトである対応テンプレートオブジェクトを特定することと、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、ロボット、プログラム及び画像処理方法等に関係する。
【背景技術】
【０００２】
画像中に映る物体（検出対象）を検出し、さらには、その物体の３次元的な位置及び姿勢を知ることは、種々の応用において必要とされる。一例として、産業用ロボットの応用においては、カメラなどを用いて物体を撮像し、撮像した画像を用いて物体の位置姿勢情報を検出し、検出した位置姿勢情報を用いてロボットがその物体を把持する、などと言うことが要求される。
【０００３】
画像中に映る検出対象を検出する手法としては、例えば非特許文献１において開示される位相限定相関法（Phase Only Correlation：POC、位相相関、位相限定マッチトフィルタリング）などがある。位相限定相関法を用いた検出処理（以下、位相限定相関処理と呼ぶ）では、テンプレート画像を用いて、入力画像に検出対象が映っているか否かを判定する。
【０００４】
また、位相限定相関法は、非常に位置姿勢感度が高く、かつ１回の処理で、入力画像に映る検出対象の位置が検出できるという特徴がある。さらに、位相限定相関法は、入力画像に同じ検出対象が複数映っている場合にも、１回の処理で全ての（同一の）検出対象を検出することも可能である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】青木孝文，伊藤康一，柴原琢磨，長嶋聖  ”位相限定相関法に基づく高精度マシンビジョン  ‐ピクセル分解能の壁を越える画像センシング技術を目指して‐，”  IEICE Fundamentals Review, Vol. 1, No. 1, pp. 30--40, July 2007.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ロボット制御時など、実際に位相限定相関処理を行って、ある検出対象を検出する場面では、必ずしも検出対象だけが、決まった姿勢で入力画像に映っているとは限らず、寧ろ、検出対象ではない物体に紛れて、検出対象が様々な姿勢で入力画像に映っていることの方が多い。
【０００７】
しかし、位相限定相関法は位置姿勢感度が非常に高いが故に、入力画像に検出対象が映っていても、入力画像に映る検出対象の姿勢が僅かに変わるだけで検出できなくなることがある。
【０００８】
また、位相限定相関処理を用いて検出したい検出対象も、一種類とは限らず、一つの入力画像において複数種類の検出対象をそれぞれ検出したい場合もある。
【０００９】
このような場合には、効率を無視し、検出対象の姿勢毎又は種類毎に、逐次的に位相限定相関処理を行うことで対応が可能ではある。ただし、位相限定相関処理ではフーリエ変換を行うため、１回当たりの計算量が大きく、位相限定相関処理を繰り返すと、さらに計算量が大きくなるという問題がある。
【００１０】
前述した非特許文献１には、姿勢や種類（形状）の異なる検出対象が複数ある場合の検出方法や、その際に、位相限定相関処理を効率的に実行する手段については、何ら記載されていない。
【課題を解決するための手段】
【００１１】
本発明の一態様は、複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、前記複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、前記第１の配置パターンとは異なる第２の配置パターンで配置されたテンプレート画像データを取得するテンプレート画像取得部と、画像中に検出対象が映る入力画像データを取得する入力画像取得部と、前記テンプレート画像データ及び前記入力画像データに対して、位相限定相関処理を行うことで、前記検出対象に対応するテンプレートオブジェクトである対応テンプレートオブジェクトを特定する処理部と、を含む画像処理装置に関係する。
【００１２】
本発明の一態様では、複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、第１の配置パターンとは異なる第２の配置パターンで配置されたテンプレート画像データを用いて、位相限定相関処理を行って、対応テンプレートオブジェクトを特定する。
【００１３】
よって、位相限定相関処理を１回行うだけで、対応テンプレートオブジェクトを特定すること等が可能である。
【００１４】
また、本発明の一態様では、前記処理部は、前記位相限定相関処理を行うことにより、入力画像上における、前記入力画像とテンプレート画像との相関ピーク位置の位置関係を特定し、前記相関ピーク位置の前記位置関係に対応する配置パターンのテンプレートオブジェクトが、前記対応テンプレートオブジェクトであると特定してもよい。
【００１５】
これにより、例えば、異なる入力画像に対して位相限定相関処理を行った結果、同じ数の相関ピーク位置が検出される場合でも、対応テンプレートオブジェクトを一意に特定すること等が可能になる。
【００１６】
また、本発明の一態様では、前記第２の配置パターンは、空間領域において、平行移動した際に前記第１の配置パターンと重ならないパターンであってもよい。
【００１７】
これにより、第１のテンプレートオブジェクトに対応する相関ピーク位置の位置関係と、第２のテンプレートオブジェクトに対応する相関ピーク位置の位置関係とを、それぞれ識別すること等が可能になる。
【００１８】
また、本発明の一態様では、前記テンプレート画像取得部は、前記第１のテンプレートオブジェクト画像データに対して、フーリエ変換を行って、空間周波数により表される第１の位相信号を取得し、前記第２のテンプレートオブジェクト画像データに対して、前記フーリエ変換を行って第２の位相信号を取得し、空間領域において前記第１のテンプレートオブジェクトが前記第１の配置パターンで配置されるように、空間周波数領域で前記第１の位相信号に変位を加え、前記空間領域において前記第２のテンプレートオブジェクトが前記第２の配置パターンで配置されるように、前記空間周波数領域で前記第２の位相信号に変位を加えて合成することにより、前記テンプレート画像データを生成されてもよい。
【００１９】
これにより、１回の位相限定相関処理で、より多種類の検出対象を検出すること等が可能になる。
【００２０】
また、本発明の一態様では、前記第１の配置パターン及び前記第２の配置パターンは、空間領域において、テンプレートオブジェクトの複数の配置位置を結ぶ図形の重心位置と、画像の中心位置とが一致するパターンであってもよい。
【００２１】
これにより、第２の配置パターンを、空間領域において、平行移動した際に第１の配置パターンと重ならないパターンにすること等が可能になる。
【００２２】
また、本発明の一態様では、前記第１の配置パターン及び前記第２の配置パターンは、前記空間領域において、画像の中心位置に対して回転対称性を有していてもよい。
【００２３】
これにより、空間周波数領域での配置パターンの生成を容易にすること等が可能になる。
【００２４】
また、本発明の一態様では、前記第１の配置パターン及び前記第２の配置パターンは、空間領域における画像の中心点に対して、前記テンプレートオブジェクトが点対称になるように配置されるパターンであってもよい。
【００２５】
これにより、第２の配置パターンを、空間領域において、平行移動した際に第１の配置パターンと重ならないパターンにすること等が可能になる。
【００２６】
また、本発明の一態様では、前記第１の配置パターンは、空間領域において、前記第１のテンプレートオブジェクトが、画像の中心点から第１の方向に第１の距離だけ離れた第１の配置位置と、前記中心点から前記第１の方向と逆方向に、前記第１の距離だけ離れた第２の配置位置とに配置されるパターンであり、前記第２の配置パターンは、前記第２のテンプレートオブジェクトが、前記中心点から第２の方向に第２の距離だけ離れた第３の配置位置と、前記中心点から前記第２の方向と逆方向に、前記第２の距離だけ離れた第４の配置位置とに配置されるパターンであってもよい。
【００２７】
これにより、第２の配置パターンを、空間領域において、平行移動した際に第１の配置パターンと重ならないパターンにすること等が可能になる。
【００２８】
また、本発明の他の態様は、複数のテンプレートオブジェクトが配置されたテンプレート画像データを取得するテンプレート画像取得部と、画像中に検出対象が映る入力画像データを取得する入力画像取得部と、前記テンプレート画像データ及び前記入力画像データに対して、位相限定相関処理を行う処理部と、を含み、前記テンプレート画像取得部は、前記複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、前記複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、前記第１の配置パターンとは異なる第２の配置パターンで配置された前記テンプレート画像データを取得し、前記処理部は、前記テンプレート画像データ及び前記入力画像データに対する前記位相限定相関処理の結果に基づいて、前記検出対象に対応するテンプレートオブジェクトである対応テンプレートオブジェクトを特定するロボットに関係する。
【００２９】
また、本発明の他の態様では、上記各部としてコンピューターを機能させるプログラムに関係する。
【００３０】
また、本発明の他の態様は、複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、前記複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、前記第１の配置パターンとは異なる第２の配置パターンで配置されたテンプレート画像データを取得することと、画像中に検出対象が映る入力画像データを取得することと、前記テンプレート画像データ及び前記入力画像データに対して、位相限定相関処理を行うことと、前記位相限定相関処理の結果に基づいて、前記検出対象に対応するテンプレートオブジェクトである対応テンプレートオブジェクトを特定することと、を含む画像処理方法に関係する。
【００３１】
本発明の幾つかの態様によれば、検出対象が複数ある場合に、各検出対象を検出することができる画像処理装置、ロボット、プログラム及び画像処理方法等を提供することができる。
【００３２】
また、本発明の幾つかの態様によれば、検出対象が複数ある場合に、位相限定相関処理による検出処理の処理量を低減することができる画像処理装置、ロボット、プログラム及び画像処理方法等を提供することができる。
【図面の簡単な説明】
【００３３】
【図１】本実施形態のシステム構成例。
【図２】図２（Ａ）〜図２（Ｄ）は、検出対象が１種類であり、入力画像にも１つの物体が映っている場合の説明図。
【図３】図３（Ａ）〜図３（Ｄ）は、検出対象は１種類であるが、入力画像には複数の物体が映っている場合の説明図。
【図４】図４（Ａ）〜図４（Ｄ）は、検出対象が複数種類あり、入力画像には１つの物体が映っている場合の説明図。
【図５】図５（Ａ）〜図５（Ｄ）は、検出対象が複数種類あり、入力画像には１つの物体が映っている他の場合の説明図。
【図６】図６（Ａ）〜図６（Ｄ）は、異なる配置パターンで異なるテンプレートオブジェクトが配置されるテンプレート画像を用いる場合の説明図。
【図７】図７（Ａ）〜図７（Ｄ）は、空間周波数領域でテンプレート画像データを生成する場合の説明図。
【図８】図８（Ａ）、図８（Ｂ）は、配置パターンの重心位置と画像の中心位置が一致する配置パターンの説明図。
【図９】図９（Ａ）、図９（Ｂ）は、回転対称性を有する配置パターンの説明図。
【図１０】図１０（Ａ）、図１０（Ｂ）は、配置位置が点対称な配置パターンの説明図。
【図１１】図１１（Ａ）〜図１１（Ｇ）は、空間周波数領域で生成された非並進対称性を有する配置パターンのテンプレート画像データを用いた位相限定相関処理の説明図。
【図１２】図１２（Ａ）〜図１２（Ｅ）は、並進対称性を有する配置パターンのテンプレート画像データを用いた位相限定相関処理の説明図。
【図１３】図１３（Ａ）〜図１３（Ｃ）は、他のテンプレート画像データを用いた位相限定相関処理の説明図。
【図１４】図１４（Ａ）、図１４（Ｂ）は、相関ピーク位置の位置関係と、配置パターンの対応付けの説明図。
【図１５】本実施形態の処理の流れを説明するフローチャート。
【図１６】図１６（Ａ）〜図１６（Ｄ）は、比較例の説明図。
【図１７】本実施形態の他のシステム構成例。
【図１８】図１８（Ａ）、図１８（Ｂ）は、ロボットの構成例。
【図１９】ネットワークを介してロボットを制御する場合のシステム構成例。
【発明を実施するための形態】
【００３４】
以下、本実施形態について説明する。なお、以下で説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３５】
１．本実施形態の手法
本実施形態では、複数のテンプレートオブジェクトが配置されたテンプレート画像を用いて、位相限定相関処理を行う。これにより、検出対象が複数ある場合にも、各検出対象を検出することができ、位相限定相関処理による検出対象の検出処理の処理量（計算量）を低減することができる。
【００３６】
具体的に、本実施形態の画像処理装置１００の構成例を図１に示す。本実施形態の画像処理装置１００は、テンプレート画像取得部１１０と、入力画像取得部１３０と、処理部１５０と、を含む。なお、処理部１５０の機能は、各種プロセッサー（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。また、画像処理装置１００は、図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。そして、本実施形態の画像処理装置１００は、後述する図１８（Ａ）に示すように、ロボット３００に含まれており、ロボット３００と一体に構成されていてもよい。さらに、後述する図１９に示すように、画像処理装置１００の機能は、サーバー５００と、各ロボット３００が有する端末装置３３０とにより、実現されてもよい。
【００３７】
次に、本実施形態の画像処理装置１００が行う処理の概要を、図６（Ａ）〜図６（Ｄ）を用いて説明する。なお、図６（Ａ）〜図６（Ｄ）の例については、後段において再度詳しい説明を行う。図６（Ａ）〜図６（Ｄ）の例では、図６（Ａ）に示すテンプレート画像ＴＩＭ３に、複数の検出対象を表す複数のテンプレートオブジェクト（ＴＯＢ１〜ＴＯＢ３）が映っており、このテンプレート画像ＴＩＭ３を用いて、複数の検出対象のいずれかが、図６（Ｂ）に示す入力画像ＩＩＭ４に映っているか否か等を判定する。
【００３８】
まず、テンプレート画像取得部１１０は、複数のテンプレートオブジェクトが配置されたテンプレート画像データを取得する。具体的には、テンプレート画像取得部１１０は、複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、第１の配置パターンとは異なる第２の配置パターンで配置されたテンプレート画像データを取得する。例えば、テンプレート画像取得部１１０は、図６（Ａ）に示す画像ＴＩＭ３のようなテンプレート画像のデータを、例えば記憶部又はネットワークを介して接続されたサーバー等から取得する。テンプレート画像ＴＩＭ３には、テンプレートオブジェクトＴＯＢ１が１つ配置され、テンプレートオブジェクトＴＯＢ２が２つ配置され、テンプレートオブジェクトＴＯＢ３が３つ配置されている。
【００３９】
次に、入力画像取得部１３０は、画像中に検出対象が映る入力画像データを取得する。例えば、入力画像取得部１３０は、図６（Ｂ）に示す画像ＩＩＭ４のような入力画像のデータを、例えば後述する図１７の撮像部２００や、後述する図１９のネットワーク４００を介して接続されたサーバー５００等から取得する。
【００４０】
そして、処理部１５０は、図６（Ｃ）に示すように、テンプレート画像データ及び入力画像データに対して、位相限定相関処理を行う。さらに、処理部１５０は、位相限定相関処理の結果に基づいて、テンプレート画像に配置された複数のテンプレートオブジェクトのうち、検出対象に対応するテンプレートオブジェクトである対応テンプレートオブジェクトを特定する。本例では、処理部１５０は、検出された相関ピーク位置の数と同じ数だけ、テンプレート画像ＴＩＭ３に配置されたテンプレートオブジェクトを、対応テンプレートオブジェクトとして特定する。例えば、図６（Ｄ）の例では、処理部１５０は、位相限定相関処理により、入力画像ＩＩＭ４の位置Ｐ３及び位置Ｐ４の２つの位置において、テンプレート画像ＴＩＭ３と入力画像ＩＩＭ４の相関ピーク値が最大になると判定し、テンプレート画像ＴＩＭ３に２つ配置されているテンプレートオブジェクトＴＯＢ２を、対応テンプレートオブジェクトとして特定する。
【００４１】
これにより、検出対象が複数ある場合にも、各検出対象を検出することが可能となる。
【００４２】
２．本実施形態の手法
２．１．空間周波数領域で生成されたテンプレート画像データを用いた位相限定相関処理
ここで、本実施形態の位相限定相関処理の具体例について説明する。まず、一般的な位相限定相関処理の具体例について、図２（Ａ）〜図３（Ｄ）を用いて説明する。次に、本実施形態の位相限定相関処理の具体例について、図４（Ａ）〜図６（Ｄ）を用いて説明する。
【００４３】
位相限定相関処理とは、入力画像に検出対象が映っているか否かを判定するために行う処理である。そして、位相限定相関処理では、入力画像に検出対象が映っている場合には、入力画像において検出対象が映る位置も特定することができる。
【００４４】
まず、検出対象が１種類であり、入力画像にも１つの物体が映っている場合の具体例を、図２（Ａ）〜図２（Ｄ）に示す。この場合の位相限定相関処理では、図２（Ａ）に示すように、検出対象を表すテンプレートオブジェクトＴＯＢ１が、画像の中心点ＴＣＰに配置された（映る）テンプレート画像ＴＩＭ１と、図２（Ｂ）に示すような入力画像ＩＩＭ１と、を用いる。この入力画像ＩＩＭ１には、画像の中心点ＩＣＰから左斜め上方向の位置に、直方体の何らかの物体ＯＢ１が映っている。現時点では、入力画像に映る直方体ＯＢ１の正体は分かっていないものとする。そして、位相限定相関処理を行って、入力画像ＩＩＭ１に映る直方体ＯＢ１が、そもそもテンプレートオブジェクトＴＯＢ１が表す検出対象であるか否かを判定する。また、直方体ＯＢ１が検出対象である場合には、直方体ＯＢ１が入力画像のどの位置に映っているのかも併せて特定する。
【００４５】
ここで、検出対象とは、位相限定相関処理において、入力画像に映っているか否かの判定対象となる検出対象物や検出場所等のことをいう。つまり、検出処理において検出目的となる物体等を指す。なお、入力画像に映っている全ての物体が検出対象となる訳ではない。例えば、入力画像に複数の物体が映っていたとしても、検出対象が映っていないこともある。また、１回の位相限定相関処理における検出対象は、１つに限らず、複数の検出対象が設定される場合もある。具体的に、例えば後述する図１７〜図１９に示すように、本実施形態の画像処理装置１００の検出処理の結果を用いてロボット３００を制御する場合には、検出対象物として、ワーク、パレット、マーカー、ロボットのアーム及びエンドエフェクター等が設定され、検出場所としては、机や穴や壁などが設定される。なお、以下では、特段の記載がない限り、検出対象の姿勢、大きさ及び種類のうちの少なくともいずれか一つが異なる場合には、それぞれ異なる検出対象であるものとして説明を行う。つまり、同じ物体Ａであっても、第１の姿勢の物体Ａと第２の姿勢の物体Ａは、異なる検出対象であるものとする。なぜなら、前述したように、位相限定相関法は、位置姿勢感度が非常に高いため、位相限定相関処理では、姿勢の異なる物体は、別々の物体として処理（認識）されるためである。また、大きさ、種類又は形状が物体Ａと異なる物体Ｂは、当然異なる検出対象として扱われる。
【００４６】
また、テンプレートオブジェクトとは、検出対象をモデル化したものであり、例えばＣＡＤ（Computer Aided Design）モデルデータであり、ポリゴンや自由曲面などのプリミティブ面で構成される。そして、ＣＡＤモデルデータとは、ＣＡＤにおいて設計される設計対象を表すデータのことをいう。また、ＣＡＤとは、コンピューター支援設計とも呼ばれ、コンピューターを用いて設計することを指す。
【００４７】
そして、テンプレート画像とは、画像中にテンプレートオブジェクトが配置された画像のことをいう。例えば、図２（Ａ）のテンプレート画像ＴＩＭ１では、テンプレートオブジェクトＴＯＢ１が１つ配置されている。よって、この場合の検出対象は、テンプレートオブジェクトＴＯＢ１が表す直方体となる。また、テンプレート画像データは、テンプレート画像を表すデータのことであり、空間領域（実空間）で表される画像データであってもよいし、空間周波数により表されるフーリエ変換後の画像データであってもよい。なお、後述するテンプレートオブジェクト画像と、テンプレート画像は別のものであるため、注意を要する。
【００４８】
さらに入力画像とは、位相限定相関処理において、検出対象が映っているか否かを判断される画像である。例えば、入力画像は、図２（Ｂ）に示す画像ＩＩＭ１である。また、入力画像データとは、入力画像を表すデータのことであり、テンプレート画像データと同様に、空間領域で表される画像データであってもよいし、空間周波数により表されるフーリエ変換後の画像データであってもよい。
【００４９】
ここで、画像データを空間周波数領域で表すと、振幅信号が画像の明るさ等を表し、位相信号が画像の模様等を表す。位相限定相関法は、入力画像における、検出対象の有無と位置ずれを検出することが目的であるため、画像の明るさなどに影響を受けない位相信号にのみ着目する。
【００５０】
そのため、位相限定相関処理では、テンプレート画像ＴＩＭ１のデータをフーリエ変換し、フーリエ変換後のデータを正規化することにより、空間周波数領域における位相信号のみを抽出する。一方、入力画像ＩＩＭ１についても同様に、入力画像ＩＩＭ１のデータをフーリエ変換し、フーリエ変換後のデータを正規化することにより、空間周波数領域における位相信号のみを抽出する。
【００５１】
次に、テンプレート画像ＴＩＭ１の位相信号の複素共役と、入力画像ＩＩＭ１の位相信号を乗算し、テンプレート画像ＴＩＭ１の位相信号の複素共役と、入力画像ＩＩＭ１の位相信号との積を、逆フーリエ変換する。
【００５２】
すると、逆フーリエ変換の結果として、入力画像ＩＩＭ１の中心点ＩＣＰから（ｄｘ、ｄｙ）だけ離れた位置（Ｘ軸方向にｄｘ、Ｙ軸方向にｄｙだけ離れた位置）に相関ピークを持つデルタ関数が得られる。
【００５３】
このことは、図２（Ｃ）に示すように、テンプレート画像ＴＩＭ１の中心点ＴＣＰと、入力画像ＩＩＭ１の中心点ＩＣＰを重ねた状態から、（ｄｘ、ｄｙ）だけ、二枚の画像をずらして重ね合わせた時に、二つの画像の相関ピーク値が最大になることを表している。これは、テンプレート画像ＴＩＭ１のテンプレートオブジェクトＴＯＢ１と、入力画像ＩＩＭ１に映る直方体ＯＢ１が一致するためである。そして、このことは、図２（Ｄ）に示すように、入力画像ＩＩＭ１の中心点ＩＣＰから、（ｄｘ、ｄｙ）だけ離れた位置Ｐ１が、検出対象の検出位置（テンプレート画像ＴＩＭ１及び入力画像ＩＩＭ１の相関ピーク位置）であることを意味する。なお、検出位置Ｐ１は、図２（Ｃ）におけるテンプレート画像ＴＩＭ１の中心点ＴＣＰと同じ位置となる。
【００５４】
このようにして、入力画像ＩＩＭ１に検出対象が映っており、同時に、テンプレート画像ＴＩＭ１及び入力画像ＩＩＭ１の相関ピーク位置Ｐ１が、検出対象の検出位置であると特定することができる。なお、本例では、位相限定相関法において、画像データの変換操作をフーリエ変換により行ったが、これに限定されず、フーリエ変換の代わりに、直交関数を核関数とする一般の積分変換を用いてもよい。例えば、コサイン変換等を用いてもよい。
【００５５】
一方で、入力画像に検出対象が映っておらず、検出対象とは別の物体が映っている場合には、テンプレート画像の位相信号の複素共役と、入力画像の位相信号との積を、逆フーリエ変換しても、一様ノイズが得られるだけで、特定の相関ピークは検出されない。これにより、入力画像に検出対象が映っていないと判定することができる。
【００５６】
次に、検出対象は１種類であるが、入力画像には複数の物体が映っている場合の具体例を、図３（Ａ）〜図３（Ｄ）に示す。図３（Ａ）に示すテンプレート画像ＴＩＭ１は、図２（Ａ）に示すものと同じ画像である。一方、図３（Ｂ）に示す入力画像ＩＩＭ２には、直方体ＯＢ１の他に、円柱状の物体ＯＢ２と、球状の物体ＯＢ３とが映っている。なお、入力画像ＩＩＭ２では、図２（Ｂ）の入力画像ＩＩＭ１と同じ位置に、直方体ＯＢ１が映っている。
【００５７】
このような、テンプレート画像ＴＩＭ１と入力画像ＩＩＭ２に対して、位相限定相関処理を行った場合に、テンプレート画像の位相信号の複素共役と、入力画像の位相信号との積を、逆フーリエ変換すると、偽信号（一様ノイズ）が現れるものの、図２（Ｃ）の場合と同様に、入力画像ＩＩＭ２の中心点ＩＣＰから（ｄｘ、ｄｙ）だけ離れた位置に相関ピークを持つデルタ関数が得られる。
【００５８】
つまり、図３（Ｃ）に示すように、この場合にも、テンプレート画像ＴＩＭ１の中心点ＴＣＰと、入力画像ＩＩＭ２の中心点ＩＣＰを重ねた状態から、（ｄｘ、ｄｙ）だけ、二枚の画像をずらして重ね合わせた時に、二つの画像の相関ピーク値が最大となる。そしてこの時に、テンプレート画像ＴＩＭ１のテンプレートオブジェクトＴＯＢ１と、入力画像ＩＩＭ１に映る直方体ＯＢ１が一致する。よって、図３（Ｄ）に示すように、入力画像ＩＩＭ２において、検出対象が位置Ｐ１に映っていると判定することができる。
【００５９】
次に、検出対象が複数種類あり、入力画像には１つの物体が映っている場合の具体例を、図４（Ａ）〜図４（Ｄ）に示す。図４（Ａ）〜図４（Ｄ）の例は、図３（Ａ）〜図３（Ｄ）の例において、テンプレート画像と入力画像を入れ替えた例である。つまり、図４（Ａ）のテンプレート画像ＴＩＭ２は、図３（Ｂ）の入力画像ＩＩＭ２と同じ画像であり、図４（Ｂ）の入力画像ＩＩＭ３は、図３（Ａ）のテンプレート画像ＴＩＭ１と同じ画像である。本例では、このテンプレート画像ＴＩＭ２を用いて、複数の検出対象のいずれかが、入力画像ＩＩＭ３に映っているか否か等を判定する。
【００６０】
さて、図２（Ａ）〜図２（Ｄ）を用いて説明したように、位相限定相関処理では、テンプレート画像に対する処理と、入力画像に対する処理は、１箇所を除き、非対称性はない。その１箇所は、位相信号の乗算を行う際に、テンプレート画像の位相信号だけ、複素共役を取るという部分である。この差により、入力画像のどこに相関ピーク位置が現れるかが変化する。
【００６１】
そのため、本例の場合には、位相信号の積の逆フーリエ変換を行うことにより、入力画像ＩＩＭ３の中心点ＩＣＰから（−ｄｘ、−ｄｙ）だけ離れた位置に相関ピークを持つデルタ関数が得られる。つまり、図４（Ｃ）に示すように、テンプレート画像と入力画像とを重ね合わせた時に、二つの画像の相関ピーク値が最大となる。したがって、図４（Ｄ）に示すように、入力画像ＩＩＭ３において、位置Ｐ２が相関ピーク位置として特定される。一方で、図４（Ｂ）の入力画像ＩＩＭ３において検出対象ＯＢ１が実際に映っている位置は、画像の中心である。このように、複数のテンプレートオブジェクトが映っている図４（Ａ）のような画像をテンプレート画像として用いる場合には、例外はあるものの、入力画像に検出対象が実際に映っている位置は、相関ピーク位置と異なる位置になる。
【００６２】
この場合には、入力画像ＩＩＭ３の中心点ＩＣＰから相関ピーク位置Ｐ２へのベクトルＹＪ２は、図３（Ｄ）の入力画像ＩＩＭ２の中心点ＩＣＰから相関ピーク位置Ｐ１へのベクトルＹＪ１と、大きさは同じで、かつ逆向きのベクトルになる。要するにこれは、テンプレート画像の中心位置と入力画像の中心位置を重ね合わせた状態から、どのようにテンプレート画像を動かせば、入力画像に映る検出対象と、テンプレートオブジェクトとを重ね合わせることができるか、ということに対応する。
【００６３】
そして、図４（Ｂ）の入力画像ＩＩＭ３のように、検出対象が入力画像の中心に映っている場合には、テンプレート画像におけるテンプレートオブジェクトの配置位置と、相関ピーク位置とに基づいて、複数のテンプレートオブジェクト（ＴＯＢ１〜ＴＯＢ３）のうち、どのテンプレートオブジェクトが、検出対象に対応する対応テンプレートオブジェクトであるかを特定することができる。具体的には、図４（Ｄ）の場合には、画像の中心点を基準として、相関ピーク位置Ｐ２と点対称の位置に配置されたテンプレートオブジェクトＴＯＢ１が、対応テンプレートオブジェクトであると特定できる。
【００６４】
ここで、対応テンプレートオブジェクトとは、検出対象を表すテンプレートオブジェクトのことをいう。特に、複数の検出対象があり、テンプレートオブジェクトも複数ある場合には、検出対象毎に対応テンプレートオブジェクトが異なる。例えば、図４（Ａ）〜図４（Ｄ）の例においては、検出対象である直方体ＯＢ１の対応テンプレートオブジェクトは、ＴＯＢ１であり、後述する図５（Ｂ）に示す他の検出対象である円柱ＯＢ２の対応テンプレートオブジェクトは、ＴＯＢ２である。
【００６５】
しかし、多くの場合には、入力画像の中心に検出対象が映っているとは限らない。入力画像の中心に検出対象が映っていない場合には、上記の処理だけでは、複数のテンプレートオブジェクトのうち、どのテンプレートオブジェクトが対応テンプレートオブジェクトであるかを特定することができない。
【００６６】
例えば、図５（Ａ）に示すように、図４（Ａ）と同じテンプレート画像ＴＩＭ２を用いて、図５（Ｂ）に示す入力画像ＩＩＭ４中に映る検出対象を検出する場合を考える。この入力画像ＩＩＭ４には、中心点ＩＣＰの右斜め下に円柱ＯＢ２が映っているが、検出処理の前には、画像処理装置１００は、入力画像ＩＩＭ４に何が映っているかを当然認識していない。
【００６７】
この二つの画像に対して、位相限定相関処理を行うと、図５（Ｃ）のように二つの画像を重ね合わせた時に、二つの画像の相関ピーク値が最大となる。具体的には、テンプレート画像ＴＩＭ２の中心点ＴＣＰと、入力画像ＩＩＭ４の中心点ＩＣＰとを重ね合わせた状態から、テンプレート画像を（−ｄｘ、−ｄｙ）だけずらした時に、偶然にも図４（Ｃ）と同様に相関ピーク値が最大となる。したがって、図５（Ｄ）に示すように、入力画像ＩＩＭ４の中心点ＩＣＰから（−ｄｘ、−ｄｙ）だけ離れた位置Ｐ２が、テンプレート画像ＴＩＭ２及び入力画像ＩＩＭ４の相関ピーク位置となる。この場合には、図４（Ａ）〜図４（Ｄ）の例と、入力画像が異なるにも関わらず、相関ピーク位置が図４（Ｄ）と同じ位置Ｐ２となり、入力画像の中心点ＩＣＰから相関ピーク位置までのベクトルＹＪ２も同じベクトルになる。つまり、図４（Ａ）〜図４（Ｄ）の例と図５（Ａ）〜図５（Ｄ）の例ではどちらの場合も、ベクトルＹＪ２で示すように、テンプレート画像をずらして入力画像に重ねた時に、入力画像に映る検出対象と、複数のテンプレートオブジェクト（ＴＯＢ１〜ＴＯＢ３）のうち、いずれかのテンプレートオブジェクトとが重なる。
【００６８】
よって、図５（Ａ）〜図５（Ｄ）のように、入力画像の中心点ＩＣＰに物体が映っているとは限らない場合には、前述した位相限定相関処理を行っても、複数のテンプレートオブジェクトの中に、入力画像に映る検出対象と一致するものがあるかまでは分かるが、その検出対象に対応する対応テンプレートオブジェクトがどのテンプレートオブジェクトであるかまでは特定することができない。
【００６９】
そこで、本実施形態では、複数のテンプレートオブジェクトのうちの第１のテンプレートオブジェクトが、第１の配置パターンで配置され、複数のテンプレートオブジェクトのうちの第２のテンプレートオブジェクトが、第１の配置パターンとは異なる第２の配置パターンで配置されたテンプレート画像データを用いて、位相限定相関処理を行って、対応テンプレートオブジェクトを特定する。
【００７０】
ここで、図６（Ａ）〜図６（Ｄ）を用いて、具体例を説明する。図６（Ａ）に示すテンプレート画像ＴＩＭ３には、１つの第１のテンプレートオブジェクトＴＯＢ１が第１の配置パターンで配置され、２つの第２のテンプレートオブジェクトＴＯＢ２が第２の配置パターンで配置され、３つの第３のテンプレートオブジェクトＴＯＢ３が第３の配置パターンで配置されている。また、図６（Ｂ）に示す入力画像ＩＩＭ４は、図５（Ｂ）に示す画像と同じ画像であり、円柱ＯＢ２が１つだけ映っている。
【００７１】
そして、テンプレート画像ＴＩＭ３と入力画像ＩＩＭ４に対して、位相限定相関処理を行う。すると、図６（Ｃ）及び図６（Ｄ）に示すように、２つの画像の相関ピーク値が最大となる重ね合わせ位置（相関ピーク位置）が２つ検出される。具体的には、入力画像ＩＩＭ４の中心点ＩＣＰとテンプレート画像ＴＩＭ３の中心点ＴＣＰとを重ね合わせた状態から、テンプレート画像ＴＩＭ３を（ｌｘ、ｌｙ）だけずらして重ね合わせた時と、テンプレート画像ＴＩＭ３を（ｍｘ、ｍｙ）だけずらして重ね合わせた時に、２つの画像の相関ピーク値が最大となる。したがって、図６（Ｄ）に示すように、入力画像ＩＩＭ４の中心点ＩＣＰから（ｌｘ、ｌｙ）だけ離れた位置Ｐ３と、入力画像ＩＩＭ４の中心点ＩＣＰから（ｍｘ、ｍｙ）だけ離れた位置Ｐ４が、テンプレート画像ＴＩＭ３及び入力画像ＩＩＭ４の相関ピーク位置となる。つまり、２つの相関ピーク位置（Ｐ３及びＰ４）が検出される。
【００７２】
本例では、前述したように、処理部１５０は、検出された相関ピーク位置の数と同じ数だけ、テンプレート画像ＴＩＭ３に配置されたテンプレートオブジェクトを、対応テンプレートオブジェクトとして特定する。例えば、図６（Ｄ）の例では、２つの相関ピーク位置が検出されているため、テンプレート画像ＴＩＭ３にも２つ配置されているテンプレートオブジェクトＴＯＢ２を、対応テンプレートオブジェクトとして特定する。
【００７３】
このように、位相限定相関処理を１回行うだけで、対応テンプレートオブジェクトを特定すること等が可能である。
【００７４】
また、図６（Ａ）の例では、テンプレート画像ＴＩＭ３に、３種類のテンプレートオブジェクト（ＴＯＢ１〜ＴＯＢ３）を配置していたが、より多数のテンプレートオブジェクトを配置したい場合もある。より多数のテンプレートオブジェクトを１つのテンプレート画像に配置することができれば、１回の位相限定相関処理で、より多種類の検出対象を検出することが可能になる。
【００７５】
しかし、空間領域において、テンプレート画像を生成する場合には、テンプレート画像の大きさには限りがあるため、配置可能なテンプレートオブジェクトの数が限られる。これは、２以上のテンプレートオブジェクトを重ねて配置することができないためである。
【００７６】
例えば、３次元仮想空間上で、ＣＡＤモデルデータにより表されるテンプレートオブジェクトＡと他のテンプレートオブジェクトＢを重ねて配置することは可能ではあるが、２次元画像に変換した段階で、変換後のテンプレート画像には、テンプレートオブジェクトＡ及びテンプレートオブジェクトＢが重なった形状をした別のテンプレートオブジェクトＣが映っていることになる。一般的に、位相限定相関処理において、このようなテンプレートオブジェクトＣが、テンプレートオブジェクトＡ及びテンプレートオブジェクトＢの両方の特性を持つテンプレートオブジェクトとして扱われることはない。そのため、空間領域でテンプレート画像を生成する際には、各テンプレートオブジェクトが重ならないように配置する必要がある。よって、テンプレート画像に配置可能なテンプレートオブジェクトの数が限定される。
【００７７】
そこで、本実施形態では、空間領域でテンプレート画像を生成するのではなく、空間周波数領域上で、テンプレートオブジェクト画像データの位相信号を合成して、テンプレート画像データの位相信号を生成し、この位相信号を用いて位相限定相関処理を行う。
【００７８】
具体的には、テンプレート画像取得部１１０は、第１のテンプレートオブジェクト画像データに対して、フーリエ変換を行って、空間周波数により表される第１の位相信号を取得し、第２のテンプレートオブジェクト画像データに対して、フーリエ変換を行って第２の位相信号を取得する。なお、前述したように、フーリエ変換は、他の積分変換であってもよい。
【００７９】
ここで、第１のテンプレートオブジェクト画像とは、複数のテンプレートオブジェクトのうち、第１のテンプレートオブジェクトのみが映る画像であり、例えば後述する図７（Ａ）のテンプレートオブジェクトＴＯＢ１の１つのみが映る画像などのことを指す。第１のテンプレートオブジェクト画像は、第１のテンプレートオブジェクトのＣＡＤモデルデータを二次元画像化したものであってもよいし、他にも、後述する図７（Ａ）の画像ＩＭ１のことであってもよい。また、第１のテンプレートオブジェクト画像データとは、第１のテンプレートオブジェクト画像を表すデータのことである。
【００８０】
そして、第１のテンプレートオブジェクト画像データをフーリエ変換すると、空間周波数により表される第１の振幅信号と第１の位相信号からなるデータが得られる。ここではさらに、フーリエ変換後のデータの第１の振幅信号を正規化して、第１の位相信号のみを抽出する。つまり、第１の位相信号は、フーリエ変換後の第１のテンプレートオブジェクト画像データの位相信号である。なお、これらは、第２のテンプレートオブジェクト画像についても同様である。
【００８１】
そして、テンプレート画像取得部１１０は、空間領域において第１のテンプレートオブジェクトが第１の配置パターンで配置されるように、空間周波数領域で第１の位相信号に変位を加え、空間領域において第２のテンプレートオブジェクトが第２の配置パターンで配置されるように、空間周波数領域で第２の位相信号に変位を加えて、これらを合成（多重）することにより、テンプレート画像データの位相信号を生成する。
【００８２】
ここで、図７（Ａ）〜図７（Ｄ）を用いて具体例を説明する。まず、図７（Ａ）に示すように、第１の位相信号に対して４種類の変位（ＤＰ１〜ＤＰ４）を加えて、空間領域上で第１の配置パターンになるように、第１のテンプレートオブジェクトＴＯＢ１を配置する。この時、第１の配置パターンは、基準点ＲＰ１〜基準点ＲＰ４の全てに第１のテンプレートオブジェクトＴＯＢ１が配置されるパターンである。なお、本例における基準点は、画像中の点線で区切った升目の中心点であるが、これに限定されない。
【００８３】
そしてこの時、第１の位相信号に加える変位は、図７（Ａ）に示すベクトルＤＰ１〜ベクトルＤＰ４のことであり、具体的には、第１のテンプレートオブジェクトＴＯＢ１が画像ＩＭ１の中心点ＴＣＰに位置する状態から、第１のテンプレートオブジェクトＴＯＢ１を基準点ＲＰ１に移動させるようなベクトルＤＰ１等のことを指す。なお、図７（Ａ）に示す画像ＩＭ１は、第１の配置パターンを説明するための画像であり、実際にこのような画像データを生成してもよいし、生成しなくてもよい。これは、図７（Ｂ）の画像ＩＭ２及び図７（Ｃ）の画像ＩＭ３についても同様である。
【００８４】
次に、第２の位相信号に対しては、図７（Ｂ）に示すように、２種類の変位（ＤＰ１及びＤＰ４）を加えて、空間領域上で第２の配置パターンになるように、第２のテンプレートオブジェクトＴＯＢ２を配置する。この時、第２の配置パターンは、基準点ＲＰ１及び基準点ＲＰ４に第２のテンプレートオブジェクトＴＯＢ２が配置されるパターンである。図７（Ｃ）の第３のテンプレートオブジェクトＴＯＢ３の位相信号についても、同様の処理を行う。
【００８５】
そして、図７（Ａ）〜図７（Ｃ）のように変位を加えた位相信号を全て合成して、図７（Ｄ）に示すようなテンプレート画像ＴＩＭ４の位相信号を生成する。このテンプレート画像ＴＩＭ４では、基準点ＲＰ１及び基準点ＲＰ４に、第１のテンプレートオブジェクトＴＯＢ１及び第２のテンプレートオブジェクトＴＯＢ２が配置され、基準点ＲＰ２及び基準点ＲＰ３に、第１のテンプレートオブジェクトＴＯＢ１及び第３のテンプレートオブジェクトＴＯＢ３が配置されている。
【００８６】
このように、空間周波数領域で、テンプレートオブジェクト画像の位相信号を合成することにより、あたかも空間領域上の同じ座標位置に異なるテンプレートオブジェクトが重畳しているようなテンプレート画像データの位相信号を生成すること等が可能になる。また、同じ座標位置でなくても、他のテンプレートオブジェクトの一部と重なり合う程の近距離に、テンプレートオブジェクトを配置したようなテンプレート画像データの位相信号を生成すること等が可能になる。
【００８７】
さらに、テンプレート画像において、テンプレートオブジェクトを疑似的に重ねて配置可能なため、より多数のテンプレートオブジェクトをより自由に配置すること等が可能になる。その結果、１回の位相限定相関処理で、より多種類の検出対象を検出することが可能になる。なお、前述したように、空間領域上の同じ座標位置に異なるテンプレートオブジェクトが重畳して配置されているようなテンプレート画像データは、実際の画像として表すことはできない。前述したように、画像化した段階で、別の形状又は模様のテンプレートオブジェクトが配置された画像になってしまうためである。
【００８８】
２．２．テンプレートオブジェクトの配置パターン
次に、第１の配置パターンと第２の配置パターンについて説明する。
【００８９】
本実施形態における第２の配置パターンは、図７（Ｄ）のように、空間領域において、平行移動した際に第１の配置パターンと重ならない（完全に一致しない）パターンであることが望ましい。つまり、第１の配置パターンと第２の配置パターンは、非並進対称性を有する（並進対称性を有しない）ことが望ましい。
【００９０】
これにより、後述するように、第１のテンプレートオブジェクトに対応する相関ピーク位置の位置関係と、第２のテンプレートオブジェクトに対応する相関ピーク位置の位置関係とを、それぞれ識別すること等が可能になる。
【００９１】
例えば、第１の配置パターン及び第２の配置パターンは、空間領域において、テンプレートオブジェクトの複数の配置位置を結ぶ図形の重心位置と、画像の中心位置とが一致するパターンである。
【００９２】
具体例を図８（Ａ）及び図８（Ｂ）に示す。図８（Ａ）には、画像ＩＭ４上において、配置位置ＳＰ１〜配置位置ＳＰ４にテンプレートオブジェクトが配置される第１の配置パターンを示す。この場合には、画像ＩＭ４の中心点ＴＣＰと、配置位置ＳＰ１〜配置位置ＳＰ４を頂点とする四角形ＳＱの重心位置ＧＰ１とが一致する。
【００９３】
一方、図８（Ｂ）には、画像ＩＭ５上において、配置位置ＳＰ５〜配置位置ＳＰ７にテンプレートオブジェクトが配置される第２の配置パターンを示す。この場合には、画像ＩＭ５の中心点ＴＣＰと、配置位置ＳＰ５〜配置位置ＳＰ７を頂点とする三角形ＴＲの重心位置ＧＰ２とが一致する。
【００９４】
このような第２の配置パターンは、空間領域において、平行移動した際に第１の配置パターンと重ならない（完全に一致しない）パターンである。
【００９５】
また、空間周波数領域での配置パターンの生成をより容易にするために、前述した重心位置と画像の中心位置とが一致する場合には、第１の配置パターン及び第２の配置パターンは、空間領域において、画像の中心位置に対して回転対称性を有していてもよい。
【００９６】
つまり、第１の配置パターンは、第１の配置パターンを１回転させる間に、回転前の第１の配置パターンと回転後の第１の配置パターンが、一致することのあるパターンであってもよい。第２の配置パターンについても同様である。
【００９７】
具体例を図９（Ａ）及び図９（Ｂ）に示す。図９（Ａ）には、画像ＩＭ６上において、配置位置（基準点）ＳＰ１〜配置位置（基準点）ＳＰ６にテンプレートオブジェクトが配置される第１の配置パターンを示す。この場合には、図９（Ａ）の第１の配置パターンを１８０度回転させた時に、回転前の第１の配置パターンと回転後の第１の配置パターンとが一致する。具体的には、第１の配置パターンを１８０度回転させると、回転後の配置位置ＳＰ１と回転前の配置位置ＳＰ６が一致し、回転後の配置位置ＳＰ２と回転前の配置位置ＳＰ５が一致し、回転後の配置位置ＳＰ３と回転前の配置位置ＳＰ４が一致する。つまり、図９（Ａ）の第１の配置パターンは、２回回転対称性を有する。
【００９８】
ここで、Ｎ回回転対称性とは、所定の点を中心として、図形を（３６０／Ｎ）°回転させると、回転前の図形と回転後の図形が一致する性質のことをいう。なお、Ｎは２以上の正の整数である。
【００９９】
一方、図９（Ｂ）には、画像ＩＭ７上において、配置位置ＳＰ７〜配置位置ＳＰ１０にテンプレートオブジェクトが配置される第２の配置パターンを示す。この場合にも、図９（Ｂ）の第２の配置パターンを１８０度回転させた時に、回転前の第２の配置パターンと回転後の第２の配置パターンとが一致する。つまり、図９（Ｂ）の第２の配置パターンも、２回回転対称性を有する。
【０１００】
以上のような、２回回転対称性や４回回転対称性等を有する配置パターンは、空間周波数領域での単位位相当たりの位相変位を、予め計算しておくこと等が可能になる。よって、空間周波数領域での配置パターンの生成を容易にすること等が可能になる。
【０１０１】
さらに、第１の配置パターン及び第２の配置パターンは、空間領域における画像の中心点に対して、テンプレートオブジェクトが点対称になるように配置されるパターンであってもよい。
【０１０２】
言い換えれば、この場合、第１の配置パターンは、空間領域において、第１のテンプレートオブジェクトが、画像の中心点から第１の方向に第１の距離だけ離れた第１の配置位置と、中心点から第１の方向と逆方向に、第１の距離だけ離れた第２の配置位置とに配置されるパターンである。また、第２の配置パターンは、第２のテンプレートオブジェクトが、中心点から第２の方向に第２の距離だけ離れた第３の配置位置と、中心点から第２の方向と逆方向に、第２の距離だけ離れた第４の配置位置とに配置されるパターンである。
【０１０３】
具体例を図１０（Ａ）及び図１０（Ｂ）に示す。図１０（Ａ）には、画像ＩＭ８上において、配置位置ＳＰ１及び配置位置ＳＰ２にテンプレートオブジェクトが配置される第１の配置パターンを示す。この第１の配置パターンは、画像ＩＭ８の中心点ＴＣＰから第１の方向ＤＲ１に、第１の距離｜ＤＳ１｜だけ離れた第１の配置位置ＳＰ１と、中心点ＴＣＰから第１の方向ＤＲ１と逆方向ＤＲ２に、第１の距離｜ＤＳ１｜だけ離れた第２の配置位置ＳＰ２とに配置されるパターンである。つまり、第２の配置位置ＳＰ２は、画像の中心点ＴＣＰに対して、第１の配置位置ＳＰ１と点対称な位置である。なお、配置位置が中心点に対して点対称になるだけであって、テンプレートオブジェクトが逆向きで配置される訳ではない。
【０１０４】
一方で、図１０（Ｂ）には、画像ＩＭ９上において、配置位置ＳＰ３及び配置位置ＳＰ４にテンプレートオブジェクトが配置される第２の配置パターンを示す。この第２の配置パターンは、画像ＩＭ９の中心点ＴＣＰから第２の方向ＤＲ３に、第２の距離｜ＤＳ２｜だけ離れた第３の配置位置ＳＰ３と、中心点ＴＣＰから第２の方向ＤＲ３と逆方向ＤＲ４に、第２の距離｜ＤＳ２｜だけ離れた第４の配置位置ＳＰ４とに配置されるパターンである。つまり、第３の配置位置ＳＰ３は、画像の中心点ＴＣＰに対して、第４の配置位置ＳＰ４と点対称な位置である。なお、第１の配置位置及び第２の配置位置のどちらかは、第３の配置位置及び第４の配置位置と同じ座標位置であってもよい。
【０１０５】
このような図１０（Ｂ）に示す第２の配置パターンも、空間領域において、平行移動した際に、図１０（Ａ）に示す第１の配置パターンと重ならない（完全に一致しない）パターンである。
【０１０６】
この場合、テンプレート画像取得部１１０は、空間領域において、第１のテンプレートオブジェクトが、画像の中心点から第１の方向に第１の距離だけ離れた第１の配置位置と、中心点から第１の方向と逆方向に、第１の距離だけ離れた第２の配置位置とに配置され、第２のテンプレートオブジェクトが、中心点から第２の方向に第２の距離だけ離れた第３の配置位置と、中心点から第２の方向と逆方向に、第２の距離だけ離れた第４の配置位置とに配置されるテンプレート画像データを取得する。つまり、前述した図７（Ｄ）の画像ＴＩＭ４のようなテンプレート画像データを取得する。
【０１０７】
２．３．対応テンプレートオブジェクトの特定処理
次に、前述した図７（Ｄ）に示す画像ＴＩＭ４のようなテンプレート画像を用いて、位相限定相関処理を行った場合の、対応テンプレートオブジェクトの特定処理について説明する。
【０１０８】
この場合、処理部１５０は、位相限定相関処理を行うことにより、入力画像上における、入力画像とテンプレート画像との相関ピーク位置の位置関係を特定し、相関ピーク位置の位置関係に対応する配置パターンのテンプレートオブジェクトが、対応テンプレートオブジェクトであると特定する。
【０１０９】
具体例を図１１（Ａ）〜図１１（Ｇ）を用いて説明する。図１１（Ａ）に示すテンプレート画像ＴＩＭ４は、前述した図７（Ｄ）において示した画像と同じ画像である。
【０１１０】
この場合に、テンプレート画像ＴＩＭ４の位相信号と、図１１（Ｂ）に示す入力画像ＩＩＭ８に対して、位相限定相関処理を行うと、図１１（Ｃ）に示すように、入力画像ＩＩＭ８において、４つの相関ピーク位置（Ｐ１１〜Ｐ１４）が検出される。本例では、この４つの相関ピーク位置（Ｐ１１〜Ｐ１４）の位置関係を特定し、テンプレート画像ＴＩＭ４において、４つの相関ピーク位置（Ｐ１１〜Ｐ１４）の位置関係と同じ（対応する）位置関係で配置されたテンプレートオブジェクトを、対応テンプレートオブジェクトとして特定する。つまり、相関ピーク位置（Ｐ１１〜Ｐ１４）の位置関係と同じ配置パターンのテンプレートオブジェクトＴＯＢ１を、対応テンプレートオブジェクトとして特定する。
【０１１１】
同様に、テンプレート画像ＴＩＭ４の位相信号と、図１１（Ｄ）に示す入力画像ＩＩＭ９に対して、位相限定相関処理を行うと、図１１（Ｅ）に示すように、入力画像ＩＩＭ９において、２つの相関ピーク位置（Ｐ１５及びＰ１６）が検出される。本例では、この２つの相関ピーク位置（Ｐ１５及びＰ１６）の位置関係を特定し、テンプレート画像ＴＩＭ４において、２つの相関ピーク位置（Ｐ１５及びＰ１６）の位置関係と同じ（対応する）配置パターンのテンプレートオブジェクトＴＯＢ２を、対応テンプレートオブジェクトとして特定する。
【０１１２】
これに対し、比較例として、図１２（Ａ）に示すテンプレート画像ＴＩＭ５を用いて、位相限定相関処理を行う例を、図１２（Ａ）〜図１２（Ｅ）に示す。テンプレート画像ＴＩＭ５は、第１のテンプレートオブジェクトＴＯＢ１が第１の配置パターンで配置され、第２のテンプレートオブジェクトＴＯＢ２が第２の配置パターンで配置されている。しかし、図１２（Ａ）に示す第２の配置パターンは、空間領域において、平行移動した際に第１の配置パターンと重なってしまう（完全に一致してしまう）パターンである。つまり、テンプレート画像ＴＩＭ５の第１の配置パターンと第２の配置パターンは、並進対称性を有する。
【０１１３】
このようなテンプレート画像ＴＩＭ５と、図１２（Ｂ）に示す入力画像ＩＩＭ８（図１１（Ｂ）に示す画像と同じ画像）に対して、位相限定相関処理を行うと、図１２（Ｃ）に示すように、入力画像ＩＩＭ８において、２つの相関ピーク位置（Ｐ２３及びＰ２４）が検出される。
【０１１４】
一方で、テンプレート画像ＴＩＭ５と、図１２（Ｄ）に示す入力画像ＩＩＭ９（図１１（Ｄ）に示す画像と同じ画像）に対して、位相限定相関処理を行った場合にも、図１２（Ｅ）に示すように、入力画像ＩＩＭ９において、２つの相関ピーク位置（Ｐ２５及びＰ２６）が検出される。
【０１１５】
この時、相関ピーク位置Ｐ２３及び相関ピーク位置Ｐ２４の位置関係は、相関ピーク位置Ｐ２５及び相関ピーク位置Ｐ２６の位置関係と同じ位置関係になってしまう。そのため、図１２（Ｃ）及び図１２（Ｅ）のように、相関ピーク位置を検出しても、テンプレートオブジェクトＴＯＢ１及びテンプレートオブジェクトＴＯＢ２のうちのどちらが、対応テンプレートオブジェクトであるかを特定することができない。
【０１１６】
これに対し、前述したように、テンプレート画像ＴＩＭ４を用いる場合には、入力画像ＩＩＭ８及び入力画像ＩＩＭ９のどちらに対しても、対応テンプレートオブジェクトを特定することが可能である。
【０１１７】
また、図１３（Ａ）に示すテンプレート画像ＴＩＭ３（図６（Ａ）に示す画像と同じ画像）を用いて、位相限定相関処理を行う場合には、図６（Ｂ）の入力画像ＩＩＭ４のように、入力画像ＩＩＭ４内に１つの検出対象だけが映っていれば、前述したように、対応テンプレートオブジェクトを特定することができた。
【０１１８】
しかし、図１３（Ｂ）に示す入力画像ＩＩＭ１０のように、入力画像ＩＩＭ１０内に複数の検出対象（ＯＢ１及びＯＢ２）が映っている場合には、対応テンプレートオブジェクトを特定できないことがある。例えば、図６（Ａ）〜図６（Ｄ）の例では、相関ピーク位置の数によって、対応テンプレートオブジェクトを特定していた。これに対し、テンプレート画像ＴＩＭ３と入力画像ＩＩＭ１０を用いて位相限定相関処理を行うと、図１３（Ｃ）に示すように、３つの相関ピーク位置（Ｐ２７〜Ｐ２９）が検出される。
【０１１９】
この場合には、入力画像ＩＩＭ１０に映る検出対象のパターンとして、３つのパターンが考えられる。第１のパターンは、第１のテンプレートオブジェクトＴＯＢ１に対応する検出対象が３つ映っているパターンである。第２のパターンは、第１のテンプレートオブジェクトＴＯＢ１に対応する検出対象と、第２のテンプレートオブジェクトＴＯＢ２に対応する検出対象が、１つずつ映っているパターンである。そして、第３のパターンは、第３のテンプレートオブジェクトＴＯＢ３に対応する検出対象が１つ映っているパターンである。この場合には、第２のパターンが正しいが、テンプレート画像ＴＩＭ３を用いる場合には、このような時に対応テンプレートオブジェクトを特定することができない。
【０１２０】
これに対し、図１１（Ａ）のテンプレート画像ＴＩＭ４と、図１１（Ｆ）に示す入力画像ＩＩＭ１０（図１３（Ｂ）に示す画像と同じ画像）に対して、位相限定相関処理を行う場合には、図１１（Ｇ）に示すように、入力画像ＩＩＭ１０において、４つの相関ピーク位置（Ｐ１７〜Ｐ２０）と、２つの相関ピーク位置（Ｐ２１及びＰ２２）が検出される。
【０１２１】
次に本例では、４つの相関ピーク位置（Ｐ１７〜Ｐ２０）の位置関係と、２つの相関ピーク位置（Ｐ２１及びＰ２２）の位置関係をそれぞれ特定する。そして、テンプレート画像ＴＩＭ４において、４つの相関ピーク位置（Ｐ１７〜Ｐ２０）の位置関係と同じ（対応する）配置パターンのテンプレートオブジェクトＴＯＢ１を、第１の対応テンプレートオブジェクトとして特定する。さらに、２つの相関ピーク位置（Ｐ２１及びＰ２２）の位置関係と同じ（対応する）配置パターンのテンプレートオブジェクトＴＯＢ２を、第２の対応テンプレートオブジェクトとして特定する。
【０１２２】
このように、テンプレート画像ＴＩＭ４を用いる場合には、入力画像に複数の検出対象が映っている場合にも、位相限定相関処理を１回行うだけで、各検出対象に対応する対応テンプレートオブジェクトを特定することが可能である。
【０１２３】
これにより、異なる入力画像に対して位相限定相関処理を行った結果、同じ数の相関ピーク位置が検出される場合でも、対応テンプレートオブジェクトを一意に特定すること等が可能になる。
【０１２４】
ただし、図１１（Ｇ）の場合には、位相限定相関処理を行った結果、計６つの相関ピーク位置が検出されるが、前述したように、この６つの相関ピーク位置を、それぞれ同じテンプレートオブジェクトに対応するように、分類（識別）する必要がある。前述した例では、相関ピーク位置Ｐ１７〜相関ピーク位置Ｐ２０の４つを同じテンプレートオブジェクトに対応するものとして識別し、相関ピーク位置Ｐ２１及び相関ピーク位置Ｐ２２の２つを他のテンプレートオブジェクトに対応するものとして識別している。
【０１２５】
この時に識別ミスを防ぐために、図１４（Ａ）に示すように、テンプレートオブジェクトの複数の配置位置（ＲＰ１１〜ＲＰ１４）が、互いにより近いテンプレート画像ＴＩＭ６を用いれば、同じテンプレートオブジェクトに対応する相関ピーク位置と、異なるテンプレートオブジェクトに対応する相関ピーク位置とを、より容易に識別すること等が可能になる。これは、同じテンプレートオブジェクトに対応する相関ピーク位置の局在性が高くなるためである。その結果、相関ピーク位置の位置関係と、各テンプレートオブジェクトの配置パターンの対応付けを、より容易に（正確に）すること等が可能になる。
【０１２６】
具体的には、テンプレート画像ＴＩＭ６におけるテンプレートオブジェクトの配置位置（ＲＰ１１〜ＲＰ１４）は、前述した図７（Ｄ）に示すテンプレート画像ＴＩＭ４におけるテンプレートオブジェクトの配置位置（ＲＰ１〜ＲＰ４）よりも、中心点ＴＣＰに近い位置である。そして、配置位置ＲＰ１１及び配置位置ＲＰ１４に、テンプレートオブジェクトＴＯＢ１とテンプレートオブジェクトＴＯＢ２が配置され、配置位置ＲＰ１２及び配置位置ＲＰ１３に、テンプレートオブジェクトＴＯＢ１とテンプレートオブジェクトＴＯＢ３が配置されている。
【０１２７】
この場合に、テンプレート画像ＴＩＭ６を用いて、位相限定相関処理を行うと、図１４（Ｂ）に示すように、入力画像ＩＩＭ１１において、複数の相関ピーク位置（Ｐ３０〜Ｐ４１）が検出される。この時、相関ピーク位置（Ｐ３０〜Ｐ３３）は、互いに比較的近距離な画像範囲ＡＲ１内に検出され、同様にして、相関ピーク位置（Ｐ３４及びＰ３５）は画像範囲ＡＲ２内に、相関ピーク位置（Ｐ３６〜Ｐ３９）は画像範囲ＡＲ３内に、相関ピーク位置（Ｐ４０及びＰ４１）は画像範囲ＡＲ４内に検出される。つまり、同じテンプレートオブジェクトに対応する相関ピーク位置が、互いに重なり合わない領域内（ＡＲ１〜ＡＲ４）で、まとまって検出される。
【０１２８】
よって、相関ピーク位置（Ｐ３０〜Ｐ３３）は、互いに同じテンプレートオブジェクトに対応する相関ピーク位置であると推定することが容易になる。具体的に、相関ピーク位置（Ｐ３０〜Ｐ３３）の位置関係は、同じ配置パターンのテンプレートオブジェクトＴＯＢ１に対応する、と推定できる。その他の相関ピーク位置についても同様であり、相関ピーク位置（Ｐ３４及びＰ３５）の位置関係は、テンプレートオブジェクトＴＯＢ３に対応し、相関ピーク位置（Ｐ３６〜Ｐ３９）の位置関係は、テンプレートオブジェクトＴＯＢ１に対応し、相関ピーク位置（Ｐ４０及びＰ４１）の位置関係は、テンプレートオブジェクトＴＯＢ２に対応する、と推定できる。
【０１２９】
また、前述の図１１（Ａ）〜図１１（Ｇ）の例では、基準点として４点（図７（Ａ）に示すＲＰ１〜ＲＰ４）を設定した場合を説明したが、他の例として、縦４×横４の１６点の基準点を設定したとする。また、検出を容易とするために、原点に対して配置位置が点対称となる配置パターンのみを選択したとする。この場合、配置パターンとしては、全ての基準点にテンプレートオブジェクトが配置されないパターンを除いた、２５５パターンが考えらえる。つまり、この場合には、１回の位相限定相関処理で、２５５種類ものテンプレートオブジェクトとの照合が可能となる。このように、本実施形態は、１回の位相限定相関処理で、多種類の検出対象の検出処理を行える点で特に優れている。
【０１３０】
２．４．処理の詳細
次に、図１５のフローチャートを用いて、本実施形態の処理の流れを説明する。まず、テンプレート画像取得部１１０は、第１のテンプレートオブジェクト画像〜第Ｎのテンプレートオブジェクト画像に対して、フーリエ変換を行う（Ｓ１０１）。テンプレートオブジェクト画像は、例えば図１１（Ａ）の１つのテンプレートオブジェクトＴＯＢ１のみが映る画像などである。
【０１３１】
そして、テンプレート画像取得部１１０は、フーリエ変換後のテンプレートオブジェクト画像データに対して、振幅の正規化を行い、空間周波数領域における位相信号のみを抽出する（Ｓ１０２）。具体的には、第１の位相信号〜第Ｎの位相信号を抽出する（Ｎは、２以上の整数である）。
【０１３２】
次に、テンプレート画像取得部１１０は、抽出した第１の位相信号〜第Ｎの位相信号に対して、空間周波数領域において、それぞれ変位を付加する（Ｓ１０３）。ここで、変位とは、例えばテンプレート画像に配置される各テンプレートオブジェクトの、画像の中心からの位置姿勢のずれのことをいう。例えば、図１１（Ａ）の４つのテンプレートオブジェクトＴＯＢ１は、画像の中心に対して、それぞれ左上、右上、左下、右下に配置されるような変位が加えられている。図１１（Ａ）の場合には、他のテンプレートオブジェクト（ＴＯＢ２、ＴＯＢ３）に対しても、空間周波数領域において、それぞれ変位を付加する。
【０１３３】
そして、テンプレート画像取得部１１０は、変位付加後の第１の位相信号〜第Ｎの位相信号を合成して、例えば図１１（Ａ）の画像ＴＩＭ４のようなテンプレート画像の位相信号を生成する（Ｓ１０４）。
【０１３４】
一方、入力画像取得部１３０は、例えば図１１（Ｂ）の画像ＩＩＭ８のような入力画像を取得する（Ｓ１０５）。そして、処理部１５０は、取得した入力画像をフーリエ変換し（Ｓ１０６）、フーリエ変換後のデータの振幅を正規化して、空間周波数領域における入力画像の位相信号のみを抽出する（Ｓ１０７）。なお、ステップＳ１０１〜ステップＳ１０４の処理と、ステップＳ１０５〜ステップＳ１０７の処理は、順番が逆でも良いし、並列に処理してもよい。
【０１３５】
次に、処理部１５０は、テンプレート画像の位相信号の複素共役と、入力画像の位相信号とを乗算し（Ｓ１０８）、テンプレート画像の位相信号の複素共役と、入力画像の位相信号との積を、逆フーリエ変換して、入力画像における相関ピーク位置を検出する（Ｓ１０９）。例えば、検出される相関ピーク位置は、前述した図１１（Ｃ）の位置Ｐ１１〜位置Ｐ１４などである。なお、前述した位相限定相関処理は、このステップＳ１０７〜ステップＳ１０９の処理に相当する。
【０１３６】
そして、処理部１５０は、相関ピーク位置の位置関係と、テンプレートオブジェクトの配置パターンに基づいて、対応テンプレートオブジェクトを特定し（Ｓ１１０）、処理を終了する。前述した図１１（Ｃ）の場合には、複数の相関ピーク位置（Ｐ１１〜Ｐ１４）の位置関係に対応する配置パターンのテンプレートオブジェクトＴＯＢ１を、対応テンプレートオブジェクトとして特定する。
【０１３７】
ここで、本実施形態の比較例として、複数（３つ）の検出対象があり、画像１枚につき、その複数の検出対象のいずれかを表すテンプレートオブジェクトが１つ映っているテンプレート画像を複数用いて、検出対象を検出する例を図１６（Ａ）〜図１６（Ｄ）に示す。
【０１３８】
本比較例では、図１６（Ａ）に示すテンプレート画像ＴＩＭ７には、テンプレートオブジェクトＴＯＢ１が配置されており、図１６（Ｂ）に示すテンプレート画像ＴＩＭ８には、テンプレートオブジェクトＴＯＢ２が配置されており、図１６（Ｃ）に示すテンプレート画像ＴＩＭ９には、テンプレートオブジェクトＴＯＢ３が配置されている。
【０１３９】
そして、図１６（Ｄ）に示す入力画像ＩＩＭ１２において、検出対象の検出処理を行うが、この際には、テンプレート画像と入力画像の組み合わせ毎に、それぞれ位相限定相関処理を行う必要がある。具体的には、まず、テンプレート画像ＴＩＭ７を用いて、位相限定相関処理を行って、テンプレートオブジェクトＴＯＢ１が表す検出対象が、入力画像ＩＩＭ１２に映っているかを判定する。次に、テンプレート画像ＴＩＭ８を用いて、位相限定相関処理を行って、テンプレートオブジェクトＴＯＢ２が表す検出対象が、入力画像ＩＩＭ１２に映っているかを判定する。さらに、テンプレート画像ＴＩＭ９についても同様に位相限定相関処理を行う。つまり、本比較例では、位相限定相関処理を３回行う必要がある。本比較例では、検出対象が３つだが、検出対象が増えれば、検出対象の数だけ、位相限定相関処理を行う必要がある。また、テンプレート画像も、検出対象の数だけ用意する必要がある。
【０１４０】
また、位相限定相関処理は、フーリエ変換を行うため、１回の位相限定相関処理の計算量が比較的多い。よって、位相限定相関処理を行う回数は少ない方がよい。ましてや、位相限定相関処理では、前述したように同じ種類の物体であっても、姿勢が異なれば、違う検出対象として扱われるため、本比較例の方法で、各姿勢に対して位相限定相関処理を個々に行う場合には、さらに計算量が多くなる。
【０１４１】
これに対して、本実施形態の検出対象の検出処理では、位相限定相関処理を１回だけ行えばよい。これは、検出対象の数が増えても変わらず、用意するテンプレート画像も１つでよい。具体的には、検出対象の数が増えた場合には、テンプレート画像に配置されるテンプレートオブジェクトの数を増やすだけで対応することが可能である。
【０１４２】
よって、本実施形態によれば、位相限定相関処理による検出対象の検出処理の処理量を低減して、処理時間を大幅に短縮することができ、高速な物体検出を実現することができる。
【０１４３】
また、本実施形態では、同じ種類のテンプレートオブジェクトで、姿勢がそれぞれ異なるものの位相信号を、空間周波数領域上で合成したテンプレート画像データを用いれば、検出対象の姿勢を検出することも可能である。さらに、大きさの異なる検出対象についても、同様に対応すること等が可能である。
【０１４４】
３．ロボット
また、以上で述べた検出処理の結果は、ビジュアルサーボなどのロボット３００の制御にも用いることができる。この場合には、例えば図１７に示すように、ロボット３００は、前述した画像処理装置１００（テンプレート画像取得部１１０と入力画像取得部１３０と処理部１５０とを有する）と、ロボット制御部３５０と、ロボット機構３８０と、を含む。
【０１４５】
そして、ロボット機構３８０は、エンドエフェクター３１０やアーム３２０等を有している。ここで、エンドエフェクター３１０とは、ワーク（作業対象物）を把持したり、持ち上げたり、吊り上げたり、吸着させたり、ワークに加工を施したりするために、アームのエンドポイントに取り付ける部品のことをいう。エンドエフェクター３１０は、例えばハンド（把持部）であってもよいし、フックであってもよいし、吸盤等であってもよい。さらに、１本のアームに対して、複数のエンドエフェクターを設けても良い。なお、アームとは、ロボット３００のパーツであって、一つ以上の関節を含む可動パーツのことをいう。
【０１４６】
この場合には、入力画像取得部１３０は、撮像部２００から入力画像として撮像画像を取得する。例えば、画像処理装置１００と撮像部２００が、有線及び無線の少なくとも一方を含むネットワークにより接続されている場合には、入力画像取得部１３０は、撮像部２００と通信を行う通信部（インターフェース部）であってもよい。また他にも、画像処理装置１００が撮像部２００を含む場合には、入力画像取得部１３０は、撮像部２００そのものであってもよい。
【０１４７】
そして、撮像部（カメラ）２００は、例えばＣＣＤ（charge-coupled device）等の撮像素子と光学系とを含む。撮像部２００は、例えば天井や作業台の上などに、検出対象が撮像部２００の画角内に入るような角度で配置される。そして、撮像部２００は、撮像画像の情報を画像処理装置１００（入力画像取得部１３０）に出力する。ただし、本実施形態においては、撮像画像の情報をそのまま画像処理装置１００に出力するものとするが、これに限定されるものではない。例えば、撮像部２００は、画像処理用等に用いられるデバイス（プロセッサー）を含むことができる。
【０１４８】
次に、処理部１５０は、前述した各処理を行うことにより、撮像画像に映る検出対象を検出し、検出対象の検出結果をロボット制御部３５０に出力する。そして、ロボット制御部３５０は、取得した検出対象の検出結果に基づいて、ロボット機構３８０を制御する。
【０１４９】
この場合には、ロボット３００は、図１８（Ａ）のようにロボット本体と画像処理装置１００とが一体に構成されていてもよい。すなわち、ロボット３００は、画像処理装置１００を含んでいてもよい。具体的には図１８（Ａ）に示したように、ロボット３００は、ロボット機構３８０及びロボット機構３８０を支えるベースユニット部を有し、当該ベースユニット部に画像処理装置１００及びロボット制御部３５０が格納されるものであってもよい。そして、図１８（Ａ）のロボット３００には、ベースユニット部に車輪等が設けられ、ロボット全体が移動可能な構成となっている。このロボット３００は、人手により移動させられるものであってもよいし、車輪を駆動させるモーターを設け、当該モーターをロボット制御部３５０により制御することにより、移動させられるものであってもよい。なお、図１８（Ａ）は双腕型の例であるが、ロボット３００は、後述する図１８（Ｂ）に示すように単腕型や、その他の多腕型のロボットであってもよい。
【０１５０】
さらに、図１８（Ａ）のようにロボット３００の下に設けられたベースユニット部に、画像処理装置１００が設けられるとは限られない。例えば、本実施形態のロボット３００は、図１８（Ｂ）に示すように、ロボット本体３００（ロボット）と画像処理装置１００とが別体に構成されていてもよい。この場合には、画像処理装置１００の一部又は全部の機能は、例えばＰＣ（Personal Computer）により実現される。この場合には、画像処理装置１００とロボット３００は、有線及び無線の少なくとも一方を含むネットワークを介して、通信接続されている。
【０１５１】
また、図１９に示すように、画像処理装置１００の機能は、有線及び無線の少なくとも一方を含むネットワーク４００を介して、ロボット３００と通信接続されたサーバー５００により実現されてもよい。
【０１５２】
或いは本実施形態では、本発明の画像処理装置の処理の一部を、サーバー５００側の画像処理装置が行ってもよい。この場合には、ロボット３００側に設けられた画像処理装置との分散処理により、当該処理を実現する。なお、ロボット３００側の画像処理装置は、例えばロボット３００に設置される端末装置３３０（制御部）により実現される。
【０１５３】
そして、この場合に、サーバー５００側の画像処理装置は、本発明の画像処理装置における各処理のうち、サーバー５００の画像処理装置に割り当てられた処理を行う。一方、ロボット３００に設けられた画像処理装置は、本発明の画像処理装置の各処理のうち、ロボット３００の画像処理装置に割り当てられた処理を行う。なお、本発明の画像処理装置の各処理は、サーバー５００側に割り当てられた処理であってもよいし、ロボット３００側に割り当てられた処理であってもよい。
【０１５４】
これにより、例えば端末装置３３０よりも処理能力の高いサーバー５００が、処理量の多い処理を行うこと等が可能になる。さらに、例えばサーバー５００が各ロボット３００の動作を一括して制御することができ、複数のロボット３００に協調動作をさせること等が容易になる。
【０１５５】
なお、本実施形態の画像処理装置１００及びロボット３００等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、本実施形態の画像処理装置１００及びロボット３００等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【０１５６】
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、画像処理装置、ロボット及びプログラムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１５７】
１００  画像処理装置、１１０  テンプレート画像取得部、１３０  入力画像取得部、
１５０  処理部、２００  撮像部、３００  ロボット、３１０  エンドエフェクター、
３２０  アーム、３３０  端末装置、３５０  ロボット制御部、３８０  ロボット機構、
４００  ネットワーク、５００  サーバー
【図１】
2015102992.tif 000003
【図２】
2015102992.tif 000004
【図３】
2015102992.tif 000005
【図４】
2015102992.tif 000006
【図５】
2015102992.tif 000007
【図６】
2015102992.tif 000008
【図７】
2015102992.tif 000009
【図８】
2015102992.tif 000010
【図９】
2015102992.tif 000011
【図１０】
2015102992.tif 000012
【図１１】
2015102992.tif 000013
【図１２】
2015102992.tif 000014
【図１３】
2015102992.tif 000015
【図１４】
2015102992.tif 000016
【図１５】
2015102992.tif 000017
【図１６】
2015102992.tif 000018
【図１７】
2015102992.tif 000019
【図１８】
2015102992.tif 000020
【図１９】
2015102992.tif 000021