1 Introduction

TEXTURE classification plays an important role in many applications of computer vision and image processing. Some applications such as defect detection [7, 38], medical image analyzing [4], remote sensing [21], face recognition [45], and image retrieval [30] are related to texture classification. The main part of texture classification is feature extraction. There are many texture feature extraction methods. Statistical, model-based, structural and frequency-based are four main groups of texture analyzing techniques. Statistical methods are the most popular because they are simple and can be used for all types of textures. Moreover, they can be combined with some other methods to improve the accuracy of classification.

The matrix based methods such as Gray Level Co-occurrence Matrix (GLCM) [16] that used haralick features were one of the first statistical methods for texture feature extraction. Some other matrix based methods such as Gray Level Difference Method (GLDM), Gray Level Run Length Method (GLRLM) and as Spatial Gray Level Dependence Matrix (SGLDM) [12, 29] were proposed. These methods were simple but such as many other approaches were not rotation invariant and sensitive to gray scale change. In [22], the first rotation-invariant method of texture classification was proposed by Kashyap and Khotanzad using a circular autoregressive model. After that, many models were proposed to develop rotation invariant for texture classification, such as hidden Markov model [6] and Gaussian Markov random field [9]. Also, Varma and Zisserman [42] proposed a new rotation invariant method to learn texton dictionary from a training set of textures and classify the texture image based on its rotation invariant texton distribution. Furthermore, Varma and Zisserman [41, 43] proposed improved texton based algorithm by using the image local patch to extract features from textures. Some model based researches have recently been proposed for scale and affine invariant texture classification by using fractal analysis [40, 44] and affine adaption [24, 46].

One of the most important and simple statistical methods for texture feature extraction is Local Binary Pattern (LBP). Ojala et al. proposed basic LBP [33]. It is a simple descriptor to describe local patterns, and it has achieved high performance for texture classification [34]. LBP was introduced for texture classification but it has been used for many other applications, such as face recognition [1], dynamic texture recognition [48] and shape localization [18]. LBP is a method that is not sensitive to monotonic gray scale change but it extracts numerous features and is also sensitive to rotation. So Ojala et al. offered two rotation invariant LBP methods LBP riP,R and LBP riu2P,R [31, 35]. LBP riP,R or MinROR(LBPP,R) is a rotation invariant method but it also extracts too many features from each texture. LBP riu2P,R has become the most popular since it reduces the feature number significantly and prepares high discriminative features. Some other LBPs [19, 20, 26] were introduced that could extract more features for each texture than LBP riu2P,R . In these methods, such as Local Ternary Pattern (LTP) the number of features is increased exponentially when the neighbor points or number of threshold values of LBP increase [39].

In spite of all of the positive points of local binary pattern, there are some drawbacks. Like all other local operators, LBP is sensitive to noise. In addition, it extracts some features that determine only the uniformity of local patterns. In other words LBP cannot extract the dissimilarity of each local patch or non-uniform pattern completely. To compensate this drawback Ojala et al. combined LBP and variance of each neighborhood and LBP/VAR [34] was primed for better accuracy. Variance is a continuous value and it and requires quantization. In this paper a new method is proposed that uses the local entropy (ENT) of each neighborhood. Such as VAR, the ENT value determines the dissimilarity of each local patch. Therefore, the LBP/ENT provides the better performance than LBP. Furthermore, the accuracy of ENT is higher than VAR especially for noisy textures. Because the ENT features is more robust to noise than VAR. It should be considered that ENT is a basic operator such as LBP and it can be used and combined with other operators to provide more discriminative features. In addition, ENT can be compared with LBP rather than Entropy, because ENT is the entropy value of neighbor points of each circular neighborhood while the entropy is related to the pixels of a part or all of the image. Like variance, local entropy requires quantization. LBP/ENT is a rotation invariant method. The implementations on Outex [32], UIUC [24], CUReT [8] and MeasTex [37] datasets show that the performance of LBP/ENT is higher than that of LBP/VAR especially for noisy textures. The more noise in texture the better the performance obtained for entropy features than LBP or variance. By combining ENT with VAR, LBP and LTP and any other type of LBP the more resistant to noise features can be extracted from textures.

This paper is organized as follows: in section two LBP, VAR are explained. Section three presents entropy features calculations. Experimental and Conclusion are shown in section four and five, respectively.

2 Brief review of LBP and VAR

In this section, a brief review of local binary pattern (LBP) and local variance is prepared that can be used for texture classification.

2.1 Local binary pattern (LBP)

For each pixel in the texture image, a LBP code is computed by comparing that pixel with its neighbors. LBP features are not affected by any monotonic transformation of the gray scale. LBP generates binary codes by comparing P points of the neighbor points with respect to the center value. It generates a binary code 0 if the value of neighbor pixel is smaller than the center value of patch. Otherwise, it generates a binary code 1. Then the binary codes are multiplied with the corresponding weights and the results are outlined to generate an LBP code. This value is calculated as follows in Eqs. (1) and (2):

$$ {\mathrm{LBP}}_{\mathrm{P},\mathrm{R}\left(\mathrm{x},\mathrm{y}\right)}={\displaystyle \sum_{\mathrm{i}=0}^{\mathrm{P}-1}\mathrm{s}\left({\mathrm{g}}_{\mathrm{i}}-{\mathrm{g}}_{\mathrm{c}}\right){2}^{\mathrm{i}}} $$
(1)

Where gc is the pixel value of the center point and gi is the pixel value of i-th neighboring pixel, P is the number of neighbor pixels and R is the radius.

