Local Binary Patterns (LBP) is a type of feature used for classification in computer vision. LBP was first described in 1996.[1] It has since been found to be a powerful feature for texture classification; it has further been determined that when LBP is combined with the Histogram of oriented gradients (HOG) classifier, it yields the best classifier of humans (i.e. person vs. non-person) among the classifiers usually considered in academic literature[2].
Concept
The 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" occurring (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 the Support vector machine or some other machine-learning algorithm, to produce a classifier.
References
- ^ T. Ojala, M. Pietikäinen, and D. Harwood (1996), "A Comparative Study of Texture Measures with Classification Based on Feature Distributions", Pattern Recognition, vol. 29, pp. 51-59. This was the first article to describe LBP.
- ^ "An HOG-LBP Human Detector with Partial Occlusion Handling", Xiaoyu Wang, Tony X. Han, Shuicheng Yan, ICCV 2009