在FFT2D论文中
在图1和图2中说明:
假设图像大于卷积核,即 通常在实践中,卷积内核需要 根据图1扩展到图像大小并填充。尽可能 如图2和图3所示(见下文),循环卷积与 扩展内核相当于带初始的循环卷积 卷积核。
如果我在内核和元素的图像之间执行卷积,并且我尝试在扩展内核和相同元素的图像之间执行卷积,则会产生不同的结果。
我在某处读到“循环卷积”与经典的“卷积”相同,这是正确的吗?否则我该怎么解释呢?
答案 0 :(得分:2)
不,循环卷积(也称为circular convolution)与常规卷积不同。内核以循环卷积“包裹”。
以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
要获取第二个元素,将内核移过1并再次点:
(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