Var*_*aro 20 signals signal-processing image-processing convolution correlation
任何人都可以向我解释相关和卷积的相似点和不同点吗?请解释背后的直觉,而不是数学方程(即翻转内核/脉冲).每个类别的图像处理域中的应用示例也将受到赞赏
Pau*_*aul 24
你可能会在dsp堆栈交换上获得更好的答案但是...对于初学者我发现了许多类似的术语,他们可能很难确定定义.
1,2,3和5非常相似
4,6是相似的
请注意,所有这些术语都有点产品
你询问了相关和卷积 - 这些在概念上是相同的,只是输出是在卷积中翻转的.我怀疑你可能一直在询问相关系数(如Pearson)和卷积/相关之间的区别.
先决条件
我假设您知道如何计算点积.给定两个相等大小的向量v和w,每个向量具有三个元素,代数点积为v [0]*w [0] + v [1]*w [1] + v [2]*w [2]
点数产品背后有很多理论来代表......
注意点积是一个单独的数字(标量),表示这两个矢量/点之间的映射v,w几何中经常计算使用点积的两个矢量之间角度的余弦.两个矢量之间的角度的余弦在-1和1之间,可以被认为是相似性的度量.
相关系数(Pearson)
相等长度v,w之间的相关系数简单地是两个零均值信号的点积(从v减去平均值v得到zmv并且从w得到zmw的平均值w - 这里zm是零均值的简写)除以zmv的大小和zmw.
产生介于-1和1之间的数字.接近零意味着很少的相关性,接近+/- 1是高相关性.它测量这两个向量之间的相似性.
有关更好的定义,请参见http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient.
卷积和相关
当我们想要关联/卷积v1和v2时,我们基本上计算了一系列点积并将它们放入输出向量中.假设v1是三个元素,v2是10个元素.我们计算的点积如下:
output[0] = v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]
output[1] = v1[0]*v2[1]+v1[1]*v2[2]+v1[2]*v2[3]
output[2] = v1[0]*v2[2]+v1[1]*v2[3]+v1[2]*v2[4]
output[3] = v1[0]*v2[3]+v1[1]*v2[4]+v1[2]*v2[5]
output[4] = v1[0]*v2[4]+v1[1]*v2[5]+v1[2]*v2[6]
output[5] = v1[0]*v2[7]+v1[1]*v2[8]+v1[2]*v2[9]
output[6] = v1[0]*v2[8]+v1[1]*v2[9]+v1[2]*v2[10] #note this is
#mathematically valid but might give you a run time error in a computer implementation
Run Code Online (Sandbox Code Playgroud)
如果需要真正的卷积,则可以翻转输出.
output[5] = v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]
output[4] = v1[0]*v2[1]+v1[1]*v2[2]+v1[2]*v2[3]
output[3] = v1[0]*v2[2]+v1[1]*v2[3]+v1[2]*v2[4]
output[2] = v1[0]*v2[3]+v1[1]*v2[4]+v1[2]*v2[5]
output[1] = v1[0]*v2[4]+v1[1]*v2[5]+v1[2]*v2[6]
output[0] = v1[0]*v2[7]+v1[1]*v2[8]+v1[2]*v2[9]
Run Code Online (Sandbox Code Playgroud)
请注意,为简单起见,我们在输出中只有少于10个元素我只计算v1和v2的卷积
另请注意,卷积只是一些点积.多年来,为了加速卷积,已经做了大量工作.扫描点产品很慢,可以通过首先将矢量转换为傅里叶基础空间然后计算单个矢量乘法然后反转结果来加速,尽管我不会在这里进行...
您可能希望查看这些资源以及Google搜索:在Python中计算Pearson相关性和重要性
小智 9
我得到的最佳答案来自这份文件:http://www.cs.umd.edu/~djacobs/CMSC426/Convolution.pdf
我只是要从文档中复制摘录:
"两者之间的关键区别在于卷积是关联的.也就是说,如果F和G是滤波器,那么F*(G I)=(F G)*I.如果你不相信这一点,试试一个简单的例子例如,使用F = G =( - 1 0 1).卷积是关联的非常方便.例如,假设我们想要平滑图像然后取其衍生物.我们可以通过卷积来实现这一点.使用高斯滤波器对图像进行卷积,然后将其与导数滤波器进行卷积.但我们可以将导数滤波器与高斯滤波器进行卷积,以生成称为高斯差分(DOG)的滤波器,然后将其与我们的图像进行卷积.关于这一点是DOG过滤器可以预先计算,我们只需要将一个过滤器与我们的图像卷积.
通常,人们使用卷积来进行平滑等图像处理操作,并使用相关性将模板与图像匹配.然后,我们不介意相关性不是关联的,因为将两个模板组合成一个具有相关性的模板并不合理,而我们可能经常想要将两个过滤器组合在一起进行卷积."