我知道拉普拉斯高斯滤波器可以通过高斯差分滤波器来近似,并且后者的两个 sigma 的比率应该是 1:1.6 以获得最佳近似值。但是,我不确定高斯差分中的两个 sigma 与高斯拉普拉斯算子的 sigma 有何关系。前者中较小的 sigma 是否等于后者的 sigma?是更大的sigma吗?或者关系是别的什么?
高斯的拉普拉斯算子中的 sigma 和高斯差中的两个 sigma 有什么关系?
信息处理
图像处理
高斯
2022-01-13 05:28:56
2个回答
我知道拉普拉斯高斯滤波器可以通过高斯差分滤波器来近似,并且后者的两个 sigma 的比率应该是 1:1.6 以获得最佳近似值
理论上,两个 sigma 之间的比率越小,近似值就越好。在实践中,你会在某些时候得到数值错误,但只要你使用浮点数,小于 1.6 的值会给你一个更好的近似值。
为了说明,我为 Mathematica 中的一些 k 值绘制了 LoG 和 DoG 的横截面:
如您所见,k=1.6 并不是一个理想的近似值。例如,k=1.1 会给出更接近的近似值。
但是您通常想要计算一系列 sigma 的 LoG 近似值。(否则,为什么要使用 DoG 近似?计算单个 LoG 滤波图像并不比计算单个 DoG 滤波图像更昂贵。)因此通常选择 k 的值,以便您可以计算一系列高斯滤波sigmas s, s k, s k^2, s*k^3...的图像,然后计算相邻高斯之间的差异。因此,如果您选择较小的 k,则必须为相同的 sigma 范围计算更多的高斯“层”。k=1.6 是在想要一个接近的近似值和不想计算太多不同的高斯之间进行权衡。
但是,我不确定高斯差分中的两个 sigma 与高斯拉普拉斯算子的 sigma 有何关系。前者中较小的 sigma 是否等于后者的 sigma?
从 wiki 页面上的公式@Libor 链接到,你可以看到,所以一些 sigma 的近似 LoG,你需要两个 sigmas和(至少在限制)。或者,就 k 而言:
也许这里的公式可以帮助你。
由于尺度空间表示满足扩散方程,LoG 可以计算为两个尺度空间切片之间的差异。
因此,在推导DoG公式时,我们首先用有限差分逼近LoG。我认为 sigma 的具体比率来自于这样一个事实,即首先采用单位步长来近似 LoG。