The LBP feature vector, in its simplest form, is created in the following manner: • Divide the examined window into 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's value, write "0". Otherwise, write "1". 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). This histogram can be seen as a 256-dimensional
feature vector. • Optionally normalize the histogram. • Concatenate (normalized) histograms of all cells. This gives a feature vector for the entire window. The feature vector can now be processed using the
Support vector machine,
extreme learning machines, or some other
machine learning algorithm to classify images. Such classifiers can be used for
face recognition or texture analysis. A useful extension to the original operator is the so-called uniform pattern, which can be used to reduce the length of the feature vector and implement a simple rotation invariant descriptor. This idea is motivated by the fact that some binary patterns occur more commonly in texture images than others. A local binary pattern is called uniform if the binary pattern contains at most two 0-1 or 1-0 transitions. For example, 00010000 (2 transitions) is a uniform pattern, but 01010100 (6 transitions) is not. In the computation of the LBP histogram, the histogram has a separate bin for every uniform pattern, and all non-uniform patterns are assigned to a single bin. Using uniform patterns, the length of the feature vector for a single cell reduces from 256 to 59. The 58 uniform binary patterns correspond to the integers 0, 1, 2, 3, 4, 6, 7, 8, 12, 14, 15, 16, 24, 28, 30, 31, 32, 48, 56, 60, 62, 63, 64, 96, 112, 120, 124, 126, 127, 128, 129, 131, 135, 143, 159, 191, 192, 193, 195, 199, 207, 223, 224, 225, 227, 231, 239, 240, 241, 243, 247, 248, 249, 251, 252, 253, 254 and 255. == Extensions ==