首页 文章

CvSVM是否会扩展培训数据?

提问于
浏览
0

我正在使用OpenCV的CvSVM来学习29个类的SVM分类器 .

该应用程序是人脸识别,我将脸部图像划分为3x6网格 . 对于网格中的每个块,我在从块中提取的SURF特征上训练SVM分类器 .

我在这里读到http://www.csie.ntu.edu.tw/~cjlin/talks.html,同样地扩展训练和测试数据非常重要 .

CvSVM是否会扩展数据?如果没有,OpenCV是否提供了我可用于进行缩放的任何功能?

1 回答

  • 0

    在实践中有一个非常好的跨平台库用于利用机器学习算法:
    http://www.nickgillian.com/software/grt

    我不知道OpenCV是否提供了扩展训练/测试数据的机会以获得更好的分类结果,但是使用GRT你可以做到:
    https://github.com/nickgillian/grt/blob/master/GRT/ClassificationModules/SVM/SVM.h

    ...
    @param bool useScaling: sets if the training/prediction data will be scaled to the default range of [-1. 1.]. The SVM algorithm commonly achieves a better classification result if scaling is turned on. The default useScaling value is useScaling=true
    ...
    SVM(UINT kernelType = LINEAR_KERNEL,UINT svmType = C_SVC,bool useScaling = true,bool useNullRejection = false,bool useAutoGamma = true,double gamma = 0.1,UINT degree = 3,double coef0 = 0,double nu = 0.5,double C = 1,bool useCrossValidation = false,UINT kFoldValue = 10);
    

    这也是libsvm的包装类 .

相关问题