タグ付けされた質問 「cross-correlation」

8
相互相関を実装して、2つのオーディオファイルが似ていることを証明するにはどうすればよいですか?
2つのオーディオファイルを相互相関させて、それらが類似していることを証明する必要があります。2つのオーディオファイルのFFTを取得し、それらのパワースペクトル値を別々の配列に格納しています。 それらを相互相関させて、それらが類似していることを証明するには、どのようにさらに進める必要がありますか?それを行うより良い方法はありますか?基本的なアイデアは、それを学び、適用するのに役立ちます。


2
実生活における独立した非相関データの例、およびそれらを測定/検出する方法
このデータのベクトル対この他のデータのベクトルは互いに独立している、または無相関などであると常に耳にしますが、これらの2つの概念に関する数学に出会うのは簡単ですが、実際の例にそれらを結び付けたいと思います人生、そしてこの関係を測定する方法を見つけます。 この観点から、私は次の組み合わせの2つの信号の例を探しています:(いくつかから始めます): 独立したAND(必然的に)無相関の2つの信号: 車のエンジンからのノイズ()と話しているときの声()。v 2 [ n ]v1[n]v1[n]v_1[n]v2[n]v2[n]v_2[n] 毎日の湿度の記録()およびダウジョーンズインデックス()。v 2 [ n ]v1[n]v1[n]v_1[n]v2[n]v2[n]v_2[n] Q1)これらの2つのベクトルを手にして、それらが独立していることをどのように測定/証明しますか?独立とは、pdfの積が結合pdfに等しいことを意味し、それは素晴らしいことですが、これらの2つのベクトルがあれば、どのように独立性を証明できますか? 独立していないがまだ相関していない2つの信号: Q2)ここでの例を考えることはできません...いくつかの例は何でしょうか?このような2つのベクトルの相互相関を取ることで相関性を測定できることはわかっていますが、それらが独立していないことをどのように証明しますか? 相関する2つの信号: メインホールのオペラ歌手の声を測定するベクトル。誰かが建物内のどこか、たとえばリハーサルルーム()からの声を録音します。v 2 [ n ]v1[n]v1[n]v_1[n]v2[n]v2[n]v_2[n] 車の心拍数()を継続的に測定し、後部のフロントガラスに当たる青色光の強度()も測定した場合、これらは非常に相関していると推測されます。 。:-)v 2 [ n ]v1[n]v1[n]v_1[n]v2[n]v2[n]v_2[n] Q3)q2に関連していますが、この経験的な観点から相互相関を測定する場合、それらのベクトルの内積を調べるだけで十分ですか(相互相関のピークの値であるため)?なぜ相互相関関数の他の値が重要なのでしょうか? 感謝します

2
画像内の対称領域/パターンを見つける
人間の背面の平均曲率を表す一連の画像があります。 私がやりたいのは、画像のその他の部分に類似した反映された「カウンターパート」を持つポイントの画像を「スキャン」することです(おそらく中央線に対して対称ですが、変形がある可能性があるため必ずしもそうではありません)。一部の画像合成技術では、これを使用して画像間の類似点を「自動検出」しますが、同じ画像の両側でそれらを検出したいです。 最終的な目標は、背中を対称的な「半分」に適応的に分割する、連続した、おそらく最も湾曲した縦線を見つけることです。 サンプル画像を下に配置します。すべての領域が対称ではないことに注意してください(具体的には、画像の中心のすぐ上で、赤い垂直「ストリップ」が右にずれています)。その領域は悪いスコアなどを受け取るはずですが、ローカル対称性は、より遠くに配置された対称点から定義されます。いずれにせよ、アルゴリズムをアプリケーションドメインに適合させる必要がありますが、私が目指しているのは、SOM相関/畳み込み/パターンマッチング戦略であり、既に何かがあるはずです。 (編集:下にさらに画像があり、さらに説明があります) 編集:要求に応じて、行儀が良く問題のあるより典型的な画像を含めます。しかし、カラーマップされた画像の代わりに、それらはグレースケール画像であるため、色はデータの大きさに直接関連します。これは、カラー画像では発生しませんでした(通信のためだけに提供されます)。グレーの画像はカラーの画像と比べてコントラストが欠けているように見えますが、データの勾配があり、必要に応じて適応的なコントラストで表示することができます。 1)非常に対称的な被写体の画像: 2)異なる瞬間の同じ被写体の画像。より多くの「機能」(より多くのグラデーション)がありますが、以前のように「対称」ではありません。 3)より一般的な凹型正中線の代わりに正中線に凸部(骨の突起、より明るい領域で示される)を備えた薄い若い被験者: 4)X線で確認された脊椎の逸脱のある若者(非対称性に注意): 5)典型的な「傾けられた」対象(ほとんどが湾曲した正中線の周りで対称的であり、それ自体は適切に「変形」していない): どんな助けも大歓迎です!

