OpenCv3.0.0中的非线性SVM
non lineaire SVM in OpenCv 3.0.0
我正在C++中使用一个道路识别程序(visual studio 2013),我会用非线性SVM对路标进行分类,但我不知道如何在OpenCv 3.0中选择其参数。这就是我所尝试的,它将重新连接的道路分类为最佳类别(例如60 Km/h,80 Km/h…),但当我给它一条未被它重新连接的其他道路时,它将其分类为三个类别之一(60/80/100),你能告诉我OpenCv 3.0.0中非线性SVM的参数是什么吗?
svm = SVM::create();
svm->setType(SVM::C_SVC);
svm->setKernel(SVM::KernelTypes::LINEAR);
svm->setTermCriteria(TermCriteria(TermCriteria::MAX_ITER, 500, 1e-6));
toolStripStatusLabel1->Text = "Training begin .....";
Ptr<ml::TrainData> tData = ml::TrainData::create(trainingDataMat, ml::SampleTypes::ROW_SAMPLE, traningLabels);
svm->train(tData);
神经网络,就像大多数分类器一样,会将对象放入他们知道的类中。如果你告诉它世界存在三个类,它就会把世界放在这三个类中。没有什么大的惊喜。
有很多方法可以解决这个问题。到目前为止,最常见的是在训练中添加一个类别"其他",并为其提供数千张其他图像。
在这种特殊的情况下,我会使用3个额外的"其他"类别:形状相似的路标(即欧洲限速的圆形红边)、所有其他路牌,以及"非路牌"。
相关文章:
- 在 SVM-Struct 中未定义对 sqrt 的引用(已使用 -lm)
- 使用 SVM 进行分类,使用来自 Bag of Word 的词汇构建
- SVM 规模:找不到命令
- 将svm分类器设置为HOG检测器
- SVM 训练时间是否取决于输入数据的内容?
- 谷神星求解器:对非线性最小二乘法使用平滑近似
- OPENCV 3.4.1获取经过定制训练的线性SVM HOG DETECTMULTISCALE的原始形式
- 如何使用 dlib 训练或合并多个 .svm 并检测多个类
- 如何在OPENCV 2.4.13中导入训练有素的SVM检测器
- 如何使用2通道垫子中的OPENCV中使用SVM
- 如何在C++代码中使用 SVM Light?(可能无需从C++代码调用可执行文件)
- 贝叶斯和SVM分类器在OpenCV3中的实现
- 使用 boost::numeric::odeint 积分非线性函数 f'(x, y, z) = a + b*I
- OPENCV SVM-对象不属于任何受过训练的类
- C++中的对象序列化,用于存储 OpenCV 的 SVM 对象 [OpenCV 3.1.0]
- 断言 sv_count !=0 失败 - 函数 train_auto,SVM 类型 - EPS_SVR
- 支持向量机 (SVM) 与 K-NN 测试效率
- OpenCV 3 and SVM training
- 如何通过安卓NDK加载svm训练文件
- OpenCv3.0.0中的非线性SVM