图像算法:Difference of Gaussian(DOG) 高斯函数差分
概念
Difference of Gaussian(DOG)是高斯函数的差分。
它是可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果,即去噪过程,
这里的Gaussian和高斯低通滤波器的高斯一样,是一个函数,即为正态分布函数。
同时,它对高斯拉普拉斯LoG的近似,在某一尺度上的特征检测可以通过对两个相邻高斯尺度空间的图像相减,得到DoG的响应值图像。
基本理论
首先,高斯函数表示定义为:
其次,两幅图像的高斯滤波表示为:
最后,将上面滤波得到的两幅图像g1和g2相减得到:
即:可以DOG表示为:
在具体图像处理中,就是将两幅图像在不同参数下的高斯滤波结果相减,得到DoG图。具体步骤如下所示:
第一步,计算不同参数下的DOG;
在图1,图2,图3,三种图像给了不同参数下的高斯滤波输出的效果,如下图所示:
图1:一个高斯平滑参数为0.3,另一个高斯平滑参数为0.4
图2:一个高斯平滑参数为0.6,另一个高斯平滑参数为0.7
图3 :一个高斯平滑参数为0.7,另一个高斯平滑参数为0.8
第二步,根据DOG,求角点。
根据理论:三维图中的最大值和最小值点是角点,如图所示:
标记红色当前像素点,绿色的圈标记邻接像素点,用这个方式,最多检测相邻尺度的26个像素点。如果它是所有邻接像素点的最大值或最小值点,则标记红色被标记为特征点,如此依次进行,则可以完成图像的特征点提取。
因此在第一步后,我们可以计算出的图1,图2,图3三个DOG图中求图2中是极值的点,如下图所示:
图5:黑色为极小值,白色为极大值
因此,原始图像上以显示的DOG角点检测结果,如下图所示:
参考资料
[1] Difference of Gaussian(DOG) http://fourier.eng.hmc.edu/e161/lectures/gradient/node10.html.
[2] Difference of Gaussian From Wikipedia, the free encyclopedia.
[3] Rafael C.Gonzalez, Rechard E.Woods at. el , "Digital Image Processing Using MatLab (Second Editon)",Gatesamark Publishing.
参考文章
1. https://blog.****.net/songzitea/article/details/8831909