2013-03-23 72 views
2

我想通过旋转它们来标准化筛选描述符,以便水平方向与贴片的主要梯度方向对齐。SIFT方向标准化

我正在使用vl_feat库。在vl_feat中有没有任何方法来标准化筛选描述符?

使用matlab做这件事的有效方法是什么?

回答

3

我相信VLfeat中的人已经在主导梯度方向上定向。

这表明他们旋转,如果你看看这里:http://www.vlfeat.org/overview/sift.html

[f,d] = vl_sift(I) ; 

f是关键点的NX4矩阵。 N是关键点指标,另外4个是x位置,y位置,比例和方向。 d是N×128矩阵,其中N是关键点索引,并且128维属于SIFT描述符。


如果所有图像都是直角旋转的,实际上不使用旋转不变性是有益的。看到这篇文章假设重力矢量:https://dspace.cvut.cz/bitstream/handle/10467/9548/2009-Efficient-representation-of-local-geometry-for-large-scale-object-retrieval.pdf?sequence=1

+0

嗨,感谢您的答复。我不知道vl_sift是否旋转。我试图将一幅图像的特征点与另一幅图像进行匹配。在这种情况下,你认为我不需要将筛选特征旋转到其主导方向? – user570593 2013-03-23 16:38:05

+2

您目前拥有方向不变性(因为vl_sift默认会执行此操作)。我的第二点是:现在,文献中的共识是*如果你的图像都是直立的*那么最好将描述符保持不旋转。现在,如果您要取消转换您的SIFT描述符,您必须查看我发送给您的网页上的教程。 VL_sift允许一个Frames参数,取得您想要描述的关键点(fc变量:x,y,比例,方向),并为每个参数计算一个筛选的descrtiptor。如果您想要重力矢量,请将方向设置为0。 – Erotemic 2013-03-23 21:28:19