CvSVM 问题

Posted

技术标签:

【中文标题】CvSVM 问题【英文标题】:CvSVM questions 【发布时间】:2011-08-23 20:23:22 【问题描述】:

使用opencv CvSVM的一些问题

    它使用什么样的 svm?是否使用 svmlight? OpenCV2.2 有 svmlight,但我找不到太多关于它的引用。

    如果我使用 CvSVM,我是否需要手动创建 80% 的训练数据和 20% 的测试数据,并重复 5 次重新验证以获得更好的输出?

    我正在使用 HOG 做一个检测器,我正在密切关注包装中的 opencv 示例行人检测器。我需要学习一个分类器来检测除行人之外的其他物体。任何建议将不胜感激。

谢谢!

【问题讨论】:

【参考方案1】:

    我很确定 OpenCV 2.1 和 2.2 使用 libsvm。看openCV's documentation。而且 libSVM 有很好的文档记录

    是的,您需要创建训练和测试数据。但是,CvSVM 会自动对您的训练数据进行交叉验证,无需自己拆分训练集。在函数train_auto中,查看默认参数int k_fold = 10,

    HOG 是一款相当不错的检测器,适用于任何具有刚性结构的物体。只需下载任何数据库,然后运行你的 HOG 东西。你可以找到很多数据库here。或者,为简单起见,转到Caltech 101,这是一个有 101 个类的好方法。如果这还不够,他们还让 Caltech 256 =)

    编辑:如果你说你想做一些与 HOG 不同的事情,我建议你使用本地补丁,例如 SIFT 或 SURF,它们都在 OpenCV 中 (Link to OpenCV's features2d

【讨论】:

以上是关于CvSVM 问题的主要内容,如果未能解决你的问题,请参考以下文章

CvSVM 回归只预测整数

未在此范围内声明 CvSVM 错误

如何从 CvSVM 计算置信度分数

将提取的 HoG 特征输入到 CvSVM 的训练函数中

cvSVM 训练对 HOGDescriptor 产生较差的结果

如何在 OpenCV 和 C++ 中配置 CvSVM 以进行图像分类