Computer vision 如何将libsvm与词包直方图结合使用

Computer vision 如何将libsvm与词包直方图结合使用,computer-vision,histogram,classification,svm,libsvm,Computer Vision,Histogram,Classification,Svm,Libsvm,我已经成功地将图像转换为可视文字的直方图表示。它可以是以下简单的东西(标准化): 加起来是1 现在,如果我对上面的直方图有很多不同的迭代,我想用libsvm对它进行分类。但我被困在这里,我知道svmtrain的语法: model=svmtrain(label,training_matrix) 训练矩阵应该是我所有直方图的一个m x n矩阵 但是标签呢?我知道应该是+1,或者-1,但是负片是从哪里来的呢?培训矩阵中的所有内容都应该是代表班级的正面形象 我把每个直方图作为一个单独的实例来处理,这是

我已经成功地将图像转换为可视文字的直方图表示。它可以是以下简单的东西(标准化):

加起来是1

现在,如果我对上面的直方图有很多不同的迭代,我想用libsvm对它进行分类。但我被困在这里,我知道svmtrain的语法:

model=svmtrain(label,training_matrix)
训练矩阵应该是我所有直方图的一个m x n矩阵 但是标签呢?我知道应该是+1,或者-1,但是负片是从哪里来的呢?培训矩阵中的所有内容都应该是代表班级的正面形象


我把每个直方图作为一个单独的实例来处理,这是错误的吗?相反,如果我把每一个视觉单词都当作一个实例,那么我会从代表这个类的单词中得到否定。

我假设,你的类是具有视觉相似性的图像组。 然后:

  • 每个图像都是一个实例
    • 图像直方图作为一个变换/缩小的图像数据而不是别的,因此每个图像直方图也是一个实例
  • 直方图中的每个箱子都是一个特征
我建议您将直方图转换为文本文件,并使用二进制工具和进行第一次评估

然而,我想,如果颜色/强度不是对象的主要区别特征,那么仅直方图就不会给出好的结果


如果您的小图像上只有对象,且没有太多背景,则更好的快速解决方案是将图像缩小到例如32x32,并使用像素值作为特征。

通常使用SVM将实例(例如图像)分类为两个或更多类。你能澄清一下你的课程是什么吗?您是在尝试区分两种类型的图像,还是在给定图像中的“视觉文字”(例如,识别图像中的元素)?@etov我正在尝试对图像进行分类右侧,但您是在尝试对图像进行什么分类?i、 你有一些课程吗,比如人对风景对建筑?如果是这种情况,为了构建“人物”分类器,你可以使用“人物”图像作为正面示例,“风景”或“建筑物”图像作为负面示例。此外:如果你真的想对人物/建筑物等进行分类,直方图的准确度不会很高。
model=svmtrain(label,training_matrix)