图像处理中自相关矩阵的特征值有什么意义?

use*_*501 1 math image-processing computer-vision

我正在使用Harris角点检测算法寻找角点.我正在阅读的参考文件建议我检查自相关矩阵的特征值.但是,我不明白角点是如何与自相关矩阵的特征值相关的.他们之间有什么关系?

ray*_*ica 7

自相关矩阵的特征值告诉你什么样的你在看功能.您正在计算的自相关基于您在图像中查看的图像补丁.

实际上,你所计算的是结构张量.哈里斯角点检测器算法通常将此矩阵称为自相关矩阵,但它实际上只是平方差的总和.结构张量是同一图像内两个图像块之间的平方差之和的2×2矩阵.

这就是你在Harris角点探测器意义上计算结构张量的方法:

胡说

给定图像中的图像补丁,IxIy在水平和垂直方向上表示图像补丁的偏导数.您可以使用任何标准卷积运算来实现这些偏导数图像,例如使用Prewitt或Sobel算子.

计算此矩阵后,在查看Harris角点检测器中的自相关矩阵时,需要查看三种情况.请注意,这是一个2 x 2矩阵,因此该矩阵有两个特征值.

  1. 如果两个特征值都接近0,那么您正在查看的图像补丁中没有感兴趣的特征点.
  2. 如果其中一个特征值较大而另一个特征值接近0,则表示您正处于边缘.
  3. 如果两个特征值都很大,那意味着我们正在观察的特征点是一个.

然而,已经注意到,计算特征值是计算上非常昂贵的操作,即使它仅用于2×2矩阵.因此,哈里斯提出了一个兴趣点测量,而不是计算特征值来确定某些东西是否有趣.基本上,当您计算此度量时,如果它超过某个设置阈值,那么您所拥有的是此修补程序中心内的一个角点.如果没有,则没有角点.

胡说

Mc是特定图像补丁的"得分",看看我们是否有角点. det是矩阵的决定因素,只要ad - bc你的2 x 2矩阵是形式的[a b; c d],并且trace它只是对角线的总和,或者a + d假设矩阵具有相同的形式:[a b; c d].kappa是一个可调参数,通常介于0.04和0.15之间.您设置的阈值,以确定我们是否有一个有趣的点或边缘高度取决于您的图像,所以你将不得不玩这个.

如果你想避免使用kappa,还有另一种方法来估计使用Noble的角测量来计算特征值:

胡说

epsilon是一些小常数,比如0.0001.再次,弄清楚你是否有一个有趣的点取决于你的形象.在找到图像中的所有角点后,人们通常会执行非最大抑制以抑制误报.这意味着您要检查围绕特定角点中心的角点附近.如果此中心角点没有最高分,则此角点将被删除.这也是因为如果您使用滑动窗口方法检测角点,很可能在只有一个或几个就足够的情况下,在有效角点附近有多个角点.


基本上,查看特征值的关键是检查您是否正在查看边缘,角点或根本没有任何东西.

  • 很解释.+1 (2认同)