【发布时间】:2024-04-21 04:15:01
【问题描述】:
我正在使用 SIFT 功能在 opencv 中实现 Bag Of Words,以便对特定数据集进行分类。到目前为止,我一直在对描述符进行聚类并生成词汇表。据我所知,我必须训练 SVM ......但我有一些问题我真的很困惑。主要问题是实现背后的概念,这些是我的问题:
1- 当我提取特征然后创建词汇表时,我是否应该为所有对象(比如说 5 个对象)提取特征并将它们放在一个文件中,所以我将它们全部放在一个词汇表文件中有所有的话吗?以及稍后在进行分类时如何将它们分开?
2- 如何实现 SVM?我知道 openCV 中使用的函数,但如何?
3- 我可以在 MATLAB 中完成工作,我的意思是 SVM 训练的实施,但是有没有可用的代码可以指导我完成工作?我看过 Andrea Vedaldi 使用的代码, here,但他每次只使用一个类,另一个问题是他没有展示如何创建他在练习中使用的 .mat 文件。我能找到的所有其他实现,它们都没有使用 SVM。那么,你也可以在这一点上进行指导吗!
谢谢
【问题讨论】:
-
VLFeat 库,它为 Matlab 实现了 SIFT 等,有一个出色的 BOW demo 代码。
-
这个演示在哪里?在您提到的网站中只有 sift
-
我刚看到这个问题,遇到了和你一样的麻烦。发现此链接非常有用:masterravi.wordpress.com/2011/03/17/…。它还有一个 matlab zip 文件,但它是为 32 位处理器构建的。
标签: matlab opencv image-processing matlab-cvst object-recognition