0

我设法将图像转换为视觉词的直方图表示。它可能很简单,如下所示(标准化):

[0.1, 0.2, 0, 0.1, 0, 0.05, 0.3, 0, 0, 0, 0.2, 0.05, 0]

加起来 1

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

model=svmtrain(label,training_matrix)

训练矩阵应该只是我所有直方图的 amxn 矩阵,但是标签呢?我知道它应该是 +1 或 -1,但负面图像来自哪里?training_matrix 中的所有内容都应该是代表班级的正面图像。

将每个直方图视为一个单独的实例我错了吗?相反,如果我将每个视觉单词都视为一个实例,那么我会从代表类的单词中得到否定。

4

1 回答 1

0

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

  • 每个图像都是一个实例
    • 图像直方图只是转换/缩减的图像数据,因此每个图像直方图也是一个实例
  • 直方图中的每个 bin 都是一个特征

我建议,您将直方图转换为文本文件,并使用二进制工具和此描述进行第一次评估。

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

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

于 2014-08-12T17:38:17.340 回答