单词袋训练与测试opencv,matlab
为了对特定的数据集进行分类,我正在opencv中使用SIFT特性实现单词包。到目前为止,我一直致力于将描述符进行聚类并生成词汇表。正如我所知,我必须训练SVM。。。但是我有一些问题,我真的很困惑。主要问题是实施背后的概念,以下是我的问题: 1-当我提取特征并创建词汇表时,我是否要提取所有对象(比如说5个对象)的特征并将它们放在一个文件中,这样我就可以将它们放在一个包含所有单词的词汇表文件中?我以后在分类时会如何将它们分开 2-如何实现支持向量机?我知道openCV中使用的函数,但是怎么知道呢 3-我可以在MATLAB中完成这项工作,我指的是SVM训练的实现,但是是否有任何代码可以指导我完成我的工作?我看过Andrea Vedaldi使用的代码,但他每次只处理一个类和另一个问题,他没有展示如何创建他在练习中使用的.mat文件。我能找到的所有其他实现都没有使用SVM。所以,你也可以在这一点上指导 谢谢本地特色 使用SIFT时,通常需要提取局部特征。这意味着什么?你有你的图像,从这张图像你将定位点,你将从中提取局部特征向量。局部特征向量只是一个由数值组成的向量,用于描述从中提取的图像区域的视觉信息。尽管可以从图像A中提取的局部特征向量的数量不需要与可以从图像B中提取的特征向量的数量相同,但局部特征向量的数量分量(即其维数)始终相同 现在,如果您想使用局部特征向量对图像进行分类,您会遇到一个问题。在传统的图像分类中,每幅图像都由一个全局特征向量来描述,在机器学习的背景下,它可以看作是一组数值属性。但是,当您提取一组局部特征向量时,您没有图像分类所需的每个图像的全局表示。一种可以用来解决这个问题的技术是文字袋,也称为视觉文字袋(BoW) 视觉文字袋 以下是(非常)简化的弓算法:单词袋训练与测试opencv,matlab,matlab,opencv,image-processing,matlab-cvst,object-recognition,Matlab,Opencv,Image Processing,Matlab Cvst,Object Recognition,为了对特定的数据集进行分类,我正在opencv中使用SIFT特性实现单词包。到目前为止,我一直致力于将描述符进行聚类并生成词汇表。正如我所知,我必须训练SVM。。。但是我有一些问题,我真的很困惑。主要问题是实施背后的概念,以下是我的问题: 1-当我提取特征并创建词汇表时,我是否要提取所有对象(比如说5个对象)的特征并将它们放在一个文件中,这样我就可以将它们放在一个包含所有单词的词汇表文件中?我以后在分类时会如何将它们分开 2-如何实现支持向量机?我知道openCV中使用的函数,但是怎么知道呢 3
基本上,您只需根据设置全局特征向量和相应图像标签的格式,即基本上是一个CSV全局特征向量,后跟图像标签。这是一篇非常好的文章,介绍了使用OpenCV v2.2进行分类的单词包模型。 关于使用普通贝叶斯分类器进行图像分类的后续文章。 还包括在Caltech-256数据集上的200行代码演示 下面是一些可以直观感受图像分类过程的信息:
真的帮我澄清了很多问题。我希望它能帮助别人 VLFeat库实现了SIFT for Matlab以及其他功能,它有一个优秀的代码库。这个演示在哪里?在你提到的网站上,只有siftI看到了这个问题,我面临着和你一样的麻烦。发现此链接非常有用:。它也有一个MatlabZIP文件,但它是为32位处理器构建的。答案仍然不完整。明天我会努力完成它。我在等你完成它。到目前为止,我已经完成了4个步骤中的3个,我知道我必须创建柱状图。。但是我真的需要知道更多关于分类的训练和测试部分,你到目前为止写的东西真的很令人惊讶。我很长时间都不知道你编辑了这篇文章,因为我没有收到通知,这是一个如此精彩的答案,向我说明了我脑子里有这么多问题。。。。总之,我没有什么问题要问,它们可能对我和其他人有用。这些问题,我已经做了你所说的关于直方图的内容,我创建了一个文件,其中包含一个代码本单词,它是10幅图像的SIFT特征的100*128向量,我做了100个单词,因为我想做简单的单词,然后用我的工作更新它,,,所以我的问题是,对于物体“车”,这些词我能训练它们并假设它们吗