使用OpenCV进行SVM分类
我在使用支持向量机(SVM)进行分类时遇到了问题。假设我有10个类别,也就是数字0到9。我可以训练SVM来识别这些类别,但有时候我会得到一些不是数字的图像,而SVM仍然会尝试将这些图像分类。有没有办法为SVM设置一个输出阈值,像我可以为神经网络设置的那样,以拒绝不好的图像?我可以请求一个代码示例吗(用C++或Python和OpenCV)?谢谢!
1 个回答
1
一种简单的方法是,你可以训练一个额外的分类器来判断你的特征是否是数字。可以把非数字的图片当作正例,把其他类别的正例(也就是0到9的数字图片)当作这个分类器的负例。为了让这个方法有效,你需要大量的非数字图片。此外,建议使用一些策略,比如选择“困难负例”:在第一次训练后被错误分类为“假阳性”的负样本,这些样本可以用来重新训练分类器。
希望这对你有帮助!