opencv - 支持向量机一对一训练

标签 opencv image-processing svm libsvm

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

但这是一个非常昂贵的计算,因为我必须在基于系统组添加分类帧之后训练系统。后来我在添加5帧而不是10帧之后将其更改为训练,但是在计算方面似乎太昂贵了。

我遇到了一种方法,我不知道它是如何工作的,即“一对一培训”。在实现1对1训练时,我需要一些帮助,这样我就不会训练整个不同类别的训练集,而只是测试图像所属的那个训练集。

我的困惑是:如何分别训练后合并训练信息?

也许由于我是SVM的新手,所以我对这个概念的处理不正确,因此在这种情况下,请帮帮我。

最佳答案

如果我对您的理解正确,那么您就可以成功地对成对的类训练SVM。现在,您想知道如何结合这些SVM的答案来做出最终决定。

通常,为此使用最大投票策略。

如果您拥有受过训练的SVM,可以根据输出区分A类和B类,则它会投票给A类或B类。您可以对所有训练过的SVM进行投票。然后,得票最多的类(class)获胜。

关于opencv - 支持向量机一对一训练,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17667504/

相关文章:

image-processing - 如何将彩色图像从 RAW 格式转换为 JPEG 格式

java - 在 Java 中高效访问图像像素

r - 在 R 中绘制 SVM 线性分离器

python - 黑色时如何将BGR图像设置为另一个图像?

c++ - 基于处理所述源图像获得的Canny边缘轮廓在opencv中对源图像进行分割

c++ - opencv cv::max 行为意外

matlab - 如何在 Matlab 中围绕图像中对象的垂直轴进行旋转?

algorithm - 帮助我理解二进制 SVM 中的线性可分性

python - Okapi BM25的python实现

c++ - 矩阵在任何运算符后变得相同