【问题标题】:classification with SVM using vocab build from Bag of Word使用来自 Bag of Word 的 vocab 构建的 SVM 分类
【发布时间】:2019-01-30 11:55:22
【问题描述】:

我的目的是构建一个分类器,使用我手动提取的模板对图像 ROI 进行正确分类

这是我所做的。 我的第一步是了解实现上述目标应该做些什么

我已经意识到我需要通过网络研究来创建(模板的)表示向量。因此,我使用 Bag of words 来创建词汇表

我已经使用并将Roy's project 重写为opencv 3.1,还使用了他的food database。在看到他的数据库时,我意识到有些图像包含多个类类型。我尝试剪辑图像,以便每个训练图像仅包含一类项目,但图像现在大小不同

我已尝试运行此代码。结果非常令人失望。它总是指向一个类。

我有什么问题?

  1. 我处理训练图像的步骤是否错误?我四处阅读,一些帖子建议图像大小必须是恒定的或至少是纵横比。我对此感到困惑。是否有一些工具可用于调整样本大小?

【问题讨论】:

  • 这取决于你如何提取描述符。如果它是从图像中提取的局部描述符,则样本图像的大小无关紧要。
  • @AccessDenied 所以我的第一步是正确的......想知道为什么 Roy 使用了整个图像(其中有几类对象)?
  • 因为图像可以包含多个对象。他使用的是局部描述符,因为他围绕兴趣点计算它们,而图像大小无关紧要。
  • @AccessDenied 哦,谢谢!

标签: c++ opencv svm


【解决方案1】:
  1. 样本图像的大小无关紧要,因为 Roy 的算法使用从附近兴趣点提取的局部描述符。
  2. SVM 是线性回归分类器,您需要为每个类训练不同的 SVM-s。对于每个班级,它会说它是属于那个班级还是其他班级。所谓的一对一。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-11
    • 2017-07-03
    • 2013-08-16
    • 1970-01-01
    • 2019-01-08
    • 2018-09-03
    • 2016-10-19
    • 2021-02-06
    相关资源
    最近更新 更多