5
相互相関の前のアップサンプリングは役に立ちませんか?
2つの異なるセンサーからの2つの信号が相互相関し、到着時間遅延が相互相関関数のピークの横座標から計算される単純なケースを考えます。 さらに、両方のアンテナの次元の制約と、可能な最大サンプリングレートの制約により、可能な最大遅延は、10サンプルに対応するであると仮定します。DDD 問題: これらの制約のため、計算された遅延は0〜10サンプルの整数値、つまりから変動する可能性があります。私が本当に欲しいのは、アンテナに衝突する2つの信号間の遅延の分数遅延識別であり、次元やサンプリングレートの変更はオプションではないためです。0≤D≤100≤D≤100 \le D \le 10 いくつかの考え: 当然、この場合に最初に考えるのは、相互相関を実行する前に信号をアップサンプリングすることです。しかし、私はシステムに新しい情報を実際に追加していないので、これは何らかの形で「ごまかし」だと思います。 ある意味で、アップサンプリングがいかに「ごまかし」ではないのか理解できません。はい、現在観測されている周波数情報に基づいて信号を再構築していますが、これにより、たとえばと間で信号が本当に開始された場所を知ることができますか?この情報は、信号の真の非整数遅延開始が実際にであると判断した元の信号のどこに含まれていましたか?D = 8 D = 7.751D=7D=7D=7D=8D=8D=8D=7.751D=7.751D=7.751 質問): これは本当に「不正行為」ですか? そうでない場合、この新しい「情報」はどこから来るのでしょうか? はいの場合、非整数遅延時間を推定するために他にどのようなオプションが利用可能ですか? 遅延に対するサブサンプルの回答を集めるために、相互相関の結果をアップサンプリングすることは承知していますが、これも「不正」の形ではありませんか?相互相関前のアップサンプリングと異なるのはなぜですか? 実際にアップサンプリングが「不正」ではない場合、なぜサンプリングレートを上げる必要があるのでしょうか?(低いサンプリング信号を補間するよりも、ある意味でサンプリングレートが高い方が常に良いのではないでしょうか?) その場合、非常に低いレートでサンプリングし、必要なだけ補間することができます。信号を単純に私たちの心の欲求に補間するという観点から、これはサンプルレートを「無駄」にしないでしょうか?補間には計算時間がかかり、単純に高いサンプルレートで開始するのはそうではないことを理解していますが、それが唯一の理由ですか? ありがとう。

5
相互相関を使用したオシロスコープ信号の時間遅延推定
スコープから2つの信号を記録しました。次のようになります。 Matlabでそれらの間の時間遅延を測定したい。各信号には、サンプリング周波数が2001000.5の2000個のサンプルがあります。 データはcsvファイルにあります。これは私がこれまで持っているものです。 電圧レベルのみがcsvファイルに含まれるように、csvファイルから時間データを消去しました。 x1 = csvread('C://scope1.csv'); x2 = csvread('C://scope2.csv'); cc = xcorr(x1,x2); plot(cc); これにより、次の結果が得られます。 私が読んだことから、これらの信号の相互相関を取る必要があり、これは時間遅延に関連するピークを与えるはずです。しかし、これらの信号の相互相関を取ると、2000年にピークが得られますが、これは正しくないことがわかります。これらの信号を相互相関させる前に、これらの信号に対して何をすべきですか?ある方向を探しています。 編集:DCオフセットを削除した後、これは私が今得ている結果です: より明確な時間遅延を得るためにこれをクリーンアップする方法はありますか? 編集2:ファイルは次のとおりです 。http://dl.dropbox.com/u/10147354/scope1col.csv http://dl.dropbox.com/u/10147354/scope2col.csv

