带SIFT/VLFEAT的图像描述符

问题描述:

我想执行一个分类任务,在该分类任务中,我将对象的给定图像映射到对象可以在其中的预定义星座列表之一(即找到最可能的匹配)。 为了得到图像的描述符(我将运行机器学习算法),我建议使用带有VLFeat实现的SIFT。带SIFT/VLFEAT的图像描述符

首先我的主要问题 - 我想忽略筛选的关键点发现部分,并只用它的描述符。在本教程中我看到有做正是一个选项,通过调用

[f,d] = vl_sift(I,'frames',fc) ;

其中fc指定的关键点。我的问题是我想明确指定围绕框的边界框,我想计算关键点周围的描述符 - 但似乎我只能指定一个缩放参数,它现在对我来说有点神秘,并且不会允许我明确指定边界框。有没有办法做到这一点?

第二个问题是没有手动设置规模和获得描述这样有意义吗? (即导致一个好的描述符?)。有关获取描述符的更好方法的任何其他建议? (在其他实现中使用SIFT或其他非SIFT描述符)。我应该提到,我的对象始终是图像中的唯一对象,以中心为中心,具有持续的照明,并通过其内部部件的某种旋转而发生变化 - 这就是为什么我认为SIFT会按照我理解的重点随着物体的旋转相应地改变的方向梯度。

谢谢

一致认为描述符尺度看起来有点神秘。

看到VLFeat SIFT tutorial第三图像,他们覆盖在图像上提取的描述符使用以下命令

h3 = vl_plotsiftdescriptor(d(:,sel),f(:,sel)) ; 
set(h3,'color','g') ; 

可以因此与规模玩,看看那里的直方图提取jives有什么区你的预期。

SIFT听起来像它可能如果你有在成像环境,太多的控制,但它应该适用于您的应用程序是矫枉过正。

嘿。 这可能有助于期待通过本文的背景章: http://www.cs.bris.ac.uk/Publications/pub_master.jsp?id=2001260

这需要时间对我来说,有关比例解释那么尝试阅读,并请参阅相关的引用。顺便说一下在工作中的描述符的基本分辨率,即规模〜1

希望这有助于使用。

也许是我没有理解问题,但是,如果查询图像必须对列车图像的数据库中进行匹配,并且两个训练和测试图像是照明不变,规模,......也许SIFT不是必要这里。你可以看看关联。你在用matlab吗?

http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching“这里的”您可以看到与使用OpenCV的相关性的例子。