Local Binary Pattern For Image Texture Analysis

November 25, 2017 Author: munishmishra04_3od47tgp
Print Friendly, PDF & Email

Nowadays, applications in the field of surveillance, banking and multimedia equipment are becoming more important, but since each application related to face analysis demands different requirements on the analysis process, almost all algorithms and approaches for face analysis are application dependent and a standardization or generalization is quite difficult. Local Binary Patterns (LBP) is a non-parametric descriptor whose aim is to efficiently summarize the local structures of images.

Local Binary Patterns (LBP): General Overview

Local Binary Patterns were first used in order to describe ordinary textures where the spatial relation was not as significant as it is for face images. A face can be seen as a composition of micro textures depending on the local situation. The LBP is basically divided into two different descriptors: a global and a local. The global is used for discriminating the most non-face objects (blocks), whereas the second provides specific and detailed face information which can be used not only to select faces, but also to provide face information for recognition. So the whole descriptor consists of a global texture and a local texture representation calculated by dividing the image into blocks and computing the texture histogram for each one. The results will be concatenated in a general descriptor vector. In such representation, the texture of facial regions is encoded by the LBP while the shape is recovered by the concatenation of different local histograms.

Local Binary Patterns (LBP): Definition

The local binary pattern operator is an image operator which transforms an image into an array or image of integer labels describing small-scale appearance of the image. These labels or their statistics, most commonly the histogram, are then used for further image analysis Local Binary Pattern (LBP) is a simple yet very efficient texture operator which labels the pixels of an image by Thresholding the neighborhood of each pixel and considers the result as a binary number. Due to its discriminative power and computational simplicity, LBP texture operator has become a popular approach in various applications. It can be seen as a unifying approach to the traditionally divergent statistical and structural models of texture analysis.

Local Binary Patterns (LBP): Example

The original LBP operator labels the pixels of an image with decimal numbers, called Local Binary Patterns or LBP codes, which encode the local structure around each pixel. It proceeds thus, as illustrated in Figure 1. Each pixel is compared with its eight neighbors in a 3×3 neighborhood by subtracting the center pixel value; The resulting strictly negative values are encoded with 0 and the others with 1; A binary number is obtained by concatenating all these binary codes in a clockwise direction starting from the top-left one and its corresponding decimal value is used for labeling. The derived binary numbers are referred to as Local Binary Patterns or LBP codes.

an Example of the basic LBP Operator

Figure 1: an Example of the basic Local Binary Pattern Operator

One limitation of the basic Local Binary Pattern operator is that its small 3×3 neighborhood cannot capture dominant features with large scale structures. To deal with the texture at different scales, the operator was later generalized to use neighborhoods of different sizes. A local neighborhood is defined as a set of sampling points evenly spaced on a circle which is centered at the pixel to be labeled, and the sampling points that do not fall within the pixels are interpolated using bilinear interpolation, thus allowing for any radius and any number of sampling points in the neighborhood. Fig. 2 shows some examples of the extended Local Binary Pattern operator, where the notation (P, R) denotes a neighborhood of P sampling points on a circle of radius of R.

Examples of the extended LBP operator

Figure 2: Examples of the extended Local Binary Pattern operator: the circular (8, 1), (16, 2), and (24, 3) neighborhoods

Formally, given a pixel at \( x_c,y_c \)the resulting Local Binary Pattern can be expressed in decimal form as:

\[ [LBP]_{P,R} (x_c, y_c)= ∑_{p=0}^{p-1}[s(i_p-i_c)2^p] \]

Where ​\( I_c \)​ and\( I_p \) are respectively gray-level values of the central pixel and P surrounding pixels in

the circle neighborhood with a radius R, and function ​\( s(x) \)​ is defined as:

\[ s(x) = 1 if x>=0 \]

\[ s(x)=0 if x< 0 \]

By the definition above, the basic Local Binary Pattern operator is invariant to monotonic gray-scale transformations preserving pixel intensity order in the local neighborhoods. The histogram of Local Binary Pattern labels calculated over a region can be exploited as a texture descriptor.

The operator ​\( LBP_{P,R} \)​  produces ​\( 2^p \)​ different output values, corresponding to ​\( 2^p \)​  different binary patterns formed by P pixels in the neighborhood. If the image is rotated, these surrounding pixels in each neighborhood will move correspondingly along the perimeter of the circle, resulting in a different LBP value, except patterns with only 1s and 0s.


[1] Huang, Di, Caifeng Shan, Mohsen Ardabilian and Liming Chen. “Local binary patterns and its application to facial image analysis: a survey” IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews) 41, no. 6 (2011): pp. 765-781.

[2] Petruk, Vladimir, and Altufievskoe Highway, “Application of local binary patterns to face recognition problem solving”, Final Report, Biomedical Technical Systems, Russia (2011).

[3] Matti Pietikäinen, “Local Binary Patterns”, available online at: http://www.scholarpedia.org/article/Local_Binary_Patterns

One Comment

  • Needed to draft you that very little remark to help say thank you once again for your personal remarkable ideas you’ve shown on this website. It’s quite open-handed of you to supply easily what exactly a number of us could have supplied for an electronic book to help make some cash for themselves, precisely since you could possibly have done it if you ever considered necessary. These tricks as well served as the good way to be certain that someone else have the identical desire just as my own to grasp lots more pertaining to this condition. I am certain there are lots of more pleasurable instances ahead for many who check out your blog.

Leave a Reply

Your email address will not be published. Required fields are marked *

Insert math as
Additional settings
Formula color
Text color
Type math using LaTeX
Nothing to preview