jjzjj

c++ - 使用 OpenCV 在多类分类中获取 SVM 分类分数

我正在从事一个项目,我在OpenCV中使用SVM进行多类分类。我的目标是获得分类的置信度得分以及预测的类别。我怎样才能做到这一点?现在我正在做类似的事情floatresult=mysvm.predict(sample);由于类(class)数量相当多,我更愿意避免进行大量的一对一分类,然后再计算分数。由于OpenCVSVM是使用LibSVM实现的,我很确定有办法做到这一点,但看看http://docs.opencv.org/modules/ml/doc/support_vector_machines.html并没有真正的帮助。感谢您提供的任何意见。 最佳答案

c++ - cvSVM 训练对 HOGDescriptor 的结果很差

我的目标是训练SVM并获得支持vector,我可以将其插入opencv的HOGdescriptor以进行对象检测。我收集了4000~个正样本和15000~个负样本,并使用opencv提供的SVM进行训练。结果给了我太多误报。(每张图片最多20个)我会剪掉误报并将它们添加到负片池中以重新训练。有时我会得到更多的误报!我尝试将hogdescriptor的L2HysThreshold向上调整到300,但没有明显改善。我的阳性和阴性池是否足够大?SVM训练也比预期快得多。我曾尝试使用大小为2916和12996的特征向量,分别尝试使用灰度图像和彩色图像。SVM训练的时间从未超过20分钟。我使用a

c++ - OpenCV SVM 在火车上抛出异常, "Bad argument (There is only a single class)"

我卡在这个了。我正在尝试通过OpenCV特征2d框架进行一些对象分类,但在训练我的SVM时遇到了麻烦。我能够提取词汇表并使用BowKMeansTrainer对它们进行聚类,但在我从训练数据中提取特征以添加到训练器并运行SVM.train方法后,出现以下异常。OpenCVError:Badargument(Thereisonlyasingleclass)incvPreprocessCategoricalResponses,file/home/tbu/prog/OpenCV-2.4.2/modules/ml/src/inner_functions.cpp,line729terminatec

c++ - 如何为 libsvm 创建训练数据(作为 svm_node 结构)

我正在尝试使用libsvm以编程方式针对简单的异或问题训练支持vector机,以了解库的工作原理。问题(我认为)似乎是我错误地构造了svm_node;也许我无法理解整个指针指向指针的事情。有人可以帮忙吗?我首先为异或问题构造一个矩阵,然后尝试将矩阵中的值分配给svm_node(我在这里使用2个步骤,因为我的真实数据将采用矩阵格式)。当测试模型时,我得到了不正确的值(总是-1)。在上一个问题中,我得到了有关参数C和gamma的帮助;这些现在应该没问题了,因为我使用其他code得到了异或问题的正确分类.再次感谢Pedrom!我在几个地方搜索过答案,例如自述文件和SvmToy示例;然而没有运

c++ - libsvm c++ 教程

寻找libSVM的C++接口(interface)的教程和/或示例代码。具体来说,我想对使用SIFT或SURF特征描述符提取的特征进行分类。我尝试在网站上查找,但没有找到任何此类文档/示例代码。 最佳答案 LIBSVM站点提供了一些指向示例和教程的链接:http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/http://www.csie.ntu.edu.tw/~cjlin/libsvm/otherdocuments/index.html具体来说,C示例位于此处:http://www.csie.n

c++ - 在 CvSVM 上需要帮助

我找不到关于如何将SVM参数传递给opencvcvSvm类的正确引用。我得到了参数列表,但没有任何关于如何将参数转换为CV数据结构的教程。请问有什么帮助吗? 最佳答案 构造一个CvSVMParams对象。其成员是:svm_type:要使用的SVM算法kernel_type:SVM核形式degree:多项式内核的度数gamma:多项式、RBF或sigmoid内核的尺度coef0:多项式或sigmoid内核的偏移量C:选择支持vector的C比nu:nu-SVR算法的nu值p:eps-SVR的p值class_weights:C-SVM的

c++ - 使用opencv SVM训练火灾检测

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我正在使用SVM,因为我需要ML来训练我的分类器,我在几篇关于火灾探测的论文中看到他们使用了SVM和逻辑回归,但由于2.4.9中没有逻辑回归,我打算使用支持vector机。我正在使用opencv2.4.9,因为人们说opencv3有问题。我是新手所以如果我们从基础开始会很有帮助我准备了几个准备提取成帧的火和非火视频。我是opencv和分类器的新手。我的问题是训练分类器特别是SVM的基础知识是什么,我需要什

支持向量机(SVM)详解

支持向量机(supportvectormachines,SVM)是一种二分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。1、线性可分支持向量机与硬间隔最大化1.1、线性可分支持向量机考虑一个二分类问题。假设输入空间与特征空间为两个不同的空间,这两个空间的元素一一对应,并将输入空间的输入映射为特征空间中的特征向量,支持向量机的学习是在特征空间进行的。假设一个特征空间上的训练数据集T={(x1,y1),(x2,y2),⋯ ,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1​,y1​),(x2​

SVM+opencv实现车牌识别(含完整代码)

目录前言一、思路二、实现2.1预处理2.1.1导入所需模块2.1.2定义显示函数和高斯滤波灰度处理函数2.2提取车牌位置2.2.1原图2.2.2 图像二值化2.2.3从图像中提取对表达和描绘区域形状有意义的图像分量--闭操作2.2.4获得轮廓并截取图像 2.2.5 车牌二值化 2.2.6 车牌字符分割2.3模板匹配识别字符2.3.1模板匹配重复性操作2.3.2 输出结果2.3.3 结果可视化三、实现附上完整代码四、资源前言利用OpenCV基础知识实现车牌识别注:本文会将代码逐条分解,若觉得easy的可直接跳到最后,看如何在自己电脑上运行。一、思路OpenCV实现车牌号识别分四个步骤:(1)找到

ios - CvSVM中获取权重,OpenCV的SVM实现

我在iOS上使用OpenCV的SVM实现(基于LibSVM)。训练后是否可以得到权重向量?谢谢! 最佳答案 在处理它之后,我已经能够获得权重。为了获得权重,必须首先获得支持向量,然后将它们与alpha值相乘。//getthesvmweightsbymultiplyingthesupportvectorsbythealphavaluesintnumSupportVectors=SVM.get_support_vector_count();constfloat*supportVector;constCvSVMDecisionFunc*d