我注意到 Vlfeat/Sift 为不同的图像生成相同数量的描述符,为什么?定向分配的目的是什么?描述符形成过程中似乎有类似的过程。我对 SIFT 很陌生,对 SIFT 中的很多东西感到困惑。谢谢你的帮助。
问问题
233 次
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 描述一组预定义的兴趣点。使用sift
VLFeat 命令行工具,您可以使用该--read-frames
选项执行此操作。
定向任务的目的是什么?
这是为了实现旋转不变性。如果您参考原始论文:
基于局部图像梯度方向为每个关键点位置分配一个或多个方向。所有未来的操作都是在相对于每个特征的指定方向、比例和位置进行转换的图像数据上执行的,从而为这些转换提供不变性。
于 2014-03-08T15:30:07.247 回答