我正在尝试训练自己的探测器与OpenCV :: HOGDescriptor一起使用,但我无法使现有的HOGDescriptor与我新训练的SVM一起工作.
我已经为正面和负面训练图像计算了HOG特征,标记了它们并使用CvSVM训练了SVM.我使用的参数是:
CvSVMParams params;
params.svm_type =CvSVM::EPS_SVR;
params.kernel_type = CvSVM::LINEAR;
params.C = 0.01;
params.p = 0.5;
Run Code Online (Sandbox Code Playgroud)
然后我计算支持向量的原始形式,这样我只得到一个向量而不是多个向量,并使用HOGDescriptor.setSVMDetector(向量)设置计算的支持向量;
当我使用CvSVM.predict()时,我能够使用SVM正确地对对象进行分类,但是HOGDescriptor.detect()或detectMultiScale()总是返回许多正匹配,并且不能给出准确的预测.
CvSVM.predict()使用原始支持向量进行分类,因此我计算原始形式的方式可能有问题.
是否有人训练过他们自己的探测器谁能指出我正确的方向?