繁体   English   中英

一袋词训练样本

[英]Bag of words training samples

我实施了Bag Of Words,一切顺利。 但是,我对一些步骤以及如何实现它感到困惑。

我可以创建弓形描述符作为创建样本的Bag中的最后一步,如此处所示bowDE.compute(img, keypoints, bow_descriptor); ..事情是我对下一步感到困惑。

我知道在BOW中我必须用非类(可乐)训练和测试一个类(汽车),我在bow_descriptor向量中创建的仅用于类车,因此我有仅适用于汽车的样本矢量。 以下是我培训系统和测试的问题。

1-我应该为类(可乐)制作一半的bow_descriptor向量,其余用于非类(可乐),或者我必须为非类(可乐)创建一个新的bow_descriptor?

2-我需要进行多级分类,在完成第一个班级(汽车)系统后,我需要训练一个新班级(公共汽车+火车等),我是否应该为每个班级创建一个新的训练模型,或者可以通过以前的培训进行培训程序(即培训班巴士,在同一系统中与班车一起训练)?

无论是为所有类创建一个对象还是为每个类创建一个对象都无关紧要,只要您对所有类使用相同的字典即可。 仅创建一个对象可能更经济。 但是提取的图像描述符应该是相同的。

关于多类SVM:

您使用了SVM标记。 所以我假设你想使用SVM。 存在使用SVM明确地进行多类分类的方法,更常见的是训练几个二进制SVM并将它们组合以获得多类结果。

您可以使用1对1设置,每个类对训练一个SVM。 为了测试,您可以在每个SVM上评估测试示例。 赢得那些决赛的班级最常成为你的最终成绩。

另一种流行的方法是1-vs-all SVM。 在这里,您可以为每个类训练一个SVM,其中当前类的样本标记为正,所有其他样本标记为负。 在测试期间,得分最高的班级获胜。

因此,如果要使用1-vs-1设置,则可以在添加新类时重用某些二进制SVM。 1-vs-All设置是不可能的,因为您需要将新类添加到每个SVM的负样本中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM