(57)【特許請求の範囲】
【請求項１】
入力画像における対象物の探索に用いられるテンプレートを生成する機能を有する画像処理装置であって、
前記対象物を含む第１の入力画像を取得する第１の画像取得部と、
前記対象物を含むとともに、当該対象物の画像内の位置情報が既知である第２の入力画像を取得する第２の画像取得部と、
前記対象物を含むように前記第１の入力画像に設定された候補領域を、複数の小領域に分割するとともに、単一の小領域または互いに隣接する複数の小領域からなる矩形のテンプレート候補を複数設定するテンプレート候補設定部と、
前記第２の入力画像において各テンプレート候補を用いた前記対象物の探索処理を実行するとともに、当該探索処理の実行結果に基づいて、各テンプレート候補の探索精度を算出する算出部と、
前記探索精度および各テンプレート候補のサイズに基づいて、前記複数のテンプレート候補から複数の部分テンプレートを選択し、選択された部分テンプレートの組を前記テンプレートとして生成する生成部とを備える、画像処理装置。
【請求項２】
前記算出部は、
各テンプレート候補と前記第２の入力画像に設定される当該テンプレート候補に対応する領域とのそれぞれから周波数情報を算出する周波数情報算出部と、
前記周波数情報に基づいて、前記対象物の探索処理を実行する探索部とを含む、請求項１に記載の画像処理装置。
【請求項３】
前記生成部は、
前記探索処理により算出された類似度と、テンプレート候補の大きさに依存する重み係数とに基づいて選択指標を算出する選択指標算出部と、
前記選択指標算出部によって算出された選択指標がより大きなテンプレート候補を、前記部分テンプレートとして選択する選択部とを含む、請求項１または２に記載の画像処理装置。
【請求項４】
前記対象物の探索が行われるべき第３の入力画像を取得する第３の画像取得部と、
前記第３の入力画像に対して、前記複数の部分テンプレートのそれぞれを用いて探索処理を実行するとともに、それぞれの探索処理の結果に基づいて、前記第３の入力画像における前記対象物の位置情報を出力する対象物探索部とをさらに備える、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
複数の前記第３の入力画像にわたって、前記対象物探索部による探索処理の結果として算出される前記複数の部分テンプレートのそれぞれについての類似度を記憶する記憶部と、
前記記憶部に記憶された類似度の時間的変化に基づいて、前記複数の部分テンプレートに対する前記対象物探索部における重みを変更する重み変更部とをさらに備える、請求項４に記載の画像処理装置。
【請求項６】
前記テンプレート候補設定部は、前記算出部によっていずれのテンプレート候補についても有効な探索精度を算出できなかった場合に、前記候補領域を拡張した上で、再度テンプレート候補を設定する、請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記テンプレート候補設定部は、前記算出部によっていずれのテンプレート候補についても有効な探索精度を算出できなかった場合に、前記候補領域の位置を変更した上で、再度テンプレート候補を設定する、請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
入力画像における対象物の探索に用いられるテンプレートを生成する画像処理方法であって、
前記対象物を含む第１の入力画像を取得するステップと、
前記対象物を含むとともに、当該対象物の画像内の位置情報が既知である第２の入力画像を取得するステップと、
前記対象物を含むように前記第１の入力画像に設定された候補領域を、複数の小領域に分割するとともに、単一の小領域または互いに隣接する複数の小領域からなる矩形のテンプレート候補を複数設定するステップと、
前記第２の入力画像において各テンプレート候補を用いた前記対象物の探索処理を実行するとともに、当該探索処理の実行結果に基づいて、各テンプレート候補の探索精度を算出するステップと、
前記探索精度および各テンプレート候補のサイズに基づいて、前記複数のテンプレート候補から複数の部分テンプレートを選択し、選択された部分テンプレートの組を前記テンプレートとして生成するステップとを備える、画像処理方法。
【請求項９】
入力画像における対象物の探索に用いられるテンプレートを生成するための画像処理プログラムであって、前記画像処理プログラムはコンピューターに、
前記対象物を含む第１の入力画像を取得するステップと、
前記対象物を含むとともに、当該対象物の画像内の位置情報が既知である第２の入力画像を取得するステップと、
前記対象物を含むように前記第１の入力画像に設定された候補領域を、複数の小領域に分割するとともに、単一の小領域または互いに隣接する複数の小領域からなる矩形のテンプレート候補を複数設定するステップと、
前記第２の入力画像において各テンプレート候補を用いた前記対象物の探索処理を実行するとともに、当該探索処理の実行結果に基づいて、各テンプレート候補の探索精度を算出するステップと、
前記探索精度および各テンプレート候補のサイズに基づいて、前記複数のテンプレート候補から複数の部分テンプレートを選択し、選択された部分テンプレートの組を前記テンプレートとして生成するステップとを実行させる、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像に含まれる対象物の探索に用いられるテンプレートを生成する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来から、画像における対象物探索処理（マッチング処理）のための技術が各種提案されてきた。【０００３】
例えば、特開平０６−３１７４０６号公報（特許文献１）は、物品の位置検出装置を開示する。この位置検出装置は、被検出部位の形状に対応したパターンを有するテンプレートを、該被検出部位を撮像した画面上で走査させて、これらをマッチングさせることにより、該被検出部位の位置を検出する。特に、この位置検出装置では、テンプレートとして、被検出部位の形状を複数個に分割したときの各部分の形状にそれぞれ対応したパターンを有する複数個のテンプレートを設定し、これらのテンプレートと被検出部位の対応する部分の画像とをマッチングさせ、その結果から被検出部位の全体としての位置を求める。【０００４】
また、特開平０６−０８９３４３号公報（特許文献２）は、テンプレートマッチングの不感帯領域設定方法を開示する。この不感帯領域設定方法では、テンプレート画像と、検出物の画像とを記憶し、記憶したテンプレート画像と、検出物の画像とをそれぞれ部分画像に分割し、その部分画像同士をテンプレートマッチング処理し、相関値が所定の値より低い場合は、そのテンプレート画像の部分画像領域を不感帯領域とする。【０００５】
一方、マッチング処理としては、画像の周波数情報を用いるものがあり、例えば、位相限定相関法（Phase-Only  Correlation：以下「ＰＯＣ法」とも記す。）が知られている。このＰＯＣ法は、画像に含まれる空間周波数の位相差情報を用いて、画像間の対応点を探索するものであり、ロバスト性に優れている。探索対象の２つの画像間に倍率差および／または回転差などがある場合には、ＰＯＣ法を拡張した手法として、回転不変位相限定相関法（Rotation  Invariant  Phase  Only  Correlation：以下「ＲＩＰＯＣ法」とも記す。）などのサイズおよび／または回転に対応したＰＯＣ法などが用いられる。特開平１０−１２４６６７号公報（特許文献３）は、ＲＩＰＯＣ法を利用したパターン照合装置を開示する。このパターン照合装置は、空間周波数特性に基づいてＮ次元のパターン（例えば、指紋（２次元）、立体（３次元））の照合を行なうものであり、回転ずれがあっても登録パターンと照合パターンとが同一であるか否かを識別することができるようにすることを目的としている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０６−３１７４０６号公報
【特許文献２】特開平０６−０８９３４３号公報
【特許文献３】特開平１０−１２４６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のようなマッチング処理に用いられるテンプレートは、入力画像に含まれる対象物の一部または全部と対応する画像である。しかしながら、例えば、対象物に可動部があり、テンプレートがその可動部を含む画像である場合には、入力画像における対象物の可動部がテンプレートと同様の位置にないときに、マッチング処理が上手に行なえない可能性がある。このような状況に対応するために、上述した特開平０６−３１７４０６号公報（特許文献１）や特開平０６−０８９３４３号公報（特許文献２）は、テンプレートを複数の部分領域に分割することや不感帯領域を設定することを開示するが、これらの技術をそのまま画像の周波数情報を用いるマッチング処理に適用しても、十分な探索精度を得ることはできない。すなわち、画像の周波数情報を用いるマッチング処理においては、テンプレートのサイズや形状が探索精度に影響を与えるが、上述した文献ではこの点が全く考慮されていない。【０００８】
本発明の目的は、画像の周波数情報を用いる探索処理（マッチング処理）により適したテンプレートを生成できる画像処理装置、画像処理方法および画像処理プログラムを提供することである。
【課題を解決するための手段】
【０００９】
本発明のある局面に従えば、入力画像における対象物の探索に用いられるテンプレートを生成する機能を有する画像処理装置が提供される。画像処理装置は、当該対象物を含む第１の入力画像を取得する第１の画像取得部と、当該対象物を含むとともに、当該対象物の画像内の位置情報が既知である第２の入力画像を取得する第２の画像取得部と、当該対象物を含むように当該第１の入力画像に設定された候補領域を、複数の小領域に分割するとともに、単一の小領域または互いに隣接する複数の小領域からなる矩形のテンプレート候補を複数設定するテンプレート候補設定部と、当該第２の入力画像において各テンプレート候補を用いた当該対象物の探索処理を実行するとともに、当該探索処理の実行結果に基づいて、各テンプレート候補の探索精度を算出する算出部と、当該探索精度および各テンプレート候補のサイズに基づいて、当該複数のテンプレート候補から複数の部分テンプレートを選択し、選択された部分テンプレートの組を当該テンプレートとして生成する生成部とを含む。【００１０】
好ましくは、当該算出部は、各テンプレート候補と当該第２の入力画像に設定される当該テンプレート候補に対応する領域とのそれぞれから周波数情報を算出する周波数情報算出部と、当該周波数情報に基づいて、当該対象物の探索処理を実行する対象物探索部とを含む。【００１１】
好ましくは、当該生成部は、当該探索処理により算出された類似度と、テンプレート候補の大きさに依存する重み係数とに基づいて選択指標を算出する選択指標算出部と、当該選択指標算出部によって算出された選択指標がより大きなテンプレート候補を、当該部分テンプレートとして選択する選択部とを含む。【００１２】
好ましくは、画像処理装置は、当該対象物の探索が行われるべき第３の入力画像を取得する第３の画像取得部と、当該第３の入力画像に対して、当該複数の部分テンプレートのそれぞれを用いて探索処理を実行するとともに、それぞれの探索処理の結果に基づいて、当該第３の入力画像における当該対象物の位置情報を出力する探索部とをさらに含む。【００１３】
さらに好ましくは、画像処理装置は、複数の当該第３の入力画像にわたって、当該探索部による探索処理の結果として算出される当該複数の部分テンプレートのそれぞれについての類似度を記憶する記憶部と、当該記憶部に記憶された類似度の時間的変化に基づいて、当該複数の部分テンプレートに対する当該探索部における重みを変更する重み変更部とをさらに含む。【００１４】
好ましくは、当該テンプレート候補設定部は、当該算出部によっていずれのテンプレート候補についても有効な探索精度を算出できなかった場合に、当該候補領域を拡張した上で、再度テンプレート候補を設定する。【００１５】
好ましくは、当該テンプレート候補設定部は、当該算出部によっていずれのテンプレート候補についても有効な探索精度を算出できなかった場合に、当該候補領域の位置を変更した上で、再度テンプレート候補を設定する。【００１６】
本発明の別の局面に従えば、入力画像における対象物の探索に用いられるテンプレートを生成する画像処理方法が提供される。画像処理方法は、当該対象物を含む第１の入力画像を取得するステップと、当該対象物を含むとともに、当該対象物の画像内の位置情報が既知である第２の入力画像を取得するステップと、当該対象物を含むように当該第１の入力画像に設定された候補領域を、複数の小領域に分割するとともに、単一の小領域または互いに隣接する複数の小領域からなる矩形のテンプレート候補を複数設定するステップと、当該第２の入力画像において各テンプレート候補を用いた当該対象物の探索処理を実行するとともに、当該探索処理の実行結果に基づいて、各テンプレート候補の探索精度を算出するステップと、当該探索精度および各テンプレート候補のサイズに基づいて、当該複数のテンプレート候補から複数の部分テンプレートを選択し、選択された部分テンプレートの組を当該テンプレートとして生成するステップとを含む。【００１７】
本発明のさらに別の局面に従えば、入力画像における対象物の探索に用いられるテンプレートを生成するための画像処理プログラムが提供される。当該画像処理プログラムはコンピューターに、当該対象物を含む第１の入力画像を取得するステップと、当該対象物を含むとともに、当該対象物の画像内の位置情報が既知である第２の入力画像を取得するステップと、当該対象物を含むように当該第１の入力画像に設定された候補領域を、複数の小領域に分割するとともに、単一の小領域または互いに隣接する複数の小領域からなる矩形のテンプレート候補を複数設定するステップと、当該第２の入力画像において各テンプレート候補を用いた当該対象物の探索処理を実行するとともに、当該探索処理の実行結果に基づいて、各テンプレート候補の探索精度を算出するステップと、当該探索精度および各テンプレート候補のサイズに基づいて、当該複数のテンプレート候補から複数の部分テンプレートを選択し、選択された部分テンプレートの組を当該テンプレートとして生成するステップとを実行させる。
【発明の効果】
【００１８】
本発明によれば、画像の周波数情報を用いる探索処理（マッチング処理）により適したテンプレートを生成できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態に従うテンプレートマッチングの適用例を示す模式図である。
【図２】本発明の実施の形態に従うテンプレートマッチングをパーソナルコンピューターにより実現した場合の構成を示すブロック図である。
【図３】本発明の実施の形態１に従うテンプレートの生成処理の概要を説明するための模式図である。
【図４】本発明の実施の形態１に従う画像処理装置の機能構成を示すブロック図である。
【図５】本発明の実施の形態１に従う画像処理装置における候補領域の分割処理の一例を示す図である。
【図６】本発明の実施の形態１に従う画像処理装置におけるテンプレート候補（２×１のブロック）の生成処理の一例を示す図である。
【図７】本発明の実施の形態１に従う画像処理装置におけるテンプレート候補（３×２のブロック）の生成処理の一例を示す図である。
【図８】本発明の実施の形態１に従う算出部におけるマッチング処理を説明するための模式図である。
【図９】図８に示すマッチング処理（ＲＩＰＯＣ法）の処理内容をより詳細に説明するための模式図である。
【図１０】本発明の実施の形態１に従うテンプレート生成処理の全体手順を示すフローチャートである。
【図１１】本発明の実施の形態１に従うテンプレートマッチング処理の全体手順を示すフローチャートである。
【図１２】本発明の実施の形態２に従う候補領域の自動再設定機能を説明するための図である。
【図１３】本発明の実施の形態３に従う候補領域の自動再設定機能を説明するための図である。
【図１４】本発明の実施の形態４に従う画像処理装置が取得する入力画像を説明するための図である。
【図１５】本発明の実施の形態４に従う画像処理装置による探索精度の評価処理を説明するための図である。
【発明を実施するための形態】
【００２０】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２１】
［Ａ．概要］
本実施の形態は、入力画像における対象物の探索に用いられるテンプレートを生成する画像処理装置および画像処理方法に向けられている。入力画像における対象物の探索には、予め登録されたテンプレートを用いたテンプレートマッチング処理が用いられる。
【００２２】
本実施の形態においては、後述する処理によって生成される複数の部分テンプレート（以下、その組み合わせを「統合テンプレート」とも記す。）を用いて、マッチング処理が実行される。この統合テンプレートは、複数のテンプレート候補から選択された複数の部分テンプレートから構成される。
【００２３】
［Ｂ．システム構成］
まず、本発明の実施の形態に従うテンプレートを生成する機能を有する画像処理装置の実装例について説明する。
【００２４】
《ｂ１：適用例》
図１は、本発明の実施の形態に従うテンプレートマッチングの適用例を示す模式図である。図１を参照して、本実施の形態に従うシステム１は、一例として、ベルトコンベア３を含む生産ラインに適用される。このシステム１において、対象物２（ワーク）はベルトコンベア３によって連続的に搬送されるとともに、カメラ１０により撮像することで、対象物２の外観を含む画像（以下「入力画像」とも記す。）が取得される。
【００２５】
入力画像は、画像処理装置１００へ伝送される。画像処理装置１００は、予め格納している統合テンプレート１８に基づいて、入力画像における対象物２の探索を実行する。画像処理装置１００は、このテンプレートマッチング処理によって得られた、対象物２の位置、回転量などの情報（以下「位置情報」とも記す。）を出力する。この位置情報は、少なくとも入力画像における対象物２の位置を示すものであり、この位置に加えて対象物２の回転量や倍率（カメラの光軸方向の位置に対応する）などの情報を含んでも構わない。また、テンプレートマッチング処理においては、画像の周波数情報が用いられる。
【００２６】
システム１において、カメラ１０の撮像範囲には、対象物２以外にどのような被写体が存在しているのかは不定である。対象物２以外の領域に含まれる情報は、各撮像タイミングや撮像条件などに応じて変動し得る。また、対象物２自体に可動部が含まれている場合には、その可動部の状態が変動し得る。このような変動し得る領域（以下「不適格領域」とも記す。）がテンプレートに含まれていると、マッチング処理を必ずしも適切に行なうことができない。そこで、本実施の形態は、このような不適格領域を含まないテンプレートを効率的かつ容易に生成する機能を提供する。
【００２７】
《ｂ２：パーソナルコンピューターによる実現例》
図２は、本発明の実施の形態に従うテンプレートマッチングをパーソナルコンピューターにより実現した場合の構成を示すブロック図である。
【００２８】
図２を参照して、パーソナルコンピューターにより実現される画像処理装置１００は、主として、汎用的なアーキテクチャーを有するコンピューター上に実装される。図２を参照して、画像処理装置１００は、主たるコンポーネントとして、ＣＰＵ（Central  Processing  Unit）１０２と、ＲＡＭ（Random  Access  Memory）１０４と、ＲＯＭ（Read  Only  Memory）１０６と、ネットワークインターフェイス（Ｉ／Ｆ）１０８と、補助記憶装置１１０と、表示部１２０と、入力部１２２と、メモリーカードインターフェイス（Ｉ／Ｆ）１２４と、カメラインターフェイス（Ｉ／Ｆ）１２８とを含む。各コンポーネントは、バス１３０を介して、互いに通信可能に接続されている。
【００２９】
ＣＰＵ１０２は、ＲＯＭ１０６や補助記憶装置１１０などに格納された、オペレーティングシステム（ＯＳ：Operating  System）、テンプレート生成処理プログラム１１２、およびテンプレートマッチング処理プログラム１１４などの各種プログラムを実行することで、画像処理装置１００の全体を制御する。ＲＡＭ１０４は、ＣＰＵ１０２でプログラムを実行するためのワーキングメモリとして機能し、プログラムの実行に必要な各種データを一次的に格納する。ＲＯＭ１０６は、画像処理装置１００において起動時に実行される初期プログラム（ブートプログラム）などを格納する。
【００３０】
ネットワークインターフェイス１０８は、各種の通信媒体を介して、他の装置（サーバー装置など）とデータを遣り取りする。より具体的には、ネットワークインターフェイス１０８は、イーサネット（登録商標）などの有線回線（ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）など）、および／または、無線ＬＡＮなどの無線回線を介してデータ通信を行なう。
【００３１】
補助記憶装置１１０は、典型的には、ハードディスクなどの大容量磁気記録媒体などからなり、本実施の形態に従う各種処理を実現するための画像処理プログラム（テンプレート生成処理プログラム１１２およびテンプレートマッチング処理プログラム１１４）、ならびに、テンプレート生成用画像１２、テスト画像１４、統合テンプレート１８などを格納する。さらに、補助記憶装置１１０には、オペレーティングシステムなどのプログラムが格納されてもよい。
【００３２】
テンプレート生成用画像１２は、統合テンプレート１８を生成するために用いられる。本実施の形態においては、後述するような処理によって、マッチング処理に適した統合テンプレート１８が生成される。
【００３３】
表示部１２０は、オペレーティングシステムが提供するＧＵＩ（Graphical  User  Interface）画面やテンプレート生成処理プログラム１１２およびテンプレートマッチング処理プログラム１１４の実行によって生成される画像などを表示する。
【００３４】
入力部１２２は、典型的には、キーボード、マウス、タッチパネルなどからなり、ユーザーから受付けた指示の内容をＣＰＵ１０２などへ出力する。
【００３５】
メモリーカードインターフェイス１２４は、ＳＤ（Secure  Digital）カードやＣＦ（Compact  Flash（登録商標））カードなどの各種メモリーカード（不揮発性記録媒体）１２６との間で、データの読み書きを行なう。
【００３６】
カメラインターフェイス１２８は、対象物２などの被写体を撮像することで取得される、テンプレート生成用画像１２、テスト画像１４、統合テンプレート１８、および／または入力画像をカメラ１０から取り込む。カメラ１０は、画像を取得する画像取得部として機能する。但し、画像処理装置１００本体が被写体を撮像する機能を有していなくともよい。この場合には、典型的には、何らかの装置で取得した各種画像を格納したメモリーカード１２６を介して、必要な画像が取り込まれる。すなわち、メモリーカードインターフェイス１２４にメモリーカード１２６が装着され、メモリーカード１２６から読み出された各種画像は、補助記憶装置１１０などへ格納（コピー）される。
【００３７】
補助記憶装置１１０に格納される、テンプレート生成処理プログラム１１２および／またはテンプレートマッチング処理プログラム１１４は、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）などの記録媒体に格納されて流通し、あるいは、ネットワークを介してサーバー装置などから配信される。テンプレート生成処理プログラム１１２および／またはテンプレートマッチング処理プログラム１１４は、画像処理装置１００（パーソナルコンピューター）で実行されるオペレーティングシステムの一部として提供されるプログラムモジュールのうち必要なモジュールを、所定のタイミングおよび順序で呼出して処理を実現するようにしてもよい。この場合、テンプレート生成処理プログラム１１２および／またはテンプレートマッチング処理プログラム１１４自体には、オペレーティングシステムによって提供されるモジュールは含まれず、オペレーティングシステムと協働して画像処理が実現される。また、テンプレート生成処理プログラム１１２および／またはテンプレートマッチング処理プログラム１１４は、単体のプログラムではなく、何らかのプログラムの一部に組込まれて提供されてもよい。このような場合にも、プログラム自体には、他のプログラムと共通に利用されるようなモジュールは含まれず、当該他のプログラムと協働して画像処理が実現される。このような一部のモジュールを含まないテンプレート生成処理プログラム１１２であっても、本実施の形態に従う画像処理装置１００の趣旨を逸脱するものではない。
【００３８】
さらに、テンプレート生成処理プログラム１１２および／またはテンプレートマッチング処理プログラム１１４によって提供される機能の一部または全部を専用のハードウェアによって実現してもよい。
【００３９】
《ｂ３：その他の構成による実現例》
上述したパーソナルコンピューターにより実現する例に加えて、例えば、デジタルカメラ、携帯電話、あるいはスマートフォン上に実装してもよい。さらに、少なくとも１つのサーバー装置が本実施の形態に従う処理を実現する、いわゆるクラウドサービスのような形態であってもよい。この場合、ユーザーは、自身の端末（パーソナルコンピューターやスマートフォンなど）を用いて、少なくとも２つの処理対象画像をサーバー装置（クラウド側）へ送信し、当該送信された処理対象画像に対して、サーバー装置側が本実施の形態に従う画像処理を行なうような構成が想定される。さらに、サーバー装置側がすべての機能（処理）を行なう必要はなく、ユーザー側の端末とサーバー装置とが協働して、本実施の形態に従う画像処理を実現するようにしてもよい。
【００４０】
［Ｃ．実施の形態１］
次に、本実施の形態１に従うテンプレートの生成処理の詳細について説明する。
【００４１】
《ｃ１：処理概要》
図３は、本発明の実施の形態１に従うテンプレートの生成処理の概要を説明するための模式図である。テンプレートの生成処理は、基本的には、図１に示すような生産ラインのようなオンラインで実行されるのではなく、生産ラインから外れたオフラインで実行される。但し、以下に説明するような画像が取得できる環境下であれば、オンラインで実行されてもよい。
【００４２】
図３を参照して、まず、画像処理装置１００は、カメラ１０により対象物２を含むテンプレート生成用画像１２（第１の入力画像）を取得する。このテンプレート生成用画像１２から後述する統合テンプレート１８が生成される。テンプレート生成用画像１２としては、少なくとも１枚あれば十分であるが、複数枚を取得してもよい。また、画像処理装置１００は、対象物２を含むとともに、対象物２の画像内の位置情報が既知であるテスト画像１４（第２の入力画像）を取得する。すなわち、テスト画像１４における対象物２の位置情報は既知であるとする。この対象物２の位置情報は、事前にマッチング処理を行なうことで特定してもよいし、ユーザーが目視で特定してもよい。
【００４３】
一般的な手順としては、カメラ１０を用いて対象物２を複数回撮像することで生成される入力画像のうち１枚がテスト画像１４として選択され、残りの１枚または複数枚がテンプレート生成用画像１２として選択される。
【００４４】
続いて、画像処理装置１００は、対象物２を含むようにテンプレート生成用画像１２に設定された候補領域１３を、複数の矩形の小領域に分割するとともに、単一の小領域または互いに隣接する複数の小領域からなる矩形のテンプレート候補１６を複数設定する。そして、画像処理装置１００は、テスト画像１４に対して各テンプレート候補１６を用いたマッチング処理を実行するとともに、マッチング処理の実行結果に基づいて、各テンプレート候補１６の探索精度を算出する。より具体的には、対象物２のテスト画像１４内の位置情報は既知であるので、画像処理装置１００は、マッチング処理の実行結果と既知の位置情報との差分などに基づいて、探索精度を評価する。
【００４５】
最終的に、画像処理装置１００は、探索精度に基づいて、複数のテンプレート候補１６から複数の部分テンプレートを選択するとともに、選択された部分テンプレートの組み合わせを統合テンプレート１８として生成する。したがって、統合テンプレート１８は、複数の選択されたテンプレート候補１６（部分テンプレート）を含む。このような統合テンプレート１８を用いたマッチング処理の詳細については、後述する。
【００４６】
《ｃ２：機能構成》
次に、本実施の形態に従う画像処理装置および／または画像処理プログラムの機能構成について説明する。
【００４７】
図４は、本発明の実施の形態１に従う画像処理装置１００の機能構成を示すブロック図である。図４を参照して、本実施の形態に従う画像処理装置１００は、その主たる機能構成として、テンプレート生成用画像取得部１５０と、テスト画像取得部１５２と、候補領域設定部１５４と、候補領域分割部１５６と、テンプレート候補生成部１５８と、算出部１６０と、統合テンプレート生成部１７０と、入力画像取得部１７２と、統合テンプレート保持部１７４と、位置検出部１７６とを含む。
【００４８】
これらの機能構成は、図２に示す画像処理装置１００においては、ＣＰＵ１０２がテンプレート生成処理プログラム１１２およびテンプレートマッチング処理プログラム１１４を実行することで実現される。以下、各機能構成の詳細について説明する。
【００４９】
《ｃ３：テンプレート生成用画像取得部１５０》
テンプレート生成用画像取得部１５０は、統合テンプレート１８を生成するための入力画像を取得する。典型的には、接続されたカメラ１０が被写体を撮像することで生成される画像をテンプレート生成用画像１２として取得する。より具体的には、テンプレート生成用画像取得部１５０は、カメラ１０を用いて対象物２を事前に撮影して得られた入力画像の中から１枚の入力画像をテンプレート生成用画像１２として使用する。テンプレート生成用画像１２は、被写体である対象物２を含む。
【００５０】
なお、何らかの外部装置で生成された画像を各種の記録媒体または通信媒体を介して取得するようにしてもよい。
【００５１】
また、テンプレート生成用画像１２は、１枚ではなく複数枚としてもよい。この場合には、複数枚のテンプレート生成用画像１２の各々について、統合テンプレート１８をそれぞれ生成し、これらの統合テンプレート１８の中から最適な１つの統合テンプレート１８を選択するようにしてもよい。
【００５２】
あるいは、テンプレート生成用画像取得部１５０は、複数枚のテンプレート生成用画像１２を受付けるとともに、これらのテンプレート生成用画像１２に対して統計処理（例えば、平均処理など）を行なうことで、１枚のテンプレート生成用画像１２を作成するようにしてもよい。
【００５３】
《ｃ４：テスト画像取得部１５２》
テスト画像取得部１５２は、後述の算出部１６０における処理に用いられるテスト画像１４を取得する。テスト画像取得部１５２は、テンプレート生成用画像１２とは別に、対象物２が含まれるテスト画像１４を取得する。典型的には、接続されたカメラ１０が被写体を撮像することで生成される１つの画像をテスト画像１４として取得する。より具体的には、テスト画像取得部１５２は、カメラ１０を用いて対象物２を事前に撮影して得られた入力画像の中から、テンプレート生成用画像１２として用いられなかった１枚の入力画像をテスト画像１４として使用する。テスト画像１４は、被写体である対象物２を含む。この際、テスト画像取得部１５２は、公知の方法を用いて、テスト画像１４内の対象物２の位置情報（正解情報）を取得する。
【００５４】
《ｃ５：候補領域設定部１５４》
候補領域設定部１５４は、テンプレート生成用画像取得部１５０によって取得されたテンプレート生成用画像１２に対して、候補領域（テンプレート領域）を設定する。すなわち、候補領域設定部１５４は、テンプレート生成用画像取得部１５０から得られた画像中に候補領域（テンプレート領域）を設定する。この候補領域は、ユーザーが明示的に指定してもよいし、公知の方法を用いて自動的に設定してもよい。一般的な方法としては、候補領域の重心位置が位置検出したい場所（例えば、対象物２の中心位置）と一致するように、候補領域を設定する。
【００５５】
但し、探索したい位置が候補領域の概重心位置になるように設定しなくともよい。例えば、探索したい位置に対して、ある一定量（Δｘ、Δｙ）だけ離れた位置に候補領域を設定してもよい。この場合、統合テンプレート１８を用いた探索したい位置に対して、当該一定量（Δｘ、Δｙ）だけ結果をシフトさせることで、探索したい位置を特定できる。このとき、探索したい位置がテンプレートに含まれている必要もない。
【００５６】
候補領域（テンプレート領域）は、任意の大きさの矩形領域とすればよいが、後述するように、回転不変位相限定相関法（ＲＩＰＯＣ法）を用いる場合には、内部処理としてフーリエ変換を実行するので、このフーリエ変換として、高速フーリエ変換を採用できるように、候補領域（テンプレート領域）のサイズ（画素数）は、２のべき乗とすることが好ましい。
【００５７】
《ｃ６：候補領域分割部１５６》
候補領域分割部１５６は、テンプレート生成用画像１２に対して設定された候補領域（テンプレート領域）を複数の矩形の小領域に分割する。すなわち、候補領域分割部１５６は、対象物２を含むようにテンプレート生成用画像１２に設定された候補領域を、複数の小領域に分割する。
【００５８】
図５は、本発明の実施の形態１に従う画像処理装置１００における候補領域の分割処理の一例を示す図である。図５を参照して、例えば、１２８×１２８のサイズの候補領域が設定された場合、各小領域のサイズが３２×３２になるように、候補領域を４×４に分割する。
【００５９】
候補領域を分割する各小領域は、任意の大きさの矩形領域とすればよいが、後述するように、回転不変位相限定相関法（ＲＩＰＯＣ法）を用いる場合には、内部処理としてフーリエ変換を実行するので、このフーリエ変換として、高速フーリエ変換を採用できるように、候補領域を分割して得られる各小領域のサイズは、２のべき乗とすることが好ましい。
【００６０】
《ｃ７：テンプレート候補生成部１５８》
テンプレート候補生成部１５８は、候補領域分割部１５６によって分割された小領域について、単一または互いに隣接する複数の小領域からなる矩形のテンプレート候補を複数設定する。すなわち、テンプレート候補生成部１５８は、候補領域分割部１５６によって分割された小領域を矩形領域になるように結合する。言い換えれば、テンプレート候補生成部１５８は、分割された領域を隣接する領域同士で結合して複数のテンプレート候補を生成する。
【００６１】
例えば、候補領域分割部１５６によって分割された各小領域を「ブロック」と表現すると、図５に示す例においては、４×４のブロックで候補領域が構成される。この候補領域を、１×１，１×２，１×３，１×４，２×１，２×２，２×３，２×４，３×１，３×２，３×３，３×４，４×１，４×２，４×３，４×４の１６種類のパターン毎に結合して、矩形領域（テンプレート候補１６）を生成する。
【００６２】
図６は、本発明の実施の形態１に従う画像処理装置１００におけるテンプレート候補（２×１のブロック）の生成処理の一例を示す図である。図７は、本発明の実施の形態１に従う画像処理装置１００におけるテンプレート候補（３×２のブロック）の生成処理の一例を示す図である。
【００６３】
例えば、２×１のパターンでは、図６に示すように１２通りのテンプレート候補が設定される。また、３×２のパターンでは、図７に示すように６通りのテンプレート候補が設定される。
【００６４】
上述の各パターンについて、設定されるテンプレート候補の数は、以下の通りである。
（１）１×１のパターン：１６個
（２）１×２のパターン：１２個
（３）１×３のパターン：８個
（４）１×４のパターン：４個
（５）２×１のパターン：１２個
（６）２×２のパターン：９個
（７）２×３のパターン：６個
（８）２×４のパターン：３個
（９）３×１のパターン：８個
（１０）３×２のパターン：６個
（１１）３×３のパターン：４個
（１２）３×４のパターン：２個
（１３）４×１のパターン：４個
（１４）４×２のパターン：３個
（１５）４×３のパターン：２個
（１６）４×４のパターン：１個
以上のように、基本的には、隣接するブロックのすべての組み合わせについて結合することで、テンプレート候補が設定される。
【００６５】
《ｃ８：算出部１６０》
算出部１６０は、テスト画像１４において各テンプレート候補１６を用いたマッチング処理を実行するとともに、マッチング処理の実行結果に基づいて、各テンプレート候補１６の探索精度を算出する。すなわち、算出部１６０は、複数のテンプレート候補１６のそれぞれを使って、テスト画像１４内の対象物２の探索を行なう。本実施の形態においては、この探索方法としてＲＩＰＯＣ法を用い、テスト画像１４と各テンプレート候補との間の相関値を算出する。なお、この算出部１６０で実行されるマッチング処理は、図１の画像処理装置１００で対象物２の探索を行なうために実行されるマッチング処理と同一の方法であり、画像の周波数情報を用いるものである。
【００６６】
図８は、本発明の実施の形態１に従う算出部１６０におけるマッチング処理（ＲＩＰＯＣ法）を説明するための模式図である。図９は、図８に示すマッチング処理（ＲＩＰＯＣ法）の処理内容をより詳細に説明するための模式図である。
【００６７】
図８を参照して、ＲＩＰＯＣ法は、テンプレートに対して抽出領域がどれだけ回転しているかを算出するとともに、テンプレートの回転角度を補正する処理（参照符号１６０Ａ）と、回転角度の補正によって取得された補正テンプレートと抽出領域との間でどれだけの類似度および平行移動量が存在するのかを算出する処理（参照符号１６０Ｂ）とを含む。
【００６８】
図８においては、各テンプレート候補１６が「テンプレート」として用いられ、このテンプレートと同じ大きさの領域がテスト画像１４に逐次設定され、これらが「抽出領域画像」として用いられる。
【００６９】
より具体的には、算出部１６０は、フーリエ変換部１６１，１６４と、対数化処理部１６２，１６５と、極座標変換部１６３，１６６と、第１ＰＯＣ処理部１６７と、回転量補正部１６８と、第２ＰＯＣ処理部１６９とを含む。
【００７０】
フーリエ変換部１６１および１６４は、それぞれテンプレートおよび抽出領域画像に含まれる周波数情報（振幅成分および位相成分）を算出する。本ＲＩＰＯＣ処理においては、位相成分は必ずしも必要ではないので、算出しなくともよい。
【００７１】
対数化処理部１６２および極座標変換部１６３は、テンプレートについての振幅成分を対数化するとともに、極座標へ変換する。同様に、対数化処理部１６２および極座標変換部１６６は、抽出領域画像についての振幅成分を対数化するとともに、極座標へ変換する。この極座標への変換によって、回転量が２次元座標上の座標点として表現される。
【００７２】
第１ＰＯＣ処理部１６７は、極座標変換部１６３および１６６からそれぞれ出力される極座標変換された結果について、相関演算を行い、回転量を算出する。
【００７３】
回転量補正部１６８は、テンプレートを第１ＰＯＣ処理部１６７において算出された回転量に従って回転補正する。すなわち、回転量補正部１６８は、テンプレートを回転補正して補正テンプレートを生成する。
【００７４】
回転量補正部１６８におけるテンプレートを回転補正する方法としては、テンプレートそのものを実空間で回転させる方法を採用することができる。あるいは、後述するように、第２ＰＯＣ処理部１６９において周波数空間を扱うような場合には、実空間で回転させる必要はなく、ＰＯＣ処理の内部表現であるフーリエ変換後のデータ（振幅情報および位相情報）を回転させる方法を採用してもよい。
【００７５】
第２ＰＯＣ処理部１６９は、補正テンプレートと抽出領域画像との間で、ＰＯＣ処理（位相限定相関処理）を行い、類似度および位置（画像間の平行移動量）を算出する。ＰＯＣ処理のピーク値が画像間の類似度を示し、ピークの位置が画像間の平行移動量（位置ずれ量）を示す。したがって、補正テンプレートと抽出領域画像との位置関係がわかることになる。この位置関係に基づいて、第２ＰＯＣ処理部１６９は、回転量を含む位置情報を出力する。図９には、第２ＰＯＣ処理部１６９での処理結果を模式的に示す。ＰＯＣ処理では、画像のそれぞれに含まれる空間周波数の成分の間で相関値を算出することで、図９の相関画像に示すようにある位置にピークが現れる。このピーク位置が画像間の平行移動量であり、ピークの大きさが画像間の類似度となる。なお、画像間の平行移動量は、一般に、テンプレートの画像サイズのおおよそ±１／４程度の範囲をサーチすれば算出できる。
【００７６】
このように、算出部１６０は、各テンプレート候補１６を用いてテスト画像１４における対象物２の探索処理を行なう。この探索処理の結果として、各テンプレート候補１６によって得られた位置情報および類似度を出力する。
【００７７】
《ｃ９：統合テンプレート生成部１７０》
統合テンプレート生成部１７０は、複数のテンプレート候補１６の中から、算出部１６０によって得られた探索精度およびサイズに基づいて選択した複数の部分テンプレート（テンプレート候補１６）の組み合わせを統合テンプレート１８として出力する。すなわち、統合テンプレート生成部１７０は、位置情報、類似度、テンプレート候補１６のサイズに基づいて、複数のテンプレート候補の組み合わせを統合テンプレート１８として生成する。言い換えれば、統合テンプレート生成部１７０は、互いの相対的な位置関係が保持された複数の部分テンプレートから構成される統合テンプレート１８を生成する。このテンプレート候補１６の組み合わせ方法について、以下説明する。
【００７８】
基本的には、算出部１６０におけるマッチング処理によって得られた結果（対象物２の位置）が対象物２の正解位置と一致しているテンプレート候補１６から、類似度および／またはテンプレートサイズに基づいて有効な部分テンプレートが選択される。
【００７９】
テンプレートとして最適なものは、類似度（相関値：ＰＯＣのピーク値）が高い上に、そのサイズが大きいものである。
【００８０】
そのため、最大の類似度かつ最大のサイズを有するテンプレート候補１６が存在する場合には、そのテンプレート候補１６が第１部分テンプレートとして選択される。そして、残っているテンプレート候補１６の中から、同様に最大の類似度かつ最大のサイズを有するテンプレート候補１６が存在すれば、そのテンプレート候補１６が第２部分テンプレートとして選択される。
【００８１】
一方、最大の類似度かつ最大のサイズを有するテンプレート候補１６が１つに決まらない場合について、以下説明する。類似度は、予め用意されたテスト画像１４に対しては非常に有効な指標であるが、ロバスト性の観点からは、テンプレートサイズを重視する方が好ましい。テンプレートサイズが大きいテンプレート候補１６の方が探索精度を安定化でき、かつ探索エリアを拡大することもできる。そのため、類似度が同じであれば、よりテンプレートサイズの大きなテンプレート候補１６を選択する。さらに、類似度が少し劣っているとしても、テンプレートサイズが十分大きい場合には、そのテンプレートサイズを重視して、より大きなテンプレート候補１６を選択する方が望ましい。
【００８２】
そこで、統合テンプレート１８に用いるテンプレート候補１６を選択する際には、例えば、各テンプレート候補１６について、そのテンプレートサイズに依存して設定される重み係数と、算出された類似度とを乗算して指標Ｒを算出するとともに、指標Ｒの大小関係に基づいて、テンプレート候補１６を選択してもよい。すなわち、指標Ｒは、以下に示す（１）式に従って算出される。
【００８３】
指標Ｒ＝重み係数ｆ（テンプレートサイズ）×類似度  …（１）
ここで、重み係数ｆは、テンプレートサイズ（あるいは、テンプレート面積）に依存する値であり、テンプレート面積が大きいほど、重み係数は大きくなる。類似度は、上述した通り相関値の大きさである。
【００８４】
以上のように、各テンプレート候補１６について指標Ｒを算出し、この指標Ｒの値が大きいものから順に所定数（例えば、３個）のテンプレート候補１６を選択する。この選択されたテンプレート候補１６が統合テンプレート１８として用いられる。すなわち、統合テンプレート生成部１７０は、選択された所定数のテンプレート候補１６によって、最終的なテンプレートとなる統合テンプレート１８を構成する。複数のテンプレート候補１６からなる統合テンプレート１８を用いてマッチング処理を行なう場合には、それぞれのテンプレート候補（部分テンプレート）１６を用いて対応位置を取得し、これらの対応位置を平均化することで、統合テンプレート１８による探索結果として出力される。
【００８５】
このように、統合テンプレート生成部１７０は、正確な位置情報が得られるテンプレート候補１６について、算出部１６０により算出された類似度と、テンプレート候補１６の大きさ（テンプレートサイズ）とに依存する重み係数とに基づいて指標Ｒを算出する。そして、統合テンプレート生成部１７０は、算出された指標Ｒがより大きなテンプレート候補１６を、統合テンプレート１８として用いる部分テンプレートとして決定する。
【００８６】
また、テンプレート候補１６の位置ずれ量の大きさ、類似度の大きさ、テンプレート候補１６の大きさに基づいて、テンプレート候補１６間の重み係数を決定してもよい。
【００８７】
一般的に、部分テンプレートのうちテスト画像１４（抽出領域画像）との位置ずれ量が小さいほど、有効な部分テンプレートである。また、テスト画像１４（抽出領域画像）との類似度が高いものほど、有効な部分テンプレートである。さらに、テンプレートサイズが大きいものほど有効なテンプレートである。そこで、本実施の形態においては、これらの値に基づいて、部分テンプレート間の重みを決定することで、ロバスト性を向上させる。
【００８８】
統合テンプレート１８として用いるテンプレート候補１６の選択（評価）手法としては、上述したものに代えて、あるいは、加えて、以下のような手法を用いてもよい。
【００８９】
（１）  上述のような指標Ｒを用いる方法に代えて、動的計画法（Dynamic  Programming）によるマッチング（ＤＰマッチング）手法などを用いて、類似度＋テンプレートサイズを最大化するようなコスト関数を定義してもよい。このコスト関数が最小となるテンプレート候補１６の組み合わせが、統合テンプレート１８として決定される。
【００９０】
（２）  テスト画像１４が複数枚用意できる場合には、各テスト画像１４についてマッチング処理を行なうことで、それぞれの位置情報および類似度を算出する。そして、同一のテンプレート候補１６について、テスト画像１４の相違による位置情報や類似度のばらつきの度合いを算出する。この位置情報や類似度のばらつきの度合いに基づいて、統合テンプレート１８として用いることに適しているか否かを判断してもよい。このような手法を採用することで、マッチング処理をより安定的に行なうことができる、テンプレート候補１６を選択できる。
【００９１】
（３）  統合テンプレート１８としての類似度が予め定められたしきい値を超えるまで、テンプレート候補１６を指標Ｒの値が大きいものから順に選択してもよい。この手法によれば、選択されるテンプレート候補１６の数は、予め定められた値には制限されず、必要な数のテンプレート候補１６が動的に選択される。
【００９２】
（４）  選択するテンプレート候補１６の数を適宜設定してもよい。例えば、テンプレート候補１６を類似度の高いものから順に選択していき、統合テンプレート１８としての評価を行なう。より具体的には、テンプレート候補１６が２つ選ばれた時点での統合テンプレート１８による位置情報および類似度を、複数のテスト画像１４について算出し、その算出された複数の位置情報のばらつきが所定値以内に収まっているか否かを評価する。ここで、テスト画像１４については、テンプレート候補１６を選択する際に使用したテスト画像１４とは別のテスト画像を用意することが好ましい。
【００９３】
ここで、複数の位置情報のばらつきが所定値以内に収まっていないときには、別のテンプレート候補１６が追加される。これに対して、複数の位置情報のばらつきが所定値以内に収まっているときには、新たなテンプレート候補１６の選択を終了し、それまでに選択されたテンプレート候補１６が統合テンプレート１８として出力される。
【００９４】
（５）  統合テンプレート１８を構成するテンプレート候補１６同士が重なり合っていてもよい。
【００９５】
《ｃ１０：入力画像取得部１７２》
入力画像取得部１７２は、探索処理の対象となる入力画像２０を取得する。典型的には、図１に示すような生産ラインを順次流れるワークをカメラ１０が撮像することで生成される入力画像２０を順次取得する。入力画像取得部１７２は、取得した入力画像２０を位置検出部１７６へ出力する。
【００９６】
《ｃ１１：統合テンプレート保持部１７４》
統合テンプレート保持部１７４は、統合テンプレート生成部１７０によって生成された統合テンプレート１８を保持する。そして、位置検出部１７６からの要求に応答として、保持している統合テンプレート１８を出力する。
【００９７】
《ｃ１２：位置検出部１７６》
位置検出部１７６は、入力画像取得部１７２からの入力画像２０において、統合テンプレート１８として決定された複数の部分テンプレート（テンプレート候補１６）のそれぞれを用いて探索処理を実行するとともに、それぞれの探索処理の結果を統合して、最終的な探索結果として出力する。より具体的には、位置検出部１７６は、統合テンプレート１８に含まれる各部分テンプレートを用いて、入力画像２０との間でマッチング処理を行なう。すなわち、位置検出部１７６は、入力画像２０の部分領域と各部分テンプレートを周波数情報に分解した後、周波数空間における相対的なずれ量に基づいて、対象物２の位置情報を出力する。
【００９８】
位置検出部１７６によって実行されるマッチング処理としては、上述の図４に示すＲＩＰＯＣ法が用いられる。但し、周波数情報を用いた他のマッチング処理を採用することも可能である。
【００９９】
さらに、位置検出部１７６は、各部分テンプレートによって得られた位置情報を統計処理（例えば、平均処理など）して、その結果を統合テンプレート１８によるマッチング処理の結果として出力する。より具体的には、各部分テンプレートによって得た対応位置を平均化した位置を最終的な探索結果として出力する。この最終的な探索結果は、位置および回転量の情報を含む位置情報として出力される。
【０１００】
なお、統合テンプレート１８による探索結果は、それぞれの部分テンプレートによって得られた対応位置を平均化することで得られる位置に限られず、以下のような算出方法を採用してもよい。
【０１０１】
（１）  統合テンプレート１８に含まれる部分テンプレートのうち、最も高い類似度が得られた部分テンプレートによって取得された位置情報を最終的な探索結果として出力してもよい。
【０１０２】
（２）  各部分テンプレートについて算出されたＰＯＣ値を、各部分テンプレートの重心位置に対応させて３次元空間上で加算する。そして、加算されたＰＯＣ値からピーク位置を求めることで最終的な位置情報を決定してもよい。
【０１０３】
（３）  統合テンプレート１８として使用するテンプレート候補１６と、そうでないテンプレート候補１６とを選別したが、統合テンプレート１８として使用するテンプレート候補１６の中でも、ロバスト性が高いものもあれば、そうでないものもある。そこで、選択されたテンプレート候補１６に対して、類似度に応じた重み付けを行ない、最終的な位置情報を算出するようにしてもよい。このような方法を採用することで、ロバスト性の向上に寄与するテンプレート候補１６の情報をより重視することになるので、探索精度をより安定化できる。
【０１０４】
《ｃ１３：処理手順》
次に、本実施の形態に従うテンプレート生成処理およびテンプレートマッチング処理の全体手順について説明する。
【０１０５】
図１０は、本発明の実施の形態１に従うテンプレート生成処理の全体手順を示すフローチャートである。図１１は、本発明の実施の形態１に従うテンプレートマッチング処理の全体手順を示すフローチャートである。図１０および図１１に示す各ステップは、典型的には、ＣＰＵ１０２（図２）がテンプレート生成処理プログラム１１２およびテンプレートマッチング処理プログラム１１４をそれぞれ実行するなどして実現される。また、典型的には、図１０に示すテンプレートマッチング処理はオフライン処理であり、図１１に示すテンプレートマッチング処理はオンライン処理である。
【０１０６】
図１０を参照して、ＣＰＵ１０２は、テンプレート生成用画像１２およびテスト画像１４を取得する（ステップＳ１００）。より具体的には、ＣＰＵ１０２は、対象物２をカメラ１０により撮像することで複数の入力画像を取得するとともに、これらの入力画像の一部をテスト画像１４とし、残りをテンプレート生成用画像１２とする。
【０１０７】
ＣＰＵ１０２は、テンプレート生成用画像１２に対して候補領域（テンプレート領域）を設定する（ステップＳ１０２）。上述したように、この候補領域は、ユーザーにより手動で設定されてもよいし、あるいは公知の方法によって自動で設定されてもよい。そして、ＣＰＵ１０２は、テンプレート生成用画像１２に対して設定した候補領域を複数の小領域（ブロック）に分割する（ステップＳ１０４）とともに、単一の小領域または互いに隣接する複数の小領域からなるテンプレート候補１６を複数生成する（ステップＳ１０６）。
【０１０８】
ＣＰＵ１０２は、複数のテンプレート候補１６のうち１つを選択し（ステップＳ１０８）、テスト画像１４において、選択したテンプレート候補１６を用いたマッチング処理を実行して、対象物２の位置情報および類似度を算出する（ステップＳ１１０）。
【０１０９】
ＣＰＵ１０２は、複数のテンプレート候補１６のすべてが選択済であるか否か、すなわちすべてのテンプレート候補１６によってマッチング処理を実行したかどうかを判断する（ステップＳ１１２）。複数のテンプレート候補１６のうち、未選択のものがある場合（ステップＳ１１２においてＮＯの場合）には、ＣＰＵ１０２は、未選択のテンプレート候補１６のうち１つを選択し（ステップＳ１１４）、ステップＳ１１０以下の処理を実行する。
【０１１０】
これに対して、複数のテンプレート候補１６のすべてによってマッチング処理を実行した場合（ステップＳ１１２においてＹＥＳの場合）には、ＣＰＵ１０２は、テスト画像１４における対象物２の正解位置と各テンプレート候補１６について探索された位置とのずれ量、ならびに、各テンプレート候補１６についてのマッチングにおいて算出された類似度に基づいて、各テンプレート候補１６の探索精度を算出する（ステップＳ１１６）。最終的に、ＣＰＵ１０２は、ステップＳ１１６において算出した探索精度およびテンプレート候補１６のサイズに基づいて、複数のテンプレート候補１６から複数の部分テンプレートを選択し、選択された部分テンプレートの組み合わせによる統合テンプレート１８を生成する。（ステップＳ１１８）。以上の処理によって、統合テンプレート１８が生成される。この統合テンプレート１８は、記憶部の所定領域に格納される。この統合テンプレート１８を用いて、図１１に示すテンプレートマッチング処理が実行される。
【０１１１】
図１１を参照して、ＣＰＵ１０２は、マッチング処理の対象となる入力画像２０を取得する（ステップＳ２００）。ＣＰＵ１０２は、入力画像２０に対して、統合テンプレート１８に含まれる部分テンプレート（テンプレート候補１６）を用いたマッチング処理をそれぞれ実行する（ステップＳ２０２）。そして、ＣＰＵ１０２は、部分テンプレートによるそれぞれの探索結果（位置、類似度、回転量）を統合して、最終的な探索結果を算出する（ステップＳ２０４）。典型的には、ＣＰＵ１０２は、これらを平均化することで、対象物２の位置情報を算出する。この算出された位置情報は、統合テンプレート１８による探索結果として出力される。以上で、テンプレートマッチング処理は終了する。なお、図１１に示すテンプレートマッチング処理は、ベルトコンベア３上を対象物２（ワーク）が搬送される毎に実行されてもよい。
【０１１２】
《ｃ１４：利点》
本実施の形態においては、複数のテンプレート候補の各々を評価した上で、実際のマッチング処理に使用される部分テンプレートを決定し、これらの最終的に使用されるテンプレート候補の集合体として統合テンプレートを構成する。このような部分テンプレートの集合体として統合テンプレートを生成することで、不適格領域を含まないようなテンプレートを生成することができる。これによって、マッチング処理の精度やロバスト性を向上できる。
【０１１３】
また、候補領域を分割して得られる小領域を結合した部分テンプレート（テンプレート候補１６）を用いるので、画像に含まれる低周波情報を利用でき、これによって、マッチング処理の精度やロバスト性を向上できる。
【０１１４】
［Ｄ．実施の形態２］
上述の実施の形態１においては、テンプレート生成用画像取得部１５０に設定された候補領域（テンプレート領域）が複数の小領域に分割され、これらの小領域に基づいて、統合テンプレートが生成される処理例について説明した。上述したように、テンプレート生成用画像取得部１５０に設定される候補領域は、ユーザーなどにより設定されるが、ユーザー設定された候補領域では、適正な統合テンプレートを生成できない場合がある。例えば、ユーザーが設定した候補領域が小さ過ぎるため、マッチング処理において十分な位置検出精度を得ることができない場合がある。
【０１１５】
実施の形態２においては、このような状況において、テンプレート生成用画像取得部１５０に設定される候補領域（テンプレート領域）を自動的に再設定可能な構成について例示する。すなわち、ユーザーが最初に設定した候補領域が不適切な場合は、その候補領域を拡張して、再度計算し直す。
【０１１６】
実施の形態２に従う画像処理装置は、実施の形態１に従う画像処理装置１００に比較して、主として、候補領域設定部１５４（図４）の機能構成が異なるに過ぎないので、それ以外の機能構成や処理内容の詳細な説明は繰り返さない。
【０１１７】
図１２は、本発明の実施の形態２に従う候補領域の自動再設定機能を説明するための図である。図１２には、穴があいた対象物に候補領域（テンプレート領域）を設定した例を示す。図１２（ａ）には、２×２のブロックからなる候補領域１３が設定されている例を示す。対象物の位置や傾きによって、この穴の中の見え方が変化する場合には、４つに分割されたブロックをどのように組み合わせても、探索精度の高い部分テンプレート（テンプレート候補１６）を得ることはできないので、生成される統合テンプレート１８についても、探索精度が低いものになってしまう。
【０１１８】
このような場合には、例えば、図１２（ｂ）に示すように、大きさを変化させた候補領域１３＃を設定した上で、再度、部分テンプレート（テンプレート候補１６）の選択が実行される。図１２（ｂ）に示す例では、環境変動によって、見え方が変化する穴の中以外にもブロックを設定できるので、探索精度の高い統合テンプレート１８を作成することができる。
【０１１９】
このように、実施の形態２に従う画像処理装置は、いずれのテンプレート候補についても有効な探索精度を算出できなかった場合に、候補領域を拡張した上で、再度処理を実行する。言い換えれば、実施の形態２に従う画像処理装置は、ユーザーが設定した候補領域１３から適切な統合テンプレート１８が得られない場合は、候補領域１３を拡張して、再度計算し直すことで、最適な統合テンプレート１８を作成する。
【０１２０】
上述の説明では、候補領域（テンプレート領域）を拡張する場合の例について説明したが、候補領域が大きすぎる場合には逆に縮小してもよい。
【０１２１】
［Ｅ．実施の形態３］
上述の実施の形態１においては、テンプレート生成用画像取得部１５０に設定された候補領域（テンプレート領域）が複数の小領域に分割され、これらの小領域に基づいて、統合テンプレートが生成される処理例について説明した。上述したように、テンプレート生成用画像取得部１５０に設定される候補領域は、ユーザーなどにより設定されるが、ユーザー設定された候補領域では、適正な統合テンプレートを生成できない場合がある。例えば、ユーザーが設定した候補領域が対象物（ワーク）２の可動部を大きく含んでおり、ワーク２毎に見え方が変動するような場合である。
【０１２２】
実施の形態３においては、このような状況において、テンプレート生成用画像取得部１５０に設定される候補領域（テンプレート領域）を自動的に再設定可能な構成について例示する。すなわち、ユーザーが最初に設定した候補領域が不適切な場合は、その候補領域を周辺に移動させて、再度計算し直す。
【０１２３】
実施の形態３に従う画像処理装置は、実施の形態１に従う画像処理装置１００に比較して、主として、候補領域設定部１５４（図４）の機能構成が異なるに過ぎないので、それ以外の機能構成や処理内容の詳細な説明は繰り返さない。
【０１２４】
図１３は、本発明の実施の形態３に従う候補領域の自動再設定機能を説明するための図である。図１３（ａ）には、設定されている候補領域１３に、非常に個体差の大きいモノが含まれている場合を示す。このような場合には、候補領域１３を分割して得られるブロックをどのように組み合わせても、探索精度の高い部分テンプレート（テンプレート候補１６）を得ることはできないので、生成される統合テンプレート１８についても、探索精度が低いものになってしまう。
【０１２５】
このような場合には、例えば、図１３（ｂ）に示すように、候補領域１３を別の場所へ移動させて、再度候補領域を設定する（候補領域１３＃）。その上で、再度、部分テンプレート（テンプレート候補１６）の選択が実行される。図１３（ｂ）に示す例では、ワーク２によって見え方が変化しにくい位置に候補領域１３＃を移動させるので、探索精度の高い統合テンプレート１８を作成することができる。
【０１２６】
このように、実施の形態３に従う画像処理装置は、いずれのテンプレート候補についても有効な探索精度を算出できなかった場合に、候補領域の位置を変更した上で、再度処理を実行する。言い換えれば、実施の形態３に従う画像処理装置は、候補領域１３を別の場所に移動させることで、再度部分テンプレートの選択を行なう。
【０１２７】
このように、実施の形態３に従う画像処理装置は、いずれのテンプレート候補についても有効な探索精度を算出できなかった場合に、候補領域を別の場所に移動させた上で、再度処理を実行する。このような候補領域の自動更新の機能を採用することで、最適な統合テンプレート１８を作成できる。
【０１２８】
さらに、実施の形態２の処理と実施の形態３の処理とを並列的に実行してもよい。
［Ｆ．実施の形態４］
上述の実施の形態１においては、事前に取得したテンプレート生成用画像１２を用いてテンプレート候補１６を設定し、これを事前に取得したテスト画像１４を用いて評価することで、複数の部分テンプレートからなる、最適な統合テンプレート１８を生成する処理例について説明した。実際に生産ラインなどで使用される場合を想定すると、運用に伴う経時変化（例えば、ワーク２のロットが変化した場合）によって、統合テンプレート１８の探索精度が低下する可能性がある。
【０１２９】
実施の形態４においては、このような統合テンプレート１８の探索精度の時間的な経過を観測するとともに、探索精度が低下した場合に必要な対処を行なう構成について例示する。以下の説明では、上述の実施の形態１に従う画像処理装置１００とは異なる点について主として説明し、それ以外の機能構成や処理内容の詳細な説明は繰り返さない。
【０１３０】
図１４は、本発明の実施の形態４に従う画像処理装置が取得する入力画像２０を説明するための図である。図１５は、本発明の実施の形態４に従う画像処理装置による探索精度の評価処理を説明するための図である。
【０１３１】
図１４に示すように、画像処理装置は、所定時間毎に入力画像２０を取得し、各入力画像２０に対して統合テンプレート１８を用いたマッチングを逐次行なう。画像処理装置は、各入力画像２０に対するマッチングによって算出された類似度を、部分テンプレート毎に所定回数分を保持する。例えば、図１５に示すように、部分テンプレート毎に類似度を保持することで、類似度の時間的な変化を評価することができる。すなわち、画像処理装置は、複数の入力画像２０にわたって、テンプレートマッチングによる探索処理の結果として算出される類似度を記憶する。
【０１３２】
本実施の形態においては、以下に説明するように、統合テンプレート１８の全体評価、および、統合テンプレート１８を構成する部分テンプレートの個別評価を行なう。これらのいずれか一方のみを行なうようにしてもよい。
【０１３３】
統合テンプレート１８の全体評価としては、統合テンプレート１８を構成する部分テンプレートの大多数において、マッチングによる類似度が低下した場合には、統合テンプレート１８として使用し続けることは困難である。そのため、このような場合には、画像処理装置は、フェールセーフとして、マッチング処理（位置検出処理）を中断し、（オフラインで）統合テンプレート１８を再度作り直す。より具体的には、統合テンプレート１８を構成するそれぞれの部分テンプレートを用いて算出された類似度がいずれもしきい値Ｔｈを下回った場合などには、位置検出処理を中断する。
【０１３４】
次に、部分テンプレートの個別評価としては、部分テンプレート毎に類似度の時間的変化を評価する。例えば、統合テンプレート１８を構成する大多数の部分テンプレートでは、安定した類似度が得られているが、一部の部分テンプレートの類似度は、時間とともに低下している兆候がみられる場合には、画像処理装置は、その部分テンプレートについての重みを低下させる。すなわち、画像処理装置は、それぞれの部分テンプレートを用いて検出された対応位置から最終的な検出位置を算出する際に、類似度が低下している部分テンプレートを用いて検出された対応位置の情報に対する重みを相対的に低くする。
【０１３５】
具体的な処理例としては、画像処理装置は、時系列に並べられた入力画像２０についての直近の類似度（例えば、２０回分）から、直線近似を用いて時間的な変化を示す傾きを算出する。そして、画像処理装置は、その算出された傾きが所定値（負値）よりも小さくなった場合に、対応する部分テンプレートに対する重みを相対的に低くする。
【０１３６】
以上のように、本実施の形態に従う画像処理装置は、記憶した類似度の時間的変化に基づいて、統合テンプレート１８を構成する複数の部分テンプレートに対する、位置探索における重みを変更する。言い換えれば、本実施の形態に従う画像処理装置は、入力画像を時系列に取得し、各入力画像において対応位置を特定した際の類似度を部分テンプレート毎に記憶し、部分テンプレート毎の類似度の時間的な変化に基づいて、重みマップを更新する。
【０１３７】
本実施の形態によれば、時間的経過に伴う環境変動などにより、予め生成した統合テンプレートの探索精度が低下した場合に、それを検出し、探索精度を向上するように対応することができる。
【０１３８】
［Ｇ．実施の形態５］
上述の実施の形態１においては、事前に取得したテンプレート生成用画像１２を用いてテンプレート候補１６を設定し、これを事前に取得したテスト画像１４を用いて評価することで、複数の部分テンプレートからなる、最適な統合テンプレート１８を生成する処理例について説明した。
【０１３９】
これに対して、統合テンプレート１８として用いる部分テンプレートを動的に決定してもよい。すなわち、複数のテンプレート候補１６から予め統合テンプレート１８として使用するものを選択しておくのではなく、入力画像を取得するたびに、複数のテンプレート候補１６を評価し、その評価結果に基づいて、統合テンプレート１８の部分テンプレートとして使用するものをその都度決定してもよい。
【０１４０】
より具体的には、図４に示す算出部１６０での処理と同様に、入力画像２０に対して、テンプレート候補１６の各々を用いたマッチングを行ない、そのマッチングの結果に含まれる類似度を評価する。そして、各テンプレート候補１６についての類似度に基づいて、統合テンプレート１８として使用可能なものを選択する。そして、選択されたテンプレート候補１６（部分テンプレート）の探索結果から対応位置を算出する。
【０１４１】
実施の形態５によれば、他の実施の形態に比較してより長い演算時間を要するが、各マッチングにおいて、統合テンプレート１８として使用する部分テンプレートを動的に変更しながら最適なものを選択できるので、環境変動が生じた場合であっても、探索精度を維持できる。
【０１４２】
［Ｈ．その他の実施の形態］
上述の実施の形態においては、テンプレートマッチングの一例として、ＲＩＰＯＣ法を採用する例について説明した。これに加えて、あるいは、これに代えて、サイズも含めた幾何学的なずれがあっても対応可能なアルゴリズム方法を採用できる。例えば、文献１（Qin-Sheng  Chen,  "Symmetric  Phase-Only  Matched  Filtering  of  Fourier-Mellin  Transforms  for  Image  Registration  and  Recognition",IEEE  TRANSACTIONS  ON  PATTERN  ANALYSIS  AND  MACHINE  INTELLIGENCE,  VOL.  I6,  NO.  12,  DECEMBER  1994）に開示されるフーリエメリン変換を用いたマッチング方法を採用してもよい。このマッチング方法によれば、ＲＩＰＯＣ法によって得られた画像間の回転量と同様に、画像間の倍率（サイズ）の情報を得ることができる。したがって、上述した実施形態における画像間の回転量に代えて、または回転量に加えて、倍率（サイズ）の情報を位置情報として取り扱うことができる。
【０１４３】
また、ＰＯＣ以外にも画像内の周波数情報を利用したマッチングアルゴリズムとして、文献２（貴家仁志、「画像信号処理と画像パターン認識の融合−ＤＣＴ符号限定相関とその応用」、首都大学東京  システムデザイン学部、動的画像処理実利用化ワークショップ２００７（２００７．３．８））に開示されるマッチング方法を採用してもよい。
【０１４４】
［Ｉ．利点］
本実施の形態においては、複数のテンプレート候補の各々を評価した上で、実際のマッチング処理に使用される部分テンプレートを決定し、これらの最終的に使用されるテンプレート候補の集合体として統合テンプレートを構成する。このような部分テンプレートの集合体として統合テンプレートを生成することで、不適格領域を含まないようなテンプレートを生成することができる。これによって、周波数情報を利用したテンプレートマッチング（例えば、位相限定相関法（ＰＯＣ法））のロバスト性を向上できる。すなわち、本実施の形態によれば、不適格領域を含まないテンプレートを容易に生成できる。
【０１４５】
また、周波数情報を利用したテンプレートマッチング（例えば、位相限定相関法（ＰＯＣ法））を利用する位置検出において、不適格領域を含むテンプレートを用いると周波数情報の変化によって探索精度が大きく低下する。また、テンプレートのサイズが小さくなると低周波情報が失われるので探索精度の劣化が生じやすく、また、探索できるエリアも狭くなってしまう。これに対して、本実施の形態によれば、候補領域を分割して得られる小領域を結合した部分テンプレート（テンプレート候補１６）を用いるので、不適格領域を排除しつつ、できるだけ広範囲なエリアを含むテンプレートを設定することができ、マッチング処理の探索精度やロバスト性を向上できる。また、画像に含まれる低周波情報を利用でき、これによっても、マッチング処理の探索精度やロバスト性をさらに向上できる。
【０１４６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４７】
１  システム、２  対象物、３  ベルトコンベア、１０  カメラ、１２  テンプレート生成用画像、１３  候補領域、１４  テスト画像、１６  テンプレート候補、１８  統合テンプレート、２０  入力画像、１００  画像処理装置、１０２  ＣＰＵ、１０４  ＲＡＭ、１０６  ＲＯＭ、１０８  ネットワークインターフェイス、１１０  補助記憶装置、１１２  テンプレート生成処理プログラム、１１４  テンプレートマッチング処理プログラム、１２０  表示部、１２２  入力部、１２４  メモリーカードインターフェイス、１２６  メモリーカード、１２８  カメラインターフェイス、１３０  バス、１５０  テンプレート生成用画像取得部、１５２  テスト画像取得部、１５４  候補領域設定部、１５６  候補領域分割部、１５８  テンプレート候補生成部、１６０  算出部、１６１，１６４  フーリエ変換部、１６２，１６５  対数化処理部、１６３，１６６，１６６  極座標変換部、１６７  第１ＰＯＣ処理部、１６８  回転量補正部、１６９  第２ＰＯＣ処理部、１７０  統合テンプレート生成部、１７２  入力画像取得部、１７４  統合テンプレート保持部、１７６  位置検出部。
【要約】
入力画像における対象物の探索に用いられるテンプレートを生成する機能を有する画像処理装置が提供される。画像処理装置は、当該対象物を含む第１の入力画像を取得する第１の画像取得部と、当該対象物を含むとともに、当該対象物の画像内の位置情報が既知である第２の入力画像を取得する第２の画像取得部と、当該対象物を含むように当該第１の入力画像に設定された候補領域を、複数の小領域に分割するとともに、単一の小領域または互いに隣接する複数の小領域からなる矩形のテンプレート候補を複数設定するテンプレート候補設定部と、当該第２の入力画像において各テンプレート候補を用いた当該対象物の探索処理を実行するとともに、当該探索処理の実行結果に基づいて、各テンプレート候補の探索精度を算出する算出部と、当該探索精度および各テンプレート候補のサイズに基づいて、当該複数のテンプレート候補から複数の部分テンプレートを選択し、選択された部分テンプレートの組を当該テンプレートとして生成する生成部とを含む。【図１】
0005541426.tif 000002
【図２】
0005541426.tif 000003
【図３】
0005541426.tif 000004
【図４】
0005541426.tif 000005
【図５】
0005541426.tif 000006
【図６】
0005541426.tif 000007
【図７】
0005541426.tif 000008
【図８】
0005541426.tif 000009
【図９】
0005541426.tif 000010
【図１０】
0005541426.tif 000011
【図１１】
0005541426.tif 000012
【図１２】
0005541426.tif 000013
【図１３】
0005541426.tif 000014
【図１４】
0005541426.tif 000015
【図１５】
0005541426.tif 000016