Ask Your Question

Training CvGBTrees/CvRTrees with Features?

asked 2013-01-21 22:00:35 -0600

joshuajnoble gravatar image

updated 2013-05-15 03:14:42 -0600

I'm trying to understand how to use keypoints or other non-HOG-based features for object recognition and I'd really like to try out CvGBTrees or another Random Trees based approach for this.

I have seen a few approaches that have used either hand selected points (i.e. in the points_classifier example included with OpenCV) and also that have used random sampling directly within the image to create a single vector which is then used with a CvRTrees.

Can anyone either confirm that features based detection is plausible or that verify that it isn't at all. Reshaping the descriptors returned from SIFT/SURF to use as training sets for CvRTrees doesn't seem possible, but I'm wondering if there's something that I'm not understanding.

Thanks for any advice or pointers to good resources to understand what feature detection techniques will work well with either CvRTrees or CvGBTrees.

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2013-05-15 16:01:29 -0600

Guanta gravatar image

It all depends on what you want to achieve. You can use an ML-algorithm directly on your features, then you need to select always a specific amount of features, maybe the 500 best ones or 500 random ones (like @joshuajnoble suggested). However if you want categorize images/objects you typically form a histogram of features and use that as input for your classifier, this is also known as Bag-of-Words (aka Bag-of-Features), see for more details.

Instead of keypoint-based features you can also use histograms of LBPs/HOGS/HAAR, the idea is the similar, however these texture features are not evaluated on keypoints but typically on the whole image/object. Note that the CascadeClassifier is also nothing else than applying texture-features with a form of AdaBoost.

@Sarevok: Please leave a comment if you have further questions or ask a separate question and don't answer with a non-answer ;) - thx.

edit flag offensive delete link more


Thanks for your answer.

Sarevok gravatar imageSarevok ( 2013-06-27 04:50:29 -0600 )edit

answered 2013-05-15 02:36:35 -0600

Sarevok gravatar image


did you come up with a solution to this? I'm currently facing the same problem, I want to use SIFT Features for Training a CVRtrees. At the moment I just use the matrix that Sift::compute() generates to train the trees, but the results are not really useful. But I think I'm missing something.

Any help on this would be appreciated.

edit flag offensive delete link more

Question Tools


Asked: 2013-01-21 22:00:35 -0600

Seen: 1,031 times

Last updated: May 15 '13