在二维卷积中翻转内核?

计算科学 图像处理
2021-12-06 00:24:21

参见: http: //www.songho.ca/dsp/convolution/convolution2d_example.html “首先,在水平和垂直方向翻转内核,即阴影框”

为什么我们首先需要在 2D 卷积中翻转内核?那么,为什么我们不能让它保持不变呢?

1个回答

卷积操作由这个翻转定义,例如对于 1D

(fg)(t) =deff(τ)g(tτ)dτ

如果没有翻转,则称为互相关,在 1D 中这是

(fg)(t) =deff(τ) g(t+τ)dτ

如果生成的内核没有什么不同,您不必进行翻转,例如等距过滤器。

使用卷积而不是互相关的一个原因是卷积是傅立叶域中的简单乘法,例如来自维基百科

F{fg}=kF{f}F{g}

在哪里k是一个常数,取决于所使用的傅里叶变换的归一化常数。

可以在维基百科上找到证明:

http://en.wikipedia.org/wiki/Convolution_theorem

互相关(无翻转)也可以在傅里叶域中完成,例如

F{fg}=(F{f})F{g}

在哪里(F{f})是的复共轭F{f}

卷积的另一个很好的特性是操作是可交换的,例如

f(x)g(x)=g(x)f(x)

而对于互相关则不是。

更好的是信号与狄拉克增量的卷积返回原始信号,移位,而互相关则返回翻转,移位的信号。

更多关于维基百科的信息在这里:

http://en.wikipedia.org/wiki/Cross-correlation

虽然只是简单的翻转,但卷积和互相关可以给出完全不同的结果,例如:

卷积与相关

(注意 y 轴范围的变化)。互相关结果的峰值恰好位于两个未翻转函数匹配的中心。归一化互相关通常用于模板匹配。卷积结果不同。

也可以看看:

https://dsp.stackexchange.com/questions/2654/what-is-the-difference-between-convolution-and-cross-correlation

数学家采取:https ://math.stackexchange.com/questions/353272/whats-the-difference-between-convolution-and-crosscorrelation