Energy analysis of image descriptors in texture classification

– Texture play important role in image description process. Texture classification is one of the problems which have been paid much attention on by computer vision scientists in last decade. If texture classification is done accurately, it can be used in many problems such as skin detection, surface defect detection, medical image analysis, gender identification, human identification, etc. Since now, many approaches are proposed to perform it. Most of them have tried to extract discriminative features to separate different texture types accurately. This paper has proposed an approach based on energy analysis of some efficient image descriptors such as median binary pattern, Local binary pattern and Gray Level Co-occurrence matrix. Next, by concatenating extracted features, a discriminative feature vector is defined. Finally, classifier is used to classify texture types. Although, this approach is a general one and is could be used in different applications. In the result part the proposed approach has been evaluated on some benchmark dataset. Next, the results have been compared with some of state-of-the-art approaches to prove the quality of the proposed approach.


Introduction
Human visual system use color, texture and shape information to identify objects [1]. Recent researches show that in most cases, texture features play more important role than color and shape. In last decade, and with the progress of the computer vision and image processing, texture classification turned out to be one of the main subjects in the literature of these sciences. As texture classification has a close relationship with the sciences such as machine learning, it functions in areas like face recognition [2], skin detection [3], gender classification [4], visual pattern recognition [5], object tracking [6], human identification [7], surface defect detection [8], image retrieval [9], medical image diagnosis [10], etc. The main challenges in texture classification relates to two points as follows: introducing the most discriminative features and selecting the most consistent classifier by extracted features. The techniques used to texture analysis or classification, are discussed in four categories, statistical approaches, Structural approaches filter based approaches, and model based approaches. Table 1 shows a summary list of some of the key texture analysis approaches that have been applied to Texture classification or segmentation. Clearly, statistical and filter based approaches have been very popular. Statistical texture analysis approaches measure the spatial distribution of pixel values. They are well rooted in the computer vision world and have been extensively applied to various tasks. A large number of statistical texture features have been proposed, ranging from first order statistics to higher order statistics. Amongst many, histogram statistics [11], co-occurrence matrices, autocorrelation, and local binary patterns have been applied to texture Analysis or Classification. In structural approaches, texture is characterized by texture primitives or texture elements, and the spatial arrangement of these primitives. Thus, the primary goals of structural approaches are firstly to extract texture primitives, and secondly to model or generalize the spatial placement rules. The texture primitive can be as simple as individual pixels, a region with uniform gray levels, or line segments. The placement rules can be obtained through modeling geometric relationships between primitives or learning statistical properties from texture primitives [12]. The filter based techniques largely share a common characteristic, which is applying filter banks on the image and compute the energy of the filter responses. The approaches can be divided into spatial domain, frequency domain, and joint spatial/spatial-frequency domain techniques. Model based approaches include, among many others, fractal models, autoregressive models, random field models, the epitome model, and the texel model. Energy amount is one of statistical measures that have most meaningful information of texture. The energy amount variation of a texture image in different situations may provide good features for classification. So, in this paper an approach is proposed to texture classification based on energy variation. The proposed approach includes two stages. In the first stage, the texture is processed by LBP, GLCM and edge operators. After that the energy amount of output images is computed. In the second stage, the energy amounts of first stage are compared by energy amount of original image to computation energy variation. So, in this stage, an accurate feature vector is provided to texture classification. In the result section, to prove this claim, by gathering some images of textures in 4 models of stones, and applying proposed approach on them, stone texture classification has been done. The high accuracy in texture classification in the results shows the quality of offered approach. The reminder of this paper is organized as follows: Section two is related to the description of Local binary pattern (LBP) algorithm and the way of this estimation. Section three is related to the description of Gray level Co-occurrence matrix (GLCM) algorithm. Section four has a brief description about the different aspects of the edge detection filters. Section five describes the main method of this paper and finally, the results and conclusion included.

Local Binary Pattern
One of the most popular texture analysis operators is Local Binary pattern (LBP) that was introduced in [13]. It is a gray-scale invariant texture measure computed from the analysis of a 3x3 local neighborhood over a central pixel. The LBP is based on a binary code describing the local texture pattern. This code is built by thresholding a local neighborhood by the gray value of its center. The eight neighbors are labeled using a binary code {0,1} obtained by comparing their values to the central pixel value. If the tested gray value is below the gray value of the central pixel, then it is labeled 0, otherwise it is assigned the value 1: is the obtained binary code, d i is the original pixel value at position i and d 0 is the central pixel value. With this technique there is 256 (2 8 ) possible patterns (or texture units). The obtained value is then multiplied by weights given to the corresponding pixels. The weight is given by the value 2i-1. Summing the obtained values gives the measure of the LBP:

∑
(2) Fig 1 shows an example on how to compute LBP. The original 3x3 neighborhood is given in Fig 1 (a). The central pixel value is used as a threshold in order to assign a binary value to its neighbors. Fig 1  (b) shows the result of thresholding the 3x3 neighborhood.

Figure1. A numeric example of LBP computation process
The obtained values are multiplied by their corresponding weights. The weights kernel is given by Fig  1 (c). The result is given in Fig 1 (d).

Median Binary Patterns
In some cases, LBP cannot provide discriminative feature due to using neighborhood's center intensity as threshold. Researches show that center intensity is not a suitable threshold to define local texture and local contrast [15][16][17]. In this respect, median binary Pattern (MBP) is developed. In the MBP process, a median intensity value between the neighbors is selected as threshold. Median filter is one the popular noise removal filters which remove impulse noises. A numeric example is shown in the figure 3.

Gray-Level Co-occurrence Matrix
In most images, the intensity distribution of pixels is unique. So, this property can be used to identify objects [18]. Gray Level Co-occurrence Matrix (GLCM) was proposed in [14] by Haralick and Shanmugam as an statistical image descriptor. It is very useful in texture analysis. It calculates the second order statistics related to image properties by considering the spatial relationship of pixels. GLCM depicts how often different combinations of gray levels co-occur in an image. The GLCM is created by calculating how often a pixel with the intensity value i occurs in a specific spatial relationship to a pixel with the value j. The spatial Relationship can be specified in different ways, the default one is between a pixel and its immediate neighbor to its right. However we can specify this relationship with different offsets and angles. The pixel at position (i,j) in GLCM is the sum of the number of times the (i ,j) relationship occurs in the image. Fig 4 describes how to compute the GLCM. It shows an image and its corresponding co-occurrence matrix using the default pixels spatial relationship (offset = +1 in x direction). For the pair (2,1) (pixel 2 followed at its right by pixel 1), it is found 2 times in the image, then the GLCM image will have 2 as a value in the position corresponding to I i =1 and I j =2. The GLCM matrix is a 256x256 matrix; I i and I j are the intensity values for an 8bit image. The GLCM can be computed for the eight directions around the pixel of interest (Fig. 5). Summing results from different directions lead to the isotropic GLCM and help achieve a rotation invariant GLCM (Fig 5). Most new GLCM versions is proposed yet [19,20]

Proposed Texture Classification Approach
In this section, a multi stage approach is proposed based on energy analysis of image descriptors for texture classification. The main block diagram of the proposed approach is shown in the Figure 7. In this approach, first of all, according to the algorithm described in section 2, the LBP image would be estimated for the input image. The energy amount of the LBP's image is then calculated by using equation (3).

∑ ∑
Where, "n" and "m" are the size of image and N(i,j) is the normalized processed image. Next, according to the algorithm mentioned in section 3, the second order statistics which is called GLCM, would be estimated for the original texture image. GLCM can be estimated in 8 directions and achieve one image in every direction. Afterward, the energy amount of the GLCM images would be computed by using equation (3). In the last part of processing, Sobel filter, the edges of entering original texture image would be recognized. In a same way like previous steps, the energy amount of the edge detected image is computed. In this point, every image has a feature vector like F. It is shown equation (4).

F=< Energy (MBP), Energy (LBP), Energy (GLCM)> (4)
In the second stage, the energy amount of original texture is computed. Next, it is compared by every dimensions of feature vector F. So, a feature vector like F′ would provide which has meaningful information about input image and can use for classification this kind of textures. It is shown in equation (5).

EXPERIMENTAL RESULTS
The main goal of this paper is to propose an efficient and accurate approach for texture classification. Thus, to get results and observe the efficiency of proposed approach five class labels of Brodatz [21][22] dataset were selected to collect dataset. Next, each class image is divided to 16 non-overlap images. The images have been processed by the approach offered in this paper, and the proposed features where computed for them according to section 5. To reduce the complexity and dataset's dimensions only GLCM was estimated in the 0 ' and 180 ' . Then there has been a dataset made consisting 80 instances, and 4 attributes. Every instance has a label which is the model of that stone. Finally, by using some of the classifiers such as KNN, NaiveBayes, and Bayesian-netwrok, and by using N.Fold method, the accuracy of the dataset that has been made for stone textures is computed, which is shown in the table2. In second and third rows of the table2, the stone textures were classified just based on LBP and GLCM images to compare the proposed approach with some of the previous approaches in term of accuracy. As it is shown in table1, the accuracy of the new approach is much higher than other previous approaches. As can be seen in the results, the proposed approach provides higher accuracy in comparison with some state-of-the-art methods in this scope [23][24][25]. Also, the proposed features in this paper, can be computed for all of type of images. So, it can be used in many other computer vision applications in learning phase.

CONCLUSION
The main aim of this paper was to propose an approach for texture classification. In this respect, the sections 2, 3 and 4 have algorithms of LBP, GLCM and edge estimations for the images and in section 5 the proposed approach has been offered and described thoroughly. As it was described in this approach, first the input images were processed based on the main box, shown in Fig6, then, the energy amounts were computed for the exiting images. In continuation, the energy variation is computed and the basic feature vector is provided. Next, in the result part is collated a dataset for three kinds of stones. Finally by using some classifiers and the N,Fold method, classification is done.
So the results showed that the features which have computed by proposed approach can use for classifying all kinds of stones by great accuracy. Results show that the proposed approach has a low computation and time complexity. Also, according to computation the global image energy, the proposed feature vector is not sensitive to noise. On the other hand, the proposed approach is rotation invariant because the energy amount of texture is independent of rotation. One interesting future research direction is to use the proposed approach to other computer vision applications such as texture segmentation [26], object tracking [27], visual inspection systems [28,29], plant identification [30,31]. Also future research direction is to use other operators such as Wavelet filters [32].