0

我注意到 Vlfeat/Sift 为不同的图像生成相同数量的描述符,为什么?定向分配的目的是什么?描述符形成过程中似乎有类似的过程。我对 SIFT 很陌生,对 SIFT 中的很多东西感到困惑。谢谢你的帮助。

4

1 回答 1

1

Vlfeat/Sift 为不同的图像生成相同数量的描述符,为什么?

除非您明确传递具有给定输入关键点(*) 的文件,否则描述符的数量一样,并且显然取决于输入图像内容。

例如,如果您将Starbucks 徽标Lena进行比较:

./sift --frames starbucks.pgm; wc -l starbucks.frame
 601 starbucks.frame

./sift --frames lena.pgm; wc -l lena.frame
1769 lena.frame

这里我使用了 300x300 像素的图像。--frames输出每条线具有一个位置、比例和方向的关键点。

(*) 这意味着您要求 VLFeat 描述一组预定义的兴趣点。使用siftVLFeat 命令行工具,您可以使用该--read-frames选项执行此操作。

定向任务的目的是什么?

这是为了实现旋转不变性。如果您参考原始论文

基于局部图像梯度方向为每个关键点位置分配一个或多个方向。所有未来的操作都是在相对于每个特征的指定方向、比例和位置进行转换的图像数据上执行的,从而为这些转换提供不变性。

于 2014-03-08T15:30:07.247 回答