Local binary patterns
Appearance
Local Binary Patterns (abbreviated LBP) is a type of feature used for classification in computer vision. It was first described by Ojala, Pietikäinen and Harwood in 1996 [1] , and has since been found to be a powerful feature for texture classification. It has also been found that when combined with the HOG classifier, it yields the best classifier of humans (i.e. person vs. non-person), among the classifiers usually considered in academic literature[2].
Basic Idea
LBP feature vector, in its simplest form, is created in the following manner:
- Divide the examined window to cells (e.g. 16x16 pixels for each cell).
- For each pixel in a cell, compare the pixel to each of its 8 neighbors (on its left-top, left-middle, left-bottom, right-top, etc.). Follow the pixels along a circle, i.e. clockwise or counter-clockwise.
- Where the center pixel's value is greater than the neighbor, write "1". Otherwise, write "0". This gives an 8-digit binary number (which is usually converted to decimal for convenience).
- Compute the histogram, over the cell, of the frequency of each "number" occuring (i.e., each combination of which pixels are smaller and which are greater than the center).
- Optionally normalize the histogram.
- Concatenate normalized histograms of all cells. This gives the feature vector for the window.
The feature vector now can be processed using SVM or some other machine-learning algorithm, to produce a classifier.