opencv - SVM 训练 OpenCV

标签 opencv machine-learning svm training-data

我一直在使用少量图像(大约 20 张)来训练 SVM,我注意到在训练时,一张图片在结果。

有时它会有点准确,有时它会说一切都匹配,有时什么都不匹配。现在使用较小的图像集,我知道一个图像的影响会成比例地变大,但是除了反复试验之外还有什么可以辨别什么是好的训练集?您如何选择数百张图像进行训练?

这似乎有点重要的一步,让它继续前进

“好吧,这些图像似乎比那些图像运行得更好,现在如果我包含这些图像会怎样……”

即猜测。

最佳答案

您的问题不可能有一个广泛而明确的答案,因为(一如既往)它取决于应用场景的具体情况。

所以 tl;dr 版本:分析你的问题。

我想到了 3 种方法来收集您的训练集有用的证据:

  • 对您的训练数据使用无监督技术来验证它们的有用性(需要您实际分析问题并定义具体标准)。

  • 在没有选择性假设的情况下获取训练数据,但根据您的场景以相同的方式全部对其进行预处理。这可以是从规范化到转换的任何事情,以确保数据增长更稳定,例如学习噪声或不变性。

  • 在某些情况下(例如运行高度多样化数据的实时系统),您不想做出假设。您希望您的分类器考虑广泛的输入,因此您也选择广泛的训练集。

一般而言:如果您的训练集中的一张图片破坏了您的分类器,您需要确定是什么让该图片与众不同,并且最好使用更多与该图片相似的图片进行训练,以使其更加稳健。除非您可以确保经过训练的系统永远不会遇到这种类型的图像。

关于opencv - SVM 训练 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28836418/

相关文章:

machine-learning - LIBSVM 分类准确率 100% - 可能出了什么问题?

r - 支持向量机的训练和测试

python - 未触发 opencv 鼠标回调

artificial-intelligence - 脉冲(尖峰)神经网络是否优于循环神经网络?

tensorflow - 如何减少文档嵌入的维数?

tensorflow - Keras 自定义损失函数打印张量值

machine-learning - 如何加快训练过程

c++ - 使用 findContours openCV 时出现堆错误

c# - 关于OpenCV模板匹配

ios - 全方位的色相:OpenCV的HSV到RGB颜色转换