本文主要内容:
1、从Harris角点检测到LoG算子再到DoG算子的过渡过程
2、对如何通过Harris矩阵判断角点的理解
3、归一化LoG算子
4、为什么边缘明明对应二阶导的零点,而在sift的算法中找的是极值点

Harris角点

下面这篇博客介绍了:

https://blog.csdn.net/lwzkiller/article/details/54633670

1、何为角点
2.、角点检测算法基本思想是什么?
3、如何用数学方法去刻画角点特征?
4、如何用构造的数学模型来判断角点响应?

我要补充的一点是:为什么M矩阵的特征值可以反映边缘的梯度大小(数学没有特别好,更多主观理解,少公式推导)

1、M矩阵为
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
权重矩阵不看,主要看矩阵:
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
需先了解的知识:矩阵对角化的几何意义是什么:
将矩阵理解为一个向量(/几个向量)在某一基坐标系下的坐标
而对角化就是换一组基坐标系,此基坐标系与向量方向一致,如下图所示:
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
对于矩阵
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
对角化就是将某一方向的投影即IxIy整为零,(而IxIy可以理解为均值为零的协方差,协方差为零,即梯度最大的方向和最小的方向)那我们就得到了相互正交的两个方向上的梯度,反映了边缘的梯度大小,对角化后的值即为特征值,这就是为什么特征值可以反映边缘梯度大小的原因。
几何上的表达如下所示:
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
对角化后得到特征值即对应上图中梯度变化最快和最慢的方向
(理解的也不是很清楚,可能有很多问题,欢迎指正,同时欢迎大家找我交流,一起进步)
以上也可以查:为什么矩阵的特征值代表了椭圆的长轴和短轴,都是矩阵相关的知识。

LoG算子

用一阶导求边缘存在几个问题:

  1. 噪声的影响,在噪声点处一阶导数也会取极大值
  2. 求解极大值的复杂性

因此,有了使用二阶导数的方法。这里主要考虑LoG算子,即高斯-拉普拉斯算子。
1、高斯算子克服了噪声的影响
2、用二阶导的零点来判断边缘
即先对图像进行高斯模糊,然后再求二阶导数,二阶导数等于0处对应的像素就是图像的边缘。
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
这里有一个当初困扰我很久的问题
为什么边缘明明对应二阶导的零点,而在sift的算法中找的是极值点。
请看另一篇博客:
https://blog.csdn.net/qq_42014026/article/details/109557062
尺度归一化LoG算子:
如下两张图片拍摄的尺度不同,不理解尺度的请先百度尺度的概念,直观就是一个对象离近拍和离远拍,如下图:
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
以上两张图由于尺度原因算出的LoG算子大小没有可比性,就无法将两个点匹配到一起,因此提出尺度归一化LoG算子
公式为:
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
为什么乘了sigma因子就有了可比性?
下图为Gaussian滤波曲线一阶导数:
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
此处参考:https://www.cnblogs.com/YiXiaoZhou/p/5892083.html
这篇真的写的很透彻,贼好嘞

DoG算子

DoG可以近似LoG的推导:
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
二维高斯函数都知道吧,这一步就很好推
sift算子,从Harris角点检测到LoG算子再到DoG算子的过程详解
因为k-1是常量不影响函数极值点,所以检测归一化的LoG在尺度空间的极值,即近似于检测DoG空间的极值。

相关文章:

  • 2021-07-15
  • 2021-10-18
  • 2021-12-02
  • 2021-07-07
  • 2021-08-15
  • 2021-09-15
猜你喜欢
  • 2021-07-07
  • 2021-07-06
  • 2021-05-27
  • 2022-01-23
  • 2021-10-11
  • 2021-09-04
相关资源
相似解决方案