3

I want to train a dataset for face detection.

I'm gonna use LBP as weak classifiers and Adaboost for boosting them to one strong classifier.

I have positive and negative samples. Their size is 18x18 pixels. I'm dividing each picture to 9 sub-regions. In each block i am calculating each pixels LBP value. And count their frequency in block. So each block have 256 values as frequencies.

My question is, how can i use LBP in Adaboost? Adaboost expects a weak classifier, but LBP by itself cant classify an image. How can i modify Adaboost to select most important values from each block?

Can Vural
  • 2,222
  • 1
  • 28
  • 43
  • You can specify the weak learner for AdaBoost in the SciKit-Learn package for Python. There is an LBP implementation in the Python package Mahotas. You might be able to wrap LBP so it can be used as a weak learner for AdaBoost by giving it `fit`, `predict` and `score` methods. – Austin Richardson May 21 '13 at 17:31

1 Answers1

1

You need to turn LBP into something that returns a boolean, or maybe a +1/-1, or maybe a floating point number, depending on the flavor of AdaBoost that you are using. People usually accomplish this by applying a threshold to a floating point value. Then you can use it as a weak classifier in AB. I can tell you more if describe your LBP computation in more detail.

AlexK
  • 1,279
  • 8
  • 19