問題タブ [convolution]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - Rの畳み込み
Rで直接畳み込みを行い、FFTを使用してから逆をとろうとしました。しかし、単純な観察からそれは正しくないようです。この例を見てください:
インデックス 0 を取りましょう。0 では、たたみ込みは単に x2$xt (24.610) の最後の値に h2$xt (0.003891051) の最初の値を掛けたものである必要があります。 0.4750436 からはかなり離れています。
私は何か間違ったことをしていますか?値が予想と大きく異なるのはなぜですか?
numpy - 1つの軸のみに沿った畳み込み
最初の軸の次元が同じ2つの2次元配列があります。Pythonでは、2番目の軸に沿って2つの行列のみを畳み込みたいと思います。C
最初の軸に沿った畳み込みも計算せずに、以下に進みたいと思います。
速い方法はありますか?
c++ - CUDA 畳み込み - 分離不可能なカーネル
分離不可能なカーネルを使用した画像畳み込みの効率的なバージョンを実装する必要があります (したがって、CUDA の SDK は FFT の例だけに役立ちますが、カーネル サイズが大きい場合にのみうまく機能することが明確に述べられています)。
私の頭に浮かぶようにゼロから実装することは別として、私の必要性は、アプリオリに未知のサイズのマトリックスとカーネルで動作することです(それらは20.000x20.000として10x10になる可能性があります、私は単にそれを予測することはできません)
FFT の例に関する提案は何ですか? (これがあなたの最良の選択である場合は、それがどのように機能するかを理解するための良い点を教えてください)
2 番目の選択 (自分で畳み込みを手動で実装する) については、メモリの結合を最大化するための提案は何ですか?
c++ - CUDAFFT-2の累乗
CUDA SDKのFFTの例を見ていて、疑問に思っています。パディングされたデータの半分が2の累乗であるのに、なぜCUFFTがはるかに高速なのですか?(周波数領域では半分が冗長であるため、半分)
2つのサイズの力で作業することのポイントは何ですか?
c++ - 分離可能なカーネルによる畳み込み
分離可能なカーネルを使用した CUDA SDK 畳み込みを見ています。簡単な質問がありますが、答えが見つかりません。
畳み込みがカーネルを与えるベクトルは、同じサイズである必要がありますか? 最初にベクトル 1x3 で行畳み込みを実行し、次に別のベクトル 5x1 で列畳み込みを実行できますか? それとも両方とも同じサイズにする必要がありますか?Google が役に立たない (または、答えを検索できない)
image-processing - CUDAの境界条件/ハロー領域への対処
私はCUDAで画像処理に取り組んでいますが、ピクセル処理に疑問があります。
m x m
畳み込みフィルターを適用するときに、画像の境界ピクセルでよく行われることは何ですか?
3 x 3
畳み込みカーネルで1
は、特にコードが共有メモリで改善されている場合、画像のピクセル境界を無視する方が扱いやすくなります。実際、この場合、特定のピクセルに利用可能なすべての近傍があるかどうかを確認する必要はありません(つまり、座標のピクセルが(0, 0)
左、左上、上に隣接していない)。1
ただし、元の画像のピクセル境界を削除すると、部分的な結果が生成される可能性があります。
それとは反対に、共有メモリの改善を使用する場合、つまり、たとえばピクセルをロードするが、内部を計算する場合にも、画像内のすべてのピクセルを処理したいと思います。この場合も、境界ピクセルを無視すると、より明確なコードが生成されます。16 x 16
14 x 14
この場合、通常何が行われますか?
誰かが通常、境界ピクセルを無視して私のアプローチを使用しますか?
もちろん、答えは問題の種類によって異なることは承知しています。つまり、ピクセル単位で2つの画像を追加しても、この問題は発生しません。
前もって感謝します。
matlab - MATLAB:行列値関数の畳み込み
このコードは、2次元行列値関数の1次元畳み込みを実行するために作成しました(kは私の時間インデックス、kendは10e3のオーダーです)。おそらく組み込み関数を使用して、これを行うためのより高速またはよりクリーンな方法はありますか?
matlab - Matlab での wavfile の畳み込み
wavread
畳み込みを使用してMatlabでエコーを生成する割り当てを行っていますが、実際に何をしているのかわかりません。出力は畳み込みで使用できるベクトルですか?
試してみたところ、「 A と B はベクトルでなければなりません」というエラーが表示されました。
別の質問: ウェーブ ファイルから取得した信号が の場合x(t)
、どうすれば取得できx(t-4)
ますか?
c# - 畳み込みを使用して、連続したサウンド ストリーム内のリファレンス オーディオ サンプルを見つける
より大きなオーディオ サンプルでリファレンス オーディオ サンプルを見つけることに関する私の以前の質問では、畳み込みを使用する必要があると提案されました。DSPUtil
を使用して、これを行うことができました。少し遊んで、オーディオ サンプルのさまざまな組み合わせを試して、結果がどうなるかを確認しました。データを視覚化するために、生の音声を数値として Excel にダンプし、この数値を使用してグラフを作成しました。ピークが見えますが、これがどのように役立つかはよくわかりません。私はこれらの問題を抱えています:
- ピークの位置から元のオーディオ サンプルの一致の開始位置を推測する方法がわかりません。
- これをオーディオの連続ストリームに適用する方法がわからないので、参照オーディオ サンプルが発生するとすぐに反応できます。
- 画像 2 と画像 4 (以下を参照) がなぜそんなに違うのか理解できませんが、どちらもそれ自体で畳み込まれた音声サンプルを表しています...
どんな助けでも大歓迎です。
次の図は、Excel を使用して分析した結果です。
- 末尾近くにリファレンス オーディオ (ビープ音) がある長いオーディオ サンプル:
- ビープ音はそれ自体に畳み込まれました:
- ビープ音と畳み込まれたビープ音のない長いオーディオ サンプル:
- ポイント 3 の長い音声サンプルは、それ自体と畳み込まれています。
更新と解決策:
Han の広範な支援のおかげで、目標を達成することができました。
FFT を使用せずに独自の遅い実装を行った後、高速な実装を提供するalglibを見つけました。私の問題には 1 つの基本的な前提があります。音声サンプルの 1 つが完全に別のサンプルに含まれているということです。
したがって、次のコードは、2 つのオーディオ サンプルのうち大きい方のサンプルのオフセットと、そのオフセットでの正規化された相互相関値を返します。1 は完全な相関を意味し、0 はまったく相関がないことを意味し、-1 は完全な負の相関を意味します。
報奨金:
新しい回答は必要ありません! ハンのこの質問への継続的な取り組みに対して賞金を授与するために、私はバウンティを開始しました!
math - 畳み込みが分離可能かどうかを判断するにはどうすればよいですか?
畳み込みカーネルを分離可能にするものは何ですか? 2D 畳み込みの代わりに 2 つの 1D 畳み込みを行うために、それらの分離可能な部分が何であるかをどのように判断できますか?
ありがとう