Hi,
I am implementing a BoF object detection and after training the SVM classifier I test it with the code below. My Problem is now that the classifier is not always right and I want to evaluate the quality of the matching. For example the tutorial about the extraction of SIFT/SURF Feature Points on http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html, a distance measure between the feature vectors allows to judge if a matching is good or not. With the BoF I have a Support Vector Machine telling me match / nomatch. How can I evaluate the quality of the matching??
Thanks!
cout << "eval file " << filepath << endl;
img = imread(filepath);
bowide.compute(img, keypoints, response_hist); //BOWImgDescriptorExtractor bowide
for (map<string,CvSVM>::iterator it = classes_classifiers.begin(); it != classes_classifiers.end(); ++it) {
float res = (*it).second.predict(response_hist,false);
cout << "class: " << (*it).first << ", response: " << res << endl;
}
// cout << "."; } cout << endl; closedir( dp );
cout <<"done"<<endl;
return 0;