3

それぞれ約 1,000 万から 1,100 万の倍精度要素を持つ 16 の 1D 配列があります。それら全体で相互相関を実行する必要があります。つまり、1 と 2、1 と 3、...、1 と 16、2 と 3、2 と 4、...、2 と 16 などです。これは、4GB の RAM を搭載した私の MacBook Intel Core 2 duo 2.4 GHz では効率的に実行できません。私の質問は、人々がこの問題やそのような問題を克服するために使用するブルート フォース (より高速なプロセッサ、より多くの RAM) ではないにしても、典型的なアプローチは何ですか? ありがとう!

4

2 に答える 2

2

各配列のフーリエ変換を計算すると、変換された配列を使用して、元の入力配列の各ペア間の相互相関を効率的に計算できるはずです。使用する ID については、リンク先のウィキペディアの記事の「プロパティ」セクションを参照してください。

于 2012-04-04T22:43:56.470 に答える
1

numpyの相互相関関数は途方もなく遅いです。openCVライブラリには、使いやすい相互相関関数があります。周波数領域アプローチを実装しようとしても、相互相関計算を高速化するために利用できるトリックが他にもあるため、openCVライブラリに勝るものはありません。私は以前にこれについて投稿しました:

相互相関関数を計算しますか?

このコードは、次の論文で詳しく説明されているトリックに基づいていると思います。

JPルイス、「高速テンプレートマッチング」、Vision Interface、1995年、vol。95、120〜123ページ。

于 2012-04-10T20:51:42.923 に答える