LoG(Laplacian of Gaussian)算子和DoG(Difference of Gaussian)算子是图像处理中实现极值点检测(Blob Detection)的两种方法。通过利用高斯函数卷积操作进行尺度变换,可以在不同的尺度空间检测到关键点(Key Point)或兴趣点(Interest Point),实现尺度不变性(Scale invariance)的特征点检测。
Laplacian of Gaussian(LoG)
Laplace算子通过对图像求取二阶导数的零交叉点(zero-cross)来进行边缘检测,其计算公式如下:
$$nabla ^2 f(x,y)=dfrac{partial^2 f}{partial x^2} + dfrac{partial^2 f}{partial y^2}$$
由于微分运算对噪声比较敏感,可以先对图像进行高斯平滑滤波,再使用Laplace算子进行边缘检测,以降低噪声的影响。由此便形成了用于极值点检测的LoG算子。常用的二维高斯函数如下:
$$G_sigma(x,y)=dfrac{1}{sqrt {2pi sigma ^{2}}} exp(-dfrac{x^2+y^2}{2sigma ^2})$$
原图像与高斯核函数卷积后再做laplace运算
$$Delta [G_sigma(x,y) ast f(x,y)]=[Delta G_sigma(x,y)] ast f(x,y)$$
$$LoG = Delta G_sigma(x,y)=dfrac{partial^2 G_sigma(x,y)}{partial x^2} + dfrac{partial^2 G_sigma(x,y)}{partial y^2}=dfrac{x^2+y^2