1
相関の正規化されたピークと、相関のピークを平均で割った値の違いは何ですか?
テンプレートと信号を考えると、信号がテンプレートとどの程度類似しているかという疑問が生じます。 従来、単純な相関アプローチが使用され、テンプレートと信号が相互相関され、結果全体が両方のノルムの積で正規化されます。これにより、-1から1の範囲の相互相関関数が得られ、類似度は、その中のピークのスコアとして与えられます。 これは、そのピークの値を取り、相互相関関数の平均または平均で除算することとどのように比較しますか? 代わりにここで何を測定していますか? 添付の図は私の例です。 それらの類似性の最良の測定値を取得するために、私は以下を検討する必要があるかどうか疑問に思っています。 ここに示すように、正規化された相互相関のピークだけですか? ピークを取るが、相互相関プロットの平均で割りますか? 私のテンプレートは、ご覧のようにデューティサイクルのある周期的な方形波になるので、ここにある他の2つのピークをどうにかして活用すべきではないでしょうか。 この場合、類似性の最良の尺度は何ですか? ありがとう! ディリップの編集: 相互相関二乗VS二乗ではない相互相関をプロットしましたが、メインピークが他のものよりも「シャープ」になることは確かですが、類似性を判断するためにどの計算を使用する必要があるかについて混乱しています... 私が理解しようとしているのは: 類似性の計算に他の二次ピークを使用できますか? これで二乗相互相関プロットができました。確かにメインピークがシャープになっていますが、これは最終的な類似性を判断するのにどのように役立ちますか? 再度、感謝します。 ディリップの編集: 小さなピークは、類似性の計算には役立ちません。重要なのはメインピークです。しかし、小さなピークは、信号がテンプレートのノイズの多いバージョンであるという推測をサポートします。」 ディリップに感謝します。私はそのステートメントに少し混乱しています。もし小さなピークが実際に信号がテンプレートのノイズの多いバージョンであるというサポートを提供しているなら、それは類似性の測定にも役立ちませんか? 私が混乱しているのは、正規化された相互相関関数のピークを類似性の1つおよび最後の測定として単純に使用し、残りの相互相関関数が何を/のように見えるかについて「気にしない」、または、クロスコーのピーク値とsome_other_metricも考慮する必要があります。 ピークのみが問題である場合、小さいピークと比較してメインピークを拡大するだけなので、関数を2乗するとどうして/なぜ二乗するのでしょうか?(より多くのノイズ耐性?) 長い説明と短い説明:相互相関関数のピークは、類似性の最終的な測定値としてのみ気にする必要がありますか、それとも、相互相関プロット全体も考慮する必要がありますか?(したがって、その平均値を調べることについての私の考え)。 再度、感謝します、 この場合のPS時間遅延は問題ではありません。そのため、このアプリケーションでは「問題ありません」。PPSテンプレートを制御できません。

1
自動相関vs相互相関vs畳み込みとそのアプリケーション
ウィキペディアから、自動相関は同じ信号で行われ、相互相関は異なる信号で行われることがわかりますが、これは実際にはアプリケーションの観点から何を意味するのでしょうか?常に同じ信号に相互相関を適用して同じ出力を得ることができます。そして、畳み込みでは、1つの信号が反転します。数学的には、式を理解します。 しかし、これらの3つはアプリケーションの観点から何を意味するのでしょうか。

1
オーディオ信号の時間遅延の測定
誰かが私に怒鳴る前に、私はこの質問が何度も尋ねられたことを完全に理解します。既存の質問と回答をすべて読んだことは間違いありませんが、問題の一部についてはまだ混乱しています。 閉鎖的な環境で音楽を再生する音源(A)があります。Aの録音に使用しているマイクがあります。同じ特性と長さ(サンプル数)を共有する2つのwavファイルが残ります。 私の目標は、Aがマイクに到達するのにかかった時間を計算することです。 相互相関(numpy)を使用して計算を実行しようとしています: # Delay estimation corr = numpy.convolve(original_audio, recorded_audio, 'full') delay = int(len(corr)/2) - numpy.argmax(corr) distance = delay / sample_rate * 343 # sample_rate == 22050, m/s = speed of sound print("Distance full: %.2f cm" % (distance * 100)) 300,000 cmの範囲の値を一貫して取得します。スピーカーとマイクの間の距離は約2フィートです。 これはすべて私にとってはまったく新しいことなので、明らかな何かが欠けていると確信しています。 前もって感謝します。

