(57)【特許請求の範囲】
【請求項１】
基準画像に対応する領域を入力画像から探索する画像処理装置であって、
前記入力画像に対応する、少なくとも第１の解像度および前記第１の解像度より高い第２の解像度をそれぞれ有する第１および第２の入力画像を取得する入力画像取得部と、
前記基準画像に対応する、前記第１および第２の解像度にそれぞれ対応する解像度を有する第１および第２の基準画像を取得する基準画像取得部と、
前記第１の入力画像と前記第１の基準画像との間の探索処理によって、前記第１の入力画像と前記第１の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく前記第１の基準画像の補正によって第１の補正基準画像を生成し、前記第１の入力画像と前記第１の補正基準画像との間の探索処理によって、前記第１の解像度における対応位置を決定する第１の対応位置決定部と、
前記第１の解像度における対応位置に相当する前記第２の入力画像における位置を基準として、前記第１の対応位置決定部によって算出された相対的なずれ量を利用して、前記第２の入力画像と前記第２の基準画像との間の探索処理を行なうことによって、前記第２の解像度における対応位置を決定する第２の対応位置決定部とを備え、
前記第２の対応位置決定部は、前記第１の入力画像と前記第１の基準画像との間の相対的なずれ量に応じて探索範囲を制限した上で、前記第２の入力画像と前記第２の基準画像との間の探索処理を行なうことで、前記第２の入力画像と前記第２の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく前記第２の基準画像の補正によって第２の補正基準画像を生成し、前記第２の入力画像と前記第２の補正基準画像との間の探索処理によって、前記第２の解像度における対応位置を決定する、画像処理装置。
【請求項２】
前記第２の対応位置決定部は、前記基準画像取得部に、前記第１の入力画像と前記第１の基準画像との間の相対的なずれ量に応じて前記第２の基準画像を生成させる、請求項１に記載の画像処理装置。
【請求項３】
前記第２の対応位置決定部は、前記第２の入力画像と前記第２の基準画像との間の探索処理を行なうことで、前記第２の入力画像と前記第２の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく前記第２の基準画像の補正によって第２の補正基準画像を生成し、前記第２の入力画像と前記第２の補正基準画像との間の探索処理によって、前記第２の解像度における対応位置を決定する、請求項２に記載の画像処理装置。
【請求項４】
前記第１の入力画像と前記第１の基準画像との間の探索処理において算出される類似度、および、前記第１の入力画像と前記第１の補正基準画像との間の探索処理において算出される類似度の少なくとも一方に基づいて、前記第２の対応位置決定部による前記第２の解像度における対応位置の決定方法を変化させる制御部をさらに備える、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
基準画像に対応する領域を入力画像から探索する画像処理方法であって、
前記入力画像に対応する、少なくとも第１の解像度および前記第１の解像度より高い第２の解像度をそれぞれ有する第１および第２の入力画像を取得するステップと、
前記基準画像に対応する、前記第１および第２の解像度にそれぞれ対応する解像度を有する第１および第２の基準画像を取得するステップと、
前記第１の入力画像と前記第１の基準画像との間の探索処理によって、前記第１の入力画像と前記第１の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく前記第１の基準画像の補正によって第１の補正基準画像を生成し、前記第１の入力画像と前記第１の補正基準画像との間の探索処理によって、前記第１の解像度における対応位置を決定するステップと、
前記第１の解像度における対応位置に相当する前記第２の入力画像における位置を基準として、前記相対的なずれ量を利用して、前記第２の入力画像と前記第２の基準画像との間の探索処理を行なうことで、前記第２の解像度における対応位置を決定するステップとを備え、
前記第２の解像度における対応位置を決定するステップは、前記第１の入力画像と前記第１の基準画像との間の相対的なずれ量に応じて探索範囲を制限した上で、前記第２の入力画像と前記第２の基準画像との間の探索処理を行なうことで、前記第２の入力画像と前記第２の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく前記第２の基準画像の補正によって第２の補正基準画像を生成し、前記第２の入力画像と前記第２の補正基準画像との間の探索処理によって、前記第２の解像度における対応位置を決定するステップを含む、画像処理方法。
【請求項６】
基準画像に対応する領域を入力画像から探索する画像処理プログラムであって、前記画像処理プログラムはコンピューターに、
前記入力画像に対応する、少なくとも第１の解像度および前記第１の解像度より高い第２の解像度をそれぞれ有する第１および第２の入力画像を取得するステップと、
前記基準画像に対応する、前記第１および第２の解像度にそれぞれ対応する解像度を有する第１および第２の基準画像を取得するステップと、
前記第１の入力画像と前記第１の基準画像との間の探索処理によって、前記第１の入力画像と前記第１の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく前記第１の基準画像の補正によって第１の補正基準画像を生成し、前記第１の入力画像と前記第１の補正基準画像との間の探索処理によって、前記第１の解像度における対応位置を決定するステップと、
前記第１の解像度における対応位置に相当する前記第２の入力画像における位置を基準として、前記相対的なずれ量を利用して、前記第２の入力画像と前記第２の基準画像との間の探索処理を行なうことで、前記第２の解像度における対応位置を決定するステップとを実行させ、
前記第２の解像度における対応位置を決定するステップは、前記第１の入力画像と前記第１の基準画像との間の相対的なずれ量に応じて探索範囲を制限した上で、前記第２の入力画像と前記第２の基準画像との間の探索処理を行なうことで、前記第２の入力画像と前記第２の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく前記第２の基準画像の補正によって第２の補正基準画像を生成し、前記第２の入力画像と前記第２の補正基準画像との間の探索処理によって、前記第２の解像度における対応位置を決定するステップを含む、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基準画像に対応する領域を入力画像から探索する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来から、２つの画像間で探索処理（マッチング処理）のための各種の技術が提案されてきた。例えば、ステレオカメラを用いて同一の被写体から一対の画像を取得し、これらの画像間の対応点を探索するような場合には、位相限定相関（ＰＯＣ：Ｐｈａｓｅ−Ｏｎｌｙ  Ｃｏｒｒｅｌａｔｉｏｎ）法がしばしば用いられる。このＰＯＣ法は、画像に含まれる空間周波数の位相差情報を用いて、画像間の対応点を探索する。【０００３】
一般的なステレオカメラでは、光軸周りの回転および倍率は基本的に同一に設計されるので、このようなステレオ対応点探索では、ＰＯＣ法を利用して基準位置を探索することができる。一方、光軸周りの回転および／または倍率に違いが生じる場合には、ＰＯＣ法を拡張した手法を利用することで、基準位置に加えて、サイズおよび／または回転量を探索できる。このようなＰＯＣ法を拡張した手法としては、回転不変位相限定相関（ＲＩＰＯＣ：Ｒｏｔａｔｉｏｎ  Ｉｎｖａｒｉａｎｔ  Ｐｈａｓｅ  Ｏｎｌｙ  Ｃｏｒｒｅｌａｔｉｏｎ）法などのサイズおよび／または回転に対応したＰＯＣ法などが挙げられる。【０００４】
特開平１０−１２４６６７号公報（特許文献１）は、ＲＩＰＯＣ法を利用したパターン照合装置を開示する。このパターン照合装置は、空間周波数特性に基づいてＮ次元のパターン（例えば、指紋（２次元）、立体（３次元））の照合を行なうものであり、回転ずれがあっても登録パターンと照合パターンとが同一であるか否かを識別することができるようにすることを目的としている。また、非特許文献１は、サイズ・回転対応ＰＯＣ法の一例を示す。より具体的には、非特許文献１では、フーリエメリン変換を用いたＰＯＣ法について論じられている。【０００５】
上述のようなＰＯＣ法およびサイズ・回転対応ＰＯＣ法は、いずれも画像に含まれる空間周波数の位相差情報を用いるので、ロバストな位置検出を行なえるというメリットがあるが、処理量が非常に大きく、演算時間を要するというデメリットもある。例えば、入力画像に含まれる特定パターン（基準画像／テンプレート画像）が存在する位置を探索するようなマッチング処理をサイズ・回転対応ＰＯＣ法を利用して実行した場合には、位置探索のためにラスタスキャンが必要になり、それに要する演算時間が膨大になり得る。【０００６】
また、特開２００５−２３５０８９号公報（特許文献２）は、多重解像度の画像を用いることにより効率化したマッチング処理を開示する。より具体的には、特許文献２は、粗い解像度レベルでの探索に使うマッチング候補を間引くことにより大幅に効率化を実現するとともに、間引くことによる候補漏れを防ぐために、詳細なベクトルで、新たに探索領域を再構成することで、大幅な探索時間の削減を得ると同時に、正しくマッチングが行なえるようにする画像認識装置を開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−１２４６６７号公報
【特許文献２】特開２００５−２３５０８９号公報
【非特許文献】
【０００８】
【非特許文献１】Ｑｉｎ−Ｓｈｅｎｇ  Ｃｈｅｎ，“Ｓｙｍｍｅｔｒｉｃ  Ｐｈａｓｅ−Ｏｎｌｙ  Ｍａｔｃｈｅｄ  Ｆｉｌｔｅｒｉｎｇ  ｏｆ  Ｆｏｕｒｉｅｒ−Ｍｅｌｌｉｎ  Ｔｒａｎｓｆｏｒｍｓ  ｆｏｒ  Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ”，ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＰＡＴＴＥＲＮ  ＡＮＡＬＹＳＩＳ  ＡＮＤ  ＭＡＣＨＩＮＥ  ＩＮＴＥＬＬＩＧＥＮＣＥ，  ＶＯＬ．  Ｉ６，  ＮＯ．  １２，  ＤＥＣＥＭＢＥＲ  １９９４
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したように、マッチング処理を高速化する方法が提案されているが、入力画像と基準画像との間に回転および／または倍率の相対的なずれなどがある場合に、高速にマッチング処理を行なうことは容易ではなかった。【００１０】
本発明の目的は、基準画像に対応する領域を入力画像からより高速に探索する新規な画像処理装置、画像処理方法および画像処理プログラムを提供することである。
【課題を解決するための手段】
【００１１】
本発明のある実施の形態に従えば、基準画像に対応する領域を入力画像から探索する画像処理装置が提供される。画像処理装置は、入力画像に対応する、少なくとも第１の解像度および第１の解像度より高い第２の解像度をそれぞれ有する第１および第２の入力画像を取得する入力画像取得部と、基準画像に対応する、第１および第２の解像度にそれぞれ対応する解像度を有する第１および第２の基準画像を取得する基準画像取得部と、第１の入力画像と第１の基準画像との間の探索処理によって、第１の入力画像と第１の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく第１の基準画像の補正によって第１の補正基準画像を生成し、第１の入力画像と第１の補正基準画像との間の探索処理によって、第１の解像度における対応位置を決定する第１の対応位置決定部と、第１の解像度における対応位置に相当する第２の入力画像における位置を基準として、第１の対応位置決定部によって算出された相対的なずれ量を利用して、第２の入力画像と第２の基準画像との間の探索処理を行なうことによって、第２の解像度における対応位置を決定する第２の対応位置決定部とを含む。ここで、第２の対応位置決定部は、第１の入力画像と第１の基準画像との間の相対的なずれ量に応じて探索範囲を制限した上で、第２の入力画像と第２の基準画像との間の探索処理を行なうことで、第２の入力画像と第２の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく第２の基準画像の補正によって第２の補正基準画像を生成し、第２の入力画像と第２の補正基準画像との間の探索処理によって、第２の解像度における対応位置を決定する。
【００１３】
さらに好ましくは、第２の対応位置決定部は、基準画像取得部に、第１の入力画像と第１の基準画像との間の相対的なずれ量に応じて第２の基準画像を生成させる。【００１４】
さらに好ましくは、第２の対応位置決定部は、第２の入力画像と第２の基準画像との間の探索処理を行なうことで、第２の入力画像と第２の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく第２の基準画像の補正によって第２の補正基準画像を生成し、第２の入力画像と第２の補正基準画像との間の探索処理によって、第２の解像度における対応位置を決定する。【００１５】
好ましくは、画像処理装置は、第１の入力画像と第１の基準画像との間の探索処理において算出される類似度、および、第１の入力画像と第１の補正基準画像との間の探索処理において算出される類似度の少なくとも一方に基づいて、第２の対応位置決定部による第２の解像度における対応位置の決定方法を変化させる制御部をさらに含む。【００１６】
本発明の別の実施の形態に従えば、基準画像に対応する領域を入力画像から探索する画像処理方法が提供される。画像処理方法は、入力画像に対応する、少なくとも第１の解像度および第１の解像度より高い第２の解像度をそれぞれ有する第１および第２の入力画像を取得するステップと、基準画像に対応する、第１および第２の解像度にそれぞれ対応する解像度を有する第１および第２の基準画像を取得するステップと、第１の入力画像と第１の基準画像との間の探索処理によって、第１の入力画像と第１の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく第１の基準画像の補正によって第１の補正基準画像を生成し、第１の入力画像と第１の補正基準画像との間の探索処理によって、第１の解像度における対応位置を決定するステップと、第１の解像度における対応位置に相当する第２の入力画像における位置を基準として、相対的なずれ量を利用して、第２の入力画像と第２の基準画像との間の探索処理を行なうことで、第２の解像度における対応位置を決定するステップとを備える。ここで、第２の解像度における対応位置を決定するステップは、第１の入力画像と第１の基準画像との間の相対的なずれ量に応じて探索範囲を制限した上で、第２の入力画像と第２の基準画像との間の探索処理を行なうことで、第２の入力画像と第２の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく第２の基準画像の補正によって第２の補正基準画像を生成し、第２の入力画像と第２の補正基準画像との間の探索処理によって、第２の解像度における対応位置を決定するステップを含む。
【００１７】
本発明のさらに別の実施の形態に従えば、基準画像に対応する領域を入力画像から探索する画像処理プログラムが提供される。画像処理プログラムはコンピューターに、入力画像に対応する、少なくとも第１の解像度および第１の解像度より高い第２の解像度をそれぞれ有する第１および第２の入力画像を取得するステップと、基準画像に対応する、第１および第２の解像度にそれぞれ対応する解像度を有する第１および第２の基準画像を取得するステップと、第１の入力画像と第１の基準画像との間の探索処理によって、第１の入力画像と第１の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく第１の基準画像の補正によって第１の補正基準画像を生成し、第１の入力画像と第１の補正基準画像との間の探索処理によって、第１の解像度における対応位置を決定するステップと、第１の解像度における対応位置に相当する第２の入力画像における位置を基準として、相対的なずれ量を利用して、第２の入力画像と第２の基準画像との間の探索処理を行なうことで、第２の解像度における対応位置を決定するステップとを実行させる。ここで、第２の解像度における対応位置を決定するステップは、第１の入力画像と第１の基準画像との間の相対的なずれ量に応じて探索範囲を制限した上で、第２の入力画像と第２の基準画像との間の探索処理を行なうことで、第２の入力画像と第２の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく第２の基準画像の補正によって第２の補正基準画像を生成し、第２の入力画像と第２の補正基準画像との間の探索処理によって、第２の解像度における対応位置を決定するステップを含む。
【発明の効果】
【００１８】
本発明によれば、基準画像に対応する領域を入力画像からより高速に探索できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態に従うテンプレートマッチングの適用例を示す模式図である。
【図２】本発明の実施の形態に従うテンプレートマッチングをパーソナルコンピューターにより実現した場合の構成を示すブロック図である。
【図３】本発明の実施の形態１に従うテンプレートマッチング処理の概要を説明するための模式図である。
【図４】本発明の実施の形態１に従うテンプレートマッチング処理において使用される入力画像および階層画像の一例を示す図である。
【図５】本発明の実施の形態１に従うテンプレートマッチング処理において使用される入力画像および階層画像の一例を示す図である。
【図６】本発明の実施の形態１に従うテンプレートマッチング処理において使用される入力画像および階層画像とテンプレート画像との一例を示す図である。
【図７】本発明の実施の形態１に従うテンプレートマッチング処理の内容を概略する図である。
【図８】本発明の実施の形態１に従う画像処理装置の機能構成を示すブロック図である。
【図９】本発明の実施の形態１に従うテンプレート画像の生成手順を概略する図である。
【図１０】本発明の実施の形態１に従う位置検出部における処理内容を説明するための模式図である。
【図１１】図１０に示すＰＯＣにおいて実行される処理内容を説明するための模式図である。
【図１２】本発明の実施の形態１に従うテンプレートマッチング処理の全体手順を示すフローチャートである。
【図１３】本発明の実施の形態２に従うテンプレートマッチング処理の内容を概略する図である。
【図１４】本発明の実施の形態２に従うテンプレート画像の生成手順を概略する図である。
【図１５】本発明の実施の形態２に従うテンプレートマッチング処理の全体手順を示すフローチャートである。
【図１６】本発明の実施の形態３に従うテンプレートマッチング処理の内容を概略する図である。
【図１７】本発明の実施の形態３に従うテンプレートマッチング処理の全体手順を示すフローチャートである。
【発明を実施するための形態】
【００２０】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２１】
［Ａ．概要］
本実施の形態は、基準画像に対応する領域を入力画像から探索する画像処理装置および画像処理方法に向けられている。このような基準画像に対応する領域を入力画像から探索する画像処理方法の典型例として、以下では、テンプレートマッチング処理について説明する。このテンプレートマッチング処理では、マッチング処理における基準画像としてテンプレート画像が用いられる。
【００２２】
本実施の形態においては、多重解像度を用いた粗密戦略によって効率的に探索処理を行なう。このとき、少なくとも１つの解像度（階層）においては、マッチング対象の画像とテンプレート画像との間の回転および／または倍率の相対的なずれ量が評価され、これが補正された上で、位置についての探索処理が実行される。ここで、本明細書において、相対的なずれ量とは、処理対象の画像とテンプレート画像（基準画像）との間の、相対的な回転方向のずれ量、および、相対的な倍率（サイズ）の違いによるずれ量の少なくとも一方を意味する。そして、相対的なずれ量やマッチング位置などの情報を、低解像度側から高解像度側へ伝搬させることで、探索処理を効率化する。
【００２３】
［Ｂ．システム構成］
まず、本発明の実施の形態に従うテンプレートマッチング処理を実現する画像処理装置の実装例について説明する。
【００２４】
《ｂ１：適用例》
図１は、本発明の実施の形態に従うテンプレートマッチングの適用例を示す模式図である。図１を参照して、本実施の形態に従うシステム１は、一例として、ベルトコンベア２を含む生産ラインに適用される。このシステム１において、ベルトコンベア２上を対象物３（ワーク）が連続的に搬送されるとともに、この対象物３をカメラ４により撮像することで、対象物３の外観を含む画像が取得される（以下、この取得される画像を「入力画像」とも称す。）。
【００２５】
この入力画像は、画像処理装置１００へ伝送される。画像処理装置１００は、予め格納しているテンプレート画像５に基づいて、入力画像に対して対応する領域を探索する処理（探索処理）を行なう。そして、この探索処理によって得られた位置情報などを外部出力する。
【００２６】
システム１において、ベルトコンベア２上を搬送される対象物３は様々な向きに配置され得るので、入力画像に含まれる対象物３を表わす領域の回転方向および／またはサイズ（拡大／縮小率）は、常に一定しているとは限らない。そこで、本実施の形態に従う画像処理装置１００は、テンプレート画像の向きおよび／または大きさを調整しつつ、マッチング処理を実行する。すなわち、画像処理装置１００は、何らかの回転量および／または倍率でテンプレート画像を補正した上で、入力画像中から対応する領域を探索する。画像処理装置１００は、探索結果として、対応する領域を示す位置情報に加えて、当該テンプレートマッチング処理において行なった補正の度合いを示す情報（回転量および／または倍率）を出力してもよい。
【００２７】
画像処理装置１００は、このようなテンプレートマッチング処理に加えて、各種の後処理を行なってもよい。例えば、対象物３とテンプレート画像との類似度（相関値など）が予め定められた値より低い場合などには、当該対象物３を「規格外」として除外してもよい。その他、公知の画像処理および／または生産ラインに対する処理を適宜組み合わせることができる。
【００２８】
《ｂ２：パーソナルコンピューターによる実現例》
図２は、本発明の実施の形態に従うテンプレートマッチングをパーソナルコンピューターにより実現した場合の構成を示すブロック図である。
【００２９】
図２を参照して、パーソナルコンピューターにより実現される画像処理装置１００は、主として、汎用的なアーキテクチャーを有するコンピューター上に実装される。図２を参照して、画像処理装置１００は、主たるコンポーネントとして、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０６と、ネットワークインターフェイス（Ｉ／Ｆ）１０８と、補助記憶装置１１０と、表示部１２０と、入力部１２２と、メモリーカードインターフェイス（Ｉ／Ｆ）１２４と、カメラインターフェイス（Ｉ／Ｆ）１２８とを含む。各コンポーネントは、バス１３０を介して、互いに通信可能に接続されている。
【００３０】
ＣＰＵ１０２は、ＲＯＭ１０６や補助記憶装置１１０などに格納された、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）およびテンプレートマッチング処理プログラム１１２などの各種プログラムを実行することで、画像処理装置１００の全体を制御する。ＲＡＭ１０４は、ＣＰＵ１０２でプログラムを実行するためのワーキングメモリとして機能し、プログラムの実行に必要な各種データを一次的に格納する。ＲＯＭ１０６は、画像処理装置１００において起動時に実行される初期プログラム（ブートプログラム）などを格納する。
【００３１】
ネットワークインターフェイス１０８は、各種の通信媒体を介して、他の装置（サーバー装置など）とデータを遣り取りする。より具体的には、ネットワークインターフェイス１０８は、イーサネット（登録商標）などの有線回線（ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）など）、および／または、無線ＬＡＮなどの無線回線を介してデータ通信を行なう。
【００３２】
補助記憶装置１１０は、典型的には、ハードディスクなどの大容量磁気記録媒体などからなり、本実施の形態に従う各種処理を実現するための画像処理プログラム（テンプレートマッチング処理プログラム１１２）およびテンプレート生成用画像１１４などを格納する。さらに、補助記憶装置１１０には、オペレーティングシステムなどのプログラムが格納されてもよい。
【００３３】
テンプレート生成用画像１１４は、テンプレート画像を生成するために用いられる。本実施の形態においては、多重解像度を用いた粗密戦略によって効率的に探索処理を行なうが、この粗密戦略では、各解像度のテンプレート画像が必要となるため、テンプレート生成用画像１１４としては、解像度別に格納されることが好ましい。この粗密戦略およびテンプレート画像の詳細については後述する。
【００３４】
表示部１２０は、オペレーティングシステムが提供するＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面やテンプレートマッチング処理プログラム１１２の実行によって生成される画像などを表示する。
【００３５】
入力部１２２は、典型的には、キーボード、マウス、タッチパネルなどからなり、ユーザーから受付けた指示の内容をＣＰＵ１０２などへ出力する。
【００３６】
メモリーカードインターフェイス１２４は、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カードやＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標））カードなどの各種メモリーカード（不揮発性記録媒体）１２６との間で、データの読み書きを行なう。
【００３７】
カメラインターフェイス１２８は、被写体を撮像することで取得されるテンプレート生成用画像および／または入力画像をカメラ４から取り込む。但し、画像処理装置１００本体が被写体を撮像する機能を有していなくともよい。この場合には、典型的には、何らかの装置で取得したテンプレート生成用画像および／または入力画像を格納したメモリーカード１２６を介して、必要な画像が取り込まれる。すなわち、メモリーカードインターフェイス１２４にメモリーカード１２６が装着され、メモリーカード１２６から読み出されたテンプレート生成用画像および／または入力画像は、補助記憶装置１１０などへ格納（コピー）される。
【００３８】
補助記憶装置１１０に格納されるテンプレートマッチング処理プログラム１１２は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体に格納されて流通し、あるいは、ネットワークを介してサーバー装置などから配信される。テンプレートマッチング処理プログラム１１２は、画像処理装置１００（パーソナルコンピューター）で実行されるオペレーティングシステムの一部として提供されるプログラムモジュールのうち必要なモジュールを、所定のタイミングおよび順序で呼出して処理を実現するようにしてもよい。この場合、テンプレートマッチング処理プログラム１１２自体には、オペレーティングシステムによって提供されるモジュールは含まれず、オペレーティングシステムと協働して画像処理が実現される。また、テンプレートマッチング処理プログラム１１２は、単体のプログラムではなく、何らかのプログラムの一部に組込まれて提供されてもよい。このような場合にも、テンプレートマッチング処理プログラム１１２自体には、当該何らかのプログラムにおいて共通に利用されるようなモジュールは含まれず、当該何らかのプログラムと協働して画像処理が実現される。このような一部のモジュールを含まないテンプレートマッチング処理プログラム１１２であっても、本実施の形態に従う画像処理装置１００の趣旨を逸脱するものではない。
【００３９】
さらに、テンプレートマッチング処理プログラム１１２によって提供される機能の一部または全部を専用のハードウェアによって実現してもよい。
【００４０】
《ｂ３：その他の構成による実現例》
上述したパーソナルコンピューターにより実現する例に加えて、例えば、デジタルカメラ、携帯電話、あるいはスマートフォン上に実装してもよい。さらに、少なくとも１つのサーバー装置が本実施の形態に従う処理を実現する、いわゆるクラウドサービスのような形態であってもよい。この場合、ユーザーは、自身の端末（パーソナルコンピューターやスマートフォンなど）を用いて、少なくとも２つの処理対象画像をサーバー装置（クラウド側）へ送信し、当該送信された処理対象画像に対して、サーバー装置側が本実施の形態に従う画像処理を行なうような構成が想定される。さらに、サーバー装置側がすべての機能（処理）を行なう必要はなく、ユーザー側の端末とサーバー装置とが協働して、本実施の形態に従う画像処理を実現するようにしてもよい。
【００４１】
［Ｃ．実施の形態１］
次に、本実施の形態１に従うテンプレートマッチング処理の詳細について説明する。
【００４２】
《ｃ１：処理概要》
本実施の形態においては、入力画像／階層画像（に含まれる部分画像）とテンプレート画像との間の相対的なずれを考慮した探索処理と、多重解像度を用いた粗密戦略とを組み合わせて、テンプレート画像に対応する領域を入力画像から探索する方法を採用する。
【００４３】
より具体的には、入力画像に対応する、複数の解像度を有する画像群を取得し、解像度の低い画像から順に、テンプレートマッチング処理を行なうことで、テンプレート画像に対応する領域を探索する。解像度の低い画像に対するテンプレートマッチング処理では、その演算時間は短くて済むが、探索された位置の精度は相対的に低い（対応する解像度の精度が限界となる）。続いて、より解像度の高い画像に対するテンプレートマッチング処理が実行される。このとき、先に実行されたテンプレートマッチング処理の結果を利用して、効率的に処理が行なわれる。そのため、解像度が高くとも演算時間を短縮できる。以下同様の処理を行なうことで、最も解像度の高い画像において探索された位置情報が結果として出力される。
【００４４】
図３は、本発明の実施の形態１に従うテンプレートマッチング処理の概要を説明するための模式図である。図３には、入力画像の画像サイズが１６００×１２００ｐｉｘ（ピクセル／画素）とした場合に、変換倍率を１／２とし、階層数を４としたときの多重解像度解析の例を示す。図３を参照して、入力画像２００から解像度が異なる複数の画像が生成される。この例では、入力画像２００を８００×６００ｐｉｘの画像サイズに縮小した画像が、第１階層の画像（以下、「第１階層画像２１０」とも称す。）として生成される。さらに、第１階層画像２１０を４００×３００ｐｉｘの画像サイズに縮小した画像が、第２階層の画像（以下、「第２階層画像２２０」とも称す。）として生成される。さらに、第２階層画像２２０を２００×１５０ｐｉｘの画像サイズに縮小した画像が、第３階層の画像（以下、「第３階層画像２３０」とも称す。）として生成される。
【００４５】
図４および図５は、本発明の実施の形態１に従うテンプレートマッチング処理において使用される入力画像および階層画像の一例を示す図である。図４に示すように、入力画像２００から、解像度が異なる階層画像が生成される。図５に示すように、それぞれの階層画像（第１階層画像２１０、第２階層画像２２０、および第３階層画像２３０）は、入力画像２００を所定の倍率ずつ縮小したものである。
【００４６】
再度図３を参照して、まず、第３階層画像２３０に対して探索範囲２３２が設定されるとともに、探索範囲２３２から順次抽出される領域（以下、「抽出領域」とも称す。）と対応するテンプレート画像との間でテンプレートマッチング処理が実行される。典型的に、抽出領域は、テンプレート画像と同じ画像サイズを有する。このテンプレートマッチング処理によって、最も類似度の高い抽出領域の位置２３４が特定されたとする。
【００４７】
この特定された抽出領域の位置２３４を基準として、第２階層画像２２０に対して探索範囲２２２が設定されるとともに、探索範囲２２２から順次抽出される抽出領域と対応するテンプレート画像との間でテンプレートマッチング処理が実行される。このテンプレートマッチング処理によって、最も類似度の高い抽出領域の位置２２４が特定されたとする。
【００４８】
さらに、この抽出領域の位置２２４を基準として、第１階層画像２１０に対して探索範囲２１２が設定されるとともに、探索範囲２１２から順次抽出される抽出領域と対応するテンプレート画像との間でテンプレートマッチング処理が実行される。このテンプレートマッチング処理によって、最も類似度の高い抽出領域の位置２１４が特定されたとする。
【００４９】
最終的に、この抽出領域の位置２１４を基準として、入力画像２００に対して探索範囲２０２が設定されるとともに、探索範囲２０２から順次抽出される抽出領域と対応するテンプレート画像との間のテンプレートマッチング処理が実行される。このテンプレートマッチング処理によって、最も類似度の高い抽出領域の位置２０４が特定されたとする。そして、この抽出領域の位置２０４が探索結果として出力される。
【００５０】
図６は、本発明の実施の形態１に従うテンプレートマッチング処理において使用される入力画像および階層画像とテンプレート画像との一例を示す図である。図６を参照して、本実施の形態においては、入力画像およびそれぞれの階層画像に対して、共通のサイズ（例えば、１２８×１２８ｐｉｘ）を有するテンプレート画像を用いて探索処理が実行される。すなわち、各テンプレート画像は、対象の入力画像またはいずれかの階層画像から抽出される抽出領域と順次比較される。この際、入力画像／階層画像（に含まれる部分画像）とテンプレート画像との間に相対的なずれに応じて、テンプレート画像が適宜補正された上で、マッチング処理が実行される。このとき、前の階層における探索結果を利用して処理が効率化される。
【００５１】
《ｃ２：探索処理の効率化》
次に、本実施の形態に従うテンプレートマッチング処理における処理の効率化手法について説明する。本実施の形態においては、入力画像／階層画像（に含まれる部分画像）とテンプレート画像との間に相対的なずれを補正した探索処理が実行される。この相対的なずれ量は、入力画像／階層画像（に含まれる部分画像）とテンプレート画像の間の、相対的な回転方向のずれ量および／または相対的な倍率（サイズ）の違いによるずれ量である。以下では、相対的なずれ量として回転量を考慮する例について説明するが、これに限られず、相対的な倍率を考慮する構成についても同様の構成が適用可能である。相対的な回転量を考慮した探索処理の一例として、回転不変位相限定相関（ＲＩＰＯＣ）法を用いた構成例について説明する。
【００５２】
図７は、本発明の実施の形態１に従うテンプレートマッチング処理の内容を概略する図である。図７には、第３階層画像および第２階層画像に対する処理の内容を例示するが、同様の手順によって、第１階層画像および入力画像に対しても同様の処理が実行される。
【００５３】
図７を参照して、まず、第３階層画像に対して探索範囲が設定されるとともに、探索範囲からマッチング処理の対象となる抽出領域が抽出され、この抽出領域と第３階層用のテンプレート画像との間で回転量についての探索処理（（１）マッチング）が実行される。なお、第３階層画像における探索範囲は、第３階層画像の全体であってもよい。この回転量についての探索処理によって、第３階層における、抽出領域とテンプレート画像との間の相対的な回転量（相対的なずれ量）が算出される（（２）回転量算出）。そして、この算出された相対的な回転量を用いて、テンプレート画像が補正される（（３）回転量補正）。この補正によって、補正テンプレート画像が生成される。
【００５４】
続いて、抽出領域と補正テンプレート画像との間で位置についての探索処理（（４）マッチング）が実行される。この位置についての探索処理によって、第３階層における、抽出領域と補正テンプレート画像との間の類似度が算出される。図７に示す（１）〜（４）の手順が繰り返されることで、補正テンプレート画像との間で最も類似度が高くなる抽出領域が特定される。この最も類似度が高くなった抽出領域を示す位置（探索範囲内における補正テンプレート画像と最も一致する抽出領域の相対位置を示す平行移動量）が算出される（（５）位置算出）。これで、第３階層における探索処理は完了する。
【００５５】
続いて、第２階層における探索処理が開始される。この第２階層における探索処理では、第３階層において算出された、最も類似度が高い抽出領域についての、テンプレート画像との間の相対的な回転量（相対的なずれ量）、および平行移動量が利用される。
【００５６】
具体的には、第２階層画像に対して探索範囲が設定されるとともに、探索範囲からマッチング処理の対象となる抽出領域が設定され、この抽出領域と第２階層用のテンプレート画像との間で回転量についての探索処理（（６）マッチング）が実行される。このとき、探索範囲は、第３階層において算出された最も類似度が高い抽出領域を示す位置を基準として設定される。
【００５７】
また、回転量についての探索処理は、第３階層において算出された最も類似度が高い抽出領域についての回転量を基準とする所定の範囲のみが対象となる。例えば、第３階層において算出された回転量がθであれば、第２階層における回転量についての探索処理では、θ±α（α：予め定められた変動角度）の範囲だけ探索が行なわれる。
【００５８】
すなわち、第２階層におけるテンプレートマッチング処理においては、位置についての探索処理の対象となる探索範囲（すなわち、抽出領域）、および回転量についての探索処理の対象となる探索範囲（角度変動範囲）が第３階層におけるテンプレートマッチング処理の結果に基づいて制限される。
【００５９】
回転量についての探索処理によって、第２階層における、抽出領域とテンプレート画像との間の相対的な回転量（相対的なずれ量）が算出される（（７）回転量算出）。そして、この算出された相対的な回転量を用いて、テンプレート画像が補正される（（８）回転量補正）。この補正によって、補正テンプレート画像が生成される。
【００６０】
続いて、抽出領域と補正テンプレート画像との間で位置についての探索処理（（９）マッチング）が実行される。この位置についての探索処理によって、第２階層における、抽出領域と補正テンプレート画像との間の類似度が算出される。図７に示す（６）〜（９）の手順が繰り返されることで、補正テンプレート画像との間で最も類似度が高くなる抽出領域が特定される。この最も類似度が高くなった抽出領域を示す位置（探索範囲内における補正テンプレート画像と最も一致する抽出領域の相対位置を示す平行移動量）が算出される（（１０）位置算出）。これで、第２階層における探索処理は完了する。
【００６１】
以下同様にして、第１階層および入力画像についても同様の探索処理が実行される。
このように、本実施の形態に従う画像処理装置１００は、以下のような機能を発揮することで、テンプレート生成用画像（基準画像）に対応する領域を入力画像から探索する。すなわち、画像処理装置１００は、入力画像に対応する、第３階層の解像度（第１の解像度）および第２階層の解像度（第１の解像度より高い第２の解像度）をそれぞれ有する第３および第２階層画像（第１および第２の入力画像）を取得する機能（入力画像取得部）を有する。画像処理装置１００は、さらにテンプレート生成用画像（基準画像）から、第３および第２階層に対応するテンプレート画像（第１および第２の解像度にそれぞれ対応する解像度を有する第１および第２の基準画像）を生成する機能（基準画像生成部）を有する。
【００６２】
さらに、画像処理装置１００は、第３階層画像（第１の入力画像）と第３階層に対応するテンプレート画像（第１の基準画像）との間の探索処理によって、第３階層画像から抽出された抽出領域と第３階層に対応するテンプレート画像（第１の入力画像と第１の基準画像）との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づくテンプレート画像（第１の基準画像）の補正によってテンプレート画像（第１の基準画像）を補正することで、補正テンプレート画像（第１の補正基準画像）を生成し、第３階層画像（第１の入力画像）と補正テンプレート画像（第１の補正基準画像）との間の探索処理によって、第３階層（第１の解像度）における対応位置を決定する機能（第１の対応位置決定部）を有する。
【００６３】
さらに、画像処理装置１００は、第３階層（第１の解像度）における対応位置に相当する第２階層画像（第２の入力画像）における位置を基準として、上記の機能（第１の対応位置決定部）によって算出された相対的なずれ量を利用して、第２階層画像（第２の入力画像）とテンプレート画像（第２の基準画像）との間の探索処理を行なうことによって、第２階層（第２の解像度）における対応位置を決定する機能（第２の対応位置決定部）を有する。つまり、第２の対応位置決定部は、第２の入力画像と第２の基準画像との間の探索処理を行なうことで、第２の入力画像と第２の基準画像との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づく第２の基準画像の補正によって第２の補正基準画像を生成し、第２の入力画像と第２の補正基準画像との間の探索処理によって、第２の解像度における対応位置を決定する。
【００６４】
さらに、画像処理装置１００は、第３階層画像から抽出された抽出領域と第３階層に対応するテンプレート画像（第１の入力画像と第１の基準画像）との間の相対的なずれ量に応じて探索範囲を制限した上で、第２階層画像（第２の入力画像）とテンプレート画像（第２の基準画像）との間の探索処理を行なうことで、第２階層画像（第２の入力画像）とテンプレート画像（第２の基準画像）との間の回転および／または倍率の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づくテンプレート画像（第２の基準画像）第２の基準画像の補正によって補正テンプレート画像（第２の補正基準画像）を生成し、第２階層画像（第２の入力画像）と補正テンプレート画像（第２の補正基準画像）との間の探索処理によって、前記第２の解像度における対応位置を決定する機能（第２の補正部）を有する。
【００６５】
このとき、第２の対応位置決定部は、基準画像取得部に、第１の入力画像と第１の基準画像との間の相対的なずれ量に応じて第２の基準画像を生成させる。
【００６６】
このように、本実施の形態に従う画像処理装置１００は、前の階層においてなされたテンプレートマッチング処理の結果を利用して、処理を効率化する。
【００６７】
《ｃ３：機能構成》
次に、本実施の形態に従う画像処理装置および／または画像処理プログラムの機能構成について説明する。
【００６８】
図８は、本発明の実施の形態１に従う画像処理装置１００の機能構成を示すブロック図である。図８を参照して、本実施の形態に従う画像処理装置１００は、その主たる機能構成として、画像取得部１５０と、多重解像度画像生成部１５２と、テンプレート生成部１５４と、探索制御部１５６と、位置検出部１５８とを含む。これらの機能構成は、図２に示す画像処理装置１００においては、ＣＰＵ１０２がテンプレートマッチング処理プログラム１１２を実行することで実現される。以下、各機能構成の詳細について説明する。
【００６９】
《ｃ４：画像取得部１５０》
画像取得部１５０は、処理対象となる入力画像を取得する。典型的には、接続されたカメラ４が被写体を撮像することで生成される画像を入力画像として取得する。これに代えて、何らかの外部装置で生成された入力画像を各種の記録媒体または通信媒体を介して取得するようにしてもよい。
【００７０】
《ｃ５：多重解像度画像生成部１５２》
多重解像度画像生成部１５２は、入力画像に対応する、複数の解像度を有する画像（階層画像）を取得する。典型的には、多重解像度画像生成部１５２は、画像取得部１５０によって取得された入力画像に対応する、解像度が異なる複数の画像（階層画像）を生成する。図４および図５に示すように、入力画像の画像サイズを１６００×１２００ｐｉｘとし、変換倍率を１／２とし、階層数を４としたときには、入力画像に対応する、それぞれ８００×６００ｐｉｘ、４００×３００ｐｉｘ、２００×１５０ｐｉｘの画像サイズを有する画像群（第１階層画像、第２階層画像、第３階層画像）が生成される。
【００７１】
この例では、変換倍率が１／２であるので、例えば、第３階層画像の点（ｘ，ｙ）は、第２階層画像の点（２ｘ，２ｙ），（２ｘ＋１，２ｙ），（２ｘ，２ｙ＋１），（２ｘ＋１，２ｙ＋１）からなる２×２の画素の平均値として求められる。
【００７２】
変換倍率については、必要に応じて柔軟に決定すればよい。例えば、変換倍率を１／２ではなく１／３などのようにより小さい値を採用してもよい。この場合には、階層数をより少なくできるので、処理をより高速化できる。逆に、変換倍率を１／１．５などのようにより大きい値を採用してもよい。この場合には、階層数がより多くなり、演算負荷は増加し得るが、より詳細に探索できるので、ロバスト性を高めることができる。
【００７３】
また、階層間で変換倍率を同一にする必要はない。例えば、入力画像に近いところ（高解像度側）では変換倍率を小さくしておき、低解像度になるにつれて変換倍率を大きくしてもよい。探索対象のオブジェクト以外のものが含まれるような低解像度側では、より詳細に探索できるのでロバスト性を担保することができ、同時に、高解像度側ではロバスト性よりも高速化に重点を置くことで、トータルバランスがとれた探索処理が可能になる。
【００７４】
《ｃ６：テンプレート生成部１５４》
テンプレート生成部１５４は、階層画像毎にテンプレート画像を設定する。典型的には、テンプレート生成部１５４は、入力されたテンプレート生成用画像１１４から、それぞれの階層画像（解像度）に応じたテンプレート画像を生成する。
【００７５】
図９は、本発明の実施の形態１に従うテンプレート画像の生成手順を概略する図である。図９に示すように、それぞれの階層画像に対応する複数のテンプレート生成用画像に対応する、同一サイズのテンプレート画像が生成される。
【００７６】
より具体的には、ユーザーは、テンプレート画像を設定するために基準となる被写体を撮像してテンプレート生成用画像を取得する。そして、ユーザーは、その取得したテンプレート生成用画像に対して、探索したい位置を指定する。テンプレート生成部１５４は、探索したい位置が重心位置になるようにそれぞれのテンプレート画像を設定する。図９に示す例では、テンプレート生成部１５４は、１２８×１２８ｐｉｘの画像サイズをもつテンプレート画像をそれぞれ設定する。同様に、他の階層画像についても対応するテンプレート画像が設定される。図９に示す例では、他の階層画像に対応するテンプレート画像についても、最初に設定されたテンプレート画像と同じ画像サイズの１２８×１２８ｐｉｘに設定される。また、それぞれの階層画像に対応するテンプレート画像についても、探索した位置が重心位置となるように設定される。
【００７７】
なお、テンプレート画像の設定については、上述のような方法に代えて、以下のような方針で設定してもよい。
【００７８】
（１）図９には、階層画像の間で同じ画像サイズを有するテンプレート画像を設定する例を示すが、少なくとも階層画像の解像度が低く（粗く）なるにつれて、テンプレート画像が含む領域が同一または広くなるように設定すればよい。
【００７９】
（２）探索したい位置がその重心位置となるようにテンプレート画像を設定する例について説明したがそれに限られない。例えば、探索した位置に対して、ある一定量（Δｘ、Δｙ）だけ離れた位置にテンプレート画像を設定してもよい。この場合、テンプレート画像を用いて実際に探索した位置に対して、結果を当該一定量（Δｘ、Δｙ）だけシフトさせることで、探索したい位置を特定できる。
【００８０】
《ｃ７：探索制御部１５６》
探索制御部１５６は、図３を参照して説明したように、多重解像度を用いた粗密戦略によって効率的に探索処理を行なう。以下、入力画像に対する位置探索を行なうための手順について説明する。ここでは、上述したように、入力画像の画像サイズを１６００×１２００ｐｉｘとし、変換倍率を１／２とし、階層数を４としたときの多重解像度解析の手順について説明する。
【００８１】
まず、第３階層画像において、第３階層画像に対応するテンプレート画像を用いて位置探索が実行される。これによって、対応する位置（ｘ３、ｙ３）が特定される。より具体的には、第３階層画像に対応するテンプレート画像と同じ画像サイズの領域が第３階層画像から抽出され、この抽出された領域（抽出領域）の内容が位置検出部１５８へ入力されることで、位置が探索される。
【００８２】
すなわち、上述の図６に示したように、まず第３階層画像（２００×１５０ｐｉｘ）からテンプレートマッチング処理の対象となる領域が抽出される。この抽出手順としては、抽出領域の重心位置と第３階層画像の重心位置とが一致するように、第３階層画像に対応するテンプレート画像（１２８×１２８ｐｉｘ）と同じ画像サイズの領域を切り出す。抽出領域とテンプレート画像とに対して、テンプレートマッチング処理が実行され、回転量および位置が特定される。
【００８３】
第３階層画像において特定された第３階層画像上の位置（ｘ３、ｙ３）の近傍に正解位置があると推定されるので、第２階層画像においては第３階層画像上の位置（ｘ３、ｙ３）をおよそ２倍（変換倍率の逆数）にした座標の近傍にあると考えられる。そこで、第３階層画像上で位置が特定されると、第３階層画像で位置探索によって得られた結果を利用して、次に第２階層画像上におけるおおよその位置を決定した上で、位置探索を実行する。
【００８４】
すなわち、上述の図６に示したように、次に第３階層画像で特定された位置を２倍した座標が第２階層画像での初期位置とされる。そして、第２階層画像に対応するテンプレート画像との間でテンプレートマッチング処理の対象となる領域が第２階層画像から抽出される。この抽出手順は、第３階層画像についての抽出手順と同様である。この第２解像画像から抽出された抽出領域とテンプレート画像とに対して、テンプレートマッチング処理が実行され、回転量および位置が特定される。
【００８５】
同様にして、第２階層画像で位置探索した結果を利用して、次に第１階層画像における画像上のおおよその位置を求める。このように、低解像度側の結果を高解像度側の初期位置になるように徐々に正解に近付けていく。そして、第１階層画像および入力画像についても、同様に位置を特定することで、最終的な位置が特定される。
【００８６】
《ｃ８：位置検出部１５８》
位置検出部１５８は、入力画像および／または階層画像から抽出された抽出領域と対応するテンプレート画像とを用いて、回転量および位置が探索される。本実施の形態においては、一例として、回転対応の位置検出技術である回転不変位相限定相関（ＲＩＰＯＣ：Ｒｏｔａｔｉｏｎ  Ｉｎｖａｒｉａｎｔ  Ｐｈａｓｅ  Ｏｎｌｙ  Ｃｏｒｒｅｌａｔｉｏｎ）法を用いる方法について説明する。
【００８７】
図１０は、本発明の実施の形態１に従う位置検出部１５８における処理内容を説明するための模式図である。図１１は、図１０に示すＰＯＣにおいて実行される処理内容を説明するための模式図である。
【００８８】
図１０を参照して、ＲＩＰＯＣ方式は、テンプレート画像に対して抽出領域がどれだけ回転しているかを算出するとともに、テンプレート画像の回転角度を補正する処理（参照符号１６７）と、回転角度の補正によって取得された補正テンプレート画像と抽出領域との間でどれだけの類似度および平行移動量が存在するのかを算出する処理（参照符号１６８）とを含む。
【００８９】
より具体的には、位置検出部１５８は、フーリエ変換処理１６１，１７１と、対数化処理１６２，１７２と、極座標変換処理１６３，１７３と、ＰＯＣ処理１６４と、回転量補正処理１６５と、ＰＯＣ処理１６６とを含む。
【００９０】
フーリエ変換処理１６１および１７１は、それぞれテンプレート画像および抽出領域に含まれる周波数成分（振幅成分および位相成分）を算出する。本ＲＩＰＯＣ処理においては、位相成分は必ずしも必要ではないので、算出しなくともよい。
【００９１】
対数化処理１６２および極座標変換処理１６３は、テンプレート画像についての振幅成分を対数化するとともに、極座標へ変換する。同様に、対数化処理１７２および極座標変換処理１７３は、抽出領域についての振幅成分を対数化するとともに、極座標へ変換する。この極座標への変換によって、回転量が２次元座標上の座標点として表現される。
【００９２】
ＰＯＣ処理１６４は、極座標変換処理１６３および１７３からそれぞれ出力される極座標変換された結果について、類似度および平行移動量（回転量に相当）が算出される。図１１には、ＰＯＣ処理１６４での処理結果を模式的に示す。図１１に示すように、２つの画像間の平行移動量がピーク位置として表される。ＰＯＣ処理では、画像同士を順次ずらすとともに、それぞれに含まれる空間周波数の成分の間で相関値を算出することで、最も類似度の高いものを探索する。なお、画像間の平行移動量は、テンプレート画像の画像サイズのおおよそ±１／４程度の範囲をサーチすれば算出できる。すなわち、ＰＯＣ処理１６４では、極座標変換された結果同士で類似度が最も高くなる位置を特定し、それに対応する回転量が回転量補正処理１６５へ出力される。
【００９３】
回転量補正処理１６５は、テンプレート画像をＰＯＣ処理１６４において算出された回転量に従って回転補正する。すなわち、回転量補正処理１６５では、テンプレート画像が回転補正されて補正テンプレート画像が生成される。
【００９４】
回転量補正処理１６５においてテンプレート画像を回転補正する方法として、テンプレート画像そのものを実空間で回転させる方法を採用することができる。あるいは、後述するように、ＰＯＣ処理１６６において周波数空間を扱うような場合には、実空間で回転させる必要はなく、ＰＯＣ処理の内部表現であるフーリエ変換後のデータ（振幅情報および位相情報）を回転させる方法を採用してもよい。
【００９５】
ＰＯＣ処理１６６は、補正後テンプレート画像と抽出領域との間で、類似度および平行移動量を算出する。類似度が最も高くなる位置が、入力画像に含まれる補正後テンプレート画像と一致する領域を示す。
【００９６】
ここで、多重解像度を用いた粗密戦略による回転量補正処理１６５の効率化について説明する。第３階層では入力画像に含まれる対象物３の回転量が不定であるので、最大３６０°の範囲で回転量を探索する必要がある。但し、ＲＩＰＯＣ方式で探索できる角度は±９０°であるので、探索された回転量θ（−９０°≦θ≦９０°）に加えて、回転量（θ＋π）も算出候補となる。そのため、図１０に示すＰＯＣ処理１６４および回転量補正処理１６５では、テンプレート画像を回転量θおよび回転量（θ＋π）の２種類で回転補正した結果を作成するとともに、ＰＯＣ処理１６６では、２つの回転量で補正されたそれぞれの補正テンプレート画像についてＰＯＣ処理（位置探索）が実行される。そして、それぞれのテンプレート画像についてのＰＯＣ処理によるピーク位置の高さを比較して、よりピーク位置の高さが高い方を平行移動量として出力する。回転量については、選択されたピーク位置を算出した際に使われたテンプレートの回転補正量が第３階層での回転量として出力される。
【００９７】
第２階層以降についても同様に処理されるが、低階層で算出された回転量に基づいて、高階層での回転量の探索範囲を制限することができる。そのため、第３階層では回転量をそれぞれ補正した２つのテンプレート画像を使用したが、第２階層以降では一方の回転量で補正した補正テンプレート画像を用いることができる。このような処理を採用することで、ＰＯＣ処理１６６において平行移動量を算出する処理において、ＰＯＣ探索を２回行なっていたものを１回にできるので、演算時間を短縮できる。
【００９８】
さらに、いずれのテンプレート画像を使用するかを制限するだけではなく、図１０に示すＰＯＣ処理１６４および回転量補正処理１６５において回転量を算出するにあたって、ＰＯＣ処理のピーク位置の探索時に、低階層における結果に基づいて、その探索範囲を制限することで演算時間を短縮できるとともに、精度を安定化できる。より具体的には、第３階層で算出された回転量θに対して、第２階層ではθ±αの範囲だけ探索するようにする。
【００９９】
《ｃ９：処理手順》
次に、本実施の形態に従うテンプレートマッチング処理の全体手順について説明する。
【０１００】
図１２は、本発明の実施の形態１に従うテンプレートマッチング処理の全体手順を示すフローチャートである。図１２に示す各ステップは、典型的には、ＣＰＵ１０２（図２）がテンプレートマッチング処理プログラム１１２を実行するなどして実現される。
【０１０１】
図１２を参照して、まず、ＣＰＵ１０２は、カメラ４などから入力画像を取得する（ステップＳ１００）。続いて、ＣＰＵ１０２は、入力画像を多重解像度化して階層画像を生成する（ステップＳ１０２）。ここでは、入力画像に対応する、第１階層画像、第２階層画像、第３階層画像が生成されたものとする。なお、入力画像および各階層画像に対応するテンプレート画像は予め用意されているものとする。
【０１０２】
ＣＰＵ１０２は、第３階層画像に対して、位置探索を行なうための初期位置を設定する（ステップＳ１０４）。第３階層画像では、低階層側の情報がないので、例えば、画像の重心位置を初期位置として設定すればよい。続いて、ＣＰＵ１０２は、第３階層画像からテンプレート画像と同じ画像サイズの領域を抽出する（ステップＳ１０６）。この抽出領域は、ステップＳ１０４において設定された初期位置が重心位置になるように設定される。そして、ＣＰＵ１０２は、抽出領域とテンプレート画像とを入力として、回転量の探索処理を実行し（ステップＳ１０８）、その回転量の探索処理によって得られた回転量に基づいて補正テンプレート画像を生成する（ステップＳ１１０）。典型的には、テンプレート画像を補正することで補正テンプレート画像が生成される。さらに、ＣＰＵ１０２は、ステップＳ１１０において生成された補正テンプレート画像と抽出領域とを入力として、位置の探索処理を実行する（ステップＳ１１２）。
【０１０３】
続いて、より高階層についての処理が実行される。
ＣＰＵ１０２は、対象の階層画像または入力画像に対して、低階層において算出された位置に基づいて、位置探索を行なうための初期位置を設定する（ステップＳ１１４）。続いて、ＣＰＵ１０２は、対象の階層画像または入力画像から対応するテンプレート画像と同じ画像サイズの領域を抽出する（ステップＳ１１６）。
【０１０４】
そして、ＣＰＵ１０２は、低階層において算出されたテンプレート画像補正用の回転量に基づいて、回転量の探索範囲を設定した上で（ステップＳ１１８）、抽出領域とテンプレート画像とを入力として、回転量の探索処理を実行し（ステップＳ１２０）、その回転量の探索処理によって得られた回転量に基づいて補正テンプレート画像を生成する（ステップＳ１２２）。典型的には、テンプレート画像を補正することで補正テンプレート画像が生成される。さらに、ＣＰＵ１０２は、ステップＳ１２２において生成された補正テンプレート画像と抽出領域とを入力として、位置の探索処理を実行する（ステップＳ１２４）。
【０１０５】
そして、ＣＰＵ１０２は、現在の対象画像が入力画像であるか否かを判断する（ステップＳ１２６）。現在の対象画像が入力画像でない場合（ステップＳ１２６においてＮＯの場合）には、次の高階層の画像を対象に設定し（ステップＳ１２８）、ステップＳ１１４以下の処理が繰り返される。
【０１０６】
これに対して、現在の対象画像が入力画像である場合（ステップＳ１２６においてＹＥＳの場合）には、直前に実行されたステップＳ１２４の探索処理の結果を出力する（ステップＳ１３０）。そして、処理は終了する。
【０１０７】
《ｃ１０．利点》
本実施の形態によれば、入力画像を多重解像度化することで、低解像度側から相対的なずれ量および位置の両方を絞り込みながら探索するので、演算量を低減することがでるとともに、精度のロバスト性も向上できる。
【０１０８】
［Ｄ．実施の形態２］
上述の実施の形態１では、低解像度側から高解像度側へ位置および回転量の情報を伝播させていく際、回転量の探索範囲を制限した上で、予め準備されているテンプレート画像の回転補正を行なう構成について例示した。これに対して、実施の形態２においては、低解像度側で検出された回転量の情報に基づいて、テンプレート画像を動的に生成する構成について例示する。
【０１０９】
《ｄ１：処理概要》
本実施の形態に従うテンプレートマッチング処理の概要は、上述の図３〜図５を参照して説明した内容と実質的に同一である。そのため、詳細な説明は繰り返さない。
【０１１０】
《ｄ２：探索処理の効率化》
次に、本実施の形態に従うテンプレートマッチング処理における処理の効率化手法について説明する。本実施の形態においては、低解像度側において階層画像（に含まれる部分画像）とテンプレート画像との間に相対的なずれを補正した探索処理が実行される。そして、この探索処理において、最も類似度が高い位置（上述の図１１に示すピーク位置）が算出された際に利用された回転量が次の階層におけるテンプレート画像の生成に利用される。
【０１１１】
本実施の形態においても、相対的な回転量を考慮した探索処理の一例として、回転不変位相限定相関（ＲＩＰＯＣ）法を用いた構成例について説明するが、これらに限られるものではない。
【０１１２】
図１３は、本発明の実施の形態２に従うテンプレートマッチング処理の内容を概略する図である。図１３には、第３階層画像および第２階層画像に対する処理の内容を例示するが、同様の手順によって、第１階層画像および入力画像に対しても同様の処理が実行される。
【０１１３】
図１３を参照して、まず、第３階層画像に対して探索範囲が設定されるとともに、探索範囲からマッチング処理の対象となる抽出領域が抽出され、この抽出領域と第３階層用のテンプレート画像との間で回転量についての探索処理（（１）マッチング）が実行される。なお、第３階層画像における探索範囲は、第３階層画像の全体であってもよい。この回転量についての探索処理によって、第３階層における、抽出領域とテンプレート画像との間の相対的な回転量（相対的なずれ量）が算出される（（２）回転量算出）。そして、この算出された相対的な回転量を用いて、テンプレート画像が補正される（（３）回転量補正）。この補正によって、補正テンプレート画像が生成される。
【０１１４】
続いて、抽出領域と補正テンプレート画像との間で位置についての探索処理（（４）マッチング）が実行される。この位置についての探索処理によって、第３階層における、抽出領域と補正テンプレート画像との間の類似度が算出される。図１３に示す（１）〜（４）の手順が繰り返されることで、補正テンプレート画像との間で最も類似度が高くなる抽出領域が特定される。この最も類似度が高くなった抽出領域を示す位置（探索範囲内における補正テンプレート画像と最も一致する抽出領域の相対位置を示す平行移動量）が算出される（（５）位置算出）。これで、第３階層における探索処理は完了する。
【０１１５】
続いて、第２階層における探索処理が開始される。この第２階層における探索処理では、第３階層において算出された、最も類似度が高い抽出領域についての、テンプレート画像との間の相対的な回転量（相対的なずれ量）、および平行移動量が利用される。
【０１１６】
具体的には、第３階層において類似度が最も高い値を示した際の回転量を考慮して、テンプレート画像を動的に生成する（あるいは、作り直す）（（６）回転量補正）。これにより、テンプレート画像と抽出領域とのマッチング度合いを予め高めることができる。
【０１１７】
すなわち、第２階層におけるテンプレートマッチング処理においては、第３階層に対応する補正テンプレート画像の生成に用いた補正量（回転量）に応じて、第２階層に対応するテンプレート画像を生成する。
【０１１８】
また、算出された平行移動量に基づいて第２階層画像に対して初期位置が設定されるとともに、初期位置に基づいてマッチング処理の対象となる抽出領域が設定され、この抽出領域と第２階層用のテンプレート画像との間で回転量についての探索処理（（７）マッチング）が実行される。この回転量についての探索処理の探索範囲は、例えば、±α（α：予め定められた変動角度）などに設定される。本実施の形態においては、先に、おおよその回転量を考慮したテンプレート画像が生成されているので、探索範囲を限定できる。
【０１１９】
回転量についての探索処理によって、第２階層における、抽出領域とテンプレート画像との間の相対的な回転量（相対的なずれ量）が算出される（（８）回転量算出）。そして、この算出された相対的な回転量を用いて、テンプレート画像が補正される（（９）回転量補正）。この補正によって、補正テンプレート画像が生成される。
【０１２０】
続いて、抽出領域と補正テンプレート画像との間で位置についての探索処理（（１０）マッチング）が実行される。この位置についての探索処理によって、第２階層における、抽出領域と補正テンプレート画像との間の類似度が算出される。図１３に示す（６）〜（１０）の手順が繰り返されることで、補正テンプレート画像との間で最も類似度が高くなる抽出領域が特定される。この最も類似度が高くなった抽出領域を示す位置（探索範囲内における補正テンプレート画像と最も一致する抽出領域の相対位置を示す平行移動量）が算出される（（１１）位置算出）。これで、第２階層における探索処理は完了する。
【０１２１】
以下同様にして、第１階層および入力画像についても同様の探索処理が実行される。
次に、テンプレート画像の生成手順について説明する。
【０１２２】
図１４は、本発明の実施の形態２に従うテンプレート画像の生成手順を概略する図である。それぞれの階層に対応するテンプレート画像は、テンプレート生成用画像から切り出すことで生成されるものとする。
【０１２３】
図１４を参照して、まず、最も低階層に対応するテンプレート画像がテンプレート生成用画像から切り出すことで生成される（（１）切り出し）。この切り出しは、ユーザーが任意に設定する。生成された最も低階層にテンプレート画像を用いて、マッチング対象画像（階層画像）の中から対応位置が探索される（（２）マッチング）。このとき、テンプレート画像との間の相対的なずれ量（この例では、回転量）が算出される。
【０１２４】
次の階層での処理においては、探索されたマッチング情報（回転量）を用いて（（３）マッチング情報（回転量））、テンプレート生成用画像からテンプレート画像が切り出される（（４）切り出し）。これによって、マッチング対象画像に映っている対象物の回転量にほぼ近い状態に対応するテンプレート画像が生成される。そして、この生成されたテンプレート画像を用いて、マッチング対象画像（階層画像）の中から対応位置が探索される（（５）マッチング）。以下、同様に対応位置が探索される。
【０１２５】
このように、本実施の形態においては、低解像度側における回転量を用いて、高解像度側におけるテンプレート画像が生成される。
【０１２６】
このように、本実施の形態に従う画像処理装置１００は、以下のような機能を発揮することで、テンプレート生成用画像（基準画像）に対応する領域を入力画像から探索する。すなわち、画像処理装置１００は、入力画像に対応する、第３階層の解像度（第１の解像度）および第２階層の解像度（第１の解像度より高い第２の解像度）をそれぞれ有する第３および第２階層画像（第１および第２の入力画像）を取得する機能（入力画像取得部）を有する。画像処理装置１００は、さらにテンプレート生成用画像（基準画像）から、第３および第２階層に対応するテンプレート画像（第１および第２の解像度にそれぞれ対応する解像度を有する第１および第２の基準画像）を生成する機能（基準画像生成部）を有する。
【０１２７】
さらに、画像処理装置１００は、第３階層画像（第１の入力画像）と第３階層に対応するテンプレート画像（第１の基準画像）との間の探索処理によって、第３階層画像から抽出された抽出領域と第３階層に対応するテンプレート画像（第１の入力画像と第１の基準画像）との間の相対的なずれ量を算出するとともに、算出された相対的なずれ量に基づいてテンプレート画像（第１の基準画像）を補正することで、補正テンプレート画像（第１の補正基準画像）を生成する機能（第１の補正部）を有する。画像処理装置１００は、さらに第３階層画像（第１の入力画像）と補正テンプレート画像（第１の補正基準画像）との間の探索処理によって、第３階層（第１の解像度）における対応位置を決定する機能（第１の対応位置決定部）を有する。
【０１２８】
さらに、画像処理装置１００は、第３階層（第１の解像度）における対応位置に相当する第２階層（第２の解像度）における位置を基準として、第２階層画像（第２の入力画像）に対して、第２階層に対応する補正テンプレート画像（第２の補正基準画像）に基づく探索処理を行なうことで、第２階層（第２の解像度）における対応位置を決定する機能（第２の対応位置決定部）を有する。
【０１２９】
さらに、画像処理装置１００は、第１の補正テンプレート画像（第１の補正基準画像）の生成に用いた回転量（補正量）に応じて、第２のテンプレート画像（第２の基準画像）を生成する。
【０１３０】
さらに、画像処理装置１００は、第２階層画像（第２の入力画像）と、第３階層に対応する補正テンプレート画像（第１の補正基準画像）の生成に用いた回転量（補正量）に応じて生成された第２階層に対応するテンプレート画像（第２の基準画像）との間の探索処理を行なうことで、補正テンプレート画像（第２の補正基準画像）を生成する。
【０１３１】
このように、本実施の形態に従う画像処理装置１００は、前の階層においてなされたテンプレートマッチング処理の結果を利用して、処理を効率化する。
【０１３２】
《ｄ３：機能構成》
本実施の形態に従う画像処理装置および／または画像処理プログラムの機能構成については、図８に示すブロック図と同様である。但し、テンプレート生成部１５４によるテンプレート画像の生成処理については、上述したように、実施の形態１における処理とは異なっている。
【０１３３】
《ｄ４：処理手順》
次に、本実施の形態に従うテンプレートマッチング処理の全体手順について説明する。
【０１３４】
図１５は、本発明の実施の形態２に従うテンプレートマッチング処理の全体手順を示すフローチャートである。図１５に示す各ステップは、典型的には、ＣＰＵ１０２（図２）がテンプレートマッチング処理プログラム１１２を実行するなどして実現される。
【０１３５】
図１５に示す処理手順は、図１２に示す処理手順に比較して、ステップＳ１１８の処理に代えて、ステップＳ１１９の処理が実行される。すなわち、対象の階層画像または入力画像に対して、低階層において算出された位置に基づいて、位置探索を行なうための初期位置を設定（ステップＳ１１４）した後、ＣＰＵ１０２は、対象の階層画像または入力画像に対応する、テンプレート画像と同じ画像サイズの領域を抽出する（ステップＳ１１６）。
【０１３６】
そして、ＣＰＵ１０２は、低階層において算出されたテンプレート画像補正用の回転量に基づいて、テンプレート生成用画像に対応するテンプレート画像を生成する。（ステップＳ１１９）。さらに、ＣＰＵ１０２は、抽出領域と生成したテンプレート画像とを入力として、回転量の探索処理を実行し（ステップＳ１２０）、その回転量の探索処理によって得られた回転量に基づいて補正テンプレート画像を生成する（ステップＳ１２２）。典型的には、テンプレート画像を補正することで補正テンプレート画像が生成される。さらに、ＣＰＵ１０２は、ステップＳ１２２において生成された補正テンプレート画像と抽出領域とを入力として、位置の探索処理を実行する（ステップＳ１２４）。
【０１３７】
以下、図１２と同様の処理が実行される。
《ｄ５．変形例》
上述の説明では、予め作成されたテンプレート画像を作り直す処理について説明したが、テンプレート生成用画像から回転量を考慮して複数のテンプレート画像を作成しておき、メモリ上に保持しておいてもよい。このような方法を採用することで、低階層側で取得された回転量に応じて、最適なテンプレート画像を選択するだけでよくなる。その結果、演算時間を短縮化できる。
【０１３８】
なお、メモリの制約が厳しい場合は、例えば１°刻みのような細かいテンプレート画像ではなく、例えば、１０°刻みのようなより粗いテンプレート画像を作成しておき、最も近いものを選択するようにしてもよい。このような処理であっても、一定の精度向上効果が得られる。
【０１３９】
《ｄ６．利点》
本実施の形態によれば、高解像度側の階層画像では相対的なずれ量（相対的な回転量、および、相対的な倍率）がほぼ存在しないテンプレート画像を使用できるので、探索精度を向上できる。
【０１４０】
［Ｅ．実施の形態３］
上述の実施の形態２では、低解像度側で検出された回転量の情報に基づいて、テンプレート画像を動的に生成する構成について例示した。この実施の形態２においては、さらに回転量についての探索処理が実行され、テンプレート画像が補正された上で、位置についての探索処理が実行される。これに対して、実施の形態３においては、生成されたテンプレート画像に対する補正処理を省略する構成について説明する。低解像度側で算出された回転量に基づいて動的に生成されるテンプレート画像は、入力画像に含まれる対象物３の向きに適合していると考えられるので、このようなテンプレート画像の回転補正を省略したとしても、比較的高い精度を保つことができる。
【０１４１】
《ｅ１：処理概要》
本実施の形態に従うテンプレートマッチング処理の概要は、上述の図３〜図５を参照して説明した内容と実質的に同一である。そのため、詳細な説明は繰り返さない。
【０１４２】
《ｅ２：探索処理の効率化》
次に、本実施の形態に従うテンプレートマッチング処理における処理の効率化手法について説明する。
【０１４３】
図１６は、本発明の実施の形態３に従うテンプレートマッチング処理の内容を概略する図である。図１６を参照して、まず、第３階層画像に対して探索範囲が設定されるとともに、探索範囲からマッチング処理の対象となる抽出領域が抽出され、この抽出領域と第３階層用のテンプレート画像との間で回転量についての探索処理（（１）マッチング）が実行される。この回転量についての探索処理によって、第３階層における、抽出領域とテンプレート画像との間の相対的な回転量（相対的なずれ量）が算出される（（２）回転量算出）。そして、この算出された相対的な回転量を用いて、テンプレート画像が補正される（（３）回転量補正）。この補正によって、補正テンプレート画像が生成される。
【０１４４】
続いて、抽出領域と補正テンプレート画像との間で位置についての探索処理（（４）マッチング）が実行される。この位置についての探索処理によって、第３階層における、抽出領域と補正テンプレート画像との間の類似度が算出される。図１６に示す（１）〜（４）の手順が繰り返されることで、補正テンプレート画像との間で最も類似度が高くなる抽出領域が特定される。この最も類似度が高くなった抽出領域を示す位置（探索範囲内における補正テンプレート画像と最も一致する抽出領域の相対位置を示す平行移動量）が算出される（（５）位置算出）。これで、第３階層における探索処理は完了する。
【０１４５】
続いて、第２階層における探索処理が開始される。この第２階層における探索処理では、第３階層において算出された、最も類似度が高い抽出領域についての、テンプレート画像との間の相対的な回転量（相対的なずれ量）、および平行移動量が利用される。
【０１４６】
具体的には、第３階層において類似度が最も高い値を示した際の回転量を考慮して、テンプレート画像を動的に生成する（あるいは、作り直す）（（６）回転量補正）。すなわち、第２階層におけるテンプレートマッチング処理においては、第３階層に対応する補正テンプレート画像の生成に用いた補正量（回転量）に応じて、第２階層に対応するテンプレート画像を生成する。
【０１４７】
また、算出された平行移動量に基づいて第２階層画像に対して初期位置が設定されるとともに、初期位置に基づいてマッチング処理の対象となる抽出領域が設定される。そして、抽出領域とテンプレート画像との間で位置についての探索処理（（７）マッチング）が実行される。この位置についての探索処理によって、第２階層における、抽出領域とテンプレート画像との間の類似度が算出される。図１６に示す（７）の手順が繰り返されることで、テンプレート画像との間で最も類似度が高くなる抽出領域が特定される。この最も類似度が高くなった抽出領域を示す位置（探索範囲内におけるテンプレート画像と最も一致する抽出領域の相対位置を示す平行移動量）が算出される（（８）位置算出）。これで、第２階層における探索処理は完了する。
【０１４８】
続いて、第１階層における探索処理が開始される。具体的には、第３階層において類似度が最も高い値を示した際の回転量を考慮して、テンプレート画像を動的に生成する（あるいは、作り直す）（（９）回転量補正）。
【０１４９】
また、第２階層において算出された平行移動量に基づいて第１階層画像に対して初期位置が設定されるとともに、初期位置に基づいてマッチング処理の対象となる抽出領域が設定される。そして、抽出領域とテンプレート画像との間で位置についての探索処理（（１０）マッチング）が実行される。図１６に示す（１０）の手順が繰り返されることで、テンプレート画像との間で最も類似度が高くなる抽出領域が特定される。この最も類似度が高くなった抽出領域を示す位置（探索範囲内におけるテンプレート画像と最も一致する抽出領域の相対位置を示す平行移動量）が算出される（（１１）位置算出）。これで、第１階層における探索処理は完了する。
【０１５０】
以下同様にして、入力画像についても同様の探索処理が実行される。
このように、本実施の形態に従う画像処理装置１００は、第３階層に対応する補正テンプレート画像（第１の補正基準画像）の生成に用いた回転量（補正量）に応じて生成された第２階層に対応するテンプレート画像（第２の基準画像）に対応する領域を第２階層画像から探索することで、第２の階層画像にける対応位置を決定する。
【０１５１】
《ｅ３：機能構成》
本実施の形態に従う画像処理装置および／または画像処理プログラムの機能構成については、図８に示すブロック図と同様である。但し、テンプレート生成部１５４によるテンプレート画像の生成処理については、上述したように、実施の形態１における処理とは異なっている。
【０１５２】
《ｅ４：処理手順》
次に、本実施の形態に従うテンプレートマッチング処理の全体手順について説明する。
【０１５３】
図１７は、本発明の実施の形態３に従うテンプレートマッチング処理の全体手順を示すフローチャートである。図１７に示す処理手順は、図１５に示す処理手順に比較して、ステップＳ１２０およびＳ１２２の処理が省略されている。それ以外の処理については、図１５を参照して説明したとおりであるので、詳細な説明は繰り返さない。
【０１５４】
《ｅ５．変形例》
上述の説明では、第１番目の階層（最低解像度）においてのみ回転量についての探索が実行される例を示すが、他の階層においても必要に応じて回転量についての探索を行なってもよい。例えば、最高解像度（すなわち、入力画像）においても、回転量についての探索およびテンプレート画像の回転量補正を行なった上で、位置についての探索処理を行なって平行移動量を算出するようにしてもよい。これにより、よりロバストな回転量算出および平行移動量算出が可能になる。
【０１５５】
また、最低解像度および最高解像度のみに限らず、一部の中間階層においても回転量についての探索およびテンプレート画像の回転量補正を行なってもよい。
【０１５６】
結局のところ精度の安定性と演算速度のトレードオフになるので、これらの事項については、用途やニーズに応じて適宜設計すればよい。
【０１５７】
《ｅ６．利点》
本実施の形態によれば、高解像度側の階層画像では相対的なずれ量（相対的な回転量、および、相対的な倍率）を算出するための演算を省略できるので、処理を高速化できる。
【０１５８】
［Ｆ．実施の形態４］
上述の実施の形態１〜３では、予め定められた手順に従って、テンプレートマッチング処理が実行される例について説明した。これに対して、実施の形態４においては、低解像度側でのテンプレートマッチング処理のマッチング度合いに応じて、高解像度側でのマッチング方法を最適化する方法について説明する。
【０１５９】
《ｆ１．概要》
「マッチング度合い」は、入力画像または階層画像がテンプレート画像に対してどのくらい類似しているかを示す指標であり、相関値などが用いられる。図１１に示すように、ＰＯＣでは、逆フーリエ変換後に得られる相関ピークの大きさ（ピーク値）を用いることができる。
【０１６０】
本実施の形態においては、テンプレート画像を回転補正するための回転量を算出する際に取得される類似度（図１０のＰＯＣ処理１６４による処理結果）と、位置についての探索を行なって平行移動量を算出する際に取得される類似度（図１０のＰＯＣ処理１６６による処理結果）の２種類が存在する。説明の便宜上、以下では、前者を「回転類似度」と称し、後者を「位置ずれ類似度」と称す。
【０１６１】
《ｆ２．パターン例》
このような、低解像度側における類似度に基づいてマッチング方法を最適化するパターン例としては、以下のようなものが挙げられる。
【０１６２】
＜パターン１＞
（１）低解像度側：回転探索＋回転量補正＋位置探索→位置ずれ類似度：高→高解像度側：低解像度側の回転量に基づくテンプレート画像の生成＋位置探索
（２）低解像度側：回転探索＋回転量補正＋位置探索→位置ずれ類似度：低→高解像度側：低解像度側の回転量に基づくテンプレート画像の生成＋回転探索＋回転量補正＋位置探索
＜パターン２＞
（１）低解像度側：回転探索＋回転量補正＋位置探索→回転類似度：高→高解像度側：低解像度側の回転量に基づくテンプレート画像の生成＋位置探索
（２）低解像度側：回転探索＋回転量補正＋位置探索→回転類似度：低→高解像度側：低解像度側の回転量に基づくテンプレート画像の生成＋回転探索＋回転量補正＋位置探索
すなわち、上述のパターン１および２においては、類似度が高い場合には、高解像度側においては、テンプレート画像に対する回転量についての探索および回転量補正を省略する。
【０１６３】
あるいは、以下のようなパターンを採用してもよい。
＜パターン３＞
（１）低解像度側：回転探索＋回転量補正＋位置探索→位置ずれ類似度：高→高解像度側：低解像度側の回転量に基づくテンプレート画像の生成＋回転探索（低解像度側の回転量に基づく探索範囲の制限有）＋回転量補正＋位置探索
（２）低解像度側：回転探索＋回転量補正＋位置探索→位置ずれ類似度：低→高解像度側：低解像度側の回転量に基づくテンプレート画像の生成＋回転探索（低解像度側の回転量に基づく探索範囲の制限無）＋回転量補正＋位置探索
＜パターン４＞
（１）低解像度側：回転探索＋回転量補正＋位置探索→回転類似度：高→高解像度側：低解像度側の回転量に基づくテンプレート画像の生成＋回転探索（低解像度側の回転量に基づく探索範囲の制限有）＋回転量補正＋位置探索
（２）低解像度側：回転探索＋回転量補正＋位置探索→回転類似度：低→高解像度側：低解像度側の回転量に基づくテンプレート画像の生成＋回転探索（低解像度側の回転量に基づく探索範囲の制限無）＋回転量補正＋位置探索
すなわち、上述のパターン３および４においては、類似度が高い場合には、高解像度側においては、テンプレート画像に対する回転量についての探索において探索範囲の制限を有効化し、そうでなければ、探索範囲を制限しない。
【０１６４】
上述のように、本実施の形態に従う画像処理装置１００は、低解像度側におけるテンプレート画像の回転量補正において算出される類似度（回転量類似度）、および、低解像度側における位置についての探索において算出される類似度（位置ずれ類似度）の少なくとも一方に基づいて、高解像度側における探索処理に用いられるテンプレート画像または補正テンプレート画像の生成手順を異ならせる機能（制御部）を含む。すなわち、画像処理装置１００の制御部は、第１の入力画像と第１の基準画像との間の探索処理において算出される類似度、および、第１の入力画像と第１の補正基準画像との間の探索処理において算出される類似度の少なくとも一方に基づいて、第２の対応位置決定部による第２の解像度における対応位置の決定方法を変化させる。より具体的には、画像処理装置１００は、相対的なずれ量および位置ずれ量の少なくとも一方を決定する際に算出される類似度に基づいて、生成手順を異ならせる。
【０１６５】
《ｆ３．その他の形態》
上述の説明においては、回転量類似度および位置ずれ類似度について言及したが、それ以外の類似度、例えば倍率類似度などについても同様に採用することができる。この場合には、例えば、３つの類似度の重み付け平均値などに依存して、高解像度側でのマッチング方法を決定してもよい。
【０１６６】
《ｆ４．利点》
低解像度側におけるマッチング度合いに応じて高解像度側でのマッチング方法を最適化することで、精度の安定性および演算時間の短縮化を両立できる。例えば、低解像度側で確からしいマッチングができている場合には、高解像度側での回転量についての探索を行なわなくとも、高い精度で平行移動量を算出できると考えられるので、回転量の探索処理を省略できる。これによって、トータルの演算量を低減できる。
【０１６７】
［Ｇ．その他の実施の形態］
上述の実施の形態においては、入力画像／階層画像（に含まれる部分画像）とテンプレート画像との間に相対的なずれ（幾何学的なずれ）を算出および補正する方法として、ＲＩＰＯＣ法を用いた例について説明した。これに加えて、あるいは、これに代えて、倍率（サイズ）も含めた幾何学的なずれを算出および補正する各種のアルゴリズム方法を採用することもでき、例えば、上述の非特許文献１に開示されるフーリエメリン変換を用いたマッチング方法を採用してもよい。このフーリエメリン変換を用いたマッチング方法によれば、上述した回転量の探索処理と同様に、倍率（サイズ）の探索処理を行なうことができる。
【０１６８】
さらに、ＰＯＣ以外にも画像内の周波数情報を利用したマッチングアルゴリズムとして、文献１（貴家仁志、「画像信号処理と画像パターン認識の融合−ＤＣＴ符号限定相関とその応用」、首都大学東京  システムデザイン学部、動的画像処理実利用化ワークショップ２００７（２００７．３．８））に記載の方法を採用してもよい。
【０１６９】
［Ｈ．別形態］
本発明の実施の形態としては、以下のような態様を含む。
【０１７０】
別の実施の形態に従う画像処理装置は、テンプレート画像と取得画像との相対的な回転量あるいは相対的な倍率、またはその両方を考慮したテンプレートマッチング方法に向けられている。画像処理装置は、画像を取得する画像取得部と、テンプレート画像を取得する部と、取得画像の部分領域とテンプレート画像との相関を利用して、取得画像から対応位置を探索する部と、記探索時において、テンプレート画像との相対的な回転量あるいは倍率、または、その両方を算出する相対ずれ量算出部と、相対ずれ量算出部で算出した値を用いて、取得画像とテンプレート画像との相対的なずれ量を補正後に対応位置を算出する部とを含む。画像処理装置１００は、さらに、画像取得部で取得された画像を複数の解像度に変換する解像度変換部と、テンプレート画像を解像度毎に取得する部と、低解像度画像からテンプレート画像を利用して低解像度画像における暫定位置を特定する部と、各解像度で得られた暫定位置から高解像度での仮位置を設定する部と、低解像度から高解像度へ順次暫定位置を特定することで取得画像における対応位置を決定する部と、低解像度で得られた相対的なずれ量に基づいて、高解像度における相対的なずれ量の探索範囲を限定する部とを含む。
【０１７１】
この局面に従う画像処理装置によれば、画像を多重化することで、低解像度側から相対的ずれ量および位置の両方を絞り込みながら探索するので、演算速度を低減でき、精度のロバスト性も向上できる。
【０１７２】
別の実施の形態に従う画像処理装置は、テンプレート画像と取得画像との相対的な回転量あるいは相対的な倍率、またはその両方を考慮したテンプレートマッチング方法に向けられている。画像処理装置は、画像を取得する画像取得部と、テンプレート画像を取得する部と、取得画像の部分領域とテンプレート画像との相関を利用して、取得画像から対応位置を探索する部と、記探索時において、テンプレート画像との相対的な回転量あるいは倍率、または、その両方を算出する相対ずれ量算出部と、相対ずれ量算出部で算出した値を用いて、取得画像とテンプレート画像との相対的なずれ量を補正後に対応位置を算出する部とを含む。画像処理装置１００は、さらに、画像取得部で取得された画像を複数の解像度に変換する解像度変換部と、テンプレート画像を解像度毎に取得する部と、低解像度画像からテンプレート画像を利用して低解像度画像における暫定位置を特定する部と、各解像度で得られた暫定位置から高解像度での仮位置を設定する部と、低解像度から高解像度へ順次暫定位置を特定することで取得画像における対応位置を決定する部と、高解像度でのテンプレートマッチングで用いるテンプレート画像を、低解像度で得られた相対的なずれ量と同程度になるようにずれた画像領域をテンプレート画像として使用する部とを含む。
【０１７３】
この局面に従う画像処理装置によれば、高解像度の階層画像では回転や倍率の相対的なずれ量が相対的にずれていないテンプレートを使用するので、精度を向上できる。
【０１７４】
画像処理装置は、高解像度でのテンプレートマッチング処理では、低解像度で得られた相対的なずれ量に基づいて、高解像度における画像とテンプレート間の相対的なずれ量を補正後に位置ずれ量のみを算出する。
【０１７５】
この局面に従う画像処理装置によれば、高解像度の階層画像では回転や倍率の相対的なずれ量を求めるための演算を行なわないので、高速処理を実現できる。
【０１７６】
画像処理装置は、低解像度におけるテンプレートマッチング処理において算出される類似度に基づいて、高解像度でのマッチング時に相対的な回転量もしくは相対的な倍率、またはその両方を算出する際の算出範囲を限定する量を制御する。
【０１７７】
この局面に従う画像処理装置によれば、類似度は、相対的な回転量、相対的な倍率、位置ずれ量のいずれか一方を算出する際に得られる類似度である。
【０１７８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７９】
１  システム、２  ベルトコンベア、３  対象物、４  カメラ、５  テンプレート画像、１００  画像処理装置、１０２  ＣＰＵ、１０４  ＲＡＭ、１０６  ＲＯＭ、１０８  ネットワークインターフェイス、１１０  補助記憶装置、１１２  テンプレートマッチング処理プログラム、１１４  テンプレート生成用画像、１２０  表示部、１２２  入力部、１２４  メモリーカードインターフェイス、１２６  メモリーカード、１２８  カメラインターフェイス、１３０  バス、１５０  画像取得部、１５２  多重解像度画像生成部、１５４  テンプレート生成部、１５６  探索制御部、１５８  位置検出部、１６１，１７１  フーリエ変換処理、１６２，１７２  対数化処理、１６３，１７３  極座標変換処理、１６４，１６６  ＰＯＣ処理、１６５  回転量補正処理。
【要約】
画像処理装置は、入力画像に対応する、少なくとも第１の解像度および第１の解像度より高い第２の解像度をそれぞれ有する第１および第２の入力画像を取得し、基準画像に対応する、第１および第２の解像度にそれぞれ対応する解像度を有する第１および第２の基準画像を取得し、第１の入力画像と第１の基準画像との間の探索処理により、第１の入力画像と第１の基準画像との間の回転および／または倍率の相対的なずれ量を算出し、相対的なずれ量に基づく第１の基準画像の補正によって第１の補正基準画像を生成し、第１の入力画像と第１の補正基準画像との間の探索処理により、第１の解像度における対応位置を決定し、第１の解像度における対応位置に相当する第２の入力画像における位置を基準として、相対的なずれ量を利用して第２の入力画像と第２の基準画像との間の探索処理を行なうことによって、第２の解像度における対応位置を決定することを含む。【図１】
0005477518.tif 000002
【図２】
0005477518.tif 000003
【図３】
0005477518.tif 000004
【図４】
0005477518.tif 000005
【図８】
0005477518.tif 000006
【図１０】
0005477518.tif 000007
【図１２】
0005477518.tif 000008
【図１４】
0005477518.tif 000009
【図１５】
0005477518.tif 000010
【図１７】
0005477518.tif 000011
【図５】
0005477518.tif 000012
【図６】
0005477518.tif 000013
【図７】
0005477518.tif 000014
【図９】
0005477518.tif 000015
【図１１】
0005477518.tif 000016
【図１３】
0005477518.tif 000017
【図１６】
0005477518.tif 000018