什么是适当的SVMParams用于纹理分析?

时间:2014-10-29 21:10:19

标签: opencv

我正在使用一篇名为“使用微观纹理分析从单个图像进行面部欺骗检测”的研究中使用面部欺骗检测器

它基于使用面部的统一59-bin LBP直方图训练SVM,以及来自http://parnec.nuaa.edu.cn/xtan/NUAAImposterDB_download.html的训练数据库。我使用整个面部的3x3邻域做了一个更简单的实现,因为其他研究表明,当我与其他分类器一起使用时,更简单的分析效果更好。

我现在遇到的问题是预测器根本不起作用;它总是返回1(即真实的脸),即使是来自训练数据库本身的假照片!

我的怀疑可能是SVMParams不正确。这个实现中有哪些适当的参数?这就是我现在所拥有的:

svmParams.svm_type = cv::SVM::C_SVC;
svmParams.kernel_type = cv::SVM::RBF;

1 个答案:

答案 0 :(得分:1)

没有 正确的参数 ,没有分析数据。如果您的数据是线性可分的,您可以使用线性内核,如果不是RBF内核会更好,或者您可以尝试其他内核。无论如何,您需要找到最佳参数。 C表示线性内核,Cgamma表示RBF内核。看起来你甚至没有设置这些参数。您的问题可能是参数,但不是内核类型,内核参数。请查看this

<强> EDIT

同样thisthis可能会对您有所帮助。