【发布时间】:2014-04-11 09:14:01
【问题描述】:
我注意到 Vlfeat/Sift 为不同的图像生成相同数量的描述符,为什么? 定向分配的目的是什么?描述符形成过程中似乎有类似的过程。 我对 SIFT 很陌生,对 SIFT 中的很多东西感到困惑。感谢您的帮助。
【问题讨论】:
我注意到 Vlfeat/Sift 为不同的图像生成相同数量的描述符,为什么? 定向分配的目的是什么?描述符形成过程中似乎有类似的过程。 我对 SIFT 很陌生,对 SIFT 中的很多东西感到困惑。感谢您的帮助。
【问题讨论】:
Vlfeat/Sift 为不同的图像生成相同数量的描述符,为什么?
除非您明确传递带有given input keypoints (*) 的文件,否则描述符的数量不同 相同,并且显然取决于输入图像内容。
例如,如果您将Starbucks logo 与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 选项来执行此操作。
定向分配的目的是什么?
这是为了实现旋转不变性。如果参考original paper:
一个或多个方向被分配给基于局部的每个关键点位置 图像渐变方向。所有未来的操作都是在图像数据上执行的 已相对于指定的方向、比例和位置进行了变换 对于每个特征,从而为这些转换提供不变性。
【讨论】: