位相相関と正規化相互相関


8

私はこれをMathematics Stack Exchangeで質問しましたが、この種の質問は通常ここで質問される境界とここで目にする質問の境界にあるため、ここでも質問します。(今のところ、私の質問に対する活動はありません。)

2次元の離散信号解析(具体的には画像処理)で、サイズと 2つの画像間の正規化相互相関で見つけた定義は次のとおりです。M×N g1(x,y)g2(x,y)

r1=(g1g2)(x,y)Normalized=m=0M1n=0N1[g1(m,n)g1¯][g2(x+m,y+n)g2¯]m=0M1n=0N1[g1(m,n)g1¯]2[g2(x+m,y+n)g2¯]2

これはnormxcorr2、JP LewisによるFast Normalized Cross-correlationアルゴリズムを使用していますが、MATLABのSignal Processing Toolboxの関数によって実行されると思われます。KuglinとHinesによって提案された位相相関法(正規化されたクロスパワースペクトルを使用)と比較して:

G1(u,v)=F{g1(x,y)}G2(u,v)=F{g2(x,y)}r2=F1{G1(u,v)G2(u,v)|G1(u,v)G2(u,v)|}

逆フーリエ変換の前に要素ごとの正規化を行わない場合、は正規化されていない相互相関と同じですが、フーリエ変換は信号が空間領域で繰り返されると想定している点が異なります。は、MATLABで結果の相関 "画像"を見ると予想どおりですが、は、メソッドをテストしている画像からほとんど不連続に見えますが、常に非常に滑らかになります(結果の画像は常に「むらがある」、r2r1r2r2r1r2r1ありません)。どうしてこれなの?フーリエドメインの要素ごとの正規化と関係があると思います。これは基本的に信号をトリミングするようなものですが、(逆)の既知のプロパティからこれを結論付ける方法はわかりませんこれが正しい仮定でさえある場合、フーリエ変換。

違いの例を次に示します(は、画像の特性の違いをより明確に示すために拡大されています)。同じ2つの画像に対して実行されます。r2

  • r1:正規化された相互相関

ここに画像の説明を入力してください

  • r2:位相相関

ここに画像の説明を入力してください

私の質問を要約すると:はそうではないのに、なぜは「むらがある」のですか?r2r1


1
SEではクロスポスティングの評価が低いため、1つのサイトで質問することを検討してください。読んでここに
ジル

それを指摘してくれてありがとう、私はそれがここで眉をひそめていることを知りませんでした。しかし、私は対立しています。(2つのうち)どのサイトが最も適切かはわかりません。あなたのリンクの上の答えは、「適切なクロスサイトであると人々が分類した多くの質問は、適切に書かれ、熟考された場合、単一のサイトで有効であることが証明されている」と述べています。単に情報を差し控えることなく、質問をどちらかのサイトによりふさわしいものにする方法がわかりません。私が考えることができる唯一のオプションは、あるサイトから削除して別のサイトに移動することですが、これは奇妙な解決策のようです。
Eric

ためにr2、デミーンg1してg2最初に適用してみてfftください r1そして、r2同じである必要があります。1つは空間ドメイン用、もう1つは周波数ドメイン用ですが、ノルムによる正規化を除いて同等です。
リー

回答:


1

私はこの難問を1次元のケースで遭遇しました。それが私がそれを提示する方法です。相関させたい2つの信号を考えます。 信号1(図パネルa)は減衰正弦波であり、信号2(図パネルb)は信号1の2つのインスタンスですが、振幅がわずかに異なります。

ここに画像の説明を入力してください

次に、質問で定義した正規化相互相関の使用を検討してください(図パネルc)。結果は、信号1からのピークと信号2からのピークが整列しているときにピーク振幅を持つ滑らかに振動する関数です。逆に、信号1のピークが信号2のトラフと一致する場合、正規化相互相関関数はトラフを持ちます。

次に、質問で定義したとおりに位相相関を使用することを検討してください(図パネルd)。位相相関には、2つの信号の絶対値(または振幅)の除算が含まれます。1Dの場合はベクトルで、2Dの場合は、質問のとおり、それが行列です。どちらの場合でも、その除数の値はゼロに非常に近い可能性があり、ゼロに近い値で除算すると、スパイクまたは不連続が発生します。

これにはいくつかの戦略があり、入力信号または位相相関関数のローパスフィルタリングが含まれます。スタックオーバーフローに関するこのページは役立つかもしれません:https : //stackoverflow.com/questions/30630632/performing-a-phase-correlation-with-fft-in-r

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.