SIFT / SURF中层和八度音程有什么区别?

时间:2016-04-08 14:05:36

标签: opencv feature-detection sift surf

我读过Lowe的论文(' 99&' 04),我想说我理解了他们中的大多数。我在youtube上看到了所有与SIFT相关的类,但是没有明确说明为什么我们要使用八度音程和图层?

我知道你通过计算不同sigma的~Laplacian然后你重新采样到分辨率的一半来获得下一个八度音,然后再次〜计算相同的sigmas的~Laplacian,在同一个八度音阶中获得更多的图层。第一个八度音阶。然后你就像你想做的那样多次这样做。

最初,我认为您使用图层(多个sigma)在一个图像上查找不同大小的要素,然后重新采样,以便为每个要素计算每个八度音阶(重新采样级别)的描述符,以便您获得不同比例的描述符,这些描述符可能更好地匹配另一个图像中类似比例的描述符。显然,我错了,每个特征只计算一个描述符,因为它是根据梯度方向计算的,所以无论如何它都是不变的。

但是这让我想知道,为什么我们需要重新采样,为什么不能或者不应该使用大量的层和一个八度音程(不重新采样)。这只是因为重新采样更便宜吗?如果是,为什么我们不重新取样?

我使用OpenCV进行了一项实验,以了解检测方法和检测结果。以下是我的观察:

1个八度,1层=>所有功能都具有完全相同的大小,如预期的那样,找到263个匹配

1个八度,2个层=>找到了1o1l测试的所有功能,以及其他一些比小的功能大约x1.35的功能,找到了326个匹配。

2个八度,1个层=>发现1o1l测试中的大多数功能(可能全部),加上其他一些x2一样大的功能,自从我重新采样一半,发现318次匹配后再次出现这种功能。

2个八度,2层=>功能具有x1大小,x1.35或x2大小。我无法找到任何x2.7尺寸,正如我预期的那样。只找到299场比赛。我认为现在有更多更接近的层,更多的东西看起来太相似而且没有通过比率测试,所以更多层,实际上可能会减少连接点的数量。

注意:〜符号表示排序。当我知道它不是确切的解释时,我会使用它,但确切的解释会更长,并且它不会为问题添加任何值。

0 个答案:

没有答案