views:

128

answers:

2

How do you find the negative and positive training data sets of Haar features for the AdaBoost algorithm? So say you have a certain type of blob that you want to locate in an image and there are several of them in your entire array - how do you go about training it? I'd appreciate a nontechnical explanation as much as possible. I'm new to this. Thanks.

+2  A: 

First, AdaBoost does not necessarily have anything to do with Haar features. AdaBoost is a learning algorithm that combines weak learners to form a strong learner. Haar features are just a type of data on which an AdaBoost algorithm can learn.

Second, the best way to get them is to prearrange your data. So, if you want to do facial recognition a la Viola and Jones, you'll want to mark the faces in your images in a mask/overlay image. When you're training, you select samples from the image, as well as whether the sample you select is positive or negative. That positivity/negativity comes from your previous marking of the face (or whatever) in the image.

You'll have to make the actual implementation yourself, but you can use existing projects to either guide you, or you can modify their projects.

mmr
A: 

Thanks - but I'm still unclear about how you actually choose the positive/negative training samples. When you mark the type of blob or face or whatever that you want, how do you do that in a way that is automated? I thought AdaBoost is automated program. by the way, sorry I'm adding this as an answer not comment but I don't see a comment option.

palau1
You can't automate the marking of the blob-- that's the whole point. If you could automate the blob/face marking, you would have already solved the problem, because you would be automatically finding faces. You have to do it by hand, and then indicate to the learner which parts are the interesting parts and which ones aren't. Once the learner is finished, it will then be able to automatically mark things (if it works, that is-- these things take a lot of tweaking).
mmr