本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
[A.テンプレートマッチングの一例]
まず、本実施の形態に従う画像処理方法において実行されるテンプレートマッチングの一例について説明する。本実施の形態に従う画像処理装置は、テンプレートマッチングの対象となる物体の情報を含む参照情報が入力されると、探索対象の基準(テンプレート)となる基準情報との一致度を算出し、参照情報に含まれる基準情報との一致の有無および一致している場所などを特定する。つまり、本実施の形態においては、第1の画像と第2の画像との間の回転変動の大きさを決定する画像処理方法、それを実現する画像処理装置、およびそれを実現する画像処理プログラムについて例示する。
参照情報および基準情報としては、どのようなソースから取得された、どのような情報であってもよいが、説明の便宜上、本実施の形態においては、カメラなどを用いて対象物を撮影して取得される画像(以下、それぞれ「参照画像」および「基準画像」と称す。)であるとする。
図1は、本実施の形態に従うテンプレートマッチングを実現するための模式図である。図1を参照して、画像処理装置1には、テンプレートマッチングの対象として参照画像10が入力されるとともに、テンプレートとして基準画像20が入力される。画像処理装置1は、参照画像10と基準画像20との間の相対的な回転ずれ(以下、「回転変動」とも称す。)を補正するための処理を実行し、回転変動を補正した上で、参照画像10と基準画像20との間の位置ずれ量を決定する。
一例として、画像処理装置1は、回転不変位相限定相関法(RIPOC法:Rotation Invariant Phase Only Correlation;以下「RIPOC法」とも称す。)に属するマッチング法を採用する。具体的には、画像処理装置1は、予め取得された基準画像20と新たに取得した参照画像10との間の位置ずれ量を決定するシステムに向けられている。
位置ずれ量の算出処理において、参照画像10(および/または、基準画像20)に対して回転変動が併せて発生していることも想定されるため、回転変動を補正した上で、位置ずれ量を決定する。このとき、回転変動の算出には、RIPOC法を用いる。
図1を参照して、画像処理装置1は、その機能構成として、周波数変換部12,22と、極座標変換部16,26と、第1探索部30と、回転補正部32と、第2探索部34とを含む。
周波数変換部12,22は、基準画像および参照画像に対してそれぞれ周波数変換して、周波数空間上の振幅画像をそれぞれ生成する。極座標変換部16,26は、基準画像および参照画像についてのそれぞれの振幅画像を極座標変換する。第1探索部30は、位相相関限定法(POC法:Phase Only Correlation)により、極座標画像間のθ方向の位置ずれ量を検知し、この値を回転変動として決定する。回転補正部32は、検知された回転変動を用いて参照画像の回転変動を補正する。第2探索部34は、POC法により、基準画像と補正後の参照画像との間の位置ずれ量を検知する。さらに、第2探索部34は、検知された位置ずれ量に逆周波数変換することで、基準画像と参照画像との間の位置ずれ量を決定する。各部の具体的な処理は、以下のようになる。
周波数変換部12,22の各々は、入力画像に対して周波数変換処理を実行し、入力画像に含まれる周波数空間上の位相成分(位相画像)および振幅成分(振幅画像)を出力する。周波数変換処理としては、典型的には、高速フーリエ変換(FFT:Fast Fourier Transform)や離散フーリエ変換(DFT:Discrete Fourier Transform)などを用いることができる。
画像処理装置1は、振幅成分(振幅画像)のみを用いて回転変動の補正を行なう。そのため、周波数変換部12および周波数変換部22は、参照振幅画像14および基準振幅画像24をそれぞれ出力する。
極座標変換部16,26の各々は、入力された直交座標系の画像(振幅画像)を極座標系の画像に変換する。極座標系を用いることで、回転変動の探索時にそのマッチング度合い(相関値)をより適切に評価できる。極座標変換部16および極座標変換部26は、周波数変換部12および周波数変換部22に対して極座標変換をそれぞれ実行することで、参照極座標画像18および基準極座標画像28をそれぞれ出力する。
第1探索部30は、極座標変換部16と極座標変換部26との間でマッチング処理を実行し、両者の間の相関値(類似度)が最も高くなる回転変動の大きさを探索する。画像処理装置1において、第1探索部30は、POC法を用いてマッチング処理を実行する。
具体的には、第1探索部30は、入力される極座標変換部16および極座標変換部26に対して、周波数変換処理を実行し、極座標変換部16および極座標変換部26に対応する位相画像をそれぞれ生成するとともに、生成した位相画像間の差を示す位相差画像をさらに生成する。さらに、第1探索部30は、生成された位相差画像に対して逆周波数変換処理を実行することで、極座標変換部16と極座標変換部26との間のずれ量、つまり、参照画像10と基準画像20との間の回転変動を出力する。なお、第1探索部30において、極座標変換部16と極座標変換部26との間のずれ量は、周波数空間上の位相差として出力されるので、出力された結果に対して、逆周波数変換処理を実行することで、回転変動量が算出される。すなわち、第1探索部30は、極座標上での位置ずれ量を決定し、この決定した位置ずれ量を回転変動量に換算する。
このように、画像処理装置1は、第1の画像と第2の画像(参照極座標画像18および基準極座標画像28)との間の回転変動の大きさを決定する画像処理方法を実行する。ここで、第1の画像および第2の画像は、典型的には、極座標画像である。そして、第1探索部30は、第1の画像と第2の画像(参照極座標画像18と基準極座標画像28)との間の一致度を算出する。
回転補正部32は、第1探索部30によって算出された回転変動量を用いて、参照画像の回転変動を補正する。回転補正部32は、回転変動の補正によって生成された補正後参照画像40を第2探索部34へ出力する。
第2探索部34は、補正後参照画像40と基準画像20との間でマッチング処理を実行し、両者の間の相関値(類似度)が最も高くなる回転変動の大きさを探索する。画像処理装置1において、第2探索部34は、POC法を用いてマッチング処理を実行する。第2探索部34に算出される画像間のずれ量は、周波数空間上の位相差として出力されるので、出力された結果に対して、逆周波数変換処理を実行することで、位置ずれ量が算出される。
[B.課題および解決方法の概要]
次に、上述したような画像処理装置および画像処理方法に生じ得る課題について説明する。
図2は、回転変動を補正するテンプレートマッチングに生じ得る課題を説明するための図である。図2には、第1探索部30(図1)における参照極座標画像18と基準極座標画像28との探索処理を模式的に示す。この探索処理において、回転変動を推定するために、基準極座標画像28に対する参照極座標画像18の相対的な回転量が順次変更されるとともに、画像間の一致度が算出される。このような画像の回転に伴って、観測範囲も変化する。図2に示すように、ある回転変動における参照極座標画像(参照極座標画像18−1)には写っているが、別の回転変動における参照極座標画像(参照極座標画像18−2)には写っていない領域(非観測範囲)が発生し得る。つまり、図2の着色部に示されるような、参照極座標画像18の回転に伴う画像間の不一致が生じる。
このような領域の情報を一致度の算出に用いると、マッチング精度に悪影響が生じ得る。そのため、このような領域(非観測範囲)の情報は、可能な限り探索処理に用いる情報としては取り除くことが好ましい。
また、第1の画像および第2の画像(極座標画像)の少なくとも一方の回転中心からの半径(以下「動径」とも称す。)と情報量との関係についても考慮することが好ましい。図3は、回転変動を補正するテンプレートマッチングにおける動径と情報量との関係を説明するための図である。すなわち、図3には、動径に応じたサンプリング点の密度差の例を示す。具体的には、図3(a)は、直交座標系の画像(振幅画像)を極座標系の画像に変換した際の、各画素位置の対応関係を示す分布図である。図3(b)は、図3(a)に示す極座標系の画像に投影される画素数を動径別に示すヒストグラムである。つまり、図3(b)は、同じ動径をもつサンプル点の個数を示す。なお、図3の動径rの単位は、計算上の値である。
図3(a)に示すように、直交座標系の画像を極座標系の画像に変換した場合、動径rに依存して情報量(サンプル点の密度)が変化することがわかる。特に、図3(b)に示す用に、動径rが小さい領域においては、極座標画像の生成に用いられたサンプル点が少ないことがわかる。例えば、図3(b)に示す例では、動径rが3以下の領域(低頻度の部分)については、テンプレートマッチングに用いるほどの情報量が存在しないことがわかる。これは、これらの動径が小さい領域の情報は、マッチング精度の向上には寄与せず、ムダな情報になっているといえる。
本願発明者は、回転変動を補正するテンプレートマッチングに生じ得る課題を新たに発見し、この新たに発見した知見に基づいて、以下のような技術思想に想到した。つまり、この新たに発見した課題に対して、マッチングに悪影響を与える情報に対しては、その有効度を他の情報に比較して低くするか、あるいは、それらの情報を用いないといった方法によって、マッチングへの影響を低減する。より具体的には、極座標画像において、マッチングに悪影響を与えると判断された画素の情報量を相対的に小さくすることで、マッチングへの影響を低減し、マッチング精度を向上させる。
このように、マッチングに悪影響を与える情報の有効度を低減することで、マッチングに要する計算コストを低減できる。例えば、マッチングに悪影響を与える情報の有効度を低減する方法として、極座標画像を生成する際に、マッチングに悪影響を与える情報を対象から除外する方法を採用できる。このような方法を採用することで、極座標画像の生成に係る計算コスト、および、その後の探索処理に係る計算コストを小さくできる。
より具体的には、極座標画像のマッチングにおける回転変動の推定の際、マッチングに悪影響を与える情報について、マッチング処理への影響を低減させるように極座標画像を作成することで、マッチング精度を向上させる。さらに、これらの情報を極座標画像の作成対象から除外することで、極座標画像の作成およびマッチングに係る処理コストを低減する。
[C.実装例および装置構成]
次に、本実施の形態に従う画像処理装置の実装例について説明する。
《c1:実装例》
図4は、本実施の形態に従うテンプレートマッチングの実装例を示す模式図である。図4を参照して、本実施の形態に従うシステム2は、一例として、ベルトコンベア6を含む生産ラインに適用される。このシステム2において、対象物3(ワーク)はベルトコンベア6上を連続的に搬送されるとともに、対象物3をカメラ4により撮影することで、対象物3の外観を含む画像(参照画像10)が取得される。
参照画像10は、画像処理装置1へ伝送される。画像処理装置1は、予め取得された基準画像20に基づいて、参照画像10に含まれる対象物3のテンプレートマッチングを実行する。
《c2:パーソナルコンピューターによる実現例》
図5は、本実施の形態に従う画像処理装置1をパーソナルコンピューターにより実現した場合の構成を示すブロック図である。図5を参照して、パーソナルコンピューターにより実現される画像処理装置1は、主として、汎用的なアーキテクチャーを有するコンピューター上に実装される。
具体的には、画像処理装置1は、主たるコンポーネントとして、CPU(Central Processing Unit)102と、RAM(Random Access Memory)104と、ROM(Read Only Memory)106と、ネットワークインターフェイス(I/F)108と、補助記憶装置110と、表示部120と、入力部122と、メモリーカードインターフェイス(I/F)124と、カメラインターフェイス(I/F)128とを含む。各コンポーネントは、バス130を介して、互いに通信可能に接続されている。
CPU102は、ROM106や補助記憶装置110などに格納された、オペレーティングシステム(OS:Operating System)、テンプレートマッチングプログラム112などの各種プログラムを実行する。RAM104は、CPU102でプログラムを実行するためのワーキングメモリとして機能し、プログラムの実行に必要な各種データを一次的に格納する。ROM106は、画像処理装置1において起動時に実行される初期プログラム(ブートプログラム)などを格納する。
ネットワークインターフェイス108は、各種の通信媒体を介して、他の装置(サーバー装置など)とデータを遣り取りする。より具体的には、ネットワークインターフェイス108は、イーサネット(登録商標)などの有線回線(LAN(Local Area Network)やWAN(Wide Area Network)など)、および/または、無線LANなどの無線回線を介してデータ通信を行なう。
補助記憶装置110は、典型的には、ハードディスクなどの大容量磁気記録媒体などからなり、本実施の形態に従う各種処理を実現するための画像処理プログラム(テンプレートマッチングプログラム112)および基準画像20などを格納する。さらに、補助記憶装置110には、オペレーティングシステムなどのプログラムが格納されてもよい。
表示部120は、オペレーティングシステムが提供するGUI(Graphical User Interface)画面に加えて、テンプレートマッチングプログラム112の実行によって生成される画像などを表示する。
入力部122は、典型的には、キーボード、マウス、タッチパネルなどからなり、ユーザーから受付けた指示の内容をCPU102などへ出力する。
メモリーカードインターフェイス124は、SD(Secure Digital)カードやCF(Compact Flash(登録商標))カードなどの各種メモリーカード(不揮発性記録媒体)126との間で、データの読み書きを行なう。
カメラインターフェイス128は、対象物3などの被写体を撮影することで取得される、各種画像をカメラ4から取り込む。カメラ4は、画像を取得する画像取得手段として機能する。但し、画像処理装置1本体が被写体を撮影する機能を有していなくともよい。この場合には、典型的には、何らかの装置で取得した各種画像を格納したメモリーカード126を介して、必要な画像が取り込まれる。すなわち、メモリーカードインターフェイス124にメモリーカード126が装着され、メモリーカード126から読み出された各種画像は、補助記憶装置110などへ格納(コピー)される。
補助記憶装置110に格納される、テンプレートマッチングプログラム112は、CD−ROM(Compact Disk-Read Only Memory)などの記録媒体に格納されて流通し、あるいは、ネットワークを介してサーバー装置などから配信される。テンプレートマッチングプログラム112は、画像処理装置1(パーソナルコンピューター)で実行されるオペレーティングシステムの一部として提供されるプログラムモジュールのうち必要なモジュールを、所定のタイミングおよび順序で呼出して処理を実現するようにしてもよい。この場合、テンプレートマッチングプログラム112自体には、オペレーティングシステムによって提供されるモジュールは含まれず、オペレーティングシステムと協働して画像処理が実現される。また、テンプレートマッチングプログラム112は、単体のプログラムではなく、何らかのプログラムの一部に組込まれて提供されてもよい。このような場合にも、プログラム自体には、他のプログラムと共通に利用されるようなモジュールは含まれず、当該他のプログラムと協働して画像処理が実現される。このような一部のモジュールを含まない形態であっても、本実施の形態に従う画像処理装置1の趣旨を逸脱するものではない。
さらに、テンプレートマッチングプログラム112によって提供される機能の一部または全部を専用のハードウェアによって実現してもよい。
《c3:その他の構成による実現例》
上述したパーソナルコンピューターにより実現する例に加えて、例えば、デジタルカメラ、携帯電話、あるいはスマートフォン上に実装してもよい。さらに、少なくとも1つのサーバー装置が本実施の形態に従う処理を実現する、いわゆるクラウドサービスのような形態であってもよい。この場合、ユーザーは、自身の端末(パーソナルコンピューターやスマートフォンなど)を用いて、少なくとも2つの処理対象画像をサーバー装置(クラウド側)へ送信し、当該送信された処理対象画像に対して、サーバー装置側が本実施の形態に従う画像処理を行なうような構成が想定される。さらに、サーバー装置側がすべての機能(処理)を行なう必要はなく、ユーザー側の端末とサーバー装置とが協働して、本実施の形態に従う画像処理を実現するようにしてもよい。
[D.極座標画像の生成処理]
本実施の形態に従う画像処理方法では、マッチングに悪影響を与える情報の有効度を低減する方法の一例として、信頼度を考慮して極座標画像を生成する。この信頼度としては、後述するような重みを用いる。以下、本実施の形態に従う画像処理方法における極座標画像の生成処理について説明する。
図6は、本実施の形態に係る画像処理方法における極座標画像の生成手順を示す模式図である。図6には、極座標変換部16が参照振幅画像14から参照極座標画像18を生成する処理、および、極座標変換部26が基準振幅画像24から基準極座標画像28を生成する処理を示す。説明の簡略化のため、参照振幅画像14および基準振幅画像24を、単に「振幅画像」と記す。また、参照極座標画像18および基準極座標画像28を、単に「極座標画像」と記す。
図6を参照して、振幅画像のサイズ(幅W×高さH)、および、入力された振幅画像を極座標変換して生成される極座標画像のサイズ(R×2Θ)(但し、0≦r≦R,−Θ≦θ≦Θ)は、予め設定されているものとする。
生成すべき極座標画像の極座標上の注目画素(位置(r,θ))を設定し、この注目画素の動径rに対応する重みwrを決定する((1)重み決定)。本実施の形態においては、信頼度(有効度)を示す重みとして、動径rの大きさに依存した値を決定する。言い換えれば、動径rの値が同じであれば、回転方向(θ方向)の大きさにかかわらず、同一の重みwrを用いる。
次に、注目画素に対応する振幅画像上の位置を特定し、当該対応する位置の画素値が決定される。((2)対応位置特定+画素値決定)。より具体的には、極座標上の注目画素の位置(r,θ)に対応する、振幅画像上の位置(u,v)が算出され、当該対応位置(u,v)についての画素値が決定される。一般的には、極座標上の画素位置と振幅画像上(直交座標上)の画素位置とは一対一に対応しないので、任意の方法で補間して代表値を算出することが好ましい。例えば、振幅画像上の対応位置(u,v)の近傍にある複数の画素の画素値を用いて、画素値を決定してもよい。具体的には、振幅画像上の対応位置(u,v)の近傍にある4つの画素値に基づいて補間演算を行なうなどして、当該対応位置の画素値が算出される。
そして、決定された対応位置の画素値と、対応する重みwrとを用いて、極座標上の注目画素の位置(r,θ)における画素値が算出される((3)画素値,重み)。なお、決定された対応位置の画素値と、対応する重みwrとを独立に保持していてもよいし、重みwrを先に反映しておいてもよい。
重みwrの反映方法としては、振幅画像における画素値に重みwrを乗じて得られる値を注目画素の画素値として決定してもよい。但し、これに限られることなく、重みを反映して、極座標上の各画素の画素値を算出できれば、どのような方法を用いてもよい。例えば、振幅画像における画素値に対して対応する重みに応じた値を加算するような方法や、振幅画像における画素値を対応する重みのべき乗から極座標上の画素値を決定するような方法を採用してもよい。
極座標画像を構成するすべての画素について、このような一連の処理によって画素値を決定することで、目的の極座標画像を生成できる。生成された極座標画像においては、重みwrの値が大きい領域ほど、それに含まれる画素値の値が大きくなるので、探索処理における有効度がより高くなる。一方、重みwrの値が小さい領域については、その画素値の値が小さくなるので、一致度の算出において、その画素値があまり重視されなくなる。
本実施の形態に従う画像処理装置1は、回転中心からの半径である動径の大きさの別に、一致度の算出に係る有効度(重み)を決定する。そして、画像処理装置1は、第1および第2の画像(参照画像10および基準画像20)に含まれる画素値および各画素値に対応する有効度に基づいて、一致度を算出する。
このように、動径rの値に応じて重みを変化させることで、重視すべき領域とそうでない領域とを区別することができ、これによって、マッチング精度を高めることができる。
[E.有効度の決定方法]
次に、上述の極座標画像の生成処理において用いられる有効度の決定方法について説明する。この有効度としては、動径rについての重みwrとして具現化され、この重みwrの決定方法としては、様々な方法を用いることができるが、典型的には、以下のいずれかの方法を用いることができる。
《e1:投影されるサンプル点に応じた重みwrの決定方法》
上述したように、情報量の多い領域、つまり極座標系の画像に変換したときのサンプル点がより多い領域に対して、より大きな重みwrを設定することが好ましい。そこで、直交座標系から極座標系への変換処理において投影されるサンプル点の数を動径の別に算出し、算出されたサンプル点がより多い領域(動径r)に対して、より大きな重みを設定する方法について例示する。
図7は、本実施の形態に従う投影されるサンプル点に応じた重みwrの決定方法を説明するための図である。図7(a)は、振幅画像に設定される回転中心Oから所定距離の範囲に含まれる画素数をカウントするための処理を説明する図であり、図7(b)は、投影される画素数を動径別に示すヒストグラムである。
まず、図7(a)に示すように、振幅画像(幅W×高さH)に回転中心Oを設定するとともに、階級間隔dの階級n(0≦n≦N:整数)の各々について、極座標画像に投影される画素数をカウントする。すなわち、振幅画像の各画素(u,v)について、いずれの動径範囲内(n±1/2)dに含まれるのかを判定し、各動径範囲についてそのカウントを決定する。より具体的には、以下の(1)式に示すような、投影される画素数をカウントするための関数C(u,v,dmin,dmax)を用いて、以下の(2)式に従って、振幅画像から極座標画像へ投影される画素数Snを階級n毎に決定する。
(2)式は、(1)式を用いて投影される画素数をカウントするための関数である。但し、Nは階級数であり、予め定められている。階級間隔dは、(2)式に示すように、階級数Nおよび振幅画像のサイズ(幅Wおよび高さH)に依存して決定される。
次に、動径rに対応する重みwrを決定する。動径rに対応する階級nをnrとすると、(3)式のように示すことができる。
(2)式に従って、それぞれの階級nrについての画素数Snrを決定する。算出されたそれぞれの階級nrについての画素数Snrを用いて、以下の(4)式に従って、動径rに対応する重みwrを決定する。
上述の(4)式では、極座標径へ投影される画素数(サンプル点)がより多い領域に対して、より大きな重みwrを設定することができる。具体的には、重みwrは、図7(b)に示すヒストグラムと類似の分布を有することになる。つまり、動径が大きくなるほど、より大きな値をとるように有効度(重みwr)が決定される。
言い換えれば、画像を構成する画素について、動径の大きさの別に対応する画素の数を算出するとともに、算出された画素の数がより大きくなる(典型的には、最大値をとる)動径の大きさを基準径Rbとして決定することが好ましい。
このような方法を採用することで、極座標画像へ変換したときに、より多くの情報を有することになる動径範囲に対する重みwrをより大きくすることができる。
《e2:基準径に基づく重みwrの決定方法》
図2を参照して説明したように、本実施の形態に従う画像処理方法では、画像の回転に伴って画像間の不一致が生じることを回避するものである。このような画像の回転を考慮すると、画像の回転中心からの半径(動径)について、許容できる範囲(以下、「基準径」とも称す。)を設定することができる。この基準径は、テンプレートマッチング対象の画像が回転したとしても、画像の不一致が生じない限界値(使用限界)に相当する。
そこで、画像に基準径を設定するとともに、動径が設定された基準径以内である領域については、重みをより大きく設定するとともに、動径が基準径を超えた領域については、重みをより小さく設定することで、より適切な探索処理を実現できる。すなわち、本決定方法においては、対象の振幅画像に対して基準径を設定する手段が採用されるとともに、動径が基準径を超える領域については、その重みをより小さくする。言い換えれば、回転中心に沿った画像の回転に応じた基準径が決定される。これによって、対象の振幅画像を回転させた場合に、その回転変動によって互いに重複しない可能性のある領域の重みをより小さくでき、マッチング精度を向上できる。
図8は、本実施の形態に従う基準径に基づく重みwrの決定方法を説明するための図である。図8を参照して、本決定方法においては、対象の振幅画像のサイズ(幅W×高さH)に基づいて、以下の(5)式に従って基準径Rbを決定する。
(5)式に従って決定される基準径Rbは、対象の振幅画像に内接する内接円202の半径に相当する。すなわち、対象の振幅画像の幅方向および高さ方向の長さのうち、より短い方の長さの半分を半径とする。このように、本決定方法においては、対象の振幅画像に対する内接円202の半径を基準径Rbとして採用する。
すなわち、本決定方法においては、第1および第2の画像(参照画像10および基準画像20)の少なくとも一方の画像のサイズに基づいて、基準径Rbが決定される。この基準径Rbの決定においては、典型的には、第1および第2の画像(参照画像10および基準画像20)の少なくとも一方の画像に設定可能な内接円の半径を基準径Rbとして決定することができる。
上述したように、その動径が基準径を超えた領域に含まれる画素は、振幅画像(基準振幅画像24または参照振幅画像14)に対して回転変動を与えたときに、振幅画像の間で共通に写らないことがあり得る。そこで、以下の(6)式に従って、動径rに対応する重みwrを決定する。
(6)式に従って算出される重みwrは、動径rが基準径Rbを超えている領域の画素に対してはゼロとなり、マッチングへの影響を低減できる。すなわち、振幅画像に含まれる領域のうち、その回転変動によって互いに重複しない可能性のある領域についてのマッチングへの影響を低減できる。
なお、(6)式に従って算出される重みwrは、動径rが基準径Rbを超えている場合に一律にゼロとされるが、動径rが基準径Rbを超えると、重みwrの値が徐々に小さくなるようにしてもよい。例えば、以下の(6’)式に従って、動径rに対応する重みwrを決定してもよい。
図9は、本実施の形態に従う基準径に基づく重みwrの決定方法によって算出される重みwrのプロファイルの一例を示す図である。図9(a)には、(6)式に従って算出される重みwrのプロファイルの一例を示し、図9(b)には、(7)式に従って算出される重みwrのプロファイルの一例を示す。
図9(a)および図9(b)に示すいずれの例においても、動径rが基準径Rbと一致する領域に含まれる画素に対する重みwrが最も大きくなるように算出される。そして、動径rが基準径Rbを超えると、重みwrは急激または徐々に低減する。つまり、動径が大きくなるほど、より大きな値をとるように有効度(重みwr)が決定される。さらに、動径が基準径を超えると、より小さな値をとるように有効度(重みwr)が決定されてもよい。さらに、図9(b)に示すように、動径が基準径を超える範囲の有効度(重みwr)を、当該範囲の画像が一致度の算出に用いられないような値(ここでは、ゼロ)に決定してもよい。
《e3:想定される回転変動に応じた重みwrの決定方法》
上述の基準径に基づく重みwrの決定方法においては、振幅画像に対する回転変動の大きさにかかわらずマッチングへの影響を低減できるように重みwrを決定した。但し、振幅画像に対して与えられる回転変動の大きさが予め設定されている場合や、予め想定できる場合には、その回転変動の大きさに応じて、重みwrを決定するようにしてもよい。
図10は、本実施の形態に従う想定される回転変動に応じた重みwrの決定方法を説明するための図である。図10を参照して、参照極座標画像18に与えられる回転変動の最大値がζであると予め設定されているとする。このような場合には、基準位置(回転変動が与えられていない状況)での参照振幅画像(参照極座標画像18−1)の画像範囲と、角度ζの回転変動が与えられた参照振幅画像(参照極座標画像18−2)の画像範囲との間の共通領域204(図10においてハッチングされた範囲)を考慮して、動径rに対応する重みwrを決定することが好ましい。
より具体的には、共通領域204に外接する外接円206を設定し、その外接円206の半径を基準径Rbとして決定してもよい。図10に示す例においては、参照振幅画像が回転によって描く範囲に内接する内接円208の半径以上であって、外接円206の半径以下である半径を基準径Rbとして決定してもよい。
すなわち、本決定方法においては、一致度を算出すべき予め定められた回転変動の範囲にわたって、第1および第2の画像(参照画像10および基準画像20)の少なくとも一方の画像を回転させたときに生じる重なった画像(共通領域204)のサイズに応じて基準径を決定する。
このような基準径Rbを用いることで、予め想定されている回転変動が発生しても、重複する可能性の高い範囲をマッチングに用いる領域として設定できる。そのため、内接円208の半径をマッチングに用いる領域として設定するよりも、より多くの情報量を用いることができるため、マッチング精度を向上させることができる。
《e4:周波数成分に応じた重みwrの決定方法》
上述したように、極座標変換の対象となる参照振幅画像14および基準振幅画像24は、周波数空間上の振幅画像である。一般に、周波数空間画像において、高周波数成分は、ショットノイズの挙動を表すことが多く、低周波数成分は、照明ムラなどの挙動を表すことが多い。そこで、被写体の情報をより多く含むと考えられる中周波数帯域に対する重みwrをより大きくすることが好ましい。
一例として、まず、対象の振幅画像のサイズ(幅W×高さH)に基づいて、以下の(7)式に従って基準径Rbを決定する。このように決定される基準径Rbは、対象の振幅画像における周波数帯域のほぼ中央(すなわち、中周波数帯域)に相当する。そして、中周波数帯域から離れるほど、その値が小さくなるように、動径rに対応する重みwrが決定される。一例として、以下の(8)式に従って、重みwrを決定する。
このような方法によって、重みwrを決定することで、その回転変動によって互いに重複しない可能性のある領域についてのマッチングへの影響を低減できるとともに、ノイズ成分の影響も低減できる。
つまり、本決定方法においては、回転中心に沿った画像の回転に応じた基準径が決定される。このとき、周波数変換により生成された振幅画像を第1および第2の画像とし、周波数分布の中央値に相当する振幅画像上での動径が基準径Rbとして設定される。そして、基準径Rbとの差が大きいほど、より大きな値をとるように有効度(重みwr)が決定される。
なお、被写体の撮影環境に依存してノイズ成分などが影響を与える可能性もある。このような場合には、被写体を複数回撮影して基準径Rbを決定してもよい。より具体的には、基準画像を生成する際に、基準となる対象物(被写体)を複数回撮影するとともに、それぞれの撮影によって取得された画像を周波数変換して複数の周波数空間画像を生成する。そして、これらの複数の周波数空間画像のうち、振幅成分が安定している周波数帯域を特定し、当該特定した周波数帯域に相当する動径を基準径Rbとして決定してもよい。
このように基準径Rbを決定した後、上述したいずれかの方法に従って、動径rに対応する重みwrを決定できる。このような方法によって基準径Rbを決定することで、各種のノイズの影響を周波数空間において分離して排除できる。
《e5:窓関数を用いた重みwrの決定方法》
上述の(7)式および(8)式に従って、高周波数成分および低周波数成分のノイズを低減した重みwrを決定する方法について例示したが、このような方法に代えて、窓関数を用いて重みwrを決定してもよい。
例えば、以下の(8’)式に従って、動径rに対応する重みwrを決定してもよい。
このような方法で重みwrを決定することで、極座標画像の動径方向の両端が同一の値をもつようになり、動径方向についての連続性を維持できる。このような連続性を有する重みwrを用いることで、不連続な重みwrを用いることで生じ得る偽の周波数成分の発生などを回避できる。これによって、後段の第2探索部34において実行されるPOC法を用いた探索処理の精度を高めることができる。
《e6:エッジ情報を用いた重みwrの決定方法》
テンプレートマッチングに用いる画像内の特徴的な情報として、エッジ情報が想定される。このようなエッジ情報を有効に利用できるように、基準径Rbを決定する方法について説明する。
図11は、本実施の形態に従うエッジ情報を用いた重みwrの決定方法を説明するための図である。まず、図11(a)に示すような、対象物を撮影して取得された基準画像20に対して接線方向(符号210)の微分フィルタを適用し、図11(b)に示すような、基準画像20の微分画像21を生成する。この接線方向の微分フィルタは、放射方向に延びるエッジを検出するためのエッジ抽出フィルタである。つまり、極座標変換によって動径方向に特徴量を生じ得るエッジ成分を抽出する。微分画像21を極座標変換すると、図11(c)に示すようなエッジ極座標画像25が生成される。エッジ極座標画像25に対して、動径毎に画素値の微分値を累積加算し、累積加算した微分値が大きい(典型的には、最大値となる)動径を基準径Rbとして決定する。
このような方法によって基準径Rbを決定することで、画像内により多くの特徴量(エッジ情報)が存在する動径の範囲を特定することができる。基準径Rbが決定されると、上述のいずれかの方法に従って重みwrを決定することができる。このように決定される重みwrを用いて、回転変動の検知に有用な情報をより多く含むように、極座標画像を生成することができる。これによって、マッチング精度を向上させることができる。
《e7:基準画像/参照画像をそのまま用いたマッチング法》
上述の説明においては、極座標画像(参照極座標画像18および基準極座標画像28)同士で一致度を決定する処理例について説明した。しかしながら、極座標画像を用いることなく、入力された画像(参照画像10と基準画像20)をそのまま用いて一致度を決定することもできる。
図12は、本実施の形態の変形例に従うテンプレートマッチングの処理を説明するための図である。例えば、図12(a)に示すような基準画像20(または、参照画像10)に対して、図12(b)に示すように動径を定義する回転中心Oを設定し、回転中心Oからの半径(動径)に応じて算出される重みを決定する。そして、決定された重みを基準画像20(または、参照画像10)の画素値に直接的に反映し、図12(c)に示すような重み反映の基準画像20Aを生成する。
このように、動径に応じて算出される重みを基準画像20(または、参照画像10)に直接反映した画像を生成し、この生成された画像を用いてマッチングを行なってもよい。
このような処理手順を採用することで、極座標画像への変換および極座標画像での重みの算出といった処理を省略することができる。
《e8:POC法以外のマッチング方法の利用》
上述の実施の形態においては、第1探索部30(図1)がPOC法を用いて極座標画像間のθ方向の位置ずれ量を検知する方法を例示した。このPOC法を用いる場合には、上述したような重みwrを比較的簡素な処理によって反映した上で、一致度を算出できる。但し、このようなPOC法に限られず、他のマッチング手法を採用することもできる。例えば、マッチング手法としてSAD(Sum of Absolute Difference)法を用いることもできる。
SAD法を用いる場合には、極座標画像である参照極座標画像18と基準極座標画像28との間でSAD値を算出し、その算出されたSAD値が最小となる回転変動を参照画像10と基準画像20との間の回転ずれ量として決定できる。このようなSAD値が最小となる回転変動を探索する場合、画素間の差分値に対して対応する重みwrを乗じた上で、すべての画素について累積した値をSAD値とすることができる。
このような手順でSAD値を決定することで、参照画像10および基準画像20のうち有効な情報を用いてテンプレートマッチングを実現することができる。
《e9:しきい値処理》
上述した処理例では、有効度(重みwr)がゼロの場合には、対応する画素の情報は極座標画像の生成に用いられない。これに代えて、有効度(重みwr)が予め定められたしきい値未満である場合には、対応する画素の情報を極座標画像の生成に用いないようにしてもよい。すなわち、対応する有効度の値が予め定められた値を下回っている画素については、一致度の算出対象から除外してもよい。このような処理を採用することで、極座標画像の作成およびマッチングに係る処理コストを低減できる。
《e10:各種変形例》
重みwrおよび基準径Rbの決定方法について典型的なものを説明したが、これらの方法は互いに矛盾しない限りにおいて、認定に組み合わせることができる。
[F.極座標画像の作成に係る処理手順]
上述のような極座標画像の作成に係る処理手順のいくつかの例について説明する。
《f1:処理手順(その1)》
図13は、本実施の形態に従う極座標画像の生成に係る処理手順(その1)を示すフローチャートである。図13に示す各ステップは、CPU102がプログラムを実行することで実現される。なお、図13には、極座標変換部16および極座標変換部26によってそれぞれ極座標画像を生成する処理手順を示すが、両方の極座標変換部の処理が実質的に同一であるので、一方の極座標変換部の処理を典型的に示す。但し、算出される重みwrについては、参照極座標画像18および基準極座標画像28の両方に共通的に使用できるので、一方の極座標変換部で算出された重みについては、他方の極座標変換部においても使用できる。以下、説明する他の処理手順についても同様である。
図13を参照して、CPU102は、極座標画像を生成するための振幅画像の入力を受付ける(ステップS100)。続いて、CPU102は、生成すべき極座標画像の極座標上の注目位置(r,θ)を設定する(ステップS102)。続いて、CPU102は、設定された極座標上の注目位置に対応する重みwrを決定する(ステップS104)。
その後、CPU102は、設定された極座標上の注目位置に対応する振幅画像上の位置(u,v)を決定し(ステップS106)、当該決定された振幅画像上の位置(u,v)についての画素値を決定する(ステップS108)。この振幅画像上の位置(u,v)についての画素値を決定する際には、隣接する画素の画素値からの補間処理が用いられてもよい。そして、CPU102は、ステップS108において決定した画素値に、ステップS104において決定した重みwrを反映する(ステップS110)。
最終的に、CPU102は、重みwrを反映後の画素値を、設定された極座標上の注目位置に対応する画素値として出力する(ステップS112)。
CPU102は、生成すべき極座標画像の極座標上のすべての位置を注目位置(r,θ)として設定済であるか否かを判断する(ステップS114)。生成すべき極座標画像の極座標上のいずれかの位置が注目位置(r,θ)として設定されていなければ(ステップS114においてNO)、CPU102は、生成すべき極座標画像の極座標上に新たな注目位置(r,θ)を設定する(ステップS116)。そして、ステップS104以下の処理を繰り返し実行する。
生成すべき極座標画像の極座標上のすべての位置が注目位置(r,θ)として設定済であれば(ステップS114においてYES)、CPU102は、決定された画素値からなる画像を最終的な極座標画像として出力する(ステップS118)。以上によって、極座標画像の生成に係る処理は終了する。
なお、上述の処理例においては、重みを反映した画素値を出力する例を示したが、極座標画像上の(反映前の)画素値と重みとをそれぞれ独立して出力するようにしてもよい。
《f2:処理手順(その2)》
上述の処理手順(その1)においては、極座標画像への変換処理の実行中に重みを逐一決定する処理例を示したが、重みを予め決定しておき、この予め決定しておいた重みを参照しつつ、極座標画像を決定するようにしてもよい。
図14は、本実施の形態に従う極座標画像の生成に係る処理手順(その2)を示すフローチャートである。図14に示す各ステップは、CPU102がプログラムを実行することで実現される。
図14を参照して、CPU102は、生成すべき極座標画像についての動径rの初期値を設定し(ステップS200)、設定した動径rについての重みwrを決定する(ステップS202)。続いて、CPU102は、生成すべき極座標画像についての動径rが最大値まで設定済であるか否かを判断する(ステップS204)。生成すべき極座標画像についての動径rが最大値まで設定済でなければ(ステップS204においてNO)、CPU102は、生成すべき極座標画像についての動径rを次の値に設定し(ステップS206)、ステップS202以下の処理を繰り返し実行する。
これに対して、生成すべき極座標画像についての動径rが最大値まで設定済であれば(ステップS204においてYES)、CPU102は、決定した動径rについても重みwrの組を格納する(ステップS208)。そして、ステップS210以下の処理が実行される。
すなわち、CPU102は、極座標画像を生成するための振幅画像の入力を受付ける(ステップS210)。続いて、CPU102は、生成すべき極座標画像の極座標上の注目位置(r,θ)を設定する(ステップS212)。続いて、CPU102は、ステップS208において格納された動径rについての重みwrの組を参照して、設定された極座標上の注目位置に対応する重みwrを決定する(ステップS214)。
その後、CPU102は、設定された極座標上の注目位置に対応する振幅画像上の位置(u,v)を決定し(ステップS216)、当該決定された振幅画像上の位置(u,v)についての画素値を決定する(ステップS218)。この振幅画像上の位置(u,v)についての画素値を決定する際には、隣接する画素の画素値からの補間処理が用いられてもよい。そして、CPU102は、ステップS218において決定した画素値に、ステップS214において決定した重みwrを反映する(ステップS220)。
最終的に、CPU102は、重みwrを反映後の画素値を、設定された極座標上の注目位置に対応する画素値として出力する(ステップS222)。
CPU102は、生成すべき極座標画像の極座標上のすべての位置を注目位置(r,θ)として設定済であるか否かを判断する(ステップS224)。生成すべき極座標画像の極座標上のいずれかの位置が注目位置(r,θ)として設定されていなければ(ステップS224においてNO)、CPU102は、生成すべき極座標画像の極座標上に新たな注目位置(r,θ)を設定する(ステップS226)。そして、ステップS214以下の処理を繰り返し実行する。
生成すべき極座標画像の極座標上のすべての位置が注目位置(r,θ)として設定済であれば(ステップS224においてYES)、CPU102は、決定された画素値からなる画像を最終的な極座標画像として出力する(ステップS228)。以上によって、極座標画像の生成に係る処理は終了する。
《f3:処理手順(その3)》
上述の処理手順(その1)においては、極座標画像の画素値の決定と対応する重みの決定とを併せて実行する処理例を示したたが、これらの処理を別々に行ってもよい。すなわち、重みの反映を行わず、先に極座標画像を生成し、その後、重みを反映するようにしてもよい。
図15は、本実施の形態に従う極座標画像の生成に係る処理手順(その3)を示すフローチャートである。図15に示す各ステップは、CPU102がプログラムを実行することで実現される。
図15を参照して、CPU102は、極座標画像を生成するための振幅画像の入力を受付ける(ステップS300)。続いて、CPU102は、生成すべき極座標画像の極座標上の注目位置(r,θ)を設定する(ステップS302)。CPU102は、設定された極座標上の注目位置に対応する振幅画像上の位置(u,v)を決定し(ステップS304)、当該決定された振幅画像上の位置(u,v)についての画素値を決定する(ステップS306)。この振幅画像上の位置(u,v)についての画素値を決定する際には、隣接する画素の画素値からの補間処理が用いられてもよい。
CPU102は、生成すべき極座標画像の極座標上のすべての位置を注目位置(r,θ)として設定済であるか否かを判断する(ステップS308)。生成すべき極座標画像の極座標上のいずれかの位置が注目位置(r,θ)として設定されていなければ(ステップS308においてNO)、CPU102は、生成すべき極座標画像の極座標上に新たな注目位置(r,θ)を設定する(ステップS310)。そして、ステップS304以下の処理を繰り返し実行する。
生成すべき極座標画像の極座標上のすべての位置が注目位置(r,θ)として設定済であれば(ステップS308においてYES)、CPU102は、決定された画素値からなる画像を、重みを反映していない極座標画像として一旦出力する(ステップS312)。
続いて、CPU102は、極座標画像の極座標上の注目位置(r,θ)を設定し(ステップS314)、設定された極座標上の注目位置に対応する重みwrを決定する(ステップS316)。そして、CPU102は、極座標画像の極座標上の注目位置の画素値を、重みを反映していない極座標画像から取得し(ステップS318)、当該取得した画素値に、ステップS316において決定した重みwrを反映する(ステップS320)。すなわち、ステップS312において出力された極座標画像の画素値が修正される。最終的に、CPU102は、重みwrを反映後の画素値を、設定された極座標上の注目位置に対応する修正後の画素値として出力する(ステップS322)。
CPU102は、生成すべき極座標画像の極座標上のすべての位置を注目位置(r,θ)として設定済であるか否かを判断する(ステップS324)。生成すべき極座標画像の極座標上のいずれかの位置が注目位置(r,θ)として設定されていなければ(ステップS324においてNO)、CPU102は、生成すべき極座標画像の極座標上に新たな注目位置(r,θ)を設定する(ステップS326)。そして、ステップS316以下の処理を繰り返し実行する。
生成すべき極座標画像の極座標上のすべての位置が注目位置(r,θ)として設定済であれば(ステップS324においてYES)、CPU102は、決定された画素値からなる画像を最終的な極座標画像として出力する(ステップS328)。以上によって、極座標画像の生成に係る処理は終了する。
《f4:処理手順(その4)》
上述の処理手順においては、予め定められた大きさの極座標画像を生成する場合の処理例について説明したが、有効度(重みwr)の大きさに応じて、極座標画像のサイズを適宜調整してもよい。より具体的には、有効度(重みwr)が予め定められたしきい値未満である場合には、対応する画素の情報を極座標画像の生成に用いないようにしてもよい。つまり、対応する有効度の値が予め定められた値を下回っている画素については、一致度の算出対象から除外してもよい。このような処理を採用することで、極座標画像の作成およびマッチングに係る処理コストを低減できる。
図16は、本実施の形態に従う極座標画像の生成に係る処理手順(その4)を示すフローチャートである。一例として、図16に示す処理手順(その4)では、決定された重みの大きさが所定のしきい値に満たない場合には、その部分を除外した上で極座標画像(サイズ:(rmax−rmin)×2Θ)を作成する。つまり、図16には、重みの小さい領域を除外した極座標画像への変換処理を示す。
なお、図16に示す各ステップは、CPU102がプログラムを実行することで実現される。
図16を参照して、CPU102は、生成すべき極座標画像についての動径rの初期値を設定し(ステップS400)、設定した動径rについての重みwrを決定する(ステップS402)。続いて、CPU102は、生成すべき極座標画像についての動径rが最大値まで設定済であるか否かを判断する(ステップS404)。生成すべき極座標画像についての動径rが最大値まで設定済でなければ(ステップS404においてNO)、CPU102は、生成すべき極座標画像についての動径rを次の値に設定し(ステップS406)、ステップS402以下の処理を繰り返し実行する。
これに対して、生成すべき極座標画像についての動径rが最大値まで設定済であれば(ステップS404においてYES)、CPU102は、決定した重みwrのうちしきい値wmin以上である(wr≧wminの条件を満たす)重みwrを抽出するとともに、抽出した重みwrに対応する動径rについての最大値rmaxおよび最小値rminを決定する(ステップS408)。
続いて、CPU102は、極座標画像を生成するための振幅画像の入力を受付ける(ステップS409)。CPU102は、最小値rminから最大値rmaxの範囲に含まれる(rmin≦r≦rmaxの条件を満たす)動径rについて、生成すべき極座標画像の極座標上の注目位置(r,θ)を設定する(ステップS410)。そして、CPU102は、設定された極座標上の注目位置に対応する振幅画像上の位置(u,v)を決定し(ステップS412)、当該決定された振幅画像上の位置(u,v)についての画素値を決定する(ステップS414)。この振幅画像上の位置(u,v)についての画素値を決定する際には、隣接する画素の画素値からの補間処理が用いられてもよい。そして、CPU102は、決定した画素値から、設定された極座標上の注目位置に対応する画素値を出力する(ステップS416)。
CPU102は、最小値rminから最大値rmaxの範囲に含まれる動径rについて、生成すべき極座標画像の極座標上のすべての位置を注目位置(r,θ)として設定済であるか否かを判断する(ステップS418)。生成すべき極座標画像の極座標上のいずれかの位置が注目位置(r,θ)として設定されていなければ(ステップS418においてNO)、CPU102は、生成すべき極座標画像の極座標上に新たな注目位置(r,θ)を設定する(ステップS420)。そして、ステップS412以下の処理を繰り返し実行する。
生成すべき極座標画像の極座標上のすべての位置が注目位置(r,θ)として設定済であれば(ステップS418においてYES)、CPU102は、決定された画素値からなる画像を最終的な極座標画像として出力する(ステップS422)。以上によって、極座標画像の生成に係る処理は終了する。
[G.利点]
本実施の形態によれば、極座標画像のマッチングにおける回転変動の推定の際、マッチングに悪影響を与える情報について、マッチング処理への影響を低減させるように極座標画像を作成することで、マッチング精度を向上させる。さらに、これらの情報を極座標画像の作成対象から除外することで、極座標画像の作成およびマッチングに係る処理コストを低減する。
本実施の形態によれば、基準画像と参照画像との間でマッチング処理を行なうことで、基準画像に対する参照画像の回転ずれ(回転角度)の検知を行なう回転ずれ検知手法が提供される。この回転ずれ検知手法においては、基準画像/参照画像の中心から基準画像/参照画像の各画素についての動径に応じた重みを計算する重み計算手段が実装される。そして、計算された重みの値を上記基準画像/参照画像の各画素の画素値に反映した上でマッチング処理が実行される。重みの反映方法としては、基準画像/参照画像の各画素の画素値に重みを乗じる方法の他、重みまたは重みに応じた値を加算または減算するような方法を採用してもよい。
このような方法を採用することで、画像中の不要と判断される情報がマッチング処理へ与える悪影響を小さくすることができ、これによって、マッチング処理の精度を向上できる。
上記重み計算手段は、動径の長さに応じて重みを増加させるように重みを計算することが好ましい。このように重みを計算することで、補間演算の発生頻度が高い低動径部の重みを軽くすることができる。
上記重み計算手段は、さらに基準径を設定する手段を含んでおり、動径が基準径を超えると重みを軽くする。これによって、回転ずれにより重複しない可能性がある高動径部の重みを軽くできる。
上記重み計算手段は、基準径を超える動径については重みをゼロとしてもよい。回転により一致しなくなる領域について重みをゼロとすることで、マッチング計算結果への影響を避けることができる。
上記重み計算手段で計算された重みが所定の値に満たない動径の情報を含まないように、マッチング処理用の画像変換を行なうことが好ましい。有用な情報を含まない領域を省いた極座標画像を用いることで、マッチング精度の向上が期待できるとともに、データ数削減によりマッチング処理を高速化できる。
上記基準径算出手段は、基準画像のサイズから基準径を計算してもよい。このような方法を採用することで、画像に応じた基準径を動的に決定できる。典型的には、上記基準径算出手段は、基準画像の内接円半径を基準径として計算してもよい。これによって、内接円の半径を基にした重み付けが可能になる。
上記基準径算出手段は、さらに、予め与えられている想定される回転ずれ量を基準画像に適用した画像と基準画像との共通領域のサイズに応じて(典型的には、外接円半径として)基準径を算出することもできる。このような想定される回転ずれ量を用いることで、基準画像/参照画像の間で共通する領域をより正確に定義でき、内接円を用いる場合よりも広い範囲について重みを重くできる。
上記基準径算出手段は、同一動径にある基準画像の画素数を求め、画素数が最大の動径を基準径としてもよい。このような方法を採用することで、画素数が少ない動径について軽い重みを設定でき、これによって、このような領域のマッチング計算への影響を低減できる。
基準画像/参照画像は、典型的には、極座標画像である。極座標画像は、動径の大きさを軸としてもつ画像であり、計算された重みの適用が容易になる。
また、基準画像/参照画像は、それぞれフーリエ変換で得られた振幅画像である場合には、周波数分布の中央値に相当する振幅画像上での動径を基準径として設定してもよい。その上で、上記重み計算手段は、基準径との差が大きい動径の重みを軽くする重み付け計算を行なう。このような重み付け計算を採用することで、ノイズの多い高周波数帯や照明ムラの影響を受ける低周波数帯による影響を低減し、有用な情報が多く含まれる中周波数域を残すような重み付けが可能になる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。