2013-07-16 101 views
0

我正在使用Opencv svm进行图像分类。我的分类问题是对汽车,书籍等物体进行分类。一旦我确定了模型,我将测试图像添加到训练集中,然后使用1 vs所有训练方法训练系统。支持向量机一对一训练

但是这是一个非常计算成本昂贵的情况,因为我必须在添加基于组的分类帧后对系统进行训练。后来我改变它加入5帧后训练,比10帧,但它似乎太昂贵的计算interms。

我遇到了一种方法,我不知道它是如何工作,这是一对一培训。在实施1对1训练方面,我需要一些帮助,以便我不训练整个不同班级的训练集,而只是测试图像所属的训练集。

我的困惑是:我如何将培训信息分开后进行组合?

也许我错误地对待了这个概念,因为我是SVM的新手,所以在这种情况下只是帮助我。

+0

请为“一对一培训”提供参考。 –

回答

2

如果我正确地理解了你,你成功地训练了SVM在类对上。现在你想知道如何结合这些SVM的答案来得到最终决定。

通常使用最大投票策略。

如果您有一个经过训练可以区分A类和B类的SVM(取决于输出),它会对A类或B类投一票。您对所有已接受培训的SVM进行投票。然后获得最多选票的班级胜出。

+0

谢谢,例如。如果A类=汽车和B类=书,比我分别使用一节课进行培训。这是对的吗。 2)比我预测的两个训练班的测试图像是正确的吗?现在我的困惑是使用投票。如果我有2个班级,而不是我检查车的数量,那么我会在A班和1班(假)班中获得真实答案(1)。这里的投票是如何工作的?对不起,我是SVM的新手,我有点困惑。你能帮我解决这个问题吗 –

+0

你可能会混淆一对一和一类分类。在One-vs-One中,您可以采用二进制SVM并使用成对的类进行训练。但是你似乎使用了一类SVM,其中只有一个类用于训练。在这种情况下,您可以使用与边距距离最大的类,就像One-vs-All方法一样。如果没有确切的一个SVM返回“真”/ – sietschie

相关问题