1

在 FFT2D 论文中

http://developer.download.nvidia.com/compute/cuda/2_2/sdk/website/projects/convolutionFFT2D/doc/convolutionFFT2D.pdf

在图 1 和图 2 中指出:

假设图像大于卷积核,实际中通常是这种情况,卷积核需要根据图 1 扩大到图像大小并进行填充。如图 2 和图 3 所示(见下文),带有扩展核的循环卷积等价于带有初始卷积核的循环卷积。

如果我对一个元素执行内核和图像之间的卷积,并尝试在扩展内核和同一元素的图像之间执行卷积,它会产生不同的结果。

我在某处读到“循环卷积”与经典的“卷积”相同,这是正确的吗?否则我应该如何解释这个?

4

1 回答 1

2

不,循环卷积,也称为循环卷积,与常规卷积不同。内核在循环卷积中“环绕”。

举个x=[1 2 3 4 5]例子h=[1 2 3]

首先,您翻转h并用零填充:h'=[0 0 3 2 1]. 然后为了得到第一个元素,你做通常的点积:

(x*h)[0] = 0*1 + 0*2 + 3*3 + 2*4 + 1*5

要获得第二个元素,您将内核移动一个并再次点:

(x*h)[1] = 0*1 + 1*2 + 2*3 + 3*4 + 0*5

与第三个相同。但是,要获得第四个,内核会环绕,因此您会得到:

(x*h)[3] = 2*1 + 3*2 + 0*3 + 0*4 + 1*5
于 2012-07-03T18:05:56.433 回答