4

我正在尝试在 matlab 中实现 SIFT。我正在关注 Lowe 2004 年的论文。我完成了关键点的计算并为它们分配了方向。(即所有八度音阶)。在实现描述符之前,我有一个疑问..我如何找到其他大小八度音阶中关键点的描述符。(如果原始图像大小为 256*256,则其他大小的八度音阶表示如 128*128,64*64)。

我的方法在下面解释。

  1. 在这里,我拍摄了 256*256 的图像,八度为 256*256,128*128,64*64,32*32 的图像。在每个 octave 5 图像(一个原始图像和 4 个模糊图像)。

  2. 我计算了所有八度音阶的关键点和方向。(在这个我每个八度有2个图像)。

  3. 大小为 128*128、64*64、32*32 的八度音阶中的关键点。如果我想在 256*256 的图像上表示这些关键点,我该如何表示?(我怀疑例如 64*64 图像的关键点范围高达 (64,64) )。

    如果答案是将 64*64 图像插值到 256*256。如何插入关键点(即位置、比例和方向)?

任何意见是极大的赞赏。谢谢。

4

2 回答 2

4

我建议您查看VLFeat的 SIFT 实现(围绕 C/C++ 代码的 mex 包装器)。深入研究源代码以找出他们在做什么以及为什么。与 Lowe 的论文进行比较。

于 2011-08-16T16:29:29.520 回答
0

我不确定你实际上指的是什么。是不是你被困在 matlab 中重现 sift 代码。如果是这样,您实际上不需要将较低比例图像中存在的关键点表示为原始比例。这些值连同它所在的八度音阶一起存储在一个“向量”中。在编码的后期阶段,倍频程数可用于进一步计算和执行匹配功能。

于 2011-08-23T21:20:26.193 回答