1
2つのスペクトル間のサブピクセルシフトを直接比較し、信頼できるエラーを取得
同じ天体の2つのスペクトルがあります。重要な質問はこれです:これらのスペクトル間の相対的なシフトを計算して、そのシフトで正確なエラーを取得するにはどうすればよいですか? まだ私と一緒にいるなら、もう少し詳しく。各スペクトルは、x値(波長)、y値(光束)、および誤差を持つ配列になります。波長シフトはサブピクセルになります。ピクセルが等間隔に配置されており、スペクトル全体に適用される波長シフトが1つだけであると仮定します。したがって、最終的な答えは、0.35 +/- 0.25ピクセルのようなものになります。 2つのスペクトルは、簡単にモデル化できない(そして周期的ではない)かなり複雑な吸収特性(ディップ)によって区切られた、多くの特徴のない連続体になります。2つのスペクトルを直接比較する方法を見つけたいのですが。 すべての人の最初の本能は相互相関を行うことですが、サブピクセルシフトを使用すると、スペクトル間を補間する必要があります(最初にスムージングすることによって?)。また、エラーが正しくなるには厄介なようです。 私の現在のアプローチは、ガウスカーネルとのたたみ込みによってデータを平滑化し、平滑化された結果をスプライン化し、2つのスプライン化されたスペクトルを比較することですが、信頼できません(特にエラー)。 これを正しく行う方法を誰かが知っていますか? これは、0.4ピクセルだけシフトされた2つのおもちゃのスペクトル(toy1.asciiおよびtoy2.asciiで書き出されます)を生成する短いpythonプログラムです。このおもちゃのモデルは単純なガウス機能を使用していますが、実際のデータは単純なモデルでは適合できないと想定しています。 import numpy as np import random as ra import scipy.signal as ss arraysize = 1000 fluxlevel = 100.0 noise = 2.0 signal_std = 15.0 signal_depth = 40.0 gaussian = lambda x: np.exp(-(mu-x)**2/ (2 * signal_std)) mu = 500.1 np.savetxt('toy1.ascii', zip(np.arange(arraysize), np.array([ra.normalvariate(fluxlevel, …

2
位相相関-ノイズ/ぼやけた画像のパフォーマンスが悪い?
1D 位相相関アルゴリズムのテストに成功し、2つの合成画像間の垂直シフトを特定しました。 しかし、実際の画像に移動すると、変換をまったく検出できません(ピークが0にあり、これは間違った結果です)。 次の画像があります。 そして、結果の位相相関(マグニチュード、リアル、イマジナリー): 画像の最初のスキャンラインは完全に白ですが、シフトは明らかに大きくなります(20ピクセル)。 予想される結果は、20行目の白い線で、合成画像または光ノイズでのみ発生します。 私のアルゴリズムは非常に単純です-各画像列について: ソースおよびターゲット画像列の1D FTを計算します(a=FT(A)、b=FT(B)) クロスパワースペクトルの計算(cross_power = a *. conj(b) / |a *. conj(b)|)- *.点ごとの乗算をconj(x)示し、複素共役を示します 位相相関の計算(phase = IFT(cross_power)) のすべての列で最大等級を見つけますphase。 コンセンサスピークの場所を見つける(たとえば、検出されたピークの場所の中央値) 実世界の(ノイズの多い)画像を処理するためにベースライン位相相関アルゴリズムを改善する方法を教えてください。 FFTベースの位相相関ではなく、NCC(正規化相互相関)を使用する必要がありますか? 更新 私はゼロパディングを試し、循環シフト(画像の単純な線形シフトのみが望ましい)によって引き起こされるエラーを除外し、Wikipediaの元の画像でこれをテストしました。 単一のピークが存在するはずなので、明らかにそこにあります。 ただし、ノイズを減らして実際に結果を改善するためにわずかなスムージング(ガウスぼかし)を実行すると、位相相関が完全に損なわれます。 これが拡張バージョンです-元のピークは弱く(なぜ??)、ゼロシフトの周りに新しいピークが現れました(なぜ??):

1
2つのオーディオトラックの同期
2つのオーディオトラックを同期するアルゴリズムを実装したいと思います。 2つのトラックはよく似ています。同じ部屋にある2つのマイクからの音(必ずしも音楽ではない)の2つの録音であると想像できます。これは、2つの異なる(線形)チャネルを通過する1つの信号として、異なる加法性ノイズとともに表示されることを意味します。 最初のアイデアは相互相関のピークを探すことかもしれませんが、このトピックに関する文献を見つけることは特に興味深いですが、見つけることができるすべての論文は2つの音楽トラックを同期させることです(クロマベースのオーディオ機能を使用) )、またはスコアとオーディオを同期します。彼らはまた、タイムワーピングがあるかもしれないと仮定しますが、それは私の場合には不必要な仮定です。

1
位相相関と正規化相互相関
私はこれをMathematics Stack Exchangeで質問しましたが、この種の質問は通常ここで質問される境界とここで目にする質問の境界にあるため、ここでも質問します。(今のところ、私の質問に対する活動はありません。) 2次元の離散信号解析(具体的には画像処理)で、サイズと 2つの画像間の正規化相互相関で見つけた定義は次のとおりです。M× NM×NM\times N g1(x 、y)g1(x,y)g_1(x, y)g2(x 、y)g2(x,y)g_2(x, y) r1= (g1⋆g2)(x 、y)N O R M 、L iはZ EのD=Σm = 0M− 1Σn = 0N− 1[g1(m 、n )−g1¯¯¯¯¯] [g2(x + m 、y+ n )−g2¯¯¯¯¯]Σm = 0M− 1Σn = 0N− 1[g1(m 、n )−g1¯¯¯¯¯]2[g2(x + m 、y+ n )−g2¯¯¯¯¯]2−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√r1=(g1⋆g2)(x,y)Normalized=∑m=0M−1∑n=0N−1[g1(m,n)−g1¯][g2(x+m,y+n)−g2¯]∑m=0M−1∑n=0N−1[g1(m,n)−g1¯]2[g2(x+m,y+n)−g2¯]2r_1 = (g_1 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.