$$ \mathrm{s}\left({\mathrm{g}}_{\mathrm{i}}-{\mathrm{g}}_{\mathrm{c}}\right)=\left\{\begin{array}{c}\hfill 1\kern1.25em {\mathrm{g}}_{\mathrm{i}}\ge \kern0.5em {\mathrm{g}}_{\mathrm{c}}\hfill \\ {}\hfill 0\kern1.5em {\mathrm{g}}_{\mathrm{i}} < {g}_{\mathrm{c}}\hfill \end{array}\right. $$
(2)

Figure 1 shows the process of calculation of LBP code. In this figure the square neighborhood is used, but it is not rotation invariant. The circular neighborhood must be used for rotation invariant methods.

Fig. 1
figure 1

The process of calculating the LBP code

LBP of Eq. (1) is not rotation invariant and it extracts 2P features. If P is large, the number of features that are extracted by LBP increased significantly. There are many versions of LBP that extract textural features of image. Most of these methods are rotation invariant. To obtain rotation invariance, the original LBP was extended to a circular symmetric neighbor set of P members on a circular region with radius R using uniform patterns [34]. For circular neighbor points, it is necessary to interpolate each neighbor point value. Suppose the coordinate of gc is (0, 0), then the coordinates of gi are (R.cos(2πi/P), R.sin(2πi/P)). The gray values of neighbors that are not in the image grids can be estimated by interpolation. The rotation invariant uniform LBP (LBPriu2) can be obtained as follows (Eqs. (3)–(5)):

$$ {\mathrm{LBP}}_{\mathrm{P},\mathrm{R}}^{\mathrm{riu}2}\left(\mathrm{x},\mathrm{y}\right)=\left\{\begin{array}{ll}{\displaystyle \sum_{\mathrm{i}=0}^{\mathrm{P}-1}\mathrm{s}\left({\mathrm{g}}_{\mathrm{i}}-{\mathrm{g}}_{\mathrm{c}}\right)}\hfill & if\ U\left({\mathrm{LBP}}_{\mathrm{P},\mathrm{R}}\right)\le 2\hfill \\ {}P+1\hfill & otherwise\hfill \end{array}\right. $$
(3)
$$ \begin{array}{l}\mathrm{s}\left({\mathrm{g}}_{\mathrm{i}}-{\mathrm{g}}_{\mathrm{c}}\right)=\left\{\begin{array}{c}\hfill 1\kern1.25em {\mathrm{g}}_{\mathrm{i}}\ge \kern0.5em {\mathrm{g}}_{\mathrm{c}}\hfill \\ {}\hfill 0\kern1.5em {\mathrm{g}}_{\mathrm{i}}<\kern0.5em {g}_{\mathrm{c}}\hfill \end{array}\right.\hfill \\ {}\mathrm{U}\left({\mathrm{LBP}}_{\mathrm{P},\mathrm{R}}\right)=\left|\mathrm{s}\left({\mathrm{g}}_{\mathrm{P}-1}-{\mathrm{g}}_{\mathrm{c}}\right)-\mathrm{s}\left({\mathrm{g}}_0-{\mathrm{g}}_{\mathrm{c}}\right)\right|+\hfill \end{array} $$
(4)
$$ {\displaystyle \sum_{\mathrm{i}=1}^{\mathrm{P}}\left|\mathrm{s}\left({\mathrm{g}}_{\mathrm{i}}-{\mathrm{g}}_{\mathrm{c}}\right)-\mathrm{s}\left({\mathrm{g}}_{\mathrm{i}-1}-{\mathrm{g}}_{\mathrm{c}}\right)\right|} $$
(5)

Here, riu2 refers to the rotation invariant uniform patterns that have an uniformity (U) value of at most 2. U is used to estimate the uniformity that corresponds to the number of spatial transitions, i.e., bitwise 0/1 changes between successive bits in the circle. LBPri and LBPu2 are two other types of LBP that are used for texture classification. LBPri is a rotation invariant method but LBPu2 is not. Due to high feature number, both of these methods are very time consuming methods and are not suitable for real time and fast texture processing. LBPu2 extracts features from uniform patterns. It is not rotate-invariant but for not rotated and also noisy textures it provides high performance for classification. In this paper such as all researches LBPriu2 is used, because it is rotation invariant and extracts P + 2 features from each texture.

2.2 Variance (VAR)

Variance (VAR) is an attribute that shows dissimilarity properties. For texture classification, the local variance (VAR) is calculated for each circular neighbor that has radius R and P neighbor points. Eq. (7) illustrates the estimation of local VAR for each point (x,y) of image. First as it can be seen from Eq. (6) the average value of all neighbor points is calculated then it used in Eq. (7) for variance calculation.

The same as LBP, the variance uses P and R parameters for each local patch. In spite of LBP it is necessary to quantize the continuous values of variance into discrete values. The histogram of variance is prepared and each bin of histogram is used as a feature for texture classification. VAR can be combined with other features to improve the performance of classification. For example Ojala et al. proposed LBP/VAR [34] be joined to the histogram of LBP and histogram of local variances. It is used for rotation invariant texture classification. LBP prepares the uniform patterns and VAR provides the dissimilarity of each neighborhood. So LBP/VAR increases the classification accuracy significantly.

$$ \upmu =\frac{1}{\mathrm{P}}{\displaystyle \sum_{\mathrm{i}=0}^{\mathrm{P}-1}{\mathrm{g}}_{\mathrm{i}}} $$
(6)
$$ {\mathrm{VAR}}_{\mathrm{P},\mathrm{R}}\left(\mathrm{x},\mathrm{y}\right)=\frac{1}{\mathrm{P}}{\displaystyle \sum_{\mathrm{i}=0}^{\mathrm{P}-1}{\left({\mathrm{g}}_{\mathrm{i}}-\upmu \right)}^2} $$
(7)

3 Proposed method

In this section, first, the proposed method is explained, then differences between the proposed method and related ones are discussed. In addition, the computational time of proposed method is compared with other methods.

3.1 Entropy based features

Equation (8) shows entropy for a rectangular area of an image. It provides an entropy value for a M×N area. In this paper a new formula is proposed that estimates local entropy for each local patch. Equation (9) shows local entropy (ENT1) that is the estimation of entropy for a local patch around (x, y) point. The value of gray scale may be zero so it is added by 1. In Eq. (10) the local entropy of all neighbor points and center point is shown. This value is determined as ENT2. So ENT1 is a local entropy value of all neighbor points for each neighborhood, while ENT2 is the local entropy values of center and all of the neighbor points.

$$ {\mathrm{ENT}}_{x,y}=-{\displaystyle \sum_{\mathrm{i}=1}^{\mathrm{M}}{\displaystyle \sum_{\mathrm{j}=1}^{\mathrm{N}}{\mathrm{g}}_{\mathrm{i}}* \log \left({\mathrm{g}}_{\mathrm{i}}\right)}} $$
(8)
$$ \mathrm{E}\mathrm{N}\mathrm{T}{1}_{\mathrm{P},\mathrm{R}}\left(\mathrm{x},\mathrm{y}\right)=-\frac{1}{\mathrm{P}}{\displaystyle \sum_{\mathrm{i}=0}^{\mathrm{P}-1}{\mathrm{g}}_{\mathrm{i}}* \log \left(1+{\mathrm{g}}_{\mathrm{i}}\right)} $$
(9)
$$ \mathrm{E}\mathrm{N}\mathrm{T}{2}_{\mathrm{P},\mathrm{R}}\left(\mathrm{x},\mathrm{y}\right)=-\frac{1}{\mathrm{P}+1}\left({\mathrm{g}}_{\mathrm{c}}* \log \left(1+{\mathrm{g}}_{\mathrm{c}}\right)+{\displaystyle \sum_{\mathrm{i}=0}^{\mathrm{P}-1}{\mathrm{g}}_{\mathrm{i}}* \log \left(1+{\mathrm{g}}_{\mathrm{i}}\right)}\right) $$
(10)

Entropy can be combined with other features. For example, by concatenating or joining the histograms of ENT and histogram of LBP or VAR it is possible to provide more discriminative features. Similar to VAR the value of ENT must be quantized into discrete value and this requires training step. The quantization and train step for entropy is exactly, the same as variance [34]. The implementation part indicates that entropy is more robust to noise than LBP and VAR.

Figure 2 plots the changes of ENT1 against Signal to Noise Ratio (SNR) for Outex noisy textures that use Gaussian noise. This plot shows that the entropy of image is stable for SNR > 20. Each value of vertical axis of Fig. 2 determines the average of ENT1 for all of the Outex texture images for each SNR value. In the implementation part the absolute value of entropy is used. By increasing the noise value, both variance and entropy are increased. But the change of variance is more than entropy. Figure 3 compares the changes in average of local entropy and local variance versus some SNR values for Outex dataset. In this figure, the plots of average of ENT1 and VAR for all textures of Outex dataset are shown for each SNR value. Considering this figure, it is demonstrated that the entropy is more robust to noise than variance because the change of local entropy is lower than the change of local variance when SNR is decreased. In other words, the texture features that are extracted by local entropy properties are more stable than variance. According to this plot for SNR < 10 the changes of VAR are considerably higher than changes of entropy. The implementation part proves that entropy is more resistant to noise than variance and some versions of LBP.

Fig. 2
figure 2

The plot of local entropy versus SNR for Outex dataset

Fig. 3
figure 3

Comparing the change of local entropy and local variance versus SNR for Outex dataset

ENT is a continuous value, hence quantization of its feature space is needed. This is done by adding together feature distributions for every single model image in a total distribution, which is divided into N bins having an equal number of entries. Hence, the cut values of the bins of the histograms corresponded to the (100/N) percentile of the combined data. Deriving the cut values from the total distribution and allocating every bin the same amount of the combined data guarantees that the highest resolution of quantization is used where the number of entries is largest and vice versa. The number of bins used in the quantization of the feature space is of some importance, as histograms with a too modest number of bins fail to provide enough discriminative information about the distributions. On the other hand, since the distributions have a finite number of entries, a too large number of bins may lead to sparse and unstable histograms. As a rule of thumb, statistics literature often proposes [34] that an average number of ten entries per bin should be sufficient. This was used for quantization of VAR in [34] and in this paper the similar value is used for quantization of ENT.

3.2 Comparing the LBP, VAR and ENT

LBP, VAR and ENT are local descriptors. All of these descriptors extract features of textures as bins of histogram. LBP is a local descriptor that extracts the features of textures and these features are coded as LBP code. It is a local operator that is sensitive to noise and uses uniform patterns to describe the local patterns of each texture. Almost all of the variants of LBP extracts one or small number of features of non-uniform local patterns. In other words, LBP cannot extracts the dissimilarity of each local patch or non-uniform patterns efficiently. The ENT (such as VAR) extracts the dissimilarity of each local patch. Therefore, the LBP/ENT provides features that include both uniform and non-uniform or similarity and dissimilarity attributes of patterns. Therefore, it provides the better performance than LBP. The accuracy of both LBP/VAR and LBP/ENT outperform the LBP. However, as it will show in implementation part, the accuracy of LBP/ENT is better than LBP/VAR.

ENT features are more robust to noise than LBP and VAR. For all datasets that are used in this paper, ENT features provides more accurate texture classification than LBP and VAR when SNR < k. For some textures such as CUReT, k is low (k = 3) and for some textures it is high. In other words, accuracy of ENT not only is not change significantly when noise is increased but also when noise increases and reaches to a level the ENT accuracy reaches the higher value than LBP and VAR. For all datasets that are used in this paper the accuracy of LBP/ENT is higher than LBP/VAR around 2 to 23 %.

It should be considered that the operator that is proposed in this paper is a basic operator such as VAR or LBP. Therefore, most of the implementations of this paper compare the results of ENT with VAR and LBP. ENT can be used and combined with other operators to provide more discriminative features. In other words, it can be used for future advance works for example such as LTP [39] and CLBP [14] that combine two or three types of LBPs. Also, similar to VAR that is used as a weight in LBPV [15], ENT can be used as a weight. Therefore, it is possible to extend the use of ENT for some new advanced operators.

4 Experimental results

To compare the performance of entropy with variance and LBP, some comprehensive texture datasets are used: the Outex dataset [32], that includes 24 classes of textures collected under three illuminations and at nine angles and the UIUC dataset that has 25 classes containing 40 images in each class with many different viewpoints [24]. Also CUReT [8] dataset that contains 61 classes and 92 textures of each class are used. These comparisons are shown for normal and noisy textures. In all parts of implementation the LBP indicates LBP riu2P,R . The last dataset that is used in this paper is MeasTex [37] with 69 classes and 16 textures in each class.

4.1 Dissimilarity metric method

For comparing two textures the LBP histograms of them must be compared. There are many approaches to compare two histograms, such as histogram intersection, log-likelihood ratio, and chi-square methods [34]. In this paper, chi-square method is used for classification. Equation (11) shows chi-square method. A test sample T is assigned to the class of model L that minimizes the chi-square distance value:

$$ \mathrm{D}\left(\mathrm{T},\mathrm{L}\right)={\displaystyle \sum_{\mathrm{i}=1}^{\mathrm{N}}\frac{{\left({T}_i-{L}_i\right)}^2}{T_i+{L}_i}} $$
(11)

In Eq. (11) N is the number of bins (features) of each histogram, and Ti and Li are the values of the sample and the model image at the i-th bin respectively. The nearest neighborhood classifier (K = 1) with the chi-square distance is used to measure the dissimilarity between two textures.

4.2 Experimental results on the outex dataset

The Outex dataset includes many test suites [32]. Figure 4 shows the image textures of 24 classes of Outex dataset. In this paper Outex_TC_00001, Outex_TC_00013, Outex_TC_00014, Outex_TC_00010 and Outex_TC_00012 are used for implementation. These suites were collected under different illumination, rotation, and scaling conditions. Outex_TC_00010 (TC10) and two groups of Outex_TC_00012(TC12) are considered as famous two test suites of this dataset (TC12(‘t’) for t184 and TC12(‘h’) for horizon illuminations). They can be used for rotation invariant tests. These two suites have the same 24 classes of textures, which are collected under three different illuminates (horizon, inca, and tl84) and nine different rotation angles (00, 50, 100, 150, 300, 450, 600, 750 and 900). There are 20 non-overlapping 128*128 texture images for each class under each condition. Outex_TC_00001 contains 24 classes of 64*64 textures with inca illumination. In this paper Outex_TC_00013 is used. This suite includes 68 texture classes with size 128*128 and inca illumination. Another suite that is used in this part is Outex_TC_00014. It is similar to Outex_TC_00013 unless it has collected under three illuminations (inca, horizon and tl84).

Fig. 4
figure 4

24 images of Outex dataset

Table 1 shows the classification rate on TC10 and TC12 (t) and TC12(h) using different radius values. The first four rows of this table compare the classification rates of entropy, variance and LBP. Considering the results of TC10, they illustrate that the performance of entropy is not better than LBP. But for TC12(t) and TC12(h) when R = 2 or R = 3, entropy is more accurate than variance. In all suites the accuracy of LBP/ENT1 or LBP/ENT2 is better than LBP/VAR. With the exception of TC10 when R = 2 or R = 3 the performance of LBP/VAR is better than LBP/ENT1 or LBP/ENT2. The performance can be increased by combining the histogram of entropy or variance with LBP. The highest accuracy of all suits when R = 1 belongs to the LBP_VAR_ENT1 or the LBP_VAR_ENT2. However the best accuracies for R = 2 and 3 are provided by LTP_ENT1 or LTP_ENT2. According to this table, the best performance of most of the columns is recorded by LTP_ENT2 (98.52 %) when R = 2. Using entropy features achieves more accurate results than some advanced and noise robust LBP methods such as LTP [39], FLBP [2], NTLBP [11] and NRLBP [36].

Table 1 Classification rate on TC10, TC12 (t) and TC12(h) using different radius values

Table 2 illustrates the classification rate for noisy textures of TC10 and TC12 (horizon and tl84) suites for different SNR values (50, 20, 10, 5 and 3). In this table R = 1 and P = 8 and the Gaussian noise is used. The first four rows of this table compare the accuracy of LBP riu2P,R , VAR, ENT1 and ENT2. These data show that when noise value is increased (SNR is decreased) the accuracy of LBP riu2P,R , VAR and ENT is declined. However, this reduction is lower for ENT than that of VAR or LBP. In other words, the entropy features are more robust than features that were extracted by using variance and LBP. For example for TC10, when SNR changes from 50 to 20,10,5 and 3 the accuracy of VAR from 89.22 % for SNR = 50 reduces to 80.91, 58.78, 20.42 and 11.33 % for SNR = 20, 10, 5 and 3 respectively. While for ENT1 these percentages are 73.13 % for SNR = 50 and 69.19, 60.76, 38.96 and 37.47 % for other values of SNR respectively. Other rows of this table illustrate the combination of VAR and ENT with LBP or LTP. For all suites and SNR values the accuracy of LBP/ENT1 or LBP/ENT2 outperforms the accuracy of LBP/VAR. For TC10 the best performance for all SNR values belongs to LTP_ENT1 or LTP_ENT2. Except for SNR = 5 the highest rate belongs to LBP/ENT2. Also the best accuracy of TC12(t) and TC12(h) is related to some rows that combine ENT1 or ENT2 with LTP, LBP or VAR. Considering the results of Table 2, it is indicated that entropy features or a combination of them with LBP or LTP increases the performance. Although this improvement is slight for high SNR, for SNR < 20 it is significant. For example for SNR = 5 the accuracies of LTP for TC10, TC12(t) and TC12(h) are 27.11, 24.40 and 27.57 % respectively. While the same values for ENT2 are 40.18, 35.37 and 38.38 % respectively. In addition these percentages in order are 53.78, 48.52 and 50.95 % for LTP_ENT2.

Table 2 Classification rate of noisy textures of TC10, TC12 (t) and TC12(h) for different SNR values. (R = 1,P = 8, Gaussian noise)

Table 3 indicates that if the entropy features are combined with CRLBP the performance of CRLBP is increased. This table indicates that for three suites TC10, TC12(t) and TC12(h) when SNR < 20 the accuracy of CRLBP_ENT outperforms the CRLBP_VAR. Also the least error of classification is provided by CRLBP_LTP_ENT for all values of SNR and for all suites. Except for TC12(t) when SNR = 20 the accuracy of CRLBP_LTP is slightly more than CRLBP_LTP_ENT. This table proves that for some advanced and noise robust LBP methods such as CRLBP or LTP the performance increases when they are combined with entropy features. This improvement may be small or significant value.

Table 3 Classification rate of Outex noisy textures for different SNR values for TC10, TC12(‘t’) and TC12(‘h’) suites (R = 1,P = 8, Gaussian noise)

The results of implementation on TC1, TC13 and TC14 for different radius values are shown in Table 4. For TC1, when R = 2 the accuracy of entropy and variance is near. But for R = 3 the entropy results outperform the variance results. The performance of variance features for this suite of textures is higher than entropy features. In spite of TC1, for another suite; TC13 the entropy features provide more accurate classification rate. TC13 uses so many class numbers of textures (68 classes). In other words, for suites that use a large number of texture classes the entropy features outperform the variance features drastically. So for TC13 the accuracy of entropy is higher than that of variance significantly for all values of R. It is true for combination of these features with LBP or LTP. In addition, the accuracy of ENT1 or ENT2 around 10 % is better than the accuracy of LBP for all values of R. Furthermore, it is about 20 to 27 % higher than accuracy of VAR for this suite. When entropy is combined with LBP or LTP the performance of LBP/ENT1 or LBP/ENT2 and LTP_ENT1 and LTP_ENT2 are higher than the performance of LBP/VAR. For this suite the best accuracy of each column is provided by LTP_ENT1 and LBP_VAR_ENT2. Table 4 shows that in general the performance of entropy and its combinations for R = 2 is slightly better than its performance when R = 1 or R = 3. The best accuracy for TC1 and TC13 is 98.21 and 93.24 % respectively. Both of these percentages are provided by LTP_ENT1.

Table 4 Classification rate on TC1, TC13 and TC14 using different radius values

The third column of each part of Table 4 determines the results of implementation on TC14. This suite is similar to TC13 but it has collected under three illuminations. These results show that the accuracy of entropy is by far much more than variance, the performance of LBP/VAR is higher than that of LBP/ENT for R = 2 and R = 3. The highest accuracy for R = 2 and R = 3 is provided by LBP/VAR, 61.54 and 61.84 % respectively. For R = 1 the best accuracy is provided by LBP/ENT2 that is 56.54 %. As will be seen in Table 5 for noisy textures, entropy features are more robust than variance and LBP. Moreover, LBP/ENT outperforms LBP/VAR for all cases of SNR and radius values.

Table 5 Classification rate on noisy textures of TC1, TC13 and TC14 using different SNR values (R = 1,P = 8, Gaussian noise)

Table 5 shows the percentages of classification rate for TC1, TC13 and TC14 for SNR = 50, 20, 10 and 5 for R = 1 when Gaussian noise is used. According to these percentages the best performance for each suite or SNR relates to those features that use entropy or a combination of it.

The best results of entropy features are obtained for TC13. Table 6 determines that performance of entropy features for noisy textures of TC13 when Gaussian noise is used whit standard deviation values 0.05, 0.1 and 0.15. These results determine that the accuracy of ENT1 or ENT2 is considerably more than all of the results of some noise robust and advanced methods such as LTP [39], CRLBP [47], FLBP [2], NTLBP [11], NRLBP [36] and DLBP [26]. Similar to previous tables for all columns the accuracy of ENT1 or ENT2 is significantly higher than that of VAR. Further, LBP/ENT1 and LBP/ENT2 provide more accurate results than LBP/VAR. The best accuracies for σ = 0.05, 0.1 and 0.15 are 78.53, 69.41 and 60.29 % respectively. All of these results are provided by LBP_VAR_ENT2.

Table 6 Classification rate of noisy textures of TC13 for different standard deviation values of Gaussian noise (R = 1,P = 8)

Figure 5 illustrates the performance of entropy, LBP and variance. Considering this plot, the change of accuracy of entropy is shown to be smaller than that of LBP and variance when SNR is reduced. In addition for SNR < 10 the entropy features outperform the LBP and variance features. Figure 6 shows that the accuracy of LBP/ENT1 is more than LBP/VAR for all values of SNR. These two figures belong to the TC12 (tl84) suites when R = 1 and Gaussian noise is used. Also, TC12 (horizon) and TC10 textures have the same trend. Figures 7 and 8 are the same as five and six respectively but these plots indicate the accuracy of TC10 versus some SNR values for R = 1 when using speckle noise. The changes of accuracy for these two plots are similar to two previous figures. In all of the tables and plots two positive points can be considered for entropy features or a combination of them with LBP. The first point is the robustness of entropy for small SNR (very noisy textures) and the second is related to smaller changes of accuracy versus increasing the noise value. In other words entropy features are more resistant than variance features for low SNR values. These positive points can be combined with some advanced and robust LBP versions such as LTP to improve their performance for high noisy textures.

Fig. 5
figure 5

Classification accuracy of LBP, variance and entropy for TC12(‘t’) textures for different SNR values, Gaussian noise (R = 1)

Fig. 6
figure 6

Classification accuracy of LBP/VAR and LBP/ENT1 for TC12(‘t’) textures for different SNR values Gaussian noise (R = 1)

Fig. 7
figure 7

Classification accuracy of LBP, variance and entropy for TC10 textures for different SNR values speckle noise (R = 1)

Fig. 8
figure 8

Classification accuracy of LBP/VAR and LBP/ENT2 for TC10 textures for different SNR values speckle noise (R = 1)

4.3 Experimental results on the UIUC dataset

The UIUC dataset [24] contains 25 classes with 40 images in each class. Each texture image has 640*480 resolution. Figure 9 shows a texture for each class of UIUC. For implementation, each time, N (5, 10, 15 and 20) images of each class are selected randomly for train and the rest of them (40-N) are used for test. This operation is run 100 times independently and the average of the results is shown in Tables 7 and 8.

Fig. 9
figure 9

25 images of UIUC dataset

Table 7 Classification rate on UIUC using different radius and image train number values
Table 8 Classification rate of noisy textures of UIUC for different SNR values and Train number of Images.(R = 1,P = 8, Gaussian noise)

Table 7 shows classification rate on UIUC using different radius and for train image number of 20, 15, 10 and 5. Noting the first four rows of this table, it can be seen that the rate of ENT1 or ENT2 for all cases of R = 1 and R = 2 is more than VAR and LBP riu2P,R . These results show that the classification accuracy of ENT1 (or ENT2) around 5 % is higher than the accuracy of LBP. Only for R = 3 may the performance of LBP reach to entropy or slightly more. The highest accuracy for all cases of R and train number, belongs to the ENT2 when R = 2. These percentages are 72.96, 70.89, 67.44 and 60.59 % for train number 20, 15, 10 and 5 respectively.

The remaining parts of Table 7 illustrate the comparison between combination of entropy, variance, LBP and LTP. These results illustrate that when the train number is decreased from 20 to 5 the accuracy of LBP/VAR is reduced about 15 %, while this decreases is about 11 % for LBP/ENT1 or LBP/ENT2. Furthermore, in almost all of the cases LTP_ENT2 provides the best percentage of classification rate. Except for R = 2 when train number is 20, LTP_ENT1 reaches to the LTP_ENT2 and for train number 5 and R = 2 the performance of LBP_VAR_ENT2 is the best for its column. In addition, the most accurate result of the table belongs to the LTP_ENT2 when R = 3 and train number is 20. This percentage is 92.44 %.

Table 8 shows the classification rate of noisy textures of UIUC for different SNR values and train number of 20, 15, 10 and 5. In this table R = 1, P = 8 and the Gaussian noise is used. Such as in previous tables Table 3 is divided into two parts. The first part compares the accuracy of LBP riu2P,R , VAR, ENT1 and ENT2. For all train number values and for all SNR values, the entropy features (ENT1 or ENT2) prepare more accurate results than LBP riu2P,R and VAR. As can be seen from the results of Table 8 for all train numbers and for all SNR values LBP/ENT1 (or LBP/ENT2) outperforms the LBP/VAR significantly. Besides, for all cases when the SNR value changes from 20 to 3 the LBP/VAR accuracy is reduced around 15 % approximately. Whereas this drop is at max 7 % for LBP/ENT1 or LBP/ENT2. The Table 8 indicates that the highest performance is related to LTP_ENT1 or LTP_ENT2. The best accuracy for each column is set in bold. Only in the first left column does the best accuracy belong to the LBP_VAR_ENT2 which is 88.60 %. This percentage is the best accuracy in the whole of this table. This table also determines that when LTP is combined with entropy the accuracy is increased around 5 to 8 %.

Figures 10 and 11 plot some parts of Table 8. These figures plot the accuracies of UIUC for different SNR values when train number is 20. Figure 10 shows that the accuracy of entropy features is better than LBP and variance for all SNR values (50, 35, 20, 10, 5 and 3). Also Fig. 11 compares the classification rate of LBP/VAR and LBP/ENT. These two plots prove that not only are entropy features more accurate than variance and LBP, but they are also more resistant against the noise. In spite of LBP and variance the accuracy of entropy features is decreased slightly when the noise is increased. Figure 10 indicates that in spite of some textures such as Outex or CUReT for UIUC textures the accuracy of entropy is higher than that of variance and LBP for both the high and low values of SNR. For SNR < 30 the accuracy of entropy is higher than LBP and variance. For low noise the performance of entropy is lower than LBP negligibly but it is higher than variance for all SNR values. Figure 11 compares the accuracies of LBP/VAR and LBP/ENT2 for N = 20 and R = 1.

Fig. 10
figure 10

Comparison classification accuracy of LBP, variance and entropy for UIUC textures for different SNR values (Gaussian noise, R = 1, N = 20)

Fig. 11
figure 11

Comparison classification accuracy of LBP/VAR and LBP/ENT1 for UIUC textures for different SNR values (Gaussian noise, R = 1, N = 20)

Comparing Figs. 5 and 10, it can be determined that for Outex dataset entropy features are better than variance and LBP only for low SNR values. While for UIUC dataset entropy is more efficient than variance and LBP for both noisy and normal textures.

4.4 Experimental results on the CUReT dataset

The CUReT database contains 61 texture classes, each having many images acquired at different viewpoints and illumination orientations. Figure 12 shows 61 textures of this dataset. For each class 92 images are selected, from which a sufficiently large region could be cropped (200*200) across all texture classes. All of the cropped regions are converted to grey scale. To get statistically significant experimental results, N training images are randomly chosen from each class and the remaining 92-N images per class are used as the test set. The operation is implemented 50 times independently. The average accuracies over 50 randomly splits for N = 46, 23, 12 and 6 are shown in Tables 9 and 10.

Fig. 12
figure 12

61 images of CUReT dataset

Table 9 Classification rate on CUReT using different radius and Image Train number values
Table 10 Classification rate of noisy textures of CUReT for different SNR values and Train number of Images.(R = 1,P = 8, speckle noise)

Table 9 shows the results of implementation on CUReT dataset. These results indicate that the best accuracies for R = 1 when N = 46, 23 and 12 are 86.46, 81.54 and 73.68 % respectively. All of these results are provided by LTP_ENT2. For R = 2, LTP prepares the best results for N = 46 and N = 6. Also for all N when R = 3 the results of LTP are the best. CUReT dataset is a comprehensive dataset so in this table because of very time consuming operations the train step for VAR and ENT1 or ENT2 is reduced, so their performance and also the performance of LBP/VAR and LBP/ENT1 or LBP/ENT2 is lower than LTP. Some papers such as [14] indicated a better accuracy for LBP/VAR than LTP for CUReT dataset.

Table 10 compares the performances of entropy, variance and LBP and some combinations of them for textures that are corrupted by Gaussian noise. Considering the table, it is shown that the accuracy of entropy for low SNR values (10, 5 and 3) is higher than that of variance. Furthermore, although the accuracy of LBP is considerably higher than entropy, for SNR = 3 LBP is only slightly better than entropy. Such as other datasets the classification error of LBP/ENT1 or LBP/ENT2 is lower than LBP/VAR. Only for N = 12 when SNR = 50 is the error of LBP/VAR is lower than both LBP/ENT1 and LBP/ENT2. Contrary to other datasets that are used in this paper the best accuracy for each cases of this table is recorded by LTP. However, when SNR = 3 the best performances for N = 46, 23 and 6 are provided by LTP_ENT2, 78.80, 78.77 and 58.80 % respectively.

LTP [39] is one of the most important noise robust LBP methods that is used to remove the effects of noise. It requires the threshold T parameter. If this parameter is not select properly, the accuracy of LTP decreases significantly. In this paper for the best value of T (T = 10) LTP provide better results than proposed method for CUReT dataset. However, for very noisy textures (SNR ≤ 3) the proposed method enhances the accuracy of LTP, so LTP_ENT1 or LTP_ENT2 provides better results than LTP. Furthermore, by considering the Fig. 13, it can be seen that, the local entropy features are more robust to noise than LBP (LTP) and VAR. Figure 13 indicates that when SNR is decreased the accuracy of LBP and VAR features, decreases significantly while the accuracy of ENT does not change until SNR < 10. Also for SNR ≤ 3 the accuracy of LBP or VAR reaches lower than ENT. For all datasets that are used in this paper local entropy provides better accuracy and only for CUReT textures when SNR > 3 the performance of proposed method is lower than some LBP variants such as LTP. It is because of the huge number and very similar textures of CUReT.

Fig. 13
figure 13

Classification accuracy of LBP, variance and entropy for CUReT textures for different SNR values of speckle noise (R = 1, N = 46)

For N = 46 some results are compared in Figs. 13 and 14. Figure 13 illustrates the accuracies of LBP riu2P,R , variance and entropy (ENT2) for SNR 50, 35, 20, 10, 5 and 3 for speckle noise. As in Figs. 5, 7 and 10, the Fig. 13 indicates that the accuracy of entropy features is more stable against noise and for high values of noise (SNR < 5) it outperforms the performance of LBP and VAR. Figure 14 like Figs. 6, 8 and 11 shows better performance of LBP/ENT than LBP/VAR for all SNRs.

Fig. 14
figure 14

Classification accuracy of LBP/VAR and LBP/ENT2 for CUReT textures for different SNR values of speckle noise (R = 1, N = 46)

4.5 Experimental results on the MeasTex dataset

The MeasTex database contains 69 texture classes. This dataset includes too many classes of similar textures. In this paper 16 textures are used for each class. Figure 15 shows an image for each class of MeasTex dataset. For experiment using the original textures, each texture image is partitioned into 16 non overlapping sub-images with the size of 128*128 pixels. To obtain statistically significant experimental results, N (8,4 and 2) training images are randomly chosen from each class and the remaining 16-N images per class are used as the test set. The operation is implemented 100 times independently. The average accuracies over 100 random splits for N = 8, 4, and 2 are shown in Tables 11 and 12. Table 11 shows that only for R = 1 the accuracy of VAR is better than ENT1 or ENT2. Also LBP outperforms ENT for all cases. In addition LBP/ENT1 or LBP/ENT2 results in lower accuracy than LBP/VAR for normal texture. Although the highest classification rate of each column usually belongs to the LTP, for R = 1, N = 8 the best value is 68.64 % and for R = 2, N = 8 it is 79.96 % which are related to LTP_ENT2 and LTP_ENT1 respectively.

Fig. 15
figure 15

69 images of MeasTex dataset

Table 11 Classification rate on MeasTex using different radius and Image Train number values
Table 12 Classification rate of noisy textures of MeasTex for different SNR values and Train number of Images (R = 1,P = 8, Gaussian noise)

In contrast to Table 11 which indicates entropy usually provides lower accuracy than variance and LBP for normal MeasTex textures, Table 12 shows that for SNR < 10 the accuracy of ENT1 or ENT2 is higher than that of LBP or VAR. Furthermore, as with all datasets that are used in this paper, in all cases LBP/ENT provides better accuracy than LBP/VAR. LTP_ENT2 records the best accuracy for almost all of the SNR values. Except for N = 8, SNR = 10 and also N = 4, SNR = 20 the accuracy of LTP_ENT1 is the best, 75.38 and 72.11 % respectively. Figure 16 plots the changes of accuracy of LBP, VAR and ENT2 versus some SNR values. Similar to some previous figures this figure indicates that the accuracy of ENT is more stable against the noise than LBP and VAR. Moreover, although the entropy provides lower classification rate for SNR > 10, for SNR < 10 it outperforms the LBP and VAR. Figure 17 shows that for all SNR values LBP/ENT2 provides higher accuracy than LBP/VAR. These two figures belong to R = 1 and P = 8 when Gaussian noise is used. It is true for larger neighborhood and radius value.

Fig. 16
figure 16

Classification accuracy of LBP, variance and entropy for MeasTex textures for different SNR values of Gaussian noise (R = 1, N = 8)

Fig. 17
figure 17

Classification accuracy of LBP/VAR and LBP/ENT2 for MeasTex textures for different SNR values of Gaussian noise (R = 1, N = 8)

4.6 Computational time of proposed method

The operation of feature extraction of ENT is exactly the same as VAR. Both of them require train step for quantization. The entropy and variance are scalar values and should be quantized into some features that are used for histogram bins. However, in this paper the short train step is used. In other words it is possible to use more train for the proposed method and increases the accuracy of it but it takes much time. In this part, a comparison between the time of feature extraction for ENT, VAR and LBP is illustrated.

Table 13, compares the average time consuming for feature extraction of each texture of TC12 (Outex dataset). TC12 includes 9120 textures. This table shows the time for different values of R, P. The processor specification is, core i5-2430M, CPU 2.4 GHz, RAM:4 GB, and operating system is Windows 7, 32-bit. Table 13, indicates that the proposed method is more time consuming than VAR and LBP. The table shows that computational time of ENT is around 1.5 and 2.2 times slower than VAR and LBP respectively. It should be considered that LBP riu2P,R is used this method is the fastest variant of LBP. If other types of mapping of LBP such as u2 or ri are used the operation time of LBP is increased. To decrease the operation time, all of these three operators are implemented as a vector and all operations are applied to the vector of data in MATALB.

Table 13 Comparison the computational time (msec) of feature extraction of ENT, VAR and LBP for each texture of TC12

LBP and VAR are basic operators therefore ENT is compared with them. For some advanced and complicated and noise robust LBP variants such as FLBP, RLBP, LTP and many other types of LBP the computational time of feature extraction is higher than simple LBP [23]. For example, FLBP, RLBP and LTP are 922, 2.2 and 1.9 times slower than the classic LBP respectively [23]. Whereas, the accuracy of ENT is higher by far (such as Table 6) than some of these advanced methods and when it is combined with some methods such as LTP, the accuracy outperforms almost all of the other methods.

4.7 Comparison with general descriptors (SIFT)

In this part of the paper, the comparison between performance of the proposed method and a general descriptor is shown. Lowe proposed Scale-Invariant Feature Transform of SIFT [27]. This algorithm is one of the most efficient methods for image description. SIFT consists in extracting robust key points in the image, and describing the neighborhood of each of them with a histogram of oriented gradients [27]. The final feature vector represents a 128-bin histogram of the gradient values in each key point neighborhood.

In this part, it is shown that the speed of the proposed method and some texture descriptors such as LBP, is higher than SIFT considerably. Furthermore, the accuracy of proposed method for texture classification is more than that of SIFT for some textures. In this part, one the fastest implementation of SIFT descriptor is used (http://www.cs.ubc.ca/~lowe/keypoints/). It is David Lowe’s SIFT key point detector in the form of compiled binaries that can run under Linux or Windows. The riu2 mapping method is used for LBP. This mapping method, is used in all implementation parts of this paper.

  1. 1)

    Computational Time and Complexity:

    For each descriptor first, the features should be extracted then they are used for classification. In previous part, the computational times of LBP and proposed method are compared and it is shown than LBP is around 2 or 2.2 times faster than proposed method. Here some comparisons of speed and accuracy of LBP, ENT and SIFT are shown.

    1. a.

      Feature Extraction Time:

      The feature extraction of SIFT includes two steps, finding key points and extracting features from key points. The first step is a time consuming process and take so much time. Table 14, compares the average time of feature extraction for a texture of some datasets. This table compares the time of finding key points and sift process and LBP and ENT process. This table indicates that the speed of features extracting of LBP (R = 1,P = 8, riu2) is around 30 to 74 times faster than that of SIFT. This ratio is approximately half for ENT. This ratio decreases for larger parameters of LBP (P, R) but it also is higher than SIFT speed noticeably.

      Table 14 Comparison between feature extraction time (msec) of SIFT and LBP for each texture

      Table 14, shows the computational time of finding key point and extract features from these key points by SIFT method. According to some papers such as [17] the computational time of SIFT (without time of finding key points) is around 2.3 to 3.2 times of some complicated variants of LBP (for example CS-LBP2,8,01 with feature vector size of 4096). In that paper, it is shown that the computational time of CS-LBP is lower than SIFT for feature extraction, feature weighting, descriptor construction, and descriptor normalization.

    2. b.

      Classification Time:

      After features extraction the features should be classified. There are many methods for classification. K-NN (K = 1) is a simple and fast method for classification. If the number of textures that are used for train and test are N1 and N2 respectively. For LBP (or proposed method) for each texture, the feature vector (1 × V values) must be compared with all train textures features (N1) therefore, the total number of comparison of features vector is N2 × N1. If the size of each feature vector is 1 × V so, N2 × N1 × V values are compared. For SIFT descriptor, if each textures has M key points. Totally, N2 × N1 × M × 128 values should be compares. In other words the computational time of classification of SIFT features is higher than LBP (and proposed method) considerably. It means the computational time of SIFT is around M × 128/V time higher than LBP or ENT. LBP extracts P + 2 values from each textures. If R = 1, P = 8 the size of feature vector of LBP is 10 and it is 26 for R = 3 and P = 24. While for SIFT descriptor it is M × 128. For ENT the size of features depends on the quantization. The number of bins used in the quantization of the feature space is of some importance, as histograms with a too modest number of bins fail to provide enough discriminative information about the distributions. On the other hand, since the distributions have a finite number of entries, a too large number of bins may lead to sparse and unstable histograms [34]. In the experiments, for ENT features, the value of 60 is set.

    3. c.

      Fast SIFT Variants

      To remove the computational time of key points detection some descriptors such as HOG and Dense SIFT (DSIFT) (http://www.vlfeat.org/overview/dsift.html) use dense grid points instead of key points. These descriptors provide lower accuracy and do not have the main positive points of SIFT and they are not scale invariant. Furthermore, as it mentioned in previous part the computational time of SIFT (without key points detection) is higher than LBP and proposed method.

      There are many key point detectors and descriptors that extract features faster than SIFT. FREAK [3], BRISK [25] and SURF [5] are some of these methods. They are high speed detectors and descriptors but the accuracy of them, is lower than SIFT. The same as SIFT the performance of them decrease for low contrast images and some textures that have small number of key points.

  2. 2)

    Comparison the Classification Accuracy:

    Here, the accuracy of texture classification between a variant of SIFT and proposed method is illustrated. The accuracy of proposed method is compare with Lazebnik method [24]. This method uses local area detectors and extract features from these regions. It used Laplacian (L), Harris (H) affine region detectors [13, 28]. It also introduced Rotation-Invariant Feature Transform or RIFT (R) and Spin image (S) descriptors. Lazebnik et al. [24] introduced UIUC dataset [24], which is used in this paper for proposed method. This dataset includes 1000 textures which have high contrast. The dataset includes surfaces whose texture is due mainly to albedo variations (e.g., wood and marble), 3D shape (e.g., gravel and fur), as well as a mixture of both (e.g., carpet and brick). Significant viewpoint changes and scale differences are present within each class, and illumination conditions are uncontrolled.

    1. a.

      Texture without Noise

      Table 15, shows the results of Lazebnik et al. method [24] with different detectors and descriptors for UIUC dataset. This table determines the accuracy of textures classification when 10 image of each class are used for train step. The best accuracy is 92.61 %. It is obtained when both Laplacian (L) and Harris (H) affine region detectors and both RIFT (R) and Spin image (S) descriptors are used. Table 16, compares the best accuracy of Lazebnik method with proposed method. This table indicates that for UIUC textures the accuracy of Lazebnik is higher than proposed method. It is because of scale invariant descriptors that are used by Lazebnik. Whereas LBP and proposed method are not scale invariant. In spite of Table 16, in Table 17 the accuracy of proposed method is higher than Lazebnik method. Table 17, shows the result of texture classification for CUReT dataset. This dataset contains some textures that have low contrast. Therefore, number of key points of some CUReT textures is very low. For default threshold of SIFT the number of key points of some CUReT textures is zero. Figure 18 shows some examples of CUReT and MeasTex textures, which have zero key points. For these types of textures, the accuracy of general descriptors such as SIFT is low. In spite of CUReT and MeadTex the UIUC textures have large number of key points therefore, the accuracy of texture classification by using the features of general descriptors is high. Table 18 shows some key points number of some texture datasets. The SIFT method also achieves high accuracy for scaled images. While LBP and proposed method are not scale-invariant.

      Table 15 Classification accuracy of RIFT by using different detectors and descriptors for UIUC dataset (Train No. = 10)
      Table 16 Classification accuracy of SIFT, LBP and proposed method for UIUC dataset
      Table 17 Classification accuracy of SIFT, LBP and proposed method for CUReT dataset
      Fig. 18
      figure 18

      Some CUReT and MeasTex textures which have no key points with default threshold

      Table 18 Number of key points for some dataset
    2. b.

      Noise Robustness:

      As it mentioned in some paper such as (http://www.vlfeat.org/overview/dsift.html) the texture classification accuracy by using LBP features is usually higher than that of SIFT descriptor. In previous part, it is shown that for some datasets such as UIUC, the SIFT descriptor achieves better accuracy than some datasets such as CUReT. It is because of high contrast and high key points number of UIUC textures. Furthermore SIFT is a scale-invariant descriptor and achieves high performance for scaled images. Therefore, in this part the UIUC is used for comparing the noise robustness of SIFT and proposed method. Table 19, compares the accuracy of classification for noisy textures of UIUC for different values of standard deviation of Gaussian noise. This table shows that the accuracy of LTP_ENT1 is higher than accuracy of SIFT and other methods considerably.

      Table 19 Classification accuracy of SIFT, LBP and proposed method for noisy textures of UIUC
    3. c.

      Some Other Applications

      SIFT features almost were used for image matching and image restoration. In some applications, it may be used for image classification. In a few number of papers, it is used for texture classification. Heikkila et al. [17] proposed some LBP variants which provided better performance (speed and accuracy) than SIFT. Desir et al. [10] proposed a method which extracted the features for lung textures classification. They illustrated that the classification rate by using LBP features is around 4 to 10 % better than SIFT features. Zhu. et al. proposed a LBP based method [49]. The experiments in three different applications show that the Zhu et al. descriptor outperform the popular SIFT, HOG and SURF, and achieve comparable or even better performances than the state-of-the-art color SIFT descriptors.

5 Conclusion

In this paper the entropy property of textures is used for feature extraction. Local entropy (ENT) can be compared with LBP rather than Entropy, because ENT is the entropy value of neighbor points of each circular neighborhood while the entropy is a scalar value that is extracted from the pixels of a segment or entire pixels of image. In addition, ENT is not used as a feature value and it must be quantized into some features (histogram bins) while, the entropy is a scalar value that is used directly as a feature value.

Both entropy and variance features prepare rotation-invariant features and indicate the dissimilarity of local patterns. On the other hand LBP extracts uniformity of local binary patterns. So the combination of LBP and variance (or entropy) prepares high discriminative features for texture classification. The comparison between entropy and variance shows that the entropy is more robust to noise than variance. Also when it is combined with LBP the performance of LBP/ENT is usually better than that of LBP/VAR especially for noisy textures. When histogram of quantized entropy is combined with histogram of LBP or LTP the accuracy of texture classification increased significantly.

The implementations on normal textures show that using the entropy instead of variance for some datasets such as UIUC or some suites of Outex such as Outex_TC00013 increases the classification rate significantly. In some datasets or suites such as MeasTex, CUReT, Outex_TC00010 or Outex_TC00012 the performances of entropy is near or lower than that of variance. However, when mixed with LBP this drawback is compensated. So the accuracy of LBP/ENT or LTP_ENT is higher than that of LBP/VAR. Also for noisy textures the classification rate of entropy or combination of it with some versions of LBP is higher than variance and LBP/VAR accuracy. The results of implementations illustrate that entropy features not only provide better performance for some textures but also the downward trend of accuracy is slower than variance and LBP when noise is increased. For Outex, UIUC, CUReT and MeasTex datasets when SNR is lower than 10, 35, 3 and 5 respectively the accuracy of entropy is higher than LBP and variance. In all of these datasets, for all values of SNR the performance of LBP/ENT is almost more than LBP/VAR.

The implementations indicates that for R = 2 the performance of entropy features is better than its performance when R = 1 or 3. In almost all of the tables the accuracy of those methods that used entropy features can be increased by more train steps. Therefore, for all of the datasets that are used in this paper it is possible to increase the accuracy of ENT1, ENT2, LBP/ENT1, LBP/ENT2 and any other LBP versions that are combined with entropy. For some datasets such as CUReT this improvement may be noticeable because the train step for this dataset is reduced because of its time consuming operations.

It should be considered that the ENT is a basic operator such as VAR or LBP and it can be used and combined with other operators to provide more discriminative features. In other words, it can be used for future works for example using local entropy as a weight value for LBP or such as LTP, CLBP and many other advanced LBP variants it is possible to use and combine this operator with other operators.

In this paper it is shown that the proposed method usually provides better speed and accuracy than some general descriptors such as SIFT. But for scaled image and high contrast textures the SIFT features provides better accuracy.