高斯差分、拉普拉斯高斯小波和墨西哥帽小波有什么区别?

信息处理 图像处理 过滤器 小波 opencv 多尺度分析
2021-12-26 02:31:12

CV 中使用的三种技术看起来非常相似,但存在细微差别:

  • 高斯拉普拉斯算子:2[g(x,y,t)f(x,y)]
  • 高斯差:[g1(x,y,t)f(x,y)][g2(x,y,t)f(x,y)]
  • 与Ricker 小波的卷积Ricker(x,y,t)f(x,y)

据我目前了解:DoG 是 LoG 的近似值。两者都用于斑点检测,并且都基本上作为带通滤波器执行。与墨西哥 Hat/Ricker 小波的卷积似乎达到了非常相同的效果。

我已经将所有三种技术应用于脉冲信号(具有必要的缩放以获得相似的幅度),结果非常接近。事实上,LoG 和 Ricker 看起来几乎相同。我注意到的唯一真正的区别是 DoG,我有 2 个免费参数可以调整(σ1σ1) vs 1 用于 LoG 和 Ricker。我还发现小波是最简单/最快的,因为它可以通过单个卷积(通过在傅里叶空间中与内核的 FT 相乘来完成)与 DoG 的 2 和 LoG 的卷积加拉普拉斯算子来完成。

Ricker 小波卷积、高斯拉普拉斯算子和高斯差分的结果

  • 每种技术的比较优势/劣势是什么?
  • 是否存在不同的用例,其中一个胜过另一个?

我也有直觉认为,在离散样本上,LoG 和 Ricker 退化为相同的操作,因为2可以作为内核实现

[1,2,1]or[010141010]for 2D images
.

将该操作应用于高斯会产生 Ricker/Hat 小波。此外,由于 LoG 和 DoG 与热扩散方程有关,我认为我可以让两者都与足够的参数调整相匹配。

(我仍然被这些东西弄湿了,可以随时纠正/澄清这些!)

2个回答

高斯拉普拉斯

图像的高斯拉普拉斯 (LoG)f可以写成

2(fg)=f2g

g高斯核和卷积。即高斯核平滑后的图像的拉普拉斯与高斯核的拉普拉斯卷积后的图像相同。在 2D 情况下,该卷积可以进一步扩展为

f2g=f(2x2g+2y2g)=f2x2g+f2y2g

因此,可以将其计算为输入图像的两个卷积与高斯核的二阶导数的相加(在 3D 中,这是 3 个卷积等)。这很有趣,因为高斯核是可分离的,它的导数也是如此。那是,

f(x,y)g(x,y)=f(x,y)(g(x)g(y))=(f(x,y)g(x))g(y)

这意味着我们可以使用两个 1D 卷积来计算相同的东西,而不是 2D 卷积。这节省了大量的计算。对于最小的高斯核,每个维度都有 5 个样本。一个 2D 卷积需要 25 次乘法和加法,两个 1D 卷积需要 10 次。内核越大,或者图像中的维度越多,这些计算节省就越显着。

因此,可以使用四个 1D 卷积计算 LoG。但是,Log 内核本身是不可分离的。

有一个近似值,其中图像首先与高斯核卷积,然后2使用有限差分实现,导致 3x3 内核,中间为 -4,四个边缘邻居为 1。

Ricker 小波或墨西哥帽子算子与 LoG 相同,直至缩放和归一化

高斯差

图像的高斯差(DoG)f可以写成

fg(1)fg(2)=f(g(1)g(2))

因此,就像 LoG 一样,DoG 可以被视为单个不可分离的 2D 卷积或两个可分离卷积的总和(在这种情况下为差异)。这样看来,使用 DoG 比使用 LoG 似乎没有计算优势。然而,DoG 是一个可调带通滤波器,LoG 不能以同样的方式可调,应将其视为导数算子。DoG 也自然地出现在 scale-space 设置中,其中图像在许多尺度(具有不同 sigma 的高斯)上过滤,后续尺度之间的差异是一个 DoG。

DoG 内核有一个近似值是可分离的,将计算成本降低了一半,尽管该近似值不是各向同性的,导致滤波器的旋转依赖性。

我曾经(为我自己)展示了 LoG 和 DoG 的等价性,对于其中两个高斯内核之间的 sigma 差异非常小(直到缩放)的 DoG。我没有这方面的记录,但不难证明。

计算这些过滤器的其他形式

Laurent 的回答提到了递归过滤,而 OP 提到了傅里叶域中的计算。这些概念适用于 LoG 和 DoG。

可以使用因果和反因果 IIR 滤波器计算高斯及其数。所以上面提到的所有 1D 卷积都可以在 sigma 的恒定时间内应用。请注意,这仅对较大的 sigma 有效。

同样,任何卷积都可以在傅里叶域中计算,因此 DoG 和 LoG 2D 内核都可以转换到傅里叶域(或者更确切地说是在那里计算)并通过乘法应用。

综上所述

这两种方法的计算复杂度没有显着差异。我还没有找到使用 DoG 来近似 LoG 的充分理由。

Ricker 小波、(各向同性)Marr 小波、墨西哥帽或高斯拉普拉斯算子属于同一个概念:连续可容许小波(满足某些条件)。传统上,Ricker 小波是一维版本。Marr 小波或墨西哥帽子是在 2D 图像分解的上下文中给出的名称,您可以考虑例如多尺度几何表示的全景图的第 2.2 节,交织空间、方向和频率选择性,信号处理,2011,L. Jacques等人。高斯的拉普拉斯算子是多维泛化。

然而,在实践中,人们在不同的层次上接受不同类型的离散化。

我倾向于相信(除非给出更多细节)3×3应用于高斯的离散梯度核不是原始的 Ricker,而是一种简化,它解释了图中的细微差异。我对参考感兴趣。事实上,你至少可以有两个自然离散化3×3拉普拉斯算子(4 和 8 邻居):

(010141010)

要么

(111181111)
还有其他近似值,例如5×5内核,或高斯的拉普拉斯算子/拉普拉斯算子的其他化身

选择适当的方差比σ1σ2(通常在 1.6 左右),高斯差为LoG 提供了一个很好的可分离近似值(例如参见快速几乎高斯滤波,P. Kovesi)。这些高斯函数又可以通过递归近似高斯函数来近似。

但是已经使用了其他比率,例如在一些拉普拉斯金字塔中,这将 DoG 更多地变成了更通用的带通滤波器或边缘检测器。

最后参考:使用广义尺度空间兴趣点进行图像匹配,T. Lindeberg,2015。