位相限定相関法
2020/3/30公開
Last updated
Was this helpful?
2020/3/30公開
Last updated
Was this helpful?
位相限定相関法(POC:Phase-Only Correlation)は高速かつ高精度にテンプレートマッチングを行う手法である。大抵は画像の横ズレ・縦ズレを検出するために用いられる。さらにLog-Polar変換をかけた画像に対して適用することで回転ズレ・スケールの違いを検出する回転不変位相限定相関法(RIPOC:Rotation Invariant Phase-Only Correlation)が導かれる。
テンプレートマッチングはテンプレート画像が与えられた画像のどこに埋め込まれているかを探す問題のことである。
位相限定相関法はその名の通り、信号の位相の情報に限定して相関をとる手法で、フーリエ変換の性質をうまく利用することで「ある位置ズレを与えたときに2つの画像がどの程度一致しているか」の評価をで行うことを可能にしている。計算量のほとんどは画像をフーリエ変換・逆フーリエ変換する部分に使われる。
を実数全体の集合、を複素数全体の集合とする。また、とおく。
サイズの画像は位置に対して画素値が定まる信号とみなすことができる(より数学的な表記が好みの人のために書いておくとである)。
この信号を離散フーリエ変換(DFT:discrete Fourier transform)した信号をとおく(こちらはとなる)。すなわち
である。余計な記号が多いので
逆離散フーリエ変換(IDFT:inverse discrete Fourier transform)は偏角が逆向きの変換で
としておく。
である。
である。位相限定画像は元の画像の輪郭の情報が強調されているから、画像の輪郭がぴったり合う点を探せという問題に置き換わったとも解釈できる。
である。両辺を逆フーリエ変換すれば
テンプレートマッチングでは画像の輪郭を合わせることが重要になるから、位相限定画像のうちでも重要なのは高周波成分である。したがってハイパスフィルタをかけてから相互相関をとることで精度の向上を狙うことがある。
回転不変位相限定相関法(RIPOC)は、位相限定相関法(POC)を用いて回転ズレとスケールの違いを検出する手法である。位相限定相関法は縦ズレと横ズレを検出できる手法なので、事前に Log-Polar 変換によって回転ズレを縦ズレに、スケールの違いを横ズレに変換してから POC を適用すれば回転ズレとスケールの違いを検出できることになる。
Log-Polar 変換は以下の式で定義される座標変換である。
Log-Polar 変換の逆変換は以下の式で定義できる。
と表せる。このとき
で変化はないが、
あとは POC によって得られた
の関係から
が求まる。
を用いて整えつつ、離散フーリエ変換の作用素を導入しておくと
である(作用素を導入しておくとと書ける)。
で定義できる(同様にである)。
位相限定相関法では位相限定画像の内積を扱う。DFTした後の信号は複素数信号なので、振幅と位相の情報を持っており、それらの積の形に分解できる。すなわち
である。位相限定相関法においては、この画像の位相成分を位相限定画像(phase-only image)と呼ぶ。
位相限定画像を求めるには、DFTした画像を、それ自身の振幅で割ればよい。すなわち直感的にはであり、
である。ただし、あるにおいてのとき式の左辺は定義できない。より正確には式を満たしさえすればよいので振幅が 0 の周波数に対応する位相は任意である。実際の計算では分母に微小な正数を足すことで 0 割りによるエラーを防ぎつつ
位相限定画像は、直感的には画像の形状に関する情報を保持している。実際に位相限定画像を逆フーリエ変換で空間領域の関数に戻してからその実部を表示すると、元の画像が浮かび上がる。一応丁寧に書いておくと、
一般に、画像は低周波成分の振幅が大きく、高周波成分の振幅が小さい。そして高周波成分には画像の輪郭の情報が含まれているから、周波数領域での画像をその振幅で割った位相限定画像への変換は元の画像の輪郭を強調する変換であるとも解釈できる。
位相限定相関法は理論的には空間領域における位相限定画像を用いたテンプレートマッチングである。与えられたサイズの画像の中から、サイズのテンプレート画像が一致する場所を探す。
テンプレートが完全に一致する点では画像どうしの内積が最大になる。すなわちテンプレートマッチングの問題は
と書ける。位相限定相関法では代わりに位相限定画像どうしの内積が最大になる点を探す。つまり与えられた画像、テンプレート画像のそれぞれの位相限定画像をとおけば
ところで式や式の
の部分は、畳み込み積分によく似ている。実際これは2つの信号の間の相互相関関数(cross-correlation function)であり、片方の信号を反転して畳み込み積分をかけたものに一致する。信号との相互相関関数は
で定義され、とおけば式に一致する。さて、相互相関関数には畳み込み積分とほぼ同様の性質が成り立ち、
であり、再びとおいて、位相限定画像での議論に立ち戻れば、
となって、テンプレート画像をだけずらしたときの相互相関関数が求まることになる。あとは相互相関が最大になるを見つければよい。
解説に合わせて、画像としてプロットするときはを横軸、を縦軸としておこう。
元の画像の縦横がともに倍に引き伸ばされたとき、すなわちという変換を行ったとき、
である。つまりもとの画像を倍に拡大すると、Log-Polar 変換後の画像は左側にだけシフトする。
元の画像を反時計回りにだけ回転させる座標変換は
となる。したがって Log-Polar 変換後の画像は上にだけシフトする。