图像处理 – 卷积Vs相关
有谁能解释相关与卷积的相似之处和差异?请解释背后的直觉,而不是数学方程(即翻转内核/脉冲)..每个类别的图像处理域中的应用程序示例也将不胜感激
解决方法
您可能会在dsp堆栈交换中获得更好的答案,但是对于初学者,我发现了许多类似的术语,并且可能难以定义定义.
>相关性 1,2,3和5非常相似 4,6是相似的 请注意,所有这些术语都有点产品饲养头 你问关于相关和卷积 – 这些在概念上是一样的,除了输出被卷起来.我怀疑你可能会问过相关系数(如Pearson)和卷积/相关性之间的差异. 先决条件 我假设你知道如何计算点积.给定两个相等大小的向量v和w,每个具有三个元素,代数点积为v [0] * w [0] v [1] * w [1] v [2] * w [2] 点数产品在代表什么等方面有很多理论…. 注意点积是表示这两个向量/点v之间的映射的单个数字(标量).在几何中,几何常数计算使用点积的两个向量之间的角度的余弦值.两个向量之间的角度的余弦值在-1和1之间,可以被认为是相似度的度量. 相关系数(Pearson) 相等长度v,w之间的相关系数只是两个零平均信号的点积(从v得到zmv减去平均值v,从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 如果需要真正的卷积,则可以翻转输出. 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] 请注意,输出中的元素少于10个,为简单起见我仅在定义了v1和v2的情况下计算卷积 还要注意,卷积只是一些点阵产品.多年来,有相当多的工作能够加快卷积.扫描的点产物很慢,可以通过首先将向量转换为傅立叶基本空间,然后计算单个向量乘法,然后反转结果,可以加快,虽然我不会在这里进入… 你可能想看看这些资源以及谷歌搜索:Calculating Pearson correlation and significance in Python (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |