Image texture

Artificial texture example.
Artificial texture example.
Natural texture example.
Natural texture example.

An image texture is a set of metrics calculated in image processing designed to quantify the perceived texture of an image. Image texture gives us information about the spatial arrangement of color or intensities in an image or selected region of an image.[1]

Image textures can be artificially created or found in natural scenes captured in an image. Image textures are one way that can be used to help in segmentation or classification of images. To analyze an image texture in computer graphics, there are two ways to approach the issue: Structured Approach and Statistical Approach.

Structured Approach

A structured approach sees an image texture as a set of primitive texels in some regular or repeated pattern. This works well when analyzing artificial textures.

To obtain a structured description a characterization of the spatial relationship of the texels is gathered by using Voronoi tessellation of the texels.

Statistical Approach

A statistical approach sees an image texture as a quantitative measure of the arrangement of intensities in a region. In general this approach is easier to compute and is more widely used, since natural textures are made of patterns of irregular subelements.

Edge Detection

The use of edge detection to determine the number of edge pixels in a specified region helps determine a characteristic of texture complexity. After edges have been found the direction of the edges can also be applied as a characteristic of texture and can be useful in determining patterns in the texture. These directions can be represented as an average or in a histogram.

Consider a region with N pixels. the gradient-based edge detector is applied to this region by producing two outputs for each pixel p: the gradient magnitude Mag(p) and the gradient direction Dir(p). The edgeness per unit area can be defined by F_{edgeness}=\frac{|\{p | Mag(p) > T\}|}{N} for some threshold T.

To include orientation with edgeness we can use histograms for both gradient magnitude and gradient direction. Let Hmag(R) denote the normalized histogram of gradient magnitudes of region R, and let Hdir denote the normalized histogram of gradient orientations of region R. Both are normalized according to the size NR Then F_{mag dir}=(H_{mag}(R), H_{dir}(R)) is quantitative texture description of region R.

Co-occurrence Matrices

Co-occurrence matrix captures numerical features of a texture using spatial relations of similar gray tones.[2] Numerical features computed from the co-occurrence matrix can be used to represent, compare, and classify textures. The following are a subset of standard features derivable from a normalized co-occurrence matrix:


\begin{align}
 Angular \text{ } 2nd \text{ } Moment &= \sum_{i} \sum_{j} p[i,j]^{2}\\
 Contrast &= \sum_{n=0}^{Ng-1} n^{2} \left \{ \sum_{i=1}^{Ng} \sum_{j=1}^{Ng} p[i,j] \right \} \text{, where } |i-j|=n\\
 Correlation &= \frac{\sum_{i=1}^{Ng} \sum_{j=1}^{Ng}(ij)p[i,j] - \mu_x \mu_y}{\sigma_x \sigma_y} \\
 Entropy &= -\sum_{i}\sum_{j} p[i,j] log(p[i,j])\\
\end{align}

where p[i,j] is the [i,j]th entry in a gray-tone spatial dependence matrix, and Ng is the number of distinct gray-levels in the quantized image.

One negative aspect of the co-occurrence matrix is that the extracted features do not necessarily correspond to visual perception.

Laws Texture Energy Measures

Another approach to generate texture features is to use local masks to detect various types of textures. Convolution masks of 5x5 are used to compute the energy of texture which is then represented by a nine element vector for each pixel. The masks are generated from the following vectors:[3]

 L5  =  [ +1  +4  6  +4  +1 ]  (Level)
 E5  =  [ -1  -2  0  +2  +1 ]  (Edge)
 S5  =  [ -1   0  2   0  -1 ]  (Spot)
 W5  =  [ -1  +2  0  -2  +1 ]  (Wave)
 R5  =  [ +1  -4  6  -4  +1 ]  (Ripple)

Autocorrelation and Power Spectrum

The autocorrelation function of an image can be used to detect repetitive patterns of textures.

Texture Segmentation

The use of image texture can be used as a description for regions into segments. There are two main types of segmentation based on image texture, region based and boundary based. Though image texture is not a perfect measure for segmentation it is used along with other measures, such as color, that helps solve sexmenting in image.

Region Based

Attempts to group or cluster pixels based on texture properties together.

Boundary Based

Attempts to group or cluster pixels based on edges between pixels that come from different texture properties.

See also

Further reading

Peter Howarth, Stefan Rüger, "Evaluation of texture features for content-based image retrieval", Proceedings of the International Conference on Image and Video Retrieval, Springer-Verlag, 2004

References

  1. Linda G. Shapiro and George C. Stockman, Computer Vision, Upper Saddle River: PrenticeHall, 2001
  2. Robert M. Haralick, K. Shanmugam, and Its'hak Dinstein, "Textural Features for Image Classification", IEEE Transactions on Systems, Man, and Cybernetics, 1973, SMC-3 (6): 610–621
  3. K. Laws, "Textured Image Segmentation", Ph.D. Dissertation, University of Southern California, January 1980