(57)【要約】【課題】第１の画像と第２の画像との間の回転変動の大きさを考慮して、精度および／または処理速度をより改善した画像処理方法、画像処理装置および画像処理プログラムが要望されている。【解決手段】第１の画像と第２の画像との間の回転変動の大きさを決定する画像処理方法が提供される。画像処理方法は、第１の画像と第２の画像との間の一致度を算出するステップと、第１の画像および第２の画像の少なくとも一方の回転中心からの半径である動径の大きさの別に、一致度の算出に係る有効度を決定するステップとを含む。一致度を算出するステップでは、第１および第２の画像に含まれる画素値および各画素値に対応する有効度に基づいて、一致度を算出する。  好ましくは、有効度を決定するステップでは、動径が大きくなるほど、より大きな値をとるように有効度が決定される。【選択図】図６
2014228940.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像と第２の画像との間の回転変動の大きさを決定する画像処理方法であって、
前記第１の画像と前記第２の画像との間の一致度を算出するステップと、
前記第１の画像および前記第２の画像の少なくとも一方の回転中心からの半径である動径の大きさの別に、前記一致度の算出に係る有効度を決定するステップとを備え、
前記一致度を算出するステップでは、前記第１および第２の画像に含まれる画素値および各画素値に対応する有効度に基づいて、前記一致度を算出する、画像処理方法。
【請求項２】
前記有効度を決定するステップでは、動径が大きくなるほど、より大きな値をとるように前記有効度が決定される、請求項１に記載の画像処理方法。
【請求項３】
前記回転中心に沿った画像の回転に応じた基準径を決定するステップをさらに備え、
前記有効度を決定するステップでは、動径が前記基準径を超えると、より小さな値をとるように前記有効度が決定される、請求項２に記載の画像処理方法。
【請求項４】
前記有効度を決定するステップでは、動径が前記基準径を超える範囲の前記有効度を、当該範囲の画像が一致度の算出に用いられないような値に決定する、請求項３に記載の画像処理方法。
【請求項５】
前記基準径を決定するステップでは、前記第１および第２の画像の少なくとも一方の画像のサイズに基づいて、前記基準径を決定する、請求項３または４に記載の画像処理方法。
【請求項６】
前記基準径を決定するステップでは、前記第１および第２の画像の少なくとも一方の画像に設定可能な内接円の半径を前記基準径として決定する、請求項５に記載の画像処理方法。
【請求項７】
前記基準径を決定するステップでは、前記一致度を算出すべき予め定められた回転変動の範囲にわたって、前記第１および第２の画像の少なくとも一方の画像を回転させたときに生じる重なった画像のサイズに応じて前記基準径を決定する、請求項５に記載の画像処理方法。
【請求項８】
前記基準径を決定するステップでは、画像を構成する画素について、動径の大きさの別に対応する画素の数を算出するとともに、算出された画素の数がより大きくなる動径の大きさを前記基準径として決定する、請求項３または４に記載の画像処理方法。
【請求項９】
前記一致度を算出するステップでは、対応する有効度の値が予め定められた値を下回っている画素については、前記一致度の算出対象から除外する、請求項１〜８のいずれか１項に記載の画像処理方法。
【請求項１０】
前記第１および第２の画像は、極座標画像である、請求項１に記載の画像処理方法。
【請求項１１】
前記回転中心に沿った画像の回転に応じた基準径を決定するステップをさらに備え、
前記第１および第２の画像は、周波数変換により生成された振幅画像であり、
前記基準径を決定するステップでは、周波数分布の中央値に相当する振幅画像上での動径を基準径として設定し、
前記有効度を決定するステップでは、基準径との差が大きいほど、より大きな値をとるように前記有効度が決定される、請求項１に記載の画像処理方法。
【請求項１２】
第１の画像と第２の画像との間の回転変動の大きさを決定する画像処理装置であって、
前記第１の画像と前記第２の画像との間の一致度を算出する算出手段と、
前記第１の画像および前記第２の画像の少なくとも一方の回転中心からの半径である動径の大きさの別に、前記一致度の算出に係る有効度を決定する決定手段とを備え、
前記算出手段は、前記第１および第２の画像に含まれる画素値および各画素値に対応する有効度に基づいて、前記一致度を算出する、画像処理装置。
【請求項１３】
第１の画像と第２の画像との間の回転変動の大きさを決定する画像処理プログラムであって、コンピューターに
前記第１の画像と前記第２の画像との間の一致度を算出するステップと、
前記第１の画像および前記第２の画像の少なくとも一方の回転中心からの半径である動径の大きさの別に、前記一致度の算出に係る有効度を決定するステップとを実行させ、
前記一致度を算出するステップでは、前記第１および第２の画像に含まれる画素値および各画素値に対応する有効度に基づいて、前記一致度を算出する、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テンプレートを用いるテンプレートマッチングに係る画像処理方法、画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
従来から、画像のマッチング処理についての技術が各種提案されてきた。このようなマッチングの一つとして、予めテンプレートを用意しておき、当該テンプレートと対象物の画像との間でマッチングを行なう、テンプレートマッチングが知られている。このようなテンプレートマッチングは、各種の分野に応用されている。
【０００３】
テンプレートマッチングの対象となる物体が予め用意されているテンプレートが想定している方向に対して回転しているような場合などには、処理精度および処理速度が低下する。このような課題を考慮して、各種の方法が提案されている。
【０００４】
例えば、特開２００８−１０７８６０号公報（特許文献１）は、２つ以上の画像の回転、平行移動、およびスケーリングを使用した幾何学的な位置合わせの方法を開示する。具体的には、特許文献１に開示された方法では、画像間の大域的パラメトリック変換（たとえば、視点変換、アフィン変換、または他の変換）は、回転−スケール−平行移動（ＲＳＴ）変換の局所推定のセットから推定される。
【０００５】
特開２００６−２４４３６５号公報（特許文献２）は、画像を用いてバイオメトリクス照合を行なう照合方法を開示する。具体的には、特許文献２に開示された方法では、画像の階調から算術計算で求めた回転不変量を比較量として照合が行なわれる。回転不変量は、極座標変換して求めた行列の値を動径方向に適当な重み付けをして加えた値が採用される。
【０００６】
特開平０８−０５４２２１号公報（特許文献３）は、回転ずれが無い場合に用いる標準テンプレートと、標準テンプレートの中心を回転の中心にして各回転ずれ角度だけ回転して得られた認識対象物の画像に回転ずれがある場合に用いる回転ずれテンプレートとを使用してテンプレートマッチングを行ない、その際に使用する回転ずれテンプレートとして、標準テンプレートの領域からはみ出している部分を、画像の一致度の演算結果に影響を与えない不感帯にしているものを用いる方法を開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１０７８６０号公報
【特許文献２】特開２００６−２４４３６５号公報
【特許文献３】特開平０８−０５４２２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のいずれの先行技術においても、テンプレートマッチングの対象となる物体が回転した場合に生じる影響を十分に考慮したものではなかった。このような状況において、第１の画像と第２の画像との間の回転変動の大きさを考慮して、精度および／または処理速度をより改善した画像処理方法、画像処理装置および画像処理プログラムが要望されている。
【課題を解決するための手段】
【０００９】
本発明のある局面に従えば、第１の画像と第２の画像との間の回転変動の大きさを決定する画像処理方法が提供される。画像処理方法は、第１の画像と第２の画像との間の一致度を算出するステップと、第１の画像および第２の画像の少なくとも一方の回転中心からの半径である動径の大きさの別に、一致度の算出に係る有効度を決定するステップとを含む。一致度を算出するステップでは、第１および第２の画像に含まれる画素値および各画素値に対応する有効度に基づいて、一致度を算出する。
【００１０】
好ましくは、有効度を決定するステップでは、動径が大きくなるほど、より大きな値をとるように有効度が決定される。
【００１１】
さらに好ましくは、画像処理方法は、回転中心に沿った画像の回転に応じた基準径を決定するステップをさらに含む。有効度を決定するステップでは、動径が基準径を超えると、より小さな値をとるように有効度が決定される。
【００１２】
さらに好ましくは、有効度を決定するステップでは、動径が基準径を超える範囲の有効度を、当該範囲の画像が一致度の算出に用いられないような値に決定する。
【００１３】
さらに好ましくは、基準径を決定するステップでは、第１および第２の画像の少なくとも一方の画像のサイズに基づいて、基準径を決定する。
【００１４】
さらに好ましくは、基準径を決定するステップでは、第１および第２の画像の少なくとも一方の画像に設定可能な内接円の半径を基準径として決定する。
【００１５】
あるいは、さらに好ましくは、基準径を決定するステップでは、一致度を算出すべき予め定められた回転変動の範囲にわたって、第１および第２の画像の少なくとも一方の画像を回転させたときに生じる重なった画像のサイズに応じて基準径を決定する。
【００１６】
好ましくは、基準径を決定するステップでは、画像を構成する画素について、動径の大きさの別に対応する画素の数を算出するとともに、算出された画素の数がより大きくなる動径の大きさを基準径として決定する。
【００１７】
好ましくは、一致度を算出するステップでは、対応する有効度の値が予め定められた値を下回っている画素については、一致度の算出対象から除外する。
【００１８】
好ましくは、第１および第２の画像は、極座標画像である。
好ましくは、画像処理方法は、第１の画像および第２の画像の少なくとも一方の回転中心に沿った画像の回転に応じた基準径を決定するステップをさらに含む。第１および第２の画像は、周波数変換により生成された振幅画像である。基準径を決定するステップでは、周波数分布の中央値に相当する振幅画像上での動径を基準径として設定し、有効度を決定するステップでは、基準径との差が大きいほど、より大きな値をとるように有効度が決定される。
【００１９】
本発明の別の局面に従えば、第１の画像と第２の画像との間の回転変動の大きさを決定する画像処理装置が提供される。画像処理装置は、第１の画像と第２の画像との間の一致度を算出する算出手段と、第１の画像および第２の画像の少なくとも一方の回転中心からの半径である動径の大きさの別に、一致度の算出に係る有効度を決定する決定手段とを含む。算出手段は、第１および第２の画像に含まれる画素値および各画素値に対応する有効度に基づいて、一致度を算出する。
【００２０】
本発明の別の局面に従えば、第１の画像と第２の画像との間の回転変動の大きさを決定する画像処理プログラムが提供される。画像処理プログラムは、コンピューターに、第１の画像と第２の画像との間の一致度を算出するステップと、第１の画像および第２の画像の少なくとも一方の回転中心からの半径である動径の大きさの別に、一致度の算出に係る有効度を決定するステップとを実行させる。一致度を算出するステップでは、第１および第２の画像に含まれる画素値および各画素値に対応する有効度に基づいて、一致度を算出する。
【発明の効果】
【００２１】
本発明によれば、第１の画像と第２の画像との間の回転変動の大きさを考慮して、精度および／または処理速度をより改善したマッチング処理を実現できる。
【図面の簡単な説明】
【００２２】
【図１】本実施の形態に従うテンプレートマッチングを実現するための模式図である。
【図２】回転変動を補正するテンプレートマッチングに生じ得る課題を説明するための図である。
【図３】回転変動を補正するテンプレートマッチングにおける動径と情報量との関係を説明するための図である。
【図４】本実施の形態に従うテンプレートマッチングの実装例を示す模式図である。
【図５】本実施の形態に従う画像処理装置をパーソナルコンピューターにより実現した場合の構成を示すブロック図である。
【図６】本実施の形態に係る画像処理方法における極座標画像の生成手順を示す模式図である。
【図７】本実施の形態に従う投影されるサンプル点に応じた重みｗｒの決定方法を説明するための図である。
【図８】本実施の形態に従う基準径に基づく重みｗｒの決定方法を説明するための図である。
【図９】本実施の形態に従う基準径に基づく重みｗｒの決定方法によって算出される重みｗｒのプロファイルの一例を示す図である。
【図１０】本実施の形態に従う想定される回転変動に応じた重みｗｒの決定方法を説明するための図である。
【図１１】本実施の形態に従うエッジ情報を用いた重みｗｒの決定方法を説明するための図である。
【図１２】本実施の形態の変形例に従うテンプレートマッチングの処理を説明するための図である。
【図１３】本実施の形態に従う極座標画像の生成に係る処理手順（その１）を示すフローチャートである。
【図１４】本実施の形態に従う極座標画像の生成に係る処理手順（その２）を示すフローチャートである。
【図１５】本実施の形態に従う極座標画像の生成に係る処理手順（その３）を示すフローチャートである。
【図１６】本実施の形態に従う極座標画像の生成に係る処理手順（その４）を示すフローチャートである。
【発明を実施するための形態】
【００２３】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２４】
［Ａ．テンプレートマッチングの一例］
まず、本実施の形態に従う画像処理方法において実行されるテンプレートマッチングの一例について説明する。本実施の形態に従う画像処理装置は、テンプレートマッチングの対象となる物体の情報を含む参照情報が入力されると、探索対象の基準（テンプレート）となる基準情報との一致度を算出し、参照情報に含まれる基準情報との一致の有無および一致している場所などを特定する。つまり、本実施の形態においては、第１の画像と第２の画像との間の回転変動の大きさを決定する画像処理方法、それを実現する画像処理装置、およびそれを実現する画像処理プログラムについて例示する。
【００２５】
参照情報および基準情報としては、どのようなソースから取得された、どのような情報であってもよいが、説明の便宜上、本実施の形態においては、カメラなどを用いて対象物を撮影して取得される画像（以下、それぞれ「参照画像」および「基準画像」と称す。）であるとする。
【００２６】
図１は、本実施の形態に従うテンプレートマッチングを実現するための模式図である。図１を参照して、画像処理装置１には、テンプレートマッチングの対象として参照画像１０が入力されるとともに、テンプレートとして基準画像２０が入力される。画像処理装置１は、参照画像１０と基準画像２０との間の相対的な回転ずれ（以下、「回転変動」とも称す。）を補正するための処理を実行し、回転変動を補正した上で、参照画像１０と基準画像２０との間の位置ずれ量を決定する。
【００２７】
一例として、画像処理装置１は、回転不変位相限定相関法（ＲＩＰＯＣ法：Rotation Invariant Phase Only Correlation；以下「ＲＩＰＯＣ法」とも称す。）に属するマッチング法を採用する。具体的には、画像処理装置１は、予め取得された基準画像２０と新たに取得した参照画像１０との間の位置ずれ量を決定するシステムに向けられている。
【００２８】
位置ずれ量の算出処理において、参照画像１０（および／または、基準画像２０）に対して回転変動が併せて発生していることも想定されるため、回転変動を補正した上で、位置ずれ量を決定する。このとき、回転変動の算出には、ＲＩＰＯＣ法を用いる。
【００２９】
図１を参照して、画像処理装置１は、その機能構成として、周波数変換部１２，２２と、極座標変換部１６，２６と、第１探索部３０と、回転補正部３２と、第２探索部３４とを含む。
【００３０】
周波数変換部１２，２２は、基準画像および参照画像に対してそれぞれ周波数変換して、周波数空間上の振幅画像をそれぞれ生成する。極座標変換部１６，２６は、基準画像および参照画像についてのそれぞれの振幅画像を極座標変換する。第１探索部３０は、位相相関限定法（ＰＯＣ法：Phase Only Correlation）により、極座標画像間のθ方向の位置ずれ量を検知し、この値を回転変動として決定する。回転補正部３２は、検知された回転変動を用いて参照画像の回転変動を補正する。第２探索部３４は、ＰＯＣ法により、基準画像と補正後の参照画像との間の位置ずれ量を検知する。さらに、第２探索部３４は、検知された位置ずれ量に逆周波数変換することで、基準画像と参照画像との間の位置ずれ量を決定する。各部の具体的な処理は、以下のようになる。
【００３１】
周波数変換部１２，２２の各々は、入力画像に対して周波数変換処理を実行し、入力画像に含まれる周波数空間上の位相成分（位相画像）および振幅成分（振幅画像）を出力する。周波数変換処理としては、典型的には、高速フーリエ変換（ＦＦＴ：Fast Fourier Transform）や離散フーリエ変換（ＤＦＴ：Discrete Fourier Transform）などを用いることができる。
【００３２】
画像処理装置１は、振幅成分（振幅画像）のみを用いて回転変動の補正を行なう。そのため、周波数変換部１２および周波数変換部２２は、参照振幅画像１４および基準振幅画像２４をそれぞれ出力する。
【００３３】
極座標変換部１６，２６の各々は、入力された直交座標系の画像（振幅画像）を極座標系の画像に変換する。極座標系を用いることで、回転変動の探索時にそのマッチング度合い（相関値）をより適切に評価できる。極座標変換部１６および極座標変換部２６は、周波数変換部１２および周波数変換部２２に対して極座標変換をそれぞれ実行することで、参照極座標画像１８および基準極座標画像２８をそれぞれ出力する。
【００３４】
第１探索部３０は、極座標変換部１６と極座標変換部２６との間でマッチング処理を実行し、両者の間の相関値（類似度）が最も高くなる回転変動の大きさを探索する。画像処理装置１において、第１探索部３０は、ＰＯＣ法を用いてマッチング処理を実行する。
【００３５】
具体的には、第１探索部３０は、入力される極座標変換部１６および極座標変換部２６に対して、周波数変換処理を実行し、極座標変換部１６および極座標変換部２６に対応する位相画像をそれぞれ生成するとともに、生成した位相画像間の差を示す位相差画像をさらに生成する。さらに、第１探索部３０は、生成された位相差画像に対して逆周波数変換処理を実行することで、極座標変換部１６と極座標変換部２６との間のずれ量、つまり、参照画像１０と基準画像２０との間の回転変動を出力する。なお、第１探索部３０において、極座標変換部１６と極座標変換部２６との間のずれ量は、周波数空間上の位相差として出力されるので、出力された結果に対して、逆周波数変換処理を実行することで、回転変動量が算出される。すなわち、第１探索部３０は、極座標上での位置ずれ量を決定し、この決定した位置ずれ量を回転変動量に換算する。
【００３６】
このように、画像処理装置１は、第１の画像と第２の画像（参照極座標画像１８および基準極座標画像２８）との間の回転変動の大きさを決定する画像処理方法を実行する。ここで、第１の画像および第２の画像は、典型的には、極座標画像である。そして、第１探索部３０は、第１の画像と第２の画像（参照極座標画像１８と基準極座標画像２８）との間の一致度を算出する。
【００３７】
回転補正部３２は、第１探索部３０によって算出された回転変動量を用いて、参照画像の回転変動を補正する。回転補正部３２は、回転変動の補正によって生成された補正後参照画像４０を第２探索部３４へ出力する。
【００３８】
第２探索部３４は、補正後参照画像４０と基準画像２０との間でマッチング処理を実行し、両者の間の相関値（類似度）が最も高くなる回転変動の大きさを探索する。画像処理装置１において、第２探索部３４は、ＰＯＣ法を用いてマッチング処理を実行する。第２探索部３４に算出される画像間のずれ量は、周波数空間上の位相差として出力されるので、出力された結果に対して、逆周波数変換処理を実行することで、位置ずれ量が算出される。
【００３９】
［Ｂ．課題および解決方法の概要］
次に、上述したような画像処理装置および画像処理方法に生じ得る課題について説明する。
【００４０】
図２は、回転変動を補正するテンプレートマッチングに生じ得る課題を説明するための図である。図２には、第１探索部３０（図１）における参照極座標画像１８と基準極座標画像２８との探索処理を模式的に示す。この探索処理において、回転変動を推定するために、基準極座標画像２８に対する参照極座標画像１８の相対的な回転量が順次変更されるとともに、画像間の一致度が算出される。このような画像の回転に伴って、観測範囲も変化する。図２に示すように、ある回転変動における参照極座標画像（参照極座標画像１８−１）には写っているが、別の回転変動における参照極座標画像（参照極座標画像１８−２）には写っていない領域（非観測範囲）が発生し得る。つまり、図２の着色部に示されるような、参照極座標画像１８の回転に伴う画像間の不一致が生じる。
【００４１】
このような領域の情報を一致度の算出に用いると、マッチング精度に悪影響が生じ得る。そのため、このような領域（非観測範囲）の情報は、可能な限り探索処理に用いる情報としては取り除くことが好ましい。
【００４２】
また、第１の画像および第２の画像（極座標画像）の少なくとも一方の回転中心からの半径（以下「動径」とも称す。）と情報量との関係についても考慮することが好ましい。図３は、回転変動を補正するテンプレートマッチングにおける動径と情報量との関係を説明するための図である。すなわち、図３には、動径に応じたサンプリング点の密度差の例を示す。具体的には、図３（ａ）は、直交座標系の画像（振幅画像）を極座標系の画像に変換した際の、各画素位置の対応関係を示す分布図である。図３（ｂ）は、図３（ａ）に示す極座標系の画像に投影される画素数を動径別に示すヒストグラムである。つまり、図３（ｂ）は、同じ動径をもつサンプル点の個数を示す。なお、図３の動径ｒの単位は、計算上の値である。
【００４３】
図３（ａ）に示すように、直交座標系の画像を極座標系の画像に変換した場合、動径ｒに依存して情報量（サンプル点の密度）が変化することがわかる。特に、図３（ｂ）に示す用に、動径ｒが小さい領域においては、極座標画像の生成に用いられたサンプル点が少ないことがわかる。例えば、図３（ｂ）に示す例では、動径ｒが３以下の領域（低頻度の部分）については、テンプレートマッチングに用いるほどの情報量が存在しないことがわかる。これは、これらの動径が小さい領域の情報は、マッチング精度の向上には寄与せず、ムダな情報になっているといえる。
【００４４】
本願発明者は、回転変動を補正するテンプレートマッチングに生じ得る課題を新たに発見し、この新たに発見した知見に基づいて、以下のような技術思想に想到した。つまり、この新たに発見した課題に対して、マッチングに悪影響を与える情報に対しては、その有効度を他の情報に比較して低くするか、あるいは、それらの情報を用いないといった方法によって、マッチングへの影響を低減する。より具体的には、極座標画像において、マッチングに悪影響を与えると判断された画素の情報量を相対的に小さくすることで、マッチングへの影響を低減し、マッチング精度を向上させる。
【００４５】
このように、マッチングに悪影響を与える情報の有効度を低減することで、マッチングに要する計算コストを低減できる。例えば、マッチングに悪影響を与える情報の有効度を低減する方法として、極座標画像を生成する際に、マッチングに悪影響を与える情報を対象から除外する方法を採用できる。このような方法を採用することで、極座標画像の生成に係る計算コスト、および、その後の探索処理に係る計算コストを小さくできる。
【００４６】
より具体的には、極座標画像のマッチングにおける回転変動の推定の際、マッチングに悪影響を与える情報について、マッチング処理への影響を低減させるように極座標画像を作成することで、マッチング精度を向上させる。さらに、これらの情報を極座標画像の作成対象から除外することで、極座標画像の作成およびマッチングに係る処理コストを低減する。
【００４７】
［Ｃ．実装例および装置構成］
次に、本実施の形態に従う画像処理装置の実装例について説明する。
【００４８】
《ｃ１：実装例》
図４は、本実施の形態に従うテンプレートマッチングの実装例を示す模式図である。図４を参照して、本実施の形態に従うシステム２は、一例として、ベルトコンベア６を含む生産ラインに適用される。このシステム２において、対象物３（ワーク）はベルトコンベア６上を連続的に搬送されるとともに、対象物３をカメラ４により撮影することで、対象物３の外観を含む画像（参照画像１０）が取得される。
【００４９】
参照画像１０は、画像処理装置１へ伝送される。画像処理装置１は、予め取得された基準画像２０に基づいて、参照画像１０に含まれる対象物３のテンプレートマッチングを実行する。
【００５０】
《ｃ２：パーソナルコンピューターによる実現例》
図５は、本実施の形態に従う画像処理装置１をパーソナルコンピューターにより実現した場合の構成を示すブロック図である。図５を参照して、パーソナルコンピューターにより実現される画像処理装置１は、主として、汎用的なアーキテクチャーを有するコンピューター上に実装される。
【００５１】
具体的には、画像処理装置１は、主たるコンポーネントとして、ＣＰＵ（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）などの記録媒体に格納されて流通し、あるいは、ネットワークを介してサーバー装置などから配信される。テンプレートマッチングプログラム１１２は、画像処理装置１（パーソナルコンピューター）で実行されるオペレーティングシステムの一部として提供されるプログラムモジュールのうち必要なモジュールを、所定のタイミングおよび順序で呼出して処理を実現するようにしてもよい。この場合、テンプレートマッチングプログラム１１２自体には、オペレーティングシステムによって提供されるモジュールは含まれず、オペレーティングシステムと協働して画像処理が実現される。また、テンプレートマッチングプログラム１１２は、単体のプログラムではなく、何らかのプログラムの一部に組込まれて提供されてもよい。このような場合にも、プログラム自体には、他のプログラムと共通に利用されるようなモジュールは含まれず、当該他のプログラムと協働して画像処理が実現される。このような一部のモジュールを含まない形態であっても、本実施の形態に従う画像処理装置１の趣旨を逸脱するものではない。
【００６０】
さらに、テンプレートマッチングプログラム１１２によって提供される機能の一部または全部を専用のハードウェアによって実現してもよい。
【００６１】
《ｃ３：その他の構成による実現例》
上述したパーソナルコンピューターにより実現する例に加えて、例えば、デジタルカメラ、携帯電話、あるいはスマートフォン上に実装してもよい。さらに、少なくとも１つのサーバー装置が本実施の形態に従う処理を実現する、いわゆるクラウドサービスのような形態であってもよい。この場合、ユーザーは、自身の端末（パーソナルコンピューターやスマートフォンなど）を用いて、少なくとも２つの処理対象画像をサーバー装置（クラウド側）へ送信し、当該送信された処理対象画像に対して、サーバー装置側が本実施の形態に従う画像処理を行なうような構成が想定される。さらに、サーバー装置側がすべての機能（処理）を行なう必要はなく、ユーザー側の端末とサーバー装置とが協働して、本実施の形態に従う画像処理を実現するようにしてもよい。
【００６２】
［Ｄ．極座標画像の生成処理］
本実施の形態に従う画像処理方法では、マッチングに悪影響を与える情報の有効度を低減する方法の一例として、信頼度を考慮して極座標画像を生成する。この信頼度としては、後述するような重みを用いる。以下、本実施の形態に従う画像処理方法における極座標画像の生成処理について説明する。
【００６３】
図６は、本実施の形態に係る画像処理方法における極座標画像の生成手順を示す模式図である。図６には、極座標変換部１６が参照振幅画像１４から参照極座標画像１８を生成する処理、および、極座標変換部２６が基準振幅画像２４から基準極座標画像２８を生成する処理を示す。説明の簡略化のため、参照振幅画像１４および基準振幅画像２４を、単に「振幅画像」と記す。また、参照極座標画像１８および基準極座標画像２８を、単に「極座標画像」と記す。
【００６４】
図６を参照して、振幅画像のサイズ（幅Ｗ×高さＨ）、および、入力された振幅画像を極座標変換して生成される極座標画像のサイズ（Ｒ×２Θ）（但し、０≦ｒ≦Ｒ，−Θ≦θ≦Θ）は、予め設定されているものとする。
【００６５】
生成すべき極座標画像の極座標上の注目画素（位置（ｒ，θ））を設定し、この注目画素の動径ｒに対応する重みｗｒを決定する（（１）重み決定）。本実施の形態においては、信頼度（有効度）を示す重みとして、動径ｒの大きさに依存した値を決定する。言い換えれば、動径ｒの値が同じであれば、回転方向（θ方向）の大きさにかかわらず、同一の重みｗｒを用いる。
【００６６】
次に、注目画素に対応する振幅画像上の位置を特定し、当該対応する位置の画素値が決定される。（（２）対応位置特定＋画素値決定）。より具体的には、極座標上の注目画素の位置（ｒ，θ）に対応する、振幅画像上の位置（ｕ，ｖ）が算出され、当該対応位置（ｕ，ｖ）についての画素値が決定される。一般的には、極座標上の画素位置と振幅画像上（直交座標上）の画素位置とは一対一に対応しないので、任意の方法で補間して代表値を算出することが好ましい。例えば、振幅画像上の対応位置（ｕ，ｖ）の近傍にある複数の画素の画素値を用いて、画素値を決定してもよい。具体的には、振幅画像上の対応位置（ｕ，ｖ）の近傍にある４つの画素値に基づいて補間演算を行なうなどして、当該対応位置の画素値が算出される。
【００６７】
そして、決定された対応位置の画素値と、対応する重みｗｒとを用いて、極座標上の注目画素の位置（ｒ，θ）における画素値が算出される（（３）画素値，重み）。なお、決定された対応位置の画素値と、対応する重みｗｒとを独立に保持していてもよいし、重みｗｒを先に反映しておいてもよい。
【００６８】
重みｗｒの反映方法としては、振幅画像における画素値に重みｗｒを乗じて得られる値を注目画素の画素値として決定してもよい。但し、これに限られることなく、重みを反映して、極座標上の各画素の画素値を算出できれば、どのような方法を用いてもよい。例えば、振幅画像における画素値に対して対応する重みに応じた値を加算するような方法や、振幅画像における画素値を対応する重みのべき乗から極座標上の画素値を決定するような方法を採用してもよい。
【００６９】
極座標画像を構成するすべての画素について、このような一連の処理によって画素値を決定することで、目的の極座標画像を生成できる。生成された極座標画像においては、重みｗｒの値が大きい領域ほど、それに含まれる画素値の値が大きくなるので、探索処理における有効度がより高くなる。一方、重みｗｒの値が小さい領域については、その画素値の値が小さくなるので、一致度の算出において、その画素値があまり重視されなくなる。
【００７０】
本実施の形態に従う画像処理装置１は、回転中心からの半径である動径の大きさの別に、一致度の算出に係る有効度（重み）を決定する。そして、画像処理装置１は、第１および第２の画像（参照画像１０および基準画像２０）に含まれる画素値および各画素値に対応する有効度に基づいて、一致度を算出する。
【００７１】
このように、動径ｒの値に応じて重みを変化させることで、重視すべき領域とそうでない領域とを区別することができ、これによって、マッチング精度を高めることができる。
【００７２】
［Ｅ．有効度の決定方法］
次に、上述の極座標画像の生成処理において用いられる有効度の決定方法について説明する。この有効度としては、動径ｒについての重みｗｒとして具現化され、この重みｗｒの決定方法としては、様々な方法を用いることができるが、典型的には、以下のいずれかの方法を用いることができる。
【００７３】
《ｅ１：投影されるサンプル点に応じた重みｗｒの決定方法》
上述したように、情報量の多い領域、つまり極座標系の画像に変換したときのサンプル点がより多い領域に対して、より大きな重みｗｒを設定することが好ましい。そこで、直交座標系から極座標系への変換処理において投影されるサンプル点の数を動径の別に算出し、算出されたサンプル点がより多い領域（動径ｒ）に対して、より大きな重みを設定する方法について例示する。
【００７４】
図７は、本実施の形態に従う投影されるサンプル点に応じた重みｗｒの決定方法を説明するための図である。図７（ａ）は、振幅画像に設定される回転中心Ｏから所定距離の範囲に含まれる画素数をカウントするための処理を説明する図であり、図７（ｂ）は、投影される画素数を動径別に示すヒストグラムである。
【００７５】
まず、図７（ａ）に示すように、振幅画像（幅Ｗ×高さＨ）に回転中心Ｏを設定するとともに、階級間隔ｄの階級ｎ（０≦ｎ≦Ｎ：整数）の各々について、極座標画像に投影される画素数をカウントする。すなわち、振幅画像の各画素（ｕ，ｖ）について、いずれの動径範囲内（ｎ±１／２）ｄに含まれるのかを判定し、各動径範囲についてそのカウントを決定する。より具体的には、以下の（１）式に示すような、投影される画素数をカウントするための関数Ｃ（ｕ，ｖ，ｄｍｉｎ，ｄｍａｘ）を用いて、以下の（２）式に従って、振幅画像から極座標画像へ投影される画素数Ｓｎを階級ｎ毎に決定する。
【００７６】
【数１】
2014228940.tif 000003
【００７７】
（２）式は、（１）式を用いて投影される画素数をカウントするための関数である。但し、Ｎは階級数であり、予め定められている。階級間隔ｄは、（２）式に示すように、階級数Ｎおよび振幅画像のサイズ（幅Ｗおよび高さＨ）に依存して決定される。
【００７８】
次に、動径ｒに対応する重みｗｒを決定する。動径ｒに対応する階級ｎをｎｒとすると、（３）式のように示すことができる。
【００７９】
【数２】
2014228940.tif 000004
【００８０】
（２）式に従って、それぞれの階級ｎｒについての画素数Ｓｎｒを決定する。算出されたそれぞれの階級ｎｒについての画素数Ｓｎｒを用いて、以下の（４）式に従って、動径ｒに対応する重みｗｒを決定する。
【００８１】
【数３】
2014228940.tif 000005
【００８２】
上述の（４）式では、極座標径へ投影される画素数（サンプル点）がより多い領域に対して、より大きな重みｗｒを設定することができる。具体的には、重みｗｒは、図７（ｂ）に示すヒストグラムと類似の分布を有することになる。つまり、動径が大きくなるほど、より大きな値をとるように有効度（重みｗｒ）が決定される。
【００８３】
言い換えれば、画像を構成する画素について、動径の大きさの別に対応する画素の数を算出するとともに、算出された画素の数がより大きくなる（典型的には、最大値をとる）動径の大きさを基準径Ｒｂとして決定することが好ましい。
【００８４】
このような方法を採用することで、極座標画像へ変換したときに、より多くの情報を有することになる動径範囲に対する重みｗｒをより大きくすることができる。
【００８５】
《ｅ２：基準径に基づく重みｗｒの決定方法》
図２を参照して説明したように、本実施の形態に従う画像処理方法では、画像の回転に伴って画像間の不一致が生じることを回避するものである。このような画像の回転を考慮すると、画像の回転中心からの半径（動径）について、許容できる範囲（以下、「基準径」とも称す。）を設定することができる。この基準径は、テンプレートマッチング対象の画像が回転したとしても、画像の不一致が生じない限界値（使用限界）に相当する。
【００８６】
そこで、画像に基準径を設定するとともに、動径が設定された基準径以内である領域については、重みをより大きく設定するとともに、動径が基準径を超えた領域については、重みをより小さく設定することで、より適切な探索処理を実現できる。すなわち、本決定方法においては、対象の振幅画像に対して基準径を設定する手段が採用されるとともに、動径が基準径を超える領域については、その重みをより小さくする。言い換えれば、回転中心に沿った画像の回転に応じた基準径が決定される。これによって、対象の振幅画像を回転させた場合に、その回転変動によって互いに重複しない可能性のある領域の重みをより小さくでき、マッチング精度を向上できる。
【００８７】
図８は、本実施の形態に従う基準径に基づく重みｗｒの決定方法を説明するための図である。図８を参照して、本決定方法においては、対象の振幅画像のサイズ（幅Ｗ×高さＨ）に基づいて、以下の（５）式に従って基準径Ｒｂを決定する。
【００８８】
【数４】
2014228940.tif 000006
【００８９】
（５）式に従って決定される基準径Ｒｂは、対象の振幅画像に内接する内接円２０２の半径に相当する。すなわち、対象の振幅画像の幅方向および高さ方向の長さのうち、より短い方の長さの半分を半径とする。このように、本決定方法においては、対象の振幅画像に対する内接円２０２の半径を基準径Ｒｂとして採用する。
【００９０】
すなわち、本決定方法においては、第１および第２の画像（参照画像１０および基準画像２０）の少なくとも一方の画像のサイズに基づいて、基準径Ｒｂが決定される。この基準径Ｒｂの決定においては、典型的には、第１および第２の画像（参照画像１０および基準画像２０）の少なくとも一方の画像に設定可能な内接円の半径を基準径Ｒｂとして決定することができる。
【００９１】
上述したように、その動径が基準径を超えた領域に含まれる画素は、振幅画像（基準振幅画像２４または参照振幅画像１４）に対して回転変動を与えたときに、振幅画像の間で共通に写らないことがあり得る。そこで、以下の（６）式に従って、動径ｒに対応する重みｗｒを決定する。
【００９２】
【数５】
2014228940.tif 000007
【００９３】
（６）式に従って算出される重みｗｒは、動径ｒが基準径Ｒｂを超えている領域の画素に対してはゼロとなり、マッチングへの影響を低減できる。すなわち、振幅画像に含まれる領域のうち、その回転変動によって互いに重複しない可能性のある領域についてのマッチングへの影響を低減できる。
【００９４】
なお、（６）式に従って算出される重みｗｒは、動径ｒが基準径Ｒｂを超えている場合に一律にゼロとされるが、動径ｒが基準径Ｒｂを超えると、重みｗｒの値が徐々に小さくなるようにしてもよい。例えば、以下の（６’）式に従って、動径ｒに対応する重みｗｒを決定してもよい。
【００９５】
【数６】
2014228940.tif 000008
【００９６】
図９は、本実施の形態に従う基準径に基づく重みｗｒの決定方法によって算出される重みｗｒのプロファイルの一例を示す図である。図９（ａ）には、（６）式に従って算出される重みｗｒのプロファイルの一例を示し、図９（ｂ）には、（７）式に従って算出される重みｗｒのプロファイルの一例を示す。
【００９７】
図９（ａ）および図９（ｂ）に示すいずれの例においても、動径ｒが基準径Ｒｂと一致する領域に含まれる画素に対する重みｗｒが最も大きくなるように算出される。そして、動径ｒが基準径Ｒｂを超えると、重みｗｒは急激または徐々に低減する。つまり、動径が大きくなるほど、より大きな値をとるように有効度（重みｗｒ）が決定される。さらに、動径が基準径を超えると、より小さな値をとるように有効度（重みｗｒ）が決定されてもよい。さらに、図９（ｂ）に示すように、動径が基準径を超える範囲の有効度（重みｗｒ）を、当該範囲の画像が一致度の算出に用いられないような値（ここでは、ゼロ）に決定してもよい。
【００９８】
《ｅ３：想定される回転変動に応じた重みｗｒの決定方法》
上述の基準径に基づく重みｗｒの決定方法においては、振幅画像に対する回転変動の大きさにかかわらずマッチングへの影響を低減できるように重みｗｒを決定した。但し、振幅画像に対して与えられる回転変動の大きさが予め設定されている場合や、予め想定できる場合には、その回転変動の大きさに応じて、重みｗｒを決定するようにしてもよい。
【００９９】
図１０は、本実施の形態に従う想定される回転変動に応じた重みｗｒの決定方法を説明するための図である。図１０を参照して、参照極座標画像１８に与えられる回転変動の最大値がζであると予め設定されているとする。このような場合には、基準位置（回転変動が与えられていない状況）での参照振幅画像（参照極座標画像１８−１）の画像範囲と、角度ζの回転変動が与えられた参照振幅画像（参照極座標画像１８−２）の画像範囲との間の共通領域２０４（図１０においてハッチングされた範囲）を考慮して、動径ｒに対応する重みｗｒを決定することが好ましい。
【０１００】
より具体的には、共通領域２０４に外接する外接円２０６を設定し、その外接円２０６の半径を基準径Ｒｂとして決定してもよい。図１０に示す例においては、参照振幅画像が回転によって描く範囲に内接する内接円２０８の半径以上であって、外接円２０６の半径以下である半径を基準径Ｒｂとして決定してもよい。
【０１０１】
すなわち、本決定方法においては、一致度を算出すべき予め定められた回転変動の範囲にわたって、第１および第２の画像（参照画像１０および基準画像２０）の少なくとも一方の画像を回転させたときに生じる重なった画像（共通領域２０４）のサイズに応じて基準径を決定する。
【０１０２】
このような基準径Ｒｂを用いることで、予め想定されている回転変動が発生しても、重複する可能性の高い範囲をマッチングに用いる領域として設定できる。そのため、内接円２０８の半径をマッチングに用いる領域として設定するよりも、より多くの情報量を用いることができるため、マッチング精度を向上させることができる。
【０１０３】
《ｅ４：周波数成分に応じた重みｗｒの決定方法》
上述したように、極座標変換の対象となる参照振幅画像１４および基準振幅画像２４は、周波数空間上の振幅画像である。一般に、周波数空間画像において、高周波数成分は、ショットノイズの挙動を表すことが多く、低周波数成分は、照明ムラなどの挙動を表すことが多い。そこで、被写体の情報をより多く含むと考えられる中周波数帯域に対する重みｗｒをより大きくすることが好ましい。
【０１０４】
一例として、まず、対象の振幅画像のサイズ（幅Ｗ×高さＨ）に基づいて、以下の（７）式に従って基準径Ｒｂを決定する。このように決定される基準径Ｒｂは、対象の振幅画像における周波数帯域のほぼ中央（すなわち、中周波数帯域）に相当する。そして、中周波数帯域から離れるほど、その値が小さくなるように、動径ｒに対応する重みｗｒが決定される。一例として、以下の（８）式に従って、重みｗｒを決定する。
【０１０５】
【数７】
2014228940.tif 000009
【０１０６】
このような方法によって、重みｗｒを決定することで、その回転変動によって互いに重複しない可能性のある領域についてのマッチングへの影響を低減できるとともに、ノイズ成分の影響も低減できる。
【０１０７】
つまり、本決定方法においては、回転中心に沿った画像の回転に応じた基準径が決定される。このとき、周波数変換により生成された振幅画像を第１および第２の画像とし、周波数分布の中央値に相当する振幅画像上での動径が基準径Ｒｂとして設定される。そして、基準径Ｒｂとの差が大きいほど、より大きな値をとるように有効度（重みｗｒ）が決定される。
【０１０８】
なお、被写体の撮影環境に依存してノイズ成分などが影響を与える可能性もある。このような場合には、被写体を複数回撮影して基準径Ｒｂを決定してもよい。より具体的には、基準画像を生成する際に、基準となる対象物（被写体）を複数回撮影するとともに、それぞれの撮影によって取得された画像を周波数変換して複数の周波数空間画像を生成する。そして、これらの複数の周波数空間画像のうち、振幅成分が安定している周波数帯域を特定し、当該特定した周波数帯域に相当する動径を基準径Ｒｂとして決定してもよい。
【０１０９】
このように基準径Ｒｂを決定した後、上述したいずれかの方法に従って、動径ｒに対応する重みｗｒを決定できる。このような方法によって基準径Ｒｂを決定することで、各種のノイズの影響を周波数空間において分離して排除できる。
【０１１０】
《ｅ５：窓関数を用いた重みｗｒの決定方法》
上述の（７）式および（８）式に従って、高周波数成分および低周波数成分のノイズを低減した重みｗｒを決定する方法について例示したが、このような方法に代えて、窓関数を用いて重みｗｒを決定してもよい。
【０１１１】
例えば、以下の（８’）式に従って、動径ｒに対応する重みｗｒを決定してもよい。
【０１１２】
【数８】
2014228940.tif 000010
【０１１３】
このような方法で重みｗｒを決定することで、極座標画像の動径方向の両端が同一の値をもつようになり、動径方向についての連続性を維持できる。このような連続性を有する重みｗｒを用いることで、不連続な重みｗｒを用いることで生じ得る偽の周波数成分の発生などを回避できる。これによって、後段の第２探索部３４において実行されるＰＯＣ法を用いた探索処理の精度を高めることができる。
【０１１４】
《ｅ６：エッジ情報を用いた重みｗｒの決定方法》
テンプレートマッチングに用いる画像内の特徴的な情報として、エッジ情報が想定される。このようなエッジ情報を有効に利用できるように、基準径Ｒｂを決定する方法について説明する。
【０１１５】
図１１は、本実施の形態に従うエッジ情報を用いた重みｗｒの決定方法を説明するための図である。まず、図１１（ａ）に示すような、対象物を撮影して取得された基準画像２０に対して接線方向（符号２１０）の微分フィルタを適用し、図１１（ｂ）に示すような、基準画像２０の微分画像２１を生成する。この接線方向の微分フィルタは、放射方向に延びるエッジを検出するためのエッジ抽出フィルタである。つまり、極座標変換によって動径方向に特徴量を生じ得るエッジ成分を抽出する。微分画像２１を極座標変換すると、図１１（ｃ）に示すようなエッジ極座標画像２５が生成される。エッジ極座標画像２５に対して、動径毎に画素値の微分値を累積加算し、累積加算した微分値が大きい（典型的には、最大値となる）動径を基準径Ｒｂとして決定する。
【０１１６】
このような方法によって基準径Ｒｂを決定することで、画像内により多くの特徴量（エッジ情報）が存在する動径の範囲を特定することができる。基準径Ｒｂが決定されると、上述のいずれかの方法に従って重みｗｒを決定することができる。このように決定される重みｗｒを用いて、回転変動の検知に有用な情報をより多く含むように、極座標画像を生成することができる。これによって、マッチング精度を向上させることができる。
【０１１７】
《ｅ７：基準画像／参照画像をそのまま用いたマッチング法》
上述の説明においては、極座標画像（参照極座標画像１８および基準極座標画像２８）同士で一致度を決定する処理例について説明した。しかしながら、極座標画像を用いることなく、入力された画像（参照画像１０と基準画像２０）をそのまま用いて一致度を決定することもできる。
【０１１８】
図１２は、本実施の形態の変形例に従うテンプレートマッチングの処理を説明するための図である。例えば、図１２（ａ）に示すような基準画像２０（または、参照画像１０）に対して、図１２（ｂ）に示すように動径を定義する回転中心Ｏを設定し、回転中心Ｏからの半径（動径）に応じて算出される重みを決定する。そして、決定された重みを基準画像２０（または、参照画像１０）の画素値に直接的に反映し、図１２（ｃ）に示すような重み反映の基準画像２０Ａを生成する。
【０１１９】
このように、動径に応じて算出される重みを基準画像２０（または、参照画像１０）に直接反映した画像を生成し、この生成された画像を用いてマッチングを行なってもよい。
【０１２０】
このような処理手順を採用することで、極座標画像への変換および極座標画像での重みの算出といった処理を省略することができる。
【０１２１】
《ｅ８：ＰＯＣ法以外のマッチング方法の利用》
上述の実施の形態においては、第１探索部３０（図１）がＰＯＣ法を用いて極座標画像間のθ方向の位置ずれ量を検知する方法を例示した。このＰＯＣ法を用いる場合には、上述したような重みｗｒを比較的簡素な処理によって反映した上で、一致度を算出できる。但し、このようなＰＯＣ法に限られず、他のマッチング手法を採用することもできる。例えば、マッチング手法としてＳＡＤ（Sum of Absolute Difference）法を用いることもできる。
【０１２２】
ＳＡＤ法を用いる場合には、極座標画像である参照極座標画像１８と基準極座標画像２８との間でＳＡＤ値を算出し、その算出されたＳＡＤ値が最小となる回転変動を参照画像１０と基準画像２０との間の回転ずれ量として決定できる。このようなＳＡＤ値が最小となる回転変動を探索する場合、画素間の差分値に対して対応する重みｗｒを乗じた上で、すべての画素について累積した値をＳＡＤ値とすることができる。
【０１２３】
このような手順でＳＡＤ値を決定することで、参照画像１０および基準画像２０のうち有効な情報を用いてテンプレートマッチングを実現することができる。
【０１２４】
《ｅ９：しきい値処理》
上述した処理例では、有効度（重みｗｒ）がゼロの場合には、対応する画素の情報は極座標画像の生成に用いられない。これに代えて、有効度（重みｗｒ）が予め定められたしきい値未満である場合には、対応する画素の情報を極座標画像の生成に用いないようにしてもよい。すなわち、対応する有効度の値が予め定められた値を下回っている画素については、一致度の算出対象から除外してもよい。このような処理を採用することで、極座標画像の作成およびマッチングに係る処理コストを低減できる。
【０１２５】
《ｅ１０：各種変形例》
重みｗｒおよび基準径Ｒｂの決定方法について典型的なものを説明したが、これらの方法は互いに矛盾しない限りにおいて、認定に組み合わせることができる。
【０１２６】
［Ｆ．極座標画像の作成に係る処理手順］
上述のような極座標画像の作成に係る処理手順のいくつかの例について説明する。
【０１２７】
《ｆ１：処理手順（その１）》
図１３は、本実施の形態に従う極座標画像の生成に係る処理手順（その１）を示すフローチャートである。図１３に示す各ステップは、ＣＰＵ１０２がプログラムを実行することで実現される。なお、図１３には、極座標変換部１６および極座標変換部２６によってそれぞれ極座標画像を生成する処理手順を示すが、両方の極座標変換部の処理が実質的に同一であるので、一方の極座標変換部の処理を典型的に示す。但し、算出される重みｗｒについては、参照極座標画像１８および基準極座標画像２８の両方に共通的に使用できるので、一方の極座標変換部で算出された重みについては、他方の極座標変換部においても使用できる。以下、説明する他の処理手順についても同様である。
【０１２８】
図１３を参照して、ＣＰＵ１０２は、極座標画像を生成するための振幅画像の入力を受付ける（ステップＳ１００）。続いて、ＣＰＵ１０２は、生成すべき極座標画像の極座標上の注目位置（ｒ，θ）を設定する（ステップＳ１０２）。続いて、ＣＰＵ１０２は、設定された極座標上の注目位置に対応する重みｗｒを決定する（ステップＳ１０４）。
【０１２９】
その後、ＣＰＵ１０２は、設定された極座標上の注目位置に対応する振幅画像上の位置（ｕ，ｖ）を決定し（ステップＳ１０６）、当該決定された振幅画像上の位置（ｕ，ｖ）についての画素値を決定する（ステップＳ１０８）。この振幅画像上の位置（ｕ，ｖ）についての画素値を決定する際には、隣接する画素の画素値からの補間処理が用いられてもよい。そして、ＣＰＵ１０２は、ステップＳ１０８において決定した画素値に、ステップＳ１０４において決定した重みｗｒを反映する（ステップＳ１１０）。
【０１３０】
最終的に、ＣＰＵ１０２は、重みｗｒを反映後の画素値を、設定された極座標上の注目位置に対応する画素値として出力する（ステップＳ１１２）。
【０１３１】
ＣＰＵ１０２は、生成すべき極座標画像の極座標上のすべての位置を注目位置（ｒ，θ）として設定済であるか否かを判断する（ステップＳ１１４）。生成すべき極座標画像の極座標上のいずれかの位置が注目位置（ｒ，θ）として設定されていなければ（ステップＳ１１４においてＮＯ）、ＣＰＵ１０２は、生成すべき極座標画像の極座標上に新たな注目位置（ｒ，θ）を設定する（ステップＳ１１６）。そして、ステップＳ１０４以下の処理を繰り返し実行する。
【０１３２】
生成すべき極座標画像の極座標上のすべての位置が注目位置（ｒ，θ）として設定済であれば（ステップＳ１１４においてＹＥＳ）、ＣＰＵ１０２は、決定された画素値からなる画像を最終的な極座標画像として出力する（ステップＳ１１８）。以上によって、極座標画像の生成に係る処理は終了する。
【０１３３】
なお、上述の処理例においては、重みを反映した画素値を出力する例を示したが、極座標画像上の（反映前の）画素値と重みとをそれぞれ独立して出力するようにしてもよい。
【０１３４】
《ｆ２：処理手順（その２）》
上述の処理手順（その１）においては、極座標画像への変換処理の実行中に重みを逐一決定する処理例を示したが、重みを予め決定しておき、この予め決定しておいた重みを参照しつつ、極座標画像を決定するようにしてもよい。
【０１３５】
図１４は、本実施の形態に従う極座標画像の生成に係る処理手順（その２）を示すフローチャートである。図１４に示す各ステップは、ＣＰＵ１０２がプログラムを実行することで実現される。
【０１３６】
図１４を参照して、ＣＰＵ１０２は、生成すべき極座標画像についての動径ｒの初期値を設定し（ステップＳ２００）、設定した動径ｒについての重みｗｒを決定する（ステップＳ２０２）。続いて、ＣＰＵ１０２は、生成すべき極座標画像についての動径ｒが最大値まで設定済であるか否かを判断する（ステップＳ２０４）。生成すべき極座標画像についての動径ｒが最大値まで設定済でなければ（ステップＳ２０４においてＮＯ）、ＣＰＵ１０２は、生成すべき極座標画像についての動径ｒを次の値に設定し（ステップＳ２０６）、ステップＳ２０２以下の処理を繰り返し実行する。
【０１３７】
これに対して、生成すべき極座標画像についての動径ｒが最大値まで設定済であれば（ステップＳ２０４においてＹＥＳ）、ＣＰＵ１０２は、決定した動径ｒについても重みｗｒの組を格納する（ステップＳ２０８）。そして、ステップＳ２１０以下の処理が実行される。
【０１３８】
すなわち、ＣＰＵ１０２は、極座標画像を生成するための振幅画像の入力を受付ける（ステップＳ２１０）。続いて、ＣＰＵ１０２は、生成すべき極座標画像の極座標上の注目位置（ｒ，θ）を設定する（ステップＳ２１２）。続いて、ＣＰＵ１０２は、ステップＳ２０８において格納された動径ｒについての重みｗｒの組を参照して、設定された極座標上の注目位置に対応する重みｗｒを決定する（ステップＳ２１４）。
【０１３９】
その後、ＣＰＵ１０２は、設定された極座標上の注目位置に対応する振幅画像上の位置（ｕ，ｖ）を決定し（ステップＳ２１６）、当該決定された振幅画像上の位置（ｕ，ｖ）についての画素値を決定する（ステップＳ２１８）。この振幅画像上の位置（ｕ，ｖ）についての画素値を決定する際には、隣接する画素の画素値からの補間処理が用いられてもよい。そして、ＣＰＵ１０２は、ステップＳ２１８において決定した画素値に、ステップＳ２１４において決定した重みｗｒを反映する（ステップＳ２２０）。
【０１４０】
最終的に、ＣＰＵ１０２は、重みｗｒを反映後の画素値を、設定された極座標上の注目位置に対応する画素値として出力する（ステップＳ２２２）。
【０１４１】
ＣＰＵ１０２は、生成すべき極座標画像の極座標上のすべての位置を注目位置（ｒ，θ）として設定済であるか否かを判断する（ステップＳ２２４）。生成すべき極座標画像の極座標上のいずれかの位置が注目位置（ｒ，θ）として設定されていなければ（ステップＳ２２４においてＮＯ）、ＣＰＵ１０２は、生成すべき極座標画像の極座標上に新たな注目位置（ｒ，θ）を設定する（ステップＳ２２６）。そして、ステップＳ２１４以下の処理を繰り返し実行する。
【０１４２】
生成すべき極座標画像の極座標上のすべての位置が注目位置（ｒ，θ）として設定済であれば（ステップＳ２２４においてＹＥＳ）、ＣＰＵ１０２は、決定された画素値からなる画像を最終的な極座標画像として出力する（ステップＳ２２８）。以上によって、極座標画像の生成に係る処理は終了する。
【０１４３】
《ｆ３：処理手順（その３）》
上述の処理手順（その１）においては、極座標画像の画素値の決定と対応する重みの決定とを併せて実行する処理例を示したたが、これらの処理を別々に行ってもよい。すなわち、重みの反映を行わず、先に極座標画像を生成し、その後、重みを反映するようにしてもよい。
【０１４４】
図１５は、本実施の形態に従う極座標画像の生成に係る処理手順（その３）を示すフローチャートである。図１５に示す各ステップは、ＣＰＵ１０２がプログラムを実行することで実現される。
【０１４５】
図１５を参照して、ＣＰＵ１０２は、極座標画像を生成するための振幅画像の入力を受付ける（ステップＳ３００）。続いて、ＣＰＵ１０２は、生成すべき極座標画像の極座標上の注目位置（ｒ，θ）を設定する（ステップＳ３０２）。ＣＰＵ１０２は、設定された極座標上の注目位置に対応する振幅画像上の位置（ｕ，ｖ）を決定し（ステップＳ３０４）、当該決定された振幅画像上の位置（ｕ，ｖ）についての画素値を決定する（ステップＳ３０６）。この振幅画像上の位置（ｕ，ｖ）についての画素値を決定する際には、隣接する画素の画素値からの補間処理が用いられてもよい。
【０１４６】
ＣＰＵ１０２は、生成すべき極座標画像の極座標上のすべての位置を注目位置（ｒ，θ）として設定済であるか否かを判断する（ステップＳ３０８）。生成すべき極座標画像の極座標上のいずれかの位置が注目位置（ｒ，θ）として設定されていなければ（ステップＳ３０８においてＮＯ）、ＣＰＵ１０２は、生成すべき極座標画像の極座標上に新たな注目位置（ｒ，θ）を設定する（ステップＳ３１０）。そして、ステップＳ３０４以下の処理を繰り返し実行する。
【０１４７】
生成すべき極座標画像の極座標上のすべての位置が注目位置（ｒ，θ）として設定済であれば（ステップＳ３０８においてＹＥＳ）、ＣＰＵ１０２は、決定された画素値からなる画像を、重みを反映していない極座標画像として一旦出力する（ステップＳ３１２）。
【０１４８】
続いて、ＣＰＵ１０２は、極座標画像の極座標上の注目位置（ｒ，θ）を設定し（ステップＳ３１４）、設定された極座標上の注目位置に対応する重みｗｒを決定する（ステップＳ３１６）。そして、ＣＰＵ１０２は、極座標画像の極座標上の注目位置の画素値を、重みを反映していない極座標画像から取得し（ステップＳ３１８）、当該取得した画素値に、ステップＳ３１６において決定した重みｗｒを反映する（ステップＳ３２０）。すなわち、ステップＳ３１２において出力された極座標画像の画素値が修正される。最終的に、ＣＰＵ１０２は、重みｗｒを反映後の画素値を、設定された極座標上の注目位置に対応する修正後の画素値として出力する（ステップＳ３２２）。
【０１４９】
ＣＰＵ１０２は、生成すべき極座標画像の極座標上のすべての位置を注目位置（ｒ，θ）として設定済であるか否かを判断する（ステップＳ３２４）。生成すべき極座標画像の極座標上のいずれかの位置が注目位置（ｒ，θ）として設定されていなければ（ステップＳ３２４においてＮＯ）、ＣＰＵ１０２は、生成すべき極座標画像の極座標上に新たな注目位置（ｒ，θ）を設定する（ステップＳ３２６）。そして、ステップＳ３１６以下の処理を繰り返し実行する。
【０１５０】
生成すべき極座標画像の極座標上のすべての位置が注目位置（ｒ，θ）として設定済であれば（ステップＳ３２４においてＹＥＳ）、ＣＰＵ１０２は、決定された画素値からなる画像を最終的な極座標画像として出力する（ステップＳ３２８）。以上によって、極座標画像の生成に係る処理は終了する。
【０１５１】
《ｆ４：処理手順（その４）》
上述の処理手順においては、予め定められた大きさの極座標画像を生成する場合の処理例について説明したが、有効度（重みｗｒ）の大きさに応じて、極座標画像のサイズを適宜調整してもよい。より具体的には、有効度（重みｗｒ）が予め定められたしきい値未満である場合には、対応する画素の情報を極座標画像の生成に用いないようにしてもよい。つまり、対応する有効度の値が予め定められた値を下回っている画素については、一致度の算出対象から除外してもよい。このような処理を採用することで、極座標画像の作成およびマッチングに係る処理コストを低減できる。
【０１５２】
図１６は、本実施の形態に従う極座標画像の生成に係る処理手順（その４）を示すフローチャートである。一例として、図１６に示す処理手順（その４）では、決定された重みの大きさが所定のしきい値に満たない場合には、その部分を除外した上で極座標画像（サイズ：（ｒｍａｘ−ｒｍｉｎ）×２Θ）を作成する。つまり、図１６には、重みの小さい領域を除外した極座標画像への変換処理を示す。
【０１５３】
なお、図１６に示す各ステップは、ＣＰＵ１０２がプログラムを実行することで実現される。
【０１５４】
図１６を参照して、ＣＰＵ１０２は、生成すべき極座標画像についての動径ｒの初期値を設定し（ステップＳ４００）、設定した動径ｒについての重みｗｒを決定する（ステップＳ４０２）。続いて、ＣＰＵ１０２は、生成すべき極座標画像についての動径ｒが最大値まで設定済であるか否かを判断する（ステップＳ４０４）。生成すべき極座標画像についての動径ｒが最大値まで設定済でなければ（ステップＳ４０４においてＮＯ）、ＣＰＵ１０２は、生成すべき極座標画像についての動径ｒを次の値に設定し（ステップＳ４０６）、ステップＳ４０２以下の処理を繰り返し実行する。
【０１５５】
これに対して、生成すべき極座標画像についての動径ｒが最大値まで設定済であれば（ステップＳ４０４においてＹＥＳ）、ＣＰＵ１０２は、決定した重みｗｒのうちしきい値ｗｍｉｎ以上である（ｗｒ≧ｗｍｉｎの条件を満たす）重みｗｒを抽出するとともに、抽出した重みｗｒに対応する動径ｒについての最大値ｒｍａｘおよび最小値ｒｍｉｎを決定する（ステップＳ４０８）。
【０１５６】
続いて、ＣＰＵ１０２は、極座標画像を生成するための振幅画像の入力を受付ける（ステップＳ４０９）。ＣＰＵ１０２は、最小値ｒｍｉｎから最大値ｒｍａｘの範囲に含まれる（ｒｍｉｎ≦ｒ≦ｒｍａｘの条件を満たす）動径ｒについて、生成すべき極座標画像の極座標上の注目位置（ｒ，θ）を設定する（ステップＳ４１０）。そして、ＣＰＵ１０２は、設定された極座標上の注目位置に対応する振幅画像上の位置（ｕ，ｖ）を決定し（ステップＳ４１２）、当該決定された振幅画像上の位置（ｕ，ｖ）についての画素値を決定する（ステップＳ４１４）。この振幅画像上の位置（ｕ，ｖ）についての画素値を決定する際には、隣接する画素の画素値からの補間処理が用いられてもよい。そして、ＣＰＵ１０２は、決定した画素値から、設定された極座標上の注目位置に対応する画素値を出力する（ステップＳ４１６）。
【０１５７】
ＣＰＵ１０２は、最小値ｒｍｉｎから最大値ｒｍａｘの範囲に含まれる動径ｒについて、生成すべき極座標画像の極座標上のすべての位置を注目位置（ｒ，θ）として設定済であるか否かを判断する（ステップＳ４１８）。生成すべき極座標画像の極座標上のいずれかの位置が注目位置（ｒ，θ）として設定されていなければ（ステップＳ４１８においてＮＯ）、ＣＰＵ１０２は、生成すべき極座標画像の極座標上に新たな注目位置（ｒ，θ）を設定する（ステップＳ４２０）。そして、ステップＳ４１２以下の処理を繰り返し実行する。
【０１５８】
生成すべき極座標画像の極座標上のすべての位置が注目位置（ｒ，θ）として設定済であれば（ステップＳ４１８においてＹＥＳ）、ＣＰＵ１０２は、決定された画素値からなる画像を最終的な極座標画像として出力する（ステップＳ４２２）。以上によって、極座標画像の生成に係る処理は終了する。
【０１５９】
［Ｇ．利点］
本実施の形態によれば、極座標画像のマッチングにおける回転変動の推定の際、マッチングに悪影響を与える情報について、マッチング処理への影響を低減させるように極座標画像を作成することで、マッチング精度を向上させる。さらに、これらの情報を極座標画像の作成対象から除外することで、極座標画像の作成およびマッチングに係る処理コストを低減する。
【０１６０】
本実施の形態によれば、基準画像と参照画像との間でマッチング処理を行なうことで、基準画像に対する参照画像の回転ずれ（回転角度）の検知を行なう回転ずれ検知手法が提供される。この回転ずれ検知手法においては、基準画像／参照画像の中心から基準画像／参照画像の各画素についての動径に応じた重みを計算する重み計算手段が実装される。そして、計算された重みの値を上記基準画像／参照画像の各画素の画素値に反映した上でマッチング処理が実行される。重みの反映方法としては、基準画像／参照画像の各画素の画素値に重みを乗じる方法の他、重みまたは重みに応じた値を加算または減算するような方法を採用してもよい。
【０１６１】
このような方法を採用することで、画像中の不要と判断される情報がマッチング処理へ与える悪影響を小さくすることができ、これによって、マッチング処理の精度を向上できる。
【０１６２】
上記重み計算手段は、動径の長さに応じて重みを増加させるように重みを計算することが好ましい。このように重みを計算することで、補間演算の発生頻度が高い低動径部の重みを軽くすることができる。
【０１６３】
上記重み計算手段は、さらに基準径を設定する手段を含んでおり、動径が基準径を超えると重みを軽くする。これによって、回転ずれにより重複しない可能性がある高動径部の重みを軽くできる。
【０１６４】
上記重み計算手段は、基準径を超える動径については重みをゼロとしてもよい。回転により一致しなくなる領域について重みをゼロとすることで、マッチング計算結果への影響を避けることができる。
【０１６５】
上記重み計算手段で計算された重みが所定の値に満たない動径の情報を含まないように、マッチング処理用の画像変換を行なうことが好ましい。有用な情報を含まない領域を省いた極座標画像を用いることで、マッチング精度の向上が期待できるとともに、データ数削減によりマッチング処理を高速化できる。
【０１６６】
上記基準径算出手段は、基準画像のサイズから基準径を計算してもよい。このような方法を採用することで、画像に応じた基準径を動的に決定できる。典型的には、上記基準径算出手段は、基準画像の内接円半径を基準径として計算してもよい。これによって、内接円の半径を基にした重み付けが可能になる。
【０１６７】
上記基準径算出手段は、さらに、予め与えられている想定される回転ずれ量を基準画像に適用した画像と基準画像との共通領域のサイズに応じて（典型的には、外接円半径として）基準径を算出することもできる。このような想定される回転ずれ量を用いることで、基準画像／参照画像の間で共通する領域をより正確に定義でき、内接円を用いる場合よりも広い範囲について重みを重くできる。
【０１６８】
上記基準径算出手段は、同一動径にある基準画像の画素数を求め、画素数が最大の動径を基準径としてもよい。このような方法を採用することで、画素数が少ない動径について軽い重みを設定でき、これによって、このような領域のマッチング計算への影響を低減できる。
【０１６９】
基準画像／参照画像は、典型的には、極座標画像である。極座標画像は、動径の大きさを軸としてもつ画像であり、計算された重みの適用が容易になる。
【０１７０】
また、基準画像／参照画像は、それぞれフーリエ変換で得られた振幅画像である場合には、周波数分布の中央値に相当する振幅画像上での動径を基準径として設定してもよい。その上で、上記重み計算手段は、基準径との差が大きい動径の重みを軽くする重み付け計算を行なう。このような重み付け計算を採用することで、ノイズの多い高周波数帯や照明ムラの影響を受ける低周波数帯による影響を低減し、有用な情報が多く含まれる中周波数域を残すような重み付けが可能になる。
【０１７１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７２】
１  画像処理装置、２  システム、３  対象物、４  カメラ、６  ベルトコンベア、１２，２２  周波数変換部、１４  参照振幅画像、１６，２６  極座標変換部、１８  参照極座標画像、２０，２０Ａ  基準画像、２１  微分画像、２４  基準振幅画像、２５  エッジ極座標画像、２８  基準極座標画像、３０  第１探索部、３２  回転補正部、３４  第２探索部、４０  補正後参照画像、１０２  ＣＰＵ、１０４  ＲＡＭ、１０６  ＲＯＭ、１０８  ネットワークインターフェイス、１１０  補助記憶装置、１１２  テンプレートマッチングプログラム、１２０  表示部、１２２  入力部、１２４  メモリーカードインターフェイス、１２６  メモリーカード、１２８  カメラインターフェイス、１３０  バス。
【図１】
2014228940.tif 000011
【図３】
2014228940.tif 000012
【図４】
2014228940.tif 000013
【図５】
2014228940.tif 000014
【図６】
2014228940.tif 000015
【図７】
2014228940.tif 000016
【図８】
2014228940.tif 000017
【図９】
2014228940.tif 000018
【図１３】
2014228940.tif 000019
【図１４】
2014228940.tif 000020
【図１５】
2014228940.tif 000021
【図１６】
2014228940.tif 000022
【図２】
2014228940.tif 000023
【図１０】
2014228940.tif 000024
【図１１】
2014228940.tif 000025
【図１２】
2014228940.tif 000026