Image processing SIFT/VLFEAT图像描述符

Image processing SIFT/VLFEAT图像描述符,image-processing,computer-vision,classification,sift,Image Processing,Computer Vision,Classification,Sift,我想执行一项分类任务,在该任务中,我将对象的给定图像映射到该对象可能所在的预定义星座列表中的一个(即,查找最可能的匹配)。 为了获得图像的描述符(我将在其上运行机器学习算法),建议使用SIFT和VLFeat实现 首先,我的主要问题是——我想忽略sift的关键点查找部分,而只将其用于描述符。在教程中,我看到有一个选项可以通过调用 [f,d]=vl_sift(I,'frames',fc); 其中fc指定了关键点。我的问题是我想显式地指定 边界框,我想在其中计算关键点周围的描述符-但似乎我只能指定

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

首先,我的主要问题是——我想忽略sift的关键点查找部分,而只将其用于描述符。在教程中,我看到有一个选项可以通过调用


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

其中fc指定了关键点。我的问题是我想显式地指定 边界框,我想在其中计算关键点周围的描述符-但似乎我只能指定一个比例参数,这对我来说有点神秘,不允许我显式指定边界框。有没有办法做到这一点

第二个问题是手动设置刻度并以这种方式获取描述符有意义吗?(即,产生一个好的描述符?)。关于获取描述符的更好方法,还有其他建议吗?(将SIFT与其他实现或其他非SIFT描述符一起使用)。我应该提到的是,我的对象始终是图像中唯一的对象,居中,具有恒定的照明,并通过其内部部分的某种旋转而改变-这就是为什么我认为SIFT会工作的原因,因为我理解它关注的是方向梯度,它会随着对象的旋转而相应地改变


谢谢

同意这样一个事实,即描述符比例看起来有点神秘

请参见中的第三个图像,其中使用以下命令将提取的描述符覆盖在图像上

h3 = vl_plotsiftdescriptor(d(:,sel),f(:,sel)) ;  
set(h3,'color','g') ;
因此,您可以使用scale,并查看提取直方图的区域是否与您期望的区域发生抖动

如果你对成像环境有那么多的控制权,那么SIFT听起来可能会对你的应用程序造成过度伤害,但它应该可以工作。

嘿。 这可能有助于浏览本论文的背景章节:

我需要时间来解释这个量表,所以试着读一下,看看相关的引文。顺便说一句,在这项工作中,描述符是以基本分辨率使用的,即标度~1


希望这有帮助。

也许我不理解这个问题,但是,如果查询图像必须与火车图像数据库匹配,并且火车图像和测试图像在照明、比例等方面都是恒定的。。。也许这里不需要筛选。你可以看看相关性。你在使用matlab吗

“这里”您可以看到一个使用与opencv相关的示例