哈里斯角点检测的数学


23

这是哈里斯角点检测的数学表达式:

这是哈里斯角点检测的数学表达式。

但是我有以下疑问:

  1. v的物理意义是什么?许多参考文献说,这是窗口w移动的幅度。那么窗口移动了多少?一个或两个像素?uvw
  2. 窗口覆盖的像素位置上的总和是吗?
  3. 假设简单地X ÿ 是在单个像素的强度X ÿ 或在中心的窗口内的强度的总和X ÿ w(x,y)=1I(x,y)(x,y)(x,y)
  4. 根据Wiki,他们说图像是2D,用I表示,然后要求考虑区域,然后使用符号I x y (x,y)I(x,y)

我发现难以掌握数学解释。有人有主意吗?


2
查看有关Harris拐角检测器的讲座。很清楚:youtube.com/watch?

我在个人博客上写了一篇基于以上讲座的帖子。matlabcorner.wordpress.com/2012/11/17/...
安德烈Rubshtein

Answers:


31

该公式的含义确实非常简单。想象一下,您拍摄了两个相同大小的图像小区域,蓝色的区域和红色的区域:

在此处输入图片说明

窗口函数在红色矩形外部等于0(为简单起见,我们可以假定窗口在红色矩形内部只是恒定的)。因此,窗口功能会选择要查看的像素,并为每个像素分配相对权重。(最常见的是高斯窗口,因为它是旋转对称的,可以高效地计算和强调窗口中心附近的像素。)蓝色矩形移动了(u,v)。

接下来,您要计算标记为红色和蓝色的图像部分之间的平方差的总和,即,将它们逐像素相减,对差值求平方并求和(假设为简单起见,在我们要查找的区域中,窗口= 1在)。这为您提供了每个可能的(u,v)-> E(u,v)的一个数字。

让我们看看如果对不同的u / v值进行计算会发生什么:

首先保持v = 0:

在此处输入图片说明

这不足为奇:当图像部分之间的偏移(u,v)为0时,图像部分之间的差异最小。随着增加两个色块之间的距离,差异平方的总和也会增加。

保持u = 0:

在此处输入图片说明

该图看起来很相似,但是当您沿边缘方向移动蓝色矩形时,两个图像部分之间的平方差之和要小得多。

E(u,v)的完整图如下所示:

在此处输入图片说明

该图看起来有点像“峡谷”:如果将图像向峡谷方向移动,则只有很小的差异。这是因为此图像块具有主要的(垂直)方向。

我们可以对不同的图像补丁执行相同的操作:

在此处输入图片说明

在这里,E(u,v)的图看起来不同:

在此处输入图片说明

不管您以哪种方式移动补丁,它始终看起来都不同。

因此,函数E(u,v)的形状告诉我们有关图像补丁的一些信息

  • 如果E(u,v)到处都接近0,则您正在查看的图像补丁中没有纹理
  • 如果E(u,v)是“峡谷形”,则该贴片具有主导方向(这可以是边缘或纹理)
  • 如果E(u,v)是“圆锥形”,则该贴片具有纹理,但没有主导方向。这就是角落检测器正在寻找的补丁。

许多参考文献说,这是窗口“ w”移动的幅度...因此,窗口移动了多少?一个像素...两个像素?

通常,您根本不会计算E(u,v)。您只对(u,v)= {0,0)附近的形状感兴趣。因此,您只需要E(u,v)在(0,0)附近的泰勒展开式即可完全描述其“形状”。

窗口覆盖的像素位置上的总和是吗?

从数学上讲,让求和范围覆盖所有像素更为优雅。实际上,将窗口为0的像素相加没有任何意义。


THANX一吨Nikie ....
rotating_image

2
我知道您会在这里得到一个很好的答案,@ rotating_image
karlphillip 2012年

感谢名单karlphillip ..
rotating_image

1
一百万个投票!
声音
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.