Local Binary Pattern (LBP)

Figure 7.5: Pixels considered when extracting an 8-bit LBP descriptor as the circle radius varies.
Image fig_lbp

In the first version of LBP (OPM02), the descriptor was indistinguishable from the Census transform on a $3 \times 3$ window: for each image point, the 8 neighboring pixels are examined and thresholded using the central pixel, thereby generating an 8-bit string and, consequently, an integer descriptor ranging from 0 to 255.

This original concept was later extended to $n$ points along a circle of radius $\rho$ centered on the pixel whose feature is to be computed (Figure 7.5). Since a point on the circle does not normally fall exactly on a pixel, bilinear interpolation can be used to estimate the value to be thresholded when constructing the binary string.

The LBP operator produces $2^n$ possible values for each image point. When the image is rotated, the pixel values move along the circle and, consequently, the bits within the binary string also rotate. A rotation-invariant LBP operator can be obtained by normalizing the string using some transformation. One such transformation is, for example, to perform $n$ rotations of the binary string and select the one with the minimum value:

\begin{displaymath}
\text{LBP}_{r.i.} = \min_i \text{ROR}_i ( \text{LBP} ) \quad i \in [0, n-1]
\end{displaymath} (7.4)

Paolo medici
2026-10-01