SVM 训练 OpenCV

SVM training OpenCV

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

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

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

"well it seems to run better with these images and not those, now what if I include these..."

即猜测。

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

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

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

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

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